Definición y función de un compilador

Páginas: 6 (1433 palabras) Publicado: 28 de abril de 2013
Definición y función de un compilador

Un compilador es un programa informático que traduce un programa escrito en un lenguaje de programación a otro lenguaje de programación, generando un programa equivalente que la máquina será capaz de interpretar. Usualmente el segundo lenguaje es lenguaje de máquina, pero también puede ser simplemente texto. Este proceso de traducción se conoce comocompilación.

Un compilador es un programa que permite traducir el código fuente de un programa en lenguaje de alto nivel, a otro lenguaje de nivel inferior (típicamente lenguaje de máquina). De esta manera un programador puede diseñar un programa en un lenguaje mucho más cercano a cómo piensa un ser humano, para luego compilarlo a un programa más manejable por una computadora.

Etapas del procesode compilación

Un programa escrito en un lenguaje de alto nivel, no puede ser ejecutado directamente por un ordenador, sino que debe ser traducido a lenguaje máquina. Las etapas por las que debe pasar un programa escrito en un lenguaje de programación, hasta poder ser ejecutable son:

1.- Analizador léxico o rastreador (scanner)
Esta fase del compilador efectúa la lectura real del programafuente, el cual generalmente está en la forma de un flujo de caracteres. El rastreador realiza lo que se conoce como análisis léxico: recolecta secuencias de caracteres en unidades significativas denominadas tokens, las cuales son como las palabras de un lenguaje natural.

2.- Analizador sintáctico (parser)
El analizador sintáctico recibe el código fuente en la forma de tokens proveniente delanalizador léxico y realiza el análisis sintáctico, que determina la estructura del programa. El análisis sintáctico determina los elementos estructurales del programa y sus relaciones. Los resultados del análisis sintáctico por lo regular se representan como un árbol de análisis gramatical o un árbol sintáctico.

3.- Analizador semántico
La semántica de un programa determina su comportamientodurante el tiempo de ejecución, pero la mayoría de los lenguajes de programación tienen características que se pueden determinar antes de la ejecución e incluso no se pueden expresar de manera adecuada como sintaxis y analizarse mediante el analizador sintáctico. Se hace referencia a tales características como semántica estática, y el análisis de tal semántica es la tarea del analizador semántico.Las características típicas de la semántica estática en los lenguajes de programación comunes incluyen las declaraciones y la verificación de tipos. Las partes extra de la información (como los tipos de datos) que se calculan mediante el analizador semántico se llaman atributos y con frecuencia se agregan al árbol como anotaciones o "decoraciones".

4.- Optimización de código
La fase deoptimización de código consiste en mejorar el código intermedio, de modo que resulte un código máquina más rápido de ejecutar. Esta fase de la etapa de síntesis es posible sobre todo si el traductor es un compilador.
5.- Generador de código
El generador de código toma el código intermedio y genera el código para la máquina objetivo. Es en esta fase de la compilación en la que las propiedades de lamáquina objetivo se convierten en el factor principal.

6.- Optimizador de código objetivo
En esta fase el compilador intenta mejorar el código objetivo generado por el generador de código. Dichas mejoras incluyen la selección de modos de direccionamiento para mejorar el rendimiento, reemplazando las instrucciones lentas por otras rápidas, y eliminando las operaciones redundantes o innecesarias.Cada una de estas etapas genera una salida, las cuales se convierten en la entrada de la siguiente fase. En el siguiente diagrama se ilustran las entradas y salidas de las fases de compilación, así como la estructura de datos que apoyan al proceso.

Estructuras de datos principales del proceso de compilación

La interacción entre los algoritmos utilizados por las fases del compilador y las...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Compiladores-funciones
  • compilado de escritos de funciones
  • Como funciona un compilador
  • Definicion de funciones
  • Definicion De Funcion
  • definicion de funcion
  • Casa De La Cultura, Definicion Y Funciones
  • 3 definiciones de funciones lineales

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS