Language composition using source code annotations
TL;DR: This work examines source code annotations from the viewpoint of formal languages and proposes to consider a set of all annotations and their parameters processed by the same reference implementation to be called an annotation-based language.
read more
Abstract: In this paper we examine source code annotations from the viewpoint of formal
languages - we discuss their abstract syntax, concrete syntax, and semantics,
thus showing the correspondence between annotations and formal languages. We
propose to consider a set of all annotations and their parameters processed
by the same reference implementation (they belong to the same domain) to be
called an annotation-based language. The performed analysis also pinpoints a
specificity of annotations in comparison with formal languages in general -
the binding between annotations and a host language. We elaborate this idea
with an analysis of annotations’ potential for language composition, in
particular for pure embedding. We then show how pure embedding with
annotations can be used for language unification, language referencing by
extension, and language extension. This work provides a basis for further
research in the field of source code annotations in the context of formal
languages.
read more
Chat with Paper
AI Agents for this Paper
Find similar papers on Google Scholar, PubMed and Arxiv
Write a critical review of this paper
Analyze citations of this paper to find unaddressed research gaps
Citations
On domain driven design using annotation-based domain specific language
TL;DR: This paper proposes an annotation-based domain-specific language (DSL) named DCSL, whose annotation extension expresses a set of essential structural constraints and the essential behaviour of a domain class that enables a technique for generating the behavioural specification.
21
Customizing Host IDE for Non-programming Users of Pure Embedded DSLs: A Case Study
TL;DR: Experimental results indicate that even inexpensive host IDE customizations can significantly alleviate issues caused by the syntactic noise: Java with its inflexible syntax performed better than Ruby with its concise syntax.
15
Generative software module development for domain-driven design with annotation-based domain specific language
TL;DR: This method bridges an important gap in DDD with a software module development method that uses a novel aDSL with a module-based software architecture and a generative technique for module configuration.
13
Customizing host IDE for non-programming users of pure embedded DSLs
TL;DR: Experimental results indicate that even inexpensive host IDE customizations can significantly alleviate issues caused by the syntactic noise: Java with its inflexible syntax performed better than Ruby with its concise syntax.
9
jDomainApp: A Module-Based Domain-Driven Software Framework
Duc Minh Le,Duc-Hanh Dang,Ha Thanh Vu +2 more
- 04 Dec 2019
TL;DR: This paper extends the recent works on DDD to propose a software configuration language that expresses the software configuration, needed to automatically generate software from a set of modules, and proposes a framework and plug-in to address these issues.
6
References
When and how to develop domain-specific languages
TL;DR: In this article, the authors identify patterns in the decision, analysis, design, and implementation phases of DSL development and discuss domain analysis tools and language development systems that may help to speed up DSL development.
Domain-Specific Languages
TL;DR: The statistical findings regarding research questions paint an interesting picture about the mainstreams of the DSL community, as well as open issues where researchers can improve their research in their future work.
211
•Book
Attribute Grammars: Definitions, Systems and Bibliography
Pierre Deransart,Martin Jourdan,Bernard Lorho +2 more
- 01 Jan 1988
TL;DR: This book is referred to read because it is an inspiring book to give you more chance to get experiences and also thoughts and this attribute grammars definitions systems and bibliography.
192
A preliminary study on various implementation approaches of domain-specific language
TL;DR: Empirical results are provided on end-user productivity, which is measured as the lines of code needed to express a domain-specific program, similarity to the original notation, and how error-reporting and debugging are supported in a given implementation.
153
Eco: A Language Composition Editor
Lukas Diekmann,Laurence Tratt +1 more
- 15 Sep 2014
TL;DR: The authors' prototype editor ‘feels’ like a normal text editor, but the user always operates on a valid tree as in a syntax directed editor, which allows us to compose arbitrary syntaxes while still enabling IDE-like features such as name binding analysis.