Learning to build an Interpreter

I found the following resources really helpful in learning how interpreter and compilers work. Even if you don’t want to undertake the task of building your own compiler, I think reading through these help you appreciate the complexities involved in programming.

How to Write a (Lisp) Interpreter (in Python)

Crafting Interpreters:
A handbook for making programming languages.


I also recommend trying out the following exercise in building your own version of Git: