martes, 22 de febrero de 2011

TRADUCTOR

Un traductor es cualquier programa que toma como entrada un texto escrito en un
lenguaje, llamado fuente y da como salida otro texto en un lenguaje, denominado
objeto.
En el caso de que el lenguaje fuente sea un lenguaje de programación de alto
nivel y el objeto sea un lenguaje de bajo nivel (ensamblador o código de máquina),
a dicho traductor se le denomina compilador. Un ensamblador es un compilador
cuyo lenguaje fuente es el lenguaje ensamblador. Un intérprete no genera un
programa equivalente, sino que toma una sentencia del programa fuente en un
lenguaje de alto nivel y la traduce al código equivalente y al mismo tiempo lo
ejecuta. Históricamente, con la escasez de memoria de los primeros ordenadores,
se puso de moda el uso de intérpretes frente a los compiladores, pues el programa
fuente sin traducir y el intérprete juntos daban una ocupación de memoria menor
que la resultante de los compiladores. Por ello los primeros ordenadores
personales iban siempre acompañados de un intérprete de BASIC (Spectrum,
Commodore VIC-20, PC XT de IBM, etc.). La mejor información sobre los errores
por parte del compilador así como una mayor velocidad de ejecución del código
resultante hizo que poco a poco se impusieran los compiladores. Hoy en día, y con
el problema de la memoria prácticamente resuelto, se puede hablar de un gran
predominio de los compiladores frente a los intérpretes, aunque intérpretes como
los incluidos en los navegadores de Internet para interpretar el código JVM de
Java son la gran excepción.

No hay comentarios:

Publicar un comentario