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.
Original language | English |
---|---|
Title of host publication | 30th European Conference on Object-Oriented Programming, ECOOP 2016 |
Editors | Shriram Krishnamurthi, Benjamin S. Lerner |
Publisher | Schloss Dagstuhl- Leibniz-Zentrum fur Informatik GmbH, Dagstuhl Publishing |
Pages | 1-26 |
Number of pages | 26 |
Volume | 56 |
ISBN (Electronic) | 978-3959-77014-9 |
DOIs | |
Publication status | Published - 1 Jul 2016 |
Event | ECOOP 2016: 30th European Conference on Object-Oriented Programming - Rome, Italy Duration: 18 Jul 2016 → 22 Jul 2016 |
Conference
Conference | ECOOP 2016 |
---|---|
Country/Territory | Italy |
City | Rome |
Period | 18/07/16 → 22/07/16 |
Keywords
- Dynamic semantics
- Memory layout
- Operational semantics
- Scope graphs
- Type soundness