An open API service indexing awesome lists of open source software.

https://github.com/theobori/tinylox

Yet another Lox Tree-Walk interpreter
https://github.com/theobori/tinylox

interpreter lox tree-walk-interpreter

Last synced: 2 months ago
JSON representation

Yet another Lox Tree-Walk interpreter

Awesome Lists containing this project

README

        

# Yet another Lox interpreter

[![build](https://github.com/theobori/tinylox/actions/workflows/build.yml/badge.svg)](https://github.com/theobori/tinylox/actions/workflows/build.yml)

[![built with nix](https://builtwithnix.org/badge.svg)](https://builtwithnix.org)

Implementing the [Lox language](https://craftinginterpreters.com/the-lox-language.html) while reading "Crafting Interpreters" by Robert Nystrom.

## 📖 Build and run

You only need the following requirements:

- Python (used 3.12.2)

## 🤝 Contribute

If you want to help the project, you can follow the guidelines in [CONTRIBUTING.md](./CONTRIBUTING.md).

## 🎉 Tasks

- [x] Tokens and lexing
- [x] Abstract syntax trees
- [x] Recursive descent parsing
- [x] Prefix and infix expressions
- [x] Runtime representation of objects
- [x] Interpreting code using the Visitor pattern
- [x] Lexical scope
- [x] Environment chains for storing variables
- [x] Control flow
- [x] Functions with parameters
- [x] Closures