ACM Home Page
Please provide us with feedback. Feedback
Induction variables in very high level languages
Full text PdfPdf (635 KB)
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: 104 - 112  
Year of Publication: 1976
Authors
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): 2,   Downloads (12 Months): 18,   Citation Count: 18
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.811544
What is a DOI?

ABSTRACT

We explore the notion of an induction variable in the context of a set-theoretic programming langugage. An appropriate definition, we believe, involves both the necessity that changes in the variable around a loop be easily computable and that they be small. We attempt to justify these requirements and show why they are independent assumptions. Next the question of what operators on sets play the role of +, − and * for arithmetic languages is explored, and several theorems allowing us recursively to detect induction variables in a loop are given. It is shown that most of the usual set operations do fit nicely into the theory and help form induction variables. The reason most variables fail to be induction variables concerns the structure of control flow, more than it does the operators applied.


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
F. E. Allen, "Program Optimization," in Annual Review in Automatic Programming, Vol. 5, Pergamon, 1969, pp. 239-307.
 
2
F. E. Allen and J. Cocke, "A Catalogue of Optimizing transformations," in Design and Optimization of Compilers (R. Rustin, ed.), Prentice Hall, 1972, pp. 1-30.
 
3
 
4
 
5
F. E. Allen, J. Cocke and K. Kennedy, "Reduction of Operator Strength," TR 476-093-6, Dept. of Math. Sciences, Rice Univ., Houston, Aug., 1974.
 
6
J. Cocke and K. Kennedy, "An Algorithm for Reduction of Operator Strength," TR 476-093-2, Dept. of Math. Sciences, Rice Univ., Houston, March, 1974.
7
 
8
J. Earley, "High Level Iterators and a Method of Automatically Designing Data Structure representation," ERL-M416, Computer Science Division, Univ. of Cal-if., Berkeley, Feb., 1974.
 
9
J. T. Schwartz, "On Earley's Method of Iterator Inversion," SETL Newsletter, No. 138, Courant Institute, 1974.
 
10
J. T. Schwartz, On Programming, Vols. I and II, Courant Institute, 1971 and 1973.

CITED BY  18

Collaborative Colleagues:
Amelia C. Fong: colleagues
Jeffrey D. Ullman: colleagues