Print Email Facebook Twitter Scopes describe frames Title Scopes describe frames: A uniform model for memory layout in dynamic semantics Author Poulsen, C.B. (TU Delft Programming Languages) Neron, P.J.M. (French Network and Information Security Agency (ANSSI) Tolmach, Andrew (Portland State University) Visser, Eelco (TU Delft Programming Languages) Contributor Krishnamurthi, Shriram (editor) Lerner, Benjamin S. (editor) Date 2016-07-01 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. Subject Dynamic semanticsMemory layoutOperational semanticsScope graphsType soundness To reference this document use: http://resolver.tudelft.nl/uuid:8cfac577-b66d-402d-ad40-ff59c6f42291 DOI https://doi.org/10.4230/LIPIcs.ECOOP.2016.20 Publisher Schloss Dagstuhl- Leibniz-Zentrum fur Informatik GmbH, Dagstuhl Publishing ISBN 978-3959-77014-9 Source 30th European Conference on Object-Oriented Programming, ECOOP 2016, 56 Event ECOOP 2016, 2016-07-18 → 2016-07-22, Rome, Italy Part of collection Institutional Repository Document type conference paper Rights © 2016 C.B. Poulsen, P.J.M. Neron, Andrew Tolmach, Eelco Visser Files PDF LIPIcs_ECOOP_2016_20.pdf 1.03 MB Close viewer /islandora/object/uuid:8cfac577-b66d-402d-ad40-ff59c6f42291/datastream/OBJ/view