Abstract
The primary motivation behind this paper is an interest in transforming one semantic description for a language into another related description of the same language. Since direct and continuation semantics have been studied in some detail, they are obvious test-beds for suggesting the problems that might be encountered in the process. One of the problems is that the semantic objects in two descriptions of a language may be quite dissimilar. For example, function values of procedures in direct semantics are quite different from function values in continuation semantics. Milne and Reynolds have defined predicates which can be used to relate the two kinds of function values. Starting with such predicates we define transformations and then show that the transformations preserve the predicates. The transformations are used to construct continuation semantics, starting from a direct semantics of a language with procedures called by value.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
G. Huet, “Confluent reductions: abstract properties and applications to term rewriting systems,” Eighteenth Annual IEEE Symposium on Foundations of Computer Science, pp. 30–45 (October 1977).
B. W. Kernighan and D. M. Ritchie, The C Programming Language, Prentice-Hall, Englewood Cliffs, NJ (1978).
R. E. Milne and C. Strachey; A Theory of Programming Language Semantics, 2 Vols., Chapman and Hall, London, and John Wiley, New York (1976).
F. L. Morris, “The next 700 programming language descriptions,” unpublished manuscript (1970).
J. C. Reynolds, “On the relation between direct and continuation semantics,” pp. 141–156 in 2nd Colloquium on Automata, Languages and Programming, Lecture Notes in Computer Science 14, Springer-Verlag, Berlin (1974).
D. Scott and C. Strachey, “Towards a mathematical semantics for computer languages,” pp. 19–46 in Proceedings of the Symposium on Computers and Automata, Polytechnic Press, Brooklyn, N. Y. (April 1971).
R. Sethi, “Testing for the Church-Rosser property,” J. ACM 21(4), pp. 671–679, Errata in J. ACM 22(3) p. 424 (July 1975). (October 1974).
R. Sethi and A. Tang, “Transforming direct into continuation semantics for a simple imperative language,” unpublished manuscript, Bell Laboratories, Murray Hill, NJ (1978).
J. E. Stoy, Denotational Semantics: The Scott-Strachey Approach to Programming Language Theory, MIT Press, Cambridge, MA (1977).
J. E. Stoy, “The congruence of two programming language definitions,” unpublished manuscript (1976).
C. Strachey and C. Wadsworth, “Continuations: a mathematical semantics which can deal with full jumps,” Technical Monograph PRG-11, Programming Research Group, Oxford University (1974).
R. D. Tennent, “The denotational semantics of programming languages,” Comm. ACM 19(8), pp. 437–453 (August 1976).
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1979 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Sethi, R., Tang, A. (1979). Constructing call-by-value continuation semantics. In: Maurer, H.A. (eds) Automata, Languages and Programming. ICALP 1979. Lecture Notes in Computer Science, vol 71. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-09510-1_45
Download citation
DOI: https://doi.org/10.1007/3-540-09510-1_45
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-09510-1
Online ISBN: 978-3-540-35168-9
eBook Packages: Springer Book Archive