[Tuto] BrainFuck Partie I (par Vertebro)

    Publicités

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

Vertebro

/b/
V
Ancien staff
Dec 10, 2010
1,151
0
942
4chan.org
Salut ! Aujourd'hui je commence mon tuto sur le langage de programmation qu'est le BrainFuck.

Partie I : Présentation et lecture

Attention ! Le brainfuck est un langage très compliqué, il est destiné à des personnes sachant déjà programmer.

Le brainfuck c'est quoi ?

Tout d'abord, présentons le langage, le brainfuck a été créé en 1993. Il est prévu pour être minimaliste, c'est à dire que le créateur (Urban Müller) a tout fait pour que son langage soit le plus léger possible. En effet, Müller voulait créer un compilateur fonctionnant sur la Ce lien n'est pas visible, veuillez vous connecter pour l'afficher. Je m'inscris! qui aurait la taille la plus réduite possible (aujourd'hui il pèse 171 octets).

Les signes de base :

Ce lien n'est pas visible, veuillez vous connecter pour l'afficher. Je m'inscris!

Hello World!

Voici comment on affiche le message de base "Hello World!" en BF (BF = BrainFuck) :

++++++++++
[
>+++++++>++++++++++>+++>+<<<<-
]
>++.
>+.
+++++++.
.
+++.
>++.
<<+++++++++++++++.
>.
+++.
------.
--------.
>+.
>.

(Ah vous faites moins les malins maintenant :))
Plus sérieusement, voyons comment traduire ce code avec un exemple plus simple. Prenons le mot "Jour", le voilà en BF :

++++++++++
[>+>+++>+++++++>++++++++++<<<<-] 'boucle qui initialise tout ce qui peux être utile au programme'

>>>++++. 'J' (J vaut 74 donc 70 + 4)
>+++++++++++. 'o' (o vaut 111 donc 100 + 11)
++++++. 'u' (u vaut 117 donc 111 + 6)
---. 'r' (r vaut 114 donc 117 - 3)

Je sais déjà ce que vous allez me dire, "euh d'où tu sors les nombre des lettres ?". Et bien c'est simple, le BF transcrit tout en octet (décimal), pour lui une lettre n'est qu'une addition ou soustraction de plusieurs octets. (pour les valeurs décimales des lettres, rendez-vous Ce lien n'est pas visible, veuillez vous connecter pour l'afficher. Je m'inscris!)

Donc, prenons la lettre 'J':

>>>++++. (au début on incrémente 3 fois le pointeur) (après on ajoute des valeurs à l'octet pour qu'il corresponde à la valeur décimale de J) (et pour finir, le '.' fait entrer l'octet dans le programme)

Après si vous vous demandez pourquoi on doit incrémenter 4 fois l'octet de la valeur de 'J' et pas 5 ou 6, c'est comme ça.

Fin de la première partie, partie suivante bientôt.
Tuto non fini !

Par Vertebro
 
Last edited:

Nearyu

Programmeur
V
Sep 25, 2010
6,942
18
944
28
pour faire un programme en entier , on en as pour 10ans mais pour les "-" "_" etc... c'est comment ?