Derleyicide Faz ve Geçiş Arasındaki Fark

Derleyici Aşama ve Geçiş

Genel olarak derleyici, kaynak dil olarak adlandırılan ve hedef dil olarak adlandırılan başka bir dile çeviren bir dilde yazılmış bir programı okuyan bir bilgisayar programıdır. Geleneksel olarak, kaynak dil C ++ gibi üst düzey bir dildir ve hedef dil, Montaj dili gibi düşük düzeyli bir dildi. Yani, genel olarak derleyiciler bir dilden diğerine çeviri yapan çevirmenler olarak görülebilir. Geçiş ve Faz derleyicilerde sıklıkla kullanılan iki terimdir. Bir derleyicinin geçiş sayısı, kaynağın (ya da bir çeşit sunumunun) üzerinden geçme sayısıdır. Yapım kolaylığı için bir derleyici parçalara ayrılmıştır. Faz genellikle bir derleyicinin böyle bir bağımsız parçasını çağırmak için kullanılır.

Derleyicide Geçiş Nedir??

Derleyicileri sınıflandırmanın standart bir yolu “geçiş” sayısıdır. Genellikle, derleme nispeten kaynak yoğun bir işlemdir ve başlangıçta bilgisayarların tüm işi yapan böyle bir programı tutmak için yeterli belleği yoktu. Erken bilgisayarlardaki donanım kaynaklarının bu sınırlaması nedeniyle, derleyiciler, kaynak kodunun üzerinden geçerek (kaynağın veya başka bir formun üzerinden “geçiş yaptı”) ve kısmi işini yapan daha küçük alt programlara ayrıldı ve analiz gerçekleştirdi , dönüşümler ve çeviri görevleri ayrı ayrı. Yani, bu sınıflandırmaya bağlı olarak, derleyiciler tek geçişli veya çok geçişli derleyiciler olarak tanımlanır.

Adından da anlaşılacağı gibi, tek geçişli derleyiciler tek geçişte derlenir. Tek geçişli bir derleyici yazmak daha kolaydır ve ayrıca çok geçişli derleyicilere göre daha hızlı performans gösterirler. Bu nedenle, kaynak sınırlamalarınız olduğu zamanlarda bile, diller tek geçişte (örneğin Pascal) derlenebilecek şekilde tasarlanmıştır. Öte yandan, tipik bir çok geçişli derleyici birkaç ana aşamadan oluşur. İlk aşama tarayıcıdır (sözlük analizörü olarak da bilinir). Tarayıcı programı okur ve bir dizi dizgeye dönüştürür. İkinci aşama ayrıştırıcıdır. Simge 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 aşamadır. Kod optimizasyon aşamaları ve son kod oluşturma aşaması bunu takip eder.

Derleyicide Aşama Nedir??

Evre terimi genellikle derleyici yapısı hakkında konuştuğunuzda ortaya çıkar. Başlangıçta, derleyiciler, basit bir dilin derlenmesi için bir kişi tarafından yazılan her bir tek, yekpare yazılımın basit parçalarıydı. Ancak çevrilecek dilin kaynak kodu karmaşık ve büyük hale geldiğinde, derleyici birden çok (nispeten bağımsız) aşamaya bölünmüştür. Farklı aşamalara sahip olmanın avantajı, derleyicinin geliştirilmesinin bir geliştirici ekibi arasında dağıtılabilmesidir. Ayrıca, derleyiciye fazların iyileştirilmiş fazlar veya ek fazlar (ek optimizasyonlar gibi) eklenmesine izin vererek modülerliği ve yeniden kullanımı geliştirir. Derlemenin aşamalara bölünmesi süreci, Carnegie Melon Üniversitesi'nde PQCC (Üretim Kalitesi Derleyici-Derleyici Projesi) tarafından başlatılmıştır. Ön uç, orta uç ve arka uç terimlerini tanıttılar. Çoğu derleyicinin en az iki aşaması vardır. Ancak genellikle, arka uç ve ön uç bu aşamaları kapsar.

Derleyicide Faz ve Geçiş arasındaki fark nedir?

Faz ve Geçiş derleyiciler alanında kullanılan iki terimdir. Geçiş, derleyicinin kaynak kodunu veya başka bir temsilini geçtiği (geçtiği) tek bir zamandır. Tipik olarak, çoğu derleyici, ön uç ve arka uç olarak adlandırılan en az iki faza sahiptir, ancak bunlar tek geçişli veya çoklu geçişli olabilir. Faz, derleyicileri yapıya göre sınıflandırmak için kullanılırken, geçiş derleyicileri nasıl çalıştıklarına göre sınıflandırmak için kullanılır.