Você está na página 1de 4

1.

expressão regular = 1*(1*01*0)*1*


G = ({S, X}, {0, 1}, P, S)

S-> 1S | 0X | ε
A-> 1X | 0S

2. AFN:

M = ({0, 1}, {q1, q2, q3}, δ, q1, {q3})


δ(q1, 1) = {q1, q2}; δ(q1, 0) = q1; δ(q2, 1) = q3; δ(q3, 1) = q3; δ(q3, 0) = q3

Tabela de transformação:
AFD:

M_2 = ({0, 1}, {q1, q1q2, q3}, δ2, q1, {q3})


δ2(q1, 1) = q1, q2; δ2(q1, 0) = q1; δ2(q1q2, 1) = q3; δ2(q3, 1) = q3; δ2(q3, 0) = q3

3.

P=
{S → aSc | X | ε
X → bZc | Z
Z→b}

G = ({S, X, Z}, {a, b, c}, P, S)

Essa linguagem gera uma gramática livre de contexto, porque não existe restrições quanto
aos terminais serem unitários, ou as variáveis estarem na esquerda ou direita.

4.
Normalizar uma gramática é importante para facilitar implementações computacionalmente
falando, deixando com que seu processamento seja mais fácil. Ou seja, simplificar ou
reduzir a mesma sem perder a linguagem.
resultado final:
S -> A | ε
A -> DA | AC | CC | BA | AB
B -> 00
C -> 0
D -> AB

Você também pode gostar