compiladores

Páginas: 9 (2046 palabras) Publicado: 22 de agosto de 2013
Compiladores
Es el tipo de traductor más conocido. Se trata de un programa que traduce código fuente escrito en un lenguaje de alto nivel (Pascal) en código máquina (no siempre). Son más rápidos que los intérpretes pero presentan mayor dificultad a la hora de detectar errores.
Un compilador es un programa que lee el código escrito en un lenguaje (lenguaje origen), y lo traduce o traduce en unprograma equivalente escrito en otro lenguaje (lenguaje objetivo). Como una parte fundamental de este proceso de traducción, el compilador le hace notar al usuario la presencia de errores en el código fuente del programa.

El compilador deriva su nombre de la manera en que trabaja, buscando en todo el código fuente, recolectando y reorganizando las instrucciones. Un compilador difiere de unintérprete en que el intérprete toma cada línea de código y la analiza y ejecuta mientras que el compilador mira el código por completo.
Los compiladores requieren de un tiempo antes de poder generar un ejecutable, sin embargo los programas creados con compiladores se ejecutan mucho más rápido que un mismo programa ejecutado con un intérprete.
Cada lenguaje de programación de alto nivel (excepto losestrictamente imperativos) viene con un compilador.
Dado que los compiladores traducen código fuente a código objeto, el cual es único para cada tipo de máquina, existen múltiples compiladores para un mismo lenguaje. Por ejemplo lenguaje C tiene un compilador para PC, otro para Apple
Macintosh, además existen muchas casas que desarrollan compiladores para una misma plataforma y un mismolenguaje, por ejemplo Microsoft y Borland tienen sus compiladores propios para lenguaje C.


Etapas del proceso de compilación:

1. Edición. Esta fase consiste en escribir el programa empleando algún lenguaje y un editor. Como resultado nos dará el código fuente de nuestro programa.

2. Compilación. En esta fase se traduce el código fuente obtenido en la fase anterior a código máquina. Si no seproduce ningún error se obtiene el código objeto.
En caso de errores el compilador los mostraría para ayudarnos a corregirlos y se procedería a su compilación de nuevo, una vez corregido.

3. Linkado. Esta fase consiste en unir el archivo generado en la fase dos con determinadas rutinas internas del lenguaje, obteniendo el programa ejecutable.

Existen dos tipos de linkados:

Linkado estático:Los binarios de las librerías se añaden a nuestros binarios compilados generando el archivo ejecutable.

Linkado dinámico: no se añaden las librerías a nuestro binario sino que hará que se carguen en memoria las librerías que en ese momento se necesiten.
Una vez traducido, compilado y linkado el archivo esta listo para su ejecución donde también podrán surgir problemas y fallos, para loscuales tendríamos que volver a realizar todo el proceso anteriormente citado, de modo que puedan ser corregidos.
Por este motivo es importante realizar numerosas pruebas en tiempo de ejecución antes de presentar el programa al cliente.


Partes de un compilador

Normalmente los compiladores están divididos en dos partes:

Front End: es la parte que analiza el código fuente, comprueba suvalidez, genera el árbol de derivación y rellena los valores de la tabla de símbolos. Esta parte suele ser independiente de la plataforma o sistema para el cual se vaya a compilar.

Back End: es la parte que genera el código máquina, específico de una plataforma, a partir de los resultados de la fase de análisis, realizada por el Front End.


Esta división permite que el mismo Back End se utilicepara generar el código máquina de varios lenguajes de programación distintos y que el mismo Front End que sirve para analizar el código fuente de un lenguaje de programaciónconcreto sirva para la generación de código máquina en varias plataformas distintas.
El código que genera el Back End normalmente no se puede ejecutar directamente, sino que necesita ser enlazado por un programa enlazador...
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