Master-Modul MPM1: Semantik
Formale Grundlagen der Informatik III (FGI-3)
Eine Hauptaufgabe der Semantik von Programmsprachen besteht also darin,
implementationsunabhängige, in sich konsistente Definitionen von Syntax
und Semantik zu finden. Beispielsweise enthielten frühe Definitionen von
Programmsprachen keine Konzepte für Ein- und Ausgabe, da diese zu abhängig
vom jeweils benutzten Rechner waren. Gesichtspunkte der Migration,
Kooperation und Erlernbarkeit erfordern auch hier einheitliche Konzepte.
Die Vorlesung umfasst vier große Blöcke:
- Semantik imperativer Programmsprachen. Fundamentale Ansätze sind die
operationale und die denotationale Semantik.
- Axiomatische Semantik, die ein Kalkül zur syntaxorientierten Form der
Programmverifikation bereitstellt.
- Die Theorie abstrakter Datentypen, bei der das Konzept der Syntax
insofern erweitert wird, als dass axiomatisch die Gültigkeit einer Menge von
Gleichungen gefordert wird.
- Lambda-Kalkül und Typtheorie stellen die Grundlage funktionaler
Programmiersprachen dar. Typtheorie studiert insbesondere Funktionen
höherer Ordnung
- ein Konzept, das es typischerweise in imperativen Sprachen so nicht gibt.
Skript
Vortragsfolien