|
Article on other languages:
|
Formale Grammatiken sind mathematische Modelle von Grammatiken, die mit Hilfe des Semi-Thue-Systems angegeben werden und durch die formale Sprachen beschrieben und erzeugt werden können. Sie werden in der theoretischen Informatik, insbesondere in der Berechenbarkeitstheorie, und im Compilerbau angewandt, um zum einen eine formale Sprache eindeutig zu beschreiben (d. h. um eindeutig festzulegen, ob ein Wort Element einer Sprache ist, oder nicht) und um zum anderen Eigenschaften dieser formalen Sprachen zu untersuchen bzw. zu beweisen. Formale Grammatiken werden mit Hilfe der Chomsky-Hierarchie klassifiziert.
DefinitionEine formale Grammatik ist ein 4-Tupel G = (N,T,P,S) bestehend aus:
Die Menge aller terminaler und aller nichtterminaler Symbole Elemente einer formalen GrammatikNichtterminalsymboleEin Nichtterminalsymbol (auch Nichtterminal oder Variable genannt) ist ein Symbol, welches zur Erzeugung der formalen Sprache, die durch die Grammatik beschrieben werden soll, verwendet wird, aber im Gegensatz zu Terminalsymbolen kein Symbol ist, welches in den Wörtern der erzeugten Sprache vorkommt. Nichtterminale werden gewöhnlich durch Großbuchstaben repräsentiert oder durch spitze Klammern gekennzeichnet (<Nichtterminal>). TerminalsymboleTerminalsymbole (auch Terminalzeichen oder kurz Terminale genannt) sind diejenigen Symbole, aus denen sich die Worte der zu erzeugenden formalen Sprache zusammensetzten. Sie werden in der Regel durch Kleinbuchstaben repräsentiert. Ein einzelnes Terminalsymbol kann bei der Erzeugung der durch die Grammatik beschriebenen Sprache nicht durch eine Produktionsregel ersetzt werden. ProduktionsregelnEine Produktionsregel (auch Regel oder Produktion genannt) ist ein geordnetes Paar (R,Q), wobei R ein aus Terminale und Nichtterminale bestehendes Wort ist, welches mindestens ein Nichtterminalsymbol enthält ( StartsymbolDas Startsymbol (auch Startvariable genannt) ist ein Nichtterminalsymbol, von welchen aus die Wörter der durch die Grammatik beschriebenen Sprache erzeugt werden. Zur Darstellung des Startsymbols wird meist das Zeichen S verwendet. Die Erzeugung der von einer Grammatik beschriebenen SpracheEine Regel Gibt es nun eine Folge von Wörtern Nun ist die von der Grammatik G erzeugte, formale Sprache L(G) diejenige Sprache, die aus allen Wörtern besteht, die zum einen nur aus Terminalsymbole bestehen und die zum anderen vom Startsymbol mit einer endlichen Anzahl von Schritten abgeleitet werden können:
Dabei ist es egal, in welcher Reihenfolge die Produktionsregeln auf die abgeleiteten Wörter angewandt werden, oder ob es mehrere Möglichkeiten gibt, um ein Wort w aus S abzuleiten. Zwei Grammatiken G1 und G2 sind genau dann äquivalent, wenn die durch G1 und G2 erzeugten Sprachen gleich sind: BeispieleWir betrachten die kontextsensitive Grammatik G mit den Terminalen {a,b}, den Nichtterminalen {S,A,B} mit dem Startsymbol S und den Regeln
Dabei ist Man beachte, dass es mehrere Ableitungen gibt, um das Wort aabb aus S abzuleiten. Eine weitere Grammatik zur Erzeugung der betrachteten Sprache
oder kurz:
Man sieht, dass es zur Erzeugung einer Sprache mehrere (genaugenommen: abzählbar unendlich viele) Grammatiken gibt. Siehe auch
Literatur
Weblinks |
This article is from Wikipedia. All text is available under the terms of the GNU Free Documentation License.
Mercedes Car
This site monitored by SitePinger.net