CS 552: Semantik von Programmiersprachen
12 113 11552 Semantik von Programmiersprachen
Prof. Dr. R. Loogen
Dienstags, 16.00 - 17.30 Uhr, LE HS IV (Raum 04A30, Lahnberge),
Mittwochs, 10.00 - 11.30 Uhr, LE HS IV (Raum 04A30, Lahnberge)
Beginn: Achtung: Mittwoch, 16. April 2014
Übungen Mischa Dieterle
Donnerstags, 12.15 - 14.00 Uhr, LE SR V (Raum 05D09, Lahnberge)
Beginn: 24. April 2014

Fachgebiet Klassifikation Semester Leistungspunkte (ECTS) Skript
Theoretische Informatik Vertiefungsmodul, Theoretische Informatik >=5 9 nein

Voraussetzungen: Programmierkenntnisse, Mathematische Grundkenntnisse
Kriterien für die Leistungspunktevergabe:
  1. aktive Teilnahme an den Übungen
  2. erfolgreiche Bearbeitung von mindestens 50 % der Übungsaufgaben, Abgabe in Zweiergruppen ist erlaubt.
  3. Vorbereitung und mündliche Präsentation von mindestens zwei Übungsaufgaben
  4. Bestehen der Abschlussprüfung (mündliche Prüfung oder (bei mehr als 15 Teilnehmer/innen) Klausur)
Termine:
  • Prüfungsanmeldung: bis 20. Juni 2014
  • Prüfungstermine: 22./23. Juli 2014
Unterlagen zur Vorlesung Übungsblätter, Folien und weitere Unterlagen werden über das ILIAS-System bereitgestellt.

Literaturauswahl:
  • Hanne Riis Nielson, Flemming Nielson: Semantics with Applications: An Appetizer, Springer 2007.
  • Glynn Winskel: The Formal Semantics of Programming Languages, MIT Press 1993.
  • Elfriede Fehr: Semantik von Programmiersprachen, Springer 1989.


Inhalt: Es werden verschiedene Ansätze zur formalen Beschreibung der Bedeutung (Semantik) von Programmiersprachen vorgestellt. Formale Semantikmodelle unterstützen das Verständnis von Programmiersprachen und die Entwicklung von Compilern. Unsicherheiten bei der Umsetzung von Algorithmen können verhindert werden. Fehlende Details, Mehrdeutigkeiten und Inkonsistenzen können frühzeitig erkannt und beseitigt werden. Korrektheitsbeweise für Programme und Compiler basieren auf einer formalen Semantik. Grundsätzlich unterscheidet man drei verschiedene Ansätze, die in der Vorlesung anhand der einfachen imperativen Modellsprache While eingeführt werden:
  • Operationelle Semantiken: Beschreibung von Berechnungen
  • Denotationelle Semantiken: Beschreibung des Ein-/Ausgabeverhaltens
  • Axiomatische Semantiken: Angabe von Aussagen über Programmeigenschaften
Es werden auch weiterführende Techniken für funktionale und objektorientierte Sprachen und die Beschreibung von Nichtdeterminismus und Parallelität behandelt.


Zuletzt geändert: Wednesday, 16-Apr-2014 18:08:58 CEST