Un compilador es un programa que traduce código fuente escrito en un lenguaje de programación de alto nivel a un lenguaje de bajo nivel, como lenguaje de máquina, generando un programa equivalente que la máquina puede entender. Un compilador permite traducir el código fuente a un lenguaje inferior como lenguaje de máquina. El proceso de compilación implica convertir el código fuente en código objeto, unir los módulos y bibliotecas, asignar memoria, y generar un archivo ejecutable.