Principles of Compiler Design

From Wikipedia, the free encyclopedia

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" because its cover depicts a knight and a dragon in battle; the dragon is green, and labeled "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" because the dragon on its cover is red. The second addition 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 back cover offers a humorously different viewpoint on the problem - the dragon is replaced by windmills, and the knight is Don Quixote.

Principles of Compiler Design is now rather dated, but when it came out in 1977, it was hailed for its practical bent; it included treatments of all compilation phases, with sufficient algorithmic detail that students could build their own small compilers in a semester.

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.

Languages