Monotone Grammatik

Aus testwiki
Zur Navigation springen Zur Suche springen

Eine monotone Grammatik (auch nichtverkürzende Grammatik, beschränkte Grammatik oder expansive Grammatik) ist eine formale Grammatik, die nur Produktionsregeln enthält, deren rechte Seite nicht kürzer als die linke Seite ist. Ein Ableitungsschritt in einer monotonen Grammatik verkürzt nicht die abzuleitende Satzform.

Definition

Formal ist eine monotone Grammatik definiert als 4-Tupel G=(V,T,P,S) mit

  • einer endlichen Menge V, genannt Vokabular (Symbolmenge),
  • Terminalsymbolen TV (Alphabet),
  • Nichtterminalsymbolen N= VT (Metasymbole, Variablen)
  • Produktionsregeln PV+×V+, für die gilt:
    Für jede Regel w1w2 ist |w1||w2|, d. h. w1 ist nicht länger als w2.
  • einem Startsymbol SN (auch Startvariable genannt).

Manche Autoren benutzen alternativ das Quadrupel (N,T,P,S) zur Kennzeichnung einer Grammatik G.

Erlaubt man für monotone Grammatiken zusätzlich die Ausnahmeregel Sε, sofern S in keiner rechten Seite einer Regel vorkommt, so erzeugen die monotonen Grammatiken genau die kontextsensitiven Sprachen und sind somit äquivalent zu den kontextsensitiven Grammatiken.

Beispiel

Die Grammatik G=(V,T,S,P) mit V=NT,   N={S,B},   T={a,b,c}  und P:

SaSBcSabccBBcbBbb

erzeugt die Sprache L={anbncnn1}.

Literatur

  • Carlos Martín Vide, Victor Mitrana, Gheorghe Păun (Hrsg.): Formal languages and applications. (Studies in Fuzziness and Soft Computing Vol. 148), Springer, Heidelberg u. a. 2004, ISBN 3-540-20907-7 (Vorlage:Google Buch)