Language Implementation Patterns: Create Your Own Domain-Specific and General Programming Languages
- ISBN13: 9781934356456
- Condition: NEW
- Notes: Brand New from Publisher. No Remainder Mark.
Product Description
Knowing how to create domain-specific languages (DSLs) can give you a huge productivity boost. Instead of writing code in a general-purpose programming language, you can first build a custom language tailored to make you efficient in a particular domain.
The key is understanding the common patterns found across language implementations. Language Design Patterns identifies and condenses the most common design patterns, providing sample implementations of eac… More >>
Language Implementation Patterns: Create Your Own Domain-Specific and General Programming Languages

Terrence Parr created ANTLR as a tool for developing “mini-languages”, aka Domain Specific Languages. It’s a huge improvement over tools such as lex, yacc, and bison. This book describes in a very readable and understandable way the patterns necessary to create translators, generators, interpreters, etc. and how to implement them with ANTLR. Buy along with “The Definitive ANTLR Reference”.
Rating: 5 / 5
I’m the one who wrote that glib quote for the inside cover. Glib, but true. This book is a practical guide for anyone looking to dive into language implementation. While Aho, Sethi, and Ullman is still a classic worth absorbing, Parr’s book has such a great blend of theory and tutorials, that it is hard to imagine I won’t be referencing it a lot in the coming years.
Rating: 5 / 5
Once considered deeply arcane (and smelling of black magic), writing your own programming language was a merit badge that few could sport. Now, though, with his brilliant ANTLR3 toolset, Terence Parr has made writing your own language something to be done over a long weekend.
His new book, “Language Implementation Patterns”, is a fantastic source for learning how to build your own language–be it translator, complex file parser, interpreter, or compiler. It’s awesome. Coupled with ANTLR’s manual, The Definitive Antlr Reference: Building Domain-Specific Languages (Pragmatic Programmers) (also fantastic), Terence has created a one-stop shop for programming language implementation. Highly recommended!
Rating: 5 / 5
This is my favorite kind of book: the harder I work, the more I get. So be prepared to work hard. And if you do, you will be rewarded with gems of insight. If you’re looking for a “cookbook” I respectfully suggest that you examine your reasons for being interested in language design. All the ingredients and kitchen implements are here, clearly labeled and explained. There are even examples of how you might consider mixing them. But it’s up to you to write the recipe you need, and a key objective of this book is getting you to that magical moment when you see how everything comes together.
Plenty of people much more educated and experienced in the art and science of language design than I am will surely write insightful reviews about the merits of this book from the perspective of specialists. I’m writing this review for the rest of us.
Terence Parr continues his campaign to make superb language-development tools accessible. Have you ever wondered how your compiler really works? Maybe you’ve dreamed about creating your own scripting language — the one that works the way *you* want — but you’re not Larry Wall. Well, take heart. Professor Parr’s second ANTLR book is here. Maybe you never took a course in compiler design (I haven’t.) or maybe you have and are still wondering how to do anything practical with it. This book is for you. You very well might not become the next Guido van Rossum, but you will come away with a deeper appreciation of language implementation — probably enough to create your personal dream language.
I call this the “second ANTLR book,” but that’s a gross oversimplification. If you already know that ANTLR stands for ANother Tool for Language Recognition, then the next thing you need to know is that this book is about much more than ANTLR. You also may know that ANTLR is written in Java. But you don’t need to know Java to get value from this book. (In fact ANTLR itself can target C, C# and several other languages besides Java.) Although the book uses ANTLR to describe example languages, and Java to implement them, the author very cleanly separates concepts from tools and implementation details, in a way which is consistently pragmatic and never drifts off into the clouds. There is no pedagogic hand-waving here. This is the real stuff. And when you grasp it, you too will be able to create everything from “simple” data format translators to script interpreters and maybe even some non-optimizing compilers. Really.
Rating: 5 / 5