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:

A = X + Y - Z * K;
B = Z * K - Y;
C = K * (X + Y);
D = Z * K - X + Y;

 

Código de três endereços não otimizado, representado por quádruplas
 operarg1arg2result
(0)*ZKT1
(1)+XYT2
(2)-T2T1T3
(3)=T3 A
(4)*ZKT4
(5)-T4YT5
(6)=T5 B
(7)+XYT6
(8)*KT6T7
(9)=T7 C
(10)*ZKT8
(11)+XYT9
(12)-T8T9T10
(13)=T10 D
Grafo Acíclico Dirigido
Grafo acíclico dirigido
Código de três endereços otimizado, representado por quádruplas
 operarg1arg2result
(0)*ZKT1
(1)+XYT2
(2)-T2T1T3
(3)=T3 A
(4)-T1YT4
(5)=T4 B
(6)*KT2T5
(7)=T5 C
(8)-T1T2T6
(9)=T6 D