2008
DOI: 10.1145/1416563.1416566
|View full text |Cite
|
Sign up to set email alerts
|

Domain-specific languages and program generation with meta-AspectJ

Abstract: Meta-AspectJ (MAJ) is a language for generating AspectJ programs using code templates. MAJ itself is an extension of Java, so users can interleave arbitrary Java code with AspectJ code templates. MAJ is a structured meta-programming tool: a well-typed generator implies a syntactically correct generated program. MAJ promotes a methodology that combines aspect-oriented and generative programming. A valuable application is in implementing small domain-specific language extensions as generators using unobtrusive a… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
10
0

Year Published

2010
2010
2018
2018

Publication Types

Select...
5
1
1

Relationship

0
7

Authors

Journals

citations
Cited by 14 publications
(10 citation statements)
references
References 36 publications
0
10
0
Order By: Relevance
“…These cases particularly arise when combining the technique with type inference, as seen with Meta-AspectJ [8], or when forgoing quoting symbols that distinguish between the meta and the object language, as observed by Vinju [13]. Both works propose heuristics as a solution in these cases.…”
Section: Discussionmentioning
confidence: 99%
See 1 more Smart Citation
“…These cases particularly arise when combining the technique with type inference, as seen with Meta-AspectJ [8], or when forgoing quoting symbols that distinguish between the meta and the object language, as observed by Vinju [13]. Both works propose heuristics as a solution in these cases.…”
Section: Discussionmentioning
confidence: 99%
“…In turn, quotations can include anti-quotations that escape from the object language code in order to include variables or expressions from the meta language. As an example, Figure 2 shows a Stratego [4] Grammar composition Some meta-programming systems, such as Jak [3] and MetaAspectJ [8], have been specifically designed for a fixed object language. These systems use a carefully handcrafted grammar or parser for the combined meta and object language.…”
Section: Meta-programming With Concrete Object Syntaxmentioning
confidence: 99%
“…In this trend of AspectJ generation, Meta-AspectJ [12] and XAspects [18], which advocate the use of AspectJ as a back-end language for aspect orientation, are similar with our approach. Nevertheless, the main goal is different.…”
Section: Related Workmentioning
confidence: 92%
“…The phrase annotations from our approach can be then reused in aspect-oriented programming [11,12] to reduce pointcut fragility, the design annotations can be used to preserve design patterns in the code [13] or to support using design patterns [14] by metaprogramming techniques. Annotations are also used as an input for many generators [15,16]. In some cases semantic and design annotations can be used to generate even program artifacts, not merely the documentation.…”
Section: Instantiation With Source Code Annotationsmentioning
confidence: 99%