Informatik-Vollmer | ||
Dies ist eine Einführung in den Übersetzerbau und seine Werkzeuge für Studierende der Fachrichtung Informationstechnik und angewandte Informatik an der Dualen Hochschule Baden-Württemberg in Karlsruhe, (bis März 2009 bekannt als Berufsakademie Karlsruhe). Es werden die grundlegenden Konzepte: Syntax und Semantik einer Programmiersprache, Generation und Akzeption sowie Compilerbau-Werkzeuge zur Implementierung von Compilern vorgestellt. Es wird allerdings nur die "Analysephase", d.h. lexikalische und syntaktische Analyse eines Compilers besprochen. Die Erstellung eines vollständigen Compilers mit Optimierung und Codegenerierung würde den Rahmen einer DHBW-Vorlesung sprengen, während es doch häufiger vorkommt "kleine" Parser für anwenderspezifische Sprachen selbst zu implementieren.
Die Unterlagen können von hier heruntergeladen werden:
Das Buch Compiler Construction von William M. Waite (University of Colorado) und Gerhard Goos (Universität Karlsruhe) kann hier heruntergeladen werden.
From the back page of the printed book.
Compiler Construction, a modern text written by two leaders in the in the field, demonstrates how a compiler is built. Describing the necessary tools and how to create and use them, the authors comp ose the task into modules, placing equal emphasis on the action and data asp ects of compilation. Attribute grammars are used extensively to provide a uniform treatment of semantic analysis, comp etent code generation and assembly. The authors also explain how intermediate representations can b e chosen automatically on the basis of attribute dep endence. Thus, all asp ects of the sub ject are presented in terms of a uniform model sub ject to automation. This approach imparts a vivid understanding of the compilation and the decisions that must b e made when designing a compiler.
Auf der Webseite zur Wirth's Vorlesung ist zu diesem Buch zu lesen:
A refreshing antidote to heavy theoretical tomes, this book is a concise, practical guide to modern compiler design and construction by an acknowledged master. Readers are taken step-by-step through each stage of compiler design, using the simple yet powerful method of recursive descent to create a compiler for Oberon-0, a subset of the author's Oberon language.
Das Buch selbst ist online verfügbar (lokale Kopie)
Ein kurze Einführung wichtiger Unix-Kommandos, wie sie für den praktischen Teil der Vorlesung benötigt werden findet sich hier.
Die Vorlesung wird von praktischen Übungen begleitet. Die notwendige Software
wird Ihnen per DVD als VMware-Image
eines SuSE 10.3 Linux-Systems zur
Verfügung gestellt.
Die DVD enthält:
Die Cocktail Toolbox werden von der Firma CoCoLab entwickelt und wurden dankenswerter Weise als Demo-Version für die private Nutzung der Teilnehmer dieser Vorlesung zu Verfügung gestellt.
Mit der Installation, der Ihnen per DVD zur Verfügung gestellten Software, erklären Sie sich damit einverstanden,
Sie können via dieser Web-Seite noch folgende Dinge herunterladen:
su - cocktail
Möchten Sie den Editor vi (oder auch vim genannt) mit
Syntaxeinfärbung, dann erstellen Sie eine Datei
/home/user/.vimrc mit
der Zeile:
syntax on
und ein Verzeichnis
/home/user/.vim und kopieren Sie die Dateien aus dem
Verzichnis vim-mode des
Plus Archives nach
Verzeichnis /home/user/.vim.
Für den Syntaxhervorhebung im emacs lesen Sie bitte die Datei emacs-mode/README des Plus Archives.
Die in der Vorlesung benutzen Beispielprogramme können hier heruntergeladen werden. Diese Dateien sind allerdings auch schon im Verzeichnis /home/user/programme auf dem Image enthalten.
Wie in der Vorlesung ausgemacht:
Für den Zugang zu den Unterlagen wird ein Benutzername und Passwort benötigt. Diese werden in den Vorlesungen bekannt gegegeben. Nicht-Hörer der Vorlesungen, die Interesse an den Unterlagen haben, mögen sich an mich <vollmer@dhbw-karlsruhe.de>, Karlsruhe wenden.
© 1996-2011, Prof. Dr. Jürgen Vollmer <vollmer@dhbw-karlsruhe.de>, Karlsruhe
Das Material (Vorlesungsunterlagen und Cocktail-Tools incl. Lizenzdatei) dürfen nicht anderweitig weitergegeben oder veröffentlicht werden. Insbesondere dürfen diese Materialien nicht auf irgendwelchen, der Öffentlichkeit zugänglichen Servern abgelegt werden.
Das Bild zeigt den Buchdeckel des Drachenbuch genannten Standardlehrbuches Compilers: Principles, Techniques and Tools von Alfred V. Aho, Ravi Sethi und Jeffery D. Ullman (Addison Wesley 1986). Dieses Buch gibt es inzwischen auch in einer deutschen Übersetzung.
Dr. Jürgen Vollmer (www.informatik-vollmer.de)