Finden der Sprache, die durch eine kontextfreie Grammatik erzeugt wird

11

Dies ist eine Frage aus dem Dragon-Buch (ich entschuldige mich für Übersetzungsfehler, ich habe die englische Version nicht zur Hand):

Welche Sprache wird durch diese Grammatik erzeugt?

S.einS.bS.bS.einS.ϵ

Ich weiß nicht, was ich hier machen soll. Die Definition im Buch über Sprachen sagt dies aus (und das ist so ziemlich alles im Kapitel):

Eine Sprache ist die Menge aller Wörter, die von jedem Analysebaum erzeugt werden können.

Wenn ich also aus dieser Grammatik "irgendeinen" Analysebaum machen möchte, kann ich ihn rekursiv weiter erstellen, indem ich nur die ersten beiden Regeln verwende. Ich habe ein bisschen gesucht und den Eindruck gewonnen, dass jede Regel einmal verwendet werden muss, bin mir aber nicht sicher. Es wäre sehr hilfreich, wenn jemand einige Tipps zur Lösung dieser Art von Problemen geben könnte.

Dan
quelle
1
Hinweis: Verwenden Sie reguläre Ausdrücke
Bartosz Przybylski
Tipps finden Sie in den Antworten unten. Antwort auf Ihre Frage: Nein, es ist nicht erforderlich, jede Regel mindestens einmal zu verwenden. Beginnen Sie mit dem Startsymbol (oder Axiom) und wenden Sie die Umschreiberegeln an, bis Sie nur noch Terminalsymbole (hier Kleinbuchstaben) haben.
Hendrik
Angenommen, der leere String ist kein Terminalsymbol. Nach meinem Verständnis ist es nicht möglich, dass nur noch Terminalsymbole übrig sind, oder verstehe ich etwas falsch?
Dan
S.einS.bS.eineinS.bbS.eineinbbS.eineinbbbS.eineineinbbbein

Antworten:

6

einb

Es wäre sehr hilfreich, wenn jemand einige Tipps zur Lösung dieser Art von Problemen geben könnte.

Hier gibt es kein Einheitsrezept. Es ist im Allgemeinen unentscheidbar, ob zwei CFGs dieselbe Sprache produzieren oder zwei CFLs dieselbe Sprache sind. Eine nützliche Methode ist es, die Eigenschaften zu bemerken, die während der Produktionen unveränderlich bleiben.

Mir.
quelle
5

Tipp: Konstruieren Sie einige Wörter, die von dieser Grammatik generiert werden. Sehen Sie ein Muster? Können Sie einige Eigenschaften aller von der Grammatik erzeugten Wörter beschreiben, indem Sie sich nur die Regeln ansehen? Sobald Sie eine (richtige) Vermutung über die von der Grammatik erzeugte Sprache haben, wird es nicht allzu schwierig sein, dies zu beweisen.

Yuval Filmus
quelle