Compiladores e Intérpretes

Páginas: 6 (1313 palabras) Publicado: 28 de agosto de 2011
Compiladores e intérpretes

Un archivo fuente es el que contiene el texto del código del programa que ha sido escrito por el equipo de programadores. Las computadoras solamente pueden ejecutar instrucciones que estén en código máquina, así que los programas en código fuente no se pueden ejecutar directamente en la computadora. Un compilador debe, en primer lugar, convertir el archivo fuente enun archivo intermedio que se llama archivo objeto o archivo código objeto (figura 24). El archivo objeto contiene una traducción del código del programa en lenguaje máquina, pero aún no se considera un programa ejecutable.

Una división común para describir los compiladores, como menciona Torben AEgidius Mogensen en [5], es como se describe enseguida, aunque el orden puede cambiar, algunas fasesse pueden combinar o dividir en otras fases o aún otras fases se pueden insertar, pero en general, los compiladores siguen estas tareas:

• Análisis léxico. Es la parte inicial de leer y analizar el código fuente. El texto es leído y dividido en tokens, cada uno de los cuales corresponde a un símbolo en el lenguaje de programación, por ejemplo, el nombre de una variable, una palabra reservada oun número.

• Análisis sintáctico. En esta fase se toma una lista de tokens producida por el análisis léxico y los acomoda en una estructura de árbol llamada árbol sintáctico que refleja la estructura del programa. Esta fase también se llama parsing.

Análisis Semántico. El análisis semántico es posterior al sintáctico y mucho más difícil de formalizar que éste. Se trata de determinar eltipo de los resultados intermedios, comprobar que los argumentos que tiene un operador pertenecen al conjunto de los operadores posibles, y si son compatibles entre sí, etc. En definitiva, comprobará que el significado de lo que se va leyendo es válido.
La salida “teórica” de la fase de análisis semántico sería un árbol semántico. Consiste en un árbol sintáctico en el que cada una de sus ramas haadquirido el significado que debe tener. En el caso de los operadores polimórficos (un único símbolo con varios significados), el análisis semántico determina cuál es el aplicable. Por ejemplo, consideremos la siguiente sentencia de asignación:

A= B + C
En Pascal, el signo “+” sirve para sumar enteros y reales, concatenar cadenas de caracteres y unir conjuntos. El análisis semántico debecomprobar que B y C sean de un tipo común o compatible y que se les pueda aplicar dicho operador. Si B y C son enteros o reales los sumará, si son cadenas las concatenará y si son conjuntos calculará su unión.

• Verificación de tipos. En esta parte se analiza el árbol sintáctico para determinar si el programa viola ciertos requerimientos de consistencia, es decir, si una variable se utiliza pero nose declara, o si se usa en un contexto que no tiene sentido por el tipo de variable, tal como un string para utilizar un valor booleano como una función apuntador.

• Generación de código intermedio. El programa se traduce a un lenguaje simple independiente de la máquina.

• Ubicación de registros. Los nombres simbólicos de las variables utilizadas en el código intermedio se traducen a números,cada uno de ellos corresponde a un registro en el código máquina objetivo (de la máquina que va a ejecutar finalmente el programa).

• Generación de código máquina. El lenguaje intermedio se traduce al lenguaje ensamblador (una representación textual de código máquina) para una arquitectura de máquina específica.

• Ensamblado y Enlazado. El código en lenguaje ensamblador se traduce a unarepresentación binaria y se determina la dirección real de las variables, funciones, etc…
Un programa linker (enlazador), combina todos los módulos en el archivo objeto para formar un archivo ejecutable (figura 24). Un archivo ejecutable sí es un programa completo en sí mismo, es decir, no requiere hacer referencia al código fuente original. Esto significa que correrá más rápidamente, comparado...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Compiladores E Interpretes
  • Compiladores e interpretes
  • Interpretes Y Compiladores
  • Compiladores e Interpretes
  • interpretes y compiladores
  • Lenguaje Compilado E Interpretado
  • Compiladores e Interpretes 2 1
  • Compilado Vs Interpretado

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS