A survey of rewriting strategies in program transformation systems

  • Visser E
  • 33


    Mendeley users who have this article in their library.
  • 41


    Citations of this article.


Program transformation is used in a wide range of applications including compiler construction, optimization, program synthesis, refactoring, software renovation, and reverse engineering. Complex program transformations are achieved through a number of consecutive modifications of a program. Transformation rules define basic modifications. A transformation strategy is an algorithm for choosing a path in the rewrite relation induced by a set of rules. This paper surveys the support for the definition of strategies in program transformation systems. After a discussion of kinds of program transformation and choices in program representation, the basic elements of a strategy system are discussed and the choices in the design of a strategy language are considered. Several styles of strategy systems as provided in existing languages are then analyzed. © 2001 Published by Elsevier Science B. V.

Get free article suggestions today

Mendeley saves you time finding and organizing research

Sign up here
Already have an account ?Sign in

Find this document


  • Eelco Visser

Cite this document

Choose a citation style from the tabs below

Save time finding and organizing research with Mendeley

Sign up for free