Jump to ratings and reviews

Language Implementation Patterns: Techniques for Implementing Domain-Specific Languages

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 each.

The pattern implementations use Java, but the patterns themselves are completely general. Some of the implementations use the well-known ANTLR parser generator, so readers will find this book an excellent source of ANTLR examples as well. But this book will benefit anyone interested in implementing languages, regardless of their tool of choice. Other language implementation books focus on compilers, which you rarely need in your daily life. Instead, Language Design Patterns shows you patterns you can use for all kinds of language applications.

You'll learn to create configuration file readers, data readers, model-driven code generators, source-to-source translators, source analyzers, and interpreters. Each chapter groups related design patterns and, in each pattern, you'll get hands-on experience by building a complete sample implementation. By the time you finish the book, you'll know how to solve most common language implementation problems.

374 pages, Paperback

First published January 1, 2009

Loading...
Loading...

About the author

Terence Parr

17 books24 followers

Ratings & Reviews

What do you think?

Friends & Following

Create a free account to discover what your friends think of this book!

Community Reviews

5 stars
44 (23%)
4 stars
92 (48%)
3 stars
43 (22%)
2 stars
9 (4%)
1 star
2 (1%)
Displaying 1 - 1 of 1 review
Profile Image for César.
22 reviews
April 25, 2024
Un buen libro para conocer técnicas y patrones que sí son comunes en la implementación de lenguajes. Mi única objeción (caprichosa) es que los ejemplos están en Java y están diseñados con objetos. Las ideas siguen siendo claras.
Displaying 1 - 1 of 1 review