Lox is the dynamically typed programming language defined in the book Crafting Interpreters. This repository provides an implementation of a superset of the language and a developer tooling ecosystem as follows:
- golox: An interpreter implemented in Go.
- tree-sitter-lox: A grammar for tree-sitter.
- loxfmt: An opinionated code formatter.
- loxls: A language server.
- loxlint: A linter.
- vscode-lox: A VS Code extension.
Working Lox code examples can be found under examples and test/testdata.
spec.md contains a full specification of the superset of the Lox language which has been implemented.