Download Presentación de la asignatura

Document related concepts
Transcript
Compiladores
Ingeniería en Computación
M. en C. J. Jesús Arellano Pimentel
Objetivos
 Objetivo de la asignatura:
 Obtener los elementos teórico-prácticos
suficientes para analizar, diseñar e implementar
compiladores; para lo cual conocerá las
diferentes fases que componen esta
herramienta.
 Objetivos particulares:
 Aprender a utilizar generadores de analizadores
lexicográficos (LEX/Flex).
 Aprender a utilizar generadores de analizadores
sintácticos (YACC/Bison).
 Diseñar e implementar un compilador/intérprete
de LSystems.
Prerrequisitos
1º
Programación
Estructurada
2º
Programación en:
• C / Java
API’s
• Win32 (programación para Windows)
Estructura
de Datos
3º
Matemáticas
Discretas
4º
Autómatas y
Lenguajes
formales
Conocimientos de S. O. :
• Windows
5º
Compiladores
mapacurricular2008.png
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:
 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.
 KENNETH C. Louden. Construcción de
compiladores. Principios y práctica. Cengage
Learning Latin America, 2004.
 Libro de apoyo:
 LEVINE Jhon, et al. Lex & Yacc. O’Reilly Associates
Inc. 1992.
Software
 Sistema Operativo:
 Windows
 API’s
 Win32
 Ambientes de desarrollo
 MSVC++ (VS Express para Desktop 2012)
Evaluación
 85% de asistencia para derecho a examen.
 30% Tareas y Prácticas.
 70% Examen parcial (Teoría/Proyecto).
 Posibilidad de décimas extras sobre el
examen parcial por participación en clase o
trabajo continuo.
 Restricciones:
 Las tareas y/o proyectos se deben entregar el
día y la hora establecidos.