How to Build a Compiler