DSL Engineering: Designing, Implementing and Using Domain-Specific Languages
ISBN/ASIN: N/A | 2013 | English | pdf | 560/560 pages | 9.63 Mb
Publisher: dslbook.org | Author: Markus Voelter
(with Sebastian Benz, Christian Dietrich, Birgit Engelmann Mats Helander, Lennart Kats, Eelco Visser, Guido Wachsmuth)
[This book is donationware.]
Domain-Specific Languages are programming languages that are tailored to a particular application domain. By incorporating knowledge about that domain, DSLs can lead to more concise and more analyzable programs, improved code quality, tighter stakeholder integration and faster development speed. This book provides a thorough introduction to DSLs, relying on today’s state-of-the-art language workbenches, lots of examples and years of experience. The book has four parts, each focussing on a different aspect of DSL development.
1. Introduction: This part introduces DSLs in general and discusses their advantages and drawbacks. It defines important terms and concepts and introduces the case studies and tools used in most of the remainder of the book.
2. DSL Design: This part focusses on the design of DSLs – regardless of implementation technologies. It discusses seven design dimensions, explains a number of reusable language paradigms and points out a number of process-related issues.
3. DSL Implementation: This part provides details about the implementation of DSLs, using lots of examples. It uses three state-of-the-art but quite different language workbenches: JetBrains MPS, Eclipse Xtext and TU Delft’s Spoofax
4. DSLs in Software Engineering: This part discusses the use of DSLs for requirements engineering, architecture, implementation and product line engineering, as well as their roles as a developer utility and for implementing business logic.