Vorlesung im Herbsttrimester 2011
Einführung in Programmiersprachen
Prof. Dr. Michael Koch
Termin der Vorlesung: Di 9:45-11:15, 36/01243
Termin der Übung: Di 13:15-14:00 im Raum 36/01243 (Nico Krebs)
News
- Start der Vorlesung am 4.10.2011
- Erste Übung am 11.10.2011
- Siehe zu weiteren Ankündigungen und zu den Vorlesungsunterlagen den Arbeitsbereich zur Vorlesung in ILIAS
Überblick
- Einführung
- Syntax von Programmiersprachen
- Scanner
- Parser - von kontextfreien Grammatiken zu LR(1)-Parsern
- Attributierte Syntaxbäume
- Semantik von Programmiersprachen
- Grundkonzepte
- Beispiele (Ruby, Lisp, F#, 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
-
- 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/
- 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"