Un compilador es un programa que traduce código fuente escrito en un lenguaje de programación de alto nivel a otro lenguaje de nivel inferior, como lenguaje de máquina o código intermedio. El proceso de compilación incluye análisis léxico, sintáctico y semántico del código fuente, seguido de la generación de código objeto o de máquina equivalente. Los compiladores dividen este proceso en fases como análisis, síntesis y generación de código para traducir de manera efectiva