Brainfuck implementations

From Esolang
Jump to: navigation, search

This is a list of brainfuck implementations.

Normal implementations

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 (dead link) - 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) (dead link) is another Javascript based compiler with a "code kitchen" to archive community programs.
  • Le Brainfuck (from the Wayback Machine; retrieved on 4 April 2012) - 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 David Catt (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 (User:Maxdefolsch). 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 Ada, X86 assembly, Arduino, bash-script, c++, c#, cobol, go, java, javascript, lua, pascal, perl 5/6, php, python, ruby and sdlbasic compiler.
  • AshBF is a fast optimizing brainfuck interpreter based on a virtual machine written in C++ that supports Extended Type I.
  • 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.

Implementations including Hardware

  • The Brainf*ck CPU Project is a VHDL implementation of a brainfuck CPU
  • BFCPU An FPGA-targeting brainfuck processor design, "implemented" in Python with MyHDL.