[Projet4Fun] Brainfuck Interpreter

    Publicités

Users Who Are Viewing This Thread (Total: 0, Members: 0, Guests: 0)

Astropilot

The Lord
V.I.P
V
Jan 6, 2011
9,285
18
1,254
France
Bonjour/Bonsoir à tous :)

Aujourd'hui je vous partage un petit projet que j'ai fais uniquement pour le fun et par curiosité pour le langage de programmation brainfuck.
Je vais commencer étape par étape :)

I/ Qu'est-ce que le brainfuck ? (Version courte)

Ce que Wiki nous dis:
Brainfuck est un langage de programmation minimaliste, inventé par Urban Müller en 1993. Il n'est composé que de 8 instructions.
Le brainfuck est un langage Turing-complet, ce qui signifie que, malgré les apparences, il est théoriquement possible d'écrire n'importe quel programme informatique en brainfuck.
z952owL.png


II/ Interpreter

Pour pouvoir programmer dans ce langage il vous faut un interpreter. Mais qu'est-ce donc que cette chose ?
C'est un programme qui va executer votre code brainfuck et vous donner le résultat de sortie. Il vous permet aussi de définir des valeurs d'entrée.
Vous pouvez en trouver pleins sur internet, mais moi j'ai eu envie de voir comment en faire un et j'en suis venu à me faire mon propre Interpreter.
Et je fais ce post pour vous le partager :)

[ScreenShot]

Le programme principal:
qA45Zk3.png


Le menu d'affichage de la mémoire:
FqQXKVW.png


[Ce qu'il permet]

  • Il vous permet d'exécuter du code BrainFuck
  • Il vous permet d'utiliser des raccourcis d'écriture:
    iX -> Permet d'incrémenter X fois, ex: i5 = +++++
    dX -> Permet de décrémenter X fois, ex: d5 = -----
    lX -> Déplace le pointer de X fois vers la gauche, ex: l5 = >>>>>
    rX -> Déplace le pointer de X fois vers la droite, ex: r5 = <<<<<
  • Il vous permet d'accéder à la mémoire modifiée par le code après l'exécution, ou bien pendant en ajoutant le symbole # à l'endroit où vous voulez voir la mémoire, l'interpreter ouvrira une fenêtre quand le symbole sera lu.
  • Connaître le nombre d'opérations efféctué et le temps d'exécution.
  • Vous pouvez sauvegarder vos projets

Si vous avez des idées d'améliorations n'hésitez pas ;)

[Virustotal]
Voila le lien du VirusTotal: Ce lien n'est pas visible, veuillez vous connecter pour l'afficher. Je m'inscris!
 

Attachments

  • [Yoshiku] Brainfuck Interpreter.zip
    178.7 KB · Views: 1
Last edited:

Evaelis

La Voix de la Sagesse
V
Ancien staff
Apr 28, 2010
22,949
468
1,699
Valhalla
Ensuite, la même chose avec la proposition de chucknoris :
Chuck Norris’ keyboard has 2 keys: 0 and space.
10001 => 0 0 00 000 0 0
011011 => 00 0 0 00 00 0 0 00
 

Astropilot

The Lord
V.I.P
V
Jan 6, 2011
9,285
18
1,254
France
#Mise a jour 1.1:
- Ajout d'un système de projets
- Ajout de raccourcis clavier
- Optimisation du code
- Ajout d'une barre d'outils
Voir le screenshot pour un apercu