
Enjoy fast, free delivery, exclusive deals, and award-winning movies & TV shows with Prime
Try Prime
and start saving today with fast, free delivery
Amazon Prime includes:
Fast, FREE Delivery is available to Prime members. To join, select "Try Amazon Prime and start saving today with Fast, FREE Delivery" below the Add to Cart button.
Amazon Prime members enjoy:- Cardmembers earn 5% Back at Amazon.com with a Prime Credit Card.
- Unlimited Free Two-Day Delivery
- Streaming of thousands of movies and TV shows with limited ads on Prime Video.
- A Kindle book to borrow for free each month - with no due dates
- Listen to over 2 million songs and hundreds of playlists
- Unlimited photo storage with anywhere access
Important: Your credit card will NOT be charged when you start your free trial or if you cancel during the trial period. If you're happy with Amazon Prime, do nothing. At the end of the free trial, your membership will automatically upgrade to a monthly membership.
Buy new:
-14% $85.61$85.61
Ships from: Amazon.com Sold by: Amazon.com
Save with Used - Good
$64.99$64.99
Ships from: Amazon Sold by: Shop On Satara

Download the free Kindle app and start reading Kindle books instantly on your smartphone, tablet, or computer - no Kindle device required.
Read instantly on your browser with Kindle for Web.
Using your mobile phone camera - scan the code below and download the Kindle app.
Follow the author
OK
Modern Compiler Implementation in C
Purchase options and add-ons
- ISBN-100521607655
- ISBN-13978-0521607650
- PublisherCambridge University Press
- Publication dateAugust 21, 2008
- LanguageEnglish
- Dimensions7.44 x 1.26 x 9.69 inches
- Print length556 pages
Frequently bought together

Customers who viewed this item also viewed
Editorial Reviews
Book Description
Product details
- Publisher : Cambridge University Press (August 21, 2008)
- Language : English
- Paperback : 556 pages
- ISBN-10 : 0521607655
- ISBN-13 : 978-0521607650
- Item Weight : 2.25 pounds
- Dimensions : 7.44 x 1.26 x 9.69 inches
- Best Sellers Rank: #2,690,150 in Books (See Top 100 in Books)
- #191 in Software Programming Compilers
- #2,497 in Software Development (Books)
- #6,311 in Computer Software (Books)
- Customer Reviews:
About the author

Discover more of the author’s books, see similar authors, read book recommendations and more.
Customer reviews
Customer Reviews, including Product Star Ratings help customers to learn more about the product and decide whether it is the right product for them.
To calculate the overall star rating and percentage breakdown by star, we don’t use a simple average. Instead, our system considers things like how recent a review is and if the reviewer bought the item on Amazon. It also analyzed reviews to verify trustworthiness.
Learn more how customers reviews work on AmazonTop reviews from the United States
There was a problem filtering reviews. Please reload the page.
- Reviewed in the United States on March 11, 2004Despite what others have said in their reviews, this is not a bad book at all for those who *already have some basic exposure to compiler theory.*
This book is weak on types of grammars and the differences between LL, LR and LALR parsers for instance, and could include a hell of a lot more material on using parser generators. BUT it includes a lot of readable material on more advanced topics like code generation and garbage collection. It covers the design and implementation of object oriented languages, which is a pleasant suprise.
Before tackling this book, I recommend starting with something like "Crafting a Compiler with C" by Fischer and LeBlanc. Before using this book, you must have a masterful command of the C language (in my opinion the C code is unusually ugly in this book, too).
I don't care too much for the ongoing project of the Tiger language and compiler, but it's better than nothing. (The author may as well have compiled Pascal instead).
I've covered a fair amount work and even then had to read this book carefully. I've tackled books like "Compilers: Principles, Techniques and Tools" (the so called Dragon Book) and "Crafting a Compiler with C," amongst dozens of others. This is not a light read, and it is quite dense. But it's straight to the point, and covers material other compiler construction books don't.
One of the high points of this book is that it won't put you to sleep! It really IS readable. Finally, I will emphasise again, this is not a beginner's text.
- Reviewed in the United States on May 24, 2001The book is fairly good. Covers the compiler theory pretty well, and includes a good coverage of advanced topics at the end. I gave it a low rating because the project really kills this book. The first 12 chapters are a walk-through gide for building a compiler for the tiger language (which the author defined). The tiger language itself is weird at first since it doesn't have any statements. It only has expressions. Besides, the language is not thoroughly documented in the book and leaves a lot of things open for the implementor. At any rate, after building the first few chapters (about the time you've done the parse tree) the book starts to get confusing, dedicating more and more space to describe the bits and pieces of the project (which I read somewhere was ported to C from ML). All in all it's a good reference book, but it's really confusing if this is your primary text. I'd recommend it as a secondary textbook. And I wouldn't recommend tiger for a compiler project, better use decaf (search google).
- Reviewed in the United States on September 19, 2006Thought that this might be a second edition of this book (there is a second edition of Appel's Java book).
However, this is a "Paperback Re-Issue" of the original 1997 edition.
- Reviewed in the United States on August 10, 2016Appel spends far too much time wrestling with C over actually explaining compilers. After talking to others, it appears the ML version of this book is the way to go, and the Java version suffers the same problems as the C version.
- Reviewed in the United States on April 9, 2015From the chapters we have covered in the course at my University, the overall impression of the book is great.
Some topics contain various algorithms and approaches to the same problem, which may be confusing at first,
but when the concepts are grasped provides great understanding.
But the inline-code presented is not very readable (bad formatting and naming conventions) in my opinion.
The parts that are independent of the concrete compiler-project presented in the book are the best.
- Reviewed in the United States on April 10, 2001I chose this textbook for a five-student independent study course. The book's concept is great: Define a substantial language, and describe a compiler for it over the semester, having the students write the interesting bits. I was excited to read this text and do the project with my students.
The book (at least the first half) stands or falls on the project. The project itself is outstanding - there are several interesting tidbits. It's probably too large for a three-credit course at most institutions - I had to pare it down by giving additional pieces to my students.
Unfortunately, the project destroys the book. The book devotes large portions of the first half to trying to explain it. Explanations are only marginally coherent. To make sense, the project desperately needs detailed, low-level documentation, listing each function of each module and what it does. Additionally, it would work better if there were a clearer distinction of where the theory ends and the project begins.
The program is itself well-structured on the high level. Within functions, they need to format code properly. They do some interesting things with trying to do functional programming within C - a controversial move, but not one that I mind. The definite impression I get is that the publishers demanded a C version against Appel's will. I haven't read the Java or ML versions, but I bet the code is better (especially ML).
Outside the project, I found the book strong. The algorithms are well-presented, with lots of outstanding examples. (My students found them confusing; I attribute that to the material's inherent difficulty, not the writing.) It does a thorough job, but not overly thorough. Some of the later chapters on advanced topics I've found slightly less complete - but they're advanced topics, after all.
I'd recommend it over the dragon book; but it's a close call. But this could be so much better so easily... Appel just needs to flesh out the project, and he'd have a truly great book.
- Reviewed in the United States on August 10, 1999Not so bad, not so good... it has good topics, but there are not implementation of how to build it, the small number of sample have some unique (rare) style... if you intent to write your first compiler this is NOT your book, if you already made one and pass for some frustating issues then this is your book...