s n h m r u
i

Vom DEA zur Grammatik

Wird noch weiter angepasst, wenn klar ist, wie mit Flaci und den Grammatiken gearbeitet wird.

Worum geht es hier?

Eine Grammatik beschreibt, wie die Wörter einer Sprache gebildet werden. Ein Automat erkennt, ob ein Wort zu einer Sprache gehört. In diesem Abschnitt untersuchst du den Zusammenhang zwischen diesen beiden Beschreibungen: Wie lässt sich aus einem deterministischen endlichen Automaten eine Grammatik gewinnen, die genau die von ihm erkannte Sprache erzeugt?

Beispiel: Binärzahlen

Der folgende DEA erkennt die Sprache der Binärzahlen ohne führende Nullen.

DEA für Binärzahlen ohne führende Nullen: S ist Startzustand. Mit 0 geht er in den Endzustand A, mit 1 in den Endzustand B über. In B führen 0 und 1 zurück nach B. Von A führen beide Zeichen in den nicht akzeptierenden Zustand C, der bei beiden Zeichen in C bleibt.

Aufgabe 1 - Vom DEA zur Grammatik

Untersuche mit FLACI, wie sich der DEA in eine Grammatik umwandeln lässt.

  1. Erstelle den abgebildeten DEA in FLACI oder lade die Datei DEA_Binaerzahlen.json herunter und öffne sie in FLACI.
  2. Wähle im Menü Konvertieren den Eintrag Automat zu kfG aus, um eine Grammatik zum Automaten erzeugen zu lassen.
  3. Teste die erzeugte Grammatik. Untersuche beispielsweise die Wörter 0, 1, 10 und 101 sowie die Gegenbeispiele 00 und 01.
  4. Vollziehe nach, wie FLACI die Grammatik aus dem DEA erzeugt hat. Wie hängen die Zustände des Automaten mit den Nichtterminalen der Grammatik zusammen?
  5. Untersuche den Aufbau der Produktionen. Wo findest du die Übergänge und die Endzustände des Automaten in den Regeln wieder? Beschreibe die Struktur, die dir bei den rechten Seiten der Produktionen auffallen.

Suche

v
100.130.2.3.2.1 Vom DEA zur Grammatik
Kopieren durch Anklicken

Rückmeldung geben