VL: Semantik von Programmiersprachen
VL 12054 Semantik von Programmiersprachen
Prof. Dr. R. Loogen
Achtung, geänderte Anfangszeit: Dienstags, 8:45-11:15 Uhr, HS I (Lahnberge)
Beginn: 22.04.2003
UE 12055 Jost Berthold
Freitags, 11:15 - 13:00 Uhr, HS I
Beginn: 02.05.2003
Hinweise: Am Freitag, dem 20. Juni 2003, fällt die Übung aus. Sie findet am 24. Juni anstelle der Vorlesung statt.
Am Freitag, dem 27. Juni 2003, ist anstelle der Übung Vorlesung.
Fachgebiet Klassifikation Semester Fortsetzung Skript
Informatik Hauptstudium, Theoretische Informatik >=3 nein nein

Voraussetzungen: Grundkenntnisse in Informatik und Mathematik
Querverbindungen: -
Scheinkriterien: Erfolgreiche Bearbeitung von 50% der Übungsaufgaben, Vorrechnen von mindestens 2 mündlichen Aufgaben und Kolloquium
Literatur:
Links: Abstract State Machines
Übungsblätter: Blatt 1 (Postscript, PDF)
Blatt 2 (Postscript, PDF)
Blatt 3 (Postscript, PDF)
Blatt 4 (Postscript, PDF)
Blatt 5 (Postscript, PDF)
Blatt 6 (Postscript, PDF)
Blatt 7 (Postscript, PDF)
Blatt 8 (Postscript, PDF)
Blatt 9 (Postscript, PDF)
Blatt 10 (Postscript, PDF)


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 fußen meist auf einer formalen Semantik. Grundsätzlich unterscheidet man drei verschiedene Ansätze, die in der Vorlesung anhand einer einfachen imperativen Modellsprache 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: Monday, 14-Jul-2003 17:07:57 CEST