A Brainfuck Jit Interpreter, with a simple frontend written in pygame
Project description
bfpy
bfpy is a Brainfuck Jit Interpreter written in python.
Usage
usage: bfpy [-h] [-o] [-i INPUT] [-f FILE] [-g] [-j] [-r]
brainfuck visualizer
optional arguments:
-h, --help show this help message and exit
-o, --optimize turn on to enable optimize, note that only if ir was enabled will this option make sense
-i INPUT, --input INPUT
input to the program
-f FILE, --file FILE bf program
-g, --graphic turn on to enable visualize
-j, --jit turn on to enable jit(NOT compatible with graphic), with this on, you CANNOT pass input by argument, please use a pipe
-r, --ir turn on to enable ir
On graphic mode
Hold key left
to continuously execute step by step, release to stop;Keys up
and down
to scroll the output.Key space
to execute one_step, if you are curious.Press key j
, and input some number
, and press j
again to execute number
steps before display current status. While executing, screen won't be freshed so it's much faster than holding key left
. If you input nothing between two pressing j
, then vm will execute until end. Backspace in j
mode is supported.
Note that the graphic part is written with pygame, quick-and-dirty, by me drunk. You cannot expect too much from it.
License
bfpy is under LGPLv3, which is chosen by asking this web site, for I am not good at licensing. If I made things wrong, please let me know.
Requirements
This thing uses peachpy
and pygame
. pygame
can be installed directly via pip, while peachpy
needs manual installation(i don't know why but pip just didn't work as expected), the installation guide can be found here.
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
Built Distribution
File details
Details for the file bfpy-1.0.4.tar.gz
.
File metadata
- Download URL: bfpy-1.0.4.tar.gz
- Upload date:
- Size: 29.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c3e3707d240105dd9365124081f63a5448850df42a81c3bcc04f7130b90d29c3 |
|
MD5 | 947763221f58bb47d5a788757cd51bf4 |
|
BLAKE2b-256 | 4b4fdca6304ecb775ba380dde4ff40a404a0c7cb46c548008c69110367d02c0b |
File details
Details for the file bfpy-1.0.4-py3-none-any.whl
.
File metadata
- Download URL: bfpy-1.0.4-py3-none-any.whl
- Upload date:
- Size: 32.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 098f36bae1587cd12b5bb2ea472721de55254205565047ab6c6456fa45c8f777 |
|
MD5 | d9f2aab4ef8fc2489d6a8e9111336d8a |
|
BLAKE2b-256 | 4e148bd5afff802ae8ff70af2858179c1fbc535caa77c1df7ab16313efa6eb7e |