Difference between revisions of "Publications/verna.12.dsl"
From LRDE
Line 1: | Line 1: | ||
{{Publication |
{{Publication |
||
+ | | published = true |
||
| date = 2012-09-01 |
| date = 2012-09-01 |
||
| authors = Didier Verna |
| authors = Didier Verna |
Revision as of 15:53, 14 November 2013
- Authors
- Didier Verna
- Where
- Formal and Practical Aspects of Domain-Specific Languages: Recent Developments
- Type
- incollection
- Publisher
- IGI Global
- Keywords
- Software engineering
- Date
- 2012-09-01
Abstract
Out of a concern for focus and concision, domain-specific languages (DSLs) are usually very different from general purpose programming languages (GPLs), both at the syntactic and the semantic levels. One approach to DSL implementation is to write a full language infrastructure, including parser, interpreter or even compiler. Another approach however, is to ground the DSL into an extensible GPLgiving you control over its own syntax and semantics. The DSL may then be designed merely as an extension to the original GPL, and its implementation may boil down to expressing only the differences with it. The task of DSL implementation is hence considerably eased. The purpose of this chapter is to provide a tour of the features that make a GPL extensible, and to demonstrate how, in this contextthe distinction between DSL and GPL can blur, sometimes to the point of complete disappearance.
Bibtex (lrde.bib)
@InCollection{ verna.12.dsl, author = {Didier Verna}, title = {Extensible languages: blurring the distinction between {DSL}s and {GPL}s}, booktitle = {Formal and Practical Aspects of Domain-Specific Languages: Recent Developments}, publisher = {{IGI} Global}, editor = {Marjan Mernik}, year = {2012}, month = sep, chapter = 1, project = {Software}, abstract = {Out of a concern for focus and concision, domain-specific languages (DSLs) are usually very different from general purpose programming languages (GPLs), both at the syntactic and the semantic levels. One approach to DSL implementation is to write a full language infrastructure, including parser, interpreter or even compiler. Another approach however, is to ground the DSL into an extensible GPL, giving you control over its own syntax and semantics. The DSL may then be designed merely as an \emph{extension} to the original GPL, and its implementation may boil down to expressing only the differences with it. The task of DSL implementation is hence considerably eased. The purpose of this chapter is to provide a tour of the features that make a GPL extensible, and to demonstrate how, in this context, the distinction between DSL and GPL can blur, sometimes to the point of complete disappearance.} }