martes, 16 de noviembre de 2010

GENERADOR DE CÓDIGO INTERMEDIO

Algunos compiladores generan una representación explícita del programa
fuente. Este código es independiente de la máquina y a veces se usa en
conjunto con intérpretes, en lenguajes independientes de la plataforma
como JAVA. Esta representación debe ser fácil de producir, ayudar a la
optimización y fácil de traducir al programa objeto.

Ejemplo: código de tres direcciones, donde cada instrucción tiene como
máximo tres operandos, supone una CPU en la que cada posición de
memoria puede actuar como un registro de la CPU. Reglas:

– Cada instrucción de tres direcciones tiene a lo sumo un operador
(además de la asignación). Puede tener menos.

– El compilador debe generar un nombre temporal para guardar los
valores calculados por cada instrucción.


Ejemplo para la segunda instrucción:
t1 = b*c
t2 = int-to-real(3)
corX = t1 + t2

No hay comentarios:

Publicar un comentario