1. Inicio
  2. Tecnología
  3. Compilador

Significado de Compilador

Sustantivo masculino. De «compilar» (del latín compilare, «recopilar, reunir») más el sufijo «-dor»; traduce el inglés compiler.

Un compilador es un programa que traduce el código fuente escrito por un programador en un lenguaje de alto nivel a lenguaje máquina, antes de que el programa se ejecute.

El resultado de esa traducción es un archivo ejecutable, independiente del compilador que lo generó, que el ordenador puede correr directamente sin necesidad de volver a traducir el código cada vez.

Qué es un compilador

Un compilador no ejecuta el programa: lo traduce por completo a otro lenguaje, casi siempre lenguaje máquina o un código intermedio, y entrega un resultado que después se ejecuta por separado. Esto lo distingue del intérprete, que traduce y ejecuta el código línea a línea, sin generar antes un archivo ejecutable independiente.

Durante ese proceso, el compilador también revisa el código en busca de errores de sintaxis y de algunos errores de tipo, y detiene la compilación si encuentra alguno; por eso muchos fallos se descubren antes de que el programa llegue a ejecutarse ni una sola vez.

Lo usan a diario los programadores que trabajan con lenguajes como C, C++ o Java, y lo construyen especialistas en compiladores, una rama de la informática que combina lingüística formal, matemáticas discretas y conocimiento del hardware sobre el que va a correr el programa final.

Origen de la palabra compilador

De «compilar», del latín compilare, «recopilar, saquear», formado sobre com-, «junto», y pilare, «despojar, robar»; en español clásico ya se usaba con el sentido de «reunir en una obra materiales de otros». El sustantivo «compilador» traduce el inglés compiler, acuñado en los primeros años de la informática para el programa que reunía y traducía las instrucciones de un lenguaje a otro.

El término se difundió en español a partir de la década de 1950, cuando aparecieron los primeros lenguajes de programación de alto nivel y se necesitó un programa capaz de convertir ese código, más cercano al lenguaje humano, en las instrucciones binarias que entiende un ordenador.

Fases de la compilación

FaseEn qué consiste
Análisis léxicoDivide el código en unidades mínimas, como palabras clave, nombres y símbolos.
Análisis sintácticoComprueba que esas unidades siguen la gramática del lenguaje.
Análisis semánticoRevisa que las instrucciones tengan sentido, por ejemplo que los tipos de datos coincidan.
Generación de códigoTraduce el programa a lenguaje máquina o a un código intermedio.
OptimizaciónMejora el código generado para que se ejecute más rápido o use menos memoria.

Si el código no supera alguna de las primeras fases, el compilador detiene el proceso y muestra un mensaje de error en lugar de generar un programa ejecutable.

Ejemplos de uso de compilador

El compilador marcó un error en la línea 42 antes de generar el programa.

Cambiaron de compilador para aprovechar una mejor optimización del código.

El código se compila una sola vez y después se ejecuta sin necesidad de traducirlo de nuevo.

El nuevo compilador redujo notablemente el tiempo que tardaba el programa en construirse.

Tuvo que instalar el compilador correspondiente antes de poder construir el proyecto en su equipo.

Sinónimos y palabras relacionadas

Sinónimos: traductor de código, en un sentido más general.

Antónimos: no tiene antónimo propiamente dicho; por contraste funcional se opone al intérprete.

No es lo mismo que:

Preguntas frecuentes sobre compilador

¿Para qué sirve un compilador?

Sirve para convertir el código que escribe un programador, en un lenguaje legible para las personas, en instrucciones que el ordenador puede ejecutar directamente, además de revisar el código en busca de errores antes de esa ejecución.

¿Todos los lenguajes de programación necesitan un compilador?

No. Algunos lenguajes se ejecutan mediante un intérprete, que traduce el código sobre la marcha, y otros combinan ambos enfoques, compilando primero a un código intermedio que después interpreta o compila una segunda herramienta.

¿Qué diferencia hay entre compilar y ejecutar un programa?

Compilar es el proceso de traducir el código fuente a un programa ejecutable; ejecutar es correr ese programa ya traducido. Con un compilador, ambos pasos suceden por separado y no es necesario repetir la compilación cada vez que se ejecuta el programa.

Ver también