Jump to ratings and reviews
Rate this book

Introduction to Compiler Design

Rate this book
The third edition of this textbook has been fully revised and adds material about the SSA form, polymorphism, garbage collection, and pattern matching. It presents techniques for making realistic compilers for simple to intermediate-complexity programming languages. The techniques presented in the book are close to those used in professional compilers, albeit in places slightly simplified for presentation purposes. "Further reading" sections point to material about the full versions of the techniques. All phases required for translating a high-level language to symbolic machine language are covered, and some techniques for optimising code are presented. Type checking and interpretation are also included.
Aiming to be neutral with respect to implementation languages, algorithms are mostly presented in pseudo code rather than in any specific language, but suggestions are in many places given for how these can be realised in different language paradigms.
Depending on how much of the material from the book is used, it is suitable for both undergraduate and graduate courses for introducing compiler design and implementation.

309 pages, Paperback

First published August 2, 2011

5 people are currently reading
16 people want to read

About the author

Ratings & Reviews

What do you think?
Rate this book

Friends & Following

Create a free account to discover what your friends think of this book!

Community Reviews

5 stars
2 (40%)
4 stars
1 (20%)
3 stars
1 (20%)
2 stars
1 (20%)
1 star
0 (0%)
Displaying 1 of 1 review
Profile Image for Mark Seemann.
Author 3 books491 followers
September 19, 2024
This was the textbook for a course I followed on compiler design. It was at just the right level for me, being challenging enough to keep it interesting, but not so difficult as to make things frustrating.

The chapter on data-flow analysis and optimization was the one I struggled with the most, but I think it was mostly because we were asked to read it out of order. It would probably make more sense to me if I had just read it in the order of the book, since it assumes knowledge of what comes before, but I haven't tried to reread it like that.

The course had some practical exercises that made many of the book's points and lessons easier to understand. I think that if I had only had the book, it would have left me with a sense of being a bit too abstract, but as a textbook accompanying a well-put-together university course, it worked great.
Displaying 1 of 1 review

Can't find what you're looking for?

Get help and learn more about the design.