. to me, a book with more than 400 pages tends to be badly written. a book is thick mostly because the author(s) doesn't have time to make it thinner. though in this case, the authors have had about 20 years to revise the book. why didn't they do that?
compiler design is relatively easy to understand compared with other topics like numerical analysis. one needs only a high-school student's algebra and logic knowledge to understand what's going on, if the topic is carefully explained. the authors of this book pretend it's some esoteric high art (hinted by the ridiculous dragon-slaying cover art). confused by the disorganized explanation, you might as well buy that.
Rating: 
Summary: Trivial, non-constructive, hard-to-follow, terrible
Review: The worst textbook I've ever read.
For Many times I've been confused by the author's explanation for some very simple ideas.
Rating: 
Summary: Comprehensive, Yes. Coherent? No.
Review: There's no doubt that this book is very comprehensive and probably covers just about everything there is to know about compilers. The problem is that it's TOO comprehensive. It radiates it comprehensive. It drips with comprehensivity. If fact, it gets completely bogged down and utterly lost (as will you) in its own comprehensiveness. There's just too much info there.
Furthermore, and even worse, it has some serious organizational problems. It reads like a the author decided to publish the notes he sketched out before actually writing the book. From beginning to end, this book is just a long list of ideas. No real structure. No overarching lessons or conclusions drawn. It's just a 796 page pile of information and it's left up to you to find the good stuff (which, unfortunately makes up about 20% of the book). These guys needed to cut back on trying to cover everything under the sun and work more on giving this book some structure and coherence, which it sorely lacks.
Rating: 
Summary: Brilliant and concise introduction to compiler theory
Review: This book brings you through all main aspects of compiler theory (and practice). As a matter of fact, I've found it both easy and enjoyable to write compilers based on this book. While some may feel that this book is rather dry, that is exactly what I liked it for. No fuss - no nonsense. The book brings you trough the various issues in a clear and well-organised progression. As a computer science graduate I did not find the book massively advanced. Still yet, this is not a bedtime-story.
Rating: 
Summary: Outstanding in its scope and thoroughness.
Review: This book did not become a classic by accident. It is truly an outstanding achievment. It can be argued that the writing is dense. This is true. But if one approaches it slowly and with care it will quickly become obvious that every sentence is packed with great insights. A must have!!
Rating: 
Summary: Abstract but provides good coverage
Review: This book has one upside, and one downside. The upside is that the authors has covered all the areas in compilers - from A to Z, and presents different techniques for each step on the way. The downside is that it is perhaps a little too abstract - there are too few concrete examples, and the notation used can be hard to read. The best way to use this book is to read a bit of it, let it soak in, apply the techniques that seem good to you, and then move on to the next step. Do not try to use it as a manual of "how to write your own compiler" - be selective.
One more thing: this book has the best typesetting of all the scientific books I've read. The code examples and figures are almost like art - it's almost distracting...
Rating: 
Summary: Patience has its reward.
Review: This book is thick. And most compiler books are thick.
If you are patience and have experience reading some thick books then this is a book for you. This textbook has been the "designated" textbook for compiler course in academics for decades. Its influences and impact is undenible.
Be patient, and you will be rewarded.
Rating: 
Summary: An overly academic out-of-date, but classic work
Review: This book, in its time, was a classic. When it was published
it was one of the best books available on compiler design.
Like the compiler design books of its time, this book has an
academic bent. Compared to later works, it is overly formal,
using obscure notation which is not really needed.
This book may have laid the foundation, but it has been replaced
by better books. In particular, "Advanced Compiler Design
and Implementation" by Steven S. Muchnick and "Optimizing
Compilers for Modern Architectures" by Randy Allen, Ken Kennedy.
The introductory compiler books by Grune et al or Appel may
be useful for those who without compiler design experience.
In all cases these book concentrate on real compiler
implementation issues and do not get mired down in formal
notation.
Rating: 
Summary: An overly academic out-of-date, but classic work
Review: This book, in its time, was a classic. When it was published
it was one of the best books available on compiler design.
Like the compiler design books of its time, this book has an
academic bent. Compared to later works, it is overly formal,
using obscure notation which is not really needed.
This book may have laid the foundation, but it has been replaced
by better books. In particular, "Advanced Compiler Design
and Implementation" by Steven S. Muchnick and "Optimizing
Compilers for Modern Architectures" by Randy Allen, Ken Kennedy.
The introductory compiler books by Grune et al or Appel may
be useful for those who without compiler design experience.
In all cases these book concentrate on real compiler
implementation issues and do not get mired down in formal
notation.
Rating: 
Summary: A classic text in the industry!
Review: This is *the* text for complier design in the computer industry. Referred to in popular media as the dragon book it has an almost religous following by the great programmers in the industry. This exhaustive text will introduce advance topics to the intermediate programmer and to the experienced alike. Although not an introductory work by any stretch of the imagination it will allow for the intermediate programmer to get a rudimentary grasp of the subject. A great example of the best writing that can be done by some of the great minds of our field.