The “dragon book” turned 36 this year
twitter.comAs someone pointed out in that thread, the original version of the "Dragon Book" was out in 1977, making it 45 years old:
https://twitter.com/vinodg/status/1497632140254609408
I used it in a compiler class in college in 1980, and it was already known as the "Dragon Book" back then.
You can still buy a used copy on Amazon:
https://www.amazon.com/Principles-Compiler-Addison-Wesley-in...
As the introduction to Nystrom's Crafting Interpreters (craftinginterpreters.com) says:
"Classic compiler books read like fawning hagiographies of these heroes and their tools. The cover of Compilers: Principles, Techniques, and Tools literally has a dragon labeled “complexity of compiler design” being slain by a knight bearing a sword and shield branded “LALR parser generator” and “syntax directed translation”. They laid it on thick."
My thinking is similar (at least for undergrads and most people who want to write a compiler): avoid the dragon book, and stick with simple recursive descent parsing.
(I do kind of like Wirth's Compiler Construction though. Wirth also likes recursive descent although he describes other methods as well.)
Agree completely. I managed to make a living with my own compiler ages ago and couldn’t deal with the Dragon book at all (a book by Allen Holub did the job for me, and it was a spiritual ancestor of the Nystrom books).
Obglitory Hollywood reference by a group of America’s finest thespians - https://youtu.be/4U9MI0u2VIE
Does anyone have thoughts on Modern Compiler Implementation in (Java|C|ML) by Andrew Appel?