Twelve years have passed since the first edition of Modern Compiler Design.
For many computer science subjects this would be more than a life time, but since com- piler design is probably the most mature computer science subject, it is different. An adult person develops more slowly and differently than a toddler or a teenager, and so does compiler design.
The present book reflects that. Improvements to the book fall into two groups: presentation and content. The ‘look and feel’ of the book has been modernized, but more importantly we have rearranged significant parts of the book to present them in a more structured manner: large chapters have been split and the optimizing code generation techniques have been collected in a separate chapter.
Based on reader feedback and experiences in teaching from this book, both by ourselves and others, material has been expanded, clarified, modified, or deleted in a large number of places.
We hope that as a result of this the reader feels that the book does a better job of making compiler design and construction accessible.