Skip to main content

NeoBrainFuckInterpreter

NeoBrainFuckInterpreter is a Python interpreter for the Brainfuck programming language with additional commands for extended functionality.

Overview

This interpreter supports the basic Brainfuck commands (+, -, <, >, [, ], ., ,) and introduces three additional commands:

  • $: Switches IO mode to ASCII.
  • %: Switches IO mode to integers.
  • ^: Jumps to memory cell with address which equals the value of current memory cell.
  • &: Jumps to the instruction with address which equals the value of current memory cell.
  • 0: NOP (No operation)

The interpreter manages memory using a dynamic stack (MemoryStack), allowing for negative indices and dynamic memory expansion.

Usage

Installation

Clone the repository:

git clone https://github.com/kusrabyzarc/NeoBrainF--k.git
cd NeoBrainF--k

Interpreter args

code: [str] BrainFuck code
do_debug: [bool] print debug info (default: False)
vanilla_cell_behaviour: [bool] clamp the values in memory to the range 0-255 (default: False)
vanilla_memory_stack: [bool] use static 30k-sized memory stack instead of dynamic one (default: False)

Examples

You can find examples here.
In progress.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Metadata

Release files for neobrainfuck 1.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for neobrainfuck 1.1.0
File Size Uploaded
neobrainfuck-1.1.0.tar.gz 4.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for neobrainfuck 1.1.0
File Interpreter ABI Platform
neobrainfuck-1.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 10.1 kB

Release files / neobrainfuck-1.1.0.tar.gz

Download URL neobrainfuck-1.1.0.tar.gz
Size 4.8 kB
Tags Source
SHA-256 checksum
How to use checksums
8af4f68472e80577465a1b3be49acd35fb6c7dbd2f5c853eaa91e23ded8b9a72
BLAKE2b-256 checksum
How to use checksums
85127d4eec8386928e64635346269da6e161e2d4f98280144c992a8d9eb4f342
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.12.2

Release files / neobrainfuck-1.1.0-py3-none-any.whl

Download URL neobrainfuck-1.1.0-py3-none-any.whl
Size 5.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
801157532617d2bff378724abe72d9db92dad24b5b3fe6fa84d431266cfddc43
BLAKE2b-256 checksum
How to use checksums
9934b08ec8629a4507d965a872df9027fd0835f6a4c85e4d3cc9885983740625
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.12.2

Release history Release notifications | RSS feed

This release

1.1.0 This release

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page