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:

https://inst.eecs.berkeley.edu/~cs61b/fa17/materials/proj/proj3/index.html