Implementa um avaliador para um subconjunto muito simples de Forth.
Forth é uma linguagem de programação baseada em pilha. Implementa um avaliador muito básico para um pequeno subconjunto de Forth.
O teu avaliador tem de suportar as seguintes palavras:
+, -, *, / (aritmética de inteiros)DUP, DROP, SWAP, OVER (manipulação de pilha)O teu avaliador também tem de suportar a definição de novas palavras usando a sintaxe habitual: : word-name definition ;.
Para simplificar, o único tipo de dados que precisas de suportar é o dos inteiros com sinal de, pelo menos, 16 bits.
Deves usar as seguintes regras para a sintaxe: um número é uma sequência de um ou mais algarismos (ASCII), uma palavra é uma sequência de uma ou mais letras, algarismos, símbolos ou pontuação que não seja um número. (O Forth provavelmente usa regras ligeiramente diferentes, mas isto é suficientemente próximo.)
As palavras não distinguem maiúsculas de minúsculas.
Inscreve-te no Exercism para aprenderes e dominares Scala com 95 exercícios, e mentoria humana real, tudo grátis.