Concrete Syntax
Stratego -- Strategies for Program Transformation
Abstract syntax written using prefix constructor terms can become rather unreadable when patterns become large. Therefore it is attractrive to write
transformation rules using the concrete syntax of
the object language instead of its abstract syntax. For example, to write
PlusZero :
|[ e + 0 ]] -> [[ e ]|
instead of
PlusZero :
Plus(e, Int(0)) -> e
Starting with
StrategoRelease08 concrete syntax is supported by Stratego. For a full account of this new feature and its implementation see the paper
--
EelcoVisser - 04 Jun 2002