Básicamente, un compilador cuenta con dos partes fundamentales: El Front End y elBack End. Estas partes se complementan para lograr el objetivo del compilador. A continuación, describiremos cada una de estas partes:
Front End: El Front End es la parte del compilador que interactúa con el usuario y por lo general, es independiente de la plataforma en la que se trabaja. Se encarga de realizar el análisis del código fuente a compilar y verifica que este sea válido, así como también, genera el árbol de derivación y rellena los valores de la tabla de símbolos.
Back End: Esta parte del compilador es la encargada de generar el código en formato de máquina, a partir del trabajo hecho por el Front End.
Existen varios tipos de compiladores, los cuales se adecuan a los requerimientos de losprogramadores. Podemos destacar los compiladores cruzados, compiladores optimizadores, compiladores de una sola pasada y de varias pasadas, compiladores JIT y los conocidos intérpretes, que traducen el código del programa en tiempo real.
Cada uno de estos compiladores, se adecua a un lenguaje en específico o a varios. Algunos son de código abierto, otros son de licencia propietaria. La versatilidad de unos los hace mucho más populares que otros, pero a grandes rasgos, el escoger un determinado compilador dependerá de los requerimientos de cada usuario.
Importancia de los compiladores
La importancia de los compiladores radica en que, sin estos programas no existiría ninguna aplicación informática, ya que son la base de la programación en cualquier plataforma.