The Lox Programming Language implemented in Go, based on the original clox
implementation*.
* : For the tree-walking interpreter, see rami3l/dolores
.
- Lexer
- Pratt parser & bytecode compiler
- Bytecode VM
- Basic types
- Floating point arithmetic
- Logic expressions
- Control flow
- Jumps:
break
/continue
**
- Jumps:
- Functions
- Classes
- Instances
- Instance methods
-
this
- Initializers
-
- Inheritance
-
super
-
** : Extension
With the latest Go toolchain installed:
To refresh generated source files:
go generate ./...
To run:
go run main.go
To run with debug info:
go run -tags DEBUG main.go -v=debug