| |||||||||||||||
![]() Sell Back Your Copy for $79.20
Whether you buy it used on Amazon for $77.87 or somewhere else, you can sell it back through our Book Trade-In Program at the current price of $79.20.
|
Alfred V. Aho is Lawrence Gussman Professor of Computer Science at Columbia University. Professor Aho has won several awards including the Great Teacher Award for 2003 from the Society of Columbia Graduates and the IEEE John von Neumann Medal. He is a member of the National Academy of Engineering and a fellow of the ACM and IEEE.
Monica S. Lam is a Professor of Computer Science at Stanford University, was the Chief Scientist at Tensilica and the founding CEO of moka5. She led the SUIF project which produced one of the most popular research compilers, and pioneered numerous compiler techniques used in industry.
Ravi Sethi launched the research organization in Avaya and is president of Avaya Labs. Previously, he was a senior vice president at Bell Labs in Murray Hill and chief technical officer for communications software at Lucent Technologies. He has held teaching positions at the Pennsylvania State University and the University of Arizona, and has taught at Princeton University and Rutgers. He is a fellow of the ACM.
Jeffrey Ullman is CEO of Gradiance and a Stanford W. Ascherman Professor of Computer Science at Stanford University. His research interests include database theory, database integration, data mining, and education using the information infrastructure. He is a member of the National Academy of Engineering, a fellow of the ACM, and winner of the Karlstrom Award and Knuth Prize.
Product Details
Would you like to update product info or give feedback on images?
|
|
Share your thoughts with other customers:
|
||||||||||||||||||||||
|
Most Helpful Customer Reviews
107 of 116 people found the following review helpful:
3.0 out of 5 stars
Warmed over ghost of past excellence,
By
This review is from: Compilers: Principles, Techniques, and Tools (2nd Edition) (Hardcover)
I spent some serious quality time with the first edition (the "red dragon book"), in three main episodes over the past dozen years: 1) undergraduate compilers class, 2) industry project, and 3) parser generator implementation. During all three episodes, I was disappointed in various ways, though there is no denying that the book contains a wealth of information. As an undergraduate, I found the book somewhat impenetrable. When in industry, I found the book too abstract. When implementing a parser generator, I discovered that the book excludes important research results with regard to LR parser generation. It is the last disappointment that I will focus on.
The book presents parser generation in layers of increasing complexity, from SLR to LR to LALR, where LALR is presented as the penultimate algorithm, though LALR parsers can only handle a subset of the grammars that LR can handle. The justification for this is that the original Knuth LR algorithm is intractable for large grammars. However, an efficient, fully correct, approach for LR parser generation was published in 1977, and on top of that it appears easier to implement than efficient LALR parser generation! The red dragon book's original authors simply cannot have been unaware of this research result, but I suspect that they elected to warm over the "green dragon book" (published in 1977) rather than incorporate the state of the art as of 1986 into the "red dragon book". Now here we are another 20 years later, and as near as I can tell from reading through available online information, the "purple dragon book" is perpetuating this omission. The result of the red dragon book is that we have an entire generation of computer scientists who have been mislead to think that LALR is somehow superior to LR, and the purple dragon book is setting things up for yet another generation to be mislead.
32 of 38 people found the following review helpful:
4.0 out of 5 stars
Is the reputaton deserved?,
By A Student (USA) - See all my reviews
This review is from: Compilers: Principles, Techniques, and Tools (2nd Edition) (Hardcover)
This book has the reputation as being THE book on compilers. I'll grant that. It covers everything and the kitchen sink, at a theoretical level. This is NOT the book on implementation details. Without prior exposure to the basic principals and problems in compiler implemenation, it can be difficult to see why the theory, as presented, is relavent. Why is left recursion bad? What good are handles? How is the type system significant? How do symbol tables relate to scoping? This stuffs in there, but if one is not expecting it, one won't appreciate the terse presentation. But that's the kind of learner I am, I have to know why something is relavent before I get it. So, I don't recommend this book as a first book on languages and compilers.
9 of 9 people found the following review helpful:
5.0 out of 5 stars
An outstanding textbook, great for reference,
By IBuyMoreBooksThanICanEverRead (Greenville, SC) - See all my reviews
This review is from: Compilers: Principles, Techniques, and Tools (2nd Edition) (Hardcover)
I wrote a complete complier as a semester project 30 years ago using the Green Dragon book. (I had written a parser generator the semester before, otherwise I could never have done a compiler on my own in one semester.) Doing that resulted in a tremendous sense of accomplishment and a feeling that I could do anything with computers. A feeling that has remained with me since then.
If you are not a computer science major and are just looking to implement a simple compiler, perhaps there would be books with less theory that might still get you to produce a compiler and that would be easier. On the other hand, if you are a computer science major (or several related fields), your CS knowledge will be greatly enhanced by writing a compiler. And this book or some future edition of this book should be your guide. To the people who mention some of the newer books that cover a lot of the newer techniques and technologies, I say, it doesn't matter to most people. Most people will only write a fairly simple compiler. Unless you are going to work for Microsoft developing the next version of Visual Studio, you don't really need most of those developments. Compiler construction is complex, and if you're learning about RISC, you're probably not learning enough about LALR. Both will be useful to know, but I think it's reasonable to not burden a compiler class with too advanced topics.
Share your thoughts with other customers: Create your own review
|
|
Tags Customers Associate with This Product(What's this?)Click on a tag to find related items, discussions, and people.
|
|
This product's forum
Active discussions in related forums
Search Customer Discussions
|
Related forums
|