HeadlinesBriefing favicon HeadlinesBriefing.com

Uxn के लिए POP-2 भाषा

Hacker News •
×

POP-2 प्रोग्रामिंग भाषा का एक नया कार्यान्वयन Uxn आभासी मशीन के लिए लक्षित है, जिसमें ALGOL जैसा व्याकरण है और एक गहरा संयोजी मूल्यांकन मॉडल। पारंपरिक भाषा के विपरीत, POP-2 एक स्पष्ट ऑपरेंड स्टैक का उपयोग करता है जहां असाइनमेंट जैसे `123 -> foo` मान दबाने से पहले मूल्य धक्का देता है। कंपाइलर अविश्वसनीय रूप से कॉम्पैक्ट है, 800 से कम लाइनों में और 2.5kb स्मृति में फिट बैठता है।

भाषा की संरचना Pascal के समान है, जिसमें कीवर्ड-नेमेड स्टेटमेंट सेमीकॉलन द्वारा समाप्त होते हैं। फ़ंक्शन स्टैक पर मान छोड़कर multiple values लौटाते हैं। कंट्रोल फ्लो में `if/then/elseif/else/close` ब्लॉक शामिल हैं जो मान स्टैक पर धक्का देते हैं, और लूप्स एक्सप्लिसिट `goto` स्टेटमेंट्स का उपयोग करते हैं। वैरिएबल्स `vars` ब्लॉक्स में घोषित किए जाते हैं जिनकी बाइट लंबाई कॉन्फ़िगर की जा सकती है।

I/O ऑपरेशन Varvara सिस्टम को लक्षित करते हैं, पोर्ट नंबर का उपयोग करते हैं (उदाहरण के लिए, `0x48 => 23` कंसोल पोर्ट 0x17/0x18 पर "H" आउटपुट करता है)। एरे `#` प्रीफिक्स के माध्यम से pointer arithmetic का समर्थन करते हैं और मेमोरी dereferencing के लिए कर्ली ब्रेसेज का उपयोग करते हैं। एक पूर्ण स्ट्रिंग प्रिंटिंग फंक्शन स्टैक-आधारित दृष्टिकोण को दर्शाता है इटरेशन और आउटपुट के लिए। कार्यान्वयन Uxntal में लिखा गया है और intercatlang.incoming पर होस्ट किया गया है।