Sell Back Your Copy
For a $5.67 Gift Card
Trade in
Have one to sell? Sell yours here
Modern Compiler Implementation in C
 
 
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.

Modern Compiler Implementation in C [Hardcover]

Andrew W. Appel (Author), Maia Ginsburg (Contributor)
2.9 out of 5 stars  See all reviews (10 customer reviews)


Available from these sellers.


Formats

Amazon Price New from Used from
Hardcover --  
Paperback $59.90  

Book Description

December 13, 1997
This new, expanded textbook describes all phases of a modern compiler: lexical analysis, parsing, abstract syntax, semantic actions, intermediate representations, instruction selection via tree matching, dataflow analysis, graph-coloring register allocation, and runtime systems. It includes good coverage of current techniques in code generation and register allocation, as well as functional and object-oriented languages, that are missing from most books. In addition, more advanced chapters are now included so that it can be used as the basis for a two-semester or graduate course. The most accepted and successful techniques are described in a concise way, rather than as an exhaustive catalog of every possible variant. Detailed descriptions of the interfaces between modules of a compiler are illustrated with actual C header files. The first part of the book, Fundamentals of Compilation, is suitable for a one-semester first course in compiler design. The second part, Advanced Topics, which includes the advanced chapters, covers the compilation of object-oriented and functional languages, garbage collection, loop optimizations, SSA form, loop scheduling, and optimization for cache-memory hierarchies.


Editorial Reviews

Book Description

This new, expanded textbook describes all phases of a modern compiler, including current techniques in code generation and register allocation, for imperative, functional and object-oriented languages. In a concise and practical way the author describes the fundamentals of compilation and then moves on to advanced topics such as SSA form, loop scheduling, and optimization for cache-memory hierarchies. A unique feature is a compiler implementation project in C, including front-end and 'high-tech' back-end phases.

Product Details

  • Hardcover: 554 pages
  • Publisher: Cambridge University Press; Rev Exp Su edition (December 13, 1997)
  • Language: English
  • ISBN-10: 052158390X
  • ISBN-13: 978-0521583909
  • Product Dimensions: 9.5 x 7.5 x 1.4 inches
  • Shipping Weight: 2.5 pounds
  • Average Customer Review: 2.9 out of 5 stars  See all reviews (10 customer reviews)
  • Amazon Best Sellers Rank: #284,239 in Books (See Top 100 in Books)

More About the Author

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

 

Customer Reviews

10 Reviews
5 star:
 (2)
4 star:
 (3)
3 star:    (0)
2 star:
 (2)
1 star:
 (3)
 
 
 
 
 
Average Customer Review
2.9 out of 5 stars (10 customer reviews)
 
 
 
 
Share your thoughts with other customers:
Most Helpful Customer Reviews

23 of 24 people found the following review helpful:
5.0 out of 5 stars Excellent theory book, September 8, 1999
By A Customer
This review is from: Modern Compiler Implementation in C (Hardcover)
This is a very good book on modern compilers. It covers some crucial tochniques that the Dragon Book does not, such as pipelining, handling superscalar and RISC processors, tail recursion, polymorphism and OO languages, etc. These things were unknown when the Dragon Book was written. Its treatment of compiler basics is not as good as that in the Dragon Book, but the additional material makes it about as valuable. NOTE: This is a theory book, not a cookbook. You are not buying code, you are buying a reference you can use when writing code. You will still have to do your own thinking and your own coding.
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


18 of 20 people found the following review helpful:
4.0 out of 5 stars Excellent concept, fair execution, April 10, 2001
This review is from: Modern Compiler Implementation in C (Hardcover)
I 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.

Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


10 of 10 people found the following review helpful:
5.0 out of 5 stars This is actually a decent book, March 11, 2004
This review is from: Modern Compiler Implementation in C (Hardcover)
Despite 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.

Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No

Share your thoughts with other customers: Create your own review
 
 
 
Most Recent Customer Reviews








Only search this product's reviews



Inside This Book (learn more)
Browse and search another edition of this book.
First Sentence:
This book describes techniques, data structures, and algorithms for translating programming languages into executable code. Read the first page
Key Phrases - Capitalized Phrases (CAPs): (learn more)
Maximal Munch, I-Fetch Read Unpack, Webster's Dictionary, Round Write, Perform Algorithm, Analyze Algorithm, Tiger Language Reference Manual
New!
Concordance | Text Stats
Browse Sample Pages:
Front Cover | Table of Contents | First Pages | Index | Back Cover | Surprise Me!
Search Inside This Book:


What Other Items Do Customers Buy After Viewing This Item?


Suggested Tags from Similar Products

 (What's this?)
Be the first one to add a relevant tag (keyword that's strongly related to this product).
 
(9)

Your tags: Add your first tag
 

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

Customer Discussions

This product's forum
Discussion Replies Latest Post
No discussions yet

Ask questions, Share opinions, Gain insight
Start a new discussion
Topic:
First post:
Prompts for sign-in
 


Active discussions in related forums
Search Customer Discussions
Search all Amazon discussions
   
Related forums





Look for Similar Items by Category


Look for Similar Items by Subject