Monografias.com > Computación > Software
Descargar Imprimir Comentar Ver trabajos relacionados

Traductores de bajo nivel



Partes: 1, 2, 3, 4

Monografía destacada

  1. Traductores de bajo nivel
  2. Traductores de alto nivel
  3. Sistemas operativos
  4. Herramientas de configuracion analisis y operación del sistema de computo

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.

Monografias.com

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ó 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.

TRADUCTORES DE BAJO NIVEL SB1 Ensambladores. Función de un ensamblador. Estructuras de información necesarias. Procedimientos específicos para el proceso de ensamble. Pasadas del texto fuente. Tablas previamente construidas y tablas generadas en el ensamble. Tratamiento de operandos y modos de direccionamiento de la máquina objeto. Ensambladores residentes y cruzados. Ensamble condicional y su relación con el macroensamble.

SB2 Macroensambladores. Definición de macroinstrucciones en ensamblador. Expansión de macroinstrucciones. Macroinstrucciones con parámetros. Ensamble condicional. Macrollamadas. Tablas y pasos del macroensamblador. Relación con el ensamblador. SB3 Macroprocesadores. Macros: definición y expansión simple, paramétrica, con anidamiento, etc. Tablas asociadas. Bibliotecas de macros. Expansión condicional. Variables y operadores del proceso de expansión. Pasadas del texto fuente (preprocesamiento).

VENTAJAS Y DESVENTAJAS DEL LENGUAJE ENSAMBLADOR Una vez que hemos visto la evolución de los lenguajes, cabe preguntarse: ¿En estos tiempos "modernos", para qué quiero el Lenguaje Ensamblador? El proceso de evolución trajo consigo algunas desventajas, que ahora veremos como las ventajas de usar el Lenguaje Ensamblador, respecto a un lenguaje de alto nivel:

· Velocidad · Eficiencia de tamaño · Flexibilidad · Por otro lado, al ser un lenguaje más primitivo, el Ensamblador tiene ciertas desventajas respecto a los lenguajes de alto nivel:

· Tiempo de programación · Programas fuente grandes · Peligro de afectar recursos inesperadamente · Falta de portabilidad · Velocidad El proceso de traducción que realizan los intérpretes, implica un proceso de cómputo adicional al que el programador quiere realizar. Por ello, nos encontraremos con que un intérprete es siempre más lento que realizar la misma acción en Lenguaje Ensamblador, simplemente porque tiene el costo adicional de estar traduciendo el programa, cada vez que lo ejecutamos.

Partes: 1, 2, 3, 4

Página siguiente 

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.

Categorias
Newsletter