Étant donné une entrée de n'importe quel programme Glypho valide, sortez son équivalent "lisible par l'homme".
Le glypho est une idée esolang intéressante:
La référence d'instruction est donnée ici. Pour chaque instruction, les caractères abcd représentent les symboles composant chaque instruction. a fait référence au premier symbole unique, b fait référence au deuxième symbole unique, etc.
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 [
(crédit: Brian Thompson alias Wildhalcyon)
Ainsi, par exemple, PPCG
représenterait l' instruction Push -PPCG
correspond au modèle aabc
, où a
représente P
, b
représente C
et c
représente G
.
L'entrée sera une chaîne unique composée uniquement de caractères ASCII imprimables. Il aura toujours une longueur divisible par quatre (duh).
La sortie est chaque groupe de quatre caractères de la chaîne d'entrée remplacé par l'instruction qu'ils désignent. Utilisez les noms d'instructions à une seule lettre (ceux juste après les cinq points dans le tableau cité ci-dessus).
Puisqu'il s'agit de code-golf , le code le plus court en octets gagnera.
Cas de test:
In Out
------------------------------------------------
Programming Puzzles & Code Golof ]!]!]]]+
nananananananana batman! dddd]]
;;;;;;;:;;:;;;:: ni>\
llamas sleep 1-*
8488133190003453 <[oe
<empty string> <empty string>