Su desafío es tomar aportaciones como esta (un programa Hello World):
++++++++[>++++[>++>+++>+++>+<<<<-]>+>+>->>+[<]<-]>>.>---.+++++++..+++.>>.<-.<.+++.------.--------.>>+.>++.
Y generar un mensaje (que será "> "
):
>
El usuario puede ingresar cualquier cosa en el indicador. Su depurador simple debe tener estos comandos:
S
- paso- Salida de la ubicación actual (ver
L
) después de pisar. S(a positive integer)
- paso que muchos espacios
- Salida de la ubicación actual (ver
L
- ubicación- El término "ubicación" siempre se refiere a dónde se encuentra en el programa (es decir, el puntero de instrucción).
Formateado así:
v +++++++[>+++++++<-]>.
Esto significa que la ubicación actual del programa es la tercera
+
.
G(an integer)
- ir- Esto significa seguir avanzando hasta llegar a esa ubicación. Si llega al final del programa y no ha llegado allí, simplemente salga del programa.
- Un entero negativo significa que muchos caracteres del final. Sí, esto significa que
-0
es diferente0
y-1
es el penúltimo personaje. - No envíe nada para este comando.
D
- matriz de volcado- Formateado como
1, 2, 3, 4, 5
- Si la matriz es
1, 2, 3, 0, 0, 0, 0, 0, ...
, solo salida1, 2, 3
. D(a positive integer) (a positive integer)
- volcar todos los elementos de la matriz entre esas dos posiciones (inclusive)
- Formateado como
(a positive integer)
- muestra el elemento actualmente en esa posición de matrizP
- muestra el índice del puntero BF (lo que cambia con>
y<
).
Cuando el programa solicite información, muestre el mensaje "I> "
. (Puede ingresar un carácter a la vez).
Cuando emite algo, mostrar "O> " + (the output)
. Se deben encadenar múltiples salidas entre comandos (es decir, no se puede hacer > G-0 O> H O> e O> l O> l O> o ...
, tiene que ser > G-0 O> Hello, World!
).
Salida "Listo" y salir una vez que llegue al final del programa.
Ejecución de muestra:
++++++++[>++++[>++>+++>+++>+<<<<-]>+>+>->>+[<]<-]>>.>---.+++++++..+++.>>.<-.<.+++.------.--------.>>+.>++.
> S
1
> S
2
> S2
4
> S0
4
> L
v
++++++++[>++++[>++>+++>+++>+<<<<-]>+>+>->>+[<]<-]>>.>---.+++++++..+++.>>.<-.<.+++.------.--------.>>+.>++.
> D
4
> 0
4
> D10 15
0, 0, 0, 0, 0, 0
> G-0
O> Hello, World!
Done
Ejecución de muestra que muestra los pasos y las P
instrucciones (calcula 3*2+1
)
+++[>++<-]>+
> S3
3
> L
v
+++[>++<-]>+
> S3
6
> L
v
+++[>++<-]>+
> P
1
> S3
9
> L
v
+++[>++<-]>+
> S
3
> L
v
+++[>++<-]>+
> D
2, 2
>
Ejecución de muestra que muestra E / S
>+[>,---------------------------------]<[<]>[>.]
> G37
I> H
I> e
I> l
I> l
I> o
I> !
> D
0, 39, 68, 75, 75, 78
> G-0
O> 'DKKN
Done
Este es el código de golf , por lo que el código más corto ganará.