148 votes

Comment fonctionne réellement le Hello World de Brainfuck ?

Quelqu'un m'a envoyé ceci en affirmant qu'il s'agit d'un hello world en Brainfuck (et je l'espère...).

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

Je connais les bases, à savoir que ça fonctionne en déplaçant un pointeur et en incrémentant et décrémentant des trucs...

Pourtant, je veux toujours savoir comment cela fonctionne réellement. Comment imprime-t-il quelque chose à l'écran ? Comment le texte est-il codé ? Je ne comprends pas du tout...

2voto

Rahul Points 21

Je pense que ce que vous demandez est comment Brainfuck sait quoi faire avec tout le code. Il existe un analyseur syntaxique écrit dans un langage de plus haut niveau tel que Python pour interpréter la signification d'un point ou d'un signe d'addition dans le code.

Donc l'analyseur va lire votre code ligne par ligne, et dire ok il y a un symbole > donc je dois avancer l'emplacement mémoire, le code est simplement, si (contenu dans cet emplacement mémoire) == >, emplacement mémoire =+ emplacement mémoire qui est écrit dans un langage de plus haut niveau, de même si (contenu dans l'emplacement mémoire) == ".", alors imprimer (contenu de l'emplacement mémoire).

J'espère que cela vous éclairera. tc

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X