This project is a pedagogical implementation of jlox from Part I of Crafting Interpreters, written in C++17. It serves as a C++ alternative to the book's inline Java code, enabling readers to follow along more seamlessly.
Crafting Interpreters is a free, beginner-friendly online guide that walks readers through the process of building a programming language from scratch. jlox is the book’s implementation of the Lox language using a tree-walking interpreter.
Designed as an educational resource, this project welcomes feedback and suggestions to help identify errors or improve the implementation.
- Scanning
- Parsing
- Evaluating
- Statements
- Expressions
- Control Flow
- Functions
- Resolving
- Classes
The project includes a test suite that verifies the correctness of the interpreter. The test suite is written in Lox and can be found in the test
directory.
It uses Google Test as the testing framework. as the testing framework.