Scopes Describe Frames: A Uniform Model for Memory Layout in Dynamic Semantics

Abstract

Semantic specifications do not make a systematic connection between the names and scopes in the static structure of a program and memory layout, and access during its execution. In this paper, we introduce a systematic approach to the alignment of names in static semantics and memory in dynamic semantics, building on the scope graph framework for name resolution. We develop a uniform memory model consisting of frames that instantiate the scopes in the scope graph of a program. This provides a language-independent correspondence between static scopes and run-time memory layout, and between static resolution paths and run-time memory access paths. The approach scales to a range of binding features, supports straightforward type soundness proofs, and provides the basis for a language-independent specification of sound reachabilitybased garbage collection. 1998 ACM Subject Classification F.3.1 Specifying and Verifying and Reasoning about Programs

DOI: 10.4230/LIPIcs.ECOOP.2016.20

Extracted Key Phrases

25 Figures and Tables

Cite this paper

@inproceedings{Poulsen2016ScopesDF, title={Scopes Describe Frames: A Uniform Model for Memory Layout in Dynamic Semantics}, author={Casper Bach Poulsen and Pierre N{\'e}ron and Andrew P. Tolmach and Eelco Visser}, booktitle={ECOOP}, year={2016} }