Apresente a Análise Preditiva Tabular da entrada a(e;e) sobre a gramática a seguir.
G = ({S, A, B, C, X, Y}, {a, e, (, ), ;}, P, S)
P = {S → A)
A → CB
B → ;XB | ε
C → Y(X
X → e
Y → a}Eliminação de Recursividade à Esquerda:
G = ({S, A, B, C, X, Y}, {a, e, (, ), ;}, P, S)
P = {S → A)
A → CB
B → ;XB | ε
C → Y(X
X → e
Y → a}Fatoração à Esquerda:
G = ({S, A, B, C, X, Y}, {a, e, (, ), ;}, P, S)
P = {S → A)
A → CB
B → ;XB | ε
C → Y(X
X → e
Y → a}Conjuntos FIRST(α) e FOLLOW(A):
FIRST(S) = {a}
FIRST(A) = {a}
FIRST(B) = {;, ε}
FIRST(C) = {a}
FIRST(X) = {e}
FIRST(Y) = {a}FOLLOW(S) = {$}
FOLLOW(A) = {)}
FOLLOW(B) = {)}
FOLLOW(C) = {), ;}
FOLLOW(X) = {), ;}
FOLLOW(Y) = {(}Tabela de Análise Preditiva:
| a | e | ( | ) | ; | $ | |
|---|---|---|---|---|---|---|
| S | S → A) | |||||
| A | A → CB | |||||
| B | B → ε | B → ;XB | ||||
| C | C → Y(X | |||||
| X | X → e | |||||
| Y | Y → a |
Analisador Preditivo Tabular:
| Pilha | Entrada | Derivação |
|---|---|---|
| $ S | a(e;e) $ | S → A) |
| $ ) A | a(e;e) $ | A → CB |
| $ ) B C | a(e;e) $ | C → Y(X |
| $ ) B X ( Y | a(e;e) $ | Y → a |
| $ ) B X ( a | a(e;e) $ | |
| $ ) B X ( | (e;e) $ | |
| $ ) B X | e;e) $ | X → e |
| $ ) B e | e;e) $ | |
| $ ) B | ;e) $ | B → ;XB |
| $ ) B X ; | ;e) $ | |
| $ ) B X | e) $ | X → e |
| $ ) B e | e) $ | |
| $ ) B | ) $ | B → ε |
| $ ) | ) $ | |
| $ | $ | aceita |