Skip to content
Paperback Modern Compiler Implementation in C Book

ISBN: 0521607655

ISBN13: 9780521607650

Modern Compiler Implementation in C

Select Format

Select Condition ThriftBooks Help Icon

Recommended

Format: Paperback

Condition: New

$92.99
50 Available
Ships within 2-3 days

Book Overview

This new, expanded textbook describes all phases of a modern compiler: lexical analysis, parsing, abstract syntax, semantic actions, intermediate representations, instruction selection via tree... This description may be from another edition of this product.

Customer Reviews

5 ratings

This is actually a decent book

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.

Excellent concept, fair execution

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.

Excellent theory book

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.

Informative.

The author of this book addressed all the issues that I needed to resolve. It is not a "spoon feed" approach, however there is enough examples to explain the authors ideas.I won't recommend the book for people who likes a "copy-paste" approach.

Good, but error-ridden

This book provides a great overview of compiler-writing in general, with excellent discussions of issues like parsing, code generation, register allocation, and optimizations. This particular version (the C version) of the book, however, seems to contain a lot of typos in the code samples -- even without a compiler, I could see that most of them will not compile. If you can figure out what he meant, however, the algorithms are very sound.
Copyright © 2023 Thriftbooks.com Terms of Use | Privacy Policy | Do Not Sell/Share My Personal Information | Cookie Policy | Cookie Preferences | Accessibility Statement
ThriftBooks® and the ThriftBooks® logo are registered trademarks of Thrift Books Global, LLC
GoDaddy Verified and Secured