brainfuck implementations

From Esolang
Jump to navigation Jump to 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.
  • (dead link) 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.
  • 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 None1.
  • 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. [3] [4] Corbin maintains an optimized version which is about 35% faster. [5] This interpreter is available with Nix flakes as `github:rpypkgs/rpypkgs#bf`.

Implementations including Hardware

See also