2.2 Representación 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 tabla de símbolo. Existen diversos tipos de códigos intermedios que varían en cuanto a su sencillez, lo próximos que están alas maquinas reales y lo fácil que es trabajar con 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 adicional 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

  1. Cuartetos
  2. Tercetos
  3. Tercetos Indirectos.

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