Ludwig-Maximilians-Universität München, Institut für Informatik,
Lehr- und Forschungseinheit für Programmierung und Softwaretechnik

Einführung in die Informatik IV (SS 98)

Prof. Dr. F. Kröger

Inhaltsverzeichnis dieser Seite


Aktuelles

Zum Erwerb des Scheines muß die Klausur bestanden werden. Wer mindestens (17 +
Malus) von 40 Punkten erreicht, erhält einen Schein.

Die Klausur findet am 24. Juli, 16.00-18.00 Uhr im Hörsaal 122 (Theresienstraße 39) statt.

Nach Prüfungsbeginn ist kein Einlaß mehr möglich. Bei der Klausur bitte mitbringen: Studentenausweis, Lichtbildausweis, Schreibzeug, Schmierpapier DIN A4, frankierten und mit Ihrer Anschrift adressierten Briefumschlag für Schein (Scheinformulare sind nicht beizulegen).

Persönliche Unterlagen wie: Bücher, Skripten usw. sind erlaubt, aber keine Elektrogeräte!

KLAUSURERGEBNISSE

Übungsblätter:

flex:

flex ist eine Weiterentwicklung des Scannersgenerators lex. flex liest eine flex-Datei flexfile ein und generiert eine C-Datei lex.yy.c. Die flex-Datei setzt sich aus drei Abschnitten zusammen, die voneinander durch eine aus zwei Prozentzeichen bestehende Zeile getrennt werden:
definitions
%%
rules
%%
user code
Der definitions-Abschnitt enthält Namensdeklarationen, die die Spezifikation des Scanners vereinfachen sollen, sowie Anfangsdeklarationen. Namensdeklarationen sind von der Form
name definition
Spätere Referenzen der Form {name} expandieren zu (definition). Zum Beispiel:
DIGIT [0-9]
ID [a-z][a-z0-9]*
Eine nachfolgende Referenz zu
{DIGIT}+"."{DIGIT}*
ist dann identisch mit
([0-9])+"."([0-9])*
und entspricht einer Folge aus einer oder mehreren Ziffern, gefolgt von einem Punkt, gefolgt von einer beliebigen Folge aus Ziffern.
Der rules-Abschnitt enthält eine Folge von Regeln der Form
pattern action
wobei pattern am Anfang der Zeile stehen muß und action in derselben Zeile anfangen muß. Die action enthält C-code, der ausgeführt wird, falls das eingelesene Wort ( lexeme), das in der Variablen yytext gespeichert ist, zu dem begleitenden pattern gehört. Falls mehr als ein pattern in Frage kommen, wird die erste (von oben nach unten) zu diesen pattern assoziierte action ausgeführt. Falls das eingelesene Wort zu keinem pattern gehört, wird das Wort (als "default" action) zurückgegeben. Bei den pattern kann man nicht nur vorher definierte namen, sondern auch die C-Abkürzungen verwenden, so z.B. entspricht " \n" dem newline-Zeichen, " \t" dem tab-Zeichen, usw. Zum pattern "." (Punkt) gehört jedes Zeichen.
Schließlich wird der Benutzercode aus dem user-code-Abschnitt wörtlich übernommen. Dabei darf eine Funktion int yywrap() vorkommen, die beim Erreichen des Zeichenstromendes aufgerufen wird.
Zur Übersetzung einer flex-Datei flexfile geht man wie folgt vor:
hermes:~/flex> flex flexfile
hermes:~/flex> cc lex.yy.c -ll
(Auf linux-Rechnern heißt die Bibliothek fl, d.h. die letzte Kommandozeile wäre dann cc lex.yy.c -lfl. Allerdings wird die Funktion int yywrap() nicht mitgeliefert, man muß sie also selber schreiben).
Um dann eine Datei testfile zu scannen, geht man wie folgt vor:
hermes:~/flex> a.out < testfile
Alternativ kann man direkt den zu scannenden Zeichenstrom eingeben:
hermes:~/flex> a.out
inputstring
ctrl-D
Beispiele:

Literatur:

yacc:

(Siehe Einführung auf Übungsblatt 11 sowie Literaturhinweise oben und auch die ursprüngliche Dokumentation.)

Inhalt

zurück zum Inhaltsverzeichnis dieser Seite

Personen

Die Vorlesung wird gehalten von:
Prof. Dr. Fred Kröger

Adresse: Raum 054, Oettingenstraße 67
Telephon: 2178-2150
E-mail Adresse: kroeger@informatik.uni-muenchen.de
Sprechstunde: Donnerstag, Raum 054, 14-15 Uhr
und nach Vereinbarung
Verantwortlich für die Durchführung der Übung sind:
Dr. María Victoria Cengarle

Adresse: Raum E07, Oettingenstraße 67
Telephon: 2178-2180
E-mail Adresse: cengarle@informatik.uni-muenchen.de
Sprechstunde: nach Vereinbarung
Dr. Piotr Kosiuczenko

Adresse: Raum E9, Oettingenstraße 67
Telephon: 2178-2133
E-mail Adresse: kosiucze@informatik.uni-muenchen.de
Sprechstunde: nach Vereinbarung
Andreas Abel

E-mail Adresse: abel@informatik.uni-muenchen.de
Sprechstunde: nach Vereinbarung

zurück zum Inhaltsverzeichnis dieser Seite


Termine

  • Vorlesung (4-stündig):

    • Zeit: Mo und Do 11-13 Uhr
    • Ort: Hörsaal 138, Theresienstraße 39
    • Beginn: 4.5.1998

  • Übung (2-stündig in Gruppen):

    • Zeit: Di 13-15 Uhr
    • Ort: Raum 251, Theresienstraße 39
    • Beginn: 19.5.1998

    • Zeit: Mi 14-16 Uhr
    • Ort: Raum E46, Theresienstraße 39
    • Beginn: 20.5.1998

  • Klausur:

      Die Klausur findet statt am 24. Juli, von 16.00-18.00 Uhr im Hörsaal 122 (Theresienstraße 39) statt (sehe oben).

zurück zum Inhaltsverzeichnis dieser Seite
Bei Problemen oder Vorschlägen schicken Sie bitte eine eMail an wwwmaster@pst.informatik.uni-muenchen.de
María Victoria Cengarle (29.4.1998)