La etapa final de la creación de un programa estraducción de un algoritmo escrito en uno de los lenguajes de programación (C / C ++, Pascal, etc.) a un lenguaje máquina de bajo nivel. Esto se debe al hecho de que las computadoras para realizar cualquier tarea necesitan configurar comandos en un lenguaje que comprendan, cercano al binario y operando con estructuras de datos primitivas (bit, byte o palabra). El proceso de traducir los operadores orientados a problemas de lenguajes de alto nivel a código binario se llama traducción. Hay dos métodos de traducción: compilación e interpretación.
Compilador: ¿qué es?
Un análisis de las muchas interpretaciones de los términos "compilador" y "compilación" nos permite destacar la siguiente definición. Compilador Es un programa diseñado para traducirel texto del algoritmo original de un lenguaje de alto nivel en un conjunto equivalente de instrucciones en un lenguaje orientado a la máquina. Este es el llamado código objeto, para la vinculación posterior del código objeto resultante en un módulo de programa listo para usar.
Compilador e intérprete: similitudes y diferencias
Interprete Es una utilidad, como un compilador,diseñado para traducir el código fuente a código de máquina. Sin embargo, a diferencia del compilador, el intérprete se lanza cada vez con el programa y realiza la traducción línea por línea.
Podemos decir que un compilador y un intérprete son procesadores de lenguaje que permiten que una máquina de computación reconozca y ejecute instrucciones dadas por un programador.
Clasificación del compilador
Los compiladores se clasifican principalmente según las características asociadas con las áreas de su aplicación práctica.
Compilador de vectorización Es una utilidad que traduce código fuente en código objeto y está adaptada para computadoras equipadas con procesadores vectoriales.
Compilador flexible programado en lenguaje de alto nivel de forma modular. Su gestión se realiza mediante tablas. También es posible ejecutarlo con un compilador compilador.
Compilador incremental Es un procesador de lenguaje que vuelve a traducir fragmentos individuales del código fuente y adiciones al mismo. Sin embargo, elimina la necesidad de volver a compilar toda la aplicación.
Compilador de interpretación (paso a paso) Es una utilidad que compila de forma independiente cada instrucción o comando del código fuente de alto nivel de forma secuencial.
Compilador compilador - un traductor capaz de aceptar una descripción formal de un lenguaje de programación y generar de forma independiente un compilador para cualquier lenguaje.
Compilador de depuración le permite encontrar y eliminar algunos tipos de errores de sintaxis que se cometen al escribir el código fuente
Compilador residente ocupa un lugar permanente en la RAM y, por tanto, está disponible para su reutilización en una amplia gama de tareas.
Compilador autocompilable escrito en el mismo idioma desde el que se realiza la transmisión.
Compilador genérico se basa en una descripción formal de los parámetros semánticos y sintácticos del lenguaje de entrada. Los componentes principales de dicha utilidad son los cargadores de kernel, sintácticos y semánticos.
Dispositivo compilador
Cualquier compilador se basa en un traductor yenlazador. A menudo, al compilar, se utiliza un enlazador externo y el propio compilador solo realiza la función de traducción. También ocurre que el compilador se implementa como una especie de programa administrador asociado con el traductor (o traductores, si se usaron diferentes lenguajes de programación al escribir el código fuente) y el enlazador, y comienza su ejecución si es necesario.
Lenguajes de programación y métodos de traducción
A pesar de que el programa escrito encualquier lenguaje de programación, se puede compilar e interpretar, muchos lenguajes de alto nivel tienen predisposición a uno u otro método de traducción. Entonces, el lenguaje C fue diseñado originalmente para la compilación y Java, para la interpretación del programa escrito. Los compiladores del lenguaje C se desarrollan con bastante facilidad, debido a su nivel relativamente bajo y a una pequeña cantidad de elementos estructurales.
Ventajas y desventajas de los compiladores e intérpretes. Áreas de uso
Tenga en cuenta que las aplicaciones compiladas tienenmayor velocidad en comparación con los interpretados, pero al mismo tiempo el código de máquina de compilación resultante depende de la plataforma de hardware. Por tanto, un programa escrito y compilado para Windows no funcionará, por ejemplo, en Linux. Por tanto, en el caso de las aplicaciones de Internet, cuando es imposible decir de antemano en qué entorno van a funcionar, utilizan interpretación o bytecode (en este caso, el programa original se convierte en una forma intermedia que se puede ejecutar en varios hardware plataformas).