Principles of Compiler Design

Principles of Compiler Design, by Alfred Aho and Jeffrey D. Ullman, is a classic textbook on compilers for computer programming languages.

It is often called the "dragon book" and its cover depicts a knight and a dragon in battle; the dragon is green, and labelled "Complexity of Compiler Construction", while the knight wields a lance labeled "LALR parser generator". The book may be called the "green dragon book" to distinguish it from its successor, Aho, Sethi & Ullman's Compilers: Principles, Techniques, and Tools, which is the "red dragon book". The second edition of Compilers: Principles, Techniques, and Tools added a fourth author, Monica S. Lam, and the dragon became purple; hence becoming the "purple dragon book." The book also contains the entire code for making a compiler.

The back cover offers a different viewpoint on the problem - the dragon is replaced by windmills, and the knight is Don Quixote.

The book was published by Addison-Wesley, ISBN 0-201-00022-9. The acknowledgments mention that the book was entirely typeset at Bell Labs using troff on the Unix operating system, which at that time had been little seen outside the Labs.