COMPILADOR
Un compilador es un programa informático que traduce un programa
escrito en un lenguaje de programación a otro lenguaje
de programación, generando un programa equivalente que la máquina será capaz de
interpretar. Usualmente el segundo lenguaje es lenguaje de máquina, pero también puede ser un
código intermedio (bytecode), o simplemente texto. Este proceso de traducción se
conoce como compilación.
Un compilador es un programa que permite traducir el código fuente
de un programa en lenguaje de alto nivel, a otro lenguaje de
nivel inferior (típicamente lenguaje de máquina). De esta manera un
programador puede diseñar un programa en un lenguaje mucho más cercano a como
piensa un ser humano, para luego compilarlo a un programa más manejable
por una computadora.
PROCESO DE COMPILACIÓN
Es el proceso por el cual se traducen las instrucciones escritas en
un determinado lenguaje de programación a lenguaje máquina. Además de un
traductor, se pueden necesitar otros programas para crear un programa
objeto ejecutable. Un programa fuente se puede dividir en módulos
almacenados en archivos distintos. La tarea de reunir el programa fuente
a menudo se confía a un programa distinto, llamado preprocesador. El preprocesador también puede expandir abreviaturas, llamadas a macros, a proposiciones del lenguaje fuente.
Normalmente la creación de un programa ejecutable (un típico.exe para Microsoft Windows o DOS) conlleva dos pasos. El primer paso se llama compilación (propiamente dicho) y traduce el código fuente escrito en un lenguaje de programación
almacenado en un archivo a código en bajo nivel (normalmente en código
objeto, no directamente a lenguaje máquina). El segundo paso se llama enlazado
en el cual se enlaza el código de bajo nivel generado de todos los
ficheros y subprogramas que se han mandado compilar y se añade el código
de las funciones que hay en las bibliotecas del compilador para que el
ejecutable pueda comunicarse directamente con el sistema operativo,
traduciendo así finalmente el código objeto a código máquina, y generando un módulo ejecutable.
Estos dos pasos se pueden hacer por separado, almacenando el
resultado de la fase de compilación en archivos objetos (un típico.obj
para Microsoft Windows, DOS o para Unix);
para enlazarlos en fases posteriores, o crear directamente el
ejecutable; con lo que la fase de compilación se almacena sólo
temporalmente. Un programa podría tener partes escritas en varios
lenguajes (por ejemplo C, C++ y Asm), que se podrían compilar de forma independiente y luego enlazar juntas para formar un único módulo ejecutable.
No hay comentarios:
Publicar un comentario