Extending Lox Language with Custom Features!
Extending Lox beyond the original spec with len(), explicit initialization checks, and break statements.
Extending Lox beyond the original spec with len(), explicit initialization checks, and break statements.
Adding single inheritance with method overriding and super keyword support to complete the Lox class system.
Implementing object-oriented programming in Lox with classes, instances, methods, and the this keyword.
Fixing closure scoping bugs with a static resolver pass that computes variable binding distances.
Adding functions as first-class values, closures, and native functions to the Lox interpreter.
Adding control flow structures that make Lox Turing complete.
Extending the Lox interpreter with statements, variables, environments, and lexical scoping.
Implementing expression evaluation by converting AST nodes into runtime values in the Lox interpreter.
Building an expression parser for Lox using recursive descent, with ASTs and the Visitor pattern.
Building a scanner for the Lox language that converts source code into tokens, following Crafting Interpreters.