/tinylox

Yet another Lox Tree-Walk interpreter

Primary LanguagePythonMIT LicenseMIT

Yet another Lox interpreter

Implementing the Lox language while reading "Crafting Interpreters" by Robert Nystrom.

📖 Build and run

You only need the following requirements:

  • Python (used 3.12.2)

🤝 Contribute

If you want to help the project, you can follow the guidelines in CONTRIBUTING.md.

🎉 Tasks

  • Tokens and lexing
  • Abstract syntax trees
  • Recursive descent parsing
  • Prefix and infix expressions
  • Runtime representation of objects
  • Interpreting code using the Visitor pattern
  • Lexical scope
  • Environment chains for storing variables
  • Control flow
  • Functions with parameters
  • Closures
  • Static variable resolution and error detection
  • Classes
  • Constructors
  • Fields
  • Methods
  • Inheritance