Ybadoo - Soluções em Software Livre
Tutoriais
Compiladores

Elimine a recursividade à esquerda e apresente a fatoração a esquerda das produções da gramática a seguir, de modo que a gramática se torne LL(1).

G = ({A}, {a, b, c, d}, P, A)
P = {AAc | Acd | bc | bac | ε}

 

Eliminação de Recursividade à Esquerda:

G = ({A, A₁}, {a, b, c, d}, P, A)
P = {A → bcA₁ | bacA₁ | A₁
A₁ → cA₁ | cdA₁ | ε}

Fatoração à Esquerda:

G = ({A, A₁, A₂, A₃}, {a, b, c, d}, P, A)
P = {A → bA₂ | A₁
A₁ → cA₃ | ε
A₂ → cA₁ | acA₁
A₃A₁ | dA₁}