Forth के एक बहुत ही सरल उपसमूह के लिए एक एवैल्यूएटर बनाइए।
Forth एक स्टैक पर आधारित प्रोग्रामिंग भाषा है। Forth के एक छोटे उपसमूह के लिए एक बहुत ही बुनियादी एवैल्यूएटर बनाइए।
आपके एवैल्यूएटर को इन शब्दों का समर्थन करना होगा:
+, -, *, / (पूर्णांक अंकगणित)DUP, DROP, SWAP, OVER (स्टैक में बदलाव)आपके एवैल्यूएटर को परंपरागत सिंटैक्स का उपयोग करके नए शब्द बनाने का समर्थन भी करना होगा: : word-name definition ;।
चीज़ों को सरल रखने के लिए आपको केवल एक डेटा टाइप देना है: कम से कम 16 बिट आकार के चिह्नित पूर्णांक।
सिंटैक्स के लिए इन नियमों का पालन कीजिए: संख्या एक या अधिक (ASCII) अंकों का क्रम होती है, और शब्द एक या अधिक अक्षरों, अंकों, प्रतीकों या विराम-चिह्नों का ऐसा क्रम होता है जो संख्या न हो। (Forth में शायद थोड़े अलग नियम हैं, लेकिन यह काफी करीब है।)
शब्दों में छोटे और बड़े अक्षरों का कोई फर्क नहीं होता।
इनपुट एक ऐरे के रूप में दिया जाता है, जिसमें स्ट्रिंग होती हैं।
परिभाषाएँ : var x ... ; के रूप में दी जाती हैं, जहाँ var उस चीज़ से बँध जाता है जो उसके बाद आती है।
अन्यथा वह स्ट्रिंग स्टैक पर किए जाने वाले कामों का क्रम दर्शाती है।