Sei sulla pagina 1di 5

Perez Perez Selene

Garelli Rivas Emilio


Traductores
Javier Zavala Palacios
Traductores
Que es un Traductor?
Un traductor es un programa que recibe como entrada cdigo escrito en un cierto lenguaje y produce
como salida cdigo en otro lenguaje, generalmente el lenguaje de entrada es de ms alto nivel que el
de salida, por ejemplo, los traductores son los ensambladores y los compiladores.
Traductor de Lenguaje.
Lenguaje Natural: son los nuevos lenguajes que pretender aproximar el diseo y la
construccin de programas al lenguaje de las personas.
Lenguaje Formal: El lenguaje formal es aquel que el hombre ha desarrollado para
expresar las situaciones que se dan en especfico en cada rea del conocimiento cientfico. Las
palabras y oraciones de un lenguaje formal son perfectamente definidas(una palabra
mantiene su el mismo significado prescindiendo de su contexto o uso.
Los lenguajes formales son exentos de cualquier componente semntico fuera de sus
operadores y relaciones. Los lenguajes formales pueden ser utilizados para modelar una teora
de la mecnica, fsica, matemtica, ingeniera elctrica, o de otra naturaleza, con la ventaja de
que
en
estos
toda
ambigedad
es
eliminada.
En resumen las caractersticas de los lenguajes formales son las siguientes:
Se
desarrollan
de
una
teora
preestablecida.
Componente
semntico
mnimo.
Posibilidad de incrementar el componente semntico de acuerdo con la teora a formalizar.
La
sintaxis
produce
oraciones
no
ambiguas.
La
importancia
del
rol
de
los
nmeros.
Completa formalizacin y por esto, el potencial de la construccin computacional.
Tipo de traductores:
1.
Compiladores
2.
Intrpretes
Debido la complejidad de la programacin del lenguaje de mquina, en realidad son muy pocos los
programas que se escriben con l. Sin embargo el lenguaje de mquina es el nico lenguaje capaz de
dar instrucciones directamente al CPU. Por lo tanto, toda instruccin de un programa de lenguaje que
no sea de mquina tiene que traducirse al lenguaje de mquina antes de su ejecucin. Esto se realiza
mediante el software de sistemas que se llama traductor de lenguaje. Un traductor de lenguaje
convierte un cdigo fuente de un programador a su equivalente en lenguaje de mquina. El cdigo de
programa de nivel alto se conoce como el cdigo fuente, mientras que el cdigo de lenguaje de
mquina se llama cdigo objeto. Hay dos tipos de traductores de lenguajes: intrpretes y
compiladores.

Diagrama de un traductor.

Estructura de un compilador.

Qu
es
un
compilador?
Un compilador es un programa informtico que traduce un programa escrito en un lenguaje de
programacin a otro lenguaje de programacin.1 Usualmente el segundo lenguaje es lenguaje de
mquina, pero tambin puede ser un cdigo intermedio (bytecode), o simplemente texto. Este proceso
de traduccin se conoce como compilacin.
Estructura de un compilador:
Anlisis Lxico.
En la fase de anlisis lxico se leen los caracteres del programa fuente y se agrupan en cadenas que
representan los componentes lxicos
Anlisis Sintctico.
En esta fase, los componentes lxicos se agrupan en frases gramaticales que el compilador utiliza para
sintetizar la salida.
Anlisis Semntico.

La fase de anlisis semntico se intenta detectar instrucciones que tengan la estructura sintctica
correcta, pero que no tengan significado para la operacin implicada.
Generacin de cdigo Intermedio.
Algunos compiladores generan una representacin intermedia explcita del programa fuente, una vez
que se han realizado las fases de anlisis. Se puede considerar esta operacin intermedia como un
subprograma para una mquina abstracta. Esta representacin intermedia debe tener dos
propiedades importantes: debe ser fcil de producir y fcil de traducir al programa objeto.
Optimizacin de Cdigo.
En esta fase 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. En ella se genera el cdigo objeto que por lo general
consiste en cdigo en lenguaje mquina (cdigo relocalizable) o cdigo en lenguaje ensamblador.
Administrador de la tabla de smbolos.
Una tabla de smbolos es una estructura de datos que contiene un registro por cada identificador. El
registro incluye los campos para los atributos del identificador. El 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.
En cada fase del proceso de compilacin es posibles encontrar errores. Es conveniente que el
tratamiento de los errores se haga de manera centralizada a travs de un manejador de errores.
Este es el proceso standard que un compilador comercial sigue para cualquier programa.

Que es un intrprete?
Es un programa informtico capaz de analizar y ejecutar otros programas. Los intrpretes se
diferencian de los compiladores o de los ensambladores en que mientras estos traducen un programa
desde su descripcin en un lenguaje de programacin al cdigo de mquina del sistema, los
intrpretes slo realizan la traduccin a medida que sea necesaria, tpicamente, instruccin por
instruccin,
y
normalmente
no
guardan
el
resultado
de
dicha
traduccin.
Usando un intrprete, un solo archivo fuente puede producir resultados iguales incluso en sistemas
sumamente diferentes (ejemplo. una PC y una PlayStation 4). Usando un compilador, un solo archivo
fuente puede producir resultados iguales solo si es compilado a distintos ejecutables especficos a cada
sistema.

Diagrama de un compilador:

Diagrama de un intrprete:

Que es un token?
Un token o tambin llamado componente lxico es una cadena de caracteres que tiene un significado
coherente en cierto lenguaje de programacin. Ejemplos de tokens podran ser palabras clave (if, else,
while, int, ...), identificadores, nmeros, signos, o un operador de varios caracteres, (por ejemplo, :=).
Son los elementos ms bsicos sobre los cuales se desarrolla toda traduccin de un programa, surgen
en la primera fase, llamada anlisis lxico, sin embargo se siguen utilizando en las siguientes fases
(anlisis sintctico y anlisis semntico) antes de perderse en la fase de sntesis.

5 diferencias entre compilador e intrprete:


Los
compiladores
difieren
de
los
intrpretes
en
varios
aspectos:
. Un programa que ha sido compilado puede correr por s solo, pues en el proceso de compilacin se lo
transform
en
otro
lenguaje
(lenguaje
mquina).
. Un intrprete traduce el programa cuando lo lee, convirtiendo el cdigo del programa directamente
en
acciones.
. La ventaja del intrprete es que dado cualquier programa se puede interpretarlo en cualquier
plataforma (sistema operativo), en cambio el archivo generado por el compilador solo funciona en la
plataforma
en
donde
se
lo
ha
creado.
. Pero por otro lado un archivo compilado puede ser distribuido fcilmente conociendo la plataforma,
mientras que un archivo interpretado no funciona si no se tiene el intrprete.
. Hablando de la velocidad de ejecucin un archivo compilado es de 10 a 20 veces ms rpido que un
archivo
interpretado.

Potrebbero piacerti anche