Basics of Compiler Design [pdf]
diku.dk
diku.dk
It's good for exactly what the title says: Basics of Compiler Design. It won't make you a compiler guru, but it will give you a good grasp of the fundamentals.
If anyone is interested, I could share the weekly assignments and the exam project from the course.
The advanced compiler course at DIKU uses Modern Compiler Implementation in ML: http://www.cs.princeton.edu/~appel/modern/ml/.
Compilers: Principles, Techniques, and Tools by Alfred V. Aho (Author), Ravi Sethi (Author), Jeffrey D. Ullman (Author)
http://www.amazon.com/Compilers-Principles-Techniques-Alfred...
Edit: I guess, we are talking about different Dragon Books. Wikipedia lists [2] at least three. And says about the first: "Principles of Compiler Design is now rather dated [...]."
[1] http://research.microsoft.com/en-us/um/people/simonpj/papers... [2] http://en.wikipedia.org/wiki/Dragon_Book
Or has "parsing" become a pedagogical foundation subject, whose content is determined not by pragmatic usefulness, but by the its role in the curriculum?(e.g. so if you say you've studied "parsing" people can assume you know about LALR, even if no one uses it.) I'm not saying the latter would be a bad thing - we need a common vocabulary - I'd just like to see progress at the core as well as the edges.
A compiler is something that takes code in one language and converts it to another. It can be a Python to Javascript compiler, or a C to x86 Assembly Compiler (which can then be assembled using an appropriate assembler).
I'm reading both Louden's "Compiler Construction: Principles and Practice" and the Dragon Book. They are both good so far.