Pattern eliminating transformations - Inria - Institut national de recherche en sciences et technologies du numérique
Communication Dans Un Congrès Année : 2020

Pattern eliminating transformations

Résumé

Program transformation is a common practice in computer science, and its many applications can have a range of different 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 verification. Such compilations are split into several so-called passes which generally aim at eliminating certain constructions of the original language to get some intermediate languages and finally generate the target code. Rewriting is a widely established formalism to describe the mechanism and the logic behind such transformations. In a typed context featuring type-preserving rewrite rules, the underlying type system can be used to give syntactic guarantees on the shape of the results obtained after each pass, but this approach could lead to an accumulation of (auxiliary) types that should be considered. We propose in this paper an approach where the function symbols corresponding to the transformations performed in a pass are annotated with the (anti-)patterns they are supposed to eliminate and show how we can check that the transformation is consistent with the annotations and thus, that it eliminates the respective patterns.
Fichier principal
Vignette du fichier
main.pdf (508.73 Ko) Télécharger le fichier
Origine Fichiers produits par l'(les) auteur(s)

Dates et versions

hal-02476012 , version 1 (12-02-2020)
hal-02476012 , version 2 (13-02-2020)
hal-02476012 , version 3 (25-11-2020)

Identifiants

  • HAL Id : hal-02476012 , version 3

Citer

Horatiu Cirstea, Pierre Lermusiaux, Pierre-Etienne Moreau. Pattern eliminating transformations. LOPSTR 2020 - 30th International Symposium on Logic-Based Program Synthesis and Transformation, Sep 2020, Bologna, Italy. ⟨hal-02476012v3⟩
212 Consultations
165 Téléchargements

Partager

More