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 = (A + 3) * (B - 5); B = (A * 2) + (B - 5); C = (7 + (A * 2));
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
3
T1
(1)
-
B
5
T2
(2)
*
T1
T2
T3
(3)
=
T3
A
(4)
*
A
2
T4
(5)
-
B
5
T5
(6)
+
T4
T5
T6
(7)
=
T6
B
(8)
*
A
2
T7
(9)
+
7
T7
T8
(10)
=
T8
C
Grafo acíclico dirigido
Código de três endereços otimizado, representado por quádruplas