Apresente a Análise Preditiva Tabular da entrada nome;sexo\n"fulano";m sobre a gramática a seguir.
G = ({A, B, C, D, E, F, G, H}, {\n, ;, ", a, b, c, d, ..., w, x, y, z}, P, A)
P = {A → B
B → B \n C | C
C → D
D → D ; E | E
E → F | G
F → " G "
G → G H | H
H → a | b | c | d | ... | w | x | y | z}Eliminação de Recursividade à Esquerda:
G = ({A, B, B1, C, D, D1, E, F, G, G1, H}, {\n, ;, ", a, b, c, d, ..., w, x, y, z}, P, A)
P = {A → B
B → C B1
B1 → \n C B1 | ε
C → D
D → E D1
D1 → ; E D1 | ε
E → F | G
F → " G "
G → H G1
G1 → H G1 | ε
H → a | b | c | d | ... | w | x | y | z}Fatoração à Esquerda:
G = ({A, B, B1, C, D, D1, E, F, G, G1, H}, {\n, ;, ", a, b, c, d, ..., w, x, y, z}, P, A)
P = {A → B
B → C B1
B1 → \n C B1 | ε
C → D
D → E D1
D1 → ; E D1 | ε
E → F | G
F → " G "
G → H G1
G1 → H G1 | ε
H → a | b | c | d | ... | w | x | y | z}Conjuntos FIRST(α) e FOLLOW(A):
FIRST(A) = {", a, b, ..., y, z}
FIRST(B) = {", a, b, ..., y, z}
FIRST(B1) = {\n, ε}
FIRST(C) = {", a, b, ..., y, z}
FIRST(D) = {", a, b, ..., y, z}
FIRST(D1) = {;, ε}
FIRST(E) = {", a, b, ..., y, z}
FIRST(F) = {"}
FIRST(G) = {a, b, ..., y, z}
FIRST(G1) = {a, b, ..., y, z, ε}
FIRST(H) = {a, b, ..., y, z}FOLLOW(A) = {$}
FOLLOW(B) = {$}
FOLLOW(B1) = {$}
FOLLOW(C) = {\n, $}
FOLLOW(D) = {\n, $}
FOLLOW(D1) = {\n, $}
FOLLOW(E) = {\n, ;, $}
FOLLOW(F) = {\n, ;, $}
FOLLOW(G) = {\n, ;, ", $}
FOLLOW(G1) = {\n, ;, ", $}
FOLLOW(H) = {\n, ;, ", a, b, ..., y, z, $}Tabela de Análise Preditiva:
| \n | ; | " | a, b, ..., y, z | $ | |
|---|---|---|---|---|---|
| A | A → B | A → B | |||
| B | B → C B1 | B → C B1 | |||
| B1 | B1 → \n C B1 | B1 → ε | |||
| C | C → D | C → D | |||
| D | D → E D1 | D → E D1 | |||
| D1 | D1 → ε | D1 → ; E D1 | D1 → ε | ||
| E | E → F | E → G | |||
| F | F → "G" | ||||
| G | G → H G1 | ||||
| G1 | G1 → ε | G1 → ε | G1 → ε | G1 → H G1 | G1 → ε |
| H | H → a | b | ... | y | z |
Analisador Preditivo Tabular:
| Pilha | Entrada | Derivação |
|---|---|---|
| $ A | nome;sexo\n"fulano";m$ | A → B |
| $ B | nome;sexo\n"fulano";m$ | B → C B1 |
| $ B1 C | nome;sexo\n"fulano";m$ | C → D |
| $ B1 D | nome;sexo\n"fulano";m$ | D → E D1 |
| $ B1 D1 E | nome;sexo\n"fulano";m$ | E → G |
| $ B1 D1 G | nome;sexo\n"fulano";m$ | G → H G1 |
| $ B1 D1 G1 H | nome;sexo\n"fulano";m$ | H → n |
| $ B1 D1 G1 n | nome;sexo\n"fulano";m$ | |
| $ B1 D1 G1 | ome;sexo\n"fulano";m$ | G1 → H G1 |
| $ B1 D1 G1 H | ome;sexo\n"fulano";m$ | H → o |
| $ B1 D1 G1 o | ome;sexo\n"fulano";m$ | |
| $ B1 D1 G1 | me;sexo\n"fulano";m$ | G1 → H G1 |
| $ B1 D1 G1 H | me;sexo\n"fulano";m$ | H → m |
| $ B1 D1 G1 m | me;sexo\n"fulano";m$ | |
| $ B1 D1 G1 | e;sexo\n"fulano";m$ | G1 → H G1 |
| $ B1 D1 G1 H | e;sexo\n"fulano";m$ | H → e |
| $ B1 D1 G1 e | e;sexo\n"fulano";m$ | |
| $ B1 D1 G1 | ;sexo\n"fulano";m$ | G1 → ε |
| $ B1 D1 | ;sexo\n"fulano";m$ | D1 → ; E D1 |
| $ B1 D1 E ; | ;sexo\n"fulano";m$ | |
| $ B1 D1 E | sexo\n"fulano";m$ | E → G |
| $ B1 D1 G | sexo\n"fulano";m$ | G → H G1 |
| $ B1 D1 G1 H | sexo\n"fulano";m$ | H → s |
| $ B1 D1 G1 s | sexo\n"fulano";m$ | |
| $ B1 D1 G1 | exo\n"fulano";m$ | G1 → H G1 |
| $ B1 D1 G1 H | exo\n"fulano";m$ | H → e |
| $ B1 D1 G1 e | exo\n"fulano";m$ | |
| $ B1 D1 G1 | xo\n"fulano";m$ | G1 → H G1 |
| $ B1 D1 G1 H | xo\n"fulano";m$ | H → x |
| $ B1 D1 G1 x | xo\n"fulano";m$ | |
| $ B1 D1 G1 | o\n"fulano";m$ | G1 → H G1 |
| $ B1 D1 G1 H | o\n"fulano";m$ | H → o |
| $ B1 D1 G1 o | o\n"fulano";m$ | |
| $ B1 D1 G1 | \n"fulano";m$ | G1 → ε |
| $ B1 D1 | \n"fulano";m$ | D1 → ε |
| $ B1 | \n"fulano";m$ | B1 → \n C B1 |
| $ B1 C \n | \n"fulano";m$ | |
| $ B1 C | "fulano";m$ | C → D |
| $ B1 D | "fulano";m$ | D → E D1 |
| $ B1 D1 E | "fulano";m$ | E → F |
| $ B1 D1 F | "fulano";m$ | F → " G " |
| $ B1 D1 " G " | "fulano";m$ | |
| $ B1 D1 " G | fulano";m$ | G → H G1 |
| $ B1 D1 " G1 H | fulano";m$ | H → f |
| $ B1 D1 " G1 f | fulano";m$ | |
| $ B1 D1 " G1 | ulano";m$ | G1 → H G1 |
| $ B1 D1 " G1 H | ulano";m$ | H → u |
| $ B1 D1 " G1 u | ulano";m$ | |
| $ B1 D1 " G1 | lano";m$ | G1 → H G1 |
| $ B1 D1 " G1 H | lano";m$ | H → l |
| $ B1 D1 " G1 l | lano";m$ | |
| $ B1 D1 " G1 | ano";m$ | G1 → H G1 |
| $ B1 D1 " G1 H | ano";m$ | H → a |
| $ B1 D1 " G1 a | ano";m$ | |
| $ B1 D1 " G1 | no";m$ | G1 → H G1 |
| $ B1 D1 " G1 H | no";m$ | H → n |
| $ B1 D1 " G1 n | no";m$ | |
| $ B1 D1 " G1 | o";m$ | G1 → H G1 |
| $ B1 D1 " G1 H | o";m$ | H → o |
| $ B1 D1 " G1 o | o";m$ | |
| $ B1 D1 " G1 | ";m$ | G1 → ε |
| $ B1 D1 " | ";m$ | |
| $ B1 D1 | ;m$ | D1 → ; E D1 |
| $ B1 D1 E ; | ;m$ | |
| $ B1 D1 E | m$ | E → G |
| $ B1 D1 G | m$ | G → H G1 |
| $ B1 D1 G1 H | m$ | H → m |
| $ B1 D1 G1 m | m$ | |
| $ B1 D1 G1 | $ | G1 → ε |
| $ B1 D1 | $ | D1 → ε |
| $ B1 | $ | B1 → ε |
| $ | $ | aceita |