Skip to main content

Just a nice little brainfuck interpreter in Python.

Project description

Just a nice little brainfuck interpreter in Python.

Nope! This is brainfuck-fuck. You know there’s C, then C+, then C++? Well, there’s brainfuck, and now there’s brainfuck-fuck. Brainfuck-fuck is supposedly backwards compatible. So therefore this:

+++++++ [ > ++++++++++ < - ] > ++ . [-]<[-] ++++++++++ [ > ++++++++++ < - ] > +++++ .

does exactly the same thing as this:


besides the fact that the first one uses two cells while the second uses one.

A full list of additions:

  • The = command. This sets the current cell’s value to the ASCII value of the character after the =. Therefore =H sets the cell to 72 (the ASCII value of H).
  • An if/else statement! The syntax is ? (code) : (code) !. When a ? is reached, it checks the current cell. If the current cell is 0, it skips to the corresponding :. Otherwise, it continues on until the :, then skips to the !. Thus + ? =Y : =N ! . prints out “Y” while ? =Y : =N ! . prints out “N”.
  • Functions! To define a function, use (@ symbol)(single ASCII character)(code)(pipe, |), e.g. @F+++++| (which simply adds 5). To call a function, use a caret (^) and then the ASCII character used to name the function, e.g. ^F (which calls the previously defined function F, thereby adding 5).

Project details

Download files

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

Source Distribution

brainfuck-fuck-2020.5.11.tar.gz (4.2 kB view hashes)

Uploaded source

Built Distribution

brainfuck_fuck-2020.5.11-py3-none-any.whl (6.0 kB view hashes)

Uploaded py3

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page