Lecturas y material sobre Compiladores y Lenguajes FormalesEstas 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 |
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 |
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 |
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 |