Compiladores

Páginas: 5 (1080 palabras) Publicado: 12 de agosto de 2012
Existen dos tipos principales de traductores de los lenguajes de programación de alto nivel: Compilador e intérprete.
Existen dos tipos principales de traductores de los lenguajes de programación de alto nivel:
* Compilador, que analiza el programa fuente y lo traduce a otro equivalente escrito en otro lenguaje (por ejemplo, en el lenguaje de la máquina). Su acción equivale a la de untraductor humano, que toma un libro y produce otro equivalente escrito en otra lengua.
* Intérprete, que analiza el programa fuente y lo ejecuta directamente, sin generar ningún código equivalente. Su acción equivale a la de un intérprete humano, que traduce las frases que oye sobre la marcha, sin producir ningún escrito permanente. Intérpretes y compiladores tienen diversas ventajas einconvenientes que los hacen complementarios:
* Un intérprete facilita la búsqueda de errores, pues la ejecución de un programa puede interrumpirse en cualquier momento para estudiar el entorno (valores de las variables, etc.). Además, el programa puede modificarse sobre la marcha, sin necesidad de volver a comenzar la ejecución.
* Un compilador suele generar programas más rápidos y eficientes,ya que el análisis del lenguaje fuente se hace una sola vez, durante la generación del programa equivalente. En cambio, un intérprete se ve obligado generalmente a analizar cada instrucción tantas veces como se ejecute (incluso miles o millones de veces).
* Un intérprete permite utilizar funciones y operadores más potentes, como por ejemplo ejecutar código contenido en una variable en formade cadenas de caracteres. Usualmente, este tipo de instrucciones es imposible de tratar por medio de compiladores. Los lenguajes que incluyen este tipo de operadores y que, por tanto, exigen un intérprete, se llaman interpretativos. Los lenguajes compilativos, que permiten el uso de un compilador, prescinden de este tipo de operadores.

Un archivo fuente es el que contiene el texto del códigodel 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 en un archivo intermedio que se llama archivo objeto o archivocódigo objeto (figura 24). Elarchivo 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 fases se pueden combinar o dividir en otras fases o aún otras fases se pueden insertar, pero engeneral, 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 o un número.
· Análisis sintáctico. En esta fase se toma una lista de tokens producida por elaná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.
· 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 no se declara, o si se usa en un contexto que notiene 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...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Compiladores
  • Compilador
  • COMPILADORES
  • Compiladores
  • Compiladores
  • Compiladores
  • compiladores
  • Compiladores

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS