MetaCartSign in to MyCiteSeer

Include Citations | Advanced Search | Help

Include Citations | Advanced Search | Help

  Proving the Correctness of the Static Link Technique Using Evolving Algebras

Download:
pdf | ps
by Markus Mohnen
http://www-i2.informatik.rwth-aachen.de/~mohnen/PUBLICATIONS/AIB-94-21.ps.gz
Add To MetaCart

Abstract:

The static link technique is used for the stack-based implementation of imperative programming languages which admit nested recursive procedure declarations. It was suggested in 1960 by Dijkstra as an extension of the stack technique for the evaluation of expressions. Its basic idea is to access global variables by tracing a static link chain to lower stack elements. Evolving algebras are a new method for the definition of operational semantics of abstract machines. Based on an appropriate stack machine, defined as an evolving algebra, and a functional description of a compiler for a sample language, we will give a complete proof of this technique. Especially, we will transform the evolving algebra for the stack machine into a more abstract one, i.e., into a new machine which is closer to the denotational semantics of the sample language.

Citations

153 Logic and the challenge of computer science – Gurevich - 1988
70 Evolving algebras. A tutorial introduction – Gurevich - 1991
66 The WAM -- Definition and Compiler Correctness – Borger, Rosenzweig - 1995
66 A Theory of Programming Language Semantics – Milne, Strachey - 1976
28 Universal Algebra for Computer Scientists, volume 25 – Wechler - 1992
25 Compiler Specification and Verification – Polak - 1981
19 Algebraic operational semantics and Modula-2 – Gurevich, Morris - 1988
6 Proving correctness of implementation techniques – Jones, Lucas - 1971
5 The Block Concept and Some Possible Implementations, with Proofs of Equivalence – Henhapl, Jones - 1970
3 Functional compiler description – Indermark - 1988