Programmierpraktikum Compilergenerierung, Wintersemester 2000/01 Universität Bonn | Institut für Informatik | Abteilung II | AG Strelen

Programmierpraktikum

Compilergenerierung - lex und yacc

Wintersemester 2000/01

Prof. Dr. Christoph Strelen
Dipl.-Inform. Werner Sandmann
Eric Hambuch


Beschreibung | Modus | Termine | Ansprechpartner | Literatur

Beschreibung

Das Programmierpraktikum soll den Teilnehmern den Umgang insbesondere mit den Werkzeugen lex (bzw. flex) zur lexikalischen Analyse und yacc (bzw. bison) zur Syntaxanalyse vermitteln. Aus einer Beschreibung, die im wesentlichen aus regulären Ausdrücken und zugehörigen Aktionen (C-Programmstücke) besteht, generiert lex ein C-Programm, das nach Übersetzung einen Scanner für die definierten regulären Ausdrücke darstellt. Analog generiert yacc aus einer Beschreibung mit kontextfreier Grammatik und zugehörigen Aktionen einen Parser für die so definierte Sprache.

Kenntnisse in Compilerbau in dem Umfang, wie sie in der Grundvorlesung vermittelt wurden, werden vorausgesetzt. Zudem sind Grundkenntnisse des Betriebssystems Unix bzw. Linux sowie der Programmiersprache C sicherlich hilfreich.

Die Vorbesprechung findet am Donnerstag, 10. August 2000 um 15 Uhr im Seminarraum N 202 statt. Die Teilnahme an der Vorbesprechung ist notwendige Voraussetzung zur Teilnahme am Praktikum.

Modus

In der ersten Phase (nach der Vorbesprechung, bereits während der vorlesungsfreien Zeit) erfolgt die Einarbeitung in die genannten Werkzeuge, insbesondere in die jeweiligen Beschreibungssprachen, sowie - falls keine ausreichenden Kenntnisse vorhanden sind - in die Programmiersprache C. In dieser Phase werden Programmieraufgaben gestellt, die jede(r) Teilnehmer(in) einzeln bearbeiten und abgeben muß. Abgabeschluß für diese Aufgaben ist am Freitag, 20. Oktober 2000, 12 Uhr.

In der zweiten Phase (während der Vorlesungszeit) werden dann größere Projekte in Dreiergruppen bearbeitet. Dabei sollen jeweils mit Hilfe der Werkzeuge lex und yacc Scanner und Parser für selbst zu definierende Programmiersprachen oder Konvertierungsprogramme erstellt werden. Die Vorstellung der entsprechenden Programme erfolgt in einer Blockveranstaltung am Dienstag, 13. Februar 2001, 13 - 19 Uhr.

Während des Semesters finden keine verbindlichen Treffen aller Praktikumsteilnehmer statt, es besteht jedoch die Möglichkeit (und auch die Notwendigkeit), zu angebotenen Beratungsstunden zu erscheinen und Probleme/Fragen zu klären bzw. über den Stand der Arbeit zu berichten.

Termine

VorbesprechungDonnerstag, 10. August 2000, 15 UhrN 202
Abgabeschluß für Programmier-
aufgaben zur Einarbeitung
Freitag, 20. Oktober 2000, 12 Uhr N 204
BlockveranstaltungDienstag, 13. Februar 2001, 13 - 19 UhrN 202

Ansprechpartner

NameRaumTelefonEmailSprechzeiten
Ch. StrelenN 21073-4434strelen@cs.uni-bonn.demontags, 14-15 Uhr
W. SandmannN 21273-4415sandmann@cs.uni-bonn.demittwochs, 13 - 14 Uhr
E. HambuchN 20473-4121hambuch@cs.uni-bonn.dedienstags, 10-12 Uhr und n.V.

Literatur

Die Manuals der zu lex yacc kompatiblen Werkzeuge von GNU sind in verschiedenen Formaten online erhältlich:
Universität Bonn | Institut für Informatik | Abteilung II | AG Strelen
Letzte Änderung am 14. Aug 2000, bei Problemen bitte e-mail an sandmann@cs.uni-bonn.de.