Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456 Syntax and Semantics
The material we have covered in the first seven lectures of the course
forms the theoretical foundations of the formal syntax of programming
languages. We now move on to the formal semantics of programming
languages.
Our main aim in this first lecture on semantics is to introduce this
topic, motivate its importance and present the three approaches to the
formal semantics of programming languages that we shall cover in the
remainder of the course. These are (structural) operational semantics,
denotational semantics and axiomatic semantics.
Roughly,
(structural) operational semantics aims at describing what the program does, and stipulates that the meaning of a program is given by its execution on an idealized machine;
denotational semantics aims at describing what the program
means. The meaning of a program is a mathematical object,
e.g., the
meaning of a command is a (partial) function from states to
states;
axiomatic semantics aims at describing what properties
a program enjoys. The meaning of a program is the collection of the
properties it affords.
We shall see our first example of an operational and a denotational
semantics for a simple language for arithmetic expressions.
Time and Location
Friday, 3 December 2004 at 9:00 in room 303.
Reading Material
Primary Reading: Chapter 1 of Hanne Riis Nielson, Flemming Nielson: Semantics with
Applications: A Formal Introduction. Wiley Professional
Computing, (240 pages, ISBN 0 471 92980 8), Wiley, 1992. (postscript)