Brainfuck est un langage minimaliste inventé par Urban Müller. Son nom
est un clin d'oeil aux langages dotés de "trop d'expressivité" pour
rappeler qu'avec seulement 8 instructions, il est possible de
construire un langage Turing-complet.
On peut s'interroger sur l'intérêt d'écrire du code en Brainfuck,
en réaliser un interpréteur (ou un compilateur) est un exercice
très intéressant.
Ce qui est demandé, c'est de réaliser un outil
capable de prendre en entrée une chaine de caractère représentant
une séquence de code Brainfuck et affiche sur la sortie standard
son résultat.
La difficulté principale repose sur les boucles imbriquées.
+++++++++++++++++++++++++++++++++++++++++++++++++.
++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.>.
+++++++++++
>+>>>>++++++++++++++++++++++++++++++++++++++++++++
>++++++++++++++++++++++++++++++++<<<<<<[>[>>>>>>+>
+<<<<<<<-]>>>>>>>[<<<<<<<+>>>>>>>-]<[>++++++++++[-
<-[>>+>+<<<-]>>>[<<<+>>>-]+<[>[-]<[-]]>[<<[>>>+<<<
-]>>[-]]<<]>>>[>>+>+<<<-]>>>[<<<+>>>-]+<[>[-]<[-]]
>[<<+>>[-]]<<<<<<<]>>>>>[+++++++++++++++++++++++++
+++++++++++++++++++++++.[-]]++++++++++<[->-<]>++++
++++++++++++++++++++++++++++++++++++++++++++.[-]<<
<<<<<<<<<<[>>>+>+<<<<-]>>>>[<<<<+>>>>-]<-[>>.>.<<<
[-]]<<[>>+>+<<<-]>>>[<<<+>>>-]<<[<+>-]>[<+>-]<<<-]