Scopes describe frames

A uniform model for memory layout in dynamic semantics

Conference Paper (2016)
Author(s)

Casper Bach Poulsen (TU Delft - Programming Languages)

Pierre Neron (French Network and Information Security Agency (ANSSI)

Andrew Tolmach (Portland State University)

E Visser (TU Delft - Programming Languages)

Research Group
Programming Languages
Copyright
© 2016 C.B. Poulsen, P.J.M. Neron, Andrew Tolmach, Eelco Visser
DOI related publication
https://doi.org/10.4230/LIPIcs.ECOOP.2016.20
More Info
expand_more
Publication Year
2016
Language
English
Copyright
© 2016 C.B. Poulsen, P.J.M. Neron, Andrew Tolmach, Eelco Visser
Research Group
Programming Languages
Volume number
56
Pages (from-to)
1-26
ISBN (electronic)
978-3959-77014-9
Reuse Rights

Other than for strictly personal use, it is not permitted to download, forward or distribute the text or part of it, without the consent of the author(s) and/or copyright holder(s), unless the work is under an open content license such as Creative Commons.

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 reachability-based garbage collection.