Forth

Forth

Difícil

Instrucciones

Implementa un evaluador para un subconjunto muy simple de Forth.

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

Tu evaluador debe admitir las siguientes palabras:

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

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

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

Debes usar las siguientes reglas para la sintaxis: 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 sea un número. (Es probable que Forth use reglas un poco diferentes, pero esto se acerca lo suficiente).

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 se vincula 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 una pestaña nuevas
Scheme Exercism

¿Todo listo para empezar Forth?

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