ACore Language For Rewriting
Stratego -- Strategies for Program Transformation
E. Visser and Z.-e.-A. Benaissa. A core language for rewriting. In C. Kirchner and H. Kirchner, editors,
Second International Workshop on Rewriting Logic and its Applications (WRLA'98), volume 15 of Electronic Notes in Theoretical Computer Science, Pont-à-Mousson, France, September 1998. Elsevier Science Publishers.
Abstract
System S is a calculus providing the basic abstractions of
term rewriting: matching and building terms, term traversal,
combining computations and handling failure. The calculus
forms a core language for implementation of a wide variety of
rewriting languages, or more generally, languages for
specifying tree transformations. In this paper we show how a
conventional rewriting language based on conditional term
rewriting can be implemented straightforwardly in System S.
Subsequently we show how this implementation can be extended
with features such as matching conditions, negative
conditions, default rules, non-strictness annotations and
alternative evaluation strategies.
Download
CategoryPaper