Está en la página 1de 17

1.

4 TRADUCTOR Y SU ESTRUCTURA

QU ES UNA TRADUCTOR?

Un traductor es un mediador entre dos entidades: emisoras y receptoras, los mediadores enmascaran la complejidad y heterogeneidad de los lenguajes.

Un traductor convierte un lenguaje de entrada (cdigo fuente) a una de salida (cdigo objeto).

1. 4. 1 ENSAMBLADORES

Ensamblador se refiere a un tipo de programa, informtico que se encarga de traducir un fichero fuente escrito en un lenguaje ensamblador, a un fichero objeto que contiene cdigo mquina ejecutable directamente por la mquina para la que se ha generado. Ejemplos: MASM

FUNCIN DE UN ENSAMBLADOR:

La tarea fundamental de un ensamblador es traducir un programa en lenguaje de ensamblador al cdigo correspondiente en lenguaje de mquina.

MOTIVOS PARA USAR ENSAMBLADOR

Mayor control de la computadora. Independencia de lenguaje. La mayora de las computadoras pueden ensamblar. Los programas hechos en lenguaje ensamblador son generalmente ms rpidos y consumen menos recursos del sistema.

MOTIVOS PARA NO UTILIZAR

Demasiado complejo. Comprensin ms profunda de la computadora. Errores ms frecuentes en el programa. Mayor tiempo de codificacin. Difcilmente portable, es decir, un cdigo escrito para un microprocesador en particular necesita ser modificado muchas veces en su totalidad para poder ser usado en otro microprocesador.

TIPOS DE ENSAMBLADORES

ENSAMBLADORES CRUZADOS: Se denominan as a los ensambladores que se utilizan en una computadora que posee el procesador diferente al que tendrn las computadoras donde se va a ejecutar el programa objeto producido. ENSAMBLADORES RESIDENTES: Son aquellas que permanecen en la memoria principal de la computadora y cargar para su ejecucin al programa objeto producido.

MICRO ENSAMBLADORES: Al programa que indica al intrprete de instrucciones de la CPU como debe actuar se le denomina microprograma. El programa que ayuda a realizar este microprograma se llama micro ensamblador.

MACRO ENSAMBLADORES: Son ensambladores que permiten el uso de macroinstrucciones.

ENSAMBLADORES DE UNA FASE: leen una lnea y la traducen directamente para producir una instruccin de lenguaje maquina o la ejecuta si se trata de una pseudosinstruccin. Se construye la tabla de smbolos a medida que aparecen las definiciones de variables, etiquetas, etc. ENSAMBLADORES DE DOS FASES: Realiza la traduccin en dos etapas: 1 fase leen el programa fuente y construyen la tabla de smbolos, 2 fase vuelve a leer el programa fuente y pueden ir traduciendo totalmente pues reconocen la totalidad de los smbolos.

1. 4. 2 COMPILADORES

Un compilador es querer traducir un programa de un lenguaje de alto nivel, a otro lenguaje de nivel inferior (tpicamente lenguaje mquina).

Los compiladores son programas o herramientas encargadas de compilar. Un compilador toma un texto (cdigo fuente) escrito en un lenguaje de alto nivel y lo traduce a un lenguaje comprensible por las computadoras (cdigo objeto).

FASES DEL COMPILADOR

CLASIFICACIN DE COMPILADORES

DE UNA PASADA: Examina el cdigo fuente una vez, generando el cdigo o programa objeto.

PASADAS MLTIPLES: Requiere pasos intermedios para producir cdigo en otro lenguaje y una pasada final para producir y optimizar el cdigo producido durante pasos anteriores.

COMPILADORES INCREMENTALES: Generan un cdigo objeto, instruccin por instruccin cuando el usuario teclea cada orden individual. COMPILADOR CRUZADO: Se genera cdigo en lenguaje objeto para una maquina diferente a la que se esta utilizando para compilar.

COMPILADOR CON MONTADOR: Compila distintos mdulos de forma independiente y despus es capaz de aplazarlos.

AUTO COMPILADORES: Compilador que esta escrito en el mismo lenguaje que va a compilar. META COMPILADOR: Es programa que recibe como entrada las especificaciones del lenguaje para el que se desea obtener un compilador y genera como salida el compilador para ese lenguaje.

DESCOMPILADOR: Es un programa que acepta como entrada cdigo maquina y la traduce a un lenguaje de alto nivel realizando el proceso inverso a la compilacin.

1.4.3 INTERPRETES

Un intrprete es un programa capaz de analizar y ejecutar otros programas, escritos en un lenguaje de alto nivel. Los intrpretes suelen contraponerse a los compiladores, ya que mientras que los segundos se encargan de traducir un programa desde su descripcin en un lenguaje de programacin al cdigo mquina del sistema destino, los primeros slo realizan la traduccin a medida que sea necesario y normalmente, no guardan el resultado de dicha traduccin.

JavaScript, BASIC, LISP, Smalltalk y Python son ejemplos de lenguajes que son normalmente interpretados en vez de compilados.

EL INTRPRETE TIENE ESTAS CARACTERSTICAS

Traduce y ejecuta una lnea del programa a la vez. Si hay error, detiene ejecucin del programa Programas ms lentos pero ms portables y flexibles