SlideShare una empresa de Scribd logo
1 de 11
Herramientas de Análisis de Programas Fuente Capítulo 3 Materia: Compiladores Docente: Ing. Carlos J. Archondo O. 1
Introducción Muchas herramientas de software que manipulan programas fuente realizan primero algún tipo de análisis.  Algunos ejemplos de tales herramientas son: Editores de estructuras. Impresoras estéticas. Verificadores estáticos. Intérpretes. 2 Materia: Compiladores Docente: Ing. Carlos J. Archondo O.
Editores de Estructuras ,[object Object]
El editor de estructuras no sólo realiza las funciones de creación y modificación de textos de un editor de textos ordinario, sino que también analiza el texto del programa imponiendo al programa fuente una estructura jerárquica apropiada.
De esa manera, el editor de estructuras puede realizar tareas adicionales útiles para la preparación de programas.
Por ejemplo:Puede comprobar si la entrada está formada correctamente. Puede proporcionar palabras clave de manera automática. Puede saltar desde un begin o un paréntesis izquierdo hasta su correspondiente end o paréntesis derecho.  Además, la salida de tal editor suele ser similar a la salida de la fase del análisis de un compilador. 3 Materia: Compiladores Docente: Ing. Carlos J. Archondo O.
Impresoras Estéticas ,[object Object]
Por ejemplo:Los comentarios pueden aparecer con un tipo de letra especial. Las proposiciones pueden aparecer con una indentación proporcional a la profundidad de su anidamiento en la organización jerárquica de las proposiciones. 4 Materia: Compiladores Docente: Ing. Carlos J. Archondo O.
Verificadores Estáticos Un verificador estático lee un programa, lo analiza e intenta descubrir errores potenciales sin ejecutar el programa.  La parte del análisis es similar a la que se encuentra en los compiladores de optimación.  Así un verificador estático puede detectar si hay partes de un programa que nunca se podrán ejecutar o si cierta variable se usa antes de ser definida.  Además, puede detectar errores de lógica como intentar utilizar una variable real como apuntador, empleando las técnicas de verificación de tipos. 5 Materia: Compiladores Docente: Ing. Carlos J. Archondo O.
Intérpretes ,[object Object]
Para una proposición de asignación, por ejemplo, un intérprete podría:Construir un árbol y después efectuar las operaciones de los nodos conforme “recorre” el árbol.  En la raíz descubriría que tiene que realizar una asignación, y llamaría a una rutina para evaluar la expresión siguiente y después almacenaría el valor resultante en la localidad de memoria asignada con el identificador posición.  En el hijo siguiente de la raíz, la rutina descubriría que tiene que calcular la suma de dos expresiones.  Se llamaría a si misma de manera recursiva para calcular el valor de la variable inicial. 6 Materia: Compiladores Docente: Ing. Carlos J. Archondo O.

Más contenido relacionado

La actualidad más candente

Proceso de Compilacion
Proceso de CompilacionProceso de Compilacion
Proceso de Compilacionguest9a91e2
 
Clase6 ejemplo analisis lexico dev cpp
Clase6 ejemplo analisis lexico dev cppClase6 ejemplo analisis lexico dev cpp
Clase6 ejemplo analisis lexico dev cppInfomania pro
 
Lenguaje de programacion c++ basico 2da parte instalación del compilador
Lenguaje de programacion c++ basico 2da parte instalación del compiladorLenguaje de programacion c++ basico 2da parte instalación del compilador
Lenguaje de programacion c++ basico 2da parte instalación del compiladorDunkherz
 
Estructura programa c++
Estructura programa c++Estructura programa c++
Estructura programa c++UVM
 
Clase3 guia1-introduccion-compiladores-conceptos
Clase3 guia1-introduccion-compiladores-conceptosClase3 guia1-introduccion-compiladores-conceptos
Clase3 guia1-introduccion-compiladores-conceptosInfomania pro
 
DiseñO De Compilador
DiseñO De CompiladorDiseñO De Compilador
DiseñO De CompiladorBigbossH
 
Lenguajesdeprogramacion c nivel1-unidad2
Lenguajesdeprogramacion c nivel1-unidad2Lenguajesdeprogramacion c nivel1-unidad2
Lenguajesdeprogramacion c nivel1-unidad2camnav
 
Actividad 3
Actividad 3Actividad 3
Actividad 3maryr_
 
ANALIZADOR SINTACTICO: INTRODUCION, CONCEPTOS, CARACTERISTICAS
ANALIZADOR SINTACTICO: INTRODUCION, CONCEPTOS, CARACTERISTICAS ANALIZADOR SINTACTICO: INTRODUCION, CONCEPTOS, CARACTERISTICAS
ANALIZADOR SINTACTICO: INTRODUCION, CONCEPTOS, CARACTERISTICAS Infomania pro
 
Investigacion sobre traductor, interprete y compilador
Investigacion sobre traductor, interprete y compilador   Investigacion sobre traductor, interprete y compilador
Investigacion sobre traductor, interprete y compilador ADOLFOISAIASGARCIASI
 
Clase8 2-explicacion analizador lexico-sintactico mini dev
Clase8 2-explicacion analizador lexico-sintactico mini devClase8 2-explicacion analizador lexico-sintactico mini dev
Clase8 2-explicacion analizador lexico-sintactico mini devInfomania pro
 
Unidad 2 funciones
Unidad 2 funcionesUnidad 2 funciones
Unidad 2 funcionesDenisse C
 
Compilador Usando Jflex y Cup
Compilador Usando Jflex y CupCompilador Usando Jflex y Cup
Compilador Usando Jflex y Cupditopo
 
Análisis Semántico con Cup
Análisis Semántico con CupAnálisis Semántico con Cup
Análisis Semántico con CupLAUNASA NOVENO B
 
Estructura de un rograma
Estructura de un rogramaEstructura de un rograma
Estructura de un rogramaivanjvic
 

La actualidad más candente (20)

Proceso de Compilacion
Proceso de CompilacionProceso de Compilacion
Proceso de Compilacion
 
Clase6 ejemplo analisis lexico dev cpp
Clase6 ejemplo analisis lexico dev cppClase6 ejemplo analisis lexico dev cpp
Clase6 ejemplo analisis lexico dev cpp
 
Estructura basica para c++
Estructura basica para c++Estructura basica para c++
Estructura basica para c++
 
Lenguaje de programacion c++ basico 2da parte instalación del compilador
Lenguaje de programacion c++ basico 2da parte instalación del compiladorLenguaje de programacion c++ basico 2da parte instalación del compilador
Lenguaje de programacion c++ basico 2da parte instalación del compilador
 
Estructura programa c++
Estructura programa c++Estructura programa c++
Estructura programa c++
 
Clase3 guia1-introduccion-compiladores-conceptos
Clase3 guia1-introduccion-compiladores-conceptosClase3 guia1-introduccion-compiladores-conceptos
Clase3 guia1-introduccion-compiladores-conceptos
 
DiseñO De Compilador
DiseñO De CompiladorDiseñO De Compilador
DiseñO De Compilador
 
Lenguajesdeprogramacion c nivel1-unidad2
Lenguajesdeprogramacion c nivel1-unidad2Lenguajesdeprogramacion c nivel1-unidad2
Lenguajesdeprogramacion c nivel1-unidad2
 
Actividad 3
Actividad 3Actividad 3
Actividad 3
 
ANALIZADOR SINTACTICO: INTRODUCION, CONCEPTOS, CARACTERISTICAS
ANALIZADOR SINTACTICO: INTRODUCION, CONCEPTOS, CARACTERISTICAS ANALIZADOR SINTACTICO: INTRODUCION, CONCEPTOS, CARACTERISTICAS
ANALIZADOR SINTACTICO: INTRODUCION, CONCEPTOS, CARACTERISTICAS
 
Lenguaje c ++ guía para programadores
Lenguaje c ++  guía para programadoresLenguaje c ++  guía para programadores
Lenguaje c ++ guía para programadores
 
Investigacion sobre traductor, interprete y compilador
Investigacion sobre traductor, interprete y compilador   Investigacion sobre traductor, interprete y compilador
Investigacion sobre traductor, interprete y compilador
 
Clase8 2-explicacion analizador lexico-sintactico mini dev
Clase8 2-explicacion analizador lexico-sintactico mini devClase8 2-explicacion analizador lexico-sintactico mini dev
Clase8 2-explicacion analizador lexico-sintactico mini dev
 
Pascal
PascalPascal
Pascal
 
Unidad 2 funciones
Unidad 2 funcionesUnidad 2 funciones
Unidad 2 funciones
 
C++
C++C++
C++
 
Estructura básica de pascal
Estructura básica de pascalEstructura básica de pascal
Estructura básica de pascal
 
Compilador Usando Jflex y Cup
Compilador Usando Jflex y CupCompilador Usando Jflex y Cup
Compilador Usando Jflex y Cup
 
Análisis Semántico con Cup
Análisis Semántico con CupAnálisis Semántico con Cup
Análisis Semántico con Cup
 
Estructura de un rograma
Estructura de un rogramaEstructura de un rograma
Estructura de un rograma
 

Destacado

Vorarlberg Osterreich Jantjebeton
Vorarlberg Osterreich JantjebetonVorarlberg Osterreich Jantjebeton
Vorarlberg Osterreich JantjebetonBeatris Lopes
 
Pacie
PaciePacie
PacieCJAO
 
Arts Education Monitoring System
Arts Education Monitoring SystemArts Education Monitoring System
Arts Education Monitoring SystemEDUCULT
 
Austauschschüler aus Taiwan suchen Gastfamilie, ab Sommer 2014
Austauschschüler aus Taiwan suchen Gastfamilie, ab Sommer 2014Austauschschüler aus Taiwan suchen Gastfamilie, ab Sommer 2014
Austauschschüler aus Taiwan suchen Gastfamilie, ab Sommer 2014Klaus Bardenhagen
 
El lideratge en la cooperació escolar
El lideratge en la cooperació escolarEl lideratge en la cooperació escolar
El lideratge en la cooperació escolarElisia fs
 
Proyecto Medio ambiente.ESB 6
Proyecto Medio ambiente.ESB 6Proyecto Medio ambiente.ESB 6
Proyecto Medio ambiente.ESB 6Argentina
 
Imagebroschüre Move Productions
Imagebroschüre Move ProductionsImagebroschüre Move Productions
Imagebroschüre Move ProductionsMove Productions
 
Sampurna Arogyasathi Namasmarn Marathi Bestseller Dr. Shriniwas Kashalikar
Sampurna Arogyasathi Namasmarn Marathi Bestseller Dr. Shriniwas KashalikarSampurna Arogyasathi Namasmarn Marathi Bestseller Dr. Shriniwas Kashalikar
Sampurna Arogyasathi Namasmarn Marathi Bestseller Dr. Shriniwas Kashalikardrsolapurkar
 
Aprendizajecooperativo 130730132401-phpapp02 (1)
Aprendizajecooperativo 130730132401-phpapp02 (1)Aprendizajecooperativo 130730132401-phpapp02 (1)
Aprendizajecooperativo 130730132401-phpapp02 (1)E Hernandez
 
Kulturelle Bildung in Europa
Kulturelle Bildung in EuropaKulturelle Bildung in Europa
Kulturelle Bildung in EuropaEDUCULT
 
FileMaker Go 12: Entwicklerhandbuch
FileMaker Go 12: EntwicklerhandbuchFileMaker Go 12: Entwicklerhandbuch
FileMaker Go 12: EntwicklerhandbuchFileMaker GmbH
 

Destacado (16)

Vorarlberg Osterreich Jantjebeton
Vorarlberg Osterreich JantjebetonVorarlberg Osterreich Jantjebeton
Vorarlberg Osterreich Jantjebeton
 
Pacie
PaciePacie
Pacie
 
Ifes Ergebnisse
Ifes ErgebnisseIfes Ergebnisse
Ifes Ergebnisse
 
Arts Education Monitoring System
Arts Education Monitoring SystemArts Education Monitoring System
Arts Education Monitoring System
 
Austauschschüler aus Taiwan suchen Gastfamilie, ab Sommer 2014
Austauschschüler aus Taiwan suchen Gastfamilie, ab Sommer 2014Austauschschüler aus Taiwan suchen Gastfamilie, ab Sommer 2014
Austauschschüler aus Taiwan suchen Gastfamilie, ab Sommer 2014
 
Sistema nervioso
Sistema nerviosoSistema nervioso
Sistema nervioso
 
El lideratge en la cooperació escolar
El lideratge en la cooperació escolarEl lideratge en la cooperació escolar
El lideratge en la cooperació escolar
 
Proyecto Medio ambiente.ESB 6
Proyecto Medio ambiente.ESB 6Proyecto Medio ambiente.ESB 6
Proyecto Medio ambiente.ESB 6
 
Imagebroschüre Move Productions
Imagebroschüre Move ProductionsImagebroschüre Move Productions
Imagebroschüre Move Productions
 
Sampurna Arogyasathi Namasmarn Marathi Bestseller Dr. Shriniwas Kashalikar
Sampurna Arogyasathi Namasmarn Marathi Bestseller Dr. Shriniwas KashalikarSampurna Arogyasathi Namasmarn Marathi Bestseller Dr. Shriniwas Kashalikar
Sampurna Arogyasathi Namasmarn Marathi Bestseller Dr. Shriniwas Kashalikar
 
Fotoprotokoll
FotoprotokollFotoprotokoll
Fotoprotokoll
 
Tema 7
Tema 7Tema 7
Tema 7
 
Aprendizajecooperativo 130730132401-phpapp02 (1)
Aprendizajecooperativo 130730132401-phpapp02 (1)Aprendizajecooperativo 130730132401-phpapp02 (1)
Aprendizajecooperativo 130730132401-phpapp02 (1)
 
MISIONEROS
MISIONEROSMISIONEROS
MISIONEROS
 
Kulturelle Bildung in Europa
Kulturelle Bildung in EuropaKulturelle Bildung in Europa
Kulturelle Bildung in Europa
 
FileMaker Go 12: Entwicklerhandbuch
FileMaker Go 12: EntwicklerhandbuchFileMaker Go 12: Entwicklerhandbuch
FileMaker Go 12: Entwicklerhandbuch
 

Similar a Cap3

Similar a Cap3 (20)

Herramientas de software
Herramientas de softwareHerramientas de software
Herramientas de software
 
Procedimiento Para Utilizar Flex Y Bison
Procedimiento Para Utilizar Flex Y Bison Procedimiento Para Utilizar Flex Y Bison
Procedimiento Para Utilizar Flex Y Bison
 
Compiladores (1) pedro vasques
Compiladores (1) pedro vasquesCompiladores (1) pedro vasques
Compiladores (1) pedro vasques
 
Cap4 compiladores
Cap4 compiladoresCap4 compiladores
Cap4 compiladores
 
Cap4
Cap4Cap4
Cap4
 
Compiladores
CompiladoresCompiladores
Compiladores
 
Estructura de un compilador 2
Estructura de un compilador 2Estructura de un compilador 2
Estructura de un compilador 2
 
Grupo 1 proceso de lenguajes i
Grupo 1 proceso de lenguajes iGrupo 1 proceso de lenguajes i
Grupo 1 proceso de lenguajes i
 
Programa
ProgramaPrograma
Programa
 
Documeto compilardorcontadorletras
Documeto compilardorcontadorletrasDocumeto compilardorcontadorletras
Documeto compilardorcontadorletras
 
Compiladores Ex..ppt
Compiladores Ex..pptCompiladores Ex..ppt
Compiladores Ex..ppt
 
Fundamentos de Programación
Fundamentos de ProgramaciónFundamentos de Programación
Fundamentos de Programación
 
Ikgi
IkgiIkgi
Ikgi
 
Resumencap1 carmen vargas_jeremycamacho
Resumencap1 carmen vargas_jeremycamachoResumencap1 carmen vargas_jeremycamacho
Resumencap1 carmen vargas_jeremycamacho
 
TEMA-2 Estructura de un programa en C.pptx
TEMA-2 Estructura de un programa en C.pptxTEMA-2 Estructura de un programa en C.pptx
TEMA-2 Estructura de un programa en C.pptx
 
Unidad3 130504222102-phpapp02
Unidad3 130504222102-phpapp02Unidad3 130504222102-phpapp02
Unidad3 130504222102-phpapp02
 
Compiladores
CompiladoresCompiladores
Compiladores
 
Compiladores y analizador lexicos
Compiladores y analizador lexicosCompiladores y analizador lexicos
Compiladores y analizador lexicos
 
Tutorial de visual c++
Tutorial de visual c++Tutorial de visual c++
Tutorial de visual c++
 
Tutorial de visual C++
Tutorial de visual C++Tutorial de visual C++
Tutorial de visual C++
 

Más de CJAO

Cap6
Cap6Cap6
Cap6CJAO
 
Cap5
Cap5Cap5
Cap5CJAO
 
Cap4
Cap4Cap4
Cap4CJAO
 
Cap3
Cap3Cap3
Cap3CJAO
 
Cap2
Cap2Cap2
Cap2CJAO
 
Cap1
Cap1Cap1
Cap1CJAO
 
Cap2 compiladores
Cap2 compiladoresCap2 compiladores
Cap2 compiladoresCJAO
 
Cap1 compiladores
Cap1 compiladoresCap1 compiladores
Cap1 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
 

Más de CJAO (20)

Cap6
Cap6Cap6
Cap6
 
Cap5
Cap5Cap5
Cap5
 
Cap4
Cap4Cap4
Cap4
 
Cap3
Cap3Cap3
Cap3
 
Cap2
Cap2Cap2
Cap2
 
Cap1
Cap1Cap1
Cap1
 
Cap2 compiladores
Cap2 compiladoresCap2 compiladores
Cap2 compiladores
 
Cap1 compiladores
Cap1 compiladoresCap1 compiladores
Cap1 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
 

Último

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
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxAna Fernandez
 
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
 
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
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Lourdes Feria
 
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
 
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.amayarogel
 
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
 
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxzulyvero07
 
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 empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...JonathanCovena1
 
cortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuacortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuaDANNYISAACCARVAJALGA
 
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
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzprofefilete
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADauxsoporte
 
Manual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdfManual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdfMaryRotonda1
 

Último (20)

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
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docx
 
Presentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza MultigradoPresentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza Multigrado
 
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
 
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
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...
 
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.
 
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.
 
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
 
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
 
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 empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...
 
cortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuacortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahua
 
Power Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptxPower Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptx
 
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
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDAD
 
Manual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdfManual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdf
 

Cap3

  • 1. Herramientas de Análisis de Programas Fuente Capítulo 3 Materia: Compiladores Docente: Ing. Carlos J. Archondo O. 1
  • 2. Introducción Muchas herramientas de software que manipulan programas fuente realizan primero algún tipo de análisis. Algunos ejemplos de tales herramientas son: Editores de estructuras. Impresoras estéticas. Verificadores estáticos. Intérpretes. 2 Materia: Compiladores Docente: Ing. Carlos J. Archondo O.
  • 3.
  • 4. El editor de estructuras no sólo realiza las funciones de creación y modificación de textos de un editor de textos ordinario, sino que también analiza el texto del programa imponiendo al programa fuente una estructura jerárquica apropiada.
  • 5. De esa manera, el editor de estructuras puede realizar tareas adicionales útiles para la preparación de programas.
  • 6. Por ejemplo:Puede comprobar si la entrada está formada correctamente. Puede proporcionar palabras clave de manera automática. Puede saltar desde un begin o un paréntesis izquierdo hasta su correspondiente end o paréntesis derecho. Además, la salida de tal editor suele ser similar a la salida de la fase del análisis de un compilador. 3 Materia: Compiladores Docente: Ing. Carlos J. Archondo O.
  • 7.
  • 8. Por ejemplo:Los comentarios pueden aparecer con un tipo de letra especial. Las proposiciones pueden aparecer con una indentación proporcional a la profundidad de su anidamiento en la organización jerárquica de las proposiciones. 4 Materia: Compiladores Docente: Ing. Carlos J. Archondo O.
  • 9. Verificadores Estáticos Un verificador estático lee un programa, lo analiza e intenta descubrir errores potenciales sin ejecutar el programa. La parte del análisis es similar a la que se encuentra en los compiladores de optimación. Así un verificador estático puede detectar si hay partes de un programa que nunca se podrán ejecutar o si cierta variable se usa antes de ser definida. Además, puede detectar errores de lógica como intentar utilizar una variable real como apuntador, empleando las técnicas de verificación de tipos. 5 Materia: Compiladores Docente: Ing. Carlos J. Archondo O.
  • 10.
  • 11. Para una proposición de asignación, por ejemplo, un intérprete podría:Construir un árbol y después efectuar las operaciones de los nodos conforme “recorre” el árbol. En la raíz descubriría que tiene que realizar una asignación, y llamaría a una rutina para evaluar la expresión siguiente y después almacenaría el valor resultante en la localidad de memoria asignada con el identificador posición. En el hijo siguiente de la raíz, la rutina descubriría que tiene que calcular la suma de dos expresiones. Se llamaría a si misma de manera recursiva para calcular el valor de la variable inicial. 6 Materia: Compiladores Docente: Ing. Carlos J. Archondo O.
  • 12. Flex:Generador de Analizadores Léxicos Materia: Compiladores Docente: Ing. Carlos J. Archondo O. 7 Flex es una herramienta para generar scanners: Programas que reconocen patrones léxicos en un texto. Flex lee los ficheros de entrada dados, o la entrada estándar si no se le ha indicado ningún nombre de fichero, con la descripción de un escáner a generar. La descripción se encuentra en forma de parejas de expresiones regulares y código C, denominadas reglas. Flex genera como salida un fichero fuente en C, `lex.yy.c', que define una rutina `yylex()'. Este fichero se compila y se enlaza con la librería `-lfl' para producir un ejecutable. Cuando se arranca el fichero ejecutable, este analiza su entrada en busca de casos de las expresiones regulares. Siempre que encuentra uno, ejecuta el código C correspondiente.
  • 13. Flex:Ejemplo La siguiente entrada de Flex especifica un escáner que siempre que encuentre la cadena "username" la reemplazará por el nombre de entrada al sistema del usuario: %% usernameprintf( "%s", getlogin() ); Por defecto, cualquier texto que no reconozca el analizador léxico de Flex se copia a la salida, así que el efecto neto de este escáner es copiar su fichero de entrada a la salida con cada aparición de "username" expandida. En esta entrada, hay solamente una regla: "username" es el patrón y el "printf" es la acción. El "%%" marca el comienzo de las reglas. 8 Materia: Compiladores Docente: Ing. Carlos J. Archondo O.
  • 14. Flex:Formato del Fichero de Entrada El fichero de entrada de Flex está compuesto de tres secciones, separadas por una línea donde aparece únicamente un `%%' en esta: definiciones %% reglas %% código de usuario Definiciones: Contiene declaraciones de definiciones de nombres sencillas para simplificar la especificación del escáner, y declaraciones de condiciones de arranque. Reglas: Contiene una serie de reglas de la forma: patrón acción Código de usuario: Simplemente se copia a `lex.yy.c' literalmente. Esta sección se utiliza para rutinas de complemento que llaman al escáner o son llamadas por este. 9 Materia: Compiladores Docente: Ing. Carlos J. Archondo O.
  • 15. Interacción con el Usuario #include "stdio.h“ #include "conio.h“ #include "iostream.h“ voidmain(void) { int variable,op,op2; char comentario[20],posmem[5]; clrscr(); cout <<"Compilador manual de Basic de 4 lineas para suma o resta"; cout<<"Que instruccion: 1.PRINT 2.INPUT: "; cin>>variable; if (variable==1){ cout<<"Que desea imprimir: 1.Texto 2.Variable:"; cin>>op; if (op==1){ cout<<"Escriba el texto:"; gets(comentario); gotoxy(30,10);cout<<"EAP "; gotoxy(34,10);cout<<comentario; gotoxy(50,10);cout<<"PRINT '"<<comentario<<"'"; } if (op==2){ cout<<"Que variable: 1.AX 2.Memoria:"; cin>>op2; if (op2==1){ gotoxy(30,10);cout<<"EAP "; gotoxy(50,10);cout<<"PRINT A"; } if (op2==2){ cout<<"Que posicion de memoria: "; gets(posmem); gotoxy(30,10);cout<<"MOV AX,"<<posmem; gotoxy(30,11);cout<<"EAP"; gotoxy(50,10);cout<<"PRINT B"; } } } if (variable==2){ gotoxy(30,10);cout<<"LDT"; gotoxy(30,11);cout<<"MOV 1A,AX"; gotoxy(50,10);cout<<"INPUT A"; } getch(); } Existen algunos compiladores como el DFD, que generan código por interacción con el usuario. El programa del ejemplo que vemos, es un sencillo generador de código de Assembler y Basic, ambos generados a la vez por interacción con el usuario. 10 Materia: Compiladores Docente: Ing. Carlos J. Archondo O. Este programa servirá como base para diseñar un compilador
  • 16. Pantallas Generadas por el Ejemplo El modo de encarar los programas es muy diferente entre el Basic y el Assembler, por lo que se deberá ver en detalle su formato. Como se puede apreciar el crear un compilador no es tarea sencilla, pero siguiendo los pasos de los estudios realizados por los expertos programadores se puede llegar a diseñarlos. 11 Materia: Compiladores Docente: Ing. Carlos J. Archondo O. Assembler Basic