ACM Home Page
Please provide us with feedback. Feedback
Program improvement by source to source transformation
Full text PdfPdf (1.17 MB)
Source Annual Symposium on Principles of Programming Languages archive
Proceedings of the 3rd ACM SIGACT-SIGPLAN symposium on Principles on programming languages table of contents
Atlanta, Georgia
Pages: 140 - 152  
Year of Publication: 1976
Author
Sponsors
SIGPLAN: ACM Special Interest Group on Programming Languages
SIGACT: ACM Special Interest Group on Algorithms and Computation Theory
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 3,   Downloads (12 Months): 25,   Citation Count: 14
Additional Information:

abstract   references   cited by   index terms   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/800168.811548
What is a DOI?

ABSTRACT

We treat a program as an object of manipulation, determine items of program constancy, and simplify the program based on the constancy. Some motivation for program manipulation is presented, along with two examples of “higher level optimization” written in an Algol-like language. A collection of program transformations and a model of the compilation process in terms of source-to-source transformations are presented. Finally a description of the application of these ideas to an existing programming language is given.


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
Abrams, Philip: {APL}, "An APL Machine", Stanford Electronics Laboratory, SU-SEL-70-017, February 1970.
 
2
ACM Sigplan: {Languages}, Symposium on Very High Level Languages, Sigplan Notices, 9, 4 April 1974.
 
3
ACM Sigplan: {Optimization}, Proceedings of a Symposium on Compiler Optimization, Sigplan Notices, July 1970.
 
4
Allen, Frances E. and Cocke, John: {Catalogue}, "A Catalogue of Optimizing Transformations", in R. Rustin (Ed.) Design and Optimization of Compilers, Prentice-Hall 1972.
 
5
Bearisto, David and Sattley, Kirk: {Laboratory}, "BETA Laboratory", Final Report, Mass. Computer Associates, Inc., CADD-7312-3111, December 31, 1973.
 
6
Beckman, Lenhart et al: {Evaluator}, "A Partial Evaluator and its use as a Programming Tool", Dept. of Computer Sciences, Uppsala University, Sweden, November 1974.
7
 
8
Cheatham, T. E.: {Evaluator}, "EL1 Symbolic Evaluator-Design Notes", working paper.
9
10
 
11
 
12
 
13
Karr, Michael: {Information}, "Gathering Information About Programs", Mass. Computer Associates, Inc., CA-7507-1411, July 14, 1975.
 
14
Karr, Michael: {Assignment}, "The Assignment of Scalar Variables to Memory Cells", Mass. Computer Associates, Inc., CAID-7501-0611, January 1975.
 
15
Karr, Michael: {Inequalities}, "Proving Inequalities", Mass. Computer Associates, Inc., CA-7406-1011, June 1974. Submitted for publication.
 
16
Karr, Michael: {Affine}, "Affine Relationships Among Variables of a Program", Mass. Computer Associates, Inc., CA-7402-2811, June 1974. Accepted for publication by Acta Informatica.
17
 
18
Lamport, Leslie: {Parallel}, "Parallel Execution on Array and Vector Computers ", Proceedings of the 1975 Sagamore Conference on Parallel Processing, August 1975.
 
19
20
 
21
Lamport, Leslie: {Coordinate}, "The Coordinate Method for the Parallel Execution of DO Loops", Proceedings of the 1973 Sagamore Conference on Parallel Processing, August 1973.
 
22
Loveman, David: {Transformation}, "Source-to-Source Transformation of Programs", in preparation.
 
23
Loveman, David, Bearisto, David, Karr, Michael and Sattley, Kirk: {Development 1975}, "Development of Compiler Optimization Techniques", Mass. Computer Associates, Inc., CADD-7508-3111, August 31, 1975.
24
 
25
Loveman, David: {K in a Row}, "The 'K in a Row' Problem ", Mass. Computer Associates, Inc., CADD-7412-0411, December 4, 1974.
 
26
Loveman, David, Sattley, Kirk and Bearisto, David: {Development 1974}, "Development of Compiler Optimization Techniques", Mass. Computer Associates, Inc., CADD-7407-2311, July 1974.
 
27
Loveman, David: {Replacement}, "On the Compilation of the Beta Replacement Statement", Mass. Computer Associates, Inc., CADD-7308-0911, August 9, 1973.
 
28
Presberg, David and Johnson, Neil: {Paralyzer}, "The Paralyzer, IVTRAN's Parallelism Analyzer and Synthesizer", Proceedings of a Conference on Programming Languages and Compilers for Parallel and Vector Machines, Sigplan Notices, Vol. 10, No. 3, March 1975.
 
29
Saint, Harry: {Ordering}, "The Partial Ordering of Loops and Array References", Mass. Computer Associates, Inc., CADD-7312-3112, December 31, 1973.
 
30
 
31
Shapiro, Robert M. and Saint, Harry: {Algorithms}, "The Representation of Algorithms", Applied Data Research, Inc., Final Technical Report. RADC-TR-69-313, Vol. II, Rome Air Development Center, September 1969.
32
 
33
Wegbreit, Ben: {Extraction}, "Property Extraction in Well-Founded Property Sets ", IEEE Transactions on Software Engineering, Vol. SE-1, No. 3, September 1975.
 
34
Wegbreit, Ben: {Transformation}, "Goal-Directed Program Transformation", Xerox Palo Alto Research Center, September 1975.
35
 
36
Wegbreit, Ben: {Closure}, "Procedure Closure in EL1", The Computer Journal, Vol. 17, No. 1, February 1974.
 
37
Wegbreit, Ben: {ECL}, "The ECL Programming System", Proc. FJCC, Vol. 39, pp.253-262, 1971.
38

CITED BY  14