Dada a entrada de qualquer programa Glypho válido, envie sua contraparte "legível por humanos".
Glypho é uma idéia interessante do esolang:
A referência da instrução é dada aqui. Para cada instrução, os caracteres abcd representam os símbolos que compõem cada instrução. a refere-se ao primeiro símbolo exclusivo, b refere-se ao segundo símbolo exclusivo, 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édito: Brian Thompson, também conhecido como Wildhalcyon)
Assim, por exemplo, PPCG
representaria a instrução Push -PPCG
corresponde ao padrão aabc
, onde a
representa P
, b
representa C
e c
representa G
.
A entrada será uma única sequência que consiste apenas em caracteres ASCII imprimíveis. Sempre terá um comprimento divisível por quatro (duh).
A saída é cada grupo de quatro caracteres na sequência de entrada substituída pela instrução que eles designam. Use os nomes de instruções de uma letra (aqueles logo após os cinco pontos na tabela citada acima).
Como esse é o código-golfe , o código mais curto em bytes será vencedor.
Casos de teste:
In Out
------------------------------------------------
Programming Puzzles & Code Golof ]!]!]]]+
nananananananana batman! dddd]]
;;;;;;;:;;:;;;:: ni>\
llamas sleep 1-*
8488133190003453 <[oe
<empty string> <empty string>