Hallo,
um alle Wörter einer Sprache abzuarbeiten reicht die Klausurzeit im Allgemeinen mit Sicherheit nicht, da meist unendlich viele Wörter in einer Sprache enthalten sind.
Es geht deshalb nicht um das Durchprobieren aller Wörter sondern um das Abbilden eines grundsätzlichen Schemas.
In der Beispielsprache geht es darum, dass wir alle Wörter bestehend aus 0 und 1, die eine Länge größer 0 und eine Anzahl von Einsen die durch drei teilbar ist erzeugen sollen.
Deshalb wählen wir im Beispiel drei Nonterminalsymbole, die den Rest beim Teilen der Anzahl der Einsen durch drei angeben (S => Rest 0, A => Rest 1, B => Rest 2).
Entsprechend ergeben sich die folgenden Ableitungsmöglichkeiten pro Nonterminalsymbol:
* Schreibe eine 0 und wiederhole das Nonterminalsymbol (Rest ändert sich nicht, bspw. S -> 0S / A -> 0A / B ->0B)
* Schreibe eine 1 und schreibe das "nächste" Nonterminalsymbol oder das erste, falls die Anzahl der Einsen wieder durch drei teilbar ist (bspw. S -> 1A, A -> 1B, B -> 1S)
Zusätzlich können wir durch Ableiten des Nonterminals B auf 1 die Ableitungsfolge beenden, da die Anzahl der Einsen somit durch drei teilbar ist.
Genauso können wir durch Ableiten des Nonterminals S auf 0 die Ableitungsfolge beenden, da hier ebenfalls die Anzahl der Einsen durch drei teilbar ist.
Einen allgemeingültigen Rat kann ich dir hier leider nicht geben, da es hier hauptsächlich auf Übung und Überlegung ankommt und die Aufgaben nicht durch ein Schema gelöst werden können.
Grüße,
Lukas