2015
DOI: 10.15439/2015f173
|View full text |Cite
|
Sign up to set email alerts
|

Source Code Annotations as Formal Languages

Abstract: Abstract-Attribute-oriented programming (source code annotations) is a program level marking technique that enables enrichment of program elements with custom metadata. In this paper we hypothesize that there is a correspondence between source code annotations and conventional formal languages in general. We analyze our observations about source code annotations from three aspects of language description: concrete syntax, abstract syntax, and semantics. The discussion provides evidence of the hypothesized corr… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
4
1

Citation Types

0
14
0

Year Published

2016
2016
2022
2022

Publication Types

Select...
3
3

Relationship

2
4

Authors

Journals

citations
Cited by 9 publications
(14 citation statements)
references
References 25 publications
0
14
0
Order By: Relevance
“…We noticed that we can look at source code annotations as a generic purely embedded language 2 for embedding annotation-based language concepts to the host language. As a continuation of our work presented in [32] we now hypothesize that annotations can be effectively used as an implementation technique for language composition (pure embedding in particular). We discuss how annotations provide generic framework for pure embedding [10] with options to provide a custom glue code semantics -the author can specify the meaning of annotations' binding, not only the meaning of annotations themselves.…”
Section: Introductionmentioning
confidence: 82%
See 2 more Smart Citations
“…We noticed that we can look at source code annotations as a generic purely embedded language 2 for embedding annotation-based language concepts to the host language. As a continuation of our work presented in [32] we now hypothesize that annotations can be effectively used as an implementation technique for language composition (pure embedding in particular). We discuss how annotations provide generic framework for pure embedding [10] with options to provide a custom glue code semantics -the author can specify the meaning of annotations' binding, not only the meaning of annotations themselves.…”
Section: Introductionmentioning
confidence: 82%
“…Using the discovered mapping patterns we showed that annotations and XML can be considered equivalent in terms of their expressibility. Based on our previous work, in the original version of this paper [32] presented at the FedCSIS conference we examined the relationship of annotations and formal languages in general. We hypothesized that there is a correspondence between annotations and conventional formal languages and we have supported the hypothesis by a throughout analysis of annotations from the aspects of concrete syntax (CS), abstract syntax (AS), and semantics.…”
Section: Introductionmentioning
confidence: 99%
See 1 more Smart Citation
“…The case study shows possible challenges of the approach and can be used as a guide to develop similar translators. Presented case study also demonstrates that object-oriented programming language like Java can be successfully used as a format for abstract syntax description, provided that it allows attaching structured meta-data [4] (known as annotations or attributes) to program elements. This allows to use numerous existing tools and also avoids the need for special purpose representations and related technologies.…”
Section: Introductionmentioning
confidence: 89%
“…This information is not apparent from this excerpt, and may be the result of cooperation of many remotely related classes. Now suppose the developer originally writing the code, or any other programmer maintaining it, annotated the source code with concern annotations (source code annotations are declarative marks used to decorate source code with metadata [1]), as displayed in Figure 2 a). The developer later reading it would rapidly obtain a mental model containing useful information about the code, without even looking at the method implementation, scrolling through the code to stitch the pieces of information, or even debug it to explain unexpected behavior.…”
Section: Motivationmentioning
confidence: 99%