Kendi dilinde bir derleyici yazmanın bir yolu var mı?
Yeni derleyicinizi yazmak için mevcut bir dile sahip olmanız gerekir . Örneğin yeni bir C ++ derleyici yazıyorsanız, bunu sadece C ++ ile yazıp önce mevcut bir derleyiciyle derlemeniz gerekir. Öte yandan, yeni bir dil için bir derleyici oluşturuyorsanız, buna Yazzleof diyelim, yeni derleyiciyi önce başka bir dilde yazmanız gerekir. Genel olarak, bu başka bir programlama dili olurdu, ancak olması gerekmiyor. Montaj veya gerekirse makine kodu olabilir.
Eğer varsa edildi Yazzleof için bir derleyici bootstrap edeceksen, genellikle başlangıçta tam bir dil için bir derleyici yazmak olmaz. Bunun yerine Yazzleof'un olası en küçük alt kümesi olan Yazzle-lite için bir derleyici yazarsınız ( en azından oldukça küçük bir alt küme). Sonra Yazzle-lite'da tam dil için bir derleyici yazarsınız. (Açıkçası bu, tek bir atlama yerine yinelemeli olarak gerçekleşebilir.) Yazzle-lite, Yazzleof'un uygun bir alt kümesi olduğundan, artık kendi kendini derleyebilen bir derleyiciniz var.
Bir yoktur gerçekten başlıklı, (modern makine üzerinde temelde bir onaltılık editörü) mümkün olan en düşük seviyesinden bir derleyici işe koşulması hakkında iyi writeup yoktan basit derleyici önyüklemesinin . Https://web.archive.org/web/20061108010907/http://www.rano.org/bcompiler.html adresinde bulunabilir .