पर एक भाषा बूटस्ट्रैपिंग मैं एलएलवीएम के शीर्ष पर एक प्रोग्रामिंग भाषा कंपाइलर बूटस्ट्रैप कर रहा हूं। वर्तमान में मैं ज्यादातर सी के उप-समूह के लिए एक कंपाइलर लिख रहा हूं जो स्वयं संकलन है। जब मैं इसके साथ समाप्त करूँगा, तो मैं अपनी भाषा को सी से दूर रखूंगा, स्वयं संकलन को बनाए रखूंगा।एलएलवीएम
चूंकि संकलक स्वयं संकलन कर रहा है, इसलिए सी का उपयोग करने वाली किसी भी विशेषताओं को मुझे लागू करना होगा। तो यह निरंतर संतुलन है: यदि मैं बहुत सारी सुविधाओं का उपयोग करता हूं तो मुझे अधिक से अधिक लागू करना होगा, लेकिन यदि मैं पर्याप्त सुविधाओं को लागू नहीं करता हूं तो कोड लिखना मुश्किल होगा।
ऐसी एक विशेषता एलएलवीएम बाइंडिंग है। एलएलवीएम सी बाइंडिंग के बिना एलएलवीएम इंटरमीडिएट प्रस्तुति उत्पन्न करना मुश्किल है। हालांकि, अगर मैं एलएलवीएम बाइंडिंग करता हूं, तो मुझे सी को फिर से लागू करना होगा जब मैं सी
में मुझे कुछ कठिनाई हो रही है, इसलिए मैं वैकल्पिक समाधान ढूंढ रहा हूं। कोई विचार?
क्या आप अपने संकलक लिख रहे हैं? सी? आप मशीन कोड संकलन के लिए एलएलवीएम का उपयोग कर रहे हैं? –
मेरा कंपाइलर सी के सबसेट में लिखा गया है जो इसे संकलित करता है। क्षमा करें, मैंने इसे अच्छी तरह से समझाया नहीं। मेरी वर्तमान योजना एक फ़ाइल में एलएलवीएम इंटरमीडिएट प्रतिनिधित्व लिखना है और फिर इसे संकलित करने के लिए एलएलवीएम का उपयोग करना है, लेकिन यह जटिल है, और मैं क्लीनर समाधान की तलाश में हूं। – Imagist
एलएलवीएम, पीछे की तरफ के लिए एक शानदार विकल्प है। मुझे इसके साथ बहुत अच्छा भाग्य मिला है। –