Forth

Forth

Difficile

Istruzioni

Implementa un valutatore per un sottoinsieme molto semplice di Forth.

Forth è un linguaggio di programmazione basato sullo stack. Implementa un valutatore di base per un piccolo sottoinsieme di Forth.

Il valutatore deve supportare le seguenti parole:

  • +, -, *, / (aritmetica con numeri interi)
  • DUP, DROP, SWAP, OVER (manipolazione dello stack)

Il valutatore deve anche supportare la definizione di nuove parole usando la sintassi abituale: : word-name definition ;.

Per mantenere le cose semplici, l'unico tipo di dato che devi supportare sono i numeri interi con segno di almeno 16 bit.

Per la sintassi, usa le seguenti regole: un numero è una sequenza di una o più cifre (ASCII), una parola è una sequenza di una o più lettere, cifre, simboli o segni di punteggiatura che non sia un numero. (Probabilmente Forth usa regole leggermente diverse, ma queste sono abbastanza vicine.)

Le parole non distinguono maiuscole e minuscole.

Allocazione efficiente

Nota il caso di test aggiuntivo in tests/alloc-attack.rs. Mette alla prova implementazioni algoritmicamente inefficienti. Per questo motivo, di solito va in timeout online invece di fallire del tutto, e il messaggio di errore che ne risulta è meno utile.

Modifica tramite GitHub Il link si apre in una nuova finestra o scheda
Rust Exercism

Vuoi iniziare Forth?

Iscriviti a Exercism per imparare e padroneggiare Rust con 99 esercizi e il mentoring di persone reali, tutto gratis.