Ybadoo - Soluções em Software Livre
Tutoriais
Compiladores

Elimine a recursividade à esquerda, desconsiderando a palavra vazia, das produções da gramática a seguir.

G = ({A, B, D}, {x, y}, P, A)
P = {ADxD
B → y | Ax
D → yB | Bx}

1. Simplificação da gramática livre de contexto:

A gramática livre de contexto está simplificada.

2. Renomeação das variáveis em uma ordem crescente qualquer:

G = ({A, B, C}, {x, y}, P, A)
P = {ACxC
B → y | Ax
C → yB | Bx}

3. Transformação das produções da forma ArAsα, onde rs:

G = ({A, B, C}, {x, y}, P, A)
P = {ACxC
B → y | CxCx
C → yB | yx | CxCxx}

4. Exclusão das recursões da forma ArArα:

G = ({A, B, C, D}, {x, y}, P, A)
P = {ACxC
B → y | CxCx
C → yB | yx | yBD | yxD
D → xCxx | xCxxD}