Simplifique por meio do algoritmo de Exclusão de Símbolos Inúteis a gramática:
G = ({A, B, C, D, E, F, G}, {x, y, z}, P, A)
P = {< A > -> x < F > y
| < B > x < E >
< B > -> x < G >
| < G > y
< C > -> y
| y < G >
< D > -> z < C >
| z z < B >
< E > -> y
| < F > x
< F > -> < G > y
| < E > x x
< G > -> < B > z < B > }
a) Identificação das variáveis que constituem terminais
Conjunto de variáveis que constituem terminais
Iteração |
Variáveis |
0 |
∅ |
1 |
{C, E} |
2 |
{C, E, D, F} |
3 |
{C, E, D, F, A} |
4 |
{C, E, D, F, A} |
G = ({A, C, D, E, F}, {x, y, z}, P, A)
P = {< A > -> x < F > y
< C > -> y
< D > -> z < C >
< E > -> y
| < F > x
< F > -> < E > x x }
b) Identificação dos símbolos alcançáveis a partir do símbolo inicial
Conjunto de símbolos alcançáveis a partir do símbolo inicial
Iteração |
Variáveis |
Terminais |
0 |
{A} |
∅ |
1 |
{A, F} |
{x, y} |
2 |
{A, F, E} |
{x, y} |
3 |
{A, F, E} |
{x, y} |
G = ({A, E, F}, {x, y}, P, A)
P = {< A > -> x < F > y
< E > -> y
| < F > x
< F > -> < E > x x }