Friends of mine used &quot;Create Your Own Programming Language&quot; to get started learning about interpreters:
<a href="http:&#x2F;&#x2F;createyourproglang.com" rel="nofollow">http:&#x2F;&#x2F;createyourproglang.com</a><p>I personally learned with SICP (But reading this book isn&#x27;t just about interpreter, it will make you a better programmer and blow your mind in so many different ways. I wouldn&#x27;t say it&#x27;s for experts only, but this isn&#x27;t the kind of book that beginners would get excited about. However, if someone is serious about improving as a developer, I can&#x27;t think of a better book):
<a href="http:&#x2F;&#x2F;www.amazon.com&#x2F;Structure-Interpretation-Computer-Programs-Engineering&#x2F;dp&#x2F;0262510871&#x2F;" rel="nofollow">http:&#x2F;&#x2F;www.amazon.com&#x2F;Structure-Interpretation-Computer-Prog...</a><p>Finally, (How to Write a (Lisp) Interpreter (in Python)) by norvig is a great read if you&#x27;re getting started with interpreter: <a href="http:&#x2F;&#x2F;norvig.com&#x2F;lispy.html" rel="nofollow">http:&#x2F;&#x2F;norvig.com&#x2F;lispy.html</a><p>* The reason the two last links are lisp related is because writing interpreter in Lisp is really straightforward (Since the code is the AST). Similarly, if you wanted to learn about memory management, a language like assembler or C might be more suited than say Python.