l y a quelques temps (mois, en fait), accompagné de Antoine "Serialk" Pietri, dans le train en partance pour Marseille, je m'ennuyais quelque peu. Notre discussion s'est orientée sur ce merveilleur langage qu'est Befunge, et je décidai de coder un interpréteur Befunge interactif.

Le voilà.

Pour simplifier, Befunge est un langage ésotérique stack based. Un programme Befunge est en réalité un tableau de caractères bidimensionnel sur lequel se déplace notre pointeur d'instruction, en fonction du sens du flux. Chaque instruction ne correspond donc qu'à une seule lettre. Je vous laisse regarder la page Wikipédia.

L'idée toute simple de cet interpréteur était de pouvoir exécuter le code Befunge à vitesse "humaine" de façon à pouvoir débugguer, en voyant le pointeur d'instruction se déplacer, et en affichant la stack.

Cet interpréteur codé en C utilise ncurses. Vous pouvez retrouver les sources sur mon bitbucket.

L'interface ncurses est négligée, donc ça ne gère pas les redimensionnements du terminal etc, donc mettez votre terminal en fullscreen.

befunge.png

Voir le doxygen.

Voir le dépôt Bitbucket