brainfuck interpreter
brainfuck cli rust
5

Configure Feed

Select the types of activity you want to include in your feed.

README: update with install instructions and binary links

digi.rip (Jun 11, 2026, 11:55 AM EDT) 07ce2b5e 1deaa5f7

+26 -17
+26 -17
README.md
··· 1 1 # tachyon 2 2 a brainfuck interpreter written in rust. 3 3 4 - **warning!**: my first rust project and my first interpreter. bad code everywhere. you have been warned! 4 + # install 5 5 6 - # features 7 - - standard 30,000 byte tape with configurable length, pre-filled with 0s. 8 - - **data pointer out-of-bounds behavior**: `error` (crash on bounds violation, default) or `wrap` (wrap around). 9 - - **cell value out-of-bounds behavior**: `wrap` (wrapping 8-bit, default) or `error` (crash on overflow/underflow). 10 - - **ascii i/o** (default) and **raw 8-bit numeric i/o** for input and output. 11 - - **syntax diagnostics**: catches unmatched brackets before execution. 12 - - unit tests covering instructions, loops, nesting, out-of-bounds behaviors, and i/o modes. 6 + pre-built binaries are available under [tags](https://tangled.sh/@digi.rip/tachyon/tags). 13 7 14 - # building 8 + download the archive for your platform, then: 9 + 15 10 ```bash 16 - cargo build --release 11 + # extract 12 + tar xzf tachyon-<version>-<arch>.tar.gz 13 + 14 + # (optional) move to somewhere on your PATH 15 + mv tachyon ~/.local/bin/ 17 16 ``` 18 17 19 - # usage 18 + | archive | platform | 19 + |---------|----------| 20 + | `tachyon-*-aarch64-apple-darwin.tar.gz` | macOS (Apple Silicon)¹ | 21 + | `tachyon-*-aarch64-linux-gnu.tar.gz` | Linux (ARM64)² | 22 + | `tachyon-*-x86_64-linux-gnu.tar.gz` | Linux (x86_64)² | 23 + 24 + ¹ if macOS complains about not being able to open the binary due to lack of developer verification, run: `xattr -d com.apple.quarantine path/to/tachyon` 25 + 26 + ² linux builds are untested as of right now! you have been warned! 27 + 28 + alternatively, build from source: 20 29 ```bash 21 - ./target/release/tachyon <PATH> [OPTIONS] 30 + cargo build --release 22 31 ``` 23 32 24 - run a brainfuck script: 33 + # usage 25 34 ```bash 26 - ./target/release/tachyon path/to/your/script.bf 35 + tachyon path/to/your/script.bf [OPTIONS] 27 36 ``` 28 37 29 38 use wrapping data pointer and raw i/o: 30 39 ```bash 31 - ./target/release/tachyon script.bf -d wrap -i raw -o raw 40 + tachyon script.bf -d wrap -i raw -o raw 32 41 ``` 33 42 34 43 set a custom tape size of 100 cells: 35 44 ```bash 36 - ./target/release/tachyon script.bf -l 100 45 + tachyon script.bf -l 100 37 46 ``` 38 47 39 48 crash on cell overflow instead of wrapping: 40 49 ```bash 41 - ./target/release/tachyon script.bf -c error 50 + tachyon script.bf -c error 42 51 ``` 43 52 44 53 ## options