Humboldt-Universität zu Berlin
ZE Rechenzentrum (CMS)
Abt. Systemsoftware und Kommunikation
Dr. rer. nat. Andreas Kunert
HU-CMS-Logo  HU-Berlin Logo

Seminar "Compilergeneratoren" (SS 2007)

Kurzbeschreibung

In nahezu jedem Bereich der Informatik werden heutzutage Compiler oder zumindest Compilertechniken eingesetzt. Da die dort verwendeten Algorithmen meist nur unwesentlich voneinander differieren, liegt es nahe, einen Teil der Implementation Metawerkzeugen zu überlassen, namentlich Compilergeneratoren (auch Compiler-Compiler genannt).

Von dem Hype, den Compilergeneratoren in den 60ern und 70ern hatten, ist heute nicht mehr viel zu spüren (wenn man davon absieht, daß das wohl bekannteste Scanner-/Parsergeneratorgespann lex/yacc dieser Zeit (1975) entsprungen ist). Nichtsdestotrotz wurde in den letzten Jahren die Entwicklung von Compilergeneratoren wieder verstärkt aufgegriffen.

Ziel des Seminars ist es, einen Überblick über aktuelle Compilergeneratoren zu schaffen und diese untereinander zu vergleichen. Dabei sollen insbesondere folgende Aspekte pro Compilergenerator geklärt werden:

  1. welche Compilerkomponenten werden wie ausführlich generiert (die Bezeichnung Compilergenerator ist im allgemeinen viel zu hoch gegriffen)
  2. in welcher Sprache(n) werden die generierten Compilerkomponenten implementiert
  3. gibt es besondere Merkmale des Generators oder des generierten Compilers

Hinweis

Dieses Seminar ist arbeitsaufwändig! Es ist primär für "Fans" des Compilerbaus gedacht, die schon immer mal einen vollständigen Compiler von vorn bis hinten konstruieren wollten. Wer also auf der Suche nach einem unaufwändigen Seminarschein ist, sollte dieses Seminar definitiv meiden!

Organisatorisches

Vorausgesetzt wird Wissen über Aufbau und Funktionsweise von Compilern (mit anderen Worten: Besuch einer Compilerbauvorlesung).

Die Einschreibung erfolgt über goya. Auch wenn bereits alle vorhandenen Plätze in Goya belegt sein sollten, kann es trotzdem sinnvoll sein, zur ersten Veranstaltung zu erscheinen, da naturgemäß mehrere Studenten noch im letzten Moment abspringen.

Themenvergabe und weitere organisatorische Spitzfindigkeiten erfolgen beim ersten Seminartermin. Wer an diesem Termin nicht teilnehmen kann, melde sich bitte vorher bei mir, da nach dem ersten Termin eventuell keine Themen mehr vergeben werden können. Wer über Goya eingeschrieben ist und beim ersten Termin nicht auftaucht, wird gnadenlos von der Liste gestrichen!

Materialien

Materialiensammlung Definition der Lexik und Syntax von C1, Testsuiten, Linklisten und weitere hilfreiche Dinge zu C1 und Jasmin...

Zeitplan

26.04.2007 Einführung / Organisatorisches / Themenvergabe Andreas Kunert
08.06.2007 JLex/Cup Martin Schröder
22.06.2007 JavaCC Leonard Kern
13.07.2007 AnTLR Khurram Irschad