Escolar Documentos
Profissional Documentos
Cultura Documentos
Definio:
Uma gramtica dita recursiva esquerda se ela tiver um no-terminal A tal
que A =>A para alguma cadeia w.
Mtodo de Parsing TOP-DOWN no manipulam gramticas recursivas
esquerda.
Eliminando Recursividade a Esquerda:
Recursividade Direita:
A A |
=>
A A'
A' A' |
Exemplo:
E E + T | T
T T * F | F
F (E) | id
=>
A A| AAAn | | | ... | n
A A'| A' | nA'
A' A'| A'nA' |
Recursividade Indireta
Exemplo:
S Aa | b
A Ac | Sd |
S Aa Sda
Algoritmo para Eliminar Recursividade a Esquerda
Input: G - gramtica sem ciclos
1. Sejam A1, A2 ... An os no terminais de G
2. for i := 2 to n do
for j := 1 to i - 1 do
E TE'
E' +TE' |
T FT'
T' *FT' |
F > (E) | id
begin
(a) substitua cada produo da forma pelas produes da
forma Ai Ajpelas produes Ai , se Aj i
forem produes de G.
(b) elimine as recursividades direta das produes Ai.
end
Exemplo:
1. S, A
2. (a) i = 2, j = 1, A Sd => AAad
Abd
(b) A bdA'
A'adA' | cA' |
Fatorao Esquerda:
Para adiar o impasse entre duas regras de produo que podem ser aplicadas.
A