Sunteți pe pagina 1din 3

TIPOS DE GRAMATICAS

A ideia da descrição formal de uma linguagem por uma gramatica é devido a Chomsky.
A classificação das linguagens conhecida como Hierarquia de Chomsky tem como principal mérito
agrupar as linguagens em classes de acordo com sua complexibilidade. Como resultado, é possível
antecipar as propriedades fundamentais exibidas por certa linguagem, assim como os modelos de
implementação mais adequados.
Portanto a hierarquia de Chomsky viabiliza a escolha da forma mais econômica para se representar uma
linguagem, evitando-se o uso de formalismos mais complexos que necessários ou de dispositivos
ineficientes para certas linguagens.
HIERARQUIA DE CHOMSKY
Define 4 classes distintas de linguagem:

1- Gramatica Irrestrita ( tipo 0 )


Possui produções do tipo U -> V, em que U Є (NU Σ)+
V Є (NU Σ)*

EX: Ϭ com Σ={ a, c, d } N={ S, X, Y } S = { S } e P=


S -> aXYc
aX -> cad Ϭ1= cad
Xc - >aXa Ϭ2= acadac
XYc -> Xcc
Yc -> λ
Gramaticas irrestritas são extremamente gerais. Praticamente toda linguagem pode ser descrita como
sendo do tipo ф.

2- Gramatica Sensível ao Contexto( tipo 1 )


Produções são da forma: U -> V, tal que |V| >= |U|
EX: ϭ: Σ={ a, b, c } N={ S, X, Y } P=
S -> aXb
S -> aXa
Xa -> bc
Xb -> cb

Note que toda ϭ do tipo 1 é também do tipo ф, mas não ao inverso!

3- Gramatica Livre de Contexto ( tipo 2 )


Todas as produções são da forma: U -> V em que U é um único N e V Є(ΣUN)*
EX: P= S -> 0S1
S -> λ

4- Gramatica regualar ( tipo 3)


As produções tem uma das seguintes formas:
U é um N
V é um Σ ou λ ou ΣN (Regular a Direita)
NΣ(Regular a Esquerda)
V ou N
Constatam-se SEMELHANÇAS para linguagens pertencentes á mesma classe e DIFERENÇAS para
linguagens da classe distintas quanto ao:
* Conjunto de propriedades exibidas
* Características Estruturais
* Modelo de Reconhecedor
Do ponto de vista ESTRUTURAL
 Linguagens LC ( tipo 2 ) distinguem-se das L do tipo 3 por exibirem características de
ANINHAMENTO, como é o caso da estruturação em blocos e comandos, uso dos parentes um
expressão aritiméticas.
 LSC ( tipo 1 ) distinguem-se das de tipo 2 por conterem sentenças que exibem construções
“Associadas”, tais como as VINCULAÇÕES entre declaração e uso de variáveis.
 Linguagem do tipo ф distinguem-se das linguagens do tipo 1 por apresentarem características
de INDECIDIBILIDADE.
Do ponto de vista analítico:
Tipo Classe de Linguagem Modelo de ϭ Modelo de
Reconhecedor
0 Recursividade Enumerável Irrestrita Macna de Turing
1 Sensível ao Contexto Sensível ao Contexto Macna de Turing com
fita finita
2 Livres de Contexto Livres de Contexto Autômato em Pilha
3 Regulares Regulares Automato Finito

Gramática Equivalentes
Duas gramaticas G1 e G2 são equivalentes se L(G1) = L(G2), isto é, se geram a mesma linguagem

Gramatica Ambígua
Uma G é dita ambígua se existe uma sentença ϭ na L(G) com duas Arvores de derivação distintas.
S -> A
A -> AфA|1

Ϭ=10101

Exercícios
1- Seja G com P:
A -> BB
B -> 0B1|λ
a. De todas as derivações para as cadeias λ, 01, 0101,0011
b. Qual a L(G)?

2- Seja G={{A,B},A ,P,{}a,b,c}


Com P: A -> aB
B -> bBlc
a. Verifique se ϭ1={ abbbc } e ϭ2= { aabc } Є L(ϭ)
b. Qual a L(ϭ)?
3- Seja Ϭ constituída pelas regras
X -> aAbc
A -> aAbc
A->λ
Cb ->bC
Cc -> cc
a. Verifique o tipo de na hierarquia de chownsky.
b. L(Ϭ)

S-ar putea să vă placă și