Está en la página 1de 3

Que es un compilador

Un compilador es un pequeño programa informático, que se encarga de


traducir (compilar) el código fuente de cualquier aplicación que se esté
desarrollando. En pocas palabras, es un software que se encarga de
traducir el programa hecho en lenguaje de programación, a un lenguaje
de máquina que pueda ser comprendido por el equipo y pueda ser
procesado o ejecutado por este.

Partes de un compilador
Básicamente, un compilador cuenta con dos partes fundamentales:
El Front End y el Back 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.

Tipos de compiladores

Existen varios tipos de compiladores, los cuales se adecuan a los


requerimientos de los programadores 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.
a) Compilador cruzado. Genera un código ejecutable en un ordenador
distinto de aquel en que se realiza la compilación.

b) Compilador de montaje y ejecución. Se fragmenta el programa fuente


en módulos que se compilan por separado, y una vez compilados se unen
mediante un enlazador para formar un módulo ejecutable.

c) Compilador en una pasada. Examina el código fuente una sola vez,


generando el código objeto.

d) Compilador de pasadas múltiples Requiere varias lecturas del programa


fuente para producir y optimizar el código objeto.

e) Compilador de optimización.  Lee el código fuente, lo analiza, optimiza y


descubre errores potenciales sin ejecutar el programa.

f) Compilador incremental.  Compila el programa fuente, en caso de


detectar errores al volver a compilar el programa corregido, solo compila
las modificaciones que se han hecho respecto al primero.

g) Ensamblador. El lenguaje fuente es el lenguaje ensamblador.

h) Auto compilador. Es el compilador que está escrito en el mismo


lenguaje a compilar, básicamente nos sirve para hacer ampliaciones al
lenguaje, mejorar el código generado, etc.

 
i) Meta compilador.  “Compilador de compiladores”. Obtiene como
entrada la definición de un lenguaje y como salida el compilador para
dicho lenguaje

diagrama del compilador