Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Prova2 Completa CIC220
Prova2 Completa CIC220
1)
S→(T)|x
T → ST | S
Depois de formatado:
S’ → S
S→(T)
S→x
T → ST
T→S
Estado 0:
S’ → * S;
S → * ( T );
S → *x;
Estado 1:
S → ( * T );
T → *S T;
T → *S;
S → * ( T );
S → *x;
Estado 2:
S → x*;
Estado 3:
S’ → S*;
Estado 4:
S’ → S’ * $;
Estado 5:
S’ → S’ $ *;
Estado 6 (CONFLITO):
T → S * T;
T → S *;
T → *S T;
T → * S;
S → * ( T );
S → *x;
Estado 7:
S → ( T ) *;
Estado 8:
S → ( T ) *;
Estado 9:
T → S T *;
b)
first(S’) = {(, x}
first(S) = {(, x}
first(T) = {(, x}
follow(S’) = {$}
follow(S) = {$, (, x, ), }
follow(T) = {)}
Estado 0:
S → *S;
S → * ( T );
S → *x;
Estado 1:
S’ → S*;
Estado 2:
S → (* T );
T → *S T;
T → *S;
S →* ( T );
S → *x
Estado 3:
S → x*
Estado 4:
S → ( T*)
Estado 5:
T → S*T;
T → S*;
T → *S T;
T → *S;
S → * ( T );
S → *x
Estado 6:
S→(T)*
Estado 7:
T → S T*
( ) x $ S’ S T
0 e2 e3 1
1 OK
2 e2 e3 5 4
3 r2 r2 r2 r2
4 e6
5 e2 r4 e3 5 7
6 r1 r1 r1 r1
7 r3
c)
PILHA ENTRADA AÇÃO
0 ((x)x(x))$ e2
0(2 (x)x(x))$ e2
0(2(2 x)x(x))$ e3
0(2(2x3 )x(x))$ r2
0(2(2S )x(x))$ 5
0(2(2S5 )x(x))$ r4
0(2(2T )x(x))$ 4
0(2(2T4 )x(x))$ e6
0(2(2T4)6 x(x))$ r1
0(2S x(x))$ 5
0(2S5 x(x))$ e3
0(2S5x3 (x))$ r2
0(2S5S (x))$ 5
0(2S5S5 (x))$ e2
0(2S5S5(2 x))$ e3
0(2S5S5(2x3 ))$ r2
0(2S5S5(2S ))$ 5
0(2S5S5(2S5 ))$ r4
0(2S5S5(2T ))$ 4
0(2S5S5(2T4 ))$ e6
0(2S5S5(2T4)6 )$ r1
0(2S5S5S )$ 5
0(2S5S5S5 )$ r4
0(2S5S5T )$ 7
0(2S5S5T7 )$ r3
0(2S5T )$ 7
0(2S5T7 )$ r3
0(2T )$ 4
0(2T4 )$ e6
0(2T4)6 $ r1
0S $ 1
0S1 $ OK
d)
Estado 0:
S’ → *S, $;
S → * ( T ),
S → *x,
Estado 1:
S’ → S*, $
Estado 2:
S → (*T ), $;
T → *S T, );
T → *S, );
S → * ( T ), (/x/);
S → *x, (/x/);
Estado 3:
S → x*, $
Estado 4:
S →( T*), $
Estado 5:
T → S*T, );
T → S*, );
T → *S T, );
T → *S, );
S → * ( T ), (/x/);
S → *x, (/x/);
Estado 6:
S → (*T ), (/x/);
T → *S T, );
T → *S, );
S → * ( T ). (/x/);
S → *x, (/x/);
Estado 7:
S → x*, (/x/);
Estado 8:
S → ( T )*, $;
Estado 9:
T → S T*, );
Estado 10:
S → ( T *), (/x/);
Estado 11:
S → ( T )*, (/x/);
e)
Estado 0:
S’ → *E, $;
E → *( L ), $;
E → *a, $
Estado 1:
S’ → E*, $
Estado 2:
E → (*L), $/(/a/);
L → *E L, );
L → *E, );
E → * ( L ), (/a/);
E → *a, (/a/);
Estado 3:
E → a*, $/(/a/);
Estado 4:
E → (L*), $/(/a/);
Estado 5:
L → E*L, );
L → E*, );
L → *E L, );
L → *E, );
E → * ( L ), (/a/);
E → *a, (/a/);
Estado 6:
E → ( L )*, $/(/a/);
Estado 7:
L → E L*, );
( ) x $ S’ S T
0 e2 e3 1
1 OK
2 e2 e3 5 4
3 r2 r2 r2 r2
4 e6
5 e2 r4 e3 5 7
6 r1 r1 r1 r1
7 r3
2)
Gramática de atributos:
Regras gramaticais:
dígito → 0
dígito → 1
dígito → 2
dígito → 3
dígito → 4
dígito → 5
dígito → 6
dígito → 7
dígito → 8
dígito → 9
Regras semânticas:
dígito.val = 0
dígito.val = 1
dígito.val = 2
dígito.val = 3
dígito.val = 4
dígito.val = 5
dígito.val = 6
dígito.val = 7
dígito.val = 8
dígito.val = 9