Un compilador es un programa informático que traduce un programa que ha sido escrito en un lenguaje de programación a un lenguaje común, usualmente lenguaje de máquina, aunque también puede ser traducido a un código intermedio (bytecode) o a texto y que reúne diversos elementos o fragmentos en una misma unidad. Este proceso de traducción se conoce como compilación, compilar consiste en traducir un programa escrito en un cierto lenguaje a otro.