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
- Lothar Schmitz: Syntaxbasierte Programmierwerkzeuge, Teubner (1995) - PDF
- A. V. Aho, R. Sethi, J. D. Ullman: Compilers - Principles, Techniques, and Tools Addison, Wesley (1988)
- Niklaus Wirth: Compilerbau: Eine Einführung, Teubner (1984)
- Wilhelm, Maurer: Übersetzerbau, 2. Auflage, Springer Verlag, Berlin (1997)
- Andrew W. Appel: Modern Compiler Implementation In Java, Cambridge University Press (1998)
Online-Literatur
- Programming Ruby - The Pragmatic Programmer's Guide
- LR(k)-Analyse für Pragmatiker
- A Compact Guide to Lex & Yacc
- Markus Völter: Trends bei Sprachen
- Dick Grune und Ceriel J. H. Jacobs Parsing Techniques - A Practical Guide
- Niklaus Wirth: Compiler Construction
Links
-
- The Java Language Specification
- Moscow ML (SML): Infos und Download
- BinProlog: Infos und Download
- Catalog of Free Compilers and Interpreters
- Open Directory: Programming Languages
- ACM: Special Interest Group on Programming Languages
- EAPLS: European Association for Programming Languages and Systems
- The Teaching About Programming Languages Project
- The Google Web Directory "Programming Languages"