En la etapa final, creando un ciertoprograma, cualquier programador tiene que utilizar los servicios de un compilador. En la documentación técnica, a este programa se le da una definición bastante modesta como una utilidad que realiza la compilación. La compilación es el proceso de convertir un programa escrito en un lenguaje legible por humanos (lenguaje de alto nivel) en instrucciones legibles por máquina (un lenguaje de bajo nivel). Como resultado, obtenemos un programa que se acerca al código de máquina. Puede parecer un módulo de objeto, código absoluto. A veces, un programa de este tipo parece lenguaje ensamblador.
Por tanto, la compilación es cuando la entradaLa información (código fuente) que representa una descripción de algoritmo o un programa escrito en un lenguaje orientado a problemas se reescribe en una lista equivalente de comandos representados en código objeto (lenguaje orientado a máquina).
Para simplificar aún más la definición, compilar es traducir un programa de máquina de un lenguaje orientado a problemas a un lenguaje orientado a máquina.
A pesar de la transparencia y simplicidad de la definición,la compilación es un proceso bastante multifacético. Hay varios tipos de esto. La compilación por lotes se realiza en varios módulos de origen en un elemento de trabajo. La compilación línea por línea es lo mismo que la interpretación (compilación independiente paso a paso de cada declaración posterior). También hay compilación condicional. En este caso, el texto traducido depende de las condiciones que se especifican en el programa fuente mediante las directivas del compilador.
Al cambiar el valor de una determinada constante, puede ajustar la traducción activada o desactivada de una parte del texto del programa.
Para la conveniencia de los programadores, al resolver varios problemas, se utilizan los compiladores más convenientes y adaptados. Si los clasificamos, podemos distinguir varios tipos de tales utilidades.
El compilador de vectorización traduce el código fuente en código de computadora de máquina, ajustándose a los procesadores de vectores.
El compilador flexible se desarrolló en base aprincipio modular. Está gestionado por tablas. Está programado en un lenguaje de alto nivel. También se puede implementar utilizando un compilador compilador.
El compilador incremental vuelve a traducir los fragmentos del programa y las adiciones al mismo, mientras que se excluye la recompilación de todo el programa.
Un compilador interpretativo o paso a paso utiliza el principio de ejecución secuencial de compilación independiente para cada instrucción o comando individual del programa fuente.
Un compilador compilador es un traductor que toma una descripción formal de un lenguaje de programación. Es capaz de generar de forma independiente un compilador para un lenguaje específico.
El compilador de depuración puede corregir algunos tipos de errores de sintaxis por sí solo.
Al compilador residente se le asigna un lugar permanente en la RAM y está disponible cuando se reutiliza en una amplia gama de tareas.
Hay compiladores autocompilables. Están escritos en el mismo idioma desde el que se realiza la transmisión.
Un compilador universal se basa en una descripción formal de la semántica y la sintaxis del lenguaje de entrada. Consiste en un cargador central, sintáctico y semántico.
Las tareas más comunes, dondeLos compiladores encuentran su uso: es la compilación del kernel para la plataforma Linux. Esta operación le permite resolver una amplia gama de problemas asociados con la coordinación de equipos y configurar la versión más aceptable de la plataforma.
La compilación de Java se implementa utilizandocompiladores que se ejecutan en una amplia variedad de plataformas. Esto permite volver a compilar el código fuente para las necesidades de los sistemas operativos de diferentes fabricantes.