This project is an interpreter for a subset of the Python language, built in Java. It demonstrates a practical application of compiler design principles to create a functioning programming language from scratch.
The interpreter correctly handles fundamental computer science concepts such as bindings, nested scope, and control flow. It supports core language features including variable assignment, if/else conditionals, function calls, and a try/except mechanism for exception handling. This project serves as a deep dive into the mechanics of how a language processes and executes code, from parsing the initial text to managing the program's state during execution.