Logo de Ingeniería Simple
www.ingenieriasimple.com

Lecturas y material sobre Compiladores y Lenguajes Formales

Estas son algunas lecturas y materiales que recomiendo para repasar los temas de Compiladores:



CompilaEnsayo.pdf
Del funcionamiento y comportamiento de los compiladores, por Miguel Angel. Excelente ensayo que resume historia y técnicas de compilación. 16 hojas.
español - 279KB


CompilerConstruction.pdf
Versión pdf del libro del mismo nombre por Niklaus Wirth. Contiene todos los temas de compiladores: lenguajes y sintáxis, lenguajes regulares, análisis de lenguajes libres de contexto, gramáticas y semántica, etc. Presenta un ejemplo completo de compilador con el lenguaje Oberon para una arquitectura RISC. 131 hojas.
inglés - 597KB


Analisisydisenodecompiladores.pdf
Libro completo, de 285 hojas, por Emiliano Llano Díaz. Cubre todos los temas: análisis léxico, sintáxis, análisis semántico, tabla de símbolos, errores, etc., más temas avanzados como: diseño de lenguajes y mejora de código dependiendo de la máquina. Un libro muy completo en general.
español - 5.3M


Parsing.pdf
Este libro de Dick Grune (318 hojas), presenta una visión muy interesante sobre el proceso de parsing (análisis sintáctico) y compilación. Como dice el autor: "en la enseñanza de las técnicas de construcción de compiladores, ha sido nuestra experiencia que las técnicas de parsing, aparentemente difíciles, pueden ser explicadas en términos sencillos, si se enfocan de la manera adecuada."
inglés - 1.3M



Gramaticas



GramaticadeDirecciones.doc
Documento en Word con una propuesta de gramática de direcciones de email, incluye las reglas semánticas y el léxico empleado. Las direcciones de email tienen un formato bastante libre, por lo que construir una gramática para ellas es difícil. El ejercicio completo comprendía construir un parser para extraer todas las direcciones de correo de cadenas de mensajes como los que mandan con chistes y presentaciones de power point.
español - 33KB


gramaticaTiny.doc
Gramática del lenguaje Tiny. Este lenguaje es muy sencillo y se usa para construir un ejemplo de compilador en ciertos textos, por ejemplo en "Construcción de Compiladores" de Kenneth C. Louden.
español - 33KB


ProgramasWhile.doc
Los programas while son una herramienta poderosísima para ilustrar el concepto de funciones computables y no computables. A pesar de su sencillez es posible demostrar que todo programa en cualquier lenguaje de programación, puede reducirse a un programa while. Una excelente explicación de computabilidad y complejidad que incluye a los programas while la presenta el Dr. Guillermo Morales-Luna en su página Computabilidad y Complejidad
español - 23KB



Material complementario



CompiladorCertificante.pdf
Artículo de 11 hojas donde se describe CCMini, un prototipo de compilador certificante. Los compiladores certificantes usan información estática del comportamiento de un programa para verificar que este cumple con ciertas propiedades de seguridad y generar código certificado. Muy buen ejemplo de aplicación de compiladores.
español - 207KB


Presentaciones de temas del curso de compiladores, basados en el libro del dragón (Aho et al.)



Cap3AnalisisLexico.ppt
Explica las principales funciones del análisis léxico y los productos y salidas del mismo.
español - 68KB


AnalisisLexico.ppt
Se presenta el análisis léxico en el contexto del análisis sintáctico y como el uso de expresiones regulares permite reducir el tamaño de los árboles de análisis sintáctico.
español - 74KB


AnalisisLexicoII.ppt
Continuación de la primera presentación sobre análisis léxico y análisis sintáctico, muestra cómo los árboles de análisis sintáctico se harían innecesariamente largos si se utilizaran gramáticas formales para ciertas construcciones que pueden analizarse con expresiones regulares.
español - 69KB


AnalisisSintactico.ppt
Explica en qué consiste el análisis sintáctico. Fundamentalmente es determinar si existe un árbol de análisis sintáctico construído a partir de la cadena de entrada.
español - 85KB


AnalisisSintacticoPredictivo.ppt
Explica cómo puede optimizarse el análisis sintáctico descendente prediciendo las producciones que se usarán en lugar de probar sistemáticamente todas las posibles.
español - 69KB


ASintacticoDescendente.ppt
Profundización y ejemplos sobre análisis sintáctico descendente predictivo, muestra el diagrama de transiciones que puede generarse a partir de la gramática.
español - 45KB


ASintacticoPredictivoNoRecursivo.ppt
El análisis sintáctico predictivo no recursivo utiliza una tabla donde a cada símbolo de entrada le corresponde una producción de la gramática, con esto se evitan los procesos recursivos.
español - 81KB


ASintacticoAscendente.ppt
Explica la técnica de análisis sintáctico ascendente, donde básicamente la entrada se reduce al símbolo inicial, desplazando elementos de la entrada.
español - 145KB


Cap4AnalisisSintactico.ppt
Se presentan las diferentes estrategias de recuperación de errores que pueden utilizarse en el análsis sintáctico.
español - 57KB


Cap4GramaticasIndependientesdeContexto.ppt
Las gramáticas independientes de contexto son las que pueden utilizarse para construir compiladores, pero pueden adaptarse aquellas que no lo sean.
español - 179KB


ComprobaTipos.ppt
Explicación de las técnicas de comprobación de tipos.
español - 64KB


InfijoAPostfijo.ppt
Ejemplo de gramática y reglas semánticas para convertir de infijo a postfijo.
español - 93KB


PilaAbstracta.ppt
La pila abstracta es una concepción de la computadora que se utiliza para generar el código intermedio que es más sencillo de transformar en código de máquina.
español - 116KB


TraduccionPorSintaxis.ppt
Explicación y ejemplo de traducción dirigida por sintáxis.
español - 89KB


TradDirigidaporSintaxis.ppt
Explica las técnicas de traducción dirigida por sintáxis, especialmente definiciones dirigidas por sintáxis.
español - 51KB


Logo de Ingeniería Simple
www.ingenieriasimple.com


Esta página fue diseñada y construida por Ingeniería Simple.
Ingeniero a cargo:
Leonel Morales Díaz
Última modificación: