compilador
Un compilador es un programa informático que transforma un código fuente escrito en un lenguaje de programación en otro lenguaje informático. Para que sea explotada por la máquina, el compilador traduce el código fuente, escrito en un lenguaje de alto nivel de abstracción, fácilmente entendido por el humano, a un lenguaje de nivel inferior, un lenguaje de ensamblaje o lenguaje de máquina. En el caso del lenguaje semi-compilado, el código fuente se traduce a un lenguaje intermedio, en forma binaria, antes de ser interpretado o compilado. Por el contrario, un programa que traduce un lenguaje de bajo nivel a un lenguaje de nivel superior es un descompilador. Un compilador realiza las siguientes operaciones: análisis léxico, preprocesamiento, análisis sintáctico, análisis semántico, generación de código y optimización de código. Cuando el programa compilado se puede ejecutar en una computadora cuyo procesador o sistema operativo es diferente del compilador, se llama compilación cruzada. A menudo, la compilación es seguida por un paso de edición de vínculos, para generar un archivo ejecutable.