Verschil tussen reguliere expressie en context Gratis grammatica

De grootste verschil tussen reguliere expressie en contextvrije grammatica is dat het reguliere uitdrukkingen helpen bij het beschrijven van alle reeksen van een normale taal terwijl de contextvrije grammatica helpt om alle mogelijke reeksen van een contextvrije taal te definiëren.

Grammatica geeft syntactische regels voor conversaties in natuurlijke talen. Computerwetenschap gebruikt de theorie van formele talen in grote mate. In het jaar 1956 gaf Noam Chomsky een wiskundig model van grammatica voor het schrijven van computertalen. Wanneer het mogelijk is om een ​​reeks van alle strings uit een grammatica af te leiden, wordt er gezegd dat de taal uit die grammatica wordt gegenereerd. Twee soorten grammatica zijn normale grammatica en contextvrije grammatica. Elke taal die kan worden beschreven door een reguliere expressie is een normale taal. Contextvrije grammatica is een generalisatie van reguliere expressie. Het is mogelijk om reguliere expressies te gebruiken om reguliere talen en contextvrije grammatica te schrijven om contextvrije grammatica te schrijven.

Key Areas Covered

1. Wat is reguliere expressie
     - Definitie, voorbeelden
2. Wat is contextvrije grammatica
     - Definitie, voorbeelden
3. Relatie tussen reguliere expressie en context Gratis grammatica
     - Overzicht van vereniging
4. Verschil tussen reguliere expressie en context Gratis grammatica
     - Vergelijking van belangrijke verschillen

Sleutelbegrippen

Reguliere expressie, contextvrije grammatica

Wat is reguliere expressie

De reguliere grammatica genereert reguliere talen. Deze grammatica heeft een enkele niet-terminal aan de linkerzijde en een rechterzijde bestaande uit een enkele terminal of enkele terminal gevolgd door een enkele niet-terminal. Het kan als volgt een productieregel hebben.

X -> a of X -> een Y

Waar X, Y ε N (niet-terminal) en een ε T (terminal)

Reguliere expressies helpen om reguliere grammatica te schrijven om reguliere talen te beschrijven.

Een reguliere expressie vertegenwoordigt een bepaalde reeks tekenreeksen op een algebraïsche manier. Enkele belangrijke regels die gevolgd moeten worden bij het schrijven van een reguliere expressie zijn als volgt.

  1. De terminalsymbolen, het nul-symbool en het lege symbool zijn reguliere expressies.
  2. De combinatie van twee reguliere expressies is een reguliere expressie.
  3. De aaneenschakeling van twee reguliere expressies is een reguliere expressie.
  4. Iteratie of sluiting is een reguliere uitdrukking.

De reguliere expressie voor de set 0,1,2 is als volgt.

R = 0 + 1 + 2

De set abb, a, b, bba kan worden weergegeven door de volgende reguliere expressie.

R = abb + a + b + bba

Overweeg de set, ε, 0, 00, 000, ...

De ε is de lege string. De reguliere expressie is R = 0 *. Dit vertegenwoordigt de sluiting van het symbool inclusief het lege symbool.

In de set 1, 11, 111, 1111, ...

De reguliere expressie is R = 1 +.  Dit + geeft de sluiting aan van een symbool dat het lege symbool uitsluit.

Wat is contextvrije grammatica

In de formele taaltheorie is Context Free Language (CFL) een taal die wordt gegenereerd door Context Free Grammar. Vier parameters definiëren contextvrije grammatica (G).

G = V, Σ, S, P

V: Set van variabele of niet-aansluitende symbolen.

Σ: set terminalsymbolen

S: Start-symbool

P: productievoorschrift

Context Free Grammar heeft de volgende indeling voor productieregels.

A -> a waarbij a = V, Σ * en A ε V

Een voorbeeld van Context Free Grammar is als volgt. Elke productie bestaat uit een niet-terminalsymbool en een reguliere expressie.

Voor het genereren van een taal die een gelijk aantal a's en b's genereert, heeft het de notatie anbn. De contextvrije grammatica is als volgt.

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

Gezien het startsymbool,

S -> a A b

Door A -> aAb toe te passen

→ a a A b b

Door nogmaals A -> aAb toe te passen,

→ a a a A b b b

Door A -> ε toe te passen (dit symbool geeft een lege string aan)

→ a a a b b b

→ a 3 b 3

Bij het beschouwen van de uitvoer is het aantal a's gelijk aan het aantal b's. Het heeft de an bn het formulier.

Relatie tussen reguliere expressie en context Gratis grammatica

  • Contextvrije grammatica is een generalisatie van reguliere expressies.

Verschil tussen reguliere expressie en context Gratis grammatica

Definitie

Een reguliere expressie is een concept in de formele taaltheorie, een reeks tekens die een zoekpatroon definiëren. Context Gratis grammatica is een vorm van formele grammatica in formele taaltheorie, een verzameling productieregels die alle mogelijke reeksen in een bepaalde formele taal beschrijven.

Gebruik

Reguliere expressies helpen om bepaalde sets van tekenreeksen op een algebraïsche manier weer te geven. Het helpt om reguliere talen te vertegenwoordigen. Context-vrije grammatica helpt om alle mogelijke reeksen van een contextvrije taal te definiëren.

Conclusie

Een reguliere expressie is een methode voor patroonafstemming. Het is een flexibele methode om flexibele en beknopte middelen te bieden om tekststrings met elkaar te matchen. Het definieert alle strings in de reguliere taal. Aan de andere kant, contextvrije grammatica maakt het mogelijk om alle strings te definiëren die behoren tot een contextvrije taal. Het verschil tussen reguliere expressie en contextvrije grammatica is dat de reguliere uitdrukkingen helpen om alle reeksen van een normale taal te beschrijven, terwijl de contextvrije grammatica helpt om alle mogelijke reeksen van een contextvrije taal te definiëren.

Referentie:

1. "Reguliere expressies." Www.tutorialspoint.com, Tutorials Point, 8 januari 2018, hier beschikbaar.
2. "Contextvrije grammatica introductie." Www.tutorialspoint.com, Tutorials Point, 8 januari 2018, hier beschikbaar.

Afbeelding met dank aan:

1. "Toolbaricon RegEx" By M0tty - Eigen werk (CC BY-SA 4.0) via Commons Wikimedia