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:
X = C * (A + B); A = A + B; Y = B + D * E; Z = A + B + D * E;
Solução do Exercício
Código de três endereços não otimizado, representado por quádruplas
oper
arg1
arg2
result
(0)
+
A
B
T1
(1)
*
C
T1
T2
(2)
=
T2
X
(3)
+
A
B
T3
(4)
=
T3
A
(5)
*
D
E
T4
(6)
+
B
T4
T5
(7)
=
T5
Y
(8)
*
D
E
T6
(9)
+
B
T6
T7
(10)
+
A
T7
T8
(11)
=
T8
Z
Grafo acíclico dirigido
Código de três endereços otimizado, representado por quádruplas