Enter your mobile number or email address 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.

  • Apple
  • Android
  • Windows Phone
  • Android

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

Modern Compiler Design (Worldwide Series in Computer Science) 1st Edition

3.7 out of 5 stars 10 customer reviews
ISBN-13: 978-0471976974
ISBN-10: 0471976970
Why is ISBN important?
This bar-code number lets you verify that you're getting exactly the right version or edition of a book. The 13-digit and 10-digit formats both work.
Scan an ISBN with your phone
Use the Amazon App to scan ISBNs and compare prices.
Sell yours for a Gift Card
We'll buy it for $5.65
Learn More
Trade in now
Have one to sell? Sell on Amazon
Buy used
Condition: Used: Very Good
Comment: UsedVeryGood; Very slight edge wear otherwise very good and ready to send!
Access codes and supplements are not guaranteed with used items.
25 Used from $16.48
More Buying Choices
17 New from $46.96 25 Used from $16.48

There is a newer edition of this item:

Modern Compiler Design
Out of Print--Limited Availability.
Free Two-Day Shipping for College Students with Amazon Student Free%20Two-Day%20Shipping%20for%20College%20Students%20with%20Amazon%20Student

Save Up to 90% on Textbooks Textbooks

Editorial Reviews


"There's nothing this programmer likes more in a book than a structured, logical layout, and Modern Compiler Design has it by the bucketful. [...] this excellent book covers not just procedural languages, but object-oriented, functional, logic and parallel/distributed languages too. [...] a well-written and thorough book [...] recommended for the compiler novice." - David Johns in Application Development Advisor, Nov/Dec 2000

From the Back Cover

A compiler is one of the most vital parts of a computer?s system software, translating programs written in a high-level language into low-level commands that the machine can understand and execute. Most compiler design books focus only on techniques for imperative (or procedural) languages like C or Pascal, whereas Modern Compiler Design also covers compilation techniques for object-oriented, functional, logic and distributed languages. Features of the book include:
  • A focus on essential traditional and advanced techniques common to all language paradigms, giving readers the skills required for modern compiler construction.
  • Coverage of all the major programming language types - imperative, object-oriented, functional, logic and distributed languages.
  • A practical emphasis on implementation and optimization techniques, including tools for automating compiler design.
  • A strong intuitive style, illustrated by many practical examples.
All the authors are experienced teachers and researchers in programming languages and their implementation and have acquired a wealth of experience in compiler construction for a variety of languages. This experience has also been reflected in previous texts on Programming Languages, Programming Distributed Systems and Parsing Techniques.

Product Details

  • Series: Worldwide Series in Computer Science (Book 3)
  • Paperback: 754 pages
  • Publisher: Wiley; 1st edition (October 11, 2000)
  • Language: English
  • ISBN-10: 0471976970
  • ISBN-13: 978-0471976974
  • Product Dimensions: 7.5 x 1.6 x 9.4 inches
  • Shipping Weight: 3 pounds
  • Average Customer Review: 3.7 out of 5 stars  See all reviews (10 customer reviews)
  • Amazon Best Sellers Rank: #1,416,623 in Books (See Top 100 in Books)

Customer Reviews

Top Customer Reviews

Format: Paperback
I bought this book as an introduction to Compiler Design and to that end I have found it quite useful. The material is dense, so expect to have to re-read chapters quite often. Also, I have found it necessary to supplement this book with additional resources to fully understand what Grune is attempting to explain, particularly with chapter 3, which covers attribute grammars. The book's english can be poor sometimes so expect to have to back-track over convulted sentences. Overall, however, this book succeeds in being useful as an introduction to the theory. The authors skip implementation details, so if you are expecting to be able to actually write a compiler when you are done, you are going to be needing additional sources.
Pros: 1)great introduction to theory and maintains enough detail in each section to keep you interested. 2) Book is organized well. Each chapter represents the next step in compiler design. 3) This book covers theory, not implementation...it does not bind itself to one particular language
Cons: 1) Expect to check-out or buy additional reading to supplement this book. 2) The english often leaves something to be desired. 3) The excercises at the end of each chapter were obviously just "thrown-in" at the end. They are quite poor.
Comment 27 of 27 people found this helpful. Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
By A Customer on June 4, 2001
Format: Paperback
This is really an excellent book that proves that a computer science text can have huge scope and be rigorous yet still do a good job of teaching and presenting its topics. Well written and laid-out. I would recommend it to anyone doing a course in compilers, provided you know the relevant chapters to choose to read (it goes way beyond the scope of an intro course) and any more advanced course. This book was actually recommended to over the "dragon book". It is more up-to-date and relevant.
Comment 15 of 16 people found this helpful. Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
Format: Paperback
Yes, this is a good text about compilers, mainly about theory. It has good insights into the area of compiler design, and it approaches many topics with ideas that aren't common in compiler books. However, many of these topics are only touched upon, with no depth, requiring you to look for other references.

Other very good feature of the book is covering compilation of languages from other paradigms. Most compiler books are geared towards mainstream imperative and object-oriented languages. This one has chapters on compilation of functional, logic and parallel programming languages as well. There is ample evidence that declarative programming paradigms in general, and functional programming in particular, are becoming ever more important in the computing industry, and this trend should go on. After all, throughout all the history of computing, the trend was always to go for more abstraction and less implementation details. So it's important to take contact with other paradigms.

Ok, so it's good in general. But it is incredibly boring to read, and I say that as someone who's very into compilers and own a lot of books on the subject. As another reviewer said, the text is often convoluted and hard to read; the organization is mostly good, but it tends to have big sections and big chapters (some very big chapters). Add to that the completely uninspiring layout and typography -- really, it's a very dull and bland look -- and I had serious trouble to read some chapters. Besides, the pseudo-code notation is really bad; better typography for the pseudo-code sections could help too.

To sum it up, if you only have to buy a single book on compilers, I would recommend against this one.
Read more ›
Comment 8 of 8 people found this helpful. Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
By F. Gagnon on October 27, 2003
Format: Paperback
Overall, this is an excellent book for compilers. It covers a broad range of concepts. On think that I like is that the authors didn't take the very popular approach of "hey, let's write a small subset of Pascal". They actually only covers the concepts. So, this is not a beginner's book.
Algorithms are written in "english pseudo-code" and, altought I tought it'd be a good idea, it ended up being harder to read than the "usual pseudo-code" (like in the Dragon book).
Comment 10 of 12 people found this helpful. Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
By A Customer on September 22, 2001
Format: Paperback
Don't buy this book if you're looking for an introduction to compilers. I've purchased or borrowed 5 books on compiler design and this and Dragon are the least well written. This book does not suffer from the organization problems of the Dragon book, but it never provides simple overviews/explanations of a topic before diving head first into it. And it takes a heck of a lot of words for the authors to say anything. It is a chore to read. It is not the depth that is a problem. Intro to Algorithms and Advanced Compiler Design are as rigorous as this text, and yet I found them to be a lot more succinct and enjoyable.
If you have already read an introductory book on the topics it covers, you should be OK with this text if you can stand the high word to concept ratio. After trying to stay awake for the first few chapters and not understanding the treatment of lexing and transition tables at all, and after skimming through some of the later chapters, I can say for sure that I will only use this book when I can find no other reference. It does cover topics not found in any other text - which is the only reason I'm keeping it.
If you are starting out, then buy "Programming Language Processors in Java: Compilers and Interpreters" by Watt, Brown and Brown. It is far more appropriate for anyone not versed in basic compiler theory. Also, "Constructing Language Processors for Little Languages" is a pretty good introduction.
For advanced reading, I much prefer "Advanced Compiler Design".
Comment 16 of 22 people found this helpful. Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse