Compilers: Principles, Techniques, and Tools

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search
Compilers: Principles, Techniques, and Tools
The cover of the second edition (North American), showing a knight and dragon
AuthorAlfred V. Aho, Monica S. Lam, Ravi Sethi, and Jeffrey D. Ullman
LanguageEnglish
PublisherPearson Education, Inc
Publication date
1986, 2006
ISBNLua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
OCLC12285707
005.4/53 19
LC ClassQA76.76.C65 A37 1986

Compilers: Principles, Techniques, and Tools[1] is a computer science textbook by Alfred V. Aho, Monica S. Lam, Ravi Sethi, and Jeffrey D. Ullman about compiler construction for programming languages. First published in 1986, it is widely regarded as the classic definitive compiler technology text.[2]

It is known as the Dragon Book to generations of computer scientists[3][4] as its cover depicts a knight and a dragon in battle, a metaphor for conquering complexity. This name can also refer to Aho and Ullman's older Principles of Compiler Design.

First edition

[edit | edit source]

The first edition (1986) is informally called the "red dragon book" to distinguish it from the second edition[5] and from Aho & Ullman's 1977 Principles of Compiler Design sometimes known as the "green dragon book".[5] Topics covered in the first edition include:

Second edition

[edit | edit source]

Following in the tradition of its two predecessors, the second edition (2006) features a dragon and a knight on its cover, and is informally known as the purple dragon. Monica S. Lam of Stanford University became a co-author with this edition.

The second edition includes several additional topics, including:

Updated second edition

[edit | edit source]

In order to cover recent developments and issues, there is an updated second edition from Pearson Education India (4 July 2023), with contributions from Sorav Bansal. This revised and updated edition has new chapters on programming language semantics and undefined behaviour semantics.

See also

[edit | edit source]

References

[edit | edit source]
  1. ^ Aho, Sethi, Ullman, Compilers: Principles, Techniques, and Tools, Addison-Wesley, 1986. Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  2. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  3. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  4. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  5. ^ a b Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).

Further reading

[edit | edit source]
  • Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value). [1]
[edit | edit source]