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