Lecture 9: Programming Language Semantics
Background Material
- Lecture on functional programming and operational semantics of scheme.
- Predicate calculus and boolean algebra
- Induction
Reading
Theme
This lecture introduces three techniques for formally specifying the
semantics of programming languages: operational semantics (formal machine
model), denotational semantics, and axiomatic semantics.
So far we have extensively used operational semantics (meta-circular
interpreter and interpreters built using other languages), the approaches
outlined are related but more mathematical. Formal mathematical approaches
can be used to prove theorems about the language and for automated correctness
proofs.
Topics
- Operational Semantics
- Denotational Semantics
- Axiomatic Semantics
Lecture Slides
- (lec9summary.pptx,
lec9summary.pdf)
Exercises
Created: May 28, 2008 by jjohnson AT cs DOT drexel DOT DOT edu