|
ABSTRACT
Binding-time analysis is a crucial component of an offline partial evaluator. The accuracy of the binding-time information that it produces determines the degree of specialization of programs.
We present a binding-time analysis for applicative languages. This analysis is polyvariant and treats both higher-order functions and data structures. It handles typed as well as untyped programs. It has been implemented and is used in a partial evaluation system named Schism.
The main contributions of this work can be summarized as follows.
- •Our analysis combines both a data flow and a control flow analyses. This key feature makes it possible to create different binding-time descriptions of a function (or a data structure) with respect to data flow information. Also, this approach yields more accurate control flow information than one that separates control flow and data flow analyses.
- •The degree of polyvariance achieved by our analysis is not fixed. In fact, the analysis is parameterized with respect to a function that defines the degree of polyvariance.
- •Untyped as well as typed programs are treated by our analysis. When available, type information is used to improve the accuracy of binding-time descriptions.
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
|
H. Abelson , R. K. Dybvig , C. T. Haynes , G. J. Rozas , N. I. Adams, IV , D. P. Friedman , E. Kohlbecker , G. L. Steele, Jr. , D. H. Bartley , R. Halstead , D. Oxley , G. J. Sussman , G. Brooks , C. Hanson , K. M. Pitman , M. Wand , William Clinger , Jonathan Rees, Revised report on the algorithmic language scheme, ACM SIGPLAN Lisp Pointers, v.IV n.3, p.1-55, July, 1991
[doi> 10.1145/382130.382133]
|
| |
4
|
|
| |
5
|
C. Consel. Analyse de Programmes, Evaluation Partielle et Ggngration de Compilateurs. PhD thesis, Universit~ de Paris VI, Paris, France, June 1989.
|
 |
6
|
|
 |
7
|
|
| |
8
|
C. Consel and S.C. Khoo. On-line &: off-line partial evaluation: Semantic specifications and correctness proofs. Research Report 896, Yale University, New Haven, Connecticut, USA, 1992.
|
| |
9
|
A. Deutsch. Operational Models of Programming Languages and Representations of Relations on Regular Languages with Application to the Static Determination of Dynamic Aliasing Properties of Data. PhD thesis, LIX, Ecole Polytechnique, Palaiseau, France, 1991.
|
| |
10
|
M. Gengler and B. Rytz. A polyvariant binding time analysis handfing partially known values. In Workshop on Static Analysis, volume 81-82 of Bigre Journal, pages 322-330. IRISA, Rennes, France, 1992.
|
 |
11
|
|
| |
12
|
|
 |
13
|
|
 |
14
|
|
| |
15
|
R. Milner, M. Tofte, ~nd R. Harper. The Definition of ML. MIT Press, 1990.
|
| |
16
|
|
 |
17
|
|
| |
18
|
B. Rytz and M. Gengler. A polyvariant binding time analysis, in C. Consel, editor, A CM Workshop on Partial Evaluation and Semantics.Based Program Manipulation, pages 21-28. Yale University, 1992. Research Report 909.
|
 |
19
|
|
Peer to Peer - Readers of this Article have also read:
-
Data structures for quadtree approximation and compression
Communications of the ACM
28, 9
Hanan Samet
-
A hierarchical single-key-lock access control using the Chinese remainder theorem
Proceedings of the 1992 ACM/SIGAPP Symposium on Applied computing
Kim S. Lee
, Huizhu Lu
, D. D. Fisher
-
The GemStone object database management system
Communications of the ACM
34, 10
Paul Butterworth
, Allen Otis
, Jacob Stein
-
Putting innovation to work: adoption strategies for multimedia communication systems
Communications of the ACM
34, 12
Ellen Francik
, Susan Ehrlich Rudman
, Donna Cooper
, Stephen Levine
-
An intelligent component database for behavioral synthesis
Proceedings of the 27th ACM/IEEE Design Automation Conference on
Gwo-Dong Chen
, Daniel D. Gajski
|