Un
compilador acepta programas escritos en un
lenguaje de alto nivel y los traduce a otro lenguaje, generando un programa equivalente independiente, que puede ejecutarse tantas veces como se quiera. Este proceso de traducción se conoce como
compilación.
En un
compilador hay que distinguir tres lenguajes diferentes tales como:
● el de los programas de partida (LA)
● el de los programas equivalentes traducidos (LB), normalmente el
lenguaje de máquina ● el lenguaje en que está escrito el propio
compilador (LC), que puede ser igual o diferente a LA. Aumenta la portabilidad del
compilador si está escrito en el mismo lenguaje, es decir, se puede compilar a sí mismo.