क्या वास्तव में अपनी भाषा में संकलक लिखने का कोई तरीका है?
आप है कि आप एक नया, कहते हैं, सी ++ संकलक लिख रहे थे, तो आप बस सी ++ में लिखने और एक मौजूदा संकलक के साथ यह संकलन पहले होगा में अपने नए संकलक लिखने के कुछ मौजूदा भाषा है।। दूसरी ओर, यदि आप एक नई भाषा के लिए एक कंपाइलर बना रहे हैं, तो आइए इसे याज़ेलोफ़ कहते हैं, आपको नए कंपाइलर को पहले किसी अन्य भाषा में लिखना होगा। आम तौर पर, यह एक और प्रोग्रामिंग भाषा होगी, लेकिन यह होना जरूरी नहीं है। यह विधानसभा, या यदि आवश्यक हो, मशीन कोड हो सकता है।
यदि आप Yazzleof के लिए एक कंपाइलर बूटस्ट्रैप करने जा रहे थे , तो आप आमतौर पर शुरू में पूरी भाषा के लिए एक कंपाइलर नहीं लिखेंगे। इसके बजाय आप Yazzle-lite के लिए एक कंपाइलर लिखेंगे, Yazzleof का सबसे छोटा संभव उपसमुच्चय (ठीक है, कम से कम एक बहुत छोटा उपसमुच्चय)। फिर यज़ील-लाइट में, आप पूरी भाषा के लिए एक कंपाइलर लिखेंगे। (जाहिर है कि यह एक छलांग के बजाय पुनरावृत्त हो सकता है।) क्योंकि यज़ील-लाइट यज़ीलॉफ़ का एक उचित उपसमुच्चय है, अब आपके पास एक संकलक है जो खुद को संकलित कर सकता है।
बूटस्ट्रैपिंग के बारे में वास्तव में एक अच्छा राइटअप है जो संभव स्तर से सबसे कम स्तर (जो कि एक आधुनिक मशीन पर मूल रूप से एक हेक्स एडिटर है) से बूटस्ट्रैपिंग है , जिसका शीर्षक है बूटस्ट्रैपिंग कुछ भी नहीं । इसे https://web.archive.org/web/20061108010907/http://www.rano.org/bcompiler.html पर देखा जा सकता है ।