Universität Jena, Fakultät für Mathematik & Informatik, Institut für Informatik
Lehrstuhl für Programmiersprachen und Compiler

Vorlesung   Compilerbau    SS 2007

 
    Termine: V : Di 10.15 - 11.45  TO SR 1     J. Winkler   BEGINN: 17. April 2007  
	        Fr 10.15 - 11.45  TO SR 1     J. Winkler
             Ü : Mo 16.15 - 17.45  TO SR 1     D. Großer    BEGINN: 30. April 2007 <====
     Einschreibung im  CAJ
     Abschlussklausur:  Dienstag 24. Juli 2007 10.00 CZ3 SR 315
 
                                  Schein-/Pruefungskriterien  
      |AUB| >= 10 AND
      (Exists TM <= AUB: |TM| >= 10 AND (All i in TM: EPB(i) >= 0,25*BPB(i))) AND
      (Sum i in AUB: EPB(i)) >= 0,5*(Sum i in MUB: BPB(i)) AND
      EPK >= 0,5*BPK

               mit: MUB = Menge der ausgegebenen Aufgabenblätter
                    AUB = Menge der abgegebenen Aufgabenblätter
                    EPB = erreichte Punktzahl eines Aufgabenblattes
                    BPB = erreichbare Punktzahl eines Aufgabenblattes
                    EPK = erreichte Punktzahl in der Klausur
                    BPK = erreichbare Punktzahl in der Klausur
      klass. Schein   : Aufgabenblätter + Klausur/Abschlussgespraech
      klass. Pruefung : Klausur / mündl.Prüfung
      Modulprüfung    : Aufgabenblätter + Klausur/mündl.Prüfung


Inhaltsüberblick      (Modulbeschreibung)

    Einführung, Überblick 
    Lexikalische Analyse, Generatoren 
    Syntaxanalyse, Generatoren 
    Attributierte Grammatiken 
    Abstrakter Syntaxbaum
    Semantische Analyse 
    Datenflussanalyse
    Strukturen im Programm zur Laufzeit
    Codeerzeugung 
     
    Vorteilhaft ist die Kenntnis einer imperativen / prozeduralen Programmiersprache. 
    Behandelt werden auch neuere Entwicklungen (wie. z.B. die Java Virtual Machine oder JavaCC). 







 


Aufgabenblätter s. CAJ

Hilfsdateien für die Aufgabenblätter finden Sie zum jeweiligen Termin hier 


Literatur

Appel, Andrew W.:
Modern Compiler Implementation in Java Cambridge University Press, 2nd ed. 2002. 0-521-82060-X
ThULB J50: Semester-App.  

Louden, Kenneth C.:
Compiler construction: principles and practice. PWS publ., Boston, 2000. 0-534-93972-4
ThULB J50: Semester-App.

Fischer, Charles N.; LeBlanc, Richard J. Jr.
Crafting a Compiler. Benjamin/Cummings, 1988 0-8053-3201-4
ThULB J50: Semester-App.

Elder, John: Compiler Construction.
A Recursive Descent Model. Prentice Hall, New York, etc., 1994. 0-13-291139-6
ThULB J50: INF DD 4000 E37

Aho, Alfred V.; Sethi, Ravi; Ullman, Jeffrey D.:
Compilers - Principles, Techniques, and Tools Addison-Wesley, 1986. 0-201-10088-6
ThULB J50: Semester-App.

Pittman, Thomas; Peters, James:
The Art of Compiler Design. Prentice Hall, London etc., 1992. 0-13-046160-1
ThULB J50: Semester-App. (INF DD 4000 P689)


Tools

aflex: Scannergenerator. Doku(FRZ) Doku(PS) Doku(PDF)


ayacc: Parsergenerator. Doku(FRZ)  |  Doku(PS) Doku(PDF)
JavaCC: Scanner- und Parsergenerator. Doku


Supplemental Material

Scanner of GNAT
SUN Java Scanner/Parser (Copyright SUN)

 Parser of GNAT

 Specification of the Java Virtual Machine   (2nd ed.; from Sun)


Institut | Lehrstuhl | Kommentare |   Jürgen Winkler:   2007.Jun.20,   Carsten Freining: 2004.Jul.05,  Gregor Weske: 2007.Apr.30