Yet another Rust implementation of the Monkey language from "Writing an Interpreter in Go" and "Writing a Compiler in Go."
Start REPL:
# Run in eval mode to directly evaluate AST
cargo run -- repl
# or
cargo run -- repl --eval
# Run in compile mode to compile AST into bytecode and execute it on VM
cargo run -- repl --compile
Build:
cargo build
Test:
cargo test
Benchmark with recursive fibonacci:
cargo run --release -- benchmark --eval
cargo run --release -- benchmark --compile
MIT