Gramatică fără context
În informatică și lingvistică, o gramatică fără context (sau non-contextuală , fără context sau CFG ) este o gramatică formală în care fiecare regulă sintactică este exprimată sub forma derivării unui simbol din stânga începând de la unul sau mai multe simboluri un drept. Acest lucru poate fi exprimat cu două simbolisme echivalente (al doilea simbolism va fi folosit în următoarele):
- V :: = w
- V → w
unde V este un simbol non-terminal și w este o secvență de simboluri terminale și non-terminale. Termenul „fără context” se referă la faptul că simbolul non-terminal V poate fi întotdeauna înlocuit cu w , indiferent de simbolurile care îl preced sau îl urmează. Se spune că un limbaj formal este lipsit de context dacă există o gramatică fără context care o generează.
Descriere
În ierarhia Chomsky , gramaticile fără context sunt numite Tip 2.
Gramaticile fără context sunt suficient de puternice pentru a descrie sintaxa majorității limbajelor de programare ; în același timp, sunt suficient de simple pentru a permite o analiză foarte eficientă.
Notația formală Backus-Naur (BNF) este cea mai frecvent utilizată sintaxă pentru a descrie gramaticile fără context. Nu toate limbajele formale sunt libere de context - un bine-cunoscut contraexemplu este următorul . Acest limbaj poate fi generat de o expresie care analizează gramatica, un formalism relativ nou urmat în special de limbaje de programare.
Definiție formală
Ca o gramatică formală , o gramatică fără context poate fi definit ca un cvadruplu:
unde este
- este un set finit de simboluri non-terminale
- este un set finit de simboluri terminale
- este un set finit de reguli de producție (sau derivare)
- este un element al , care determină simbolul de pornire non-terminal
- elementele de Sunt în formă
Bibliografie
- Giorgio Ausiello, Fabrizio D'Amore, Giorgio Gambosi, Limbaje de modelare a complexității, Milano, Franco Angeli Editore, 2003, ISBN 88-464-4470-1 .