A dynamically typed, interpreted language compiled and executed on its own virtual machine.
It aims to compatible with Bob Nystrom's Lox implementation in C.
Stable binaries are available on the releases page.
./loxest
./loxest <filename>.lox
Loxest comes with a disassembler and a trace execution printing. To enable these features, follow the development guide and enable the features within the Cargo.toml
file or on the command line for a single run.
Uncomment this line:
# default = ["debug-trace-execution", "debug-print-code"]
To run a single feature:
cargo run --release --features "debug-print-code" # or whatever feature
To run all features:
cargo run --release --all-features
To download and develop on Loxest, clone the repository and build using Cargo
. Cargo, as well as Rust can be installed via rustup.
Once downloaded, navigate to the project root directory and run:
cargo build --release
TODO. Someday. Maybe. Or read the code.
The benchmark examples are copied from the craftinginterpreters repository and are under the MIT License.
MIT License - Copyright (c) 2024 Abdulrazzaq Alhendi.