Formale Grammatik

mathematische Modelle von Grammatiken in der theoretischen Informatik
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 7. Februar 2003 um 17:08 Uhr durch Koethnig (Diskussion | Beiträge). Sie kann sich erheblich von der aktuellen Version unterscheiden.

Definition

Eine formale Grammatik besteht aus einer endlichen Menge von Terminal-Symbolen (im folgenden kurz Terminale genannt), einer endlichen Menge von Nichtterminal-Symbolen (im folgenden kurz Nichtterminale genannt), einer endlichen Menge von Produktions-Regeln (im folgenden kurz Regeln genannt) und einem Startsymbol, welches zu den Nichtterminalen gehört.

Eine Regel besteht aus einer linken und einer rechten Seite, die jeweils ein Wort bestehend aus Terminalen und Nichtterminalen sind. Die rechte Seite kann dabei im Gegensatz zur lniken Seite auch das leere Wort (im folgenden mit   symbolisiert) sein, also das Wort, welches keine Symbole enthält. Eine Regel kann auf ein Wort, bestehend aus Terminalen und Nichtterminalen, angewendet werden, wobei ein beliebigen Vorkommen der linken Seite der Regel im Wort durch die rechten Seite der Regel ersetzt wird. Eine Ableitung ist dann eine Folge von solchen Anwendungen der Regeln. Die Grammatik definiert dann eine formale Sprache, die aus allen Wörtern besteht, die nur aus Terminalen bestehen und vom Startsymbol abgeleitet werden können.

Nichtterminale werdem gewöhnlich durch Großbuchstaben, Terminale durch Kleinbuchstaben repräsentiert. Das Startsymbol wird meistens durch das   repräsentiert.

Beispiel

Wir betrachten die Grammatik mit den Terminalen  , den Nichtterminalen   und den Regeln

 
  (wobei  ; das leere Wort ist)
 
 
 
 
 

und dem Startsymbol  , definiert die Sprache aller Wörter der Form  , d.h.   Kopien von   gefolgt von   Kopien von  .

Man klassifiziert verschiedene Typen von Grammtiken in der sogenannten Chomsky-Hierarchie.