tvl-depot/users/tazjin/rlox
Vincent Ambo 47ffa80711 feat(tazjin/rlox): Support trivial literals in bytecode compiler
Adds support for true, false & nil. These each come with a new
separate opcode and are pushed directly on the stack.

Change-Id: I405b5b09496dcf99d514d3411c083e0834377167
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2571
Reviewed-by: tazjin <mail@tazj.in>
Tested-by: BuildkiteCI
2021-02-28 14:36:40 +00:00
..
src feat(tazjin/rlox): Support trivial literals in bytecode compiler 2021-02-28 14:36:40 +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.