Basics of Compiler Design
As I've been working on my pet compiler project recently, I began to collect some compiler-related online resources, this book is one of the hidden gems.  The author (Torben Mogensen) has been so generous to give it out for free, that's why I think it needs more exposure.It's heavy on the compiler theory part, so I mainly use it as a reference book. It also has a "companion" book (my take) -- Programming Language Concepts for Software Developers [1] by Peter Sestoft. The PLCSD book, also free, is more on hand-on projects, where you can implement a Micro-C compiler.[1] http://www.itu.dk/courses/BPRD/E2010/plcsd-0_50.pdf