Derleyicide Faz ve Geçiş Arasındaki Fark

Derleyicide Faz ve Geçiş Arasındaki Fark
Derleyicide Faz ve Geçiş Arasındaki Fark

Video: Derleyicide Faz ve Geçiş Arasındaki Fark

Video: Derleyicide Faz ve Geçiş Arasındaki Fark
Video: Edat, Bağlaç, Ünlem - Edat - Bağlaç Farkı 2024, Temmuz
Anonim

Derleyicide Aşamaya Karşı Geçiş

Genel olarak derleyici, kaynak dil olarak adlandırılan bir dilde yazılmış bir programı okuyan ve onu hedef dil olarak adlandırılan başka bir dile çeviren bir bilgisayar programıdır. Geleneksel olarak kaynak dil, C++ gibi yüksek seviyeli bir dildi ve hedef dil, Assembly dili gibi düşük seviyeli bir dildi. Bu nedenle, genel olarak derleyiciler, bir dilden diğerine çeviri yapan çevirmenler olarak görülebilir. Geçiş ve Aşama, derleyicilerle sıklıkla kullanılan iki terimdir. Bir derleyicinin geçiş sayısı, kaynağın (veya bir tür temsilinin) üzerinden geçme sayısıdır. Bir derleyici, yapım kolaylığı için parçalara ayrılmıştır. Faz genellikle bir derleyicinin böyle tek 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çti" sayısıdır. Genellikle, derleme nispeten kaynak yoğun bir süreçtir ve başlangıçta bilgisayarların tüm işi yapan böyle bir programı tutmak için yeterli belleği yoktu. İlk bilgisayarlarda donanım kaynaklarının bu sınırlaması nedeniyle, derleyiciler, kısmi işini kaynak kodun üzerinden geçerek (kaynağın veya başka bir biçiminin üzerinden "geçti" yapan) daha küçük alt programlara bölündü ve analiz gerçekleştirdi., 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 çok geçişli derleyiciler olarak tanımlanır.

Adından da anlaşılacağı gibi, tek geçişli derleyiciler tek geçişte derler. Tek geçişli bir derleyici yazmak daha kolaydır ve ayrıca çok geçişli derleyicilere göre daha hızlı çalışırlar. Bu nedenle, kaynak sınırlamalarınız olduğunda 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 çözümleyici olarak da bilinir). Tarayıcı programı okur ve onu bir dizi simgeye dönüştürür. İkinci aşama ayrıştırıcıdır. Belirteç dizisini, 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. Sonraki aşama, sözdizimsel yapının semantiğini yorumlama aşamasıdır. Bunu kod optimizasyon aşamaları ve son kod oluşturma aşaması takip eder.

Derleyicide Aşama Nedir?

Derleyici yapısı hakkında konuştuğunuzda faz terimi genellikle ortaya çıkar. Başlangıçta derleyiciler, basit bir dilin derlenmesi için bir kişi tarafından yazılmış tek, monolitik yazılımın her basit parçasıydı. Ancak çevrilecek dilin kaynak kodu karmaşık ve geniş hale geldiğinde, derleyici birden çok (nispeten bağımsız) aşamaya bölündü. Farklı aşamalara sahip olmanın avantajı, derleyicinin geliştirilmesinin bir geliştirici ekibi arasında dağıtılabilmesidir. Ayrıca, fazların geliştirilmiş olanlarla değiştirilmesine veya ek fazların (daha fazla optimizasyon gibi) derleyiciye eklenmesine izin vererek modülerliği ve yeniden kullanımı iyileştirir. Derlemenin aşamalara bölünmesi süreci, Carnegie Melon Üniversitesi'nde PQCC (Üretim Kalitesi Derleyici-Derleyici Projesi) tarafından tanıtıldı. Ö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 Aşama ve Geçiş arasındaki fark nedir?

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

Önerilen: