Escolar Documentos
Profissional Documentos
Cultura Documentos
Gramáticas e Árvores
Gramáticas Livres de Contexto e Árvores Sintáticas
Definição: Uma gramática G = (VN, VT, S, P) é livre de contexto se as produções P
estão são da forma N ® a , onde a Î (VN È VT)* e N Î VN .
Exemplo:
i) E ® T | E + T | E - T
ii) T ® F | T * F | T / F
iii) F ® i | F ** i
E - símbolo inicial , i) , ii) e iii) correspondem à gramática G5.
L(G5): Expressões aritméticas com a variável i.
E ê i - i * i + i ** i
Árvore Sintática
Representa, passo a passo a geração de uma cadeia por uma gramática.
E Ü E+ T Ü E - T+ T Ü T - T+ T Ü F - T+ T Ü i - T+ T Ü i -T * F + T Ü...
Definição: Dada uma gramática livre de contexto :
Gramáticas Ambíguas
Definição: Dada uma gramática G = (VN, VT, S, P) ela é ambígua se existir uma
cadeia x Î L(G) para o qual podem ser construídas duas árvores sintáticas
diferentes.
Exemplo: E ® E + E | E * E | i (G6)
G6 é ambígua.
Contra - exemplo:
S ® MN ; M ® a ; N ® b G7
Temos duas gerações:
i. S Ü MN Ü aN Ü ab
ii. S Ü MN Ü Mb Ü ab
Geração Canônica
Para que uma cadeia gerada por uma gramática corresponda a uma única
geração, particulariza-se a geração da seguinte forma: Cada geração direta deve
substituir o NT (não terminal) mais à direita.
Definição: Uma geração direta xNy ® xuy com N Î VN e x, y Î (VN È VT)* é
canônica se y contém apenas símbolos terminais.
Definição: Uma gramática G é ambígua se, e somente se, existir uma cadeia x Î
L(G) para a qual exista mais do que uma geração canônica.
Exemplo: S ® S + S | i (G8)
i. S Ü S + S Ü S + S + S Ü S + S + i Ü S + i + i Ü i + i + i
ii. S Ü S + S Ü S + i Ü S + S + i Ü S + i + i Ü i + i + i
Portanto, G8 é ambígua.
Seja a gramática G7 : S ® MN ; M ® a ; N ® b
Esta gramática tem apenas uma geração canônica: S Ü MN Ü Nb Ü ab
Comparação entre Gramáticas de Tipo 2 (Gramática Livre de Contexto) e Tipo 3
(Gramática Regular)
Toda gramática regular é uma gramática livre de contexto.
As produções das gramáticas regulares são mais simples do que as produções das
gramáticas livres de contexto.
Vantagens das Gramáticas Livres de Contexto sobre as Gramáticas Regulares
As gramáticas livres de contexto permitem a construção de árvores sintáticas mais
complexas.
Exemplo: Gramática G5:
i. E ® T | E + T | E - T
ii. T ® F | T * F | T / F
iii. F ® i | F ** i
i. E ® iM | i
ii. M ® + E | - E | * E | / E | ** E
Para a gramática G9 :
i. E ® T | + T | - T | E + T | E - T
ii. T ® F | T * F | T / F
iii. F ® P | F ** P
iv. P ® i | (E)
L(G12) = a*b
NT definidos recursivamente
1- N®aN|b a , b Î (VN È
VT)* ou são
N ® a *b expressões
regulares com
símbolos de
VN e VT
2- N ® Na | b
N ® b *a