2. Traductores de lenguaje
Un traductor es un programa que recibe como entrada código escrito en un cierto lenguaje y
produce como salida en otro lenguaje, generalmente el lenguaje de entrada es de mas alto nivel
que el de salida , por ejemplo son los ensambladores y compiladores.
Cuando programamos en algún lenguajes de alto nivel, lo que estamos asiendo en realidad es el
código fuente de ese programa, este código fuente debe ser traducido a lenguaje binario para
que las instrucciones que contenga puedan ser entendidas y ejecutadas por la computadora.
LOS PROGRAMAS TRADUCTORES DE LENGUAGE SON:
1.Compiladores
2.Interpretes
3. 1.Compilador
Un compilador es un programa informático que traduce un programa escrito en un lenguaje de
programación a otro lenguaje de programación, o también genera aplicaciones que sean
directamente utilizables en un ordenador o lenguaje de programación , lo interpreta , comprueba su
sintaxis y traduce a un lenguaje o código maquina toda la serie de instrucciones, generando el
archivo ejecutable final.
Imagen
4. Estructura de un compilador
Se requiere e un compilador para cada lenguaje de programación. Un compilador efectúa la
traducción , no ejecuta el programa, una ves copilado el programa, el resultado en forma de
programa objeto será directamente ejecutable.
La ejecución del programa con compilador requiere dos etapas :
Traducir el programa simbólico a código maquina.
Ejecución y procesamientos de los datos.
El proceso de compilación considera las siguientes etapas:
Edición: esta fase consiste en escribir el programa empleando algún lenguaje y un editor .
Compilación: en esta fase se traduce el código fuente obtenido en la fase anterior a código
maquina.
Linkado: esta fase consiste en unir el archivo generado en la fase dos con determinadas rutinas
internas del lenguaje, obteniendo el programa ejecutable.
5. TIPOS DE COMPILADORES
Compiladores cruzados: generan códigos para un sistema distinto del que
esta funcionando.
Compiladores Optimizados: realizan cambios en el código para mejorar su
eficiencia, pero manteniendo la funcionalidad del programa original.
Compiladores de varias pasadas : generan el código maquina a partir de
una única lectura del código fuente.
6. Estructura de un compilador de una sola pasada
FUENTE EXPLORADOR RECONOCEDOR GENERADOR
TABLA DE SIMBOLOS
. Compiladores de varias pasadas: necesitan leer el código fuentes varias veces antes de poder
produje el código maquina.
.Compiladores JIT (Just In Time): Forman parte de una interprete y compilan partes del código
según se necesitan.
7. 2.Interpretes
Un programa interprete o traductor, analiza directamente la descripción simbólica del programa fuente
y realiza las instrucciones dadas.
Es un programa que traduce siempre permanece en su forma origina y traduce cuando esta lista en la
fase de ejecución instrucción por instrucción.
En la actualidad, uno de los entornos mas comunes de uso le los interpretes informáticos es el internet,
debido a la posibilidad de que estos tienen de ejecutarse independientemente de la plataforma.
Traduce y ejecuta una line del programa .
Si hay un problema detiene la ejecución del programa.
Programas mas lentos pero mas portables y flexibles.
Las diferencias entre un compilador y un interprete básicamente son:
Un programa compilado puede funcionar por si solo mientras que un interprete no puede.
Un programa traducido por un interprete puede ser ejecutado en cualquier maquina ya que cada
ves se ejecuta el interprete, tiene que compilarlo.
8. Ensambladores
Los ensambladores son programas que procesan los enunciados del programa origen en lenguaje
ensambladores y los traducen en archivos en lenguaje maquina que son ejecutados por un
microprocesadores o un microcontrolador.
El archivo en lenguaje objeto ejecutable resultante se cargan y se ejecutan en el sistema destino.
Lenguaje
ensambladores
Ensamblador
Código
maquina o
binario
.Durante la primera pasada, el programa de origen se usa para a ser símbolos.
.Durante la segunda pasada el archivo objeto se crea con refer desarrollada en la primera pasada.
.Durante la segunda pasada se crea el listado del programa de origen.
9. A medida que el enunciado se procesa el ensamblador examina los campos de etiqueta de
código de operación y de operando.
La tabla de códigos de operación se revisa para encontrar un código operacional similar.
Durante el procesamiento de un mnemónico correspondiente a un código de operación
normal , el código maquina normal se inserta en el archivo objetivo. La acción buscada por
Directriz del ensamblador se muestra justamente antes de la línea que contiene dicho error.
Aun i cuando no se le dese un listado origen, los errores se despliegan para indicar que el
procesamiento de ensamblado no se llevo a cabo de manera normal.
ENSAMBLADORES
10. Lenguaje
interpretado
•Un lenguaje de programación es, por definición ,diferente al
lenguaje de maquina. Por lo tanto, debe traducirse para que
el procesador pueda comprenderlo.
Lenguaje
compilado
•Un programa escrito en un lenguaje “compilado” se traduce
a través de un programa anexo llamado compilador .
Lenguajes
intermediarios
•Algunos lenguajes pertenecen a ambas categorías
(LISP,Java,Python…) dado que el programa escrito en estos
lenguajes puede, en ciertos casos, sufrir una fase de
compilación intermediaria.