Traversing complex Abstract Syntax Trees (ASTs) typically requires large amounts of tedious boilerplate code. For many operations most of the code simply walks the structure, and only a small portion of the code implements the functional-ity that motivated the traversal in the first place. This paper presents a type-safe Java framework called Shy that removes much of this boilerplate code. In Shy Object Algebras are used to describe complex and extensible AST structures. Us-ing Java annotations Shy generates generic boilerplate code for various types of traversals. For a concrete traversal, users of Shy can then inherit from the generated code and over-ride only the interesting cases. Consequently, the amount of code that users need to writ...
This paper presents a front-end for Java, called Barat, that supports static analysis of Java progra...
Language workbenches usually produce infrastructure to represent models as abstract syntax trees (AS...
Object Algebras are a recently introduced design pattern to make the implementation of recursive dat...
htmlabstractTraversing complex Abstract Syntax Trees (ASTs) typically requires large amounts of tedi...
Context: Meta programming consists for a large part of matching, analyzing, and transforming syntax ...
Separation of concerns and loose coupling of concerns are important issues in software engineering. ...
textabstractAbstract syntax trees are a very common data-structure in language related tools. For ex...
Separation of concerns and loose coupling of concerns are important issues in software engin-nering....
Abstract syntax trees (ASTs) have numerous advantages as a mobile code format over the more commonly...
In this paper we describe a new traversal organization inspired by ideas behind type-generic travers...
Syntax trees are a very common data structure in language related tools. For example, compilers, int...
This paper presents a new solution to the expression problem (EP) that works in OO languages with si...
AbstractWe want to use the advanced language processing technology available in the ASF+SDF in combi...
We explore the process of building algebraic models of the behaviour of Java classes. A fundamental ...
Sharing and transfer of references is difficult to control in object-oriented languages. As informat...
This paper presents a front-end for Java, called Barat, that supports static analysis of Java progra...
Language workbenches usually produce infrastructure to represent models as abstract syntax trees (AS...
Object Algebras are a recently introduced design pattern to make the implementation of recursive dat...
htmlabstractTraversing complex Abstract Syntax Trees (ASTs) typically requires large amounts of tedi...
Context: Meta programming consists for a large part of matching, analyzing, and transforming syntax ...
Separation of concerns and loose coupling of concerns are important issues in software engineering. ...
textabstractAbstract syntax trees are a very common data-structure in language related tools. For ex...
Separation of concerns and loose coupling of concerns are important issues in software engin-nering....
Abstract syntax trees (ASTs) have numerous advantages as a mobile code format over the more commonly...
In this paper we describe a new traversal organization inspired by ideas behind type-generic travers...
Syntax trees are a very common data structure in language related tools. For example, compilers, int...
This paper presents a new solution to the expression problem (EP) that works in OO languages with si...
AbstractWe want to use the advanced language processing technology available in the ASF+SDF in combi...
We explore the process of building algebraic models of the behaviour of Java classes. A fundamental ...
Sharing and transfer of references is difficult to control in object-oriented languages. As informat...
This paper presents a front-end for Java, called Barat, that supports static analysis of Java progra...
Language workbenches usually produce infrastructure to represent models as abstract syntax trees (AS...
Object Algebras are a recently introduced design pattern to make the implementation of recursive dat...