Compilador Diseo - Descripcin General



Los ordenadores son una mezcla equilibrada de software y hardware. Hardware es slo un trozo de dispositivo mecnico y sus funciones estn siendo controlados por un software compatible. Hardware entiende instrucciones en forma de carga electrnica, que es la contrapartida de lenguaje binario en programacin de software. Lenguaje binario slo tiene dos alfabetos, 0 y 1. Instruir a los cdigos, el hardware debe ser escrito en formato binario, que es simplemente una serie de 1s y 0s. Sera una tarea difcil y engorroso para los programadores de computadoras para escribir los cdigos de este tipo, que es la razn por la cual hemos compiladores para escribir esos cdigos.

Sistema procesamiento de lenguaje

Hemos aprendido que cualquier sistema informtico est compuesto por hardware y software. El hardware comprende un idioma, que los seres humanos no pueden comprender. Por lo tanto, escribir programas en lenguaje de alto nivel, que es ms fcil para nosotros comprender y recordar. Estos programas son alimentados en una serie de herramientas y componentes de sistema operativo para obtener el cdigo deseado que puede ser utilizada por la mquina. Esto es lo que se conoce como Sistema de procesamiento lingstico.

Sistema de Procesamiento del Lenguaje

El lenguaje de alto nivel se convierte en lenguaje binario en distintas fases. Un compilador es un programa que convierte lenguaje de alto nivel a lenguaje ensamblador. De manera similar, un ensamblador es un programa que convierte el lenguaje ensamblador a lenguaje mquina.

En primer lugar vamos a entender cmo un programa, con compilador de C, se ejecuta en un equipo host.

  • Usuario escribe un programa en lenguaje C (lenguaje de alto nivel).

  • El compilador de C, compila el programa y lo traduce al programa de la asamblea (de bajo nivel).

  • Un ensamblador traduce el programa de la asamblea en el cdigo mquina (objeto).

  • Una herramienta se utiliza para vincular a todas las partes del programa juntos para la ejecucin (cdigo mquina ejecutable).

  • Un cargador carga todos ellos en la memoria y, a continuacin, se ejecuta el programa.

Antes de adentrarnos en los conceptos de compiladores, tenemos que entender algunas otras herramientas que trabajan de cerca con los compiladores.

Preprocesador

UN preprocesador, que generalmente se considera como una parte del compilador, es una herramienta que produce entradas para compiladores. Se trata de macro-transformacin, ampliacin, inclusin de archivos, extensin del lenguaje, etc.

Intrprete

Un intrprete, como un compilador, se traduce lenguaje de alto nivel a bajo nivel de lenguaje mquina. La diferencia radica en la manera en que leen el cdigo fuente o a la entrada. Un compilador lee todo el cdigo fuente a la vez, crea los tokens, cheques semntica, genera cdigo intermedio, ejecuta el programa en su totalidad y puede implicar muchos pases. Por el contrario, un intrprete lee en un comunicado desde la entrada, se convierte en un cdigo intermedio, ejecuta, luego toma la siguiente declaracin en secuencia. Si se produce un error, un intrprete se detiene la ejecucin y de los informes que, mientras que un compilador lee todo el programa, incluso si se encuentra con varios errores.

Ensamblador

Un ensamblador traduce los programas en lenguaje ensamblador a cdigo mquina.La salida de un ensamblador se denomina un archivo objeto que contiene una combinacin de instrucciones de mquina, as como los datos necesarios para realizar estas instrucciones en la memoria.

Vinculador

Linker es un programa de ordenador que los enlaces y combina varios archivos objeto junto con el fin de hacer un archivo ejecutable. Todos estos archivos podran haber sido compilados por separado los ensambladores. La tarea principal de un linker es buscar y localizar/rutinas mdulo al que se hace referencia en el programa y para determinar la ubicacin de la memoria en estos cdigos se ha cargado, con lo que el programa de instruccin referencias absolutas.

Pala cargadora

Loader es una parte del sistema operativo y es el responsable de cargar archivos ejecutables en la memoria y las ejecutan. Calcula el tamao de un programa (instrucciones y datos) y crea espacio de memoria. Inicializa distintos registros para iniciar ejecucin.

Compilador cruzado

Un compilador que se ejecuta en la plataforma (A) y es capaz de generar cdigo ejecutable de la plataforma (B) se llama un compilador cruzado.

Fuente de compilador de cdigo

Un compilador que tiene el cdigo fuente de un lenguaje de programacin y se traduce en el cdigo fuente de otro lenguaje de programacin se llama una fuente de fuente compilador.

Advertisements