Next: Über dieses Dokument
M. Sperber, H. Klaeren Wintersemester 1998/99
Compilerbau I
Blatt 2
Abgabe: 3.11.1998
- [5 Punkte] Implementieren Sie gewöhnliche Mengen als
Datentyp, der mit dem Typ seiner Elemente parametrisiert ist. Eine
Menge soll dabei durch ihre charakteristische Funktion repräsentiert
werden. Realisieren Sie die Operationen Konstruktion einer
einelementigen Menge, Element-Test, Vereinigung, Durchschnitt,
Differenz und Komplement.
- [10 Punkte] Geben Sie eine Definition von map
unter Verwendung von List.fold_right an, welche selbst
nicht rekursiv ist.
- [10 Punkte] Geben Sie eine Funktion
regexp_accepts_empty : 'a regexp -> bool an, so daß
regexp_accepts_empty r genau dann true
liefert, wenn
zur Sprache des regulären Ausdrucks r
gehört.
- [5 Punkte] Beweisen Sie die Korrektheit der in der
Vorlesung angegebenen Funktion after_symbol. Funktioniert
matches immer noch korrekt, wenn in after_symbol
die Funktion concat durch den Konstruktor Concat
sowie alternate durch Alternate ersetzt wird?
Michael Sperber [Mr. Preprocessor]
Tue Oct 27 09:28:26 MET 1998