Compiladores

Solo disponible en BuenasTareas
  • Páginas : 6 (1419 palabras )
  • Descarga(s) : 0
  • Publicado : 19 de febrero de 2012
Leer documento completo
Vista previa del texto
10
COMPILADORES
GENERACION DE CODIGO INTERMEDIO, OPTIMIZACION DE CODIGO, GENERACION DE CODIGO.

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

La etapa inicial traduce un programa fuente a una representación intermedias 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 del lenguaje objeto (código ensamblador, código maquina absoluto o relocalizable,...), la arquitectura de la maquina (numero de registros, modos de direccionamiento, tamaño de los tipos de datos, memoria cache,...), el entorno de ejecución (estructura de registros ymemoria de la máquina donde se va a ejecutar el programa...) y el sistema operativo se engloban en la etapa final y se aíslan del resto.

El compilador se compone de diversas fases para llegar a la ejecución del programa. Es necesario hasta cierto punto manipular estas fases, en adelante veremos de que manera moldea el compilador al código, optimizándolo, y haciendo que sus instrucciones sean masfáciles de manipular para hacer mas fácil la creación del código objeto. Que es el qe creara el archivo que llevara a cabo la ejecución del programa.

ABSTRACT.

An intermediate representation is a data structure that represents the program source during the process of translation into object code. At first, the compiler translates source code into a more suitable form for optimization, andthen turns it into machine code. The compiler transforms the code into a more manageable language, usually three-address code, which represents exactly one instruction code machine, does type checking and translates expressions.

C O M P I L A D O R E S .
GENERACION DE CODIGO INTERMEDIO.

En el modelo de análisis y síntesis de un compilador, la etapa inicial traduce un progama fuente a unarepresentación intermedia a partir de la cual la etapa final genera el código objeto.
Dicha representación intermedia tiene diversaventajas, entre ellas, facilita la redestinacion, ya que puede creas un compilador para una maquina distinta uniendo la etapa final de esta nueva maquina, y la etapa inicial de una maquina ya existente, y también puede aplicar la representación intermedia con unoptimizador de código, haciendo mas rápida la traducción.

Fig. [ 1 ]. Ubicacion del generador de codigo intermedio.
Las representaciones graficas se dan en los arboles sintacticos, en los cuales se describe la estructura jeraquica natural de un programa fuente. Un grafo aciclico (GDA) proporciona la misma informacion pero de una forma mas compacta porque se identifican las subexpresiones comunes.Existe otro tipo de representacion, que es la representacion postfija, en donde vemos los arboles formados por nodos lineales, e inmediatamente despues de estos nodos se encuentran los hijos.
Los arboles sintacticos se van produciendo dependiendo sus asiganciones, asociaciones, precedencias y operadores que vayan incluidos en la gramatica y siguiendo esto se va formand la sintaxis, uniendonodos y a su ves estos uniendo a los hijos, hasta formar la sintaxis.
El codiogo de 3 direcciones es una representacion relizada de un arbol sintactico o un GDA en la que los nombres explicitos corresponden a los nodos interiores del grafo.

La explicacion del termino “Codigo de tres direcciones” es que cada proposicion contiene generalmente tres direcciones, dos para los operandos y una parael resultado. Dicho codigo utiliza proposiciones analogas al codigo ensamblador, estas pueden tener etiquetas simboicas y existen proposiciones para el flujo del control. Una etiqueta simbolica representa el indice de una proposicion de tres direcciones en la matriz que contiene el codigo intermedio.
El codigo se va escribiendo dependiendo de la sintaxis de cada una de sus propisiciones, ya...
tracking img