Mapas

Páginas: 5 (1058 palabras) Publicado: 21 de noviembre de 2012
 Compiladores e intérpretes 1.8

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 elarchivo fuente en un archivo intermedio que se llama archivo objeto o archivo código objeto

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]

 Análisis léxico. Es la parte inicial de leer y analizar elcó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 el análisis léxico y los acomoda en una estructura de árbol llamada árbol sintáctico que refleja laestructura 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 no tiene sentido por el tipo de variable, tal como un string para utilizar un valor booleanocomo 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 elprograma).

· 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 una representación binaria y se determina la dirección real de las variables, funciones, etcUn intérprete traduce un código fuente en lenguaje máquina también. El intérprete difiere del compilador en que ejecuta cada orden una vez que se traduce. Este proceso puede hacer más lenta la ejecución del programa, así que los intérpretes se utilizan menos que los compiladores. Un intérprete es otra manera de implementar un lenguaje de programación. La interpretación comparte muchos aspectos con elcompilador. Los análisis léxico, sintáctico y verificación de tipos son exactamente los mismos que en un compilador.

Pero en lugar de generar código del árbol sintáctico, el árbol sintáctico se procesa directamente para evaluar expresiones y ejecutar sentencias, y así hasta terminar. Un intérprete puede necesitar evaluar la misma parte del árbol sintáctico varias veces (por ejemplo cuando sehacen ciclos), por eso la interpretación puede ser más lenta que la ejecución de un programa compilado. Pero escribir un intérprete es más fácil de mover a una máquina diferente, así que para aplicaciones donde la velocidad no importa, lo mejor es utilizar un intérprete.

Es muy útil sabe cómo se hace un intérprete o un compilador, porque esto permite a los programadores tener una ideade lo que hacen los programas de alto nivel, lo que a su vez, ayudará a los programadores para crear código más eficiente. Otras razones. Los errores que devuelven los compiladores proporcionan una manera fácil de entender el código fuente; además, se conoce la diferencia entre errores léxicos, sintácticos, errores de tipos, y así.

Ejecutable...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Mapa
  • Mapa
  • Mapa
  • Mapa
  • mapas
  • mapa
  • mapas
  • Los Mapas

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS