Google Play badge

compiladores


COMPILADORES

Un compilador se refiere a un programa de computadora que se utiliza para traducir un código de computadora escrito en un lenguaje de programación (denominado lenguaje fuente) a otro lenguaje de programación (denominado lenguaje de destino). El término compilador se aplica principalmente a programas que traducen códigos fuente de un lenguaje de programación de alto nivel a un lenguaje de programación de nivel inferior. Por ejemplo, código máquina, código objeto o lenguaje ensamblador para crear un programa ejecutable.

Es importante tener en cuenta que existen muchos tipos diferentes de compiladores. En caso de que el programa que se compila pueda ejecutarse en una computadora cuyo sistema operativo o CPU sea diferente al que ejecuta el compilador, el compilador se denomina compilador cruzado. Por otro lado, un compilador bootstrap está escrito en el lenguaje que pretende compilar. Un descompilador es un programa que se utiliza para traducir un lenguaje de bajo nivel a un lenguaje de nivel superior. Un programa que se utiliza para traducir entre lenguajes de alto nivel se conoce como compilador de fuente a fuente. También se le puede denominar transpilador. Un programa que se encarga de traducir la forma de las expresiones sin cambio de idioma se conoce como reescritor de lenguaje. El término compilador-compilador se refiere a aquellas herramientas que se utilizan para crear analizadores responsables de realizar el análisis de sintaxis.

Algunas de las operaciones que realiza un compilador incluyen: preprocesamiento, análisis, (traducción dirigida por sintaxis), análisis semántico, análisis léxico, generación de código, optimización de código y conversión de programas de entrada en una representación intermedia. Los compiladores son responsables de implementar estas operaciones en diferentes fases que promueven transformaciones correctas y un diseño eficiente de la entrada de origen a la salida de destino. Los fallos del programa causados ​​por un comportamiento incorrecto del compilador pueden ser muy difíciles de localizar y solucionar. Por lo tanto, los implementadores del compilador invierten importantes esfuerzos para garantizar la corrección del compilador.

Es importante señalar que los compiladores no son los únicos traductores que se utilizan para transformar programas fuente. Se denomina intérprete a un software informático que se encarga de transformar y luego ejecutar las operaciones indicadas. El proceso de traducción influye en el diseño de los lenguajes informáticos, lo que conduce a una preferencia de interpretación o compilación. En la práctica, la implementación de un intérprete para compiladores y lenguajes compilados se puede implementar para lenguajes interpretados.

Tenga en cuenta que cuando se utiliza un compilador, se utiliza un proceso de dos pasos para ejecutar un programa,

LA CADENA DE HERRAMIENTAS DE COMPILACIÓN

Para programas grandes, el compilador es parte de una cadena de herramientas de varios pasos,

(preprocesador)- (compilador)- (ensamblador)- (enlazador)- (cargador).

ESTRUCTURA DE UN COMPILADOR

Los compiladores modernos se componen de dos partes principales. Cada una de estas partes suele estar subdividida. Estas dos partes principales son la parte delantera y la parte trasera.

El front-end es responsable de analizar el programa fuente, construye una representación intermedia del programa y determina sus partes constituyentes. Generalmente, la interfaz es independiente del idioma de destino.

El back-end, por otro lado, es responsable de sintetizar el programa de destino a partir de la representación intermedia producida por el front-end. Generalmente, se dice que el back-end es independiente del idioma de origen.

Download Primer to continue