Un compilador o traductor de programas es un programa que transforma el código escrito en un idioma a otro idioma. El el código de entrada se llama código fuente, mientras que el código traducido es código de máquina.
Un compilador traduce lenguajes de programación de alto nivel (p. ej., Java, C++) a un lenguaje de bajo nivel (como Asamblea) para crear un programa ejecutable.