मैं देख रहा हूं कि प्रोग्रामिंग भाषाएं कैसे काम करती हैं, और उनमें से कुछ में तथाकथित आभासी मशीनें हैं। मैं समझता हूं कि यह प्रोग्रामिंग भाषा के किसी अन्य प्रोग्रामिंग भाषा के अनुकरण का कुछ रूप है, और यह काम करता है कि एक ढेर भाषा के साथ एक संकलित भाषा कैसे निष्पादित की जाएगी। क्या मैने इसे सही समझा?वर्चुअल मशीन कैसे काम करती है?
मेरे द्वारा किए गए प्रावधान के साथ, मुझे कौन सा बांसोज़ल है कि कई गैर-संकलित भाषाएं "उदार" प्रकार प्रणालियों के साथ चर की अनुमति देती हैं। उदाहरण के लिए पायथन में, मैं यह लिख सकते हैं:
x = "Hello world!"
x = 2**1000
तार और बड़ा पूर्णांक पूरी तरह से संबंधित नहीं हैं और स्मृति में अंतरिक्ष के विभिन्न मात्रा पर कब्जा है, तो कैसे इस कोड को भी एक ढेर आधारित वातावरण में प्रतिनिधित्व किया जा सकता है? वास्तव में क्या होता है? क्या एक्स स्टैक पर एक नई जगह की ओर इशारा करता है और पुराने स्ट्रिंग डेटा को बिना संदर्भित छोड़ा गया है? क्या ये भाषाएं ढेर का उपयोग नहीं करती हैं? यदि नहीं, तो वे आंतरिक रूप से चर का प्रतिनिधित्व कैसे करते हैं?
महान पहला सवाल! – samoz
संबंधित प्रश्न: http://stackoverflow.com/questions/688803/how-does-a-register-based-virtual-machine-work – lothar