tvl-depot/users/tazjin/rlox
Vincent Ambo 6f600c8300 feat(tazjin/rlox): Add initial support for strings
... including concatenation.

This diverges significantly from the book, as I'm using std::String
instead of implementing the book's whole heap object management
system.

It's possible that Lox in Rust actually doesn't need a GC and the
ownership model works just fine.

Change-Id: I374a0461d627cfafc26b2b54bfefac8b7c574d00
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2577
Tested-by: BuildkiteCI
Reviewed-by: tazjin <mail@tazj.in>
2021-03-01 21:09:37 +00:00
..
src feat(tazjin/rlox): Add initial support for strings 2021-03-01 21:09:37 +00:00
.gitignore feat(tazjin/rlox): Bootstrap program 2020-11-23 01:15:57 +00:00
Cargo.lock feat(tazjin/rlox): Bootstrap program 2020-11-23 01:15:57 +00:00
Cargo.toml feat(tazjin/rlox): Bootstrap VM for Lox bytecode 2021-01-17 21:17:54 +00:00
default.nix feat(tazjin/rlox): Add basic program structure 2020-11-23 01:15:57 +00:00
README.md feat(tazjin/rlox): Bootstrap program 2020-11-23 01:15:57 +00:00
rustfmt.toml style(tazjin/rlox): Set max_width=80 2021-02-27 13:05:18 +00:00

This is an interpreter for the Lox language, based on the book "Crafting Interpreters".

The book's original code uses Java, but I don't want to use Java, so I've decided to take on the extra complexity of porting it to Rust.

Note: This implements the first of two Lox interpreters.