https://github.com/timvisee/brainfuck-rs-quick
A quick Brainfuck interpreter in Rust
https://github.com/timvisee/brainfuck-rs-quick
brainfuck brainfuck-interpreter brainfuck-parser rust
Last synced: about 2 months ago
JSON representation
A quick Brainfuck interpreter in Rust
- Host: GitHub
- URL: https://github.com/timvisee/brainfuck-rs-quick
- Owner: timvisee
- License: gpl-3.0
- Created: 2018-01-03T21:51:04.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2023-04-03T19:42:03.000Z (over 3 years ago)
- Last Synced: 2025-03-12T00:34:42.538Z (over 1 year ago)
- Topics: brainfuck, brainfuck-interpreter, brainfuck-parser, rust
- Language: Rust
- Size: 81.1 KB
- Stars: 2
- Watchers: 2
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
# Quick brainfuck interpreter in Rust
[→ See simple implementation][simple]
**Note:** the base implementation is already working.
The optimization procedure is still a work in progress though.
---
A quick [brainfuck][brainfuck] interpreter implemented in the [Rust][rust] language.
This implementation is focussed on being as quick as possible.
This is my approach of building a quick interpreter, I'm sure there are quicker
interpreters out there.
## Usage
For installation, Git and Rust cargo are required.
Install the latest version of Rust with [rustup][rustup].
```bash
# Clone the project
git clone https://github.com/timvisee/brainfuck-rs-quick.git
cd brainfuck-rs-simple
# View help
cargo run --release -- --help
# Run a program
cargo run --release -- programs/hello_world.b
# Test
cargo test
```
## Help
```
brainfuck-rs-quick --help
brainfuck-rs-quick 0.1
Tim Visée
A quick brainfuck interpreter in Rust.
USAGE:
brainfuck-rs-quick [FLAGS]
FLAGS:
-b, --buffer Buffer output until the program is finished
-d, --describe Describe interpreted and optimized program logic
-h, --help Prints help information
--pretty Pretify described program logic
-p, --profiler Enable the profiler to interpreter stages
-V, --version Prints version information
ARGS:
Brainfuck file to interpret
```
## License
This project is released under the GNU GPL-3.0 license.
Check out the [LICENSE](LICENSE) file for more information.
[rust]: https://rust-lang.org/
[rustup]: https://rustup.rs/
[brainfuck]: https://en.wikipedia.org/wiki/Brainfuck
[simple]: https://github.com/timvisee/brainfuck-rs-simple