Cover of Compilers, principles, techniques, and tools

Compilers, principles, techniques, and tools

by Alfred V. Aho, Monica S. Lam, Ravi Sethi, Jeffrey D. Ullman · first published 1986

958mentions
195recommended by
659HN commenters
2007–2026first – last mentioned

29% recommend50% neutral20% critical

Why HN recommends it

Thorough, reference-style grounding in compiler construction, from lexing and LALR parsing to code generation. Recommended as a starting point for serious study. Suits readers who handle dry, mathematical text.

Common criticism: Some find it dated and light on analysis and optimization

Summarised by Claude from recommending comments

This book covers topics related to the functionality and design of compilers, including: - Compiler structure - Lexical analysis (including regular expressions and finite automata) - Syntax analysis (including context-free grammars, LL parsers, bottom-up parsers, and LR parsers) - Syntax-directed translation - Type checking (including type conversions and polymorphism) - Run-time environment (including parameter passing, symbol tables, and storage allocation) - Code generation (including intermediate code generation) - Code optimization

Affiliate links. As an Amazon Associate I earn from qualifying purchases.

Mentions per year

740 2007: 2 mentions2008: 23 mentions2009: 20 mentions2010: 50 mentions2011: 32 mentions2012: 45 mentions2013: 34 mentions2014: 29 mentions2015: 55 mentions2016: 49 mentions2017: 59 mentions2018: 27 mentions2019: 56 mentions2020: 43 mentions2021: 74 mentions2022: 50 mentions2023: 60 mentions2024: 32 mentions2025: 39 mentions2026: 54 mentions200720172026

What Hacker News says

  • peterkelly · Dec 14, 2015 · Recommends

    For anyone interested in compiler writing and looking for a good resource to start, probably one of the best is the "Dragon Book": http://www.amazon.com/Compilers-Principles-Techniques-Tools-... I highly recommend it, but it's heavy stuff. There are probably simpler guides out there that just cover the basics.

    on “How I wrote a self-hosting C compiler in 40 days” ↗
  • DoofusOfDeath · Jun 5, 2017 · Recommends

    Some of the most interesting books I've read in support of my software-development work are: * "Compilers: Principles, Techniques, & Tools" by Aho et al. (i.e., "the dragon book") * "Data Flow Analysis: Theory and Practice" by Khedker et al. * "Understanding MySQL Internals" by Sasha Pachev. * "Transaction Processing: Concepts and Techniques" by Gray and Reuter. * "Fundamentals of Wireless C

    on “Ask HN: What language-agnostic programming books should I read?” ↗
  • groovy2shoes · Oct 30, 2013 · Recommends

    …working compiler from scratch. If you have never built a compiler before, I cannot think of a better place to start. Afterward, if you're curious about theory and advanced topics, I recommend heading to Compilers: Principles, Techniques, and Tools by Aho, Sethi, and Ullman (which covers a lot of theory associated with front-ends) then proceeding to Modern Compiler Construction in ML by Appel (which covers some more advanced topics and back-end…

    on “Let’s Build a Compiler (1995)” ↗
  • yummyfajitas · Jul 6, 2010 · Recommends

    …(buy the book if you can afford it): Witten, Moffat, Bell. Managing gigabytes: compressing and indexing documents and images (How to build a search engine) Aho A.V., Lam M.S., Sethi R., Ullman J.D. Compilers: Principles, techniques, and tools (Dragon book) Anyone else have any suggestions?

  • dfranke · Aug 22, 2007 · Recommends

    In no particular order: The Art of Computer Programming, by Knuth Compilers: Principles, Techniques, and Tools by Aho, Sethi, and Ullman (the dragon book) Structure & Interpretation of Computer Programs, by Abelson and Sussman On Lisp, by Graham A First Course in Database Systems, by Ullman and Widom The C…

    on “News.YC Library” ↗
  • Bjoern · May 11, 2009 · Recommends

    I can only recommend the "Dragon Book". Its old but really a great intro into Compilers. I had the benefit of working with it must say I didn't find anything better so far. Compilers: Principles, Techniques, and Tools by Alfred V. Aho (Author),…

    on “Basics of Compiler Design [pdf]” ↗
  • nostrademons · Nov 12, 2009 · Recommends

    The classic is the "Dragon Book": http://www.amazon.com/Compilers-Principles-Techniques-Alfred... I'm also partial to Appel's "Modern Compiler Implementation in ML", because it goes into more detail about techniques for compiling…

    on “Google Closure: How not to write Javascript” ↗
  • milin · Nov 16, 2013 · Recommends

    The Dragon Book. http://www.amazon.com/Compilers-Principles-Techniques-Alfred...

    on “Introduction to the Python Interpreter, Part 1: Function Objects” ↗
  • jjuhl · Aug 8, 2015 · Recommends

    …signal-to-noise ratio: - Computer Organization and Design, Fourth Edition: The Hardware/Software Interface - Advanced Programming in the UNIX Environment - Effective Modern C++ - SFML Game Development - Compilers: Principles, Techniques, and Tools

    on “Ask HN: Books with a high signal to noise ratio?” ↗
  • randcraw · Nov 22, 2016 · Recommends

    These books are all venerable CS standards (AKA bibles) that teach principles well, though probably not the most up-to-date: "Compilers, Principles, Techniques and Tools", by Aho, Ullman, Sethi, Lam "Artificial Intelligence: A Modern Approach", by Russell, Norvig "Computer Architecture: A Quantitative Approach", by Patterson, Hennessy "Computer Networks", by Tannenbaum…

    on “Ask HN: What are the bibles of Computer Science?” ↗
  • dvt · Sep 4, 2017 · Recommends

    …https://github.com/dvx/zeded/ Don't start off with YACC/Bison as they hide a lot of stuff under the hood. It's cool learning things from scratch. The most commonly-suggested book on compilers is known as the Dragon Book[2] and if you want to take this endeavour seriously, you should really get a copy. [1] https://code.google.com/archive/p/zeded/ [2] https://www.amazon.com/Compilers-Principles-Techniques-Tools...

    on “Ask HN: Resources for building a programming language?” ↗
  • wenc · Sep 5, 2017 · Recommends

    You'll want the Dragon Book as a reference, not necessary to get started with, but to build the semantic tree on which you will need to pin concepts on. https://www.amazon.com/Compilers-Principles-Techniques-Tools... If you aren't…

    on “Ask HN: Resources for building a programming language?” ↗
  • WalterBright · Oct 20, 2021 · Recommends

    …you like, figure out how to build it, then start modifying the game to your personal taste. Learning the basics of writing compilers will be surprisingly helpful for all kinds of programming tasks. The Dragon Book is the best: https://www.amazon.com/Compilers-Principles-Techniques-Tools... Too bad the prices are so high for it. The original version is much cheaper: https://www.amazon.com/Principles-Compiler-Addison-Wesley-in...…

    on “A talk with Walter Bright about Empire” ↗
  • criddell · Oct 21, 2023 · Recommends

    …wrote The Annotated Turing which is a breakdown of Alan Turing seminal paper and you only need high school math to get through it. When I was in school my favorite course was compiler design and we used Compilers: Principles, Techniques, and Tools (aka the dragon book). It’s one of the best textbooks I’ve used but that was 30 years ago. There might be something better now. Understanding parsers and lexers and (especially) state machines is something…

    on “We have used too many levels of abstractions and now the future looks bleak” ↗
  • microtherion · Feb 29, 2012 · Recommends

    This is probably going to devolve again into a long discussion, but here's the books with an academic bent that I was most impressed with (many of them 25 years ago, of course): "Compilers: Principles, Techniques, and Tools" by Alfred V. Aho, Ravi Sethi and Jeffrey D. Ullman (a.k.a the "Dragon Book") "The Art of Computer Programming" by Donald Knuth "Introduction to Automata Theory, Languages and Computation" by John E.…

    on “About 6.002x” ↗

Keyboard shortcuts

/
Focus search
j / k
Next / previous book
Enter
Open focused book
Esc
Close / go back
g h
Go to Home
g t
Go to Top all-time
g m
Go to Most recommended
g r
Go to Rising
g f
Go to For You
?
Show this help