Ybadoo - Soluções em Software Livre
Tutoriais
Compiladores

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;

 

Código de três endereços não otimizado, representado por quádruplas
 operarg1arg2result
(0)+ABT1
(1)*CT1T2
(2)=T2 X
(3)+ABT3
(4)=T3 A
(5)*DET4
(6)+BT4T5
(7)=T5 Y
(8)*DET6
(9)+BT6T7
(10)+AT7T8
(11)=T8 Z
Grafo Acíclico Dirigido
Grafo acíclico dirigido
Código de três endereços otimizado, representado por quádruplas
 operarg1arg2result
(0)+ABT1
(1)=T1 A
(2)*CT1T2
(3)=T2 X
(4)*DET3
(5)+BT3T4
(6)=T4 Y
(7)+T1T4T5
(8)=T5 Z