Goodreads helps you keep track of books you want to read.
Start by marking “Compilers: Principles, Techniques, and Tools” as Want to Read:
Compilers: Principles, Techniques, and Tools
Enlarge cover
Rate this book
Clear rating
Open Preview

Compilers: Principles, Techniques, and Tools

4.09  ·  Rating details ·  2,906 ratings  ·  59 reviews
This introduction to compilers is the direct descendant of the well-known book by Aho and Ullman, Principles of Compiler Design. The authors present updated coverage of compilers based on research and techniques that have been developed in the field over the past few years. The book provides a thorough introduction to compiler design and covers topics such as context-free ...more
Hardcover, 796 pages
Published 1986 by Addison-Wesley Publishing Company
More Details... Edit Details

Friend Reviews

To see what your friends thought of this book, please sign up.

Reader Q&A

Community Reviews

Showing 1-30
Average rating 4.09  · 
Rating details
 ·  2,906 ratings  ·  59 reviews

More filters
Sort order
Start your review of Compilers: Principles, Techniques, and Tools
Ben Haley
Sep 07, 2009 rated it really liked it
The notorious dragon book shows us the manifold concerns surrounding the translation of high-level programming languages down to the binary codes palatable by machine hardware. Where computer organization and design showed the rock bottom of computing, Aho has built a submarine necessary to descending to those depths. This allegorical submarine is old and sometimes creaky, but its iron hull shows no sign of breaking up despite the rapid changes happening on the surface.
Apr 03, 2008 rated it really liked it
There are certain books that everyone (in a relevant technical field) knows. Baby Rudin, CLR, Patterson-Hennessy, Golub and Van Loan, and Kernighan and Ritchie are all fine examples. The Dragon Book is another fine example, despite this odd reputation it has for being too dryly theoretical. We used it when I took compilers, and I've used it as a reference for myself when working on or teaching about compilers and interpreters. When I taught compilers, we used Appel's Modern Compiler Implementati ...more
Koen Crolla
Damned boring. The Dragon Book is one of those ones that shows up on everyone's Top \d+ CS/Dev Books list, but it's one of the ones that are there because you're supposed to be impressed with the implication that the list-maker got all the way through it, not because it's genuinely great.
It has all the information you need to write a functioning compiler for almost any kind of language you'd want to write a compiler for,† it just lays that information out in the dullest, most laborious way possi
Mar 05, 2011 rated it it was amazing
Shelves: own, tech
Meat and potatoes for any aspiring software engineer.

Despite its age, this book still gives a fairly solid understanding of parser, compiler and optimisation techniques.
Its pretty dry, and heavy reading, but it shows you techniques you'll still be referring back to years later
Scott King
Nov 23, 2012 rated it it was amazing
I took "Compilers", otherwise known as CS444, at the University of Waterloo over 20 years ago. What a fantastic course and a fantastic book! We worked in teams of 3 or 4 and developed a full-fledged compiler in one frantic term. I remember the sleepless nights (literally) leading up to the deadline, staying up probably 72 hours straight to get the last few bugs out. But it worked! The book was excellent and helped us all figure out what to do. ...more
Saurabh Jha
Good content, horrendous writing.

The good thing about this book is it is comprehensive and covers a lot of ground from different vantage points. For example, the parsing chapters also cover the design of lex and yacc apart from basic topics. The type checking and runtime environment chapters had examples from C and ML to cover different scenarios.

Now the bad parts. The book is awfully written and I cannot understand how can a book in its 2nd (or 3rd?) edition continue to be so bad. It was shoddy
Vladimir Kameñar
Oct 08, 2021 rated it it was amazing
This book teaches an abstract way of thinking. In theory anyone can write a compiler without reading this book. I suppose that most people who read this book don't write any compilers. However, this book did change my programming mentality. It's one of the very few books I do recommend. ...more
Richard Callaby
Aug 15, 2017 rated it it was amazing
This book can be a bit esoteric and hard to understand. There are several other books that go into greater detail that can help fill in the gaps that are left out of this book. I wouldn't read this book by itself to gain enough knowledge to really grasp the subject. As well, there are many good open source compilers I would recommend anyone download and examine to understand how a compiler works in this modern age.

This is a book you keep on your shelf to impress other geeks who may pass by. With
Frederic Desgreniers
Jul 09, 2018 rated it really liked it
Really good book that helps understand how compilers work. However, it's very heavy reading and somewhat outdated compared to alternatives. Would still recommend for anyone that wants to get into compilers. ...more
Lane Surface
May 03, 2019 rated it it was amazing
Currently reading, but overall this book is very digestible for me. I haven't found myself easily lost. The language used is clear and comprehensive. Maybe a little dry at times, though the content is quite academic in nature, so that is to be expected. ...more
James Dixson
Feb 24, 2011 rated it really liked it
I have in fact read this book cover to cover. The modeling of Regex parsing in terms of language is among the most fundamental insights and transformative in my understanding of computer systems.
Jie Fu
Jun 17, 2014 rated it really liked it
I read this classic book years ago for preparing for GRE Subtest
Chandan Khatwani
Jul 25, 2017 rated it it was amazing
Great book for detailed explanation of compilers
Feb 07, 2019 rated it really liked it  ·  review of another edition
A classic but now bit dated but the basics in this field haven't changed much. I would speculate not knowing too much yet about certain aspects of modern compiler design research yet that one would have to in order to get a full picture look at recent PLDI and POPL proceedings. I find the text compared to say Sipser for example lacking in clarity in terms of presentation which is why I took off a star. It's a bit too note like and driven by examples as opposed to consisting of well structured ex ...more
Alfredo Amatriain
Jan 21, 2018 rated it did not like it
I've read few technical books that make such a bad attempt at being instructive. What should be an interesting subject matter is weighted by the most convoluted and hard to follow explanations imaginable. This book proves that it's not enough to be knowledgeable about a subject to write about it: you have to be able to lay out your ideas so they are no harder to grasp than necessary. That's where this book utterly fails. ...more
Apr 23, 2020 rated it liked it  ·  review of another edition
Rather theoretical take on the subject, I clearly got better understanding what compilers (parsers, lexers, optimisers etc) do, but I doubt I'd get far with just that knowledge. Especially in the world of LLVM or Roslyn. So have a scan if you must, but looks elsewhere for practical details (TODO: update the review with link to blog entry once I know where to look ;-) ...more
May 24, 2022 rated it it was amazing  ·  review of another edition
Excellent reference with thorough coverage of core concepts. Not particularly approachable as a first text on the subject without some external guidance, but covers many useful techniques with utility beyond just compiler construction. I suspect I am more likely to return to this one for reference than many other course-assigned texts in the future.
Jan 12, 2020 marked it as to-read
from where i can get this complete book to read ...?
Aug 12, 2021 rated it did not like it
Shelves: textbook
THE standard compiler textbook, but so badly written with no regard for didactics. Avoid this one and go for a better alternative, such as "Engineering a Compiler" by Keith D. Cooper. ...more
I won't recommend the book for newbie.
The learning curve is too cliffy.
The renowned Dragon-Book. I'm happy to own the original 1986 edition with the red dragon and the knight on its cover. The cover of the newer edition (2006) is pretty dull.

I read this as part of my studies in computer-science way back when. Some people might tell you it's rather theoretical, but I don't think so. It has sparked my interest in compiler construction, formal languages and more. This interest never left me, so you can say this book was kind of a life changing read.

Update Dec.21 2014
Dec 20, 2015 rated it it was ok
Follow along textbook for Coursera Stanford Compilers class. Definitely useful to have to flesh out details left out of lecture videos. Not necessary for doing the programming assignments.

Mediocre as a textbook. Content is fine, maybe even too many examples, but typesetting makes the text more difficult to read. Sections and terms are referenced before their definitions. Key definitions are italicized rather than bolded and indented making them hard to find. The authors instead chose to bold pro
Jul 17, 2013 rated it it was amazing
Shelves: compsci
This is the definitive compilers text. Just mention "The Dragon Book" to any computer scientist and they will instantly know you're referring to this legendary book. It's not easy reading, but it does everything a good, advanced textbook or reference book should do: it is succinct, complete, and holds no punches. ...more
Jul 26, 2014 rated it it was amazing
Not necessarily the easiest book to read, but a good treatment of compiler and optimiser design. Although the (computer) language is dated, and there are other books that deal with more modern languages, nevertheless this gives a good foundation for understanding the issues and algorithms involved in developing programs to parse languages.
Aug 16, 2012 rated it it was amazing
The Dragon Book - a classic! This was the text book for my "Compiler Theory" class in college (many many years ago!). This was the text book from which I learned how to use a finite state machine to compile a language given its grammar. ...more
May 10, 2013 rated it really liked it
I was worried that this book would be entirely over my head, but in fact, it's very clearly written and easy to follow. The section of data flow analysis in service of optimization gets a little bit dense, though. ...more
Jul 12, 2013 rated it really liked it
Did not read the new chapters on optimization (read the rest of the book however). Helped clear up some things when I took Compilers in college. I feel that Louden's book is significantly better for the beginner though. ...more
Jeremy Frens
This is easily the most overrated textbook. In any discipline. Get Engineering a Compiler instead. ...more
Jeremy West
Apr 21, 2016 rated it really liked it  ·  review of another edition
Made it through the fundamental chapters related to my intro to compilers course: scanning, parsing, type checking, and code generation. Seems to be a great resource, much better than the text assigned by the Professor. The examples and algorithms were helpful in understanding the core concepts.
Sep 05, 2007 rated it really liked it
Shelves: computing, 2times
The classic book on compilers. The edition that I read is a bit outdated compared to current compiler technology, but the foundations are solid.
« previous 1 next »
There are no discussion topics on this book yet. Be the first to start one »

Readers also enjoyed

  • Introduction to Algorithms
  • Design Patterns: Elements of Reusable Object-Oriented Software
  • Modern Operating Systems
  • The C Programming Language
  • The Pragmatic Programmer: From Journeyman to Master
  • Computer Networks
  • Code Complete
  • Clean Code: A Handbook of Agile Software Craftsmanship
  • Cracking the Coding Interview: 150 Programming Questions and Solutions
  • Refactoring: Improving the Design of Existing Code
  • Artificial Intelligence: A Modern Approach
  • Introduction to Automata Theory, Languages, and Computation
  • Head First Design Patterns
  • The C++ Programming Language
  • Domain-Driven Design: Tackling Complexity in the Heart of Software
  • The Algorithm Design Manual
  • The Mythical Man-Month: Essays on Software Engineering
  • Operating System Concepts
See similar books…

Goodreads is hiring!

If you like books and love to build cool products, we may be looking for you.
Learn more »

News & Interviews

The common problem of "too many books, too little time" can reach truly dire proportions when you work on the Goodreads editorial team. After...
27 likes · 4 comments