2.2 representaciones de código intermedio
2.2 representaciones de código intermedio
Estas notaciones simplifican la traducción de nuestro código fuente a nuestro código objeto ya que ahorran y acotan símbolos de la objeto ya que ahorran y acotan símbolos de la tabla de símbolo. Existen diversos tipos de símbolo. Existen diversos tipos de códigos intermedios que varían en cuanto a su sencillez, lo próximos que están a las maquinas reales y lo fácil que es las maquinas reales y lo fácil que es trabajar con abajar con ellos, otros tipos de código ellos, otros tipos de código intermedio que representan los programas como árboles o grafos y representaciones mixtas que combinan grafos o árboles y representaciones lineales. Generación de Código Intermedio Proceso de Síntesis. Lenguaje Intermedio Generación de Código
Ventajas del código intermedio:
• Facilitar la fase de optimización.
• Aumentar la portabilidad del compilador de una máquina a otra.
• Se puede utilizar el mismo analizador para diferentes generadores Aumentar la portabilidad del compilador de una máquina a otra.
• Se puede utilizar el mismo analizador para diferentes generadores.
• Se pueden utilizar optimizadores independientes de la máquina
Tipos de representaciones intermedias.
La representación del código intermedio depende de la máquina objeto:
• 0-direcciones: código para máquinas de pila (código P).
• 2-direcciones: códigos para máquinas con operaciones sobre registros de memoria.
• 3-direcciones: código para máquinas de arquitectura RISC. En todo caso, añade un recorrido descendente En todo caso, añade un recorrido descendente adicional para generar el código final. Al para generar el código final.
Propiedades: • Fácil de producir en el análisis semántico.
• Fácil de traducir a código máquina real.
• Instrucciones simples y concisas, de fácil optimización. Tipos:
• Árboles de Sintaxis Abstracta.
• Notación Polaca Inversa (RPN).
• Código P
• Códigos de tres direcciones o Cuartetos o Tercetos o Tercetos Indirectos.
Comentarios
Publicar un comentario