Limbaje independente de context

Un limbaj independent de context este un limbaj formal acceptat de un automat cu stivă. Limbajele independente de context pot fi generate de gramatici independente de context.

ExempleModificare

Un exemplu tipic de limbaj independent de context este  , limbajul tuturor cuvintelor nevide de lungime pară, care au prima jumătate formată din  -uri, și a doua jumătate formată din  -uri.   este generat de gramatica  , și este acceptat de automatul cu stivă   unde   este definit după cum urmează:

 
 
 
 

Limbajele independente de context au multe aplicații în limbajele de programare; de exemplu, limbajul tuturor parantezelor corect închise este generat de gramatica  . De asemenea, majoritatea expresiilor aritmetice sunt generate de gramatici independente de context.

Proprietăți de închidereModificare

Familia limbajelor independente de context este închisă în raport cu operațiile de concatenare și reuniune dar nu în raport cu intersecția sau diferența. Totuși, este închisă în raport cu intersecția și diferența cu un limbaj regulat.

Alte legăturiModificare

Există o lemă de pompare pentru limbaje independente de context, care dă o condiție necesară pentru ca un limbaj să fie independent de context.

BibliografieModificare

  • Michael Sipser - "Introduction to the Theory of Computation", PWS Publishing, 1997, ISBN 0-534-94728-X Chapter 2: Context-Free Languages, pp.91–122.