Intérprete do Brainfuck escrito em C.
brainfuck [-veh] file...
-e --eval run code directly
-v --version show version information
-h --help show a help message.
O console interativo pode ser acessado sem argumentos.
Também fornecemos uma 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 ;
}Os exemplos/ diretório contém uma grande quantidade de programas de exemplo de fuga cerebral. Tentamos atribuir os autores originais desses programas sempre que possível.
Faça o download do código fonte executando o seguinte código em seu prompt de comando:
$ git clone https://github.com/fabianishere/brainfuck.gitou simplesmente pegue uma cópia do código -fonte como um arquivo zip.
Crie o diretório de compilação.
$ mkdir build
$ cd buildO Brainfuck requer CMake e um compilador C (por exemplo, CLANG ou GCC) para executar. Também depende do LBEDIT, que está disponível nos principais repositórios da maioria das distribuições Linux (por exemplo, como Libedit-Dev no Debian/Ubuntu) e vem com as ferramentas de linha de comando do MacOS Xcode. Em seguida, basta criar os makefiles:
$ cmake ..E, finalmente, construa -o usando o sistema de construção que você escolheu (por exemplo, make):
$ makeDepois que a construção terminar, você pode instalar os binários no sistema local (consulte Cmake_install_prefix para obter informações sobre o prefixo de instalação):
$ make installComo alternativa, você pode executar o intérprete diretamente sem instalação, por exemplo:
$ ./brainfuck ../examples/hello.bfO código é liberado no Apache License versão 2.0. Veja License.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