Вы находитесь на странице: 1из 5

1.6 Estructura De Un 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).
Un traductor se define como un programa que traduce o convierte desde un
texto o programa escrito en un lenguaje fuente hasta un texto o programa
equivalente escrito en un lenguaje destino produciendo, si cabe, mensajes de
error. Los traductores engloban tanto a los compiladores (en los que el lenguaje
destino suele ser cdigo mquina) como a los intrpretes (en los que el lenguaje
destino est constituido por las acciones atmicas que puede ejecutar el
intrprete). La figura 1.1 muestra el esquema bsico que compone a un
compilador/intrprete.


Tipos de traductores.
Compiladores
Es aquel traductor que tiene como entrada una sentencia en lenguaje formal y
como salida tiene un fichero ejecutable, es decir, realiza una traduccin de un
cdigo de alto nivel a cdigo mquina (tambin se entiende por compilador aquel
programa que proporciona un fichero objeto en lugar del ejecutable final).
Intrpretes
Es como un compilador, solo que la salida es una ejecucin. El programa de
entrada se reconoce y ejecuta a la vez. No se produce un resultado fsico (cdigo
mquina) sino lgico (una ejecucin). Su principal ventaja es que permiten una
fcil depuracin. Entre los inconvenientes podemos citar, en primer lugar, la
lentitud de ejecucin, ya que al ejecutar a la vez que se traduce no puede
aplicarse un alto grado de optimizacin. Otro inconveniente es que durante la
ejecucin, el intrprete debe residir en memoria, por lo que consumen ms
recursos.
La figura 1.2 muestra los pasos a seguir en estos lenguajes para obtener una
ejecucin.


En el proceso de traduccin se identifican dos fases principales:

Fase de Anlisis

Fase de Sntesis

1.7 Fases De Un Compilador.

Definicin de Compilador.
Un compilador es un programa informtico que traduce un programa escrito en un
lenguaje de programacin a otro lenguaje de programacin, es decir programa que
permite traducir el cdigo fuente de un programa en lenguaje de alto nivel, a otro
lenguaje de nivel inferior (lenguaje mquina). Generando un programa equivalente
a capaz de interpretar.
FASES DE UN COMPILADOR.

Anlisis Lxico. En esta fase se lee los caracteres del programa fuente y se
agrupan en cadenas que representan los componentes lxicos. A la secuencia de
caracteres que representa un componente lxico se le llama lexema (o con su
nombre en ingls token).
Anlisis Sintctico. Los componentes lxicos se agrupan en frases gramaticales
que el compilador utiliza para sintetizar la salida.
Anlisis Semntico. Intenta detectar instrucciones que tengan la estructura
sintctica correcta, pero que no tengan significado para la operacin implicada.
Generacin de cdigo Intermedio. Se puede considerar esta operacin
intermedia como un subprograma para una mquina abstracta, a esta
representacin debe tener dos propiedades importantes: debe ser fcil de producir
y fcil de traducir al programa objeto.
Optimizacin de Cdigo. Se trata de mejorar el cdigo intermedio, de modo que
resulte un cdigo de mquina ms rpido de ejecutar.
Generacin de Cdigo. Esta constituye la fase final de un compilador.
Administrador de la tabla de smbolos. Se encarga de manejar los accesos a la
tabla de smbolos, en cada una de las etapas de compilacin de un programa.
Manejador de errores. Es posible encontrar errores. De esta forma podrn
controlarse ms eficientemente los errores encontrados en cada una de las fases
de la compilacin de un programa.
Cada fase puede encontrar errores y debe tratarlo para continuar con la
Compilacin, permitiendo detectar ms errores
Las fases de Anlisis Sintctico y Semntico manejan la mayora de los
errores
En el Anlisis Semntico se detectan errores donde la estructura sintctica
es correcta pero no tiene significado la operacin (Por. ej. sumar dos ID,
donde uno es el nombre de una matriz y el otro un nombre de
procedimiento).
Programas Relacionados con un Compilador.
Preprocesadores (producen la entrada para una computadora).
Procesamiento de Macros
Inclusin de archivos
Preprocesadores racionales (estructura de control)
Extensiones a lenguajes (bases de datos).

Ensambladores Producen cdigo ensamblador que se pasa a un ensamblador
para su procesamiento (versin mnemotcnica del cdigo de mquina: nombres
de operaciones y nombres de direcciones de memoria).

Вам также может понравиться