Indietro

ⓘ Grammatica sintagmatica




                                     

ⓘ Grammatica sintagmatica

La grammatica sintagmatica, altrimenti nota come gerarchia di Chomsky, è una gerarchia di contenimento delle classi delle grammatiche formali che genera i linguaggi formali. Questa gerarchia di grammatiche, dette anche grammatiche sintagmatiche, fu descritta da Noam Chomsky.

                                     

1. Grammatiche formali

Una grammatica formale consiste di una selezione finita di simboli terminali le lettere delle parole in una lingua formale, una selezione di simboli non-terminali, una selezione finita di regole produttive con una porzione destra e una porzione sinistra che consistono di una parola di questi simboli e un simbolo di partenza. Una regola potrebbe essere applicata ad una parola sostituendo la parte sinistra con la parte destra. Una derivazione è una sequenza di applicazioni di regole. Una tale grammatica definisce il linguaggio formale di tutte le parole che consistono soltanto di simboli terminali che possono essere raggiunti da una derivazione del simbolo di partenza.

I simboli non terminali solitamente vengono rappresentati dalle lettere dei primi posti, quelli terminali dalle lettere degli ultimi e il simbolo di partenza da S {\displaystyle S}. Per esempio la grammatica con simboli terminali { a, b } {\displaystyle \{a,b\}}, nonterminali { S, A, B } {\displaystyle \{S,A,B\}} potrà avere come regole produttive:

S {\displaystyle S} → A B S {\displaystyle ABS} S {\displaystyle S} → ε dove ε è la stringa vuota B A {\displaystyle BA} → A B {\displaystyle AB} B S {\displaystyle BS} → b {\displaystyle b} b {\displaystyle Bb} → b {\displaystyle bb} A b {\displaystyle Ab} → a b {\displaystyle ab} a {\displaystyle Aa} → a {\displaystyle aa}

e il simbolo di partenza S {\displaystyle S} definisce il linguaggio di tutte le parole che formano a n b n {\displaystyle a^{n}b^{n}} p.e. n {\displaystyle n} copie di b {\displaystyle b}. Quella seguente è una grammatica più semplice che definisce un linguaggio simile: Terminali { p, q } {\displaystyle \{p,q\}}, nonterminals { S } {\displaystyle \{S\}}, simbolo di partenza S {\displaystyle S}, regole produttive

S {\displaystyle S} → p S q {\displaystyle pSq} S {\displaystyle S} → ε