The Computer Journal - Special issue on procedural programming
Constructing language processors for little languages
Constructing language processors for little languages
Attribute grammar paradigms—a high-level methodology in language implementation
ACM Computing Surveys (CSUR)
Evolving algebras 1993: Lipari guide
Specification and validation methods
Garment: a mechanism for abstraction and encapsulation of languages
ACM SIGPLAN Notices
Domain-specific languages: an annotated bibliography
ACM SIGPLAN Notices
Fundamental Concepts in Programming Languages
Higher-Order and Symbolic Computation
From Language Concepts to Implementation Concepts
Higher-Order and Symbolic Computation
Object-Orientation in Attribute Grammars
Proceedings on Attribute Grammars, Applications and Systems
Is Domain Knowledge an Aspect?
Proceedings of the Workshop on Object-Oriented Technology
The ASF+SDF Meta-environment: A Component-Based Language Development Environment
CC '01 Proceedings of the 10th International Conference on Compiler Construction
Attribute grammars and data-flow languages
Proceedings of the 1983 ACM SIGPLAN symposium on Programming language issues in software systems
A Component-Based Framework and Reusability in Garment
APSEC '01 Proceedings of the Eighth Asia-Pacific on Software Engineering Conference
Hi-index | 0.00 |
This paper provides a new method of developing domain-specific languages (DSLs). A DSL is composed of concepts, including common language concepts and domain concepts. From the functionality point of view, concepts can be divided into two kinds: element concepts and complement concepts. Element concepts capture the basic functions of a DSL, and complement concepts define some auxiliary functions for a DSL. Because extended attribute grammar and evolving algebra are used to specify the semantics of element concepts, the descriptions are formal, yet easily understood. Transformation rules are used to specify the semantics of complement concepts. In order to improve the reusability, element and complement concepts are defined at a high abstract level, and they are defined as some independent components. The definition of a new DSL follows two steps: defining element and complement concepts separately; instantiating concepts and assembling them. Based on the above idea, a DSLs development language (DD) is defined.