Loops in combinator-based compilers
Information and Control
Denotational semantics: a methodology for language development
Denotational semantics: a methodology for language development
Revised report on the algorithmic language scheme
ACM SIGPLAN Notices
Tag-free garbage collection for strongly typed programming languages
PLDI '91 Proceedings of the ACM SIGPLAN 1991 conference on Programming language design and implementation
Essentials of programming languages
Essentials of programming languages
Topics in advanced language implementation
Topics in advanced language implementation
Making abstract machines less abstract
Proceedings of the 5th ACM conference on Functional programming languages and computer architecture
A simple applicative language: mini-ML
LFP '86 Proceedings of the 1986 ACM conference on LISP and functional programming
The Craft of Programming
Denotational Semantics: The Scott-Strachey Approach to Programming Language Theory
Denotational Semantics: The Scott-Strachey Approach to Programming Language Theory
A Theory of Programming Language Semantics
A Theory of Programming Language Semantics
Semantics-directed machine architecture
POPL '82 Proceedings of the 9th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Correctness of Procedure Representations in Higher-Order Assembly Language
Proceedings of the 7th International Conference on Mathematical Foundations of Programming Semantics
The global storage needs of a subcomputation
POPL '84 Proceedings of the 11th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
The scheme 311 compiler an exercise in denotational semantics
LFP '84 Proceedings of the 1984 ACM Symposium on LISP and functional programming
Selective and lightweight closure conversion
POPL '94 Proceedings of the 21st ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Compiler correctness for parallel languages
FPCA '95 Proceedings of the seventh international conference on Functional programming languages and computer architecture
A practical and flexible flow analysis for higher-order languages
POPL '96 Proceedings of the 23rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Denotational semantics using an operationally-based term model
Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Translation validation for an optimizing compiler
PLDI '00 Proceedings of the ACM SIGPLAN 2000 conference on Programming language design and implementation
On Exceptions Versus Continuations in the Presence of State
ESOP '00 Proceedings of the 9th European Symposium on Programming Languages and Systems
Hi-index | 0.00 |
Conventional techniques for semantics-directed compiler derivation yield abstract machines that manipulate trees. However, in order to produce a real compiler, one has to represent these trees in memory. In this paper we show how the technique of storage-layout relations can be applied to verify the correctness of storage representations in a very general way. This technique allows us to separate denotational from operational reasoning, so that each can be used when needed. As an example, we show the correctness of a stack implementation of a language including dynamic catch and throw. The representation uses static and dynamic links to thread the environment and continuation through the stack. We discuss other uses of these techniques.