Back to Projects
languagescompleted

zorLang: An AST Tree-Walk Interpreter & Domain-Specific Language

2026-04 – 2026-07

zorLang was my project for understanding interpreters from first principles, in Java. I wrote a hand-built recursive descent parser that scans, tokenizes, and parses source into a strongly typed Abstract Syntax Tree, then walk that tree with a hierarchical environment scoping model supporting nested blocks, dynamic typing, and lexical closures. Execution runs through the Visitor design pattern, keeping tree traversal cleanly separated from evaluation logic across control flow constructs like if/else, while, and for. On top of that sits an object-oriented runtime with initializer methods, instance properties, and dynamic method binding, backed by comprehensive lexical and runtime error reporting.

Impact

Hand-written recursive descent parser producing a typed AST
Hierarchical environment scoping with lexical closures
Visitor-pattern tree-walk execution engine
Full OOP runtime with initializers and dynamic method binding

Technologies

JavaRecursive Descent ParsingAbstract Syntax TreesVisitor PatternLexical ScopingInterpreter Design