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 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 | RSS feed

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.

Source Distribution

ibf-0.1.tar.gz (6.4 kB view details)

Uploaded Source

Built Distribution

ibf-0.1-py3-none-any.whl (8.2 kB view details)

Uploaded Python 3

File details

Details for the file ibf-0.1.tar.gz.

File metadata

  • Download URL: ibf-0.1.tar.gz
  • Upload date:
  • Size: 6.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/39.1.0 requests-toolbelt/0.8.0 tqdm/4.26.0 CPython/3.5.2

File hashes

Hashes for ibf-0.1.tar.gz
Algorithm Hash digest
SHA256 442ab9eaa329da3d8da656c2c6337c6a43278b632d7c51bbfd13ac3b060df67b
MD5 2cf73ec157fa245af4c950e064935620
BLAKE2b-256 9bdb7d9494b51e449ee9e3b491312a87e59ef8e6cebb0c1905fe52c97e4773bf

See more details on using hashes here.

File details

Details for the file ibf-0.1-py3-none-any.whl.

File metadata

  • Download URL: ibf-0.1-py3-none-any.whl
  • Upload date:
  • Size: 8.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/39.1.0 requests-toolbelt/0.8.0 tqdm/4.26.0 CPython/3.5.2

File hashes

Hashes for ibf-0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 f6caa62cd0e2a9a4d7ef396b4732ad179a51a67217b096968910e7342f37e403
MD5 669e547291e5f025951b7dd0fb902f18
BLAKE2b-256 641d9f97d094f8006b58074aa1432c7150a523d396f0ade270d63ab18364b898

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page