2.2.4 Cuadruplos

 Es una estructura tipo registro con cuatros campos que se llaman: op, arg1, arg2 y resultado. OP tiene un código intermedio.


Los operadores unarios como x:=-y no utilizan arg2. Generalmente arg1, arg2 y resultado son valores de tipo puntero y apuntan a una entrada en la tabla de símbolos.


Constituida por 4 elementos: un código de operación, dos operando de entrada y otro de salida para almacenar el resultado.

<operador>,<operando1>,<operando2>,<resultado>


Ejemplo:
(A+B)*(C+D)-E
+, A, B, T1
+, C, D, T2
*, T1, T2, T3
-, T3, E, T4


Las cuádruplas facilitan la aplicación de muchas optimizaciones, pero hay que tener un algoritmo para la reutilización de las variables temporales (reutilización de registros del procesador)

Comentarios

Entradas populares de este blog

1.6 Generacion de la tabla de simbolos y tabla de direcciones

1.7 Manejo de errores semánticos

2.3.4 Instrucciones de control