Brainfuck interpreter and code generator
Switch branches/tags
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.



A Python package that provides a Brainfuck interpreter and code generator modules. It also provides command line utility.

Interpreting a Brainfuck code file is as easy as:

$ pybf -i

Or from standard input:

$ echo "+++++++++++." | pybf -i -

To generate Brainfuck code that will reproduce any content you supply:

$ echo "hello world" | pybf -g -


To install it using pip all you have to do is:

$ pip install pybf

To install it using the provided file, you'll need to install distutils first and then issue the following command:

$ python install

Usage details

The interpreter by default will reserve 30000 1-byte cells but you can change that by supplying the -s with the desired value.

The Brainfuck code generator by default reserves 16 cells, memory size here is a trade-off between optimizing (for size) between big and small input as with more reserved cells the bigger Brainfuck (loop) initialization code will be and less Brainfuck instructions to reproduce 1 byte. The opposite goes for increasing the number of reserved cells as the initialization code will be smaller but there will be more instructions to reproduce 1 byte.