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\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
 
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

Sesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxSesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxMaritzaRetamozoVera
 
la unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fiscala unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fiscaeliseo91
 
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptxTECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptxKarlaMassielMartinez
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAEl Fortí
 
UNIDAD DPCC. 2DO. DE SECUNDARIA DEL 2024
UNIDAD DPCC. 2DO. DE  SECUNDARIA DEL 2024UNIDAD DPCC. 2DO. DE  SECUNDARIA DEL 2024
UNIDAD DPCC. 2DO. DE SECUNDARIA DEL 2024AndreRiva2
 
programa dia de las madres 10 de mayo para evento
programa dia de las madres 10 de mayo  para eventoprograma dia de las madres 10 de mayo  para evento
programa dia de las madres 10 de mayo para eventoDiegoMtsS
 
texto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticostexto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticosisabeltrejoros
 
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIARAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIACarlos Campaña Montenegro
 
Lecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadLecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadAlejandrino Halire Ccahuana
 
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.pptDE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.pptELENA GALLARDO PAÚLS
 
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADOJosé Luis Palma
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.José Luis Palma
 
Historia y técnica del collage en el arte
Historia y técnica del collage en el arteHistoria y técnica del collage en el arte
Historia y técnica del collage en el arteRaquel Martín Contreras
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADauxsoporte
 
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxOLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxjosetrinidadchavez
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMarjorie Burga
 
30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdfgimenanahuel
 
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSTEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSjlorentemartos
 

Último (20)

Sesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxSesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docx
 
la unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fiscala unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fisca
 
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptxTECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
 
UNIDAD DPCC. 2DO. DE SECUNDARIA DEL 2024
UNIDAD DPCC. 2DO. DE  SECUNDARIA DEL 2024UNIDAD DPCC. 2DO. DE  SECUNDARIA DEL 2024
UNIDAD DPCC. 2DO. DE SECUNDARIA DEL 2024
 
programa dia de las madres 10 de mayo para evento
programa dia de las madres 10 de mayo  para eventoprograma dia de las madres 10 de mayo  para evento
programa dia de las madres 10 de mayo para evento
 
texto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticostexto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticos
 
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIARAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
 
Sesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdfSesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdf
 
Power Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptxPower Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptx
 
Lecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadLecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdad
 
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.pptDE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
 
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.
 
Historia y técnica del collage en el arte
Historia y técnica del collage en el arteHistoria y técnica del collage en el arte
Historia y técnica del collage en el arte
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDAD
 
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxOLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grande
 
30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf
 
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSTEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
 

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.