Basics of Compiler Design
diku.dk
diku.dk
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.
What other resources have you found, and how do they compare? Have you read the Dragon Book? I hear it isn't actually all that wonderful in reality, though there seems to be differing opinions on that.
I have both a pet compiler project which has never really got off the ground and am attempting to contribute (albeit slowly!) to the go programming language so have a special interest :)
I took compiler course during my university days, so the theory part is not a big issue to me. That's why this free book comes so handy as a reference book. I'm aware of the dragon book, tiger book, as well as, the whale book and had a quick read in bookstore. They all are good books, but I don't find my need to keep them on my bookshelf. So I don't think I am in the position to comment on them. YMMV.
The neat thing was, that that you also had to design a simple pipelined MIPS processor and you could run (in simulation) the code your compiler generated on the architecture. This gave you a pretty good understanding of what happens from the time you write your code to it actually generating a result.