给定任何有效Glypho程序的输入,输出其“人类可读”的对应内容。
Glypho是一个有趣的esolang创意:
此处提供了指令参考。对于每条指令,字符abcd代表组成每条指令的符号。a表示第一个唯一符号,b表示第二个唯一符号,依此类推。
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 [
(图片来源:Brian Thompson或 Wildhalcyon)
因此,例如,PPCG
将表示Push指令— PPCG
匹配模式aabc
,其中a
表示P
,b
表示C
和c
表示G
。
输入将是仅包含可打印ASCII字符的单个字符串。它的长度始终可以被四(duh)整除。
输出是输入字符串中每四个字符组成的一组,替换为它们指定的指令。使用单字母指令名称(上面引用的表格中五个点之后的名称)。
由于这是code-golf,因此以字节为单位的最短代码将获胜。
测试用例:
In Out
------------------------------------------------
Programming Puzzles & Code Golof ]!]!]]]+
nananananananana batman! dddd]]
;;;;;;;:;;:;;;:: ni>\
llamas sleep 1-*
8488133190003453 <[oe
<empty string> <empty string>