Diferența dintre expresia regulată și gramatica liberă în context

principala diferență între expresia regulată și gramatica liberă a contextului este aceea că expresiile regulate ajută la descrierea tuturor șirurilor unei limbi obișnuite, în timp ce gramatica liberă a contextului ajută la definirea tuturor șirurilor posibile ale unei limbi libere în context.

Gramatica denotă reguli sintactice pentru conversația în limbi naturale. Informatica utilizează într-o mare măsură teoria limbilor formale. În anul 1956, Noam Chomsky a dat un model matematic de gramatică pentru scrierea limbilor de calculator. Când este posibil să se deducă un set de toate șirurile dintr-o gramatică, se spune că limba este generată din gramatica respectivă. Două tipuri de gramatică sunt gramatică regulată și gramatică fără context. Orice limbă care poate fi descrisă printr-o expresie regulată este o limbă obișnuită. Gramatica liberă de context este o generalizare a expresiei regulate. Este posibil să utilizați expresii regulate pentru a scrie limbile obișnuite și gramatica gratuită pentru a scrie gramatică gratuită în context.

Domenii cheie acoperite

1. Ce este Expresia Regulară
     - Definiție, Exemple
2. Ce este gramatica gratuită în context
     - Definiție, Exemple
3. Relația dintre expresia regulată și gramatica liberă a contextului
     - Schița Asociației
4. Diferența dintre expresia regulată și gramatica liberă în context
     - Compararea diferențelor cheie

Termeni cheie

Expresie regulată, gramatică gramatică

Ce este Expresia Regulară

Gramatica regulată generează limbi regulate. Această gramatică are un singur non-terminal pe partea stângă și o parte dreaptă constând dintr-un singur terminal sau un singur terminal urmat de un singur non-terminal. Poate avea o regulă de producție după cum urmează.

X -> a sau X -> a Y

În cazul în care X, Y ε N (non-terminale) și a ε T (terminal)

Expresiile regulate ajută la scrierea gramaticii obișnuite pentru a descrie limbile obișnuite.

O expresie regulată reprezintă un anumit set de șiruri într-un mod algebric. Unele reguli importante pe care trebuie să le urmați atunci când scrieți o expresie regulată sunt după cum urmează.

  1. Simbolurile terminale, simbolul nul și simbolul gol sunt expresii regulate.
  2. Unirea a două expresii regulate este o expresie regulată.
  3. Concatenarea a două expresii regulate este o expresie regulată.
  4. Iterația sau închiderea este o expresie regulată.

Expresia regulată pentru setul 0,1,2 este după cum urmează.

R = 0 + 1 + 2

Setul abb, a, b, bba poate fi reprezentat de următoarea expresie regulată.

R = abb + a + b + bba

Luați în considerare setul, ε, 0, 00, 000, ...

E este șirul gol. Expresia obișnuită este R = 0 *. Aceasta reprezintă închiderea simbolului, inclusiv simbolul gol.

În setul 1, 11, 111, 1111, ...

Expresia regulată este R = 1 +.  Acest + indică închiderea unui simbol care exclude simbolul gol.

Ce este gramatica gratuită în context

În teoria limbajului formal, Limbajul de Context Liber (CFL) este un limbaj generat de Gramatica Liberă Contextului. Patru parametri definesc gramatica liberă a contextului (G).

G = V, Σ, S, P

V: Set de simboluri variabile sau non-terminale.

Σ: Set de simboluri terminale

S: Porniți simbolul

P: Regula de producție

Context Free Grammar are următorul format pentru regula de producție.

A -> a unde a = V, Σ * și A ε V

Un exemplu de gramatică gramatică contextuală este după cum urmează. Fiecare producție constă dintr-un simbol non-terminal și o expresie regulată.

Pentru a genera o limbă care generează un număr egal de a lui a și b este în formatul anbn. Gramatica liberă a contextului este după cum urmează.

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

Luând în considerare simbolul de pornire,

S -> a A b

Aplicând A -> aAb

→ a a A b b

Aplicând din nou A -> aAb,

→ a a a A b b b

Aplicând A -> ε (Acest simbol reprezintă un șir gol)

→ a a a b b b

→ a 3 b 3

Când se ia în considerare rezultatul, numărul a lui este egal cu numărul lui b. Are an bn formă.

Relația dintre expresia regulată și gramatica liberă a contextului

  • Gramatica gramatică gratuită este o generalizare a expresiilor regulate.

Diferența dintre expresia regulată și gramatica liberă în context

Definiție

O expresie regulată este un concept în teoria limbajului formal care este o secvență de caractere care definesc un model de căutare. Context Free Grammar este un tip de gramatică formală în teoria limbajului formal, care este un set de reguli de producție care descriu toate șirurile posibile într-o anumită limbă oficială.

folosire

Expresiile regulate ajută la reprezentarea anumitor seturi de șir într-un mod algebric. Ajută la reprezentarea limbilor obișnuite. Context gramatică gratuită ajută la definirea tuturor șirurilor posibile ale unui limbaj fără context.

Concluzie

O expresie regulată este o metodă de potrivire a tiparelor. Este o metodă flexibilă de a oferi un mijloc flexibil și concis pentru potrivirea șirurilor de text. Definește toate șirurile în limba obișnuită. Pe de altă parte, gramatica fără context permite definirea tuturor șirurilor care aparțin unui limbaj fără context. Diferența dintre expresia regulată și gramatica liberă a contextului este că expresiile regulate ajută la descrierea tuturor șirurilor unui limbaj obișnuit, în timp ce gramatica liberă a contextului ajută la definirea tuturor șirurilor posibile ale unui limbaj fără context.

Referinţă:

1. "Expresii regulate". Www.tutorialspoint.com, Tutorials Point, 8 ianuarie 2018, Disponibil aici.
2. "Introducere gramatică fără context". Www.tutorialspoint.com, Tutorials Point, 8 ianuarie 2018, disponibil aici.

Datorită fotografiei:

1. "Toolbaricon RegEx" de M0tty - Lucrare proprie (CC BY-SA 4.0) prin Wikimedia Commons