Los compiladores son programas que traducen un lenguaje de programación a otro. Toman un programa escrito en un lenguaje fuente y lo convierten en un programa equivalente en un lenguaje objeto. En el proceso de traducción, realizan análisis léxico, sintáctico, semántico y generan código intermedio y objeto, verificando errores en el lenguaje fuente.