Chomsky Classificazione delle Grammatiche

Pubblicità

Secondo Noam Chomosky, ci sono quattro tipi di grammatiche di Tipo 0, Tipo 1, tipo 2 e Tipo 3. La seguente tabella mostra come essi differiscono l’uno dall’altro−

Grammatica di Tipo Grammatica Accettato Lingua Accettata Automa
Tipo 0 Illimitato di grammatica Ricorsivamente enumerabile lingua Macchina di Turing
Tipo 1 sensibile al Contesto grammatica sensibile al Contesto lingua Lineari-delimitata automa
di Tipo 2 grammatica libera dal Contesto, Context-free language Pushdown automa
Tipo 3 Grammatica regolare Linguaggio regolare Automa a stati finiti

Dai un’occhiata alla seguente illustrazione. Mostra l’ambito di ogni tipo di grammatica –

Contenimento di Type3, Type2, Type1, Type0

Grammatica di tipo 3

Le grammatiche di tipo 3 generano lingue regolari. Le grammatiche di tipo 3 devono avere un singolo non terminale sul lato sinistro e un lato destro costituito da un singolo terminale o da un singolo terminale seguito da un singolo non terminale.

Le produzioni devono essere nella forma X → a o X → aY

dove X, Y N N (Non terminale)

e a T T (Terminale)

La regola S → ε è consentita se S non appare sul lato destro di nessuna regola.

Esempio

X → ε X → a | aYY → b 

Grammatica di tipo 2

Le grammatiche di tipo 2 generano linguaggi liberi dal contesto.

Le produzioni devono essere nella forma A → γ

dove A N N (Non terminale)

e γ γ (T N N)* (Stringa di terminali e non terminali).

Questi linguaggi generati da queste grammatiche sono riconosciuti da un automa pushdown non deterministico.

Esempio

S → X a X → a X → aX X → abc X → ε

Grammatica di tipo 1

Le grammatiche di tipo 1 generano linguaggi sensibili al contesto. Le produzioni devono essere nella forma

α A β → α γ β

dove A N N (non terminale)

e α, β, γ γ (T N N)* (Stringhe di terminali e non terminali)

Le stringhe α e β possono essere vuote, ma γ deve essere non vuota.

La regola S → ε è consentita se S non appare sul lato destro di nessuna regola. Le lingue generate da queste grammatiche sono riconosciute da un automa lineare limitato.

Esempio

AB → AbBc A → bcA B → b 

Grammatica di tipo 0

Le grammatiche di tipo 0 generano linguaggi enumerabili ricorsivamente. Le produzioni non hanno restrizioni. Sono qualsiasi grammatica di struttura di fase comprese tutte le grammatiche formali.

Generano i linguaggi riconosciuti da una macchina di Turing.

Le produzioni possono essere sotto forma di α → β dove α è una stringa di terminali e non terminali con almeno un non terminale e α non può essere nullo. β è una stringa di terminali e non terminali.

Esempio

S → ACaB Bc → acB CB → DB aD → Db 
Pubblicità

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.