2 Extructura De Un Compilador

Páginas: 11 (2598 palabras) Publicado: 1 de junio de 2015
Compilador
"¿Cómo funciona un compilador? ", es la pregunta de todo aquel que se hace llamar programador, a grandes rasgos un compilador toma un programa escrito en un lenguaje de programación con una gramática, sintaxis y semántica definida, revisa que este dentro de las pautas de definición del lenguaje, y lo traduce en programa de salida escrito en lenguaje binario, el cual es entendido porel ordenador y por lo tanto puede ser ejecutado por el mismo (recordar que un intérprete a diferencia de un compilador no traduce todo el programa sino que va realizando la traducción e interpretación de la misma paso a paso, sin crear ningún programa de salida ejecutable). Las partes del proceso de compilación se dividen en dos: una llamada fase de Análisis y otra llamada fase de Sintaxis, lascuales interactúan entre sí para la creación de la tabla de símbolos y el control del manejador de errores, dentro del análisis hay tres etapas llamadas análisis lexicográfico, análisis sintáctico, análisis semántico. Dentro de la fase de Síntesis existen las etapas de generación de código intermedio, optimización de código intermedio, y generación de código.
Al tener que describir como funcionaun compilador tenemos que tener en claro en no confundir los términos compilador y compilación, se debe entender que al decir compilador nos referimos al programa, y al decir compilación al proceso en sí. En esencia ambos términos cumplen con la definición más simple de un compilador, es decir, sea el programa compilador o el proceso de compilación, ambos reciben como entrada un código escritoen algún lenguaje y producen como salida otro código escrito en otro lenguaje.

Estructura de un Compilador:

 La estructura de un compilador, está dividida en cuatro grandes módulos, cada uno independiente del otro, se podría decir que un compilador está formado por cuatros módulos más a su vez.


El primero de ellos es el preprocesador, es el encargado de transformar el código fuente de entradaoriginal en el código fuente puro. Es decir en expandir las macros, incluir las librerías, realizar un preprocesado racional (capacidad de enriquecer a un lenguaje antiguo con recursos más modernos), extender el lenguaje y todo aquello que en el código de entrada sea representativo de una abreviatura para facilitar la escritura del mismo.

El segundo módulo es el de compilación que recibe elcódigo fuente puro, este es él módulo principal de un compilador, pues si ocurriera algún error en esta etapa el compilador no podría avanzar. En esta etapa se somete al código fuente puro de entrada a un análisis léxico gráfico, a un análisis sintáctico, a un análisis semántico, que construyen la tabla de símbolos, se genera un código intermedio al cual se optimiza para así poder producir un códigode salida generalmente en algún lenguaje ensamblador.

El tercer módulo es el llamado módulo de ensamblado, este módulo no es ni más mi menos que otro compilador pues recibe un código fuente de entrada escrito en ensamblador, y produce otro código de salida, llamado código binario no enlazado. Si por un momento viéramos a este módulo como un programa independiente, veríamos que en este caso lostérminos programa compilador y proceso de compilación son los mismos. Pues este módulo no es mas que un compilador, que en su interior realiza como su antecesor un análisis léxico gráfico, un análisis sintáctico, un análisis semántico, crea una tabla de símbolos, genera un código intermedio lo optimiza y produce un código de salida llamado código binario no enlazado, y a todo este conjunto de taresse los denomina proceso de compilación. Como se puede ver este compilador (llamado ensamblador) a diferencia de los demás compiladores no realiza una expansión del código fuente original (código fuente de entrada), tiene solamente un proceso de compilación y por supuesto no enlaza el código fuente. Es un compilador que carece de los módulos de preprocesado y enlazado, y donde los módulos de...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Compiladores e Interpretes 2 1
  • Historia De La Construcción De Los Compiladores Daryl Flores 2
  • Extructuras
  • GOT1000 programming compilado 2
  • Descripcion De Cargos Compilado 2
  • Compiladores
  • Compiladores
  • Compilador

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS