Vorlesung Compiler

Zurück zur Übersicht ...

Titel
Compiler
Title (in english)
Compiler
Kürzel (Prüfungsamt)
COM4.WP
Art der Lehrveranstaltung
Vorlesung (FWP)
Lehrende(r)
Fakultät
Wird gehalten
derzeit nicht
empfohlenes Semester
Credits
5 CP
Semesterwochenstunden
3 SWS
zugehöriges Praktikum
1 SWS
Leistungsnachweis(e)
SoSe 2014 (IN7, freigegeben am 03.04.2014)
SoSe 2014 (TI7, freigegeben am 03.04.2014)
SoSe 2014 (WI7, freigegeben am 03.04.2014)
WiSe 2013 (WI7, freigegeben am 15.10.2013)
WiSe 2013 (IN7, freigegeben am 15.10.2013)
WiSe 2013 (TI7, freigegeben am 15.10.2013)

Ziele

Die Studierenden erkennen wo die Einsatzgebiete von Scannern und Parsern liegen.

Die Studierenden sind basierend auf der Theorie der formalen Sprachen in der Lage sein Scanner und Parser mit aktuellen Werkzeugen zu erstellen.

Kurzbeschreibung

Wie oft wird ein mehr oder weniger kleiner Scanner oder Parser benötigt? Häufig wird abendteuerlich auf selbst "erfundene" Scanner und parser gesetzt. Um hier rechtzeitig den Absprung von ein paar Zeilen Code zu erleichtern, ist die Kenntnis des Aufbaus und der Wirkungsweise von Compilern wichtig.

In dieser Vorlesung wird die Funktionsweise und der von Parsern über Scanner bis zu Compilern erarbeitet. Hierbei wird der sinnvolle Einsatz von Werkzeugen basierend auf den theoretischen Grundlagen beschrieben.

Nach einem kurzen Überblick über diverse kleinen "Helferlein", die auf aktuellen Entwicklungsplattformen zur Verfügung stehen, werden die theoretischen Grundlagen - die formalen Sprachen und Automaten - erarbeitet. Hier wird ein Schwerpunkt auf CH-2 und CH-3 Sprachen gesetzt, die für Compiler besonders relevant sind. Aufbauend auf der Theorie wird dann die praktische Realisierung des Übersetzerbaus besprochen. Der Weg führt zur Konstruktion von Programmen zur lexikalischen und syntaktischen Analyse. Deren konkrete Realisierung wird an Hand allgemein verwendeter Programme veranschaulicht. Hierbei wird ein Compiler mit Hilfe gängiger Werkzeuge erstellt (lex, yacc) erstellt.

Inhalte

  1. Einführung
  2. Sprachentheorie: Grundlagen der Sprachanalyse
  3. Lexikalische Analyse
  4. lex / flex
  5. Die Syntaxanalyse
  6. Semantische Analyse
  7. Der Compiler-Generator YACC / BISON
  8. Zwischencodeerzeugung
  9. Code-Optimierung

Empfohlene Literatur

Arbeitsaufwand

Form der Wissensvermittlung

Seminaristischer Unterricht, Übungen, Praktikum