Ybadoo - Soluções em Software Livre
Tutoriais
Compiladores

(Price, 2005) 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 = B + C * D;
B = A * (C * D);
C = (C * D) * 2;

 

Código de três endereços não otimizado, representado por quádruplas
 operarg1arg2result
(0)*CDT1
(1)+BT1T2
(2)=T2 A
(3)*CDT3
(4)*AT3T4
(5)=T4 B
(6)*CDT5
(7)*T52T6
(8)=T6 C
Grafo Acíclico Dirigido
Grafo acíclico dirigido
Código de três endereços otimizado, representado por quádruplas
 operarg1arg2result
(0)*CDT1
(1)+BT1T2
(2)=T2 A
(3)*T2T1T3
(4)=T3 B
(5)*T12T4
(6)=T4 C

Price, Ana Maria de Alencar. (2005). Implementação de Linguagens de Programação: compiladores. 3ª edição. Porto Alegre: Instituto de Informática da UFRGS: Sagra Luzzatto. 212 páginas.