Grammatica libera dal contesto: differenze tra le versioni

Da Wikipedia, l'enciclopedia libera.
Vai alla navigazione Vai alla ricerca
Contenuto cancellato Contenuto aggiunto
ValterVBot (discussione | contributi)
m Bot: Elimino interlinks vedi Wikidata
Riga 40: Riga 40:


[[Categoria:Linguaggi formali]]
[[Categoria:Linguaggi formali]]

[[bn:প্রসঙ্গমুক্ত ব্যাকরণ]]
[[ca:Gramàtica lliure de context]]
[[cs:Bezkontextová gramatika]]
[[de:Kontextfreie Grammatik]]
[[en:Context-free grammar]]
[[es:Gramática libre de contexto]]
[[fa:گرامر مستقل از متن]]
[[fi:Yhteydetön kielioppi]]
[[fr:Grammaire non contextuelle]]
[[gl:Gramática libre de contexto]]
[[he:דקדוק חופשי-הקשר]]
[[hr:Kontekstno neovisna gramatika]]
[[hu:Környezetfüggetlen nyelvtan]]
[[ja:文脈自由文法]]
[[ko:문맥 자유 문법]]
[[mk:Контексно слободна граматика]]
[[nl:Contextvrije grammatica]]
[[pl:Gramatyka bezkontekstowa]]
[[pt:Gramática livre de contexto]]
[[ru:Контекстно-свободная грамматика]]
[[sh:Kontekstno neovisna gramatika]]
[[sk:Bezkontextová gramatika]]
[[sr:Контекстно слободна граматика]]
[[sv:Kontextfri grammatik]]
[[ta:இடம் சாரா இலக்கணம்]]
[[uk:Контекстно-вільна граматика]]
[[zh:上下文无关文法]]

Versione delle 07:31, 27 feb 2013

In informatica e in linguistica, una grammatica context-free (grammatica libera dal contesto o CFG) è una grammatica formale in cui ogni regola sintattica è espressa sotto forma di derivazione di un simbolo a sinistra a partire da uno o più simboli a destra. Ciò può essere espresso con due simbolismi equivalenti (nel seguito verrà utilizzato il secondo simbolismo):

V ::= w
V → w

dove V è un simbolo non terminale e w è una sequenza di simboli terminali e non terminali. Il termine "context-free" (libera dal contesto) si riferisce al fatto che il simbolo non terminale V può sempre essere sostituito da w, indipendentemente dai simboli che lo precedono o lo seguono. Un linguaggio formale si dice context-free se esiste una grammatica context-free che lo genera.

Le grammatiche context-free sono abbastanza potenti da descrivere la sintassi della maggior parte dei linguaggi di programmazione; al tempo stesso, sono abbastanza semplici da consentire un parsing molto efficiente.

La notazione formale di Backus-Naur (BNF) è la sintassi più comunemente usata per descrivere grammatiche context-free.

Non tutti i linguaggi formali sono context-free — un conosciuto controesempio è il seguente .

Questo particolare linguaggio può essere generato da una grammatica di parsing di espressione, un formalismo relativamente nuovo seguito particolarmente dai linguaggi di programmazione.

Definizione formale

Come una grammatica formale, una grammatica context-free può essere definita come una quadrupla:

dove

  • è un insieme finito di simboli non terminali
  • è un insieme finito di simboli terminali
  • è un insieme finito di regole di produzione (o derivazione)
  • è un elemento di , il quale determina il simbolo di partenza non terminale
  • gli elementi di sono nella forma

Voci correlate

Collegamenti esterni

Teoria degli automi: linguaggi formali e grammatiche formali
Gerarchia di Chomsky Grammatica formale Linguaggio Automa minimo
Tipo-0 (illimitato) Ricorsivamente enumerabile Macchina di Turing
(illimitato) Ricorsivo Decider
Tipo-1 Dipendente dal contesto Dipendente dal contesto Automa lineare
Tipo-2 Libera dal contesto Libero dal contesto Automa a pila ND
Tipo-3 Regolare Regolare A stati finiti
Ciascuna categoria di linguaggio o grammatica è un sottoinsieme proprio della categoria immediatamente sovrastante.
  Portale Linguistica: accedi alle voci di Wikipedia che trattano di linguistica