Apresente a Análise Preditiva Tabular da entrada id & (~id v ~id) sobre a gramática a seguir.
G = ({E, T, F}, {id, &, v, ~, (, )}, P, E)
P = {E → EvT | T
T → T&F | F
F → (E) | ~F | id}Eliminação de Recursividade à Esquerda:
G = ({E, E₁, T, T₁, F}, {id, &, v, ~, (, )}, P, E)
P = {E → TE₁
E₁ → vTE₁ | ε
T → FT₁
T₁ → &FT₁ | ε
F → (E) | ~F | id}Fatoração à Esquerda:
G = ({E, E₁, T, T₁, F}, {id, &, v, ~, (, )}, P, E)
P = {E → TE₁
E₁ → vTE₁ | ε
T → FT₁
T₁ → &FT₁ | ε
F → (E) | ~F | id}Conjuntos FIRST(α) e FOLLOW(A):
FIRST(E) = {id, ~, (}
FIRST(E₁) = {v, ε}
FIRST(T) = {id, ~, (}
FIRST(T₁) = {&, ε}
FIRST(F) = {id, ~, (}FOLLOW(E) = {), $}
FOLLOW(E₁) = {), $}
FOLLOW(T) = {v, ), $}
FOLLOW(T₁) = {v, ), $}
FOLLOW(F) = {&, v, ), $}Tabela de Análise Preditiva:
| id | v | & | ~ | ( | ) | $ | |
|---|---|---|---|---|---|---|---|
| E | E → TE₁ | E → TE₁ | E → TE₁ | ||||
| E₁ | E₁ → vTE₁ | E₁ → ε | E₁ → ε | ||||
| T | T → FT₁ | T → FT₁ | T → FT₁ | ||||
| T₁ | T₁ → ε | T₁ → &FT₁ | T₁ → ε | T₁ → ε | |||
| F | F → id | F → ~F | F → (E) |
Analisador Preditivo Tabular:
| Pilha | Entrada | Derivação |
|---|---|---|
| $ E | id & (~id v ~id) $ | E → TE₁ |
| $ E₁ T | id & (~id v ~id) $ | T → FT₁ |
| $ E₁ T₁ F | id & (~id v ~id) $ | F → id |
| $ E₁ T₁ id | id & (~id v ~id) $ | |
| $ E₁ T₁ | & (~id v ~id) $ | T₁ → &FT₁ |
| $ E₁ T₁ F & | & (~id v ~id) $ | |
| $ E₁ T₁ F | (~id v ~id) $ | F → (E) |
| $ E₁ T₁ ) E ( | (~id v ~id) $ | |
| $ E₁ T₁ ) E | ~id v ~id) $ | E → TE₁ |
| $ E₁ T₁ ) E₁ T | ~id v ~id) $ | T → FT₁ |
| $ E₁ T₁ ) E₁ T₁ F | ~id v ~id) $ | F → ~F |
| $ E₁ T₁ ) E₁ T₁ F ~ | ~id v ~id) $ | |
| $ E₁ T₁ ) E₁ T₁ F | id v ~id) $ | F → id |
| $ E₁ T₁ ) E₁ T₁ id | id v ~id) $ | |
| $ E₁ T₁ ) E₁ T₁ | v ~id) $ | T₁ → ε |
| $ E₁ T₁ ) E₁ | v ~id) $ | E₁ → vTE₁ |
| $ E₁ T₁ ) E₁ T v | v ~id) $ | |
| $ E₁ T₁ ) E₁ T | ~id) $ | T → FT₁ |
| $ E₁ T₁ ) E₁ T₁ F | ~id) $ | F → ~F |
| $ E₁ T₁ ) E₁ T₁ F ~ | ~id) $ | |
| $ E₁ T₁ ) E₁ T₁ F | id) $ | F → id |
| $ E₁ T₁ ) E₁ T₁ id | id) $ | |
| $ E₁ T₁ ) E₁ T₁ | ) $ | T₁ → ε |
| $ E₁ T₁ ) E₁ | ) $ | E₁ → ε |
| $ E₁ T₁ ) | ) $ | |
| $ E₁ T₁ | $ | T₁ → ε |
| $ E₁ | $ | E₁ → ε |
| $ | $ | aceita |