(1) que convierte un conjunto de instrucciones de lenguaje de alto nivel en una representación de nivel inferior. Por ejemplo, un compilador de ayuda convierte un documento de texto incrustado con los comandos apropiados en un sistema de ayuda en línea. Un compilador de diccionarios convierte términos y definiciones en un sistema de búsqueda de diccionarios.
(2) Software que traduce un programa escrito en un lenguaje de programación de alto nivel (C / C++, COBOL, etc.) en lenguaje de máquina. Un compilador generalmente genera primero el lenguaje ensamblador y luego traduce el lenguaje ensamblador al lenguaje máquina. Una utilidad conocida como» enlazador » combina todos los módulos de lenguaje de máquina necesarios en un programa ejecutable que se puede ejecutar en el equipo. Consulte optimización del compilador.
El siguiente es un ejemplo conceptual de código fuente convertido a lenguaje ensamblador y código máquina por el compilador:

 Source Code IF COUNT=10 GOTO END-OF-JOB ELSE GOTO COMPUTE-AGAIN ENDIF Assembly Language Machine Language Compare A to B Compare 3477 2883 If equal go to C If = go to 23732 Go to D Go to 23119 Machine Code 10010101001010001010100 10101010010101001001010 10100101010001010010010

_compasm.gif

De C al lenguaje ensamblador

Un compilador de C / C++ convierte el código de C y C++ en lenguaje ensamblador como se muestra en este ejemplo. Las flechas rojas apuntan a varias llamadas a funciones, y el código de ensamblado para realizar esas llamadas sigue a cada instrucción.

compile2.jpg

Compiladores e intérpretes

Los programas compilados (derecha) se traducen al lenguaje de máquina del equipo de destino. Los programas interpretados (izquierda y centro) se mantienen en su código fuente original o se precompilan en una forma intermedia. En ambos casos, se requiere un intérprete para traducir el programa al lenguaje de máquina en tiempo de ejecución, mientras que el programa compilado está «listo para funcionar».»

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *