diseño de compiladores
TRANSCRIPT
Departamento de Tecnologías de la Información
Ciencias de la Computación e Inteligencia Artificial
Diseño de
Compiladores
Presentación
Diseño de Compiladores 2
Profesores
Francisco José Moreno Velo
http://www.uhu.es/francisco.moreno/
Teléfono: 959 21 76 59
Despacho: Edif. Torreumbría TUPB-14
Tutorías (primer cuatrimestre) (El Carmen):
Martes, de 11:00 a 13:00
Miércoles, de 10:30 a 13:30
Viernes, de 12:00 a 13:00
Presentación
Diseño de Compiladores 3
Horario
– Teoría:
• Miércoles, de 8:30 a 10:30.
• Edificio Galileo, aula 2.2.
– Prácticas:
• Miércoles, de 17:00 a 19:00.
• Aulario José Isidoro Morales, aula B.3.
Presentación
Diseño de Compiladores 5
Competencias
Competencias específicas
– CE2-C: Capacidad para conocer los fundamentos teóricos de los
lenguajes de programación y las técnicas de procesamiento
léxico, sintáctico y semántico asociadas, y saber aplicarlas para
la creación, diseño y procesamiento de lenguajes.
Presentación
Diseño de Compiladores 6
Contexto
Contexto dentro de la titulación
• Asignatura optativa de 4 curso de la titulación donde se profundiza en las
técnicas para el diseño adecuado de compiladores.
Presentación
Diseño de Compiladores 7
Objetivos
Objetivos
• Conocer e implementar las diferentes fases del proceso de compilación de los
lenguajes imperativos: análisis, gestión de memoria y generación de código.
• Conocer e implementar las técnicas básicas de optimización de código.
• Conocer las técnicas básicas de gestión de memoria dinámica.
Presentación
Diseño de Compiladores 8
Temario
Temario teórico (provisional)
Tema 1: Introducción a los Compiladores
Tema 2: Análisis léxico
Tema 3: Análisis sintáctico
Tema 4: Análisis semántico
Tema 5: Organización y gestión de la memoria
Tema 6: Optimización de código
Tema 7: Alojamiento en registro
Tema 8: Programación orientada a objetos
Tema 9: Programación funcional
Presentación
Diseño de Compiladores 9
Temario
Temario práctico (provisional)
Práctica 1. El compilador del lenguaje Tinto
Práctica 2. Conjunto de instrucciones
Práctica 3. Operadores de bit
Práctica 4. Operadores de incremento, decremento y asignación
Práctica 5. Tipos de datos byte y short
Práctica 6. Tipo de dato long
Práctica 7. Tipos de datos en coma flotante (float y double)
Práctica 8. Constantes y variables globales
Práctica 9. Optimización local
Práctica 10. Clases y objetos
Práctica 11. Tipo de dato array
Práctica 12. Herencia
Práctica 13. Recolección de basura
Presentación
Diseño de Compiladores 10
Evaluación
• Forma de evaluación:
– Dividida en dos partes: teórica y práctica
– La parte teórica se evalúa en el examen final
– La parte práctica se evalúa por medio de un trabajo individual
• Calificación global:
– La calificación final será la media entre la calificación teórica y práctica
– Se requiere un mínimo de 4.0 puntos en cada parte
– Calificación teórica (50%): Nota del examen
– Calificación práctica (50%): Nota del trabajo (40%) y seguimiento del
alumno (10%).
Presentación
Diseño de Compiladores 11
Convocatorias
• Convocatoria de febrero
– Martes, 6 de febrero de 2018, 16:00 horas.
• Convocatoria de septiembre
– Martes, 4 de septiembre de 2017, 16:00 horas.
Presentación
Diseño de Compiladores 12
Bibliografía
Bibliografía
• A.V. Aho. "Compiladores. Principios, Técnicas y Herramientas",
Addison-Wesley Iberoamericana (1998).
• Manuel Alfonseca Moreno y otros. "Compiladores e Intérpretes:
teoría y práctica", Pearson, Prentice Hall (2006).