Compilerbau 2016
Vorlesung an der DHBW Stuttgart, 2016.
Stephan
Schulz
|
Inhalte
In der Geschichte der Informatik ist eine Vielzahl von
Programmiersprachen entstanden. Diese erlauben es uns, Programme so
eindeutig zu beschreiben, dass sie von einer Maschine ausgeführt
werden können. Dabei besteht ein großer Abstand zwischen verschiedenen
Hochsprachen, die für die Beschreibung von Algorithmen und
Domänenwissen optimiert sind, und den verschiedenen Formen von
Maschinensprache, die von einer (echten oder virtuellen) Maschine
direkt ausgeführt werden können.
Dieser Abstand wird von Compilern und Interpretern
überbrückt. In dieser Vorlesung beschäftigen wir uns mit Grundlagen
und Umsetzung von Konzepten des Compilerbaus. Wir wollen dabei unter
anderem die folgenden Fragen beantworten.
- Wie werden moderne Programmiersprachen beschrieben und implementiert?
- Wie funktionieren Compiler und Interpreter
- Wie werden hochsprachliche Konzepte in maschinennahe
Darstellung umgesetzt?
- Wie kann man strukturierte Daten (wie z.B. Programmtexte) auf
verschiedenen Ebenen darstellen und verarbeiten?
Im begleitenden Labor werden wir einen funktionsfähigen Compiler für
eine einfache Sprache entwickeln.
Unterlagen
- Folienskript 2016 (im Entstehen, Stand 11.5.2016, hoffentlich fertig)
- Folienskript vom letzten Jahr (vollständig, aber es wird sich
was ändern!)
- Software-Dokumentation
- Übungsklausur (2015)
- Klausur 2015
- Übungsklausur (2016)
- Beispielcode
- Musterlösungen (zum Vergleichen, ausborgen, meckern)
- nanoLang