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

simple_brainfuck-0.1.3.tar.gz (3.9 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.3-py3-none-any.whl (5.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: simple_brainfuck-0.1.3.tar.gz
  • Upload date:
  • Size: 3.9 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.3.tar.gz
Algorithm Hash digest
SHA256 92c5a3269b505de3f39c197816aab7c7d5413d4f9c5958767194e48bb8ddcd8e
MD5 0483435266586fe73fbf1bfdd6e2ee77
BLAKE2b-256 6fac8670b216638d88ce8c6dc07de9f4f331ff5c800f3a4ec90ced81228c07a5

See more details on using hashes here.

File details

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

File metadata

  • Download URL: simple_brainfuck-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 5.0 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.3-py3-none-any.whl
Algorithm Hash digest
SHA256 b1dbfd5e1e8ea4b9925ab58d3e0ffa2e42e48db90403079046cdc67404043c7a
MD5 dd5ca3f3c0839615860c2892e53c6421
BLAKE2b-256 9418695f7fd34c076d2e0ff5f893f761ff59cf3c54ecf5083bb0b30b8c395ea9

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