Institut für Programmiermethodik
und Compilerbau
- 1:
Lehre.- 1.1:
Sommersemester 2012. - 1.2:
Wintersemester 2011/2012.- 1.2.1:
Constraint-Programmierung. - 1.2.2:
Embedded Softwareengineering im Bereich Automotive. - 1.2.3:
Funktionale Programmierung. - 1.2.4:
Grundlagen des Übersetzerbaus. - 1.2.5:
Management von Softwareprojekten. - 1.2.6:
Softwaretechnik I. - 1.2.7:
Algebraische Strukturen als Grundlage der Informatik. - 1.2.8:
Formale Spezifikationssprachen und ihre Semantik. - 1.2.9:
Techniken der formalen Programmentwicklung an Hand von Beispielen. - 1.2.10:
Fortgeschrittene Anwendungstechniken für typische Informatiksysteme. - 1.2.11:
Logikbasierte Programmiersprachen. - 1.2.12:
Constraint-Programmierung Praxis. - 1.2.13:
Entwicklung konkreter Anwendungen nach ausgewählten Prinzipien des Software Engineering. - 1.2.14:
Experimentelles Softwareengineering. - 1.2.15:
Softwaregrundprojekt (Sopra).
- 1.2.1:
- 1.3:
Regelmäßig angebotene Lehrveranstaltungen. - 1.4:
Frühere Lehrveranstaltungen. - 1.5:
Themen für Diplomarbeiten, Masterarbeiten und Individualpraktika.
- 1.1:
- 2:
Forschung. - 3:
Mitarbeiter. - 4:
Kontakt.
Bison
Für die syntaktische Analyse verwenden wir den Parser-Generator Bison. Die Dokumentation ist auch im Linux-Pool mit info bison einsehbar. Bison ist eine weitestgehend abwärtskompatible Erweiterung des klassischen Generators Yacc.
Einige Beispiele von Bison-Programmen sind verfügbar. Eine Vorlage für ein Bison-Programm erkennt if-then-else-artige Konstrukte. Ein weiteres Programm zählt durch Leerzeichen getrennte Zahlen einer Zeile zusammen. Es verwendet ein Flex-Programm um die Zahlen zu erkennen. Das Verzeichnis enthält auch Vorschläge für die Aufgaben von den entsprechenden Übungsblättern.
Als Beispiel für den Umgang mit Attributen zur semantischen Analyse dient die Erkennung arithmetischer Ausdrücke. Der Scanner wird aus einem Flex-Programm erzeugt und der Parser aus einem Bison-Programm.
Das Erzeugen eines Parsers aus einer Spezifikation parser.y erfolgt in zwei Schritten. Mit bison parser.y wird ein C-Programm parser.tab.c erzeugt, das den Parser implementiert. Mit gcc parser.tab.c wird eine ausführbare Datei a.out erzeugt. Sie enthält den Parser, der von der Standard-Eingabe liest.
Visualisierung von Graphen
Das Programm dot aus dem Paket Graphviz zeichnet Graphen. Es ist im Linux-Pool installiert und die Dokumentation ist dort mit man dot einsehbar. Eine Spezifikation graph.dot eines Graphen wird mit dot -Tps graph.dot > graph.ps in die PostScript-Zeichnung graph.ps übersetzt.
