Skip to Main content Skip to Navigation
Reports

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).
Document type :
Reports
Complete list of metadata

Cited literature [1 references]  Display  Hide  Download

https://hal.inria.fr/inria-00073376
Contributor : Rapport de Recherche Inria <>
Submitted on : Wednesday, May 24, 2006 - 12:39:30 PM
Last modification on : Tuesday, January 30, 2018 - 4:56:01 PM
Long-term archiving on: : Sunday, April 4, 2010 - 9:16:05 PM

Identifiers

  • HAL Id : inria-00073376, version 1

Collections

Citation

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

Share

Metrics

Record views

288

Files downloads

214