Estructura:
Cédigo de tres
direcciones
¢éQué es el cdédigo
de tres direcciones?
Es una representacién intermedia que tiene varias
propiedades .
se le Hama de esa forma porque solo permite la
referencia a 3 direcciones de memoria al mismo
tiempo.
Consiste en transformar todo el cédigo de alto nivel
a uno equivalente pero mds sencillo.
Esto significa que el lenguaje sera menos inteligente
en el sentido que no se tiene control de lo que se
esta ejecutando pero, nos facilita la traduccion al
\\cédigo ensamblador. ‘4
zéCuales son las tres
direcciones?
Primera - Cada instruccién de tres direcciones contiene
por lo menos un operador, ademas de la asignacion, por
tanto, cuando se generan estas instrucciones, el
traductor tiene que decidir el orden en que deben
efectuarse las operaciones.
Segunda - El traductor debe generar un nombre
temporal para guardar los valores calculados por cada
instrucci6n.
Tercera ~ Algunas instrucciones de tres direcciones
tienen menos de tres operandos, por ejemplo, y
besoackeceéComo funciona?
Expresiones como (a+3)*(4-5)/2 no pueden
ser operadas como una sola instruccién.
Por lo tanto, se debe descomponer la
expresion en expresiones mas sencillas.
Utilizaremos variables temporales para
almacenar los resultados mientras no los
_ hayamos usado.
WW Ejemplo: ™
Para la expresiOn x=(a+3)*(4-5)/2 vamos a
transformarla a cédigo de 3 direcciones:
tl=a+3;
t2=4-5;
t3=t_1*tl_2;
t4=t_3/2
x=t_4;
Esto nos permite hacer operaciones mas
complejas con un lenguaje simple.