|  | 
                        
    					  
    					  
  						
                    
                      | 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)
 
 |  |