Vous voulez voir cette page en français ? Cliquez ici.


or
Sign in to turn on 1-Click ordering.
or
Amazon Prime Free Trial required. Sign up when you check out. Learn More
More Buying Choices
Have one to sell? Sell yours here
Tell the Publisher!
I'd like to read this book on Kindle

Don't have a Kindle? Get your Kindle here, or download a FREE Kindle Reading App.

Compilers: Principles, Techniques, and Tools (2nd Edition) [Hardcover]

Alfred V. Aho , Monica S. Lam , Ravi Sethi , Jeffrey D. Ullman
4.0 out of 5 stars  See all reviews (48 customer reviews)
List Price: CDN$ 172.30
Price: CDN$ 154.12 & FREE Shipping. Details
You Save: CDN$ 18.18 (11%)
o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o
In Stock.
Ships from and sold by Amazon.ca. Gift-wrap available.
Want it delivered Tuesday, August 26? Choose One-Day Shipping at checkout.

Formats

Amazon Price New from Used from
Hardcover CDN $154.12  
Paperback --  
Save Up to 90% on Textbooks
Hit the books in Amazon.ca's Textbook Store and save up to 90% on used textbooks and 35% on new textbooks. Learn more.
Join Amazon Student in Canada


Book Description

Aug. 31 2006 0321486811 978-0321486813 2
Compilers: Principles, Techniques and Tools, known to professors, students, and developers worldwide as the "Dragon Book," is available in a new edition.  Every chapter has been completely revised to reflect developments in software engineering, programming languages, and computer architecture that have occurred since 1986, when the last edition published.  The authors, recognizing that few readers will ever go on to construct a compiler, retain their focus on the broader set of problems faced in software design and software development.

Frequently Bought Together

Compilers: Principles, Techniques, and Tools (2nd Edition) + Structure and Interpretation of Computer Programs + C Programming Language (2nd Edition)
Price For All Three: CDN$ 261.97


Customers Who Bought This Item Also Bought


Product Details


Product Description

From the Back Cover

This book provides the foundation for understanding the theory and pracitce of compilers. Revised and updated, it reflects the current state of compilation. Every chapter has been completely revised to reflect developments in software engineering, programming languages, and computer architecture that have occurred since 1986, when the last edition published.  The authors, recognizing that few readers will ever go on to construct a compiler, retain their focus on the broader set of problems faced in software design and software development. Computer scientists, developers, and aspiring students that want to learn how to build, maintain, and execute a compiler for a major programming language.

About the Author

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.

 


Inside This Book (Learn More)
Browse and search another edition of this book.
Browse Sample Pages
Front Cover | Copyright | Table of Contents | Excerpt | Index | Back Cover
Search inside this book:

Sell a Digital Version of This Book in the Kindle Store

If you are a publisher or author and hold the digital rights to a book, you can sell a digital version of it in our Kindle Store. Learn more

What Other Items Do Customers Buy After Viewing This Item?


Customer Reviews

Most helpful customer reviews
3 of 3 people found the following review helpful
5.0 out of 5 stars Yet another reviewer Oct. 9 2003
Format:Hardcover
What can you say about a book that has 41+ reviews, and all with close to perfect marks?
I bought this book not as it required so by almost any and all classes that teach about compiler design, but because I was interested in compilers and didn't have a chance to take class as part of my degree. It's a great book. Explains things well, and there are enough supporting material on the web that you can do a self paste study on your own and still get a lot out of this book.
Was this review helpful to you?
3.0 out of 5 stars Not well written May 13 2003
Format:Hardcover
If you find yourself struggling with this book, it is probably
not your fault. The book is not well written or well organized.
The chapters don't build on each other, so you might as well
dip into it wherever your fancy strikes. The chapters are
simply piles of information: there is no synthesis. The
reader has do all the work of putting it together.
Just a small, irritating example of what the book is
missing: the authors mention "context-free grammars"
over and over from the very start, but if you want to
find out what the term signifies, you need to hunt with
the help of the index until you come upon a poor explanation
somewhere in the middle of the book. And context grammars
are never explained at all, even though they are mentioned.
The reader is left with the impression that she or he should
somehow know already what these grammars are (in fact,
grammars are not explained, either!).
A lot has been learned about compilers since this book was
written, so it's time to retire this chestnut
and start anew.
Was this review helpful to you?
4.0 out of 5 stars Ahh, the "Dragon Book" April 9 2003
Format:Hardcover
You can hardly search the internet for compiler books without seeing the "Dragon Book" rear its head. Intrigued by its reputation as the authority (not to mention being very hard to read,) I had to buy it.
This book is very theoretical! That may be good or bad, depending on how used you are to handling theory. It is well organized. The authors break the compiler into front end and back end, and then further into symbol table, lexer, parser, semantics, intermediate code generation, code generation, and code optimization. There are chapters dedicated to each.
I didn't read the whole book (so I'm still a mere mortal,) only the recommended introductory sections followed by some browsing. This was out of personal interest - not for a class. By the time I was through chapter 7 or so, I sat down and started planning a [cheesy] Pascal compiler (they give the grammar as a project.) I'm not done yet - heh - but I haven't been frustrated by anything the book hasn't covered yet. Therefore, I can testify that this book has really guided me well.
However, like I said, if you space out in the presence of pure crystalline theory, then this book is not for you. Usually the first 3 sections of a chapter are 100% theory, then the "how to" section, followed by advanced theory. It may help if you have taken some courses in abstract algebras - I'm not kidding! Also, a (the) major flaw this book has is the mysteriously missing pages of code. There is no complete compiler (of anything significant) to study (which is why it gets 4 instead of 5 stars.) The only thing close is a 5 page infix to postfix translator written in archaic C. This book gives you the tools, not the answers. Be warned.
Still, I recommend it to the dauntless and couragous... dragon slayers. [Hack-snort]
Was this review helpful to you?
3.0 out of 5 stars disorganized July 6 2002
By A Customer
Format:Hardcover
the biggest problem with this book is that it's very disorganized. i guess one reason might be that each of the 3 authors are so full of themselves that each one speak their own voice. the result is that you will see EVERY topic to be repeated 3 times in the book, and none of them really get clarified.
for a university student, this book may serve OK as a reference book, since you will mostly use the instructor's class notes anyway. what reference you use doesn't really matter.
for a self-learner, this book is really a terrible read. i recommend you get another book such as Thomas Pittman's <the art of compiler design>, or as of 2004, Cooper and Torczon's <engineering a compiler>.
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.
Was this review helpful to you?
5.0 out of 5 stars The reference book ... depending on your needs April 19 2002
Format:Hardcover
Once again, I want to point out the title of the book: "Principles, Techniques and Tools".
I think there are two kinds of compilers books available today: "Principles and Theory centered" ones and "Modern Compilers design and implementation" ones.
One might wonder what's the difference between the two.
The former kind is more suited for a course on theoretical aspects that lay the foundation of compiler construction. DFAs, NFAs and Regular expression along with relations and equivalence between the them; FSAs minimizations; grammars and Push-down FSAs in details, ambiguities and and how to cope with them; and so on.
This is what I mean for "theoretical aspects". And these topics are covered in great details in this book. Almost the same details they (the authors) placed on writing a more specific book as "Introduction to Automata Theory ...".
Same situation applies to principles on more application- oriented topics. Take the example of LR parsing. You can face the topic from a more theoretical side, dealing with details on bottom up parsing (still, it implies an in-depth knowledge of grammars theory), handles and (viable) prefixes, SLR or canonical LR or LALR parsers and techniques for the relative tables construction by hands (and for this, add a detailed and solid knowledge of Push-down FSAs along with grammars). By hands, at least, if principles are what matter in your course.
If you expect to find these topics (with this depth) in a book of the other kind, you might get mislead. As I did when I still had not clear this distinction, before I took the course.
The latter kind of books is more suited for a more pragmatic course.
Read more ›
Was this review helpful to you?
Want to see more reviews on this item?
Most recent customer reviews
5.0 out of 5 stars My bookshelf is more beautiful
The "Dragon" book makes any bookshelf look more beautiful, and is great for photo shoots and job applications. Read more
Published 8 months ago by Jason
5.0 out of 5 stars excellent
Entails all the important topics of compiler design and starts off with a creating a compiler for small program to demonstrate all the phases of compiling a program.. Read more
Published on April 14 2012 by cs undergrad
1.0 out of 5 stars Trivial, non-constructive, hard-to-follow, terrible
The worst textbook I've ever read.
For Many times I've been confused by the author's explanation for some very simple ideas.
Published on Jan. 30 2004
5.0 out of 5 stars Yet another reviewer
What can you say about a book that has 41+ reviews, and all with close to perfect marks?
I bought this book not as it required so by almost any and all classes that teach... Read more
Published on Oct. 10 2003 by Amazon Customer
5.0 out of 5 stars Good introduction to compiler theory
I took a course on compiler design and implementation
and i would say that this book can really introduce
compiler concepts but its very pascal based. Read more
Published on Aug. 15 2003 by Raymond Tay
3.0 out of 5 stars An overly academic out-of-date, but classic work
This book, in its time, was a classic. When it was published
it was one of the best books available on compiler design. Read more
Published on April 27 2003 by Ian Kaplan
2.0 out of 5 stars The most overrated classic
If you study langages and compiler design, you WILL hear about "the dragon book". Yet, it is the worst book I've read on the subject. Read more
Published on Dec 29 2002 by Mathieu
2.0 out of 5 stars Dry as Gin
My graduate compiler class used this book. I hated it. The book is dry and seems to be disorganized to the untrained eye. Read more
Published on Dec 28 2002 by Jim
5.0 out of 5 stars Great Book
I was sad to read the negative comments on this book because they could give people who are not familiar with the topic the impression that this is not a great book. Read more
Published on Dec 13 2002
4.0 out of 5 stars Very Cool
I dunno how many people like me tried to read this book.
* I am not very math oriented.
* I dont have a CS degree.
* I am generally a dumb dude. Read more
Published on Aug. 4 2002 by Santosh Raghavan
Search Customer Reviews
Only search this product's reviews

Look for similar items by category


Feedback