Profesor | Manuel Soto Romero | lu mi | 16 a 17:30 |
Ayudante | Javier Enríquez Mendoza | ma ju | 15 a 16 |
Ayudante | Braulio Aaron Santiago Carrillo | ma ju | 15 a 16 |
Ayud. Lab. | Braulio Aaron Santiago Carrillo | vi | 15 a 17 |
Ayud. Lab. | Pedro Ulises Cervantes González | vi | 15 a 17 |
Los datos de acceso a las sesiones y medios de comunicación con el grupo serán enviados a su correo electrónico una vez completada su inscripción al curso. Revisen que su correo se encuentre actualizado en el sistema XFC.
Este curso consiste de un estudio profundo de los principios y aspectos de diseño de los traductores de lenguajes de programación. Se discuten los componentes principales de un compilador: análisis léxico, análisis sintáctico, verificación de tipos, generación de código y optimización. Se ven estrategias alternativas para el reconocimiento (descenso recursivo, reconocimiento descendente, predictivo, RL) y se comparan entre sí respecto al uso eficiente de tiempo y espacio. Entre los subtemas se incluye la ambigüedad, representación de datos, recuperación desde errores, diseño de tablas de símbolos, ligado, herramientas para la generación de compiladores, compilación incremental e intérpretes.
Se recomienda haber llevado (y preferentemente aprobado) las siguientes materias para aprovechar al máximo el curso:
El curso se llevará de forma síncrona e incluirá actividades a realizar en tiempo real durante las sesiones. Considerar esto antes de inscribir el curso.
El curso será evaluado con:
1. Introducción
2. Análisis léxico y sintáctico
3. Análisis sintáctico descendente
4. Análisis sintáctico ascendente
5. Análisis semántico
6. Ambientes de ejecución
7. Generación de código