# An Introduction to Denotational Semantics

## Abstract

To specify a programming language we must specify its syntax and semantics. The *syntax* of a programming language specifies which strings of symbols constitute valid programs. A formal description of the syntax typically involves a precise specification of the alphabet of allowable symbols and a finite set of rules delineating how symbols may be grouped into expressions, instructions, and programs. Most compilers for programming languages are implemented with *syntax checking* whereby the first stage in compiling a program is to check its text to see if it is syntactically valid. In practice, syntax must be described at two levels, for a human user through programming manuals and as a syntax-checking algorithm within a compiler or interpreter.

## Keywords

Programming Language Inductive Step Atomic Function Partial Function Operational Semantic## Preview

Unable to display preview. Download preview PDF.

## Notes and References for Chapter 1

- K. Jensen and N. Wirth,
*PASCAL Users Manual and Report*, Springer-Verlag, 1974Google Scholar - J. Stoy,
*, Denotational Semantics: The Scott-Strachey Approach to Programming Language Theory*, MIT Press, 1979Google Scholar - R. Floyd, “Assigning meanings to programs,” in
*Mathematical Aspects of Computer Science*, American Mathematical Society, 1967, pp. 19–32Google Scholar - C. A. R. Hoare “An axiomatic basis for computer programming, ”
*Communications of the Association for Computing Machinery*,**12**, 1969, pp. 576–580, 583.Google Scholar - S. Alagić and M. A. Arbib,
*The Design of Well-Structured and Correct Programs*, Springer-Verlag, 1977.Google Scholar - Backus’ Turing Award Lecture is published in
*Communications of the Association for Computing Machinery*,*21*, 1978, pp. 613–641.Google Scholar - A. J. Kfoury, R. N. Moll, and M. A. Arbib,
*A Programming Approach to Computability*, Springer-Verlag, 1982.Google Scholar - N. Jacobson,
*Lectures in Abstract Algebra*, Van Nostrand, 1951, pp. 20–21.Google Scholar - E.J. Dijkstra,
*A Discipline of Programming*, Prentice-Hall, 1977.Google Scholar