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
- Host: GitHub
- URL: https://github.com/theobori/tinylox
- Owner: theobori
- License: mit
- Created: 2024-03-19T18:22:03.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2024-11-14T21:04:45.000Z (6 months ago)
- Last Synced: 2025-01-10T23:47:19.690Z (4 months ago)
- Topics: interpreter, lox, tree-walk-interpreter
- Language: Python
- Homepage:
- Size: 39.1 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
# Yet another Lox interpreter
[](https://github.com/theobori/tinylox/actions/workflows/build.yml)
[](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