Forth

Forth

Media

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.

Implementación

Note

Como Uiua no admite poner funciones en la pila, no vas a implementar palabras definidas por el usuario.

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

¿Listo para empezar Forth?

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