Tipo de lenguaje de alto nivel; es un traductor que toma un programa en el lenguaje de alto nivel y lo traduce completo en un programa en lenguaje de máquina. Difiere del intérprete, en que este último traduce instrucción para ser ejecutada inmediatamente por la computadora.