115115 Compiladores
Trimestre 2011 Invierno

Instructor: Dr. Francisco Javier Zaragoza Martínez.
Inicio y fin del curso: lunes 17 de enero a viernes 1 de abril de 2011.
Grupo: CSI81 (martes y jueves de 16:30 a 18:00).
Asesorías: lunes, miércoles y viernes de 09:15 a 11:30 en la oficina H-264.
Salón: F-001.
Cupo: 90 estudiantes.

Contenido

Se cubrirá el contenido oficial del curso (el cual se detalla abajo). Es posible que el temario se cubra en un orden distinto al allí mencionado.
  1. Gramáticas.
  2. Análisis lexicográfico.
  3. Análisis sintáctico.
  4. Generación de código.
  5. Detección y recuperación de errores.
  6. Herramientas.

Evaluación

La calificación del curso consta de 50 puntos obtenidos mediante un proyecto de programación dividido en varias etapas y 50 puntos obtenidos mediante exámenes parciales en la plataforma de cbienlinea. No habrá examen global. Además de obtener al menos 30 puntos en los exámenes y al menos 30 puntos en el proyecto, se requiere:
Las tareas y el proyecto se podrán entregar por correo electrónico a la cuenta comp en callix y podrán estar escritas en C o C++. Su cuenta está en la misma máquina, a la que se pueden conectar con ssh y que tiene dirección IP 148.206.79.29. Recuerden que, de acuerdo al Reglamento de Alumnos de la UAM, es falta de los alumnos en contra de la Institución el suplantar o permitir ser suplantado en la realización de actividades académicas (Artículo 9) y se impondrá desde amonestación escrita hasta suspensión por dos trimestres (Artículo 13).

Calendario

El calendario de clases, de entrega de etapas del proyecto y de exámenes que muestro abajo es tentativo e irá apareciendo paulatinamente. He anotado las secciones del libro de texto a la derecha de cada tema. Aquí está la cuarta parte de las transparencias.

Bibliografía

  1. Compiladores: Principios, Técnicas y Herramientas. Aho, Sethi y Ullman. Addison Wesley.
  2. Optimizing Compilers for Modern Architectures. Allen y Kennedy. Morgan Laufmann Publishers.
  3. Modern Compiler Implementation (in Java, in ML, in C). Appel. Cambridge University Press.
  4. Let's Build a Compiler. Crenshaw.
  5. Crafting a Compiler. Fischer, LeBlanc y Cytron. Addison Wesley.
  6. Modern Compiler Design. Grune, Bal, Jacobs y Langendoen. John Wiley & Sons.
  7. Construcción de Compiladores. Louden. Thomson. [Libro de Texto]
  8. How Debuggers Work. Rosenberg. John Wiley & Sons.
  9. Programming Languages: Concepts and Constructs. Sethi. Addison Wesley.
  10. El grupo de noticias comp.compilers y sus preguntas frecuentes.