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.
Sorry, this item is not available in
Image not available for
Color:
Image not available

To view this video download Flash Player

 

Compilers: Principles, Techniques, and Tools [Hardcover]

Alfred V. Aho , Ravi Sethi , Jeffrey D. Ullman
4.1 out of 5 stars  See all reviews (56 customer reviews)


Available from these sellers.


Free Two-Day Shipping for College Students with Amazon Student

Formats

Amazon Price New from Used from
Hardcover --  
Paperback --  
Shop the new tech.book(store)
New! Introducing the tech.book(store), a hub for Software Developers and Architects, Networking Administrators, TPMs, and other technology professionals to find highly-rated and highly-relevant career resources. Shop books on programming and big data, or read this week's blog posts by authors and thought-leaders in the tech industry. > Shop now
There is a newer edition of this item:
Compilers: Principles, Techniques, and Tools (2nd Edition) Compilers: Principles, Techniques, and Tools (2nd Edition) 3.7 out of 5 stars (18)
$76.27
In Stock.

Book Description

January 1, 1986 0201100886 978-0201100884 1st
This introduction to compilers is the direct descendant of the well-known book by Aho and Ullman, Principles of Compiler Design. The authors present updated coverage of compilers based on research and techniques that have been developed in the field over the past few years. The book provides a thorough introduction to compiler design and covers topics such as context-free grammars, fine state machines, and syntax-directed translation. 0201100886B04062001


Editorial Reviews

From the Back Cover

This introduction to compilers is the direct descendant of the well-known book by Aho and Ullman, Principles of Compiler Design. The authors present updated coverage of compilers based on research and techniques that have been developed in the field over the past few years. The book provides a thorough introduction to compiler design and covers topics such as context-free grammars, fine state machines, and syntax-directed translation.



0201100886B04062001

About the Author

Ravi Sethi, director of Computing Science Research, has been at AT&T Bell Laboratories in Murray Hill, New Jersey since 1976. He has held teaching positions at Pennsylvania State university and the University of Arizona, and has taught at Princeton University and Rutgers. Dr. Sethi is co-author of the "dragon book", Compilers: Principles, Techniques and Tools and has written numerous articles. His books have been translated in Japanese, German, French, Italian, Spanish, and Korean.



0201100886AB04062001


Product Details

  • Hardcover: 796 pages
  • Publisher: Addison Wesley; 1st edition (January 1, 1986)
  • Language: English
  • ISBN-10: 0201100886
  • ISBN-13: 978-0201100884
  • Product Dimensions: 9.3 x 6.2 x 1.4 inches
  • Shipping Weight: 2.6 pounds
  • Average Customer Review: 4.1 out of 5 stars  See all reviews (56 customer reviews)
  • Amazon Best Sellers Rank: #252,141 in Books (See Top 100 in Books)

More About the Authors

Discover books, learn about writers, read author blogs, and more.

Customer Reviews

Most Helpful Customer Reviews
59 of 61 people found the following review helpful
Format:Hardcover
During each compiler stage (lexical analysis, syntax analysis, translation, type checking, translation, code generation, and code optimization) multiple methods, strategies, and algorithms are presented. This comprehensive book examines items that are unique to the various languages presented (Fortran, C, and Pascal); there are even sections on dealing with estimation of types (10.12) and symbolic debugging of optimized code (10.13). Wow! The exercises are thorough, challenging, and thought provoking. Examples are interleaved with the discussion and algorithms. There is an excellent set of historical and bibliographic information at the end of each chapter. The use of automated tools such as lex, yacc, and compiler-generators is discussed throughout the text. This is an advanced book, however a good understanding of compilers can be obtained without understanding the details of every algorithm.
Comment | 
Was this review helpful to you?
92 of 102 people found the following review helpful
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. One where real, "modern" compilers are at hands, and probably written as homeworks....

All this said, once again: which is the best book ? The one that best fits your needs. And in fact, my needs were those of my course, which was completely centered on theoretical aspects. And for this course, the Dragon book (as it is better known since its cover) proved to be perfect, definitely no matter it was published on 1986: FSAs and grammars and their theory is (for all practical purposes) still the same since even before then. Read more ›

Comment | 
Was this review helpful to you?
48 of 52 people found the following review helpful
5.0 out of 5 stars Excellent Introductory Compiler Text September 28, 1999
By A Customer
Format:Hardcover
This is a comprehensive and easy to understand text. It covers all the fundamental stages of compiler design, with plenty of explanation (both practical and theoretical). It doesn't exhaustively cover every conceivable topic, but it does leave you with a good taste of what's involved. Of course, it is not a book for beginning programmers, and there are very few code examples. Judging by the comments of some reviewers, I would suspect that they gave poor reviews because they lacked the prerequisite background (familiarity with a good HLL like C, data structures, mathematical background etc). As with any 'advanced' topic in computer science, there is quite a lot expected from you. Upon first reading, some topics occasionally seem overwhelming. Welcome to Earth. This is where your library card comes in. Do a little research and then come back to this text; you'll find that it is well organized and extremely clear. If you want a cookbook this book isn't for you. If you want a solid understanding of compiler fundamentals then this book is your best bet.
Comment | 
Was this review helpful to you?
28 of 30 people found the following review helpful
4.0 out of 5 stars Somewhat dated. February 23, 2006
Format:Hardcover
A great book, which covers all you need to write a decent optimizing compiler.

However, it's dated. It doesn't cover single static assignment, advanced control-/data-flow techniques, or instruction scheduling. It predominantly focuses on flat quads or binary tree representations, and a good third of the book covers the theory of scanning and parsing, which nowadays are almost exclusively handled by scanner/parser generators.

I'd instead recomend "Advanced Compiler Design and Implementation" by Muchnick, or "Engineering a Compiler" by Cooper
Comment | 
Was this review helpful to you?
16 of 17 people found the following review helpful
5.0 out of 5 stars new chapters available November 8, 2005
Format:Hardcover
Chapters 5-11 of the forthcoming second edition of the Dragon book are available online at the publisher's website.
Comment | 
Was this review helpful to you?
19 of 21 people found the following review helpful
4.0 out of 5 stars Has done its job well September 10, 2001
Format:Hardcover
For those interested in the more general and theoretical principles behind compilers, this book can still serve as a good introduction in that regard. More modern treatments are available to those who need more information on modern developments in compilers, such as optimization, partial evaluation, etc. The book covers lexical analysis, parsing techniques, syntax-directed translation, static semantic checking, type checking, unification, target code generation, and compiler code optimization. All of these are discussed in great detail, the C language is chosen to write the compiler coding, and numerous exercises are put at the end of the each chapter. The reader can also gain an insight into the historical origins of the subject.
Comment | 
Was this review helpful to you?
Most Recent Customer Reviews
5.0 out of 5 stars Amazing book!
I am doing this course for my master's degree in computer science (didn't do it on my first degree) and this book is amazing.
It's so clear with great examples! Read more
Published 10 months ago by omrip
5.0 out of 5 stars Life is a Lex.
The Dragon book is a core text for understand complier theory. Great technical reading for all software developers and software engineers.
Published on June 2, 2008 by J. E. Sherman
4.0 out of 5 stars The best for getting the theoretical foundation of compilers
This is the classical reference book for compiler design. This is not an easy text because of its heavy use of mathematical notation and the algorithms are presented only in pseudo... Read more
Published on June 12, 2007 by Olivier Langlois
5.0 out of 5 stars An outstanding book that teaches more then how to write a compiler.
This book is fantastic. It is not just for compiler developers. It also teaches - without having to read the entire book - how to write lexical analyzers, parsers, and top-down... Read more
Published on January 14, 2007 by Blue Cat
3.0 out of 5 stars Good but not organized
The book is the compiler's bible. It is a must for any one interested in compilers. However, it is not organized (e.g. Read more
Published on October 27, 2006 by Mohammed Omraan
5.0 out of 5 stars Classic
Some problems are solved in this business and answers are published in one place. "Compilers" is a solved problem. This is the one place to see the solution.
Published on August 26, 2006 by Robert S. Sailors
5.0 out of 5 stars still definitive after 20 years
For twenty years, this book has stood as the definitive text on compiler design. Many programmers use a compiler to write programs. Read more
Published on March 13, 2006 by W Boudville
5.0 out of 5 stars The best book ever for compilers
In few words, it is one of the best books for compilers writers. It goes step by step in all phases of the compiler + a comprehensive part of tools like lex and yacc.
Published on October 8, 2005 by Alan El-sabbagh
2.0 out of 5 stars The dragon book should retire
The dragon book is now twenty years old and it shows its age. Written in 1986, it predates RISC CPUs, pipelines and bubbles, out-of-order execution, object oriented languages, and... Read more
Published on June 11, 2005 by Randolph Crawford
3.0 out of 5 stars Getting Old
This classic book is a Must for every geek programmer, but sadly it hasn't been updated for today's practical compiler writing. Read more
Published on June 2, 2005 by Mr. Paul J. Warren
Search Customer Reviews
Only search this product's reviews


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

Forums

Search Customer Discussions
Search all Amazon discussions

Topic From this Discussion
Output from Example 1.7/Figure 1.12
I think you are absolutely correct. Seems the authors forgot the +1 part of the macro definition. I was going to send this comment to the publisher, but couldn't figure how ...
Jun 18, 2007 by D. McPherson |  See all 2 posts
Differences between this and the older edition (?) Be the first to reply
So, it's Aug 31st, 2006 today. Where's the book? Be the first to reply
Start a new discussion
Topic:
First post:
Prompts for sign-in
 




So You'd Like to...


Create a guide


Look for Similar Items by Category