Semantics of Programming Languages (Second Edition)
Alberto Pettorossi
Abstract
Alberto Pettorossi
Abstract
In these lecture notes we present a few basic approaches to the definition of the semantics of programming languages. In particular, we present: (i) the operational semantics and the axiomatic semantics for a simple imperative language, and (ii)~the operational semantics and the denotational semantics for some first order and higher order, typed functional languages. We then present some basic techniques for proving properties of imperative, functional, and concurrent programs. We closely follow the presentation of the subject matter done by Glynn Winskel in~\cite{Win93}.
A significance statement is not available in the OpenAlex record.
A contribution statement is not available in the OpenAlex record.
Method details are not available in the OpenAlex metadata.
Findings are not separately available in the OpenAlex metadata.
Limitations are not available in the OpenAlex metadata.
Application details are not available in the OpenAlex metadata.
In these lecture notes we present a few basic approaches to the definition of the semantics of programming languages. In particular, we present: (i) the operational semantics and the axiomatic semantics for a simple imperative language, and (ii)~the operational semantics and the denotational semantics for some first order and higher order, typed functional languages. We then present some basic techniques for proving properties of imperative, functional, and concurrent programs. We closely follow the presentation of the subject matter done by Glynn Winskel in~\cite{Win93}.
Key concepts: Denotational semantics, Programming language, Operational semantics, Action semantics, Computer science, Semantics (computer science), Computational semantics, Axiomatic semantics