Higher-order transformations with nested concrete syntax

  • Authors:
  • Rob Economopoulos;Bernd Fischer

  • Affiliations:
  • ECS, University of Southampton, Southampton, UK;ECS, University of Southampton, Southampton, UK

  • Venue:
  • Proceedings of the Eleventh Workshop on Language Descriptions, Tools and Applications
  • Year:
  • 2011

Quantified Score

Hi-index 0.00

Visualization

Abstract

Transformations play an important role in grammar-based applications such as program generation. In this domain, the use of the concrete syntax technology is particularly beneficial as it substantially simplifies the development and maintenance of the transformations. Further benefits could be achieved by the use of higher-order transformations to generate program transformations. However, both technologies cannot be combined easily because of the difficulties in merging the different object, meta, and meta-meta languages. Here we propose an approach to higher-order transformations with nested concrete syntax. We use Stratego as meta-meta language and allow the embedding of arbitrary object languages into arbitrary meta languages. We describe the implementation of the approach and give two examples for its application, the embedding of Stratego in itself to generate WebDSL program transformations, and the use of Stratego to generate Prolog-clauses with embedded object syntax.