Compilerbau [CB]

Wintersemester 2006/07
Lehrstuhl für Informatik II
Diplomstudiengang Informatik/Hauptstudium/Theoretische Informatik, Vertiefung

Aktuelles

07.02.2007
Die Klausurergebnisse lauten wie folgt (alles ab 4,0 ist bestanden, für den Schein sind zusätzlich 50% der Übungspunkte erforderlich):
Matr.-Nr.  Note  Übungspunkte
233832 5,0 17%
249949 3,0 88%
250518 1,7 52%
250641 2,0 89%
250702 1,7 101%
251085 5,0 45%
252173 5,0 48%
252291 5,0 48%
252332 2,0 101%
252741 5,0 57%
255310 4,0 53%
255311 2,3 87%
258415 4,0 88%
258839 2,3 87%
258897 1,3 97%
259469 1,3 72%
Die Musterlösung zur Klausur können Sie hier herunterladen.
01.02.2007
Die Ergebnisse der Evaluierung sind verfügbar..
18.01.2007
Am Freitag, dem 2. Februar, findet eine weitere Vorlesung zur gewohnten Zeit (8:15-9:45) im AH 6 statt. Dafür entfällt die Vorlesung am 2. Februar.
09.01.2007
Die Folien stehen jetzt auch als Handout-Version (d.h. ohne Overlays) zur Verfügung.
03.01.2007
In Aufgabe 28 (Übung 10) sind die Indizes in den Attributgleichungen für die Regel A->aA falsch angegeben. Der Index 1 muß in 2 geändert werden, da die Terminale bei der Nummerierung mitgezählt werden. Es steht eine korrigierte Fassung zum Download bereit.
07.12.2006
In der Aufgabenstellung von Aufgabe 23 (Übung 8) liegt ein Fehler vor. In den Regeln zum Nichtterminal Statement für die if- und while-Konstrukte muß BExpr in der Schleifenbedingung stehen statt PExpr. Es steht eine korrigierte Fassung zum Download bereit.
24.11.2006
Die schriftliche Prüfung ist für den 6. Februar 2007 (anstelle der Vorlesung, d.h. 14:00-15:30 Uhr im AH 2) geplant.
06.11.2006
Es hat sich ein Fehler in die Musterlösung zu Aufgabe 6 von Übung 2 eingeschlichen. Dort waren auch Ziffernsequenzen ohne Dezimalpunkt und Exponent erlaubt. Eine korrigierte Fassung steht online. In der Korrektur wird dieser Fehler jedoch nachsichtig behandelt.
24.10.2006
Die korrigierten Folien zur 3. Vorlesung sind online.
18.10.2006
Wegen der großen Zuhörerzahl wird die Freitagsvorlesung vom AH 6 in den AH 2 verlegt. Die Vorlesung am 27. Oktober findet (entgegen der früheren Ankündigung) statt; die am 1. Dezember fällt wegen des Tags der Informatik aus. Eine vollständige Terminübersicht ist hier zu finden.

Termine

Art Termine/Ort Beginn Veranstalter
V4 Di, 14:00 - 15:30 AH 2 17.10.2006 Noll
  Fr, 8:15 - 9:45 AH 2 20.10.2006 Noll
Ü2 Mo, 13:45 - 15:15 AH 2 23.10.2006 Rieger

Übungen

  • Zum Erwerb des Übungsscheins müssen 50% der Punkte in den Übungen erreicht und eine Klausur bestanden werden.
  • Es gibt drei Korrekturgruppen. Die Gruppenleiter sind:
    • Christian Lücking (christian.luecking[at]post.rwth-aachen.de)
    • Denise Nimmerrichter (denise.nimmerichter[at]post.rwth-aachen.de)
    • Franziska Roloff (Franziska.Roloff[at]rwth-aachen.de)
  • Die Übungen können (und sollten) in Gruppen mit bis zu drei Studierenden abgegeben werden.
  • Die Übungsblätter werden jeweils montags in der Frontalübung ausgegeben und sind am darauf folgenden Montag abzugeben. Die korrigierten Übungen werden ebenfalls in der Frontalübung zurückgegeben.
  • Musterlösungen werden in der Frontalübung besprochen. Außerdem wird hier der Vorlesungsstoff aufgearbeitet und mit weiteren Beispielen vertieft.
  • Sollten Sie an einer Vorlesung oder Frontalübung nicht teilgenommen haben, finden Sie Übungsblätter und Folien hier online.

Folien

Nr. Datum Thema Overlays Handout
1 17.10.2006 Introduction [pdf] [pdf]
2 20.10.2006 Lexical Analysis I (Simple Matching Problem) [pdf] [pdf]
3 24.10.2006 Lexical Analysis II (First-Longest-Match Analysis) [pdf] [pdf]
4 27.10.2006 Lexical Analysis III (Practical Aspects) [pdf] [pdf]
5 31.10.2006 Syntactic Analysis I (Introduction) [pdf] [pdf]
6 03.11.2006 Syntactic Analysis II (Top-Down Parsing) [pdf] [pdf]
7 07.11.2006 Syntactic Analysis III (LL(k) Grammars) [pdf] [pdf]
8 10.11.2006 Syntactic Analysis IV (LL(1) Parsing) [pdf] [pdf]
9 14.11.2006 Syntactic Analysis V (Practical Issues in LL Parsing) [pdf] [pdf]
10 17.11.2006 Syntactic Analysis VI (LR(k) Grammars) [pdf] [pdf]
11 21.11.2006 Syntactic Analysis VII (LR(0) Parsing) [pdf] [pdf]
12 24.11.2006 Syntactic Analysis VIII (LR(1) Parsing) [pdf] [pdf]
13 28.11.2006 Syntactic Analysis IX (LALR(1) Parsing) [pdf] [pdf]
14 05.12.2006 Syntactic Analysis X (Practical Issues in LR Parsing) [pdf] [pdf]
15 08.12.2006 Semantic Analysis I (Attribute Grammars) [pdf] [pdf]
16 12.12.2006
(14:00-15:00)
Semantic Analysis II (Circularity of Attribute Grammars) [pdf] [pdf]
17 15.12.2006 Semantic Analysis III (The Circularity Test) [pdf] [pdf]
18 19.12.2006 Semantic Analysis IV (Attribute Evaluation) [pdf] [pdf]
19 09.01.2007 Code Generation I (Introduction) [pdf] [pdf]
20 12.01.2007 Code Generation II (Intermediate Code) [pdf] [pdf]
21 16.01.2007 Code Generation III (Translation into Intermediate Code) [pdf] [pdf]
22 19.01.2007 Code Generation IV (Translation Example & Correctness) [pdf] [pdf]
23 23.01.2007 Code Generation V (Jumping Code & Procedure Parameters) [pdf] [pdf]
24 26.01.2007 Code Generation VI (Translation of Procedure Parameters) [pdf] [pdf]
25 30.01.2007 Code Generation VII (Static Data Structures) [pdf] [pdf]
26 02.02.2007
(in AH 6)
Code Generation VIII (Dynamic Data Structures & Machine Code) [pdf] [pdf]
27 06.02.2007 Exam - -

Übungsblätter

Literatur

  • Mehr zu Lex:
  • Über Parser:
  • A. Aho, M. Lam, R. Sethi, J. Ullman: Compilers - Principles, Techniques, and Tools, 2nd ed., Pearson, 2006
  • W. Waite, G. Goos: Compiler Construction, 2nd edition. Springer, 1985
  • R. Wilhelm, D. Maurer: Übersetzerbau, 2. Auflage. Springer, 1997
  • N. Wirth: Grundlagen und Techniken des Compilerbaus. Addison-Wesley, 1996
  • J.R. Levine et al.: lex & yacc. O'Reilly, 1992.
  • A.W. Appel, J. Palsberg: Modern Compiler Implementation in Java. Cambridge University Press, 2002.
  • D. Grune, H.E. Bal, C.J.H. Jacobs, K.G. Langendoen: Modern Compiler Design. Wiley & Sons, 2000.
  • O. Mayer: Syntaxanalyse. BI-Verlag, 1978.
  • T. Reps: "Maximal-Munch" Tokenization in Linear Time, ACM TOPLAS 20(2), 1998, 259-273

Evaluierungergebnisse