Buy Used
+ £2.80 UK delivery
Used: Very Good | Details
Condition: Used: Very Good
Comment: Softcover book. Appears little used - clean tight unmarked condition, spine uncreased. Light shelf wear to cover. In stock and posted within 24 hours with email confirmation
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 this image

Compilers: Principles, Techniques and Tools Paperback – 22 Sep 2006

See all formats and editions Hide other formats and editions
Amazon Price
New from Used from
"Please retry"
£73.64 £28.50
click to open popover

Special Offers and Product Promotions

Enter your mobile number below and we'll send you a link to download the free Kindle App. Then you can start reading Kindle books on your smartphone, tablet, or computer - no Kindle device required.
Getting the download link through email is temporarily not available. Please check back later.

  • Apple
  • Android
  • Windows Phone

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

Product details

Product Description

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

There are no customer reviews yet on
5 star
4 star
3 star
2 star
1 star

Most Helpful Customer Reviews on (beta) HASH(0x93d012ac) out of 5 stars 36 reviews
66 of 68 people found the following review helpful
HASH(0x93892360) out of 5 stars Outstanding reference for C, Fortran, and Pascal compilers 14 Mar. 2000
By Daniel Mall - Published on
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.
50 of 54 people found the following review helpful
HASH(0x9389230c) out of 5 stars Excellent Introductory Compiler Text 29 Sept. 1999
By A Customer - Published on
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.
51 of 59 people found the following review helpful
HASH(0x93892258) out of 5 stars Is the reputaton deserved? 1 Feb. 2007
By A Student - Published on
Format: 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.
20 of 21 people found the following review helpful
HASH(0x93892c30) out of 5 stars Has done its job well 11 Sept. 2001
By Dr. Lee D. Carlson - Published on
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.
16 of 17 people found the following review helpful
HASH(0x9387396c) out of 5 stars Take it slowly 20 July 2001
By A Customer - Published on
Format: Hardcover
"Compilers: Principles, Techniques, and Tools" (Aho, Sethi, Ullman) is a very comprehensive, detailed description of compiler technologies. Because of its great detail, you may have to take a different approach to reading this book than you would a normal programming book.
My first tip is to read the book more than once. With this in mind, it is useful to do your first reading in segments (i.e. not every page of the book). My tip is to follow the example lesson plan provided in the front of the book. It will direct you to chapters that would be used in a Compiler class. Once you have done this lesson plan, you can re-read the book from start to finish to get those extra details hidden within.
If you try to read this book in its entirety on your first try--intending to successfully grasp all of its contents--this will be difficult. My recommendations above will help those out there that want to learn about this technology, but haven't had experience with compilers before to read this book in a way that lets you absorb the great amount of information.
Other than the reading approach, a good mathematical background (algebra II and above) is recommended for grasping some of the concepts mentioned within. Also, a basic knowledge of common Computer Science concepts (binary, assembly, stack, etc.) as well as a familiarity with using compilers and multiple programming languages is very useful.
Although the book may seem overwhelming at times, with careful consideration and time spent following these guidelines, it can be done. I'm only 15 years old and have started embedding some of these concepts into my applications.
Good luck to all who read this book and happy programming!
Were these reviews helpful? Let us know