Generating attribute grammar-based bidirectional transformations from rewrite rules

  • Authors:
  • Pedro Martins;João Saraiva;João Paulo Fernandes;Eric Van Wyk

  • Affiliations:
  • Universidade do Minho, Braga, Portugal;Universidade do Minho, Braga, Portugal;Universidade do Minho, Braga, MN, USA;University of Minnesota, Minneapolis, MN, USA

  • Venue:
  • Proceedings of the ACM SIGPLAN 2014 Workshop on Partial Evaluation and Program Manipulation
  • Year:
  • 2014

Quantified Score

Hi-index 0.00

Visualization

Abstract

Higher order attribute grammars provide a convenient means for specifying uni-directional transformations, but they provide no direct support for bidirectional transformations. In this paper we show how rewrite rules (with non-linear right hand sides) that specify a forward/get transformation can be inverted to specify a partial backward/put transformation. These inverted rewrite rules can then be extended with additional rules based on characteristics of the source language grammar and forward transformations to create, under certain circumstances, a total backward transformation. Finally, these rules are used to generate attribute grammar specifications implementing both transformations.