मेरी प्रोग्रामिंग भाषा के लिए दुभाषिया को कार्यान्वित करते समय मैंने पहली बार एक साधारण कंसोल विंडो के बारे में सोचा जो उपयोगकर्ता को कुछ कोड दर्ज करने की अनुमति देता है जिसे तब एक शैल के रूप में एक स्टैंडअलोन प्रोग्राम के रूप में निष्पादित किया जाता है।रूबी और पायथन अपने इंटरैक्टिव कंसोल कैसे कार्यान्वित करते हैं?
लेकिन गंभीर समस्याएं हैं: यदि कोड में प्रवेश करने वाली प्रत्येक पंक्ति को स्टैंडअलोन प्रोग्राम के रूप में संभाला जाता है, तो उसे टोकननाइज़र और पार्सर से गुज़रना पड़ता है और फिर केवल दुभाषिया द्वारा निष्पादित किया जाता है - तब कार्यों के बारे में क्या?
- पाइथन/रूबी इंटरैक्टिव कंसोल (आईडीएलई, आईआरबी) कोड "शेयर" कैसे कर सकता है? कोड कैसे संभाला जाता है?
उदाहरण:
>> def x:
>> print("Blah")
>>
>> x()
कहाँ समारोह संग्रहीत किया जाता है तो यह किसी भी समय फिर कहा जा सकता है?
इंटरैक्टिव कंसोल कैसे सब कुछ बार-बार सब कुछ निष्पादित किए बिना स्पष्ट रूप से एक प्रोग्राम के रूप में दर्ज किया जा सकता है?