A Uniform Approach for Compile-time and Run-time Specialization - Inria - Institut national de recherche en sciences et technologies du numérique Access content directly
Reports (Research Report) Year : 1996

A Uniform Approach for Compile-time and Run-time Specialization


As partial evaluation gets more mature, it is now possible to use this program transformation technique to tackle realistic languages and real-size application programs. However, this evolution raises a number of critical issues that need to be addressed before the approach becomes truly practical. First of all, most existing partial evaluators have been developed based on the assumption that they could process any kind of application program. This attempt to develop {\em universal} partial evaluators does not address some critical needs of real-size application programs. Furthermore, as partial evaluators treat richer and richer languages, their size and complexity increase drastically. This increasing complexity revealed the need to enhance design principles. Finally, exclusively specializing programs at compile time seriously limits the applicability of partial evaluation since a large class of invariants in real-size programs are not known until run time and therefore cannot be taken into account. In this paper, we propose design principles and techniques to deal with each of these issues. By defining an architecture for a partial evaluator and its essential components, we are able to tackle a rich language like C without compromising the design and the structure of the resulting implementation. By designing a partial evaluator targeted towards a specific application area, namely system software, we have developed a system capable of treating realistic programs. Because our approach to designing a partial evaluator clearly separates preprocessing and processing aspects, we are able to introduce run-time specialization in our partial evaluation system as a new way of exploiting information produced by the preprocessing phase.
Fichier principal
Vignette du fichier
RR-2775.pdf (233.87 Ko) Télécharger le fichier

Dates and versions

inria-00073917 , version 1 (24-05-2006)


  • HAL Id : inria-00073917 , version 1


Charles Consel, Luke Hornof, François Noël, Jacques Noyé, Eugen-Nicolae Volanschi. A Uniform Approach for Compile-time and Run-time Specialization. [Research Report] RR-2775, INRIA. 1996. ⟨inria-00073917⟩
188 View
417 Download


Gmail Facebook X LinkedIn More