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 Meta Programming with Concrete Object Syntax.


CategoryConcreteObjectSyntax

Revision: r1.3 - 09 Feb 2003 - 12:19 - MartinBravenboer
Stratego > StrategoGlossary > ConcreteSyntax
Copyright © 1999-2020 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback