Vom regulären Ausdruck zum Automaten
Verarbeitung eines regulären Ausdrucks für Binärzahlen
Reguläre Ausdrücke dienen dazu, Sprachen zu beschreiben. So lässt sich die Sprache
LBin = {0, 1, 10, 11, 100, 101, 110, 111, 1000, ...}
mit Hilfe des folgenden regulären Ausdruckes beschreiben: 0+1(0+1)*
Nach Eingabe des regulären Ausdrucks bietet JFlap die Menupunkte [Convert][Convert to NFA] an. Mit [Do Step] kann man jetzt Schritt für Schritt einen erkennenden Automaten erzeugen.
Aufgabe 1
Probiere das selbst einmal aus. Alles klar?
Aufgabe 2
Der Erzeugungsprozess ist bei komplexeren regulären Ausdrücken schwer zu durchschauen.
Einfacher geht das, wenn man nur Teilausdrücke
von Jflap verarbeiten lässt, z.B. die regulären Ausdrücke 10
(als Beispiel für eine
Konkatenation), 0+1
(als Beispiel für eine Alternative) und 1*
(als Beispiel für eine Iteration). Probiere das einmal aus und versuche, das Umwandlungsverfahren zu
beschreiben.