Title
Effective strategic programming for Java developers.
Abstract
In object programming languages, the Visitor design pattern allows separation of algorithms and data structures. When applying this pattern to tree-like structures, programmers are always confronted with the difficulty of making their code evolve. One reason is that the code implementing the algorithm is interwound with the code implementing the traversal inside the visitor. When implementing algorithms such as data analyses or transformations, encoding the traversal directly into the algorithm turns out to be cumbersome as this type of algorithm only focuses on a small part of the data-structure model (e.g., program optimization). Unfortunately, typed programming languages like Java do not offer simple solutions for expressing generic traversals. Rewrite-based languages like ELAN or Stratego have introduced the notion of strategies to express both generic traversal and rule application control in a declarative way. Starting from this approach, our goal was to make the notion of strategic programming available in a widely used language such as Java and thus to offer generic traversals in typed Java structures. In this paper, we present the strategy language SL that provides programming support for strategies in Java. Copyright (c) 2012 John Wiley & Sons, Ltd.
Year
DOI
Venue
2014
10.1002/spe.2159
SOFTWARE-PRACTICE & EXPERIENCE
Keywords
DocType
Volume
generic programming,term rewriting,tree traversal,strategies,object-oriented programming
Journal
44
Issue
ISSN
Citations 
2
0038-0644
2
PageRank 
References 
Authors
0.36
13
3
Name
Order
Citations
PageRank
Emilie Balland123314.22
Pierre-etienne Moreau259840.40
Antoine Reilles31196.79