SlideShare una empresa de Scribd logo
1 de 18
Funciones y Clasificación de los Compiladores Capítulo 2 Materia: Compiladores Docente: Ing. Carlos J. Archondo O. 1
Funciones Un compilador es: Un programa que lee un programa escrito en un lenguaje, El lenguaje fuente. Y lo traduce a un programa equivalente en otro lenguaje,  El lenguaje objeto.  Como parte importante de este proceso de traducción, el compilador informa a su usuario de la presencia de errores en el programa fuente. Para cada lenguaje de programación se requiere un compilador separado.  El compilador traduce todo el programa antes de ejecutarlo.  Los compiladores son programas de traducción insertados en la memoria por el sistema operativo para convertir programas de cómputo en pulsaciones electrónicas ejecutables (lenguaje de máquina).  2 Materia: Compiladores Docente: Ing. Carlos J. Archondo O.
Diversidad de Compiladores A primera vista, la diversidad de compiladores puede parecer abrumadora.  Hay miles de lenguajes fuente: Desde los lenguajes de programación tradicionales, como FORTRAN o Pascal, hasta los lenguajes especializados que han surgido virtualmente en todas las áreas de aplicación de la informática.  Los lenguajes objeto son igualmente variados. Un lenguaje objeto puede ser otro lenguaje de programación o el lenguaje de máquina de cualquier computadora entre un microprocesador y una supercomputadora.   A pesar de existir una aparente complejidad por la clasificación de los compiladores, las tareas básicas que debe realizar cualquier compilador son esencialmente las mismas.  Al comprender tales tareas, se pueden construir compiladores para una gran diversidad de lenguajes fuente y máquinas objeto utilizando las mismas técnicas básicas. 3 Materia: Compiladores Docente: Ing. Carlos J. Archondo O.
Origen de los Compiladores Nuestro conocimiento sobre cómo organizar y escribir compiladores ha aumentado mucho desde que comenzaron a aparecer los primeros compiladores a principios de los años cincuenta.  Es difícil dar una fecha exacta de la aparición del primer compilador, porque en un principio gran parte del trabajo de experimentación y aplicación se realizó de manera independiente por varios grupos.  Gran parte de los primeros trabajos de compilación estaba relacionada con la traducción de fórmulas aritméticas a código de máquina. 4 Materia: Compiladores Docente: Ing. Carlos J. Archondo O.
Técnicas Sistemáticas En la década de 1950, se consideró a los compiladores como programas notablemente difíciles de escribir.  EL primer compilador de FORTRAN, por ejemplo, necesitó para su implantación de 18 años de trabajo en grupo (Backus y otros [1975]).  Desde entonces, se han descubierto técnicas sistemáticas para manejar muchas de las importantes tareas que surgen en la compilación.  También se han desarrollado buenos lenguajes de implantación, entornos de programación y herramientas de software.  Con estos avances, puede hacerse un compilador real incluso como proyecto de estudio sobre diseño de compiladores. 5 Materia: Compiladores Docente: Ing. Carlos J. Archondo O.
Partes de la Compilación En la compilación hay dos partes:  Análisis. La parte del análisis divide al programa fuente en sus elementos componentes y crea una representación intermedia.  Durante el análisis se determina las operaciones que implica el programa fuente y se registra en una estructura jerárquica llamada árbol.  Síntesis.  De las dos partes, la síntesis es la que requiere las técnicas más especializadas.  6 Materia: Compiladores Docente: Ing. Carlos J. Archondo O.
Árbol Sintáctico A menudo, se usa una clase especial de árbol llamado árbol sintáctico, donde cada nodo representa una operación y los hijos de un nodo son los argumentos de la operación.  Por ejemplo, en la figura siguiente se muestra un árbol sintáctico para una proposición de asignación. Posición = inicial + velocidad * 60 7 Materia: Compiladores Docente: Ing. Carlos J. Archondo O.
Clasificación 8 Materia: Compiladores Docente: Ing. Carlos J. Archondo O.
Compilador de Una Sola Pasada Examina el código fuente una vez. Generando el código o programa objeto. 9 Materia: Compiladores Docente: Ing. Carlos J. Archondo O.
Compilador de Pasadas Múltiples Requieren pasos intermedios para producir un código en otro lenguaje. Y una pasada final para producir y optimizar el código producido durante los pasos anteriores.  10 Materia: Compiladores Docente: Ing. Carlos J. Archondo O.
Compilador de Optimación Lee un código fuente. Lo analiza. Descubre errores potenciales sin ejecutar el programa. 11 Materia: Compiladores Docente: Ing. Carlos J. Archondo O.
Compiladores Incrementales Generan un código objeto instrucción por instrucción (en vez de hacerlo para todo el programa) cuando el usuario teclea cada orden individual.  El otro tipo de compiladores requiere que todos los enunciados o instrucciones se compilen conjuntamente. 12 Materia: Compiladores Docente: Ing. Carlos J. Archondo O.
Compilador Ensamblador Es aquel que trabajará con el lenguaje ensamblador como lenguaje fuente. Posee una estructura sencilla. 13 Materia: Compiladores Docente: Ing. Carlos J. Archondo O.
Compilador Cruzado Se genera código en lenguaje objeto para una máquina diferente de la que se está utilizando para compilar.  Es perfectamente normal construir un compilador de Pascal que genere código para MS-DOS y que el compilador funcione en Linux y se haya escrito en C++. 14 Materia: Compiladores Docente: Ing. Carlos J. Archondo O.
Compilador con Montador Compilador que “compila” distintos módulos de forma independiente y después es capaz de enlazarlos. 15 Materia: Compiladores Docente: Ing. Carlos J. Archondo O.
Autocompilador Compilador que está escrito en el mismo lenguaje que va a compilar.  Evidentemente, no se puede ejecutar la primera vez.  Sirve para hacer ampliaciones al lenguaje, mejorar el código generado, etc. 16 Materia: Compiladores Docente: Ing. Carlos J. Archondo O.
Metacompilador Es sinónimo de compilador de compiladores y se refiere a un programa que recibe como entrada las especificaciones del lenguaje para el que se desea obtener un compilador y genera como salida el compilador para ese lenguaje.  El desarrollo de los metacompiladores se encuentra con la dificultad de unir la generación de código con la parte de análisis.  Lo que sí se han desarrollado son generadores de analizadores léxicos y sintácticos.  Por ejemplo, los conocidos: LEX:  generador de analizadores léxicos YACC: generador de analizadores sintácticos desarrollados para UNIX.  Los inconvenientes que tienen son que los analizadores que generan no son muy eficientes. 17 Materia: Compiladores Docente: Ing. Carlos J. Archondo O.
Descompilador Es un programa que acepta como entrada código máquina y lo traduce a un lenguaje de alto nivel. Realizando el proceso inverso a la compilación. 18 Materia: Compiladores Docente: Ing. Carlos J. Archondo O.

Más contenido relacionado

La actualidad más candente

C:\documents and settings\clientea\mis documentos\compiladores
C:\documents and settings\clientea\mis documentos\compiladoresC:\documents and settings\clientea\mis documentos\compiladores
C:\documents and settings\clientea\mis documentos\compiladoresNancyandRegina317
 
Compiladores diapositivas
Compiladores diapositivasCompiladores diapositivas
Compiladores diapositivasjonathangrief
 
Trabajo practico libro2
Trabajo practico libro2Trabajo practico libro2
Trabajo practico libro2exequiel9035a
 
franco lorentz word2
franco lorentz word2franco lorentz word2
franco lorentz word23xtremus
 
Preguntas y Respuestas
Preguntas y RespuestasPreguntas y Respuestas
Preguntas y RespuestasFede Garcia
 
Lenguajes autómatas.
Lenguajes autómatas.Lenguajes autómatas.
Lenguajes autómatas.LuiS YmAY
 
Compilador Funcionamiento
Compilador FuncionamientoCompilador Funcionamiento
Compilador FuncionamientoKriz Kozlov
 
Traducción de un programa: compilación, enlace de un programa, errores en tie...
Traducción de un programa: compilación, enlace de un programa, errores en tie...Traducción de un programa: compilación, enlace de un programa, errores en tie...
Traducción de un programa: compilación, enlace de un programa, errores en tie...Jorge Rodriguez
 
Arquitecturas de ordenadores y compiladores cruzados
Arquitecturas de ordenadores y compiladores cruzadosArquitecturas de ordenadores y compiladores cruzados
Arquitecturas de ordenadores y compiladores cruzadosDIEGO BAROJA
 
Repuesto de expo de programacion
Repuesto de expo de programacionRepuesto de expo de programacion
Repuesto de expo de programacionelizabethrmlm
 
Historia de los compiladores
Historia de los compiladoresHistoria de los compiladores
Historia de los compiladoresAndresDvila
 
Lenguajes de programacion22
Lenguajes de programacion22Lenguajes de programacion22
Lenguajes de programacion22soto0106
 

La actualidad más candente (18)

C:\documents and settings\clientea\mis documentos\compiladores
C:\documents and settings\clientea\mis documentos\compiladoresC:\documents and settings\clientea\mis documentos\compiladores
C:\documents and settings\clientea\mis documentos\compiladores
 
Compiladores diapositivas
Compiladores diapositivasCompiladores diapositivas
Compiladores diapositivas
 
Trabajo practico libro2
Trabajo practico libro2Trabajo practico libro2
Trabajo practico libro2
 
franco lorentz word2
franco lorentz word2franco lorentz word2
franco lorentz word2
 
Preguntas y Respuestas
Preguntas y RespuestasPreguntas y Respuestas
Preguntas y Respuestas
 
Lenguaje de programación
Lenguaje de programaciónLenguaje de programación
Lenguaje de programación
 
Algoritmos1
Algoritmos1Algoritmos1
Algoritmos1
 
Introducción al Lenguaje de Programación
Introducción al Lenguaje de ProgramaciónIntroducción al Lenguaje de Programación
Introducción al Lenguaje de Programación
 
Lenguajes autómatas.
Lenguajes autómatas.Lenguajes autómatas.
Lenguajes autómatas.
 
Compilador Funcionamiento
Compilador FuncionamientoCompilador Funcionamiento
Compilador Funcionamiento
 
Compiladores
CompiladoresCompiladores
Compiladores
 
Compilador
CompiladorCompilador
Compilador
 
Traducción de un programa: compilación, enlace de un programa, errores en tie...
Traducción de un programa: compilación, enlace de un programa, errores en tie...Traducción de un programa: compilación, enlace de un programa, errores en tie...
Traducción de un programa: compilación, enlace de un programa, errores en tie...
 
Arquitecturas de ordenadores y compiladores cruzados
Arquitecturas de ordenadores y compiladores cruzadosArquitecturas de ordenadores y compiladores cruzados
Arquitecturas de ordenadores y compiladores cruzados
 
Repuesto de expo de programacion
Repuesto de expo de programacionRepuesto de expo de programacion
Repuesto de expo de programacion
 
Algoritmos y programas
Algoritmos y programasAlgoritmos y programas
Algoritmos y programas
 
Historia de los compiladores
Historia de los compiladoresHistoria de los compiladores
Historia de los compiladores
 
Lenguajes de programacion22
Lenguajes de programacion22Lenguajes de programacion22
Lenguajes de programacion22
 

Destacado

Hagamos Un Cuento
Hagamos Un CuentoHagamos Un Cuento
Hagamos Un Cuentoguest4eccc
 
11 2007 Einkommensgerechtigkeit
11 2007 Einkommensgerechtigkeit11 2007 Einkommensgerechtigkeit
11 2007 EinkommensgerechtigkeitWerner Drizhal
 
Presentacion diseño...
Presentacion diseño...Presentacion diseño...
Presentacion diseño...Marksk8
 
Tema 1. el antiguo régimen
Tema 1.  el antiguo régimenTema 1.  el antiguo régimen
Tema 1. el antiguo régimenjesus ortiz
 
Mensajeras de la vida
Mensajeras de la vidaMensajeras de la vida
Mensajeras de la vidawilliam zea
 
Der Weg zur Liberalisierung des Agrarsektors im Welt-handelssystem
Der Weg zur Liberalisierung des  Agrarsektors im Welt-handelssystemDer Weg zur Liberalisierung des  Agrarsektors im Welt-handelssystem
Der Weg zur Liberalisierung des Agrarsektors im Welt-handelssystemSulay Abadia
 
UN Global Compact Impuls on Base of the Pyramid
UN Global Compact Impuls on Base of the PyramidUN Global Compact Impuls on Base of the Pyramid
UN Global Compact Impuls on Base of the PyramidMartin Herrndorf
 
Saturno Mark Y Carlota
Saturno Mark Y CarlotaSaturno Mark Y Carlota
Saturno Mark Y Carlotaandresprofe
 
Infoveranstaltung Office 2010 im BMVBS
Infoveranstaltung Office 2010 im BMVBSInfoveranstaltung Office 2010 im BMVBS
Infoveranstaltung Office 2010 im BMVBSMicky Roth
 
Hamburg Marathon - Die Crossmedia-Strategie
Hamburg Marathon - Die Crossmedia-StrategieHamburg Marathon - Die Crossmedia-Strategie
Hamburg Marathon - Die Crossmedia-StrategieC H
 

Destacado (16)

Carmen Saavedra Autobio
Carmen Saavedra AutobioCarmen Saavedra Autobio
Carmen Saavedra Autobio
 
Leon Gutierrez
Leon GutierrezLeon Gutierrez
Leon Gutierrez
 
Hagamos Un Cuento
Hagamos Un CuentoHagamos Un Cuento
Hagamos Un Cuento
 
11 2007 Einkommensgerechtigkeit
11 2007 Einkommensgerechtigkeit11 2007 Einkommensgerechtigkeit
11 2007 Einkommensgerechtigkeit
 
Presentacion diseño...
Presentacion diseño...Presentacion diseño...
Presentacion diseño...
 
Tema 1. el antiguo régimen
Tema 1.  el antiguo régimenTema 1.  el antiguo régimen
Tema 1. el antiguo régimen
 
Mensajeras de la vida
Mensajeras de la vidaMensajeras de la vida
Mensajeras de la vida
 
Peru
PeruPeru
Peru
 
Procedimiento para elaboración de sitio web
Procedimiento para elaboración de sitio webProcedimiento para elaboración de sitio web
Procedimiento para elaboración de sitio web
 
Der Weg zur Liberalisierung des Agrarsektors im Welt-handelssystem
Der Weg zur Liberalisierung des  Agrarsektors im Welt-handelssystemDer Weg zur Liberalisierung des  Agrarsektors im Welt-handelssystem
Der Weg zur Liberalisierung des Agrarsektors im Welt-handelssystem
 
UN Global Compact Impuls on Base of the Pyramid
UN Global Compact Impuls on Base of the PyramidUN Global Compact Impuls on Base of the Pyramid
UN Global Compact Impuls on Base of the Pyramid
 
Saturno Mark Y Carlota
Saturno Mark Y CarlotaSaturno Mark Y Carlota
Saturno Mark Y Carlota
 
WiSe 2013 | IT-Zertifikat: AMM - 00_Organisatorisches
WiSe 2013 | IT-Zertifikat: AMM - 00_OrganisatorischesWiSe 2013 | IT-Zertifikat: AMM - 00_Organisatorisches
WiSe 2013 | IT-Zertifikat: AMM - 00_Organisatorisches
 
Infoveranstaltung Office 2010 im BMVBS
Infoveranstaltung Office 2010 im BMVBSInfoveranstaltung Office 2010 im BMVBS
Infoveranstaltung Office 2010 im BMVBS
 
SoSem 2015 | Programmierpropädeutikum - 01_KickOff, Memory
SoSem 2015 | Programmierpropädeutikum - 01_KickOff, MemorySoSem 2015 | Programmierpropädeutikum - 01_KickOff, Memory
SoSem 2015 | Programmierpropädeutikum - 01_KickOff, Memory
 
Hamburg Marathon - Die Crossmedia-Strategie
Hamburg Marathon - Die Crossmedia-StrategieHamburg Marathon - Die Crossmedia-Strategie
Hamburg Marathon - Die Crossmedia-Strategie
 

Similar a Cap2

Similar a Cap2 (20)

H:\compiladores
H:\compiladoresH:\compiladores
H:\compiladores
 
C:\fakepath\compiladores
C:\fakepath\compiladoresC:\fakepath\compiladores
C:\fakepath\compiladores
 
Cap4 compiladores
Cap4 compiladoresCap4 compiladores
Cap4 compiladores
 
C:\fakepath\el software libre
C:\fakepath\el software libreC:\fakepath\el software libre
C:\fakepath\el software libre
 
C:\fakepath\el software libre
C:\fakepath\el software libreC:\fakepath\el software libre
C:\fakepath\el software libre
 
C:\fakepath\el software libre
C:\fakepath\el software libreC:\fakepath\el software libre
C:\fakepath\el software libre
 
C:\fakepath\compilador
C:\fakepath\compiladorC:\fakepath\compilador
C:\fakepath\compilador
 
C:\fakepath\el software libre
C:\fakepath\el software libreC:\fakepath\el software libre
C:\fakepath\el software libre
 
C:\fakepath\el software libre
C:\fakepath\el software libreC:\fakepath\el software libre
C:\fakepath\el software libre
 
Bison y flex
Bison y flexBison y flex
Bison y flex
 
introducción a lenguajes de programacion
introducción a lenguajes de programacionintroducción a lenguajes de programacion
introducción a lenguajes de programacion
 
Materia unidad compiladores
Materia unidad compiladoresMateria unidad compiladores
Materia unidad compiladores
 
Resumen1
Resumen1Resumen1
Resumen1
 
Unidad1 2 Lenguajes y automatas
Unidad1 2  Lenguajes y automatasUnidad1 2  Lenguajes y automatas
Unidad1 2 Lenguajes y automatas
 
Conceptos De Compilador
Conceptos De CompiladorConceptos De Compilador
Conceptos De Compilador
 
Conceptos de compilador
Conceptos de compiladorConceptos de compilador
Conceptos de compilador
 
El lenguaje c#
El lenguaje c#El lenguaje c#
El lenguaje c#
 
Introducción al lenguaje c# eidos
Introducción al lenguaje c# eidosIntroducción al lenguaje c# eidos
Introducción al lenguaje c# eidos
 
Introduccion (1)
Introduccion (1)Introduccion (1)
Introduccion (1)
 
Lenguajes de programacion tema 2_compiladores e interpretes
Lenguajes de programacion tema 2_compiladores e interpretesLenguajes de programacion tema 2_compiladores e interpretes
Lenguajes de programacion tema 2_compiladores e interpretes
 

Más de CJAO

Cap6
Cap6Cap6
Cap6CJAO
 
Cap5
Cap5Cap5
Cap5CJAO
 
Cap4
Cap4Cap4
Cap4CJAO
 
Cap3
Cap3Cap3
Cap3CJAO
 
Cap2
Cap2Cap2
Cap2CJAO
 
Cap1
Cap1Cap1
Cap1CJAO
 
Cap3 compiladores
Cap3 compiladoresCap3 compiladores
Cap3 compiladoresCJAO
 
Cap6
Cap6Cap6
Cap6CJAO
 
Cap5
Cap5Cap5
Cap5CJAO
 
Cap4
Cap4Cap4
Cap4CJAO
 
Cap3
Cap3Cap3
Cap3CJAO
 
Cap0
Cap0Cap0
Cap0CJAO
 
Cap5
Cap5Cap5
Cap5CJAO
 
Cap4
Cap4Cap4
Cap4CJAO
 
Cap3
Cap3Cap3
Cap3CJAO
 
Cap2
Cap2Cap2
Cap2CJAO
 
Cap1
Cap1Cap1
Cap1CJAO
 
Cap6
Cap6Cap6
Cap6CJAO
 
Cap10
Cap10Cap10
Cap10CJAO
 
Cap9
Cap9Cap9
Cap9CJAO
 

Más de CJAO (20)

Cap6
Cap6Cap6
Cap6
 
Cap5
Cap5Cap5
Cap5
 
Cap4
Cap4Cap4
Cap4
 
Cap3
Cap3Cap3
Cap3
 
Cap2
Cap2Cap2
Cap2
 
Cap1
Cap1Cap1
Cap1
 
Cap3 compiladores
Cap3 compiladoresCap3 compiladores
Cap3 compiladores
 
Cap6
Cap6Cap6
Cap6
 
Cap5
Cap5Cap5
Cap5
 
Cap4
Cap4Cap4
Cap4
 
Cap3
Cap3Cap3
Cap3
 
Cap0
Cap0Cap0
Cap0
 
Cap5
Cap5Cap5
Cap5
 
Cap4
Cap4Cap4
Cap4
 
Cap3
Cap3Cap3
Cap3
 
Cap2
Cap2Cap2
Cap2
 
Cap1
Cap1Cap1
Cap1
 
Cap6
Cap6Cap6
Cap6
 
Cap10
Cap10Cap10
Cap10
 
Cap9
Cap9Cap9
Cap9
 

Último

05 Fenomenos fisicos y quimicos de la materia.pdf
05 Fenomenos fisicos y quimicos de la materia.pdf05 Fenomenos fisicos y quimicos de la materia.pdf
05 Fenomenos fisicos y quimicos de la materia.pdfRAMON EUSTAQUIO CARO BAYONA
 
sesión de aprendizaje 4 E1 Exposición oral.pdf
sesión de aprendizaje 4 E1 Exposición oral.pdfsesión de aprendizaje 4 E1 Exposición oral.pdf
sesión de aprendizaje 4 E1 Exposición oral.pdfpatriciavsquezbecerr
 
periodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicasperiodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicas123yudy
 
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMALVOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMALEDUCCUniversidadCatl
 
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJOTUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJOweislaco
 
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...fcastellanos3
 
Fichas de matemática DE PRIMERO DE SECUNDARIA.pdf
Fichas de matemática DE PRIMERO DE SECUNDARIA.pdfFichas de matemática DE PRIMERO DE SECUNDARIA.pdf
Fichas de matemática DE PRIMERO DE SECUNDARIA.pdfssuser50d1252
 
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdfEstrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdfAlfredoRamirez953210
 
SIMULACROS Y SIMULACIONES DE SISMO 2024.docx
SIMULACROS Y SIMULACIONES DE SISMO 2024.docxSIMULACROS Y SIMULACIONES DE SISMO 2024.docx
SIMULACROS Y SIMULACIONES DE SISMO 2024.docxLudy Ventocilla Napanga
 
Los Nueve Principios del Desempeño de la Sostenibilidad
Los Nueve Principios del Desempeño de la SostenibilidadLos Nueve Principios del Desempeño de la Sostenibilidad
Los Nueve Principios del Desempeño de la SostenibilidadJonathanCovena1
 
3. Pedagogía de la Educación: Como objeto de la didáctica.ppsx
3. Pedagogía de la Educación: Como objeto de la didáctica.ppsx3. Pedagogía de la Educación: Como objeto de la didáctica.ppsx
3. Pedagogía de la Educación: Como objeto de la didáctica.ppsxJuanpm27
 
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdf
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdfFisiologia.Articular. 3 Kapandji.6a.Ed.pdf
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdfcoloncopias5
 
Día de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialDía de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialpatriciaines1993
 
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfTarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfManuel Molina
 
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024gharce
 
Fichas de Matemática TERCERO DE SECUNDARIA.pdf
Fichas de Matemática TERCERO DE SECUNDARIA.pdfFichas de Matemática TERCERO DE SECUNDARIA.pdf
Fichas de Matemática TERCERO DE SECUNDARIA.pdfssuser50d1252
 

Último (20)

05 Fenomenos fisicos y quimicos de la materia.pdf
05 Fenomenos fisicos y quimicos de la materia.pdf05 Fenomenos fisicos y quimicos de la materia.pdf
05 Fenomenos fisicos y quimicos de la materia.pdf
 
DIA INTERNACIONAL DAS FLORESTAS .
DIA INTERNACIONAL DAS FLORESTAS         .DIA INTERNACIONAL DAS FLORESTAS         .
DIA INTERNACIONAL DAS FLORESTAS .
 
VISITA À PROTEÇÃO CIVIL _
VISITA À PROTEÇÃO CIVIL                  _VISITA À PROTEÇÃO CIVIL                  _
VISITA À PROTEÇÃO CIVIL _
 
sesión de aprendizaje 4 E1 Exposición oral.pdf
sesión de aprendizaje 4 E1 Exposición oral.pdfsesión de aprendizaje 4 E1 Exposición oral.pdf
sesión de aprendizaje 4 E1 Exposición oral.pdf
 
periodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicasperiodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicas
 
PPTX: La luz brilla en la oscuridad.pptx
PPTX: La luz brilla en la oscuridad.pptxPPTX: La luz brilla en la oscuridad.pptx
PPTX: La luz brilla en la oscuridad.pptx
 
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMALVOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
 
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJOTUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
 
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdfTema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
 
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
 
Fichas de matemática DE PRIMERO DE SECUNDARIA.pdf
Fichas de matemática DE PRIMERO DE SECUNDARIA.pdfFichas de matemática DE PRIMERO DE SECUNDARIA.pdf
Fichas de matemática DE PRIMERO DE SECUNDARIA.pdf
 
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdfEstrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
 
SIMULACROS Y SIMULACIONES DE SISMO 2024.docx
SIMULACROS Y SIMULACIONES DE SISMO 2024.docxSIMULACROS Y SIMULACIONES DE SISMO 2024.docx
SIMULACROS Y SIMULACIONES DE SISMO 2024.docx
 
Los Nueve Principios del Desempeño de la Sostenibilidad
Los Nueve Principios del Desempeño de la SostenibilidadLos Nueve Principios del Desempeño de la Sostenibilidad
Los Nueve Principios del Desempeño de la Sostenibilidad
 
3. Pedagogía de la Educación: Como objeto de la didáctica.ppsx
3. Pedagogía de la Educación: Como objeto de la didáctica.ppsx3. Pedagogía de la Educación: Como objeto de la didáctica.ppsx
3. Pedagogía de la Educación: Como objeto de la didáctica.ppsx
 
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdf
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdfFisiologia.Articular. 3 Kapandji.6a.Ed.pdf
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdf
 
Día de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialDía de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundial
 
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfTarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
 
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
 
Fichas de Matemática TERCERO DE SECUNDARIA.pdf
Fichas de Matemática TERCERO DE SECUNDARIA.pdfFichas de Matemática TERCERO DE SECUNDARIA.pdf
Fichas de Matemática TERCERO DE SECUNDARIA.pdf
 

Cap2

  • 1. Funciones y Clasificación de los Compiladores Capítulo 2 Materia: Compiladores Docente: Ing. Carlos J. Archondo O. 1
  • 2. Funciones Un compilador es: Un programa que lee un programa escrito en un lenguaje, El lenguaje fuente. Y lo traduce a un programa equivalente en otro lenguaje, El lenguaje objeto. Como parte importante de este proceso de traducción, el compilador informa a su usuario de la presencia de errores en el programa fuente. Para cada lenguaje de programación se requiere un compilador separado. El compilador traduce todo el programa antes de ejecutarlo. Los compiladores son programas de traducción insertados en la memoria por el sistema operativo para convertir programas de cómputo en pulsaciones electrónicas ejecutables (lenguaje de máquina). 2 Materia: Compiladores Docente: Ing. Carlos J. Archondo O.
  • 3. Diversidad de Compiladores A primera vista, la diversidad de compiladores puede parecer abrumadora. Hay miles de lenguajes fuente: Desde los lenguajes de programación tradicionales, como FORTRAN o Pascal, hasta los lenguajes especializados que han surgido virtualmente en todas las áreas de aplicación de la informática. Los lenguajes objeto son igualmente variados. Un lenguaje objeto puede ser otro lenguaje de programación o el lenguaje de máquina de cualquier computadora entre un microprocesador y una supercomputadora. A pesar de existir una aparente complejidad por la clasificación de los compiladores, las tareas básicas que debe realizar cualquier compilador son esencialmente las mismas. Al comprender tales tareas, se pueden construir compiladores para una gran diversidad de lenguajes fuente y máquinas objeto utilizando las mismas técnicas básicas. 3 Materia: Compiladores Docente: Ing. Carlos J. Archondo O.
  • 4. Origen de los Compiladores Nuestro conocimiento sobre cómo organizar y escribir compiladores ha aumentado mucho desde que comenzaron a aparecer los primeros compiladores a principios de los años cincuenta. Es difícil dar una fecha exacta de la aparición del primer compilador, porque en un principio gran parte del trabajo de experimentación y aplicación se realizó de manera independiente por varios grupos. Gran parte de los primeros trabajos de compilación estaba relacionada con la traducción de fórmulas aritméticas a código de máquina. 4 Materia: Compiladores Docente: Ing. Carlos J. Archondo O.
  • 5. Técnicas Sistemáticas En la década de 1950, se consideró a los compiladores como programas notablemente difíciles de escribir. EL primer compilador de FORTRAN, por ejemplo, necesitó para su implantación de 18 años de trabajo en grupo (Backus y otros [1975]). Desde entonces, se han descubierto técnicas sistemáticas para manejar muchas de las importantes tareas que surgen en la compilación. También se han desarrollado buenos lenguajes de implantación, entornos de programación y herramientas de software. Con estos avances, puede hacerse un compilador real incluso como proyecto de estudio sobre diseño de compiladores. 5 Materia: Compiladores Docente: Ing. Carlos J. Archondo O.
  • 6. Partes de la Compilación En la compilación hay dos partes: Análisis. La parte del análisis divide al programa fuente en sus elementos componentes y crea una representación intermedia. Durante el análisis se determina las operaciones que implica el programa fuente y se registra en una estructura jerárquica llamada árbol. Síntesis. De las dos partes, la síntesis es la que requiere las técnicas más especializadas. 6 Materia: Compiladores Docente: Ing. Carlos J. Archondo O.
  • 7. Árbol Sintáctico A menudo, se usa una clase especial de árbol llamado árbol sintáctico, donde cada nodo representa una operación y los hijos de un nodo son los argumentos de la operación. Por ejemplo, en la figura siguiente se muestra un árbol sintáctico para una proposición de asignación. Posición = inicial + velocidad * 60 7 Materia: Compiladores Docente: Ing. Carlos J. Archondo O.
  • 8. Clasificación 8 Materia: Compiladores Docente: Ing. Carlos J. Archondo O.
  • 9. Compilador de Una Sola Pasada Examina el código fuente una vez. Generando el código o programa objeto. 9 Materia: Compiladores Docente: Ing. Carlos J. Archondo O.
  • 10. Compilador de Pasadas Múltiples Requieren pasos intermedios para producir un código en otro lenguaje. Y una pasada final para producir y optimizar el código producido durante los pasos anteriores. 10 Materia: Compiladores Docente: Ing. Carlos J. Archondo O.
  • 11. Compilador de Optimación Lee un código fuente. Lo analiza. Descubre errores potenciales sin ejecutar el programa. 11 Materia: Compiladores Docente: Ing. Carlos J. Archondo O.
  • 12. Compiladores Incrementales Generan un código objeto instrucción por instrucción (en vez de hacerlo para todo el programa) cuando el usuario teclea cada orden individual. El otro tipo de compiladores requiere que todos los enunciados o instrucciones se compilen conjuntamente. 12 Materia: Compiladores Docente: Ing. Carlos J. Archondo O.
  • 13. Compilador Ensamblador Es aquel que trabajará con el lenguaje ensamblador como lenguaje fuente. Posee una estructura sencilla. 13 Materia: Compiladores Docente: Ing. Carlos J. Archondo O.
  • 14. Compilador Cruzado Se genera código en lenguaje objeto para una máquina diferente de la que se está utilizando para compilar. Es perfectamente normal construir un compilador de Pascal que genere código para MS-DOS y que el compilador funcione en Linux y se haya escrito en C++. 14 Materia: Compiladores Docente: Ing. Carlos J. Archondo O.
  • 15. Compilador con Montador Compilador que “compila” distintos módulos de forma independiente y después es capaz de enlazarlos. 15 Materia: Compiladores Docente: Ing. Carlos J. Archondo O.
  • 16. Autocompilador Compilador que está escrito en el mismo lenguaje que va a compilar. Evidentemente, no se puede ejecutar la primera vez. Sirve para hacer ampliaciones al lenguaje, mejorar el código generado, etc. 16 Materia: Compiladores Docente: Ing. Carlos J. Archondo O.
  • 17. Metacompilador Es sinónimo de compilador de compiladores y se refiere a un programa que recibe como entrada las especificaciones del lenguaje para el que se desea obtener un compilador y genera como salida el compilador para ese lenguaje. El desarrollo de los metacompiladores se encuentra con la dificultad de unir la generación de código con la parte de análisis. Lo que sí se han desarrollado son generadores de analizadores léxicos y sintácticos. Por ejemplo, los conocidos: LEX: generador de analizadores léxicos YACC: generador de analizadores sintácticos desarrollados para UNIX. Los inconvenientes que tienen son que los analizadores que generan no son muy eficientes. 17 Materia: Compiladores Docente: Ing. Carlos J. Archondo O.
  • 18. Descompilador Es un programa que acepta como entrada código máquina y lo traduce a un lenguaje de alto nivel. Realizando el proceso inverso a la compilación. 18 Materia: Compiladores Docente: Ing. Carlos J. Archondo O.