Ingeniería en Computación M. en C. J. Jesús Arellano Pimentel Compiladores Ingeniería en Computación M. en C. J. Jesús Arellano Pimentel
Objetivos Objetivo de la asignatura: Objetivos particulares: Obtener los elementos teórico-prácticos suficientes para analizar, diseñar e implementar compiladores. Objetivos particulares: Aprender a utilizar generadores de analizadores lexicográficos (LEX). Aprender a utilizar generadores sintácticos (YACC). Diseñar e implementar un compilador-intérprete de tipo fuente/fuente.
Prerrequisitos 1º 2º 3º 4º 6º 5º Programación en: Estructurada 1º Programación en: C API’s GTK/GDK Estructura de Datos 2º Teoría Matemática de la Computación 3º Programación de Sistemas 4º 6º Conocimientos de S. O. : Windows Linux Sistemas Operativos Compiladores 5º
Contenido de la asignatura Introducción al proceso de compilación. Análisis léxico. Análisis sintáctico Análisis semántico. Generadores de código. Optimización de código
Bibliografía Libros base: Libro de apoyo: AHO, Sethi & Ullman. Compiladores: Principios, técnicas y herramientas. Addison Wesley. 1998. ALFONSECA Manuel, et al. Compiladores e interpretes: teoría y práctica. Pearson Prentice Hall. 2006. GÁLVEZ Sergio, et al. Compiladores: Traductores y Compiladores con Lex/Yacc, Jflex/Cup y JavaCC. Universidad de Malaga. 2005. Libro de apoyo: WALL Kart. Programación en Linux al descubierto. 2ª Ed. Prentice-Hall. 2001. LEVINE Jhon, et al. Lex & Yacc. O’Reilly Associates Inc. 1992.
Software Sistemas Operativos: API’s Ambientes de desarrollo Linux (FC9) API’s GTK (Linux) Ambientes de desarrollo Glade2, gcc y make
Evaluación 85% de asistencia para derecho a examen. 35% Tareas y/o Proyectos (Si los hay). 65% Examen parcial. Posibilidad de décimas extras sobre el examen parcial por participación en clase. Restricciones: TAREA O PROYECTO COPIDADO -> TAREA O PROYECTO EVALUADO CON CERO (0.0). Las tareas y/o proyectos se deben entregar el día y la hora establecidos.
Página Web http://bianni.unistmo.edu.mx/~jjap/compi0809b.html