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
相关论文
共 32 条
  • [1] Organizing speculative computations in rule-based systems
    Schroeder, R
    Kluge, W
    PROCEEDINGS OF THE INTERNATIONAL CONFERENCE ON PARALLEL AND DISTRIBUTED PROCESSING TECHNIQUES AND APPLICATIONS, VOLS I-V, 2000, : 1407 - 1413
  • [2] Evolution of rule-based programs
    Lämmel, R
    JOURNAL OF LOGIC AND ALGEBRAIC PROGRAMMING, 2004, 60-1 : 141 - 193
  • [3] Transformation rule-based molecular evolution for automatic gasoline molecule design
    Cai, Guangqing
    Liu, Zhefu
    Zhang, Linzhou
    CHEMICAL ENGINEERING SCIENCE, 2022, 263
  • [4] A Survey on Program Analysis and Transformation
    Maghawry, Ahmed
    Kholief, Mohamed
    Omar, Yasser
    Hodhod, Rania
    COMPUTATIONAL STATISTICS AND MATHEMATICAL MODELING METHODS IN INTELLIGENT SYSTEMS, VOL. 2, 2019, 1047 : 110 - 124
  • [5] Anti-patterns for rule-based languages
    Cirstea, Horatiu
    Kirchner, Claude
    Kopetz, Radu
    Moreau, Pierre-Etienne
    JOURNAL OF SYMBOLIC COMPUTATION, 2010, 45 (05) : 523 - 550
  • [6] A rule-based approach for RNA pseudoknot prediction
    Fu, X. Z.
    Wang, H.
    Harrison, R. W.
    Harrison, W. L.
    INTERNATIONAL JOURNAL OF DATA MINING AND BIOINFORMATICS, 2008, 2 (01) : 78 - 93
  • [7] An integrated framework for the diagnosis and correction of rule-based programs
    Alpuente, M.
    Ballis, D.
    Correa, F.
    Falaschi, M.
    THEORETICAL COMPUTER SCIENCE, 2010, 411 (47) : 4055 - 4101
  • [8] Rule-Based Attractions Describe Paragraph Information Extraction
    Feng, Xiaolan
    Zhao, Xiaobing
    2018 INTERNATIONAL CONFERENCE ON ROBOTS & INTELLIGENT SYSTEM (ICRIS 2018), 2018, : 387 - 390
  • [9] A rewriting framework for rule-based programming dynamic applications
    Doroshenko, Anatoliy
    Shevchenko, Ruslan
    FUNDAMENTA INFORMATICAE, 2006, 72 (1-3) : 95 - 108
  • [10] ParsTime: Rule-Based Extraction and Normalization of Persian Temporal Expressions
    Mansouri, Behrooz
    Zahedi, Mohammad Sadegh
    Campos, Ricardo
    Farhoodi, Mojgan
    Rahgozar, Maseud
    ADVANCES IN INFORMATION RETRIEVAL (ECIR 2018), 2018, 10772 : 715 - 721