Forskjellen mellom vanlig uttrykk og kontekstfri grammatikk

De hovedforskjell mellom vanlig uttrykk og kontekstfri grammatikk er det Vanlige uttrykk bidrar til å beskrive alle strengene i et vanlig språk mens kontekstfri grammatikk bidrar til å definere alle mulige strenger i et kontekstfritt språk.

Grammatikk angir syntaktiske regler for samtale på naturlige språk. Datamusikk bruker i stor grad teorien om formelle språk. I år 1956 ga Noam Chomsky en matematisk modell av grammatikk for å skrive dataspråk. Når det er mulig å utlede et sett med alle strenger fra en grammatikk, sies det at språket er generert fra den grammatikken. To typer grammatikk er vanlig grammatikk og kontekstfri grammatikk. Ethvert språk som kan beskrives med et vanlig uttrykk er et vanlig språk. Kontekstfri grammatikk er en generalisering av vanlig uttrykk. Det er mulig å bruke vanlige uttrykk for å skrive vanlige språk og kontekstfri grammatikk for å skrive kontekstfri grammatikk.

Nøkkelområder dekket

1. Hva er Regular Expression
     - Definisjon, eksempler
2. Hva er Context Free Grammar
     - Definisjon, eksempler
3. Forholdet mellom vanlig uttrykk og kontekstfri grammatikk
     - Oversikt over foreningen
4. Forskjellen mellom vanlig uttrykk og kontekstfri grammatikk
     - Sammenligning av nøkkelforskjeller

Nøkkelord

Regelmessig uttrykk, kontekstfri grammatikk

Hva er Regular Expression

Den vanlige grammatikken genererer vanlige språk. Denne grammatikken har en enkelt ikke-terminal på venstre side og en høyre side som består av en enkelt terminal eller en terminal, etterfulgt av en enkelt ikke-terminal. Det kan ha en produksjonsregel som følger.

X -> a eller X -> en Y

Hvor X, Y ε N (ikke-terminal) og en ε T (terminal)

Regelmessige uttrykk bidrar til å skrive vanlig grammatikk for å beskrive vanlige språk.

Et vanlig uttrykk representerer et bestemt sett med strenger i algebraisk mote. Noen viktige regler som skal følges når man skriver et vanlig uttrykk, er som følger.

  1. Terminal symbolene, null symbolet og det tomme symbolet er regulære uttrykk.
  2. Foreningen av to regulære uttrykk er et vanlig uttrykk.
  3. Sammenkallingen av to regulære uttrykk er et vanlig uttrykk.
  4. Iterasjon eller lukking er et vanlig uttrykk.

Det vanlige uttrykket for settet 0,1,2 er som følger.

R = 0 + 1 + 2

Settet abb, a, b, bba kan representeres av følgende regulære uttrykk.

R = abb + a + b + bba

Vurder settet, ε, 0, 00, 000, ...

E er den tomme strengen. Den vanlige uttrykket er R = 0 *. Dette representerer lukking av symbolet, inkludert det tomme symbolet.

I settet 1, 11, 111, 1111, ...

Det vanlige uttrykket er R = 1 +.  Dette + angir lukning av et symbol utenom det tomme symbolet.

Hva er Context Free Grammar

I formell språkteori er Context Free Language (CFL) et språk generert av Context Free Grammar. Fire parametere definerer kontekstfri grammatikk (G).

G = V, Σ, S, P

V: Sett med variabel eller ikke-terminalsymboler.

Σ: Sett med terminalsymboler

S: Start symbol

P: Produksjonsregel

Kontekstfri grammatikk har følgende format for produksjonsregel.

A -> a hvor a = V, Σ * og A ε V

Et eksempel på Context Free Grammar er som følger. Hver produksjon består av et ikke-terminalt symbol og et regulært uttrykk.

For å generere et språk som genererer et like antall a og b er det i formatet anbn. Kontekstfri grammatikk er som følger.

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

Tatt i betraktning start symbolet,

S -> a A b

Ved å bruke A -> aAb

→ a a A b b

Ved å bruke A -> aAb igjen,

→ a a a A b b b

Ved å bruke A -> ε (Dette symbolet angir en tom streng)

→ a a a b b b

→ a 3 b 3

Når man vurderer produksjonen, er antall a'er lik antall b'er. Den har an bn skjema.

Forholdet mellom vanlig uttrykk og kontekstfri grammatikk

  • Kontekstfri grammatikk er en generalisering av regulære uttrykk.

Forskjellen mellom vanlig uttrykk og kontekstfri grammatikk

Definisjon

Et vanlig uttrykk er et konsept i formell språkteori som er en sekvens av tegn som definerer et søkemønster. Kontekst Fri grammatikk er en form for formell grammatikk i formell språkteori, som er et sett med produksjonsregler som beskriver alle mulige strenger i et gitt formelt språk.

bruk

Regelmessige uttrykk bidrar til å representere bestemte sett med streng på en algebraisk måte. Det bidrar til å representere vanlige språk. Kontekstfri grammatikk bidrar til å definere alle mulige strenger i et kontekstfritt språk.

Konklusjon

Et vanlig uttrykk er en metode for mønstermatching. Det er en fleksibel metode for å gi et fleksibelt og kortfattet middel til å matche tekststrenger. Det definerer alle strengene i det vanlige språket. På den annen side tillater kontekstfri grammatikk å definere alle strengene som tilhører et kontekstfritt språk. Forskjellen mellom vanlig uttrykk og kontekstfri grammatikk er at de vanlige uttrykkene bidrar til å beskrive alle strengene i et vanlig språk, mens kontekstfri grammatikk bidrar til å definere alle mulige strenger i et kontekstfritt språk.

Henvisning:

1. "Regular Expressions." Www.tutorialspoint.com, Tutorials Point, 8. januar 2018, Tilgjengelig her.
2. "Context-Free Grammar Introduksjon." Www.tutorialspoint.com, Tutorials Point, 8. januar 2018, Tilgjengelig her.

Bilde Courtesy:

1. "Toolbaricon RegEx" Av M0tty - Eget arbeid (CC BY-SA 4.0) via Commons Wikimedia