Clase3 compiladores

download Clase3 compiladores

If you can't read please download the document

  • date post

    09-Jul-2015
  • Category

    Documents

  • view

    417
  • download

    0

Embed Size (px)

Transcript of Clase3 compiladores

  • COMPILADORES Ing. Sistemas UPN Cajamarca 2011-2 Ing. Jos L. Peralta Lujn jlperalta_10@hotmail.com

    UPNC / 2011-2 / COMPILADORES

    PROCESADORES DE LENGUAJE

  • COMPILADORES Ing. Sistemas UPN Cajamarca 2011-2 Ing. Jos L. Peralta Lujn jlperalta_10@hotmail.com

    UPNC / 2011-2 / COMPILADORES

    Procesadores de lenguaje es el nombre genricoque reciben todas las aplicaciones informticas enlas cuales uno de los datos fundamentales deentrada es un lenguaje.La definicin anterior afecta a una gran variedad deherramientas software.

  • COMPILADORES Ing. Sistemas UPN Cajamarca 2011-2 Ing. Jos L. Peralta Lujn jlperalta_10@hotmail.com

    UPNC / 2011-2 / COMPILADORES

    TRADUCTOR

    Programa que convierte desde un texto o programaescrito en un lenguaje fuente hasta un texto o programaequivalente escrito en un lenguaje destino produciendo,si cabe, mensajes de error.

  • COMPILADORES Ing. Sistemas UPN Cajamarca 2011-2 Ing. Jos L. Peralta Lujn jlperalta_10@hotmail.com

    UPNC / 2011-2 / COMPILADORES

    Los traductores engloban tanto a los compiladores (enlos que el lenguaje destino suele ser cdigo mquina)como a los intrpretes (en los que el lenguaje destinoest constituido por las acciones atmicas que puedeejecutar el intrprete).

    Sergio Glvez Rojas (Doctor Ingeniero en Informtica)Miguel ngel Mora Mata (Ingeniero en Informtica)Dpto. de Lenguajes y Ciencias de la ComputacinE.T.S. de Ingeniera InformticaUniversidad de Mlaga

  • COMPILADORES Ing. Sistemas UPN Cajamarca 2011-2 Ing. Jos L. Peralta Lujn jlperalta_10@hotmail.com

    UPNC / 2011-2 / COMPILADORES

    Tipos de TraductoresTraductores de lenguaje naturalTraducen un lenguaje natural en otro (por ejemplo,espaol a ingls). Esto en la actualidad no se haconseguido debido fundamentalmente a la ambigedaddel lenguaje natural. Los mayores logros en la materiasiempre trabajan con un subconjunto del lenguajenatural, limitando las construcciones sintcticas vlidasy/o el vocabulario. Este tema se aborda generalmentemediante tcnicas de inteligencia artificial.

  • COMPILADORES Ing. Sistemas UPN Cajamarca 2011-2 Ing. Jos L. Peralta Lujn jlperalta_10@hotmail.com

    UPNC / 2011-2 / COMPILADORES

    CompiladorUn compilador es un programa que lee un programa enun lenguaje lenguaje fuente y lo traduce en unprograma equivalente en otro lenguaje lenguajeobjetivo

  • COMPILADORES Ing. Sistemas UPN Cajamarca 2011-2 Ing. Jos L. Peralta Lujn jlperalta_10@hotmail.com

    UPNC / 2011-2 / COMPILADORES

    IntrpreteEs como un compilador, solo que la salida es unaejecucin. El programa de entrada se reconoce yejecuta a la vez. No se produce un resultado fsico(cdigo mquina) sino lgico (una ejecucin).

  • COMPILADORES Ing. Sistemas UPN Cajamarca 2011-2 Ing. Jos L. Peralta Lujn jlperalta_10@hotmail.com

    UPNC / 2011-2 / COMPILADORES

    El procesador del lenguaje de Java combina compilacin e interpretacin.

    Java --> compilador --> bytecodes (forma intermedia) Bytecodes --> virtual machine (intrprete)Ventaja:

    Los bytecodes compilados en una maquina pueden ser interpretados en otra, incluso a travs de una red

    Java utiliza un tipo compilador llamado just-in-time que traslada los bytecodes en lenguaje de mquina inmediatamente.

  • COMPILADORES Ing. Sistemas UPN Cajamarca 2011-2 Ing. Jos L. Peralta Lujn jlperalta_10@hotmail.com

    UPNC / 2011-2 / COMPILADORES

  • COMPILADORES Ing. Sistemas UPN Cajamarca 2011-2 Ing. Jos L. Peralta Lujn jlperalta_10@hotmail.com

    UPNC / 2011-2 / COMPILADORES

    PreprocesadorEs un programa que se encarga de agrupar los fuentesdel programa produciendo un programa fuentemodificado el cual es enviado al compilador.Esto se debe a que un programa puede estar divididoen muchos mdulos almacenados en archivosseparados.

  • COMPILADORES Ing. Sistemas UPN Cajamarca 2011-2 Ing. Jos L. Peralta Lujn jlperalta_10@hotmail.com

    UPNC / 2011-2 / COMPILADORES

    Intrpretes de comandosUn intrprete de comandos traduce sentencias simples ainvocaciones a programas de una biblioteca. Se utilizanespecialmente en los sistemas operativos (lashell de Unix es un intrprete de comandos). EjemploDOS.

    EnsambladoresEl primer paso hacia los lenguajes de alto nivel loconstituyen los ensambladores. En lenguaje ensambladorse establece una relacin biunvoca entre cada instrucciny una palabra mnemotcnica.Ejemplo: MOV AH,10 B410 (1011010000010000)

  • COMPILADORES Ing. Sistemas UPN Cajamarca 2011-2 Ing. Jos L. Peralta Lujn jlperalta_10@hotmail.com

    UPNC / 2011-2 / COMPILADORES

    Conversores fuente - fuenteTraducen un lenguaje fuente de alto nivel a otro. Ejemplo:PASCAL -> C

    Compilador cruzadoEs un compilador que genera cdigo para ser ejecutado enotra mquina. Seutilizan en la fase de desarrollo de nuevos ordenadores.

  • COMPILADORES Ing. Sistemas UPN Cajamarca 2011-2 Ing. Jos L. Peralta Lujn jlperalta_10@hotmail.com

    UPNC / 2011-2 / COMPILADORES

    COMPILADOR

    Programa que lee un programa escrito en un lenguaje,lenguaje fuente, y lo traduce a un programa equivalenteen otro lenguaje, lenguaje objeto. Como parte de esteproceso el compilador informa al usuario de la presenciade errores en el programa fuente. (Alfred Aho)

  • COMPILADORES Ing. Sistemas UPN Cajamarca 2011-2 Ing. Jos L. Peralta Lujn jlperalta_10@hotmail.com

    UPNC / 2011-2 / COMPILADORES

    Programa Escrito enun leng. de prog.:

    Java (*.java)

    Turbo C++ (*.cpp)

    Otro lenguaje deprogramacin(*.class)

    Lenguajemquina (*. obj)

  • COMPILADORES Ing. Sistemas UPN Cajamarca 2011-2 Ing. Jos L. Peralta Lujn jlperalta_10@hotmail.com

    UPNC / 2011-2 / COMPILADORES

  • COMPILADORES Ing. Sistemas UPN Cajamarca 2011-2 Ing. Jos L. Peralta Lujn jlperalta_10@hotmail.com

    UPNC / 2011-2 / COMPILADORES

    Arquitectura de

    Computadoras

    Lenguajes de

    Programacin

    Teora de

    Lenguajes

    Teora de

    Algoritmos

    Ingeniera de

    Software

    Compiladores

  • COMPILADORES Ing. Sistemas UPN Cajamarca 2011-2 Ing. Jos L. Peralta Lujn jlperalta_10@hotmail.com

    UPNC / 2011-2 / COMPILADORES

    Adems de un compilador, otros programas pueden sernecesarios para crear un programa ejecutable.

  • COMPILADORES Ing. Sistemas UPN Cajamarca 2011-2 Ing. Jos L. Peralta Lujn jlperalta_10@hotmail.com

    UPNC / 2011-2 / COMPILADORES

    Preprocesador:Es un programa que se encarga de agrupar los fuentesdel programa produciendo un programa fuentemodificado el cual es enviado al compilador.Esto se debe a que un programa puede estar divididoen muchos mdulos almacenados en archivosseparados.

  • COMPILADORES Ing. Sistemas UPN Cajamarca 2011-2 Ing. Jos L. Peralta Lujn jlperalta_10@hotmail.com

    UPNC / 2011-2 / COMPILADORES

    Ensamblador:Programa que procesa el cdigo en lenguaje assemblergenerado y produce cdigo de mquina como salida (1Inst. asm a 1 Inst. mquina).

  • COMPILADORES Ing. Sistemas UPN Cajamarca 2011-2 Ing. Jos L. Peralta Lujn jlperalta_10@hotmail.com

    UPNC / 2011-2 / COMPILADORES

    Enlace (Linker):Es un programa que resuelve direcciones externas dememoria donde el cdigo de un archivo puede requeriruna ubicacin en otro archivo.

  • COMPILADORES Ing. Sistemas UPN Cajamarca 2011-2 Ing. Jos L. Peralta Lujn jlperalta_10@hotmail.com

    UPNC / 2011-2 / COMPILADORES

    Cargador (Loader):Programa que junta todos los archivos ejecutablesdentro de la memoria para su ejecucin.

  • COMPILADORES Ing. Sistemas UPN Cajamarca 2011-2 Ing. Jos L. Peralta Lujn jlperalta_10@hotmail.com

    UPNC / 2011-2 / COMPILADORES