Este documento describe diferentes tipos de compiladores, incluyendo compiladores cruzados, de montaje y ejecución, de una o múltiples pasadas, de optimización e incremental. También describe ensambladores, auto-compiladores y meta-compiladores. Explica las ventajas de los compiladores como que se compila una vez y se ejecuta muchas veces y generan código optimizado, pero también sus desventajas como el uso de más memoria.
TIPOS , VENTAJASY DESVENTAJAS
▪ Compilador cruzado.
Genera un código ejecutable en un ordenador distinto de aquel en que
se realiza la compilación.
▪ 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.
3.
TIPOS , VENTAJASY DESVENTAJAS
▪ Compilador en una pasada.
Examina el código fuente una sola vez, generando el código objeto.
▪ Compilador de pasadas múltiples
Requiere varias lecturas del programa fuente para producir y optimizar
el código objeto.
▪ Compilador de optimización.
Lee el código fuente, lo analiza, optimiza y descubre errores
potenciales sin ejecutar el programa.
4.
TIPOS , VENTAJASY DESVENTAJAS
▪ 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.
▪ Ensamblador.
El lenguaje fuente es el lenguaje ensamblador.
▪ 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. Lee el código fuente, lo analiza, optimiza y descubre errores
potenciales sin ejecutar el programa.
5.
TIPOS , VENTAJASY DESVENTAJAS
▪ Meta compilador.
▪ “Compilador de compiladores”. Obtiene como entrada la definición
de un lenguaje y como salida el compilador para dicho lenguaje.
6.
VENTAJAS Y DESVENTAJAS
▪VENTAJAS
▪ Se compila una vez, se ejecuta n veces.
▪ En bucles, la compilación genera código equivalente al bucle, pero
interpretándolo se traduce tantas veces una línea como veces se repite el
bucle.
▪ El compilador tiene una visión global del programa, por lo que la
información de mensajes de error es mas detallada.
▪ Genera un ejecutable
▪ El proceso de traducción se realiza una sola vez
▪ La ejecución es muy rápida debido a que el programa ya ha sido traducido a
código máquina
7.
VENTAJAS Y DESVENTAJAS
▪DESVANTAJAS
▪ Un compilador consume bastante memoria.
▪ En principio eran más abundantes dado que los ordenadores tenían
poca memoria.
▪ Permiten una mayor interactividad con el código en tiempo de
desarrollo.