Inhalt

[ 201SYMBFPLV23 ] VL Formal Semantics of Programming Languages

Versionsauswahl
(*) Leider ist diese Information in Deutsch nicht verfügbar.
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 2023W
Ziele Die Studierenden lernen die wesentlichen Ansätze zur formalen Beschreibung der Semantik von Programmiersprachen und deren Zusammenhänge kennen; sie können die Semantik einfacher Sprachen formalisieren und diese in Form von Interpretern für diese Sprachen implementieren.
Lehrinhalte Abstrakte Syntax von Programmiersprachen als Basis der Formalisierung ihrer Semantik.

  • 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; konstruktive Implementierung der denotationalen Semantik in Form eines Interpreters.

Beurteilungskriterien Schriftliche Aufgaben/Mini-Projekte (Formalisierungen einer Sprache mit einer prototypischen Implementierung als ein Interpreter).
Lehrmethoden Folien-basierter Vortrag mit praktischen Beispielen von Formalisierungen.
Abhaltungssprache English
Literatur
  • Wolfgang Schreiner. Thinking Programs. Chapter "Programming Languages", Springer, 2021.
  • 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
Sonstige Informationen https://risc.jku.at/courses/
Äquivalenzen TM1WIVOFSEM: VO Formale Semantik von Programmiersprachen (3 ECTS)
Frühere Varianten Decken ebenfalls die Anforderungen des Curriculums ab (von - bis)
201LOSDFPLV13: VL Formal Semantics of Programming Languages (2013W-2023S)
Präsenzlehrveranstaltung
Teilungsziffer -
Zuteilungsverfahren Direktzuteilung