Unterschied zwischen regulärer Ausdruck und kontextfreier Grammatik

Das Hauptunterschied zwischen regulären Ausdrücken und kontextfreier Grammatik ist das reguläre Ausdrücke helfen, alle Zeichenfolgen einer regulären Sprache zu beschreiben, während die kontextfreie Grammatik dazu beiträgt, alle möglichen Zeichenfolgen einer kontextfreien Sprache zu definieren.

Grammatik bezeichnet syntaktische Regeln für die Konversation in natürlichen Sprachen. Die Informatik verwendet weitgehend die Theorie der Formsprachen. Im Jahr 1956 gab Noam Chomsky ein mathematisches Grammatikmodell für das Schreiben von Computersprachen. Wenn es möglich ist, eine Menge aller Zeichenfolgen aus einer Grammatik abzuleiten, heißt es, dass die Sprache aus dieser Grammatik generiert wird. Zwei Arten von Grammatik sind reguläre Grammatik und kontextfreie Grammatik. Jede Sprache, die durch einen regulären Ausdruck beschrieben werden kann, ist eine reguläre Sprache. Die kontextfreie Grammatik ist eine Verallgemeinerung des regulären Ausdrucks. Es ist möglich, reguläre Ausdrücke zu verwenden, um reguläre Sprachen und kontextfreie Grammatik zu schreiben, um kontextfreie Grammatik zu schreiben.

Wichtige Bereiche

1. Was ist regulärer Ausdruck?
     - Definition, Beispiele
2. Was ist kontextfreie Grammatik?
     - Definition, Beispiele
3. Beziehung zwischen regulärem Ausdruck und kontextfreier Grammatik
     - Gliederung der Vereinigung
4. Unterschied zwischen regulärer Ausdruck und kontextfreier Grammatik
     - Vergleich der wichtigsten Unterschiede

Schlüsselbegriffe

Regulärer Ausdruck, kontextfreie Grammatik

Was ist regulärer Ausdruck?

Die reguläre Grammatik generiert reguläre Sprachen. Diese Grammatik hat auf der linken Seite ein einzelnes Nichtterminal und eine rechte Seite, die aus einem einzelnen Terminal oder einem einzelnen Terminal besteht, gefolgt von einem einzelnen Nichtterminal. Es kann eine Produktionsregel wie folgt haben.

X -> a oder X -> a Y

Wo X, Y Y N (nichtterminal) und ein ϵ T (terminal)

Reguläre Ausdrücke helfen beim Erstellen einer regulären Grammatik, um reguläre Sprachen zu beschreiben.

Ein regulärer Ausdruck repräsentiert eine bestimmte Menge von Zeichenfolgen auf algebraische Weise. Einige wichtige Regeln, die beim Schreiben eines regulären Ausdrucks zu beachten sind, sind wie folgt.

  1. Die Terminalsymbole, das Nullsymbol und das leere Symbol sind reguläre Ausdrücke.
  2. Die Vereinigung zweier regulärer Ausdrücke ist ein regulärer Ausdruck.
  3. Die Verkettung zweier regulärer Ausdrücke ist ein regulärer Ausdruck.
  4. Iteration oder Schließung ist ein regulärer Ausdruck.

Der reguläre Ausdruck für die Menge 0,1,2 lautet wie folgt.

R = 0 + 1 + 2

Die Menge abb, a, b, bba kann durch den folgenden regulären Ausdruck dargestellt werden.

R = abb + a + b + bba

Betrachten Sie die Menge ϵ, 0, 00, 000,…

Das ϵ ist die leere Zeichenfolge. Der reguläre Ausdruck lautet R = 0 *. Dies ist die Schließung des Symbols einschließlich des leeren Symbols.

In der Gruppe 1, 11, 111, 1111,…

Der reguläre Ausdruck lautet R = 1 +.  Dieses + kennzeichnet das Schließen eines Symbols mit Ausnahme des leeren Symbols.

Was ist kontextfreie Grammatik?

In der Theorie der formalen Sprache ist Context Free Language (CFL) eine von Context Free Grammar erzeugte Sprache. Vier Parameter definieren kontextfreie Grammatik (G).

G = V, ∑, S, P

V: Satz von variablen oder nicht terminalen Symbolen.

∑: Satz Terminalsymbole

S: Startsymbol

P: Produktionsregel

Kontextfreie Grammatik hat das folgende Format für die Produktionsregel.

A -> a wobei a = V, ∑ * und A ϵ V

Ein Beispiel für kontextfreie Grammatik ist wie folgt. Jede Produktion besteht aus einem Symbol und einem regulären Ausdruck.

Um eine Sprache zu erzeugen, die eine gleiche Anzahl von a und b generiert, hat sie das Format anbn. Die kontextfreie Grammatik lautet wie folgt.

G = (S, A), (a, b), (S -> aAb, A -> aAb | ϵ)

Betrachten des Startsymbols,

S -> a A b

Durch Anwenden von A -> aAb

→ a a A b b

Durch erneutes Anwenden von A -> aAb,

→ a a a A b b

Durch Anwenden von A -> ϵ (Dieses Symbol kennzeichnet eine leere Zeichenfolge)

→ a a a b b

→ a 3 b 3

Bei der Betrachtung der Ausgabe ist die Anzahl von a gleich der Anzahl von b. Es hat das an bn bilden.

Beziehung zwischen regulärem Ausdruck und kontextfreier Grammatik

  • Die kontextfreie Grammatik ist eine Verallgemeinerung regulärer Ausdrücke.

Unterschied zwischen regulärer Ausdruck und kontextfreier Grammatik

Definition

Ein regulärer Ausdruck ist ein Begriff in der Theorie der formalen Sprache, bei dem es sich um eine Folge von Zeichen handelt, die ein Suchmuster definieren. Kontextfreie Grammatik ist eine Form der formalen Grammatik in der formalen Sprachtheorie, bei der es sich um Produktionsregeln handelt, die alle möglichen Zeichenfolgen in einer bestimmten formalen Sprache beschreiben.

Verwendungszweck

Reguläre Ausdrücke helfen, bestimmte Zeichenfolgen algebraisch darzustellen. Es hilft, reguläre Sprachen darzustellen. Die kontextfreie Grammatik hilft dabei, alle möglichen Zeichenfolgen einer kontextfreien Sprache zu definieren.

Fazit

Ein regulärer Ausdruck ist eine Methode zum Musterabgleich. Es ist eine flexible Methode zur Bereitstellung flexibler und prägnanter Mittel, um Textfolgen abzugleichen. Es definiert alle Zeichenfolgen in der regulären Sprache. Andererseits ermöglicht die kontextfreie Grammatik die Definition aller Zeichenfolgen, die zu einer kontextfreien Sprache gehören. Der Unterschied zwischen regulären Ausdrücken und kontextfreier Grammatik besteht darin, dass die regulären Ausdrücke dazu beitragen, alle Zeichenfolgen einer regulären Sprache zu beschreiben, während die kontextfreie Grammatik dazu beiträgt, alle möglichen Zeichenfolgen einer kontextfreien Sprache zu definieren.

Referenz:

1. „Reguläre Ausdrücke“. Www.tutorialspoint.com, Tutorials Point, 8. Januar 2018, verfügbar hier.
2. „Einführung in die kontextfreie Grammatik“. Www.tutorialspoint.com, Tutorials Point, 8. Januar 2018, verfügbar hier.

Bildhöflichkeit:

1. "Toolbaricon RegEx" von M0tty - Eigene Arbeit (CC BY-SA 4.0) über Commons Wikimedia