Académique Documents
Professionnel Documents
Culture Documents
Programa informtico que traduce un programa escrito en un lenguaje de programacin a otro lenguaje de programacin, generando un programa equivalente que la mquina ser capaz de interpretar.
Traduce el cdigo fuente de un programa en lenguaje de alto nivel, a otro lenguaje de nivel inferior. Informa al usuario de la presencia de errores en el programa fuente.
Anlisis: comprobacin de la correccin del programa fuente Fases Partes del compilador
Qu es?
Qu hace?
Compiladores cruzados
Generan cdigo para un sistema distinto del que estn funcionando. Ej. NASM, ELF y COM.
COMPILADOR
Compiladores de una sola pasada
Tipos de compiladores
Anlisis Lxico
Descomposicin del programa fuente en componentes lxicos
Compiladores optimizadores
Realizan cambios en el cdigo para mejorar su eficiencia, pero manteniendo la funcionalidad del programa original.
Generan el cdigo mquina a partir de una nica lectura del cdigo fuente. Ej. Rapid-Q
Optimizacin de cdigos
Busca obtener cdigo lo mas eficiente posible.
Front-end
Parte que analiza el cdigo fuente, comprueba su validez, genera el rbol de derivacin y rellena los valores de la tabla de smbolos.
Back-end
Genera el cdigo mquina, especfico de una plataforma, a partir de los resultados de la fase de anlisis, realizada por el Front End.
Contexto de Ejecucin: La
ejecucin de un programa requiere una representacin de las entidades creadas y manipuladas en tiempo de ejecucin.
ESTRUCTURA
representacin interna del programa, el contexto de ejecucin y de los datos de entrada, se ejecutar el programa obteniendo unos resultados.
INTERPRETES
Realizan la traduccin a medida que sea necesaria, tpicamente, instruccin por instruccin, y normalmente no guardan el resultado de dicha traduccin.
Qu hace? Qu es?
Programa informtico capaz de analizar y ejecutar otros programas, escritos en un lenguaje de alto nivel.
Intrpretes avanzados
Incorporan un paso previo de anlisis de todo el cdigo fuente, generando un cdigo intermedio que ser posteriormente ejecutado
Intrpretes recursivos:
Utilizan la recursividad para evaluar las sentencias.
Finaliza cuando no existen ms instrucciones por ejecutar Suele emplearse para lenguajes de bajo nivel
Poseen un rendimiento bajo Se suelen utilizar nicamente para implementar prototipos (alto nivel).
Siguen el modelo de interpretacin iterativa, emplendose fundamentalmente para lenguajes sencillos Ventaja: Permiten ejecutar programas grandes en una memoria reducida Principal Inconveniente: No detecta un error hasta que se llegue a su punto de ejecucin.
Permiten procesar lenguajes ms avanzados que los anteriores Eliminan el inconveniente de deteccin tarda de errores Java o C#
MICRO ENSAMBLADORES
Indica al interprete de instrucciones como debe actuar para ayudar a realizar un micro programa a esto se le llama micro ensamblador.
ENSAMBLADORES RESIDENTES
Permanecen en la memoria principal de la computadora y cargan para su ejecucin el programa objeto producido.
MACRO ENSAMBLADORES Ensambladores que permiten el uso de microinstrucciones 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 pseudoinstruccin.
ENSAMBLADORES CRUZADOS
Se utilizan en una computadora que posee el procesador diferente al que tendrn las computadoras donde se va a ejecutar el programa objeto producido.
Programa 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.
Qu es?
ENSAMBLADOR
ESQUEMA DE ENSAMBLADO SIN MACROS
Qu hace?
Lee el fichero escrito en lenguaje ensamblador y sustituye cada uno de los cdigos nemotcnicos que aparecen por su cdigo de operacin correspondiente en sistema binario para la plataforma que se eligi como destino en las opciones especficas del ensamblador.
BIBLIOGRAFA
http://es.wikipedia.org/wiki/Compilador http://es.wikipedia.org/wiki/Int%C3%A9rprete_(inform%C3%A1tica) http://www.giaa.inf.uc3m.es/docencia/II/PL1/interpretes_maquinasvirtuales05-06.pdf http://www.slideshare.net/luisrudeboy/14-ensambladores-y-compiladores https://docs.google.com/viewer?a=v&q=cache:93t8qWeYuAgJ:www.uv.mx/personal/lizhernandez/files/2011/09/Ensambladores_HerminioGam alielMartinEnrique.pptx+fases+de+ensambladores&hl=es&gl=mx&pid=bl&srcid=ADGEESi34IPnWUFcrOfY1TEGAN5DDYU3h0SRgei2vCutrjyFhXKQ3aooMHS-Yk3wOmxNrjzK89J0DDGbHxHTo7GKtUfxBLMStXjuUAD2XD6pfqvG9CXNokcpjNSi7YlzioZweYcrVY&sig=AHIEtbQr0JT4CDoXHfMs0VdBRFyD4_43xg