2010-05-04 13 views
8

मैंने लुआ में प्रोग्रामिंग स्किम किया है, मैंने लुआ संदर्भ को देखा है।लुआ वीएम का संक्षिप्त विवरण?

हालांकि, वे दोनों मुझे बताते हैं कि यह फ़ंक्शन यह करता है, लेकिन नहीं है।

एसआईसीपी पढ़ने पर, मुझे यह महसूस हुआ: "आह, यहां कम्प्यूटेशनल मॉडल अंतर्निहित योजना है"; मैं लुआ के बारे में एक ही समझ प्राप्त करने की कोशिश कर रहा हूं - यानी इसके वीएम का एक संक्षिप्त विवरण, "क्या" के बजाय "कैसे"।

क्या किसी को इसका वर्णन करने वाले अच्छे दस्तावेज़ (सी स्रोत के अलावा) पता है?

उत्तर

15

आप No-Frills Intro to Lua 5(.1) VM Instructions पढ़ सकते हैं (एक लिंक चुनें, डॉक्स टैब पर क्लिक करें, अंग्रेज़ी चुनें -> जाओ)।

मुझे बिल्कुल याद नहीं है जहां मैंने इसे देखा है, लेकिन मुझे याद है कि लुआ के लेखक विशेष रूप से अंतिम उपयोगकर्ताओं को वीएम पर बहुत अधिक जानकारी प्राप्त करने से हतोत्साहित करते हैं; मुझे लगता है कि वे इसे जितना संभव हो सके कार्यान्वयन विस्तार के रूप में चाहते हैं।

+2

[5.1 पीडीएफ के लिए सीधा लिंक] (http://luaforge.net/docman/view.php/83/98/ANoFrillsIntroToLua51VMInstructions.pdf), [5.1 ओडीटी के लिए सीधा लिंक] (http://luaforge.net/ docman/view.php/83/98/ANoFrillsIntroToLua51VMInstructions.pdf) –

3

लुआ अंतर्निहित कम्प्यूटेशनल मॉडल कम्प्यूटेशनल मॉडल अंतर्निहित योजना के समान ही है, सिवाय इसके कि केंद्रीय डेटा संरचना विपक्षी कोशिका नहीं है; यह म्यूटेबल हैश टेबल है। (कम से कम जब तक आप metatables के साथ मेटाप्रोग्रामिंग में नहीं पहुंच जाते हैं।) अन्यथा सभी परिचित सामान वहां हैं: परिवर्तनीय स्थानीय चर के साथ नेस्टेड प्रथम श्रेणी के कार्यों (योजना में चलो बाध्य चर), और इसी तरह।

यह मुझे स्पष्ट नहीं है कि आपको वीएम के अध्ययन से बहुत कुछ मिलेगा। मैंने थोड़ी देर पहले वीएम पर कुछ हैकिंग की थी और यह किसी भी अन्य रजिस्टर उन्मुख वीएम की तरह है, हालांकि शायद थोड़ा क्लीनर। केवल कुछ मुट्ठी भर निर्देश हैं लुआ-विशिष्ट।

यदि आप मेटाटेबल्स के बारे में उत्सुक हैं, तो अर्थशास्त्र को कुछ हद तक स्पष्ट रूप से वर्णित किया गया है, Section 2.8 of the reference manual for Lua 5.1 में। यदि आप src/lvm.c में वीएम कोड देखते हैं तो आपको सी में लागू तर्क ठीक से दिखाई देगा (उदा।, आंतरिक Arith फ़ंक्शन)। वीएम निर्देश आम मामलों के लिए विशिष्ट हैं, लेकिन यह सब बहुत सरल है; कुछ भी चालाक शामिल नहीं है।

सालों के लिए मैं लुआ के कम्प्यूटेशनल मॉडल का एक और अधिक औपचारिक विनिर्देश चाहते किया गया है, लेकिन मेरे स्वाद औपचारिक अर्थ विज्ञान की ओर अधिक चलाने ...

+0

मैं मेटाटेबल्स से जुड़ी सबकुछ के बारे में वास्तव में उत्सुक हूं। अगर वे वीएम में दस्तावेज नहीं हैं, तो वे कहां दस्तावेज हैं? – anon

+0

मैंने मेटाटेबल्स के बारे में कुछ नोट्स जोड़े हैं, लेकिन वास्तव में कहने के लिए बहुत कुछ नहीं है। –

3

मुझे The Implementation of Lua 5.1 मिला है जो वास्तव में लुआ वास्तव में कर रहा है समझने के लिए बहुत उपयोगी है।

यह हैशिंग तकनीक, कचरा संग्रह और कुछ अन्य बिट्स और टुकड़ों को बताता है।

+1

वह पेपर अच्छा है, लेकिन ध्यान दें कि यह लुआ 5.0 के लिए 5.1 नहीं है। – mlepage

-3

मुझे आश्चर्य है कि आप वीएम के लिए सी स्रोत का उल्लेख करते हैं क्योंकि यह lua.org द्वारा संरक्षित है और ब्राजील में tecgraf/puc rio विशेष रूप से भाषा का उपयोग कई देशों में वास्तविक व्यापार और वाणिज्यिक अनुप्रयोगों के लिए किया जाता है। लुआ के कार्यान्वयन के बारे में पेपर में वीएम के बारे में विवरण शामिल है जिसमें सबसे अधिक विस्तार शामिल है, लेकिन वीएम की संरचना स्वामित्व है। यह संस्करण 5 के बारे में ध्यान देने योग्य है।0 और 5 'को यूरोप में आईबीएम द्वारा ग्राहक मेनफ्रेम पर उपयोग के लिए कमीशन किया गया था और उनके रजिस्टर-आधारित संस्करण में एक वीएम है जो मध्यवर्ती निर्देशों के आईबीएम परिभाषित प्रारूप को स्वीकार करता है।

+7

लुआ वीएम स्रोत मुफ्त सॉफ्टवेयर है और इसका उपयोग स्वतंत्र रूप से किया जा सकता है। आपका उत्तर यह लगता है कि कुछ अन्य परियोजनाओं में शामिल होने पर कानूनी मुद्दों के साथ लूआ बंद स्रोत है। कृपया यह भी प्रमाण प्रदान करें कि आईबीएम ने लुआ वीएम को चालू किया है। – Neopallium

0

एक और महान पेपर The Implmentation of Lua 5.0 है, जो वीएम में विभिन्न प्रमुख प्रणालियों के डिजाइन और प्रेरणा का वर्णन करता है। मैंने पाया कि इसे पढ़ना और समझना एक अच्छा तरीका था जिसे मैं सी कोड में देख रहा था।