ACM Home Page
Please provide us with feedback. Feedback
Compilers and staging transformations
Full text PdfPdf (1.44 MB)
Source Annual Symposium on Principles of Programming Languages archive
Proceedings of the 13th ACM SIGACT-SIGPLAN symposium on Principles of programming languages table of contents
St. Petersburg Beach, Florida
Pages: 86 - 96  
Year of Publication: 1986
Authors
Sponsor
SIGPLAN: ACM Special Interest Group on Programming Languages
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 7,   Downloads (12 Months): 28,   Citation Count: 24
Additional Information:

abstract   references   cited by   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/512644.512652
What is a DOI?

ABSTRACT

Computations can generally be separated into stages, which are distinguished from one another by either frequency of execution or availability of data. <i>Precomputation</i> and <i>frequency reduction</i> involve moving computation among a collection of stages so that work is done as early as possible (so less time is required in later steps) and as infrequently as possible (to reduce overall time).We present, by means of examples, several general transformation techniques for carrying out precomputation transformations. We illustrate the techniques by deriving fragments of simple compilers from interpreters, including an example of Prolog compilation, but the techniques are applicable in a broad range of circumstances. Our aim is to demonstrate how perspicuous accounts of precomputation and frequency reduction can be given for a wide range of applications using a small number of relatively straightforward techniques.Related work in partial evaluation, semantically directed compilation, and compiler optimization is discussed.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

1
2
 
3
{Darlington81} Darlington, J., <i>The design of efficient data representations.</i> Department of Computing and Control, Imperial College London, 1981.
 
4
{Darlington82} Darlington, J., <i>The structured description of algorithm derivations.</i> International Symposium on Algorithmic Languages, Amsterdam, North Holland, 1982.
 
5
{Emanuelson80} Emanuelson, P., <i>Performance enhancement in a well-structured pattern matcher through partial evaluation.</i> Ph. D. thesis, Link&ouml;ping University, 1980.
 
6
{Ershov78} Ershov, A., <i>On the partial computation principle.</i> Information Processing Letters, Vol. 6, No. 2, pp. 38--41, April 1977.
 
7
{Ershov78} Ershov, A., <i>On the essence of compilation.</i> In: <b>Formal Descriptions of Programming Concepts.</b> Neuhold, E. J., ed., North-Holland, 1978.
 
8
{Ershov82} Ershov, A., <i>Mixed computation: potential applications and problems for study.</i> Theoretical Computer Science No. 18, pp. 41--67, 1982.
9
 
10
{Futamura71} Futamura, Y., <i>Partial evaluation of computation process---an approach to a compiler-compiler.</i> Systems. Computers. Controls Vol. 2, No. 5, pp. 721--728, 1971.
 
11
{Jones83} Jones, N. D. and A. Mycroft, <i>Stepwise development of operational and denotational semantics for prolog.</i> Draft version, DIKU, University of Copenhagen, April 1983.
 
12
{Jones85} Jones, N. D., P. Sestoft and H. S&oslash;ndergaard. <i>An experiment in partial evaluation: the generation of a compiler generator.</i> DIKU Report 85/1, University of Copenhagen, 1985.
 
13
{Kahn84} Kahn, K. and M. Carlsson, <i>The compilation of prolog programs without the use of a prolog compiler.</i> International Conference on Fifth Generation Computer Systems, ICOT, pp. 348--355, 1984.
14
 
15
 
16
{Mosses79} Mosses, P., <i>SIS - semantics implementation system, reference manual and users guide.</i> DAIMI MD-30, &Aring;rhus University, 1979.
 
17
{Nillson84} Nillson, J. F., <i>Formal vienna-definition-method models of prolog.</i> In: <b>Implementations of Prolog.</b> Campbell, J. A. ed., Ellis Horwood, 1984
18
 
19
20
21
 
22
23
 
24
{Scherlis83} Scherlis, W. L. and D. Scott, <i>First steps towards inferential programming.</i> IFIP Congress 83, North-Holland, 1983.
 
25
{Scherlis85} Scherlis, W. L., <i>Adapting abstract data types.</i> Carnegie-Mellon University, 1985.
26
 
27
{Schmidt85b} Schmidt, D. A., <i>Tuning architectures to semantic definitions.</i> Iowa State University, 1985.
 
28
29
30
31

CITED BY  24
Collaborative Colleagues:
Ulrik Jørring: colleagues
William L. Scherlis: colleagues