Writing a programming language interpreter is usually considered black magic. This talk aims to demystify the process by walking through the steps of building a simple interpreter from scratch using Python.
Traditional interpreters are written with languages like C or C++ for performance reasons. Great effort goes into making interpreters fast. This may involve writing advanced garbage collectors and just-in-time compilers.
This talk will walk through the process of building a simple interpreter step-by-step in Python. We will take a walk through the various stages of an interpreter, such as the lexing, parsing and bytecode compilation steps. We will also take a look at how the RPython toolchain allows us to easily integrate advanced garbage collectors and just-in-time compilers into our interpreters.