Abstract
A partial evaluator is a program transformator which as input take a program and parts of its input, and as output produce a specialized residual program. When applied to the rest of the input data, the residual program yields same result as the orignal program. The aim is efficiency: the residual program often run an order of magnitude faster. We have developed a self-applicable partial evaluator for a substantial subset of the C programming language. The possibility of self-application enables generation of stand-alone compilers from executable specifications, for example interpreters.
Chapter PDF
Similar content being viewed by others
Keywords
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
References
L.O. Andersen. C program specialization. Technical report, DIKU, University of Copenhagen, Denmark, 1992.
L.O. Andersen. Self-applicable C program specialization. In Proceeding of PEPM'92: Partial Evaluation and Semantics-Based Program Manipulation, 1992.
A. Berlin and D. Weise. Compiling scientific code using partial evaluation. IEEE Computer, 23(12):25–37, December 1990.
A. Bondorf. Self-Applicable Partial Evaluation. PhD thesis, DIKU, University of Copenhagen, 1990.
C.K. Gomard and N.D. Jones. Compiler generation by partial evaluation: a case study. Structured Programming, 12:123–144, 1991.
J. Launchbury. A strongly-typed self-applicable partial evaluator. Functional Programming Languages and Computer Architecture, August 1991. (LNCS, vol. 523), pages 145–164. ACM, Springer Verlag, 1991.
U. Meyer. Techniques for partial evaluation of imperative languages. In Partial Evaluation and Semantics-Based Program Manipulation, New Haven, Connecticut. (Sigplan Notices, vol. 26, no. 9, September 1991), pages 94–105. ACM, 1991.
V. Nirkhe and W. Pugh. Partial evaluation and high-level imperative programming languages with applications in hard real-time systems. In Nineteenth ACM Symposium on Principles of Programming Languages, Albuquerque, New Mexico, January 1992. ACM, 1992.
F.G. Pagan. Partial Computation and the Construction of Language Processors. Prentice-Hall, 1990.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1992 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Andersen, L.O. (1992). Partial evaluation of C and automatic compiler generation. In: Kastens, U., Pfahler, P. (eds) Compiler Construction. CC 1992. Lecture Notes in Computer Science, vol 641. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-55984-1_23
Download citation
DOI: https://doi.org/10.1007/3-540-55984-1_23
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-55984-9
Online ISBN: 978-3-540-47335-0
eBook Packages: Springer Book Archive