am 16. März 2007
I just recently bought the new edition of the "dragon book" and it seems to be a really high quality book (being worth the spent money). Although I studied electrical engineering and did only have a brief understanding of compilers, the book provides a very good opportunity to learn more about the (partially quite theoretical) backgrounds of compilers. The writing style is very good to read. Furthermore, I like the mixture of theory and practical examples as provided by the book very much.
am 18. Januar 2009
This book doesn't help to get systematic, general, and consistent knowledge about how to design a new programming language or how to develop a new compiler. Authors tend to explain even the most simple things using a lot of words, making an illusion it's a complicated stuff.
After reading first chapters of this book, I have decided to stop and to search for another sources of explanation, and I found one very helpful, useful book "Engineering a Compiler" by Keith D. Cooper and Linda Torcson. Some passages below should give you a feeling of how different they are.
On Context-Free Grammars
1) from "Compilers. Principles, Techniques, and Tools":
[...]In this section, we introduce a notation - the "context-free grammar", or "grammar" for short - that is used to specify the syntax of a language. Grammars will be used throughout this book to organize compiler front ends.[...]
2) from "Engineering a Compiler":
[...]The traditional notation for expressing syntax is a grammar - a collection of
rules that define, mathematically, when a string of symbols is actually a sentence
in the language.
Computer scientists usually describe the syntactic structure of a language
using an abstraction called a context-free grammar (cfg). [...]