Brainfuck intérprete escrito en C.
brainfuck [-veh] file...
-e --eval run code directly
-v --version show version information
-h --help show a help message.
Se puede acceder a la consola interactiva sin pasar argumentos.
También proporcionamos una 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 ;
}Los ejemplos/ directorio contienen una gran cantidad de programas de ejemplo de Brainfuck. Hemos tratado de atribuir a los autores originales de estos programas cuando sea posible.
Descargue el código fuente ejecutando el siguiente código en su símbolo del sistema:
$ git clone https://github.com/fabianishere/brainfuck.gito simplemente tome una copia del código fuente como un archivo zip.
Crea el directorio de compilación.
$ mkdir build
$ cd buildBrainfuck requiere CMake y un compilador C (por ejemplo, Clang o GCC) para ejecutar. También depende de Libedit, que está disponible en los principales repositorios de la mayoría de las distribuciones de Linux (por ejemplo, como Libedit-Dev en Debian/Ubuntu) y viene con las herramientas de línea de comandos MacOS XCode. Entonces, simplemente cree los makingfiles:
$ cmake ..Y finalmente, construya con el sistema de construcción que elija (por ejemplo, hacer):
$ makeUna vez que se haya terminado la compilación, puede instalar los binarios en su sistema local (consulte CMAKE_INSTALL_PREFIX para obtener información sobre el prefijo de instalación):
$ make installAlternativamente, puede ejecutar el intérprete directamente sin instalación, por ejemplo:
$ ./brainfuck ../examples/hello.bfEl código se publica bajo la Licencia Apache Versión 2.0. Ver licencia.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