WikiDer > Formale Grammatik
EIN formale Grammatik ist in der Informatik und Theoretische Linguistik eine Beschreibung von a formelle Sprache, eine Sammlung Saiten (in diesem Zusammenhang auch Sätze erwähnt) in einem besonderen Alphabet. Es lassen sich zwei Kategorien unterscheiden: die Generative Grammatiken die beschreiben, wie ein String aus der Sprache erzeugt kann sein, und die analytische Grammatiken die beschreiben, wie man einen String aus einer Sprache extrahiert extract erkenne (analysieren).
Eine generative Grammatik besteht aus einer Reihe von Regeln zur Transformation von Strings. Um einen Satz aus der Sprache zu generieren, beginnt man einen Satz, der nur aus einem Startsymbol besteht und wendet dann Regeln (beliebig oft, in beliebiger Reihenfolge) an, um den Satz neu zu schreiben. Die formale Sprache besteht aus allen auf diese Weise erzeugbaren Sätzen. Jede mögliche Art, Regeln auf den Satz anzuwenden, führt zu einem Satz, der zur Sprache gehört. Wenn man einen Satz auf mehr als eine Weise erzeugen kann, heißt er a mehrdeutige Grammatik.
Angenommen, wir haben ein Alphabet mit den Buchstaben und , das Startsymbol und die folgenden Zeilen:
- 1.
- 2.
dann können wir mit Starten Sie und wählen Sie eine anzuwendende Regel aus. Wenn wir Regel 1 wählen, erhalten wir den Satz . Wenn wir erneut Regel 1 wählen, ersetzen wir durch und wir erhalten den Satz . Dieser Vorgang wird wiederholt, bis nur noch Symbole aus dem Alphabet übrig sind (also: und ). Wenn wir nun Regel 2 anwenden, dann ersetzen wir durch und wir enden mit der Zeichenfolge aababb. Wir können diese Aktionen mit der folgenden Notation kürzer schreiben: . Die Sprache der Grammatik ist die Menge aller Sätze (Strings), die mit diesem Verfahren erzeugt werden können: .
Formale Definition
In der Definition von generativen Grammatiken wie gegeben durch Noam Chomsky in den 50er Jahren besteht eine Grammatik G aus folgenden Komponenten:
- eine endliche Menge von nicht-terminale Symbole
- eine endliche Menge von Klemmensymbole, zusammenhangslos mit
- eine endliche Menge von Produktionsregeln, eine der Formen:
- bei welchem das Kleene Stern Betreiber ist und das Verband von Sammlungen. Jede Produktionslinie bildet eine Zeichenkette auf eine andere Zeichenkette ab, wobei die erste Zeichenkette mindestens 1 nicht-terminales Symbol enthält. Falls der zweite String der leere String ist, schreibt man oft ein Epsilon () um Unklarheiten zu vermeiden.
- ein separates Symbol , es Startsymbol
Oft eine Grammatik G notiert als vervierfachen.
Das Sprache der formalen Grammatik , notiert als , ist definiert als alle Strings mit Symbolen aus die aus dem Startsymbol generiert werden können durch Anwendung der Produktionsregeln von bis es keine nicht-terminalen Symbole mehr in der Zeichenfolge gibt.
Beispiel
Wir betrachten die Grammatik mit , , ist das Startsymbol und enthält folgende Produktionslinien:
- 1.
- 2.
- 3.
- 4.
Einige Beispiele für Sätze in :
Notation: kann gelesen werden als "l erzeugt R"durch die Anwendung der Produktionsregel ich und das generierte Stück ist fett markiert.