This repository contains my work produced following along with the 2010 (language agnostic) edition of Crafting a Compiler by Fischer, Cytron & LeBlanc.
I have undertaken this work as preparation for my upcoming internship at Canva. While I would not typically use Python for a project with such potential for complexity and scope, this decision provides the best possible preparation for the work I'll undertake during my internship. It also provides the opportunity to experiment with more more sophisticated Python language features like meta-programming.
There's nothing particularly revolutionary about this code, so if anything takes your fancy feel free to use it as you please. All of the code in this repository is covered by the permissive BSD-3 open source licence.
Simple pytest integration tests have been included here.
The only dependency for this project is pytest
.