https://github.com/tecc/brainfuck
The most well-known of programming's tarpits.
https://github.com/tecc/brainfuck
Last synced: 2 months ago
JSON representation
The most well-known of programming's tarpits.
- Host: GitHub
- URL: https://github.com/tecc/brainfuck
- Owner: tecc
- License: mit
- Created: 2024-04-18T02:02:03.000Z (about 2 years ago)
- Default Branch: dev
- Last Pushed: 2024-08-01T15:19:42.000Z (almost 2 years ago)
- Last Synced: 2025-01-28T09:51:28.160Z (over 1 year ago)
- Language: Rust
- Size: 32.2 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Brainf*ck Interpreter
Made using Rust.
It has an interactive UI made using ratatui/crossterm.
The interactive UI takes up the bulk of the codebase (the runtime itself is only `src/runtime.rs`, about 200 lines).
## Usage
```
brainfuck [--mode default|dump|debug|interactive] [--stdin] [code]
```
### `--mode`
Sets the mode to execute code in.
#### `default`
Default mode.
Will simply execute the code supplied, no funny business.
#### `dump` (in progress)
Dumping mode.
Executes the code and prints a dump at the end.
#### `debug` (in progress)
Debug mode. Very verbose.
Executes the code and prints a lot of lines of debug information - good luck getting the program's output out of there.
Prints a dump at the end as well.
#### `interactive` (in progress)
Interactive UI. The staple of this project.
Loads the code and will show execution in real time, but slowed down a _lot_.
### `--stdin`
Tells the interpreter to read all the code from stdin before running.
If it's active, `[code]` is ignored.
### `[code]`
The code to execute.
Should generally be supplied unless the code comes from another source.
## Licence
Licensed under the MIT License.
See [LICENCE](./LICENCE).