fiebig.schule

03 | Kellerautomaten (PDA)

🟪 Grenzen regulärer Sprachen

Vereinfachter Java-Code für Klammerschachtelung der Tiefe 5
Beispiel für eine Klammerschachtelung der Tiefe 5


🤔 Recherchiere zur Frage, wie ein Compiler einen Programmcode in ausführbaren Maschinencode umwandelt: Welche Schritte sind daran beteiligt?


In dieser Aufgabe betrachten wir das Alphabet A A bestehend aus einer öffnen­den und einer schlie­ßenden geschweiften Klammer: A = {   { ,   } } A = \{ \ \{, \ \} \} .

Die syntaktische Analyse eines Parsers (Teil eines Compilers) muss u. a. über­prüfen, ob Klammerun­gen korrekt sind. Wir betrachten hier die Sprache: L = { { n } n n N } L = \{ {\{}^n {\}}^n | n \in \N \}

  1. 👤 Erstelle einen DEA oder NEA, der Wörter akzeptiert, bei denen es sich um einfa­che Klammerschachtelun­gen von maximal zwei öffnenden und schlie­ßenden Klammern handelt.
  2. 👤 Erstelle einen DEA oder NEA, der Wörter akzeptiert, bei denen es sich um einfa­che Klammer­schachtelungen von maximal drei öffnenden und schlie­ßenden Klammern handelt.
  3. 👤 Erstelle einen DEA oder NEA, der Wörter akzeptiert, bei denen es sich um einfa­che Klammerschach­telungen von unbegrenzt vielen öffnenden und schließenden Klammern handelt.

👥👥 Sammelt Ideen, wie man einen DEA oder NEA mächtiger machen könnte.