Pattern eliminating transformations - Inria - Institut national de recherche en sciences et technologies du numérique Access content directly
Preprints, Working Papers, ... Year : 2020

Pattern eliminating transformations


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. 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 (595.47 Ko) Télécharger le fichier
Origin : Files produced by the author(s)

Dates and versions

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


  • HAL Id : hal-02476012 , version 2


Horatiu Cirstea, Pierre Lermusiaux, Pierre-Etienne Moreau. Pattern eliminating transformations. 2020. ⟨hal-02476012v2⟩
149 View
145 Download


Gmail Facebook X LinkedIn More