Produktionsregel

Eine Produktionsregel ist ein grundlegendes Regelwerk einer formalen Grammatik und dient der Erzeugung einer formalen Sprache. Für den Begriff der Produktionsregel existieren weitere Bezeichnungen: Produktion, Regel oder auch Ersetzungsregel. Mit Produktionssystem benennt man eine definierte Menge von Produktionsregeln. Produktionsregeln werden u.a. in der Computerlinguistik oder im Compilerbau zur Beschreibung einer formalen Sprache verwendet.


Eine Produktionsregel ist definiert als eine zweistellige Relation (u,v), die paarweise in der Notation u nach v angeschrieben wird. Die Charakteristik dieser Relation gibt vor, dass

  • die linke Seite aus einem Nonterminal besteht und
  • die rechte Seite entweder aus dem leeren Wort, als Ende einer Ableitungssequenz, oder einem Terminal gefolgt von einem Nonterminal besteht.
Terminals sind die Grundelemente der Sätze einer formalen Sprache, und können nicht weiter zerlegt werden. Dazu gehören neben den Elementen der jeweiligen Programmiersprache Buchstaben und Ziffern. Beispiele für die terminalen Elemente einer Programmiersprache sind:

T = {=, :=, begin, end, while, repeat, if ....}

Nonterminals kennzeichnen dagegen eine syntaktische Kategorie; sie sind im wesentlichen Hilfssymbole, die für die Erzeugung und Erkennung der Sätze der formalen Sprache durch die Grammatik dienen. Zur Unterscheidung werden Nonterminals in >klammerung< dargestellt.

Formale 
   Grammatik für ein Produktionssystem

Formale Grammatik für ein Produktionssystem

Im Beispiel ist eine formale Grammatik gegeben mit:

Die Produktionsregeln für die Sätze einer Programmiersprache könnten etwa so formuliert werden:

>Wiederholungsanweisung< nach while >Boolescher Ausdruck< repeat >Anweisungsgruppe< end

>Boolescher Ausdruck< nach >Name< >Vergleichsoperator< >Name<

>Anweisungsgruppe< nach >Zuweisungsanweisung<

>Zuweisungsanweisung< nach >Name< >Zuweisungssymbol< >Ausdruck<

>Zuweisungssymbol< nach :=

>Name< nach ...

Dabei sind die fett gedruckten Begriffe die terminalen Elemente der Programmiersprache. Eine einfache Produktionsregel bestehend aus Nonterminals für die deutsche Sprache lautet hingegen:

>Satz< nach >Subjekt< >Prädikat< >Objekt<

Produktionsregeln werden häufig auch in der Backus-Naur-Form dargestellt.

Informationen zum Artikel
Deutsch: Produktionsregel
Englisch:
Veröffentlicht: 08.04.2012
Wörter: 283
Tags: #Entwicklung, Codierung
Links: BNF (Backus-Naur-Form), Compilerbau, DGT (digit), Formale Grammatik, Formale Sprache