Binding-Time Analysis and the Taming of C Pointers

13 years 10 months ago
Binding-Time Analysis and the Taming of C Pointers
The aim of binding-time analysis is to determine when variables, expressions, statements, etc. in a program can be evaluated by classifying these into static (compile-time) and dyamic (run-time). Explicit separation of binding times has turned out to be crucial for successful self-application of partial evaluators, and apparently, it is also an important stepping-stone for profitable specialization of imperative languages with pointers and dynamic memory allocation. In this paper we present an automatic binding-time analysis for a substantial subset of the C language. The paper has two parts. In the first part, the semantic issues of binding-time separation is discussed with emphasis on pointers and classification of these. This leads to the introduction of a two-level C language where binding times are explicit in the syntax. Finally, well-annotatedness rules are given which excludes non-consistently annotated programs. In the second part, an automatic binding-time analysis based ...
Lars Ole Andersen
Added 10 Aug 2010
Updated 10 Aug 2010
Type Conference
Year 1993
Where PEPM
Authors Lars Ole Andersen
Comments (0)