Produktion (Informatik)

A Produktion oder Produktionsregel In Informatik ist a Regel umschreiben Angabe einer Symbolsubstitution, die rekursiv durchgeführt werden kann, um neue Symbolsequenzen zu erzeugen. Eine endliche Reihe von Produktionen ist die Hauptkomponente in der Spezifikation von a formelle Grammatik (speziell a Generative Grammatik). Die anderen Komponenten sind ein endlicher Satz von Nicht terminale Symbole, ein endliches Set (bekannt als Alphabet) von Terminalsymbole das ist disjunkt aus und ein angesehenes Symbol das ist das Starten Sie das Symbol.

In einem (n uneingeschränkte Grammatik, eine Produktion ist von der Form , wo und sind willkürliche Zeichenfolgen von Terminals und Nichtterminalen, und kann nicht der sein leerer String. Wenn ist die leere Zeichenfolge, dies wird durch das Symbol bezeichnet , oder (Anstatt die rechte Seite leer zu lassen). Die Produktionen sind also Mitglieder der kartesisches Produkt

,

wo ist der Wortschatz, ist der Kleene Star Operator, zeigt an Verkettung, bezeichnet Set Union, und bezeichnet Setzen Sie Minus oder Unterschied. Wenn wir nicht zulassen, dass das Startsymbol auftritt (Das Wort auf der rechten Seite) müssen wir ersetzen durch auf der rechten Seite des kartesischen Produktsymbols.[1]

Die anderen Arten der formalen Grammatik in der Chomsky -Hierarchie Legen Sie zusätzliche Beschränkungen für die Produktion auf. Insbesondere in a Kontextfreie GrammatikDie linke Seite einer Produktion muss ein einzelnes nicht terminales Symbol sein. Die Produktionen sind also von der Form:

Grammatikgenerierung

Um eine Zeichenfolge in der Sprache zu generieren, beginnt man mit einer Zeichenfolge, die nur aus einer einzigen besteht Starten Sie das Symbolund wendet dann nacheinander die Regeln (in beliebiger Reihenfolge) auf, um diese Zeichenfolge neu zu schreiben. Dies hört auf, wenn wir eine Zeichenfolge mit nur Klemmen erhalten. Die Sprache besteht aus allen Zeichenfolgen, die auf diese Weise erzeugt werden können. Jede bestimmte Abfolge von rechtlichen Entscheidungen, die während dieses Umschreibungsprozesses getroffen wurden, liefert eine bestimmte Zeichenfolge in der Sprache. Wenn es mehrere verschiedene Möglichkeiten gibt, diese einzelne Zeichenfolge zu generieren, soll die Grammatik sein zweideutig.

Angenommen, das Alphabet besteht aus und mit dem Startsymbol und wir haben die folgenden Regeln:

1.
2.

Dann beginnen wir mit und kann eine Regel auswählen, die sich dafür bewerben kann. Wenn wir Regel 1 wählen, ersetzen wir mit und erhalten Sie die Zeichenfolge . Wenn wir erneut Regel 1 wählen, ersetzen wir mit und erhalten Sie die Zeichenfolge . Dieser Vorgang wird wiederholt, bis wir nur Symbole aus dem Alphabet haben (d. H., und ). Wenn wir jetzt Regel 2 wählen, ersetzen wir mit und erhalten Sie die Zeichenfolge , und sind fertig. Wir können diese Reihe von Auswahlmöglichkeiten kurz mehr mit Symbolen schreiben: . Die Sprache der Grammatik ist der Satz aller Zeichenfolgen, die mit diesem Prozess generiert werden können: .

Siehe auch

Verweise

  1. ^ Siehe Klaus Reinhardt: Prioritatszahlerautomaten und Die Synchronisation von Halbspursprachen Archiviert 2018-01-17 bei der Wayback -Maschine; Fakultät Informatik der Universität Stuttgart; 1994 (Deutsch)