Derleyicide Faz ve Geçiş Arasındaki Fark

Anonim

Derleyicide Faz ile Geçiş

Genel olarak, derleyici, okuma yapan bir bilgisayar programıdır. Kaynak dil olarak adlandırılan bir dilde yazılmış bir programdır ve hedef dil olarak adlandırılan başka bir dile çevirir. Geleneksel olarak, kaynak dil C ++ gibi yüksek seviyeli bir dildi ve hedef dil, Assembly dili gibi düşük seviyeli bir dildi. Yani, genel olarak derleyiciler bir dilden diğerine çevrilen çevirmenler olarak görülebilir. Geçiş ve Aşama, derleyicilerin sıklıkla kullandığı iki terimdir. Bir derleyicinin geçiş sayısı, kaynaktan (veya bunun bir gösterim biçiminden) kaç kez geçtiğidir. Bir derleyici inşaat kolaylığı sağlamak için parçalara ayrılmıştır. Aşama genellikle bir derleyicinin böylesi bağımsız bir bölümünü çağırmak için kullanılır.

Derleyicide Geçiş Nedir?

Derleyicileri sınıflandırmanın standart bir yolu, "geçer" sayısına göre yapılır. Genellikle, derleme nispeten kaynak yoğun bir süreçtir ve başlangıçta bilgisayarların tam işi yapan böyle bir programı tutacak kadar hafızası yoktur. İlk bilgisayarlarda bu donanım kaynaklarının sınırlandırılması nedeniyle, derleyiciler kısmi işini kaynak kodu üzerinden yürüterek (kaynak veya başka bir biçime "geçiş" yaparak) daha küçük alt programlara ayırdılar ve analiz gerçekleştirdiler., dönüşümler ve çeviri görevleri ayrı ayrı. Dolayısıyla, bu sınıflandırmaya bağlı olarak, derleyiciler tek geçişli veya çoklu geçişli derleyiciler olarak gösterilir.

Adından da anlaşılacağı üzere tek geçişli derleyiciler tek bir geçişte derlenirler. Bir geçişli derleyici yazmak daha kolaydır ve aynı zamanda çok geçişli derleyicilere göre daha hızlı performans gösterirler. Bu nedenle, kaynak kısıtlamaları yaşadığınız zamanlarda bile diller, tek geçişli (örn. Pascal) derlenebilecek şekilde tasarlanmıştır. Öte yandan, tipik bir çok geçişli derleyici birkaç ana aşamadan oluşur. Birinci aşama tarayıcıdır (ayrıca sözlüksel çözümleyici olarak da bilinir). Tarayıcı programı okur ve bir dizi belirteç haline dönüştürür. İkinci aşama ayrıştırıcıdır. İşaretçi dizesini, programın sözdizimsel yapısını yakalayan bir ayrıştırma ağacına (veya soyut bir sözdizimi ağacına) dönüştürür. Bir sonraki aşama sözdizimsel yapının anlambilimini yorumlayan şeydir. Kod optimizasyon aşamaları ve son kod üretimi aşaması bunu takip eder.

Derleyicide Bir Aşama Nedir?

Derleyici yapılandırması hakkında konuştuğunuzda, dönem dönemi sıklıkla ortaya çıkar. Başlangıçta derleyiciler, basit bir dilin derlenmesi için bir kişi tarafından yazılan tekli, tek parçalı yazılımın her basit parçası idi. Ancak çevrilecek dilin kaynak kodu karmaşık ve geniş olduğunda derleyici çoklu (nispeten bağımsız) aşamalardan oluşuyordu.Farklı aşamalardan geçmenin avantajı, derleyicinin geliştiricisinin geliştiriciler ekibi arasında dağıtılabilmesidir. Dahası, fazların yerini gelişmiş olanlar veya fazlalıklar (daha ileri düzey optimizasyonlar gibi) tarafından derleyiciye eklenmesine izin vererek modülerliği ve tekrar kullanmayı geliştirir. Derlemeyi evrelere bölme süreci, Carnegie Melon Üniversitesi'ndeki PQCC (Üretim Kalitesi Derleyicisi-Derleyici Projesi) tarafından tanıtıldı. Ön uç, orta son ve arka uç terimlerini sundular. Çoğu derleyicinin en az iki safhası vardır. Ancak genellikle, arka uç ve ön uç bu fazları kapsüller.

Derleyici'de Faz ve Geçiş arasındaki fark nedir?

Phase and Pass, derleyiciler alanında kullanılan iki terimdir. Geçiş, derleyicinin kaynak kodunu veya başka bir gösterimini geçirdiği tek bir zamandır. Genellikle çoğu derleyici, ön uç ve arka uç olarak adlandırılan en az iki aşamaya sahiptir; bu sırada, tek geçişli veya çoklu geçiş olabilir. Aşama, derleyicileri inşaata göre sınıflandırmak için kullanılırken, geçiş, derleyicilerin nasıl çalıştıklarına göre sınıflandırmak için kullanılır.