Unidad 1: TRADUCTORES DE BAJO NIVEL
¿QUÉ ES UN 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.
Ventajas de compilar frente a interpretar:
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
Ventajas del intérprete frente al compilador:
Un intérprete necesita menos memoria que un compilador. 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.
Un compilador no es un programa que funciona de manera aislada, sino que
necesita de otros programas para conseguir su objetivo: obtener un programa
ejecutable a partir de un programa fuente en un lenguaje de alto nivel. Algunos de
esos programas son el preprocesador, el linker, el depurador y el ensamblador. El
preprocesador se ocupa (dependiendo del lenguaje) de incluir ficheros, expandir
macros, eliminar comentarios, y otras tareas similares. El linker se encarga de
construir el fichero ejecutable añadiendo al fichero objeto generado por el
compilador las cabeceras necesarias y las funciones de librería utilizadas por el
programa fuente. El depurador permite, si el compilador ha generado
adecuadamente el programa objeto, seguir paso a paso la ejecución de un
programa. Finalmente, muchos compiladores, en vez de generar código objeto,
generan un programa en lenguaje ensamblador que debe después convertirse en
un ejecutable mediante un programa ensamblador.
Ramírez Resendiz Baldemar
Ruíz Morales Roberto C.
Martínez Ramírez Pedro F.
Guzmán Gutiérrez Pedro A.
eter_g_g66[arroba]hotmail.com
Ingrese el e-mail y contraseña con el que está registrado en Monografias.com
Trabajos relacionados
Ver mas trabajos de Software |
|
Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.
Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.