![]() |
Didaktik der
Informatik |
![]() |
|---|
Zwischen den Siedlungen auf unserem Planeten Erde2 liegen große Entfernungen und vierzig Jahre lang herrscht nur geringer Kontakt, so dass sich die Sprache in den Siedlungen unterschiedlich entwickelt. Während die Grammatik unverändert erhalten blieb, haben sich teilweise unterschiedliche Begriffe und Zeichen für identische Sachverhalte gebildet. Für diplomatische Gespräche sollen daher schnelle und flexible Sprachübersetzer geschaffen werden.
a) (Vorübung) Schreiben Sie ein Programm in ML, welches Eingabezeichenketten von der Sprache1 in die Sprache2 übersetzt. Verwenden Sie das Modell eines endlichen Automaten.
|
![]() |
| <Sprache> | ::= | <Folge> (,) |
| <Folge> | ::= | <Ersetzung> | <Folge> <Ersetzung> |
| <Ersetzung> | ::= | (<alt>,<neu>) |
| <alt> | ::= | <Zeichenkette> |
| <neu> | ::= | <Zeichenkette> | eps |
| <Zeichenkette> | ::= | <Zeichen> | <Zeichenkette> <Zeichen> |
| <Zeichen> | ::= | <irgendein ASCII-Zeichen, ausser (,) > |
c) optionale Aufgabe: Minimierung des Datenmoduls für P' (d. h. Minimierung des endlichen Automaten)
Stichworte:
Pattern Matching, regulärer Ausdruck, kontextfreie Grammatik,
deterministischer endlicher Automat, Top-Down, Bottom-Up, Syntaxanalyse,
Parser, nichtdeterministischer Automat
Literatur: Sedgewick S. 342-370 (Kapitel 20, 21), zu Aufg. (c): Hopcroft-Ullman
S. 72-75
Ergebnisse der Projektgruppe