Ybadoo - Soluções em Software Livre
Turmas
2º Semestre de 2025

Uma gramática livre de contexto é dita normalizada em relação a um certo padrão quando todas as suas produções seguem as restrições impostas pelo padrão em questão. É comum designar tais padrões como formas normais. Por exemplo, diz-se que uma gramática G = (V, Σ, P, S) obedece à Forma Normal de Chomsky se todas as produções p ∈ P forem de uma das duas formas seguintes:

ABC, ou

A → a

Conforme exposto, converta a gramática livre de contexto apresentada a seguir na Forma Normal de Chomsky.

G = ({E, T, F}, {x, y}, P, E)
P = {ETFx
T → yyF
FT | ε}

1. Simplificação da gramática livre do contexto

1.1. Exclusão de Produções Vazias

1.1.1. Identificação das variáveis que constituem produções vazias

Conjunto de variáveis que constituem produções vazias
IteraçãoVariáveis
0
1{F}
2{F}

1.1.2. Exclusão das produções vazias da gramática

G = ({E, T, F}, {x, y}, P, E)
P = {ETFx | Tx
T → yyF | yy
FT}

1.1.3. Inclusão da palavra vazia, caso pertença a linguagem gerada pela gramática

G = ({E, T, F}, {x, y}, P, E)
P = {ETFx | Tx
T → yyF | yy
FT}

1.2. Exclusão de Produções da Forma AB

1.2.1. Construção dos fechos das variáveis

Fecho(E) = ∅
Fecho(T) = ∅
Fecho(F) = {T}

1.2.2. Exclusão das produções da forma AB

G = ({E, T, F}, {x, y}, P, E)
P = {ETFx | Tx
T → yyF | yy
F → yyF | yy}

1.3. Exclusão de Símbolos Inúteis

1.3.1. Identificação das variáveis que constituem terminais

Conjunto de variáveis que constituem terminais
IteraçãoVariáveis
0
1{T, F}
2{T, F, E}
3{T, F, E}
G = ({E, T, F}, {x, y}, P, E)
P = {ETFx | Tx
T → yyF | yy
F → yyF | yy}

1.3.2. 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çãoVariáveisTerminais
0{E}
1{E, T, F}{x}
2{E, T, F}{x, y}
G = ({E, T, F}, {x, y}, P, E)
P = {ETFx | Tx
T → yyF | yy
F → yyF | yy}

2. Conversão das produções contendo terminais para a forma A → a

G = ({E, T, F, X0, X1, Y0, Y1, Y2, Y3, Y4, Y5, Y6, Y7}, {x, y}, P, E)
P = {E TFX0 | TX1
T Y0Y1F | Y2Y3
F Y4Y5F | Y6Y7
X0 → x
X1 → x
Y0 → y
Y1 → y
Y2 → y
Y3 → y
Y4 → y
Y5 → y
Y6 → y
Y7 → y}

3. Conversão das produções contendo variáveis para a forma ABC

G = ({E, E0, T, T0, F, F0, X0, X1, Y0, Y1, Y2, Y3, Y4, Y5, Y6, Y7}, {x, y}, P, E)
P = {E TE0 | TX1
E0FX0
T Y0T0 | Y2Y3
T0Y1F
F Y4F0 | Y6Y7
F0Y5F
X0 → x
X1 → x
Y0 → y
Y1 → y
Y2 → y
Y3 → y
Y4 → y
Y5 → y
Y6 → y
Y7 → y}