Type
Event
Formal and Practical Aspects of Domain-Specific Languages: Recent Developments
Date
Sep 1, 2012 12:00 AM
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 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.