Dato un input di qualsiasi programma Glypho valido, produce la sua controparte "leggibile dall'uomo".
Glypho è un'idea interessante di esolang:
Il riferimento alle istruzioni è fornito qui. Per ogni istruzione, i caratteri abcd rappresentano i simboli che compongono ciascuna istruzione. a si riferisce al primo simbolo univoco, b si riferisce al secondo simbolo univoco, ecc.
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 [
(credito: Brian Thompson aka Wildhalcyon)
Quindi, ad esempio, PPCG
rappresenterebbe l' istruzione Push:PPCG
corrisponde al modello aabc
, dove a
rappresenta P
, b
rappresenta C
e c
rappresenta G
.
L'input sarà una singola stringa composta da soli caratteri ASCII stampabili. Avrà sempre una lunghezza divisibile per quattro (duh).
L'output è ogni gruppo di quattro caratteri nella stringa di input sostituiti dall'istruzione che designano. Utilizzare i nomi delle istruzioni a lettera singola (quelli subito dopo i cinque punti nella tabella sopra citata).
Dato che si tratta di code-golf , vincerà il codice più breve in byte.
Casi test:
In Out
------------------------------------------------
Programming Puzzles & Code Golof ]!]!]]]+
nananananananana batman! dddd]]
;;;;;;;:;;:;;;:: ni>\
llamas sleep 1-*
8488133190003453 <[oe
<empty string> <empty string>