Abstract
You know what's fun? Writing an interpreter for a tiny programming language. You know what's even more fun? Writing a JIT compiler for it!
In this talk, we'll walk through writing an interpreter for a very simple language along with a JIT compiler, and we'll discuss some of the many possible extensions for the language. We won't be building anything more than a toy, but it will be a great exercise in understanding how programming languages and compilers work under the hood. We'll quickly tour parsing and abstract syntax trees (ASTs), intermediate representation (IR) and static single assignment (SSA), examine a compiler backend, and briefly touch upon register allocation and optimizations.