Forth

Forth

Difícil

Instrucciones

Implementa un evaluador para un subconjunto muy sencillo de Forth.

Forth es un lenguaje de programación basado en una pila. Implementa un evaluador muy básico para un pequeño subconjunto de Forth.

Tu evaluador tiene que admitir las siguientes palabras:

  • +, -, *, / (aritmética de enteros)
  • DUP, DROP, SWAP, OVER (manipulación de la pila)

Tu evaluador también tiene que admitir la definición de nuevas palabras con la sintaxis habitual: : word-name definition ;.

Para simplificar, el único tipo de datos que necesitas admitir son los enteros con signo de al menos 16 bits.

Para la sintaxis, debes usar las siguientes reglas: un número es una secuencia de uno o más dígitos (ASCII), y una palabra es una secuencia de una o más letras, dígitos, símbolos o signos de puntuación que no es un número. (Es probable que Forth use reglas ligeramente distintas, pero esto se acerca bastante.)

Las palabras no distinguen entre mayúsculas y minúsculas.

Notas específicas del track

La entrada se presenta como un array de strings. Las definiciones se presentan como : var x ... ;, donde var queda vinculado a lo que sigue. En caso contrario, el string representa una secuencia de manipulaciones de la pila.

Editar en GitHub El enlace se abre en una ventana o pestaña nueva
Scheme Exercism

¿Listo para empezar Forth?

Regístrate en Exercism para aprender y dominar Scheme con 39 ejercicios y mentoría humana real, todo gratis.