<p>Learn how to implement a DSL with Xtext and Xtend using easy-to-understand examples and best practices</p> <p><b>Overview</b></p> <ul> <li>Learn to quickly develop a domain-specific language with Xtext</li> <li>Implement any aspect of a DSL using Xtend, a fully featured Java-like programming lang
Variable Domain-specific Software Languages with DjDSL: Design and Implementation
โ Scribed by Stefan Sobernig
- Publisher
- Springer International Publishing;Springer
- Year
- 2020
- Tongue
- English
- Leaves
- 314
- Edition
- 1st ed.
- Category
- Library
No coin nor oath required. For personal study only.
โฆ Synopsis
This book details the conceptual foundations, design and implementation of the domain-specific language (DSL) development system DjDSL. DjDSL facilitates design-decision-making on and implementation of reusable DSL and DSL-product lines, and represents the state-of-the-art in language-based and composition-based DSL development. As such, it unites elements at the crossroads between software-language engineering, model-driven software engineering, and feature-oriented software engineering.
The book is divided into six chapters. Chapter 1 (โDSL as Variable Softwareโ) explains the notion of DSL as variable software in greater detail and introduces readers to the idea of software-product line engineering for DSL-based software systems. Chapter 2 (โVariability Support in DSL Developmentโ) sheds light on a number of interrelated dimensions of DSL variability: variable development processes, variable design-decisions, and variability-implementation techniques for DSL. The three subsequent chapters are devoted to the key conceptual and technical contributions of DjDSL: Chapter 3 (โVariable Language Modelsโ) explains how to design and implement the abstract syntax of a DSL in a variable manner. Chapter 4 (โVariable Context Conditionsโ) then provides the means to refine an abstract syntax (language model) by using composable context conditions (invariants). Next, Chapter 5 (โVariable Textual Syntaxesโ) details solutions to implementing variable textual syntaxes for different types of DSL. In closing, Chapter 6 (โA Story of a DSL Familyโ) shows how to develop a mixed DSL in a step-by-step manner, demonstrating how the previously introduced techniques can be employed in an advanced example of developing a DSL family.
The book is intended for readers interested in language-oriented as well as model-driven software development, including software-engineering researchers and advanced software developers alike. An understanding of software-engineering basics (architecture, design, implementation, testing) and software patterns is essential. Readers should especially be familiar with the basics of object-oriented modelling (UML, MOF, Ecore) and programming (e.g., Java).
โฆ Table of Contents
Front Matter ....Pages i-xxii
DSL as Variable Software (Stefan Sobernig)....Pages 1-31
Variability Support in DSL Development (Stefan Sobernig)....Pages 33-72
Variable Language Models (Stefan Sobernig)....Pages 73-136
Variable Context Conditions (Stefan Sobernig)....Pages 137-166
Variable Textual Syntaxes (Stefan Sobernig)....Pages 167-260
A Story of a DSL Family (Stefan Sobernig)....Pages 261-283
Back Matter ....Pages 285-297
โฆ Subjects
Computer Science; Software Engineering; Theory of Computation
๐ SIMILAR VOLUMES
<p><b>Learn how to implement a DSL with Xtext and Xtend using easy-to-understand examples and best practices</b></p><h2>About This Book</h2><ul><li>Leverage the latest features of Xtext and Xtend to develop a domain-specific language.</li><li>Integrate Xtext with popular third party IDEs and get the
(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 do
<p>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.<br/><br/> The key is understanding the com