Este documento explica las diferencias entre traductores, ensambladores, interpretadores y compiladores. Los traductores convierten un lenguaje fuente a un lenguaje objetivo. Los ensambladores traducen código ensamblador a código máquina ejecutable por un microprocesador. Los interpretadores traducen e interpretan instrucciones una a una al ejecutar un programa, lo que los hace más lentos que los compiladores. Los compiladores analizan un programa escrito en un lenguaje de programación y lo traducen a otro lenguaje, general
4. Diferencias entre Traductores,
Ensambladores, Interpretadores y
Compiladores.
Traductores Ensambladores Interpretadores Compiladores
Toma el texto escrito en
lenguaje fuente y lo convierte
en el texto equivalente en el
lenguaje destino u objeto.
Traduce un fichero fuente
escrito en un lenguaje
ensamblador, a un fichero
objeto que contiene código
máquina, ejecutable
directamente por el
microprocesador
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.
Los programas interpretados
suelen ser más lentos que los
compilados debido a la
necesidad de traducir el
programa mientras se ejecuta
Son más flexibles como
entornos de programación y
depuración
Uno de los entornos más
comunes de uso de los
intérpretes es en los
navegadores web, debido a la
posibilidad que estos tienen de
ejecutarse independientemente
de la plataforma.
Analiza y ejecutar otros
programas.
Traduce un programa que ha
sido escrito en un lenguaje de
programación a un lenguaje
diferente, usualmente lenguaje
de máquina, aunque también
puede ser traducido a un
código intermedio (bytecode) o
a texto.
Lee el fichero escrito en
lenguaje ensamblador y
sustituye cada uno de los
códigos nemotécnicos que
aparecen por su código de
operación correspondiente
en sistema binario.
Las instrucciones y el
código en sí a traducir ,
varia con el modelo de
microprocesador.
Realiza una traducción
más o menos isomorfa
(un mapeo de uno a
uno) desde las
sentencias mnemónicas
a las instrucciones y
datos de máquina.
Con los lenguajes de alto nivel,
una sola declaración
generalmente da lugar a
muchas instrucciones de
máquina.
La construcción de un
compilador involucra la división
del proceso en una serie de
fases que variará con su
complejidad.
Los compiladores
ocasionalmente encuentran útil
generar archivos intermedios
durante alguna de las etapas
del procesamiento. Algo típico
de estos es la necesidad de
direcciones de corrección hacia
atrás durante la generación de
código.
Los traductores pueden ser
de dos tipos: compiladores e
intérpretes