अगर मैं आपके सवाल का सही ढंग से समझ, मुझे नहीं लगता कि एक कठिन और तेजी से नियम है। उदाहरण के लिए, आप स्वयं के लिए एक दुभाषिया बनाने के लिए, लिस्प की तरह एक कार्यात्मक भाषा का उपयोग कर सकते हैं। इस मामले में, कार्यान्वयन विवरण कार्यात्मक तरीके से कार्यान्वित किए जाते हैं (क्योंकि लिस्प एक कार्यात्मक भाषा है)।
इसके अलावा, यदि आपके पास ट्यूरिंग पूर्ण भाषा है, तो आप इसे किसी अन्य भाषा के लिए पार्सर/दुभाषिया/कंपाइलर को लागू करने के लिए उपयोग कर सकते हैं। अनिवार्य ट्यूरिंग-पूर्ण भाषाएं हैं, और कार्यात्मक/घोषणात्मक ट्यूरिंग-पूर्ण भाषाएं हैं।
लेकिन अंततः सभी कोड असेंबली या मशीन कोड के लिए किए जाते हैं, जो मूल रूप से अनिवार्य है। सिद्धांत रूप में, मैंने ऊपर जो कहा वह सच है, लेकिन स्पष्ट रूप से अभ्यास में नहीं :)।
एक दिलचस्प ऐतिहासिक तरफ के रूप में, LISP एक पूरी तरह से सैद्धांतिक निर्माण था; यह कंप्यूटर भाषाओं के लिए एक गणितीय नोटेशन था। यह सैद्धांतिक बने रहे जब तक लिस्प के eval
समारोह एक आईबीएम 704 पर स्टीव रसेल द्वारा मशीन कोड में लागू किया गया था:
क्या हैकर्स & चित्रकारों, पी में पॉल ग्राहम द्वारा रिपोर्ट के अनुसार। 185, मैककार्थी ने कहा: "स्टीव रसेल ने कहा, देखो, मैं इस eval क्यों नहीं प्रोग्राम ..., और मैंने उससे कहा, हो, हो, आप अभ्यास के साथ सिद्धांत भ्रमित कर रहे हैं, यह eval का इरादा है पढ़ना, की गणना के लिए नहीं। लेकिन वह आगे बढ़ गया और ऐसा किया। यही है, उसने अपने पेपर में आईबीएम 704 मशीन कोड में बग फिक्सिंग, बग फिक्सिंग, और उसके बाद इसे लिस्प दुभाषिया के रूप में विज्ञापित किया, जो निश्चित रूप से था। उस बिंदु पर लिस्प के पास अनिवार्य रूप से वह रूप था जो आज है ... " (जोर मेरा)
तो एक बार फिर, सिद्धांत और अभ्यास के बीच subtleties। :)
आप सही हैं, यह सवाल का अर्थ है। – AwkwardCoder
लेकिन लिस्प दुभाषिया को तब आवश्यक कोड के संदर्भ में लागू किया जाता है। किसी बिंदु पर, जब तक आप एक लिस्प मशीन पर नहीं चल रहे हैं, सामान को असेंबली में संकलित करना होगा। – dsimcha
मैंने अपने उत्तर के अंत में उस पर संकेत दिया। यदि आप इसके बारे में सोचते हैं * सैद्धांतिक रूप से * तो यह समझ में आता है। लेकिन व्यवहार में, ऐसा नहीं है। उदाहरण के लिए मैं पर्ल में एक एलआईएसपी पार्सर और एलआईएसपी में एक पर्ल पार्सर लागू कर सकता हूं। यदि आप इसे कागज पर देखते हैं, तो पहले मामले में आप एक कार्यात्मक भाषा को अनिवार्य तरीके से कार्यान्वित कर रहे हैं, जबकि दूसरे मामले में, आप एक अनिवार्य भाषा को कार्यात्मक तरीके से कार्यान्वित कर रहे हैं। हालांकि, जब आप इसे अभ्यास में डालते हैं, तो यह स्पष्ट रूप से अनिवार्य होगा, क्योंकि असेंबली भाषा अनिवार्य है। –