Interprète de cerveau écrit en C.
brainfuck [-veh] file...
-e --eval run code directly
-v --version show version information
-h --help show a help message.
La console interactive est accessible en ne faisant passer aucun argument.
Nous fournissons également une API C:
#include <stdio.h>
#include <stdlib.h>
#include <brainfuck.h>
int main () {
BrainfuckState * state = brainfuck_state ();
BrainfuckExecutionContext * context = brainfuck_context ( BRAINFUCK_TAPE_SIZE );
BrainfuckInstruction * instruction = brainfuck_parse_string ( ",+++++." );
brainfuck_add ( state , instruction );
brainfuck_execute ( state -> root , context );
brainfuck_destroy_context ( context );
brainfuck_destroy_state ( state );
return EXIT_SUCCESS ;
}Les exemples / répertoires contient une grande quantité de programmes d'exemples de cerveau. Nous avons essayé d'attribuer les auteurs originaux de ces programmes dans la mesure du possible.
Téléchargez le code source en exécutant le code suivant dans votre invite de commande:
$ git clone https://github.com/fabianishere/brainfuck.gitou prenez simplement une copie du code source en tant que fichier zip.
Créez le répertoire de construction.
$ mkdir build
$ cd buildBrainFuck nécessite Cmake et un compilateur C (par exemple Clang ou GCC) pour fonctionner. Il dépend également de Libedit, qui est disponible dans les principaux référentiels de la plupart des distributions Linux (par exemple en tant que lidit-dev sur Debian / Ubuntu) et est livré avec les outils de ligne de commande macOS Xcode. Ensuite, créez simplement les makefiles:
$ cmake ..Et enfin, construisez-le en utilisant le système de construction que vous avez choisi (par exemple, faire):
$ makeUne fois la construction terminée, vous pouvez installer les binaires sur votre système local (voir cmake_install_prefix pour plus d'informations sur le préfixe d'installation):
$ make installAlternativement, vous pouvez exécuter l'interprète directement sans installation, par exemple:
$ ./brainfuck ../examples/hello.bfLe code est publié sous la version 2.0 de la licence Apache. Voir licence.txt.
Fabian Mastenbroek https://github.com/fabianishere
aliclubb https://github.com/aliclubb
diekmann https://github.com/diekmann
SevenBits https://github.com/SevenBits
Alex Burka https://github.com/durka
outis https://github.com/outis
rien333 https://github.com/rien333
boweiliu https://github.com/boweiliu
Rotartsi https://github.com/ROTARTSI82
Saket Upadhyay https://github.com/Saket-Upadhyay
outis https://github.com/outis
Jalmari91 https://github.com/Jalmari91
Alok Singh https://github.com/alok
Lasse Damsgaard Skaalum https://github.com/humleflue