The goal of this tutorial is to provide the foundation for an interpreter in Swift that is simple enough to understand, yet substantial enough to continue building upon and playing around with; the final implementation weighs in at 1.5 kloc.
A taste of interpreters, Swift, or both; depending on where you're coming from.
Rather than starting with parsing; we'll work from the bottom up, starting with a basic virtual machine and gradually adding syntax and features on top.
I consider learning how our tools are constructed essential.
In addition, compilers/interpreters are useful in many situations; configuration languages, expression evaluators, template engines and scripting languages just to name a few.