सेवा के बारे में
अनुवादितमंकी प्रोग्रामिंग भाषा के लिए एक कार्यशील इंटरप्रेटर की आवश्यकता है — "गो में एक इंटरप्रेटर लिखना" पुस्तक और इसके अनुक्रम "गो में एक कंपाइलर लिखना" से शैक्षिक भाषा? मैं पूरी पाइपलाइन को शून्य से इकट्ठा करता हूं और संदर्भ कार्यान्वयन को उन क्षमताओं के साथ विस्तारित करता हूं जो लेखकों ने व्यायाम के रूप में छोड़ी थीं।
आपको क्या मिलेगा:
— एक हस्तलिखित लेक्सर जो स्रोत कोड को टोकनों में बदलता है, पढ़ने योग्य त्रुटि संदेशों के लिए स्थिति ट्रैकिंग के साथ।
— एक प्रैट पार्सर (ऑपरेटर प्राथमिकता द्वारा शीर्ष-से-नीचे पार्सिंग) जो एक साफ प्रकारित AST बनाता है।
— एक ट्री-वॉकिंग मूल्यांकनकर्ता जिसमें पूर्णांक, बूलियन, स्ट्रिंग, एरे, हैश, पहले श्रेणी के कार्य और क्लोजर शामिल हैं।
— बाइटकोड और स्टैक-आधारित वर्चुअल मशीन के लिए एक कंपाइलर वास्तविक गति के लिए: प्रतीक तालिका, स्थायी पूल, फ्रेम हैंडलिंग।
— अंतर्निहित कार्य, `let`/`if`/`return`, उच्च-क्रम के कार्य और एक सुविधाजनक REPL।
अनुरोध पर विस्तार: फ्लोटिंग-पॉइंट नंबर, `while`/`for` लूप, पोस्टफिक्स और यौगिक ऑपरेटर, कोट/अनकोट के साथ मैक्रोज़, मॉड्यूल आयात, गार्बेज संग्रह प्रयोग, त्रुटि मान और समृद्ध अंतर्निहित मानक पुस्तकालय कार्य।
प्रत्येक निर्माण के साथ एक पूर्ण सेट टेबल-चालित परीक्षणों, एक साफ कमिट इतिहास और एक README आता है जो आपको प्रत्येक चरण के माध्यम से ले जाता है ताकि आप कोड से सीधे सीखते रहें। मैं इसे गो में कर सकता हूं या डिज़ाइन को किसी अन्य होस्ट भाषा में पोर्ट कर सकता हूं। छात्रों, शिक्षकों और किसी भी व्यक्ति के लिए एक शानदार विकल्प जिसे प्रयोगों के लिए एक छोटा लेकिन पूर्ण-विशेषताओं वाला भाषा चाहिए।
आपको क्या मिलेगा:
— एक हस्तलिखित लेक्सर जो स्रोत कोड को टोकनों में बदलता है, पढ़ने योग्य त्रुटि संदेशों के लिए स्थिति ट्रैकिंग के साथ।
— एक प्रैट पार्सर (ऑपरेटर प्राथमिकता द्वारा शीर्ष-से-नीचे पार्सिंग) जो एक साफ प्रकारित AST बनाता है।
— एक ट्री-वॉकिंग मूल्यांकनकर्ता जिसमें पूर्णांक, बूलियन, स्ट्रिंग, एरे, हैश, पहले श्रेणी के कार्य और क्लोजर शामिल हैं।
— बाइटकोड और स्टैक-आधारित वर्चुअल मशीन के लिए एक कंपाइलर वास्तविक गति के लिए: प्रतीक तालिका, स्थायी पूल, फ्रेम हैंडलिंग।
— अंतर्निहित कार्य, `let`/`if`/`return`, उच्च-क्रम के कार्य और एक सुविधाजनक REPL।
अनुरोध पर विस्तार: फ्लोटिंग-पॉइंट नंबर, `while`/`for` लूप, पोस्टफिक्स और यौगिक ऑपरेटर, कोट/अनकोट के साथ मैक्रोज़, मॉड्यूल आयात, गार्बेज संग्रह प्रयोग, त्रुटि मान और समृद्ध अंतर्निहित मानक पुस्तकालय कार्य।
प्रत्येक निर्माण के साथ एक पूर्ण सेट टेबल-चालित परीक्षणों, एक साफ कमिट इतिहास और एक README आता है जो आपको प्रत्येक चरण के माध्यम से ले जाता है ताकि आप कोड से सीधे सीखते रहें। मैं इसे गो में कर सकता हूं या डिज़ाइन को किसी अन्य होस्ट भाषा में पोर्ट कर सकता हूं। छात्रों, शिक्षकों और किसी भी व्यक्ति के लिए एक शानदार विकल्प जिसे प्रयोगों के लिए एक छोटा लेकिन पूर्ण-विशेषताओं वाला भाषा चाहिए।