#optimization #compiler #brain

bin+lib brain-brainfuck

Brainfuck interpreter companion to the brain programming language

6 stable releases

Uses old Rust 2015

1.3.0 Apr 28, 2017
1.2.0 Apr 19, 2017
1.1.2 Apr 18, 2017
1.1.1 Feb 26, 2017
1.0.0 Feb 13, 2017

#20 in #brain

MIT license

130KB
905 lines

brainfuck

Crates.io Crates.io Build Status codecov Gitter

brainfuck is an esoteric programming language with 8 very simple instructions.

The brain compiler only officially targets this brainfuck interpreter. You may experience varying results with other brainfuck interpreters/compilers. There really isn't a definitive spec on how brainfuck should behave so it is just easier to have a static compilation target that won't vary in how it behaves.

A brainfuck specification for this brainfuck interpreter is available in the brainfuck.md file.

Installation

For people just looking to use brainfuck, the easiest way to get it right now is to first install the Cargo package manager for the Rust programming language.

Then in your terminal run:

cargo install brain-brainfuck

If you are upgrading from a previous version, run:

cargo install brain-brainfuck --force

Usage

For anyone just looking to run brainfuck code with the interpreter:

  1. Follow the installation instructions above
  2. Run brainfuck yourfile.bf to run a brainfuck interpreter which will run your generated brainfuck code

For anyone looking to work with the interpreter source code:

To run brainfuck programs:

cargo run --bin brainfuck -- filename

where filename is the brainfuck program you want to run

Make sure you have rust and cargo (comes with rust) installed.

Examples

There are various brainfuck examples in the examples/ directory which you can run with the brainfuck interpreter using the instructions above.

Dependencies

~0.4–9.5MB
~56K SLoC