Pattern eliminating transformations - Inria - Institut national de recherche en sciences et technologies du numérique Access content directly
Conference Papers Year : 2019

Pattern eliminating transformations

Abstract

Program transformation is a common practice in computer science, and its many applications can have a range of dierent objectives. For example, a program written in an original high level language could be either translated into machine code for execution purposes, or towards a language suitable for formal verication. Languages often have a lot of dierent constructions, and thus, transformations often focus on eliminating some of these constructions, or at least processing some specic sequence of constructions. Rewriting is a widely established formalism to describe the mechanism and the logic behind such transformations. It relies mainly on the principle of rewrite rules to describe the dier-ent operations performed. Generally type-preserving, these rewrite rules can ensure that the transformation result has a given type and thus give syntactic guarantees on the constructions it consists of. However, we sometimes want the transformation to provide more guarantees on the shape of its result by specifying that some patterns of constructions does not appear. For this purpose, we propose in this paper an approach based on annotating transformation function symbols with (anti-)pattern in order for such transformation to guarantee stronger properties on the shape of its result. With the generic principles governing term algebra and rewriting, we believe this approach to be an accurate formalism to any language providing pattern-matching primitives.
Fichier principal
Vignette du fichier
main.pdf (249.05 Ko) Télécharger le fichier
Origin Files produced by the author(s)
Loading...

Dates and versions

hal-02186325 , version 1 (17-07-2019)

Identifiers

  • HAL Id : hal-02186325 , version 1

Cite

Pierre Lermusiaux, Horatiu Cirstea, Pierre-Etienne Moreau. Pattern eliminating transformations. CIEL 2019 - 8ème Conférence en IngénieriE du Logiciel, Jun 2019, Toulouse, France. ⟨hal-02186325⟩
95 View
93 Download

Share

Gmail Mastodon Facebook X LinkedIn More