Let's Build a Compiler, by Jack Crenshaw (http://www.compilers.iecc.com/crenshaw/)