What does it really mean that a programming language is stackless? -
इस उत्तर के मुताबिक
इन सभी प्रोग्रामिंग भाषाओं स्टैकलेस <
उनके लिए स्टैकलेस होने का वास्तव में क्या मतलब है? क्या इसका मतलब है कि वे कॉल स्टैक का उपयोग नहीं करते हैं? यदि वे कॉल स्टैक का उपयोग नहीं करते हैं, तो वे क्या उपयोग करते हैं?
यह क्या करता है वास्तव में उन्हें स्टैकलेस होने का मतलब है? इसका क्या मतलब है कि वे कॉल स्टैक का उपयोग नहीं करते हैं?
हाँ, यह सही है।
यदि वे कॉल स्टैक का उपयोग नहीं करते हैं, तो क्या क्या वे इसका उपयोग करते हैं?
सटीक क्रियान्वयन, निश्चित रूप से, भाषा से भाषा में बदलती है स्टैकलेस पायथन में, एक डिस्पैचर है जो सर्वोच्च फ्रेम और इसके परिणाम का उपयोग करके पायथन इंटरप्रेटर को प्रारंभ करता है। दुभाषिया एक समय में एक के रूप में एक बार जब तक यह एक CALL_FUNCTION opcode तक पहुँच जाता है, संकेत है कि आप एक फ़ंक्शन में प्रवेश करने वाले हैं इससे डिस्पैचर को प्रासंगिक जानकारी के साथ एक नया फ्रेम बनाने और डिस्पैचर पर अनवर झंडे के साथ वापस आना पड़ता है। वहां से, डिस्पैचर नए सिरे से शुरू होता है, सर्वोच्च फ़्रेम पर इंटरप्रिटर को इंगित करता है।
स्टैकलेस भाषा कई कारणों से कॉल स्टैक को छोड़ देते हैं, लेकिन कई मामलों में इसका उपयोग किया जाता है ताकि कुछ प्रोग्रामिंग निर्माण लागू हो सकें । कैनोनिकल एक है निरंतरता बहुत शक्तिशाली हैं, बहुत सरल नियंत्रण संरचनाएं, जो कि सामान्य नियंत्रण संरचनाओं का प्रतिनिधित्व कर सकती हैं जिन्हें आप पहले से ही परिचित हैं ( जबकि , do , if , स्विच , et cetera)।
यदि वह भ्रामक है, तो आप विकिपीडिया लेख के आसपास अपने सिर को लपेटने की कोशिश कर सकते हैं, और विशेषकर cutesy निरंतरता सैंडविच सादृश्य :
आप रेफ्रिजरेटर के सामने रसोई में हैं, एक सैंडविच के बारे में सोच रहे हैं। आप वहां एक निरंतरता लेते हैं और अपनी जेब में चिपकाते हैं। फिर आप कुछ टर्की और रोटी रेफ्रिजरेटर से बाहर निकाल लें और अपने आप को एक सैंडविच बनाएं, जो अब काउंटर पर बैठा है। आप अपनी जेब में निरंतरता का आह्वान करते हैं, और आप खुद को रेफ्रिजरेटर के सामने फिर से खड़ा करते हैं, एक सैंडविच के बारे में सोच रहे हैं। लेकिन सौभाग्य से, काउंटर पर एक सैंडविच है, और इसे बनाने के लिए इस्तेमाल की गई सभी सामग्रियां चली गईं हैं तो आप इसे खाते हैं।
Comments
Post a Comment