Brainfuck

Un petit interpréteur Mac pour le brainfuck

a marqué ce sujet comme résolu.

Salut à tous,

Je me nomme Cirdo, 16 ans. J'aime l'objective-c, le swift, le c. Et aussi manger :p Je code depuis pas mal de temps. J'ai touché un peu au Java, à l'Html et Css. Mais j'essaye de continuer dans l'Objective-c ainsi qu'à la librairie Cocoa

Je viens ici pour présenter ma dernière application Brainfuck. C'est un petit interpréteur pour le Brainfuck spécialement conçus pour Mac.

Présentation de Brainfuck

Brainfuck est une application graphique qui interprète le résultat d'un code brainfuck. Il contient toutes les fonctionnalités du Brainfuck comme ,.

Comment est né le projet ?

J'ai découvert le Brainfuck avec ce topic Créer un compilateur/interpréteur Brainfuck. Ainsi j'ai décidé de créé un interpréteur en Objective-c. Sauf que le coté console de l'interpréteur ne me plait pas beaucoup et qu'une interface graphique est bien meilleure. D'ailleurs dans les projets trouvés sur le web, il n'y a pas de mode pour le débogage ce qui pas très intuitif pour apprendre. Ce qui m'a motivé aussi est le fait que je n'ai pas trouvé d'interpréteur pour OS X.

Les fonctionnalités

Une des grandes forces de cet interpréteur est son mode de débogage. Il permet de voire toutes les cellules ainsi que l'index. Pour ça il suffit de mettre un # après le point pour déboger.

Le mode de débogage

Et il gère aussi les inputs (,) de façon simple car il n'y a pas de popup intempestive pour vous demander le caractère mais c'est l'entrée de texte située en bas qui gère les caractères. Les inputs

Les technologies

Tout a été fait en Objective-c utilisant Cocoa et le projet intègre les storyboards apparus en 2014. D'ailleurs la version actuelle est 1.2. Le configuration requise est El Capitan (10.11) minimum.

Pour ce qui est de l'interpréteur quelques optimisations ont été faites comme par exemple réduire les caractères +, - ou encore >. Ainsi l'interprétation se fait en 2 étapes :

  • L'analyse : On enlève les parasites principalement et on optimise le code
  • L'execution : On n'execute les instructions générées.

Vous pouvez trouver le projet sur Github. Et son lien de téléchargement qui est juste ici

+5 -0
Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte