किसी भी मान्य ग्लिफ़ो कार्यक्रम के इनपुट को देखते हुए , इसके "मानव-पठनीय" समकक्ष का उत्पादन किया।
ग्लाइफो एक दिलचस्प एसोलैंग विचार है:
निर्देश संदर्भ यहां दिया गया है। प्रत्येक निर्देश के लिए, अक्षर abcd प्रत्येक निर्देश को रचने वाले प्रतीकों का प्रतिनिधित्व करते हैं। पहले अनूठे प्रतीक को संदर्भित करता है, ख को दूसरे अद्वितीय प्रतीक को संदर्भित करता है, आदि।
aaaa ..... n NOP - no operation; do nothing aaab ..... i Input - push input onto top of stack aaba ..... > Rot - pops top stack element and pushes to bottom of stack aabb ..... \ Swap - swaps top two stack elements aabc ..... 1 Push - pushes a 1 onto the top of stack (creates new element) abaa ..... < RRot - pops bottom element and pushes to top of stack abab ..... d Dup - Duplicates top stack element abac ..... + Add - pops top two elements and pushes their sum abba ..... [ L-brace - skip to matching ] if top stack element is 0 abbb ..... o Output - pops and outputs top stack element abbc ..... * Multiply - pops top two elements and pushes their product abca ..... e Execute - Pops four elements and interprets them as an instruction abcb ..... - Negate - pops value from stack, pushes -(value) abcc ..... ! Pop - pops and discards top stack element abcd ..... ] R-brace - skip back to matching [
(क्रेडिट: ब्रायन थॉम्पसन उर्फ वाइल्डहिल्सन)
इसलिए, उदाहरण के लिए, पुश निर्देश का PPCG
प्रतिनिधित्व करेगा-PPCG
पैटर्न से मेल खाता है aabc
, जहां a
प्रतिनिधित्व करता है P
, b
प्रतिनिधित्व करता है C
, और c
प्रतिनिधित्व करता है G
।
इनपुट एक एकल स्ट्रिंग होगा जिसमें केवल मुद्रण योग्य ASCII वर्ण होंगे। यह हमेशा चार (duh) से विभाज्य लंबाई होगी।
आउटपुट इनपुट स्ट्रिंग में चार वर्णों के प्रत्येक समूह को प्रतिस्थापित करता है, जिसके द्वारा वे निर्देशन करते हैं। एकल-पत्र निर्देश नामों का उपयोग करें (ऊपर उद्धृत तालिका में पांच बिंदुओं के ठीक बाद वाले)।
चूंकि यह कोड-गोल्फ है , बाइट्स में सबसे छोटा कोड जीत जाएगा।
परीक्षण के मामलों:
In Out
------------------------------------------------
Programming Puzzles & Code Golof ]!]!]]]+
nananananananana batman! dddd]]
;;;;;;;:;;:;;;:: ni>\
llamas sleep 1-*
8488133190003453 <[oe
<empty string> <empty string>