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

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

Organisatorisches

Diese Veranstaltung ist sowohl als Seminar, als auch als Proseminar deklariert worden, d.h. nach Absolvierung eines Vortrages erhät man wahlweise einen Seminar- oder einen Proseminarschein.
Vorausgesetzt wird Wissen über Aufbau und Funktionsweise von Compilern (mit anderen Worten: Besuch einer Compilerbauvorlesung).

Die Veranstaltung findet jeden Donnerstag von 11-13 Uhr in der Rudower Chaussee 25 im Raum III.101 statt.

Materialien

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

Vortragsmaterialien

Thema Kurzvorstellung Vortragsfolien Vortragsbeispiele Beispielcompiler
JavaCC features.html (link) JavaCC.pdf 83K example-javacc.tar.gz 1.2K minako-javacc.tar.gz 1.7K
JACCIE jaccie-short.pdf 9.7K jaccie.pdf 5.2M in Vortragsfolien enthalten minako-jaccie.tar.gz 1.5K
ANTLR ANTLR-short.pdf 5.5K ANTLR.pdf 230K example-antlr.tar.gz 1.2K minako-antlr.tar.gz 1.7K
generic interpreter gi-short.pdf 12K gi.pdf 70K example-gi.tar.gz 38K im Vortragsbeispiel enthalten
kimwitu++ kimwitu-short.pdf 17K kimwitu.pdf 136K example-kimwitu.tar.gz 4.9K geheim ;-)
JLex/Cup JLex_CUP-short.pdf 46K JLex_CUP.pdf 325K example-JLex_CUP.tar.gz 4.6K minako-JLex_CUP.tar.gz 3.5K
SableCC SableCC-short.pdf 78K SableCC.pdf 164K in Vortragsfolien enthalten minako-SableCC.tar.gz 1.6K
lemon lemon-short.pdf 82K lemon.pdf 115K example-lemon.tar.gz 68K minako-lemon.tar.gz 80K
accent accent-short.pdf 42K accent.pdf 110K example-accent.tar.gz 1.6K minako-accent.tar.gz 2.2K
ASF+SDF ME asf+sdf-short.pdf 119K asf+sdf.pdf 401K in Vortragsfolien enthalten minako-asf+sdf.tar.gz 1.0K
Gentle gentle-short.pdf 53K gentle.pdf 126K example-gentle.tar.gz 3.1K minako-gentle.tar.gz 2.8K

Zeitplan

17.04.2003 Einführung / Organisatorisches / Themenvergabe Andreas Kunert
24.04.2003 JavaCC (Java Compiler Compiler) Andreas Kunert
01.05.2003 fällt aus (Maifeiertag)
08.05.2003 fällt aus (Tag der Informatik)
15.05.2003 fällt aus (Krankheit)
22.05.2003 JACCIE Martin Schmidt
29.05.2003 fällt aus (Himmelfahrt / Herrentag ;-)
05.06.2003 ANTLR Ingmar Eveslage, Chris Helbing, Philipp Scheidereiter
12.06.2003 gi Christian Gierds
19.06.2003 Kimwitu++ Glenn Schütze, Konrad Voigt
JLex / Cup Martin Knobloch
26.06.2003 SableCC Yasushi Tomii
03.07.2003 lemon Stephan Schulze
accent Valentin Ziegler
10.07.2003 ASF+SDF Meta-Environment Carsten Evers
17.07.2003 The GENTLE Compiler Construction System Mathias Peters, Eik Villwock