Un compilador es una herramienta que sirve para pasar código de alto nivel a bajo nivel de abstracción en otras palabras pasar de un lenguaje de programación como java o C a código de assembler.