CDN$ 77.72
  • List Price: CDN$ 191.85
  • You Save: CDN$ 114.13 (59%)
Only 1 left in stock (more on the way).
Ships from and sold by Gift-wrap available.
Compilers: Principles, Te... has been added to your Cart
Have one to sell?
Flip to back Flip to front
Listen Playing... Paused   You're listening to a sample of the Audible audio edition.
Learn more
See all 2 images

Compilers: Principles, Techniques, and Tools (2nd Edition) Hardcover – Aug 31 2006

4.0 out of 5 stars 48 customer reviews

See all 6 formats and editions Hide other formats and editions
Amazon Price
New from Used from
Kindle Edition
"Please retry"
"Please retry"
CDN$ 77.72
CDN$ 36.40 CDN$ 41.32

Harry Potter Book Boutique
click to open popover

Frequently Bought Together

  • Compilers: Principles, Techniques, and Tools (2nd Edition)
  • +
  • Clean Code: A Handbook of Agile Software Craftsmanship
Total price: CDN$ 115.42
Buy the selected items together

No Kindle device required. Download one of the Free Kindle apps to start reading Kindle books on your smartphone, tablet, and computer.
Getting the download link through email is temporarily not available. Please check back later.

  • Apple
  • Android
  • Windows Phone
  • Android

To get the free app, enter your mobile phone number.

Product Details

  • Hardcover: 1000 pages
  • Publisher: Pearson; 2 edition (Aug. 31 2006)
  • Language: English
  • ISBN-10: 0321486811
  • ISBN-13: 978-0321486813
  • Product Dimensions: 17.4 x 3.9 x 24 cm
  • Shipping Weight: 1.2 Kg
  • Average Customer Review: 4.0 out of 5 stars 48 customer reviews
  • Amazon Bestsellers Rank: #58,498 in Books (See Top 100 in Books)
  •  Would you like to update product info, give feedback on images, or tell us about a lower price?

  • See Complete Table of Contents

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.


What Other Items Do Customers Buy After Viewing This Item?

Customer Reviews

Top Customer Reviews

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 ›
4 people found this helpful. Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again.
Report abuse
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.
3 people found this helpful. Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again.
Report abuse
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? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again.
Report abuse
By A Customer on July 6 2002
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? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again.
Report abuse

Most recent customer reviews