Abstract

As a part of domain-specific development, Domain-Specific Language (DSL) is widely used in both the academia and industry to solve different aspects of the problems in engineering. A DSL is a customized language whose expressiveness is tailored to a well-defined application domain, so as to offer an effective interface for the domain experts. To mitigate the programming complexity of the General-Purpose Programming Languages, and meanwhile maintain the precise expression towards some exact engineering domains, DSLs present a higher level of abstraction than low-level interfaces, while providing much more flexibility than high-level interfaces. Nevertheless, it lacks a survey to have a systematic overview of the essential commonalities shared by those works. In this survey, we take a brand-new perspective, to categorize the state-of-the-art works into different categories, tailored to three fundamental implementation concerns of DSLs: abstract syntax, concrete syntax, and semantics. Specifically, they are characterized according to their parsing and mapping strategy (external/internal) between the abstract syntax and concrete syntax, the mapping results (textual/graphical symbols), and also the functions they emphasize (modeling, visualizing, etc.). Integrated with the literature, we finally summarized the research overview of DSLs.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call