Apresente a Análise Preditiva Tabular da entrada (a; (a; a); a) sobre a gramática a seguir.
G = ({S, L}, {a, ;, (, )}, P, S)
P = {S → (L) | a
L → L;S | S}1. Eliminação da recursividade à esquerda:
1.1. Simplificação da gramática livre de contexto:
G = ({S, L}, {a, ;, (, )}, P, S)
P = {S → (L) | a
L → L;S | (L) | a}1.2. Renomeação das variáveis em uma ordem crescente qualquer:
G = ({A, B}, {a, ;, (, )}, P, A)
P = {A → (B) | a
B → B;A | (B) | a}1.3. Transformação das produções da forma Ar → Asα, onde r ≤ s:
G = ({A, B}, {a, ;, (, )}, P, A)
P = {A → (B) | a
B → B;A | (B) | a}1.4. Exclusão das recursões da forma Ar → Arα:
G = ({A, B, C}, {a, ;, (, )}, P, A)
P = {A → (B) | a
B → (B)C | aC | (B) | a
C → ;AC | ;A}2. Fatoração a esquerda da gramática livre de contexto:
G = ({A, B, C, D}, {a, ;, (, )}, P, A)
P = {A → (B) | a
B → (B)D | aD
C → ;AD
D → C | ε}Conjuntos FIRST(α) e FOLLOW(A):
FIRST(A) = {a, (}
FIRST(B) = {a, (}
FIRST(C) = {;}
FIRST(D) = {;, ε}FOLLOW(A) = {;, ), $}
FOLLOW(B) = {)}
FOLLOW(C) = {)}
FOLLOW(D) = {)}Tabela de Análise Preditiva:
| a | ; | ( | ) | $ | |
|---|---|---|---|---|---|
| A | A → a | A → (B) | |||
| B | B → aD | B → (B)D | |||
| C | C → ;AD | ||||
| D | D → C | D → ε |
Analisador Preditivo Tabular:
| Pilha | Entrada | Derivação |
|---|---|---|
| $ A | (a; (a; a); a)$ | A → (B) |
| $ ) B ( | (a; (a; a); a)$ | |
| $ ) B | a; (a; a); a)$ | B → aD |
| $ ) D a | a; (a; a); a)$ | |
| $ ) D | ; (a; a); a)$ | D → C |
| $ ) C | ; (a; a); a)$ | C → ;AD |
| $ ) D A ; | ; (a; a); a)$ | |
| $ ) D A | (a; a); a)$ | A → (B) |
| $ ) D ) B ( | (a; a); a)$ | |
| $ ) D ) B | a; a); a)$ | B → aD |
| $ ) D ) D a | a; a); a)$ | |
| $ ) D ) D | ; a); a)$ | D → C |
| $ ) D ) C | ; a); a)$ | C → ;AD |
| $ ) D ) D A ; | ; a); a)$ | |
| $ ) D ) D A | a); a)$ | A → a |
| $ ) D ) D a | a); a)$ | |
| $ ) D ) D | ); a)$ | D → ε |
| $ ) D ) | ); a)$ | |
| $ ) D | ; a)$ | D → C |
| $ ) C | ; a)$ | C → ;AD |
| $ ) D A ; | ; a)$ | |
| $ ) D A | a)$ | A → a |
| $ ) D a | a)$ | |
| $ ) D | )$ | D → ε |
| $ ) | )$ | |
| $ | $ | aceita |