Skip to main content

An interactive BrainFuck interpreter

Project description

Interactive BrainFuck

An interactive BrainFuck interpreter written in Bython. Why not?

To install from source, you must first build the Bython source into a Python package:

$ make build

Then, you move to the python folder, and run the setup script:

$ cd python
$ sudo -H pip3 install .

After installation, you run an interactive session with the ibf command:

$ ibf 
Interactive BrainFuck - ibf v0.1

ibf is licensed under the permissive MIT license. Full license and
copyright information is available at the project's GitHub repository.

[Input] +[------->++<]>-.------------.--[--->+<]>--.+.+++[->+++<]>.+++++++++++++.[-->+++++<]>+++.[-->+++++++<]>.++.---.------------.-[--->+<]>----.+++[->+++<]>++.--[--->+<]>--.+.-----------.+++++.-------------.--[--->+<]>-.-----.+++.>++++++++++.
master procrastinator

Everything you input is interpreted as BrainFuck code, except for the following reserved keywords:

Command Description
tape Prints the current status of the tape (data cells), with the current cell in bold
pos Prints the current position on the tape
quit Quits the session
run <file> Run code from a file

You can also run prewritten BrainFuck code, either as a standalone program, or in an interactive session:

$ ibf test.bf
Hello World!
$ ibf 
Interactive BrainFuck - ibf v0.1

ibf is licensed under the permissive MIT license. Full license and
copyright information is available at the project's GitHub repository.

[Input] run test.bf
Hello World!

The run command always runs programs inline, ie the code is run on the current tape and with the current tape position as starting position. Thus, after running a program you can inspect the final state of the tape:

[Input] tape
 0 1  2   3  4  5  6 7 8
 0 0 72 100 87 33 10 0 0

For more help, type ibf -h or view the manual page by running man ibf.

Project details


Release history Release notifications

This version

0.1

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for ibf, version 0.1
Filename, size File type Python version Upload date Hashes
Filename, size ibf-0.1-py3-none-any.whl (8.2 kB) File type Wheel Python version py3 Upload date Hashes View hashes
Filename, size ibf-0.1.tar.gz (6.4 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page