Executable semantic descriptions

We describe how the denotational semantics of a programming language can be executed directly, if it is expressed in a suitable functional programming language such as ML. We also apply Mosses' idea of ‘semantic algebras’ to construct semantic descriptions that are significantly more modular and understandable than usual. The possibility of executing a language's semantic description directly supports a methodology of language design that we advocate: express the design as a formal language description, and use this to test and refine the design, before becoming committed to constructing a compiler.

[1]  Robert D. Tennent,et al.  The denotational semantics of programming languages , 1976, CACM.

[2]  Ravi Sethi,et al.  Control Flow Aspects of Semantics-Directed Compiling , 1983, TOPL.

[3]  Peter D. Mosses,et al.  Abstract Semantic Algebras , 1982, Formal Description of Programming Concepts.

[4]  P. Redfern Experience in using a Deuce Computer for the Family Expenditure Survey , 1960, Comput. J..

[5]  C. A. R. Hoare,et al.  An axiomatic basis for computer programming , 1969, CACM.

[6]  David A. Schmidt,et al.  Compiler generation from denotational semantics , 1980, Semantics-Directed Compiler Generation.

[7]  Peter D. Mosses,et al.  A Semantic Algebra for Binding Constructs , 1981, ICFPC.

[8]  Frank G. Pagan,et al.  ALGOL 68 as a Metalanguage for Denotational Semantics , 1979, Computer/law journal.

[9]  Robin Milner,et al.  A Theory of Type Polymorphism in Programming , 1978, J. Comput. Syst. Sci..

[10]  Lawrence Charles Paulson A compiler generator for semantic grammars , 1981 .

[11]  Lloyd Allison Programming Denotational Semantics , 1983, Comput. J..

[12]  Martin R. Raskovsky Denotational semantics as a specification of code generators , 1982, SIGPLAN '82.

[13]  Uwe Kastens,et al.  GAG: A Practical Compiler Generator , 1982, Lecture Notes in Computer Science.

[14]  Michael J. C. Gordon,et al.  The Denotational Description of Programming Languages , 1979, Springer New York.

[15]  Juris Hartmanis,et al.  The Programming Language Ada Reference Manual American National Standards Institute, Inc. ANSI/MIL-STD-1815A-1983 , 1983, Lecture Notes in Computer Science.

[16]  Michael J. C. Gordon,et al.  The denotational description of programming languages - an introduction , 1979 .