← Projects

Jinx

A tree-walk interpreter for the Lox programming language, written in Python.

Python

Commits

43

Stars

1

Last Updated

Aug 2, 2023

Python 100%

Jinx is a Python implementation of Lox, the language from Bob Nystrom's Crafting Interpreters. Most people follow along in Java; I wanted to actually understand what I was building, so I did it in Python instead.

It's a full tree-walk interpreter: lexer, parser, resolver, and evaluator. Supports dynamic typing, first-class functions, closures, classes, and single inheritance.

Building an interpreter from scratch is one of those things that permanently changes how you read code. Highly recommended.