No description
Find a file
2025-05-28 22:02:52 +02:00
.vscode wip 2025-05-28 09:05:18 +02:00
bf finish bf interpreter 2025-05-28 21:28:25 +02:00
lox add argument reading for lox 2025-05-28 21:58:35 +02:00
src mention how to run bf in readme 2025-05-28 22:01:40 +02:00
.envrc remove java implementation, was merely a book copy 2025-05-26 10:30:31 +02:00
.gitignore rust skeleton 2025-02-06 11:34:46 +01:00
Cargo.lock update all packages 2025-05-26 10:33:34 +02:00
Cargo.toml update all packages 2025-05-26 10:33:34 +02:00
COPYING add license text because why not 2025-05-26 10:35:22 +02:00
flake.lock remove java implementation, was merely a book copy 2025-05-26 10:30:31 +02:00
flake.nix remove java implementation, was merely a book copy 2025-05-26 10:30:31 +02:00
README.md add link to source file in readme 2025-05-28 22:02:52 +02:00
rust-toolchain.toml remove java implementation, was merely a book copy 2025-05-26 10:30:31 +02:00

Crafting Interpreters

Using rust to implement the first part of Crafting interpreters for the FHNW PL-Circle.

All dependencies for running the respective implementations are specified in the flake.nix files within the project folders (look for the key buildInputs). Though my recommendation is to use the provided nix flakes.

Use cargo run -- <ARGS> to run the interpreter directly from the source code. Specify needed arguments in place of <ARGS>.

Usage: rox <COMMAND>

Commands:
  run      Run a Lox source file
  repl     Run a Lox REPL
  help     Print this message or the help of the given subcommand(s)

Options:
  -h, --help     Print help
  -V, --version  Print version

For example running the Game of Life implemented in brainfuck (read the source file to figure out how to use it):

RUST_LOG=info cargo run --release -- run -s ./lox/bf.lox -- bf/game_of_life.bf

Please note that some parts of the implementation have not been given enough thought.