A language and an Integrated Environment for Program Transformations

Abstract : We present the TrfL language, a rule-based language designed for program transformations. For the end-user, TrfL is intended to support both direct manipulation in an interactive setting and automated execution in a stand-alon- e context. For the designer, the TrfL language features a high-level expressiv- e power based on powerful patterns, pre-conditions and post-actions, access to contextual information such as symbol tables or dataflow graphs, and functional composition of transformations. For the designer, we also provide an interactive environment for program transformations based on Centaur. This integrated environment makes it possible to build transformation rules by selection of syntax patterns of the object language and to automatically generate the TrfL source code. Static typechecking of TrfL rules is provided, to ensure correct construction of patterns, appropriate use of variables, and visibility rules in a program. Among numerous application domains (legacy code problems, static optimizations, parallelizations), we propose in this article a complete example based on partial evaluation techniques on a toy imperative language. Our final goal, with a formal description of the transformations, besides its interest per se, is to be able to provide tools for proving the correctness of the transformations, as well as other important properties (such as confluence, termination, etc).
Type de document :
RR-3313, INRIA. 1997
Liste complète des métadonnées

Littérature citée [1 références]  Voir  Masquer  Télécharger

Contributeur : Rapport de Recherche Inria <>
Soumis le : mercredi 24 mai 2006 - 12:39:30
Dernière modification le : mardi 30 janvier 2018 - 16:56:01
Document(s) archivé(s) le : dimanche 4 avril 2010 - 21:16:05



  • HAL Id : inria-00073376, version 1



Isabelle Attali, Valérie Pascual, Christophe Roudet. A language and an Integrated Environment for Program Transformations. RR-3313, INRIA. 1997. 〈inria-00073376〉



Consultations de la notice


Téléchargements de fichiers