Summary
A class of continuation models and a class of stack models for defining the semantics of programming languages are specified. A transformation is given that maps any continuation model into an equivalent stack model, and the equivalence is proved. The transformation is illustrated for an example language which includes gotos and recursive procedures.
Similar content being viewed by others
References
Gordon, M.: Operational reasoning and denotational semantics. Stanford University Computer Science Department, Report No. STAN-CS-7S-506, 1975
Hoare, C.A.R., Lauer, P.: Consistent and complementary formal theories of the semantics of programming languages. Acta Informatica 3, 135–153 (1974)
Manna, Z., Ness, S., Vuillemin, J.: Inductive methods for proving properties of programs. Comm. ACM 16, 491–502 (1973)
Manna, Z.: Mathematical theory of computation. New York: McGraw-Hill 1974
Milne, R. E.: The formal semantics of computer languages and their implementations. Ph.D. Thesis, Cambridge University and Tech. Microfiche TCF-2, Oxford University Computing Lab., Programming Research Group, 1974
Reynolds, J.C.: Definitional interpreters for higher-order programming languages. Proceedings of the ACM Annual Conference, Vol. 27, pp. 717–740, 1972
Plotkin, G.D.: LCF considered as a programming language. In: Proc. Conf. on Proving and Improving Programs, IRIA, pp. 243–262, 1975
Scott, D.: Lattice theory, data types and semantics. In: Formal semantics of programming languages (R. Rustin, ed.), pp. 65–105. Englewood Cliffs, N.J.: Prentice-Hall 1972
Scott, D.: Data types as lattices. In: Lecture Notes, Amsterdam, 1972. Also in: ISILC, Logic Conference, Kiel, 1974. Lecture Notes in Mathematics, Vol. 499, pp. 579–650. Berlin-Heidelberg-New York: pringer 1975
Scott, D., Strachey, C.: Towards a mathematical semantics for computer languages. In: Computers and Automata (J. Fox, ed.), pp. 19–46. New York: Wiley 1972
Strachey, C., Wadsworth, C. P.: Continuations — a mathematical semantics for handling full jumps. Oxford University Computing Laboratory Technical Monograph PRG-11, 1974
Walk, K. et al.: Abstract syntax and interpretation of PL/1. IBM Laboratory Vienna Technical Report, TR25.098, April 1969
Wegner, P.: The Vienna definition language. Computing Survey 4, 5–63 (1972)
Author information
Authors and Affiliations
Rights and permissions
About this article
Cite this article
Russell, B. On an equivalence between continuation and stack semantics. Acta Informatica 8, 113–123 (1977). https://doi.org/10.1007/BF00289244
Received:
Issue Date:
DOI: https://doi.org/10.1007/BF00289244