martes, 4 de junio de 2013

Codigo Intermedio

Documento para exposicion
24 diapositivas

El proceso de la compilación se desglosa en dos partes:
◦La parte que depende solo del lenguaje fuente (etapa inicial o front-end )
◦La parte que depende solo del lenguaje objeto (etapa final o back-end).

Etapa inicial: corresponde con la parte de análisis (léxico, sintáctico y semántico).
Etapa final: corresponde con la parte de síntesis (generación de código).

La etapa inicial traduce un programa fuente a una representación intermedia a partir de la cual la etapa final genera el código objeto.
 
De esta forma, los detalles que tienen que ver con las características siguientes se engloban en la etapa final y se aíslan del resto.
 

  • Lenguaje objeto (código ensamblador, código maquina absoluto o relocalizable, etc)
  • La arquitectura de la maquina (numero de registros, modos de direccionamiento, tamaño de los tipos de datos, memoria cache, etc)
  • El entorno de ejecución (estructura de registros y memoria de la maquina donde se va a ejecutar el programa)
  • El sistema operativo

La generación de código es la tarea mas complicada de un compilador.
Las ventajas de utilizar esta representación intermedia, independiente de la maquina en la que se va a ejecutar el programa, son:
  • Se puede crear un compilador para una nueva maquina distinta uniendo la etapa final de la nueva maquina a una etapa inicial ya existente.
  • Se facilita la redestinacion.
  • Se puede aplicar, a la representación intermedia, un optimizador de código independiente de la maquina.

 
Documento para exposicion
24 diapositivas




No hay comentarios:

Publicar un comentario

Related Posts Plugin for WordPress, Blogger...