Meta Programming With Concrete Object Syntax

Stratego -- Strategies for Program Transformation
E. Visser. Meta-programming with concrete object syntax. In D. Batory, C. Consel, and W. Taha, editors, Generative Programming and Component Engineering (GPCE'02), volume 2487 of Lecture Notes in Computer Science, pages 299-315, Pittsburgh, PA, USA, October 2002. Springer-Verlag.


Meta programs manipulate structured representations (abstract syntax) of programs. The distance between the concrete syntax meta-programmers use to reason about programs and the notation for abstract syntax manipulation provided by general purpose (meta-) programming languages is too great for many applications. In this paper it is shown how the syntax definition formalism SDF can be employed to fit a meta-programming language with concrete syntax notation for composing and analyzing object programs. As a case study, the addition of concrete syntax to the program transformation language Stratego is presented. The approach is then generalized to arbitrary meta-languages.

Technical report


  author =     {Eelco Visser},
  title =     {Meta-Programming with Concrete Object Syntax},
  booktitle =    {Generative Programming and Component Engineering (GPCE'02)},
  pages =    {299--315},
  year =    2002,
  editor =    {Don Batory and Charles Consel and Walid Taha},
  volume =    2487,
  series =    {Lecture Notes in Computer Science},
  address =    {Pittsburgh, PA, USA},
  month =    {October},
  publisher =    {Springer-Verlag}

CategoryPaper CategoryConcreteObjectSyntax