Skip to main content

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
    return ord(sys.stdin.read(1)) % 256
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 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

simple_brainfuck-0.1.0.tar.gz (3.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

simple_brainfuck-0.1.0-py3-none-any.whl (4.6 kB view details)

Uploaded Python 3

File details

Details for the file simple_brainfuck-0.1.0.tar.gz.

File metadata

  • Download URL: simple_brainfuck-0.1.0.tar.gz
  • Upload date:
  • Size: 3.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.3.2 CPython/3.13.12 Windows/11

File hashes

Hashes for simple_brainfuck-0.1.0.tar.gz
Algorithm Hash digest
SHA256 7c9d02c87907fa30de3823a1684f541813c6ce72cd32649b1d6ed30a02f531ea
MD5 c5e8c2c9cc11ee81fc8752dec12da6f3
BLAKE2b-256 53e6bf963ce9b917cddfccc28e341bbc05ffe904ff58e112cd0bc4b0dee2fbd1

See more details on using hashes here.

File details

Details for the file simple_brainfuck-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: simple_brainfuck-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 4.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.3.2 CPython/3.13.12 Windows/11

File hashes

Hashes for simple_brainfuck-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 335a2caf93c7e1e8561ff83e89483983790cd5adcc9f52302ead7656ddffbf4e
MD5 a59e0519e62d94dbb8874f1fbfe4c7b7
BLAKE2b-256 f9bbba7575ac9fbe375452b2524aad75b6bece329645da08445f8cfd55bc7351

See more details on using hashes here.

Supported by

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