Author:
Wand Mitchell,Oliva Dino P.
Abstract
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.
Publisher
Association for Computing Machinery (ACM)
Reference18 articles.
1. Runtime tags aren't necessary
2. Cldment D Despeyroux J. Despeyroux T a.nd Kahn G. "A Simple Applicative Language: Mim-ML" ~roc. t986 ACM Syrup. on ~~sp and Ft~nctzonal Progrormrnz.ng 13-27. 10.1145/319838.319847 Cldment D Despeyroux J. Despeyroux T a.nd Kahn G. "A Simple Applicative Language: Mim-ML" ~roc. t986 ACM Syrup. on ~~sp and Ft~nctzonal Progrormrnz.ng 13-27. 10.1145/319838.319847
3. The scheme 311 compiler an exercise in denotational semantics
4. Tag-free garbage collection for strongly typed programming languages
Cited by
3 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献