Brainfuck Dolmetscher geschrieben in C.
brainfuck [-veh] file...
-e --eval run code directly
-v --version show version information
-h --help show a help message.
Die interaktive Konsole kann durch Übergeben ohne Argumente zugegriffen werden.
Wir bieten auch eine C API:
#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 ;
}Die Beispiele/ Verzeichnisse enthält eine große Menge an Brainfuck -Beispielprogrammen. Wir haben versucht, die ursprünglichen Autoren dieser Programme nach Möglichkeit zuzuschreiben.
Laden Sie den Quellcode herunter, indem Sie den folgenden Code in Ihrer Eingabeaufforderung ausführen:
$ git clone https://github.com/fabianishere/brainfuck.gitOder holen Sie sich einfach eine Kopie des Quellcode als ZIP -Datei.
Erstellen Sie das Build -Verzeichnis.
$ mkdir build
$ cd buildBrainfuck benötigt CMake und einen C -Compiler (z. B. Clang oder GCC), um zu laufen. Es hängt auch von Libedit ab, das in den Hauptrepositorys der meisten Linux-Verteilungen erhältlich ist (z. Erstellen Sie dann einfach die Makefiles:
$ cmake ..und schließlich bauen Sie es mit dem von Ihnen ausgewählten Gebäudesystem auf (z. B. machen):
$ makeNach Abschluss des Builds können Sie die Binärdateien in Ihrem lokalen System installieren (siehe cmake_install_prefix für Informationen zum Installationspräfix):
$ make installAlternativ können Sie den Interpreter beispielsweise direkt ohne Installation ausführen:
$ ./brainfuck ../examples/hello.bfDer Code wird unter der Apache -Lizenzversion 2.0 veröffentlicht. Siehe Lizenz.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