Art: Integrierte Veranstaltung

Credits: 5 CP

Prüfer / Betreuer

Ort & Zeit

  • Dienstag 16:15 - 17:55 Uhr (S101/A03).
  • Geplant: Live-Stream der Vorlesungen auf lect.stream. Beginn: Dienstag, 17.10.2023

Austragungsmodus

Die Vorlesung wird in Präsenz stattfinden und zusätzlich aufgezeichnet sowie auf lect.stream live gestreamed. Weitere Details zur Organisation folgen demnächst im Moodle-Kurs.

Empfohlene Voraussetzungen

Grundkenntnisse Algorithmen und Datenstrukturen, Java, Rechnerarchitektur (erworben z.B. durch “Algorithmen und Datenstrukturen”, “Funktionale und objektorientierte Programmierkonzepte” und “Rechnerorganisation” bzw. die Vorgängerveranstaltungen GDI2, GDI1 und TGDI)

Inhalt

Diese Veranstaltung gibt eine praktisch orientierte Einführung in die Grundlagen des Compilerbaus, speziell der benötigten Algorithmen und Datenstrukturen. Dabei werden alle Phasen der Übersetzung, vom Lexing/Parsing über die semantische Analyse bis hin zur Codeerzeugung behandelt. Weitere Themen umfassen die automatische Erzeugung von Lexern/Parsern durch Werkzeuge wie ANTLR und JavaCC, sowie die Laufzeitumgebung bei der Ausführung von Hochsprachen. Die Verfahren werden anhand eines in Java verfassten Beispielcompilers für die einfache Hochsprache Triangle erklärt.

Anmeldung

  • Zum Erwerb der Studienleistung müssen Sie wie gewohnt im TuCaN angemeldet sein.
  • Bitte schreiben Sie sich in den zugehörigen Moodle-Kurs ein, sobald dieser verfügbar ist.

Literatur

  • Programming Language Processors in Java von David Watt und Deryck Brown

Prüfungsform

  • Sonderform = semesterbegleitende, benotete Studienleistung

Studienleistung

Die Studienleistung kann erbracht werden durch die erfolgreiche Bearbeitung von Übungsblättern und praktischen Programmieraufgaben in Gruppen (geplant mit je drei Mitgliedern), sowie deren erfolgreicher Diskussion in individuellen Testaten. Über das Semester verteilt werden Sie drei Übungsblätter (Bearbeitungszeit: jeweils eine Woche) und drei Programmierprojekte (Bearbeitungszeit: jeweils zwei Wochen) bearbeiten. Für ein Bestehen sind dabei mindestens ausreichende Leistungen in jedem dieser Teilbereiche erforderlich.

Wichtig: Ein Anrecht auf Wiederholung von Teilleistungen bei verspäteter Anmeldung besteht nicht! Achten Sie dementsprechend darauf, dass Sie sich rechtzeitig zum Modul und zur Studienleistung anmelden.

Hinweis

Die aktuell im TUCaN auswählbaren Testats- und Übungsgruppen sind NICHT bindend.

Hinweis für Studierende der PO 2009 und älter

Das Modulangebot “Compiler I” (20-00-0610) ist zum SoSe 2016 ausgelaufen. Studierende in PO2009 und älter, können “Einführung in den Compilerbau” nicht ersatzweise für “Compiler I” belegen, da die neue Veranstaltung nicht im Wahlpflichtkatalog der PO 2009 und älter enthalten ist.

Zusätzliches Material

Triangle-Compiler, v2.1-esa6

Achtung: Dies ist nicht die Compiler-Umgebung für die Studienleistung, sondern dient zur Veranschaulichung des Vorlesungsstoffs.

Alternatives Aufzeichnungsformat und Player

Wir bieten die Aufzeichnungen dieses Jahr weiterhin neben den üblichen H.264-komprimierten Videodateien in einem zweiten eigenen Format, genannt .plr an. Dieses vektorbasierte Format hat eine Reihe von Vorteilen gegenüber den .mp4 Videodateien:

  • Die Aufzeichnungen bestehen aus frei skalierbaren Vektoren und haben bei vergrößerter Darstellung eine deutlich höhere Qualität als die pixelbasierten H.264 Videodateien.
  • Die Vektordateien werden automatisch je Folie indiziert. Das heisst, dass gezielt der Vortrag zu einzelnen Folien angesprungen werden kann und auch direkt in der Aufzeichnung nach Folienstichworten gesucht werden kann.
  • Die .plr-Dateien sind in der Regel kleiner als die .mp4-Videodateien.

Diese zusätzliche Funktionalität erfordert allerdings eine eigene Abspielsoftware. Diese ist Bestandteil des .zip-Archivs der Vektoraufzeichnungen und wird als JavaScript (.js) in allen modernen Browsern ausgeführt. Zum Starten des Players nach dem Entpacken des .zip-Archivs dazu einfach die Datei index.html doppelclicken und dann die zur Wiedergabe gewünschte .plr-Aufzeichnung anwählen.

Da diese Funktionalität unserer in Open-Source eigenentwickelten Aufzeichnungssoftware lectureStudio noch sehr neu ist, wären wir für Erfahrungsberichte / Bug-Reports / Verbesserungsvorschläge im EiCB Moodle-Forum dankbar!

Neu ab WS 2023/24: Wir bieten nun auch eine Möglichkeit, auf die MP4-Aufzeichnung indiziert zuzugreifen (also direkt in der Aufzeichnung zu einer Folie zu springen). Laden Sie dazu neben der MP4-Datei auch die gleichnamige HTML-Datei herunter (es werden immer beide Dateien, heruntergeladen ins gleiche Verzeichnis benötigt!) und öffnen Sie die HTML-Datei auf einem modernen Web-Browser. Dieser agiert dann als Video-Player und bietet rechts eine Zeitleiste mit den Folien an, die einfach angeclickt werden kann.

Aufzeichnungen

Vorlesungsfolien