Un interprete per il linguaggio esoterico noto come Brainfuck. Un giorno magari lo riscrivo per fare un compilatore. Non auguro a nessuno di provare a scrivere programmi in questo linguaggio. L'interprete prende il nome di Crashout!
Brainfuck è molto semplice, infatti ha 8 simboli:
- Simbolo + -> aumenta il valore della cella puntata
- Simbolo - -> diminuisce il valore della cella puntata
- Simbolo < -> sposta il puntatore indietro di una cella
- Simbolo > -> sposta il puntatore avanti di una cella
- Simbolo . -> stampa a schermo il carattere corrispondente al valore della cella
- Simbolo , -> prende un input nella cella cella
- Simbolo [ -> inizio del blocco di un ciclo
- Simbolo ] -> fine del blocco di un ciclo
I loop funzionano in maniera particolare: viene controllato il valore della cella attualmente puntata. Se è diversa da 0, il ciclo itera di nuovo (o entra in esso, se è la prima iterata), mentre se è uguale a 0 si salta all'istruzione successiva alla corrispondente chiusura.