Brainfuck implementations

__FORCETOC__
This is a list of brainfuck implementations.
==Normal implementations==
* An online interpreter with a debugger, also provides a cross-platform package with an ANSI terminal or a DOS console.
* A configurable interpreter that can use files instead of the console written in C++
* An online interpreter written in JavaScript
* BrainF.Net by erwijet is a flexible library written in Microsoft's C#.NET for executing brainfuck, which can be simply modified for adding one's own commands, or making a spin-off language.
* Original distribution by Urban Müller from the AmiNet archive. Includes interpreter and compiler for the Amiga. The interpreter can be compiled with gcc by removing line 43, which says chkabort();. The associated readme file might also have some historical interest.
* Visual brainfuck, a brainfuck IDE compatible with Windows 7 x86 and x64.
* BlueFern is the first (2003) Brainfuck IDE. Supports conversion to arbitrary languages, graphical view of the stack, compiling to .exe or TI-89 graphing calculator assembly, step-through debugging, syntax highlighting, optimized compiling, and other features. 
* A brainfuck compiler for the Parrot Virtual Machine.
* Brainfuck Developer is a comprehensive Brainfuck IDE for Windows supporting pbrain.
* Brainfuck Machine - is a Brainfuck IDE for Windows with build-in compiler, converter to Perl, C, Pascal, Delphi and other features.
* Online Brainfuck Interpreter made with PHP.
* made with PHP5 (archive.org lacks the CSS).
* 
* 
* YABI a very simple Brainfuck interpreter written in C.
* A Brainfuck compiler and editor for Windows. 
* A Brainfuck interpreter written in Ruby.
* BF Programs Java BF debugger, Basic compiler, bootstrapped assembler, genetic text generation.
* Brainfuck for Pharo is a Smalltalk implementation written in Pharo (but also Squeak compatible) by Bernat Romagosa.
* Brainfuck debugger, another online interpreter, with step by step debugging.
* . May also work with other HP calculators.
* Brainfuck interpreter in Redcode.
* The Brainf*ck Compiler Project. Assembler and C-like language that both compile to BF. (hijacked: www.clifford.at/bfcpu/bfcomp.html)
* BEF*, the Brain Editor And Fucker, which is a BF interpreter written for TECO. The slim documentation can be found here and the commented version of the source here.
* iHeadAche is an implementation of Brainfuck for PalmOS.
* FuckBrainfuck. A language that compiles directly to brainfuck.
* RCBF, a set of Brainfuck interpreters and compilers written in different languages.
* Naerian's Brainfuck, a superset of BF with some special functionalities like Pbrain-like procedures, randomizing a cell value etc.
* - an obfuscated brainfuck interpreter written in C. The actual brainfuck code is on the line starting with #define b, inside the strings.
* Aradia's Online qBrain Interpreter. 
* esco - universal interpreter of esoteric languages.
* A tiny (600B) BF interpreter.
* Big Python 300 (BFP300) -- A 300B BF interpreter written in Python.
* BF6502A2 - A nano 135 byte (!) Brainfuck interpreter for the Apple ][ //e.
* Erlang Brainfuck Interpreter - An interpreter written in Erlang, with unbounded memory left and right, using a formal grammar for yecc.
* - Another interpreter written in Erlang, supporting way too many options.
* BrainFlash, the AS3 Brainfuck interpreter - A Brainfuck interpreter written in ActionScript3 as a class that can be used for ByteArray manipulation. It can only take static inputs.
* 
* Brainfuck interpreter written in DLX, a simplified assembly language for Computer Science courses.
* hxBF Brainfuck interpreter written in haXe, which can be compiled to Flash/JS/PHP/C++/neko.
* BF2C, a Brainfuck to C compiler by User:Madk.
* Mindfuck, a Brainfuck interpreter, written in Python.
* esolang, Brainfuck interpreter for iphone written in objective C. 
* Hugi Size Coding Compo #6, various tiny Brainfuck interpreters for MS-DOS, the smallest one having only 98 bytes (the file is INT-E/ENTRY.COM).
* Brainfuck Java, an interpreter for the Brainfuck language and its dialects written in the Java programming language.
* Fudging up a Racket, a Racket implementation of a Brainfuck compiler for Racket, along with a tutorial on Racket's language extension layer.
* HsBfC , a Brainfuck to C compiler written in Haskell.
* Brainfuck, an interpreter for the Brainfuck language written in the C language.
* Brainfuck MediaWiki Extension, an implementation as extension for MediaWiki platform (also can be used in any PHP application).
* Brainfuck IDE, a web-based interpreter/debugger coded in Javascript.
* LuaBrainFuck, a Brainfuck interpreter in Lua, with optional support for Morse and bracket syntaxes, and special quine support.
* , bffsree_ref is a fast simple reference implementation with source, and binaries for Windows and Linux.
* bfer, bfer is a Brainfuck to LLVM compiler written in Erlang.
* BF Compiler Tutorial A brainfuck compiler tutorial using LLVM written in C++.
* A BF compiler with source code. Creates x86 executables for Linux from BF source code. May be portable to other platforms.
* Portable Brainfuck Compiler for Linux and others.
* BF for WP is a visual brainfuck interpreter for Windows Phone. Source code for the app is available.
* Brainwash is a brainfuck interpreter for Windows Phone which supports step by step execution and breakpoints.
* shellfuck A brainfuck interpreter written in shell script.
* zxBrainfuck An interpreter written in Z80 Assembly for the ZX Spectrum.
* Brainfucked A Brainfuck interpreter written in JavaScript with optional minor optimizations.
* GoFuck A Brainfuck interpreter written in Go.
* bfng ( aka Brainfuck-ng ) is a powerful interpreter of a superset of brainfuck language. It is full compatible with brainfuck, and has in addition some enhancements.
* Brainfuck interpreter online written in JavaScript with nice library of programs.
* An interpreter in C, written to exploit the auto-growing stack space on Linux x86/64 in an entirely undefined and illegal manner which nonetheless happens to work with several compiler/computer combinations.
* An interpreter written in msp430 assembly which runs in the MicroCorruption simulation game.
* An interpreter written in 26 lines of J, excluding comments.
* TIBrain is a interpreter that runs Brainfuck on the TI graphing calculators.
* brainfuck is a simple brianfuck interpreter written in c.
* Brainfuck interpreter written in C#
* bf core is compact (69 bytes) brainfuck core implementation written in x86 asm.
* BFCompile is a compiler that compiles BF code into a binary executable using gcc and Ruby.
* Hugi Size Coding Competition #6 - The "Brainf*** Interpreter" Compo, golfed Brainfuck implementations
* bfinterpreter A brainfuck interpreter written in Java with 3 modes of operation - file-mode, debug-mode and repl-mode.
* Win32 Compiler is a simple C implementation that directly produces windows executable.
* Perl implementation in MirBSD base, originally by Marko Nippula, fixed by mirabilos (documentation)
* BF IDE, commercial Brainfuck IDE for Mac OS
* Interpreter in SQLite by Gary Briggs from 2018-02.
* My own interpreter by User:Asdf. It is quite short. (24 lines) Need help? Enter your code in the "" s.
* An improved version by User:A. It has a larger int memory, and it has 19 lines. Enter your code in the ""s.
* Try Brainfuck is a very simple online interpreter.
* A TI-BASIC interpreter for the TI-84 series of graphing calculators, buildable with SourceCoder and then transferrable to a calculator with TI-Connect or a similar program.
* An implementation as a cellular automaton using unary stacks for the data and input tapes. Follow the instructions at the top of the gist to use.
* Obfuscated Brainfuck to C Compiler which generates obfuscated C code. (Code size: 307B) Enter code in console.
* implementation written in 2624 lines of C.
* interpreter written in 112 bytes of Binary Lambda Calculus.
* interpreter written in bitch by Bertram Felgenhauer.
* pg_brainfuck written in PostgreSQL plpgsql by Sean Huber.
* BrainF*ck Designer by Antfs10
* Smallest (167 bytes) Brainf*ck interpreter written in Python by zax2002
* Brainfuck Runner written in C# by Nikolay Reshetinsky
* Brainfuck in Minim written in Minim by KakkoiiChris (Esolang-ception!)
* Brainoof Interpreter, written in Lua, running on Roblox, by MiguelEX3
* BrainfuGD, a Brainfuck implementation made by Spu7nix within the editor of Geometry Dash, a music-based run-and-jump game.
* Oh No, Another Bunch of BrainF*ck Emulators: Python library of brainf*ck interpreters that can be customized via creation parameters. Things like rollback behavior, negative acceptance, data value, etc. can be decided by the user, allowing more 'unusual' brainf*ck interpretations. There is an esolang page for it.
* Brainfuck Python interpreter is an extremely slow interpreter in Python by User:None1.
* Brainfuck JavaScript interpreter is a JavaScript interpreter in JavaScript by User:None1.
* Brainfuck Powershell interpreter is an interpreter in Powershell by User:None1.
* Interpret Esolangs Online (esolang page here) is an online interpreter for various languages, including brainfuck.
* Another interpreter in SQLite This is another implementation in SQLite using recursive CTEs, done in 2016-10.
* Interpreter in XSLT This is an interpreter in XSLT, using tail recursion. Code and input data are supplied in a XML file.
* Interpreter in Scratch This is a Brainfuck interpreter in Scratch. It executes a hello world example.
* GNU Guile includes compilers from brainfuck to Guile Scheme and to Guile's Tree-IL. It can be used with guile --language=brainfuck or with ,L brainfuck from the REPL.
* brainfuck interpreter in Python, in one expression without exec and eval, documentation in Chinese.
* User:Jan jelo/a BF interpreter in Uiua a interpreter in Uiua.
* User:Jan jelo/a BF interpreter in Haskell a interpreter in haskell
* Infrabuck, a Brainfuck compiler for Win32 by mitxela
==Optimizing implementations==
* Also Written In Brainfuck (Awib) is an optimizing brainfuck compiler written in brainfuck for Linux on i386.
* bfc has a very large suite of optimizations and compiles using LLVM
* bfca is an optimizing Brainfuck compiler, targeting ARM devices, outputting optimized code with as few memory accesses as possible. It is itself written in ARM assembly, and works with all ARMv6 - ARMv8 devices with a C library.
* Optimizing BF interpreter is a very fast C interpreter, fastest in its class.
* Moderately-optimizing BF interpreter is a portable C interpreter, second fastest in its class.
* BF Online, an optimizing brainfuck interpreter made with Javascript.
* bfdb, an optimizing Brainfuck interpreter, debugger and compiler.
* Hamster - a highly optimizing, well-commented, modular BF compiler written in Scheme, currently compiling to 6 different target languages (C, Java, MIPS, x86 Masm, LLVM, IR).
* Debuggable Brainfuck interpreter is a fast interpreter and compiler, it can output debug information at runtime.
* C Translator - A flexible brainfuck to ANSI C translator. It tries to optimize rendered code (in case your compiler doesn't).
* Optimizing i386 Brainfuck Compiler - An Optimizing i386 Brainfuck compiler (GNU Assembler/YASM compatible code generator) and Brainfuck interpreter written in C.
* Esotope Brainfuck compiler is an optimizing Brainfuck-to-C compiler written in Python, which performs several state-of-the-art optimizations.
* BF to COM compiler is an optimizing Brainfuck to COM executables compiler. With safe "<" and ">" operators. Written in C++. Sources included.
* Brainfuck (Devbar) is another Javascript based compiler with a "code kitchen" to archive community programs.
* El Brainfuck - yet another interpreter written in Javascript. Optimizes the code and runs it in a worker thread -> no browser lag.
* FBI is an optimizing brainfuck interpreter by user:David.werecat. C sources and binaries for Windows and Linux (both 32 and 64 bit) are included.
* bffsree is a faster optimizing brainfuck interpreter by Sree Kotay (user:Sreekotay). Binaries for Windows and Linux are included.
* bf-li is a moderately optimizing yet very fast brainfuck interpreter by Laurent Vogel (user:lvogel), which compiles bf to assembler code at runtime using the GNU lightning library.
* Beefit is an optimizing, fast brainfuck JIT interpreter by Ryan Hitchman which creates machine code at runtime using DynASM.
* ssbi is an optimizing, fast brainfuck interpreter which performs most of state-of-the-art optimizations. It is fully written in Scala and its source code is available.
* deadbeef is a small but rather quick interpreter in pure ANSI-89 C.
* Tritium is a very heavily optimising (for brainfuck) Interpreter/Compiler/JIT runner that outperforms the rest (only libbf is close). Uses DynASM and/or GNU Lightning (v1 or v2) if available; eg: on Linux, FreeBSD, x86, amd64, powerpc etc. (Also Windows)
* libbf, a library containing several interpreters, compilers and optimizers.
* SBFI (Simple BrainFuck Interpreter) is a simple, yet very fast interpreter written in C by Maxime Rinoldo. It is currently one of the fastest (non-JIT) Brainfuck interpreters.
* JFlick is a very fast interpreter written in Java which performs many advanced optimizations.
* Najtingalo is an optimizing Brainfuck to JavaScript compiler written in JavaScript.
* This page has a brainfuck to 6502 assembly (commodore 64) Ada, X86 assembly, ARM assembly, Arduino, bash-script, c++, c#, cobol, go, java, javascript, lua, Z80 assembly (MSX), pascal, perl 5/6, php, pl/1, python, ruby, rust, scala and sdlbasic compiler.
* AshBF is a very fast C++17 Brainfuck interpreter and compiler. It has several AOT code generators and a fast IR VM.
* brainwebfuckassembly converts brainfuck to webassembly which is the JITed by the browser
* Jelly is another optimizing Brainfuck to WebAssembly compiler written in JavaScript which runs natively in the browser.
* BrainfuckCE, an interpreter and native JIT compiler written in C for the TI-84 Plus CE graphing calculator.
* BF2SB is an optimizing brainfuck compiler for SmileBASIC 4.
* BFVM is an optimized brainfuck interpreter that uses a VM to run faster.
* YABFC is an optimizing brainfuck compiler written in C with no dependencies that directly outputs an ELF executable.
* bfcompile is a highly optimizing yet simple brainfuck compiler written in C that outputs x86_64 assembly code.
* https://github.com/VorpalBlade/brainoxide optimizing compiler by Vorpal
* powerpc-bf is a brainfuck compiler targeting PowerPC with Linux or kFreeBSD as kernel. It supports some basic optimizations, as well as generation of minimal debugging information.
* jitbf is a brainfuck JIT interpreter in Python by User:None1.
* An optimizing, non-JIT interpreter in C++ by User:None1.
* BrainFExec is a compiler from brainfuck to Windows executable written in C# by .
* bfci is a simple, small, moderately optimizing compiling interpreter targeting Linux x86-64.
* brainfuck-php is a fast, optimizing brainfuck parser & interpreter written in PHP by Jonas Geiler.
* bfi is an optimized implementation in Python by Eric Nyquist. It is perhaps the fastest known Python interpreter for the language.
* LazFuck - a GUI application for writing, executing, compiling and debugging programs written in famous BrainFuck esoteric programming language. It can compile to various other programming languages.
* Andrew Brown wrote an unnamed Brainfuck interpreter for a tutorial on the RPython JIT toolkit. Corbin maintains an optimized version which is about 35% faster. This interpreter is available with Nix flakes as `github:rpypkgs/rpypkgs#bf`.
* Brainfuccuccino is a Java scripting engine which allows brainfuck programs to be embedded and run in Java applications. It includes interpreted and optimized implementations, with the latter which compiles brainfuck programs to run on a purpose-written VM for faster execution.
==Implementations including Hardware==
* The Brainf*ck CPU Project is a VHDL implementation of a brainfuck CPU. (hijacked: www.clifford.at/bfcpu/bfcpu.html)
* BFCPU An FPGA-targeting brainfuck processor design, "implemented" in Python with MyHDL.
* TinyDumbCPU is a SystemVerilog brainfuck core
* The Brainfuck Computer is a tiny interpreter written in assembler and burnt into the 64 byte ROM of a PIC16F84A.
* BrainDuino - Atmel based Brainfuck physical computer is a brainfuck interpreter in C with an Arduino CPU
* BrainfuckPC Relay Computer
* Logic BF is a brainfuck computer made in schematics with logiccircuit
==See also==
* brainfuck speed test
Category:brainfuck Category:Implementations