NQQ is my fork of Robert Nystrom's Clox. I started working on it after reading his book Crafting Interpreters.
NQQ is among other things
- Interpreted
- Dynamic with a very weak type system
- Not obect-oriented
- Garbage collected
NQQ is an initialism of the Latin phrase "nequiquam" roughly meaning; in vain, with no purpose, fruitlessly, pointlessly. I did not choose this name because the project is pointelss — quite the contrary, this project is quite meaningful — rather, I chose it to remind myself to not let my ambitions to grow to grand. By humbling my ambitions I hope to be more successful.
- Learn how to build a programming language front to back. Lexing, parsing, compiling, executing etc.
- Practice working with C on a non-trivial codebase
- Experience debugging a complex system that exists at all levels of the stack. Great opportunity to build that debugging grit!
- Playground to experiment with programming language ideas