Escolar Documentos
Profissional Documentos
Cultura Documentos
Formas Normais
Note que a gramática não tem produções-ε, produções unitárias ou símbolos inúteis.
Numa primeira transformação, temos:
S → CbA | CaB
A → CbAA | CaS | a
B → CaBB | CbS | b
Ca → a
Cb → b
Nesta versão temos à direita ou um terminal ou dois ou mais não-terminais.
A próxima etapa é a conversão das produções com não-terminais para um número exato de
dois, de acordo com a definição. E após a conversão final, a gramática na forma normal de
Chomsky torna-se:
S → CbA | CaB
A → CbD1 | CaS | a
D1 → AA
B → CaD2 | CbS | b
D2 → BB
Ca → a
Cb → b
Se L é uma linguagem livre de contexto que contem ε, então podemos encontrar uma
gramática livre de contexto na forma normal de Chomsky para L\{ε} e então adicionamos a
O algoritmo a seguir transforma uma gramática, cuja linguagem gerada não possua
linguagem);
produções crescentes, que pode ser a geração de um terminal (Ar → aα) ou de uma
Considere o exemplo:
S → AA | a
A → SS | b
Transformando:
A1 → A2A2 | a
A2 → A2A2A1 | aA1 | b
A produção A2 →A2A2A1 contém uma recursão, portanto é necessário introduzir uma
variável auxiliar B:
A1 → A2A2 | a
A2 → aA1 | b | aA1B | bB
B → A2A1 | A2A1B
5ªetapa – o terminal do início de cada lado direito das produções: o lado direito das
P6 = { S → ASB | ε
A → aAS | a
B → SbS | A | bb}
P7 = { S → AB | CA
A → a
B → BC | AB
C → aB | b }
P8 = { S → AAA | B
A → aA | B
B → ε}
P9 = { S → aAa | bBb | ε
A → C|a
B → C|b
C → CDE | ε
D → A | B | ab }