a very simple brainfuck interpreter.
Project description
simple_brainfuck
a very simple brainfuck interpreter.
Install
pip install simple-brainfuck
Python Usage
import simple_brainfuck
# simple usage
bf_program = "++++++++[>++++[>++>+++>+++>+<<<<-]>+>+>->>+[<]<-]>>.>---.+++++++..+++.>>.<-.<.+++.------.--------.>>+.>++."
mem, time_cost = simple_brainfuck.run(bf_program)
# run with input, output hook
# through memory_status,you can access the program memory space
def input_hook(memory_status:dict[int, int]) -> int:
import sys
try:
return ord(sys.stdin.read(1)) % 256
except:
return 255
def output_book(memory_status:dict[int, int], c:int):
print(chr(c), end="")
simple_brainfuck.run(bf_program, input_hook=input_hook, output_hook=output_hook)
# run program, finally output the memory statue
simple_brainfuck.run(bf_program, show_memory=True)
# run program, finally output time cost
# time cost does not include preprocessing time, just program running time
simple_brainfuck.run(bf_program, show_time=True)
CLI Usage
# run in CLI mode
python3 -m simple_brainfuck
# run file as program
python3 -m simple_brainfuck <filepath.bf>
# run file, output time cost
python3 -m simple_brainfuck <filepath.bf> --show-time
python3 -m simple_brainfuck <filepath.bf> -t
# run file, output final memory status
python3 -m simple_brainfuck <filepath.bf> --show-memory
python3 -m simple_brainfuck <filepath.bf> -m
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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file simple_brainfuck-0.1.5.tar.gz.
File metadata
- Download URL: simple_brainfuck-0.1.5.tar.gz
- Upload date:
- Size: 4.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.3.2 CPython/3.13.12 Windows/11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f35a59237b965a56fb97d23789d322392cb12b9415089ef535ae98da133f90ce
|
|
| MD5 |
03004371e40a0754b1df44dbba2bdcd0
|
|
| BLAKE2b-256 |
d7f656e74baed6438c3fa8e559b85c977b1ab2ff505f9d9a3fd55ad9890fae02
|
File details
Details for the file simple_brainfuck-0.1.5-py3-none-any.whl.
File metadata
- Download URL: simple_brainfuck-0.1.5-py3-none-any.whl
- Upload date:
- Size: 5.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.3.2 CPython/3.13.12 Windows/11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
87b8f8192a42589dd96a1c81a39390c58dd1b32c31c18f46ec7e82b8d1d26e5c
|
|
| MD5 |
825d69bd0c7b6ce157fe43bf767ac009
|
|
| BLAKE2b-256 |
eb4562f03028160522211c8cb1a26116b08b6f15bc0953da4d6e23b25915549d
|