/oketi-compiler

Oketi language compiler.

Primary LanguageTypeScript

Oketi ~ Compiler

About

This project aimed to implement a very basic working toy compiler using TypeScript, based on The Lox Language by Crafting Interpreters. The particularity of this project is that everything was carried out following the Test Driven Development methodology. All steps in the compiler process are covered by corresponding unit tests.

Disclaimer

The project is for educational and learning purposes only. Error handling is not the main focus of development at the moment, so many of the "edge cases of error" are not handled correctly.

Documentation

This project does not have documentation at the moment. If you are interested in the behavior of the different compiler steps, you can refer to the tests for the specific module.

Progress 🐾

Chapter Progress
Scanning ✔️
Representing Code
Parsing Expressions
Evaluating Expressions
Statements and State
Control Flow
Functions
Resolving and Binding
Classes
Inheritance
Chunks of Bytecode
A Virtual Machine
Scanning on Demand
Compiling Expressions
Types of Values
Strings
Hash Tables
Global Variables
Local Variables
Jumping Back and Forth
Calls and Functions
Closures
Garbage Collection
Classes and Instances
Methods and Initializers
Superclasses
Optimization

Project authors

License

Acknowledgments