Limbaj fără context

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare

Un limbaj liber din context (sau non-contextual sau fără context) este un limbaj formal generat de o gramatică care nu este, tocmai contextuală , adică astfel încât regulile acționează asupra simbolurilor non-terminale, indiferent de context în care apar.

Setul de limbaje fără context este echivalent cu setul de limbaje care sunt recunoscute de un automat stivă nedeterminist . Simplitatea tipului de automat necesar recunoașterii lor și faptul că acesta poate fi generat direct din definiția gramaticale fac ca această clasă de limbaje să prezinte un interes deosebit în informatică teoretică și în special în teoria limbajelor de programare și a acestora. implementare.

Exemple

Un arhetip de limbaj fără context este , limbajul tuturor corzilor de lungime uniformă, din care prima jumătate este compusă din , iar a doua jumătate de la . Limba este generată de gramatică , și este acceptat de automatul pushdown unde este este definit astfel:





Limbajele fără context au multe aplicații în limbaje de programare ; de exemplu, limba care verifică dacă parantezele sunt potrivite corect este generată de gramatică .
Mai mult, expresiile aritmetice sunt generate de gramatici fără context și neregulate. [1]

Proprietate

  • Familia de limbi fără context este închisă pentru concatenare și unire, dar nu pentru intersecție sau diferență. În orice caz, este închis pentru intersecție și diferență cu limbaje liniare . [2]
  • Având în vedere o gramatică de tip 2 G, este decis să se stabilească dacă generează un limbaj gol ( ). [3]
  • Având în vedere o gramatică de tip 2 G, este decis să se stabilească dacă generează un limbaj infinit. [4]

Notă

Bibliografie

  • Giorgio Ausiello, Fabrizio D'Amore, Giorgio Gambosi, Limbaje de modelare a complexității, Milano, Franco Angeli Editore, 2003, ISBN 88-464-4470-1 .

Elemente conexe

  • Lema de pompare oferă condiții necesare (dar nu suficiente) pentru ca limbile fără context să fie regulate.

Alte proiecte

Teoria automatelor : limbaje formale și gramatici formale
Ierarhia Chomsky Gramatica formală Limba Automat minim
Tipul-0 (nelimitat) Recursiv enumerabil Mașină Turing
(nelimitat) Recursiv Decider
Tipul 1 Context dependent Context dependent Automat liniar
Tipul 2 Fără context Fără context Automat cu baterie ND
Tipul 3 Regulat Regulat Stări finite
Fiecare categorie de limbă sau gramatică este un subset adecvat al categoriei imediat deasupra acesteia.