Apresente o código de três endereços, otimizado pela aplicação do método de construção de um grafo acíclico dirigido para blocos básicos, da seguinte sequência de comandos:
A = X + Y - Z * K; B = Z * K - Y; C = K * (X + Y); D = Z * K - X + Y;
Solução do Exercício
Código de três endereços não otimizado, representado por quádruplas
oper
arg1
arg2
result
(0)
*
Z
K
T1
(1)
+
X
Y
T2
(2)
-
T2
T1
T3
(3)
=
T3
A
(4)
*
Z
K
T4
(5)
-
T4
Y
T5
(6)
=
T5
B
(7)
+
X
Y
T6
(8)
*
K
T6
T7
(9)
=
T7
C
(10)
*
Z
K
T8
(11)
+
X
Y
T9
(12)
-
T8
T9
T10
(13)
=
T10
D
Grafo acíclico dirigido
Código de três endereços otimizado, representado por quádruplas