A survey of strategies in rule-based program transformation systems

被引:45
|
作者
Visser, E [1 ]
机构
[1] Univ Utrecht, Inst Informat & Comp Sci, NL-3508 TB Utrecht, Netherlands
关键词
program transformation; transformation rule; transformation strategy; program representation; term rewriting; pattern matching; extensions of term rewriting; strategy annotations; tree parsing; attribute grammars; strategy combinators; tree traversal; congruence operators; generic traversal strategies; contextsensitive rules;
D O I
10.1016/j.jsc.2004.12.011
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
Program transformation is the mechanical manipulation of a program in order to improve it relative to some cost function and is understood broadly as the domain of computation where programs are the data. The natural basic building blocks of the domain of program transformation are transformation rules expressing a 'one-step' transformation on a fragment of a program. The ultimate perspective of research in this area is a high-level, language parametric, rule-based program transformation system, which supports a wide range of transformations, admitting efficient implementations that scale to large programs. This situation has not yet been reached, as trade-offs between different goals need to be made. This survey gives an overview of issues in rule-based program transformation systems, focusing on the expressivity of rule-based program transformation systems and in particular on transformation strategies available in various approaches. The survey covers term rewriting, extensions of basic term rewriting, tree parsing strategies, systems with programmable strategies, traversal strategies, and context-sensitive rules. (c) 2005 Elsevier Ltd. All rights reserved.
引用
收藏
页码:831 / 873
页数:43
相关论文
共 50 条