Abstract
There are numerous methods of formally defining the semantics of computer languages. Each method has been designed to fulfil a different purpose. For example, some have been designed to make reasoning about languages as easy as possible; others have been designed to be accessible to a large audience and some have been designed to ease implementation of languages. Given two semantics definitions of a language written using two separate semantics definition methods, we must be able to show that the two are in fact equivalent. If we cannot do this then we either have an error in one of the semantics definitions, or more seriously we have a problem with the semantics definition methods themselves.
Three methods of defining the semantics of computer languages have been considered, i.e. Denotational Semantics, Structural Operational Semantics and Action Semantics. An equivalence between these three is shown for a specific example language by first defining its semantics using each of the three definition methods. The proof of the equivalence is then constructed by selecting pairs of the semantics definitions and showing that they define the same language.
Similar content being viewed by others
References
Baker-Finch, C. A.: Algebraic, Operational and Denotational Semantics of the Lambda Calculus.The Australian Computer Journal, 16(3), 96–101, 1984.
Burstall, R. M.: Proving properties of programs by structural induction.Computer Journal, 12, 41–48, 1969.
Gordon, M. J. C.:The Denotational Description of Programming Languages: An Introduction. Springer-Verlag, 1979.
Hennessy, M:The Semantics of Programming Languages: An Elementary Introduction using Structural Operational Semantics. John Wiley & Sons, 1990.
Hoare, C. A. R. and Lauer, P. E.: Consistent and Complementary Formal Theories of the Semantics of Programming Languages.Acta Informatica, 3, 135–153, 1974.
Milne, R. and Strachey, C:A Theory of Programming Language Semantics. Chapman and Hall, 1976.
Mosses, P. D.:Action Semantics. Cambridge Tracts in Theoretical Computer Science, Cambridge University Press, 1992.
Plotkin, G. D.:A Structural Approach to Operational Semantics. Report DAIMI FN-19, Computer Science Department, Aarhus University, Ny Munkegade, Building 540, DK-8000, Aarhus C, Denmark, 1981.
Watt, D. A.:Programming Language Syntax and Semantics. Prentice Hall, 1991.
Winskel, G.:The Formal Semantics of Programming Languages: An Introduction. The MIT Press, 1993.
Author information
Authors and Affiliations
Corresponding author
Additional information
A full version of this paper can be accessed via our web page http://www.cs.man.ac.uk/fmethods/ facj.html
Rights and permissions
About this article
Cite this article
Caswell, M.J.A. Equivalence of formal semantics definition methods. Formal Aspects of Computing 9, 68–77 (1997). https://doi.org/10.1007/BF01212525
Received:
Accepted:
Issue Date:
DOI: https://doi.org/10.1007/BF01212525