Inhalt

[ 201LOSDFPLV13 ] VL Formal Semantics of Programming Languages

Versionsauswahl
Workload Ausbildungslevel Studienfachbereich VerantwortlicheR Semesterstunden Anbietende Uni
3 ECTS B3 - Bachelor 3. Jahr Mathematik Wolfgang Schreiner 2 SSt Johannes Kepler Universität Linz
Detailinformationen
Quellcurriculum Bachelorstudium Technische Mathematik 2013W
Ziele Die Studierenden sollen die wesentlichen Ansätze zur formalen Beschreibung der Semantik von Programmiersprachen und deren Zusammenhänge kennen lernen; sie sollen selbst in die Lage versetzt werden, die Semantik einfacher Sprachen zu formalisieren.
Lehrinhalte
  • Denotationale Semantik: die Formalisierung durch eine mathematische Funktion, die Programme auf mathematische Strukturen abbildet.
  • Operationale Semantik: die Formalisierung durch eine Sammlung von Reduktionsregeln, die den Anfangszustand eines Programms in seinen Endzustand überführen.
  • Axiomatische Semantik: die Formalisierung durch Korrektheitsbehauptungen, die es uns erlauben, Schlüsse über das Eingabe/Ausgabe-Verhalten von Programmen zu ziehen.

Beweis der Äquivalenz von denotationaler und operationaler Semantik einer einfachen imperativen Programmiersprache; Beweis der Korrektheit der axiomatischen Semantik anhand der denotationalen Semantik.

Beurteilungskriterien Schriftliche Aufgaben.
Lehrmethoden Vortrag mit praktischen Beispielen von Formalisierungen.
Abhaltungssprache Englisch
Literatur
  • David A. Schmidt. Denotational Semantics -- A Methodology for Language Development, Allyn and Bacon, Boston, MA, 1986.
  • Glynn Winskel: The Formal Semantics of Programming Languages -- An Introduction, Foundations of Computing Series, MIT Press, Cambridge, MA, 1994.
  • David A. Schmidt: The Structure of Typed Programming Languages, Foundations of Computing Series, MIT Press, Cambridge, MA, 1994.
  • Hanne Riis Nielson and Flemming Nielson. Semantics with Applications - A Formal Introduction, John Wiley & Sons, 1992.
Lehrinhalte wechselnd? Nein
Äquivalenzen TM1WIVOFSEM: VO Formale Semantik von Programmiersprachen (3 ECTS)
Präsenzlehrveranstaltung
Teilungsziffer -
Zuteilungsverfahren Direktzuteilung