Vorlesung im Herbsttrimester 2009

Einführung in Programmiersprachen

Prof. Dr. Michael Koch

 


Termin der Vorlesung: Di 9:45-11:15 Raum 33/3201 (erster Termin am 6.10.2009)

Termin der Übung: Gruppe 1: Di 13:15-14:00 (3101), Gruppe 2: Di 14:05-14:50 (3101)

 


News

    • Die Klausur zum Modul findet am 22.12.09 von 12.00 - 13.30 Uhr im Raum 35/2107 statt.
    • Am 17.11. entfällt die Vorlesung - Bitte machen Sie sich stattdessen (weiter) mit Lisp vertraut (für die Übung am 17.11.):
      • Emacs Lisp
      • Interpreter Common-Lisp: http://clisp.cons.org/ in der Cygwin-Umgebung (dort als Paket)
        • Installieren Sie Cygwin (http://www.cygwin.com/) und wählen Sie im Paketmanager das Paket „clisp“ aus. Gestartet wird der clisp-Interpreter danach in der Kommandozeile von Cygwin.
        • Mittels (require ʹpaketdatei) können Lispprogramme in die Umgebung geladen werden.
        • (quit) beendet den Interpreter.
      • Lisp Primer: http://mypage.iu.edu/~colallen/lp/

 


 

 

Überblick

    • Einführung
    • Syntax von Programmiersprachen
      • Scanner
      • Parser - von kontextfreien Grammatiken zu LR(1)-Parsern
      • Attributierte Syntaxbäume
    • Semantik von Programmiersprachen
      • Grundkonzepte
      • am Beispiel von Ruby (DSL)
      • am Beispiel von Lisp
      • am Beispiel von Prolog

 


 

Vorlesungs- und Übungsunterlagen

 


 

Literatur

  1. Lothar Schmitz: Syntaxbasierte Programmierwerkzeuge, Teubner (1995) - PDF
  2. A. V. Aho, R. Sethi, J. D. Ullman: Compilers - Principles, Techniques, and Tools Addison, Wesley (1988)
  3. Niklaus Wirth: Compilerbau: Eine Einführung, Teubner (1984)
  4. Wilhelm, Maurer: Übersetzerbau, 2. Auflage, Springer Verlag, Berlin (1997)
  5. Andrew W. Appel: Modern Compiler Implementation In Java, Cambridge University Press (1998)

Online-Literatur

  1. Programming Ruby - The Pragmatic Programmer's Guide
  2. LR(k)-Analyse für Pragmatiker
  3. A Compact Guide to Lex & Yacc
  4. Markus Völter: Trends bei Sprachen
  5. Dick Grune und Ceriel J. H. Jacobs Parsing Techniques - A Practical Guide
  6. Niklaus Wirth: Compiler Construction

Links