Sprachhierarchie ! Reguläre Sprachen werden von endlichen Automaten akzeptiert. TheGI 1: 8. Vorlesung ! Kontextfreie Sprachen werden von Kellerautomaten akzeptiert. Allgemeine Grammatiken und akzeptierbare Sprachen ! Wie stehen Sprachen, die von allgemeinen Grammatiken erzeugt werden, und Turingmaschinen zueinander? 13. Dezember 2005 " „Turing kann alles, Chomsky auch!“ Allgemeine Chomsky-Grammatik 155 TheGI 1 WS 05/06 Nestmann Chomsky-Hierarchie Eine allgemeine Chomsky-Grammatik besteht aus Typ0-Sprachen ! Typ0-Sprachen: ! allg. Grammatiken ! Turingmaschinen ! einem Alphabet T von terminalen Symbolen ! Typ1-Sprachen: ! einem Alphabet N von nichtterminalen Symbolen, mit N ! T = ", ! kontextsensitive Grammatiken ! linear beschränkte Automaten ! Typ2-Sprachen: ! einem Startsymbol S # N und ! kontextfreie Grammatiken ! Kellerautomaten ! Typ3-Sprachen ! einer Menge P von Produktionen der Form u $ v mit u,v # (N % T)*, wobei in u mindestens ein Symbol aus N vorkommt. Nestmann TheGI 1 WS 05/06 156 Nestmann TheGI 1 WS 05/06 157 „Turing kann alles“ ! Zu jeder allgemeinen Grammatik G kann man eine äquivalente Turingmaschine M konstruieren, d.h. L(G) = L(M). ! Beweisidee: ! Eine kontextsensitive Grammatik ist eine allgemeine Chomsky-Grammatik, in der für alle Produktionen u $ v in P \ { S $ !} mit u,v # (N % T)* gilt: |u| " |v| ! M simuliert Regelanwendungen auf nichtdeterministische Weise via Durchraten aller möglichen Kombinationen. ! 2 Bänder: ! Eingabeband ... Eingabewort aufheben für späteren Vergleich. ! Arbeitsband enthält die aktuelle simulierte Ableitung. ! 4 “Hauptzustände” ! qA: Schreiben des Startsymbols auf das Arbeitsband ! q0: nichtdeterministisches ! Raten einer Position im Arbeitsband sowie ! Raten einer anzuwendenden Regel ! q1: Zurücksetzen auf Wortanfang und neues Raten in q0 ! qE: Erfolg nach Vergl. von Eingabewort mit abgeleiteter Satzform ! Eine Sprache L heisst kontextsensitiv, wenn es eine kontextsensitive Grammatik G mit L = L(G) gibt. ! Es gibt kontextsensitive Sprachen, die nicht kontextfrei sind. ! Beispiel: L = {anbncn | n > 0} TheGI 1 WS 05/06 kontextfreie Sprachen reguläre Sprachen ! reguläre Grammatiken ! endliche Automaten Kontextsensitive Grammatiken und Sprachen Nestmann kontextsensitive Sprachen 158 Nestmann TheGI 1 WS 05/06 159 LL- und LR-Parser für kontextfreie Grammatiken „Chomsky kann alles“ ! Zu jeder NTM M kann man eine äquivalente allgemeine Grammatik G konstruieren, d.h. L(M) = L(G). ! Beweisidee: ! LL-Parser (spezielle TMn) arbeiten “top-down” Aus dem Startsymbol S werden (zielgerichtet, entsprechend dem nächstzulesenden Symbol) Ableitungsschritte ausgeführt. ! LR-Parser (auch spezielle TMn) arbeiten “bottom-up” Anhand des Eingabewortes werden sukzessive Grammtikregeln rückwärtsangewendet, um das Wort auf das Eingabesymbol zu reduzieren. Nestmann TheGI 1 WS 05/06 160 Zusammenfassung ! Die Chomsky-Hierarchie kategorisiert formale Sprachen in vier verschiedene Klassen: Typ 0 – Typ 3. ! „Turing kann alles – Chomsky auch!“ Turingmaschinen akzeptieren genau die Sprachen, die von allgemeinen Grammatiken erzeugt werden. Nestmann TheGI 1 WS 05/06 162 ! vereinfachende Annahme: ! M ist eine 1-Band-Maschine ! wenn sie eine akz. Endkonfiguration erreicht hat, dann hat sie auch ihr Band “gesäubert”, d.h. (qE,!). ! Die Überführungen aus & werden als Produktionen P& aufgeschrieben. (spezielle Randmarkierungen sind hier nötig.) ! Alle Regeln aus P& werden umgedreht (liefert P1). (Erzeugen statt Akzeptieren) ! Neue Regeln für (P0) das Erstellen von akzeptierenden Endkonfigurationen k und (P2) das Entfernen von Randmarkierungen werden hinzugefügt. ! Dann gilt: w L(M) gdw w L(G). Nestmann TheGI 1 WS 05/06 161