Found in 5 comments on Hacker News
62951413 · 2022-06-22 · Original thread
Using Java was a poor choice (especially without the latest improvements such as records and switch expressions):

* new books should use more modern popular languages to age well and to attract younger audience

* on the JVM there are languages better suited for the topic (e.g. Scala by a large margin)

* There's already the "Language Implementation Patterns" book ( which not only is great for teaching because of its pattern-based approach but also gives you real life skills (e.g. ANTLR is used in most big data query engines)

skydhash · 2022-02-15 · Original thread
I'm starting with Language Implementation Patterns [0], which is more practice focused than the Dragon's book [1]. Most of the examples are in Java, which you can then convert into your current implementation language.



fusiongyro · 2016-12-16 · Original thread
The book "Language Implementation Patterns"[1] covers ANTLR 3, and the author (who is one of the implementors of ANTLR) walks you through successively more interesting DSLs until you're basically building a programming language, but does it in small steps.

I didn't struggle with compilers as an undegrad at all, and I found this book too slow for me, so I'm optimistic that you will be pleased by the pacing. :)

If you want to see a way older approach, I did really enjoy Jack Crenshaw's "Let's Build a Compiler"[2]—but it's so vintage it may be totally hipster by now. :)



Terr_ · 2016-02-23 · Original thread
> Terence Parr, author of ANTLR, often uses the metaphor of parsing as a maze

As someone who had a technical but "not real CS" curriculum, I enjoyed Parr's "Language Implementation Patterns" book [0] because it illustrates how certain grammar-forms become recognizable code-patterns and control-flow.

Granted, it's definitely got a bent towards Parr's ANTLR project and the Java language, but I still found it made things "click" a lot better than my daunting lack of progress an old "Dragon Book" [1] which IIRC tended to float along with more mathy-notations and theory than concrete examples.



dekz · 2010-08-28 · Original thread
If you're interested in language design also may I suggest, and

There are also some programmers around who are going through the process of designing and implementing their own languages, you can watch their progress and ideas. Here is 1(2?) examples, Magpie and Finch by munificent.

It seems Magpie has started out using a C# compiler/interpreter but now uses Java?

Fresh book recommendations delivered straight to your inbox every Thursday.