Académique Documents
Professionnel Documents
Culture Documents
Parnteses Balanceados,
Construes Bloco-Estruturadas
aSb
(aplicamos a regra 2)
aa S bb
(aplicamos em S a regra 2)
aa bb
(aplicamos em S a regra 1)
Resultado: aabb
Definio:
Teoria da Computao
Prof. Glucya Carreiro Boechat
Uma varivel que est sendo (parcialmente) definida pela produo. Essa varivel chamada de
cabea (head) da produo
O smbolo de produo,
Uma palavra de zero ou mais terminais e variveis. Esta parte chamada de corpo.
O lado esquerdo das produes possui exatamente uma varivel.
Definio Formal
Uma Gramtica Livre de Contexto (GLC) G uma qudrupla (V, T, P, S), onde:
V conjunto finito de variveis ou smbolo no-terminais
T (conjunto de terminais) um subconjunto de V
P (conjunto de regras (ou produes)) um subconjunto finito de (V -T) x V*
S (smbolo inicial (ou varivel de incio)) um elemento de V
Exemplo
Definir a gramtica que gera palndromos. Um Palndromo uma cadeia lido da mesma forma, da direita
para a esquerda e da esquerda para a direita.
Exemplo1: 0110, 11011, 000, so palndromos
Exemplo2: 011, 0101, 1010 no so palndromos.
Gramtica
G=({P, {0, 1}, A, S)
Onde A dada por:
1. S
2. S 0
3. S 1
4. S 0 S 0
5. S 1 S 1
Gerar a palavra w = 00100100
S
0S0
00S00
001S100
0010S0100
0010 0100
Derivaes
Aplicando as regras de produo em ordens diferentes, uma gramtica pode gerar muitas cadeias. O
conjunto de todas tais cadeias a linguagem definida ou gerada pela gramtica. Existe duas formas de
derivao : derivao Mais Esquerda e Mais Direita
Teoria da Computao
Prof. Glucya Carreiro Boechat
| E*E
| [E]
| x }.
Por exemplo, a expresso [x+x]*x pode ser gerada pela seguinte seqncia de derivaes:
E
E*E
[E]*E
[E+E]*E
[x+E]*E
[x+x]*E
[x+x]*x
RVORE DE DERIVAO
Para uma determinada GLC, a representao da derivao de palavras na forma de rvore, denominada rvore
de Derivao como se segue:
a) A raiz o smbolo inicial da GLC;
b) Os vrtices interiores obrigatoriamente so variveis. Se A um vrtice interior e X1, X2, ..., Xn so os
filhos de A, ento A X1X2...Xn uma produo da gramtica e os vrtices X1, X2, ..., Xn esto
ordenados da esquerda para a direita.
c) Um vrtice folha um smbolo terminal ou um smbolo vazio. Neste caso o vazio o nico filho de seu
pai (A ).
Exemplo: rvores de Derivao
a) G = ({S}, {a, b}, P, S), onde P = {S aSb | }.
b) G = ({E}, {+, *, [, ], x}, P, E), onde P = {E E+E | E*E | [E] | x}.
rvore de Derivao x Derivaes
Uma nica rvore de derivao pode representar derivaes distintas de uma mesma palavra ou expresso.
Na rvore representada na figura, a palavra x + x * x pode por exemplo ser gerada pelas seguintes
derivaes:
AMBIGUIDADE
Uma GLC dita uma gramtica ambgua se existe uma palavra que possui duas ou mais rvores de derivao.
Ex: x + x * x.
Teoria da Computao
Prof. Glucya Carreiro Boechat
a) abbab
b) bbababba
4) S a S | b S | B
B aa | bb
a) ababaa
b) babbbb
S = {O}
Gramtica representando uma parte do idioma portugus. O significa orao, A adjetivo, S substantivo, V
verbo e N complemento nominal.
Derivar as seguintes das seguintes palavras
Jim comeu queijo
Jim grande comeu queijo verde
Queijo grande comeu Jim
Queijo grande comeu queijo grande verde grande verde verde
Jim verde comeu Jim grande verde
4) Encontre a Expresso Regular para seguinte Gramtica G = (V, T, P, S), onde V = {a,b,}
5) Verifica se a gramtica abaixo ambgua ou no e justifica sua resposta:
S SS | a S a | b S b |
(i) abba
(ii) aabbaaaa
Teoria da Computao
Prof. Glucya Carreiro Boechat