HOME

TheInfoList



OR:

''Principles of Compiler Design'', by
Alfred Aho Alfred Vaino Aho (born August 9, 1941) is a Canadian computer scientist best known for his work on programming languages, compilers, and related algorithms, and his textbooks on the art and science of computer programming. Aho was elected into ...
and
Jeffrey Ullman Jeffrey David Ullman (born November 22, 1942) is an American computer scientist and the Stanford W. Ascherman Professor of Engineering, Emeritus, at Stanford University. His textbooks on compilers (various editions are popularly known as the dr ...
, is a classic textbook on
compiler In computing, a compiler is a computer program that translates computer code written in one programming language (the ''source'' language) into another language (the ''target'' language). The name "compiler" is primarily used for programs that ...
s for
computer A computer is a machine that can be programmed to Execution (computing), carry out sequences of arithmetic or logical operations (computation) automatically. Modern digital electronic computers can perform generic sets of operations known as C ...
programming language A programming language is a system of notation for writing computer programs. Most programming languages are text-based formal languages, but they may also be graphical. They are a kind of computer language. The description of a programming ...
s. Both of the authors won the 2020
Turing award The ACM A. M. Turing Award is an annual prize given by the Association for Computing Machinery (ACM) for contributions of lasting and major technical importance to computer science. It is generally recognized as the highest distinction in compu ...
for their work on compilers. It is often called the "green dragon book" and its cover depicts a
knight A knight is a person granted an honorary title of knighthood by a head of state (including the Pope) or representative for service to the monarch, the church or the country, especially in a military capacity. Knighthood finds origins in the Gr ...
and a
dragon A dragon is a reptilian legendary creature that appears in the folklore of many cultures worldwide. Beliefs about dragons vary considerably through regions, but dragons in western cultures since the High Middle Ages have often been depicted as ...
in battle; the dragon is green, and labeled "Complexity of Compiler Design", while the knight wields a lance and a shield labeled "
LALR parser generator A lookahead LR parser (LALR) generator is a software tool that reads a BNF grammar and creates an LALR parser which is capable of parsing files written in the computer language defined by the BNF grammar. LALR parsers are desirable because they ...
" and "Syntax Directed Translation" respectively, and rides a horse labeled "Data Flow Analysis". 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 Monica Sin-Ling Lam is an American computer scientist. She is a professor in the Computer Science Department at Stanford University. Professional biography Monica Lam received a B.Sc. from University of British Columbia in 1980 and a Ph.D. in ...
, 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 the original inspiration of the cover design: The dragon is replaced by windmills, and the knight is
Don Quixote is a Spanish epic novel by Miguel de Cervantes. Originally published in two parts, in 1605 and 1615, its full title is ''The Ingenious Gentleman Don Quixote of La Mancha'' or, in Spanish, (changing in Part 2 to ). A founding work of Wester ...
. The book was published by
Addison-Wesley Addison-Wesley is an American publisher of textbooks and computer literature. It is an imprint of Pearson PLC, a global publishing and education company. In addition to publishing books, Addison-Wesley also distributes its technical titles through ...
, . The acknowledgments mention that the book was entirely typeset at
Bell Labs Nokia Bell Labs, originally named Bell Telephone Laboratories (1925–1984), then AT&T Bell Laboratories (1984–1996) and Bell Labs Innovations (1996–2007), is an American industrial research and scientific development company owned by mult ...
using
troff troff (), short for "typesetter roff", is the major component of a document processing system developed by Bell Labs for the Unix operating system. troff and the related nroff were both developed from the original roff. While nroff was inten ...
on the
Unix Unix (; trademarked as UNIX) is a family of multitasking, multiuser computer operating systems that derive from the original AT&T Unix, whose development started in 1969 at the Bell Labs research center by Ken Thompson, Dennis Ritchie, and ot ...
operating system An operating system (OS) is system software that manages computer hardware, software resources, and provides common services for computer programs. Time-sharing operating systems schedule tasks for efficient use of the system and may also in ...
, little of which had, at that time, been seen outside the Laboratories.


References

1977 non-fiction books Compiler construction Computer science books Addison-Wesley books Engineering textbooks {{Compu-book-stub