Professional Documents
Culture Documents
COMPPILADORES INTERPRETES
Un compilador es un programa o Un interpretador es un programa
DEFINICION una herramienta cuya función es informático capaz de analizar y
compilar; es decir es aquel que toma ejecutar otros programas, escritos
un texto o código fuente escrito en en un lenguaje de alto nivel. Los
un lenguaje de alto nivel y lo traduce intérpretes se diferencian de los
a un lenguaje compresible para las compiladores en que mientras estos
computadoras. traducen un programa desde su
descripción en un lenguaje de
programación al código de máquina
del sistema, los intérpretes sólo
realizan la traducción a medida que
sea necesaria, típicamente,
instrucción por instrucción, y
normalmente no guardan el
resultado de dicha traducción.
Generalmente un compilador se Los programas interpretados suelen
CARACTERISTICAS divide en dos partes:* Front End: ser más lentos que los compilados
parte que analiza e l código fuente, debido a la necesidad de traducir el
comprueba su validez, genera el programa mientras se ejecuta, pero
árbol de derivación y rellena los a cambio son más flexibles como
valores de la tabla de símbolos. entornos
Parte que suele ser independiente de programación y depuración (lo
de la plataforma o sistema operativo que se traduce, por ejemplo, en una
para el que funcionará.* Back End: mayor facilidad para reemplazar
parte en donde se genera el código partes enteras del programa o
máquina exclusivo para una añadir módulos completamente
plataforma a partir de lo analizado nuevos), y permiten ofrecer al
en el frontend. programa interpretado un entorno
Por lo general el resultado del back no dependiente de la máquina
end no puede ser ejecutado donde se ejecuta el intérprete, sino
directamente, se necesita pasar por del propio intérprete (lo que se
un proceso de enlazado conoce comúnmente como máquina
(linker).Existen varios tipos de virtual).
compiladores: Compiladores
cruzados, Compiladores
optimizadores, Compiladores de una
sola pasada, Compiladores de
varias pasadas, Compiladores JIT
(Just In Time).
De esta manera un programador
puede diseñar un programa en un
lenguaje mucho más cercano a
como piensa un ser humano, para
luego compilarlo a un programa más
manejable por una computadora.
VENTAJAS
Se compila una vez, se ejecuta n El programa se puede ejecutar de
veces. inmediato, sin esperar a ser
compilado.
En bucles, la compilación genera
código equivalente al bucle, pero • Puede ser interrumpido con
interpretándolo se traduce tantas facilidad.
veces una línea como veces se
repite el bucle. • puede ser rápidamente modificado
y ejecutado nuevamente.
El compilador tiene una visión global
del programa, por lo que la
información de mensajes de error es • Resultan muy apropiados durante
mas detallada. Ventajas del la fase de desarrollo de un
intérprete frente al compilador: programa, ya que la compilación no
permite la ejecución paso a paso del
Un intérprete necesita menos programa y con ello impide la
memoria que un compilador. En edición seguimiento y depuración
principio eran más abundantes dado del programa.
que los ordenadores tenían poca
memoria.
DESVENTAJAS
La ejecución es más lenta, pues
cada intrucción debe ser traducida a
código máquina tantas veces como
sea ejecutada.