Upload
lekhuong
View
215
Download
0
Embed Size (px)
Citation preview
Las prácticas de la asignatura de Procesadores de Lenguajes, una revisión 1 de XX
Las prácticas de la asignatura de Procesadores de Lenguajes, una
revisión
Jaime Urquiza-Fuentes
SITIAE 2010
Las prácticas de la asignatura de Procesadores de Lenguajes, una revisión 2 de XX
Contenidos
• Introducción• Enfoques educativos• Revisión• Conclusiones
SITIAE 2010
Las prácticas de la asignatura de Procesadores de Lenguajes, una revisión 3 de XX
Introducción• Procesadores de Lenguajes y Compiladores
SITIAE 2010
Proc. de Lenguajes:• Análisis léxico• Análisis sintáctico• Traducción dirigida
por la sintaxis
Compiladores:• Análisis léxico• Análisis sintáctico• Análisis semántico• Generación de código
intermedio• Optimización• Generación de código
final
Las prácticas de la asignatura de Procesadores de Lenguajes, una revisión 4 de XX
Introducción
• Fundamentos teóricos: teoría de autómatas y lenguajes formales
• Práctica: –Planificación de trabajo–Continuidad en el trabajo–Herramientas sin conexión clara con la
teoría• Asignaturas complejas
SITIAE 2010
Las prácticas de la asignatura de Procesadores de Lenguajes, una revisión 5 de XX
Contenidos
• Introducción• Enfoques educativos• Revisión• Conclusiones
SITIAE 2010
Las prácticas de la asignatura de Procesadores de Lenguajes, una revisión 6 de XX
Enfoques educativos
• Tres aspectos interrelacionados:
–Objetivos educativos
–Organización de las prácticas
–Herramientas de ayuda disponibles
SITIAE 2010
Las prácticas de la asignatura de Procesadores de Lenguajes, una revisión 7 de XX
Enfoques educativos
• Objetivos educativos: lo que se enseña–Compiladores–Traductores–Enseñanzas “colaterales”
SITIAE 2010
Las prácticas de la asignatura de Procesadores de Lenguajes, una revisión 8 de XX
Enfoques educativos
• Objetivos educativos: lo que se enseña–Compiladores:
• Métodos de construcción• Diseño de compiladores• Diseño de lenguajes
SITIAE 2010
A. Léxico
A. Sintáctico
A. Semántico
Gen. Cod. Intermedio
Optimización
Gen. Cod. Final
Especificación léxica
Especificación sintáctica
Especificación semántica
Las prácticas de la asignatura de Procesadores de Lenguajes, una revisión 9 de XX
Enfoques educativos
• Objetivos educativos: lo que se enseña–Compiladores–Traductores:
• Métodos de construcción• Diseño de traductores• Diseño de lenguajes
SITIAE 2010
A. Léxico
A. Sintáctico
Traductor
Especificación sintáctica
Especificación del traductor
Especificación léxica
Las prácticas de la asignatura de Procesadores de Lenguajes, una revisión 10 de XX
Enfoques educativos
• Objetivos educativos: lo que se enseña–Compiladores–Traductores–Enseñanzas “colaterales”:
• Programación estructurada• Ingeniería del software• Trabajo en grupo
SITIAE 2010
Las prácticas de la asignatura de Procesadores de Lenguajes, una revisión 11 de XX
• Organización de las prácticas: duración y complejidad–Prácticas de un curso entero:
• Visión global y realista• Requiere mucho esfuerzo
Enfoques educativos
SITIAE 2010
Las prácticas de la asignatura de Procesadores de Lenguajes, una revisión 12 de XX
Enfoques educativos
SITIAE 2010
• Organización de las prácticas: duración y complejidad–Prácticas de un curso entero:
• Visión global y realista• Requiere mucho esfuerzo
–Prácticas cortas:• Relacionadas• Visión parcial ¿realista?• Requiere menos esfuerzo
Las prácticas de la asignatura de Procesadores de Lenguajes, una revisión 13 de XX
Enfoques educativos
SITIAE 2010
• Organización de las prácticas: duración y complejidad–Prácticas de un curso entero:
• Visión global y realista• Requiere mucho esfuerzo
–Prácticas cortas:• Independientes• Visión parcial ¿realista?• Requiere menos esfuerzo
Las prácticas de la asignatura de Procesadores de Lenguajes, una revisión 14 de XX
Enfoques educativos
• Herramientas de ayuda disponibles:–Al principio del todo …
• Programación estructurada
SITIAE 2010
Las prácticas de la asignatura de Procesadores de Lenguajes, una revisión 15 de XX
Enfoques educativos
• Herramientas de ayuda disponibles:–Al principio del todo …
• Programación estructurada
–Llegaron los generadores …• Construcción sistemática• Lex & Yacc, Flex & Bison
SITIAE 2010
Las prácticas de la asignatura de Procesadores de Lenguajes, una revisión 16 de XX
Enfoques educativos
• Herramientas de ayuda disponibles:–Al principio del todo …
• Programación estructurada
–Llegaron los generadores …• Construcción sistemática• Lex & Yacc, Flex & Bison
–Llegaron los visualizadores …
SITIAE 2010
Las prácticas de la asignatura de Procesadores de Lenguajes, una revisión 17 de XX
Enfoques educativos
• Herramientas de ayuda disponibles:–Al principio del todo …
• Programación estructurada
–Llegaron los generadores …• Construcción sistemática• Lex & Yacc, Flex & Bison
–Llegaron los visualizadores …• Enfoque teórico: JFlap• Enfoque práctico: ANTLRWorks, VAST
SITIAE 2010
Las prácticas de la asignatura de Procesadores de Lenguajes, una revisión 18 de XX
Enfoques educativos
• Herramientas de ayuda disponibles:–Al principio del todo …
• Programación estructurada
–Llegaron los generadores …• Construcción sistemática• Lex & Yacc, Flex & Bison
–Llegaron los visualizadores …• Enfoque teórico: JFlap• Enfoque práctico: ANTLRWorks, VAST
SITIAE 2010
Las prácticas de la asignatura de Procesadores de Lenguajes, una revisión 19 de XX
Enfoques educativos
• Herramientas de ayuda disponibles:–Al principio del todo …
• Programación estructurada
–Llegaron los generadores …• Construcción sistemática• Lex & Yacc, Flex & Bison
–Llegaron los visualizadores …• Enfoque teórico: JFlap• Enfoque práctico: ANTLRWorks, VAST
SITIAE 2010
Las prácticas de la asignatura de Procesadores de Lenguajes, una revisión 20 de XX
Enfoques educativos
• Herramientas de ayuda disponibles:–Al principio del todo …
• Programación estructurada
–Llegaron los generadores …• Construcción sistemática• Lex & Yacc, Flex & Bison
–Llegaron los visualizadores …• Enfoque teórico: JFlap• Enfoque práctico: ANTLRWorks, VAST
SITIAE 2010
Las prácticas de la asignatura de Procesadores de Lenguajes, una revisión 21 de XX
Enfoques educativos
• Herramientas de ayuda disponibles:–Al principio del todo …
• Programación estructurada
–Llegaron los generadores …• Construcción sistemática• Lex & Yacc, Flex & Bison
–Llegaron los visualizadores …• Enfoque teórico: JFlap• Enfoque práctico: ANTLRWorks, VAST
SITIAE 2010
Las prácticas de la asignatura de Procesadores de Lenguajes, una revisión 22 de XX
Enfoques educativos
• Herramientas de ayuda disponibles:–Al principio del todo …
• Programación estructurada
–Llegaron los generadores …• Construcción sistemática• Lex & Yacc, Flex & Bison
–Llegaron los visualizadores …• Enfoque teórico: JFlap• Enfoque práctico: ANTLRWorks, VAST
SITIAE 2010
Las prácticas de la asignatura de Procesadores de Lenguajes, una revisión 23 de XX
Contenidos
• Introducción• Enfoques educativos• Revisión• Conclusiones
SITIAE 2010
Las prácticas de la asignatura de Procesadores de Lenguajes, una revisión 24 de XX
Revisión• Sathi, H.L. A project-based course in
compiler construction. SIGCSE Conf. 1986–Compiladores (máquina virtual)–Prácticas de curso entero (1/2 o 1 año)–Métodos sistemáticos sin generadores
SITIAE 2010
Las prácticas de la asignatura de Procesadores de Lenguajes, una revisión 25 de XX
Revisión• Shapiro, H.D. y Mickunas, M. D. A new
approach to teaching a first course in compiler construction. SIGCSE Conf. 1976–Compiladores y prog. estructurada–Proyectos pequeños independientes–Métodos sistemáticos sin generadores
SITIAE 2010
Las prácticas de la asignatura de Procesadores de Lenguajes, una revisión 26 de XX
Revisión• Baldwin, D. A compiler for teaching about
compilers. SIGCSE Conf. 2003–Compiladores–Proyectos pequeños relacionados–Métodos sistemáticos sin generadores
SITIAE 2010
Las prácticas de la asignatura de Procesadores de Lenguajes, una revisión 27 de XX
Revisión• Ruckert, M. Teaching compiler construction
and language design: making the case for unusual compiler projects with postscript as the target language. SIGCSE Conf. 2007–Diseño de lenguajes / Traducción a
PostScript–Práctica de curso completo (1/2 año)–Usan generadores
SITIAE 2010
Las prácticas de la asignatura de Procesadores de Lenguajes, una revisión 28 de XX
Revisión• Aycock, J. The ART of compiler construction
projects. SIGPLAN Notices 38, 12 (2003)–Compiladores–Práctica de curso entero (1 año)–Uso de generadores y ART
SITIAE 2010
Las prácticas de la asignatura de Procesadores de Lenguajes, una revisión 29 de XX
Revisión• Aho, A.V. Teaching the compilers course.
SIGCSE Bulletin 40, 4 (2008)–Diseño de lenguajes (manual de
referencia, guía del programador) / trabajo en grupo
–Práctica de curso entero (1/2 año)–Uso de generadores.
SITIAE 2010
Las prácticas de la asignatura de Procesadores de Lenguajes, una revisión 30 de XX
Revisión• White, E., Sen, R., y Stewart, N. Hide and
show: using real compiler for teaching. SIGCSE Bulletin 37, 1 (2005)–Compiladores (C#)–Prácticas pequeñas relacionadas–Depurador de VisualStudio .NET
SITIAE 2010
Las prácticas de la asignatura de Procesadores de Lenguajes, una revisión 31 de XX
Revisión• Almeida, F.J., Urquiza J. y Velázquez, J.A.
Visualization of Syntax Trees for Language Processing Courses. Journal of Universal Computer Science, 15(7) (2009)–Compiladores/Traductores–Prácticas pequeñas independientes–VAST
SITIAE 2010
Las prácticas de la asignatura de Procesadores de Lenguajes, una revisión 32 de XX
Contenidos
• Introducción• Enfoques educativos• Revisión• Conclusiones
SITIAE 2010
Las prácticas de la asignatura de Procesadores de Lenguajes, una revisión 33 de XX
Conclusiones• Gran variedad de enfoques• Poca información sobre resultados
académicos• Alternativa, combinar diferentes enfoques:
–Organización de prácticas:• Prácticas básicas• Prácticas aplicativas• Práctica obligatoria
–Herramientas utilizadas:• Visualización: básicas y aplicativas• Generadores: aplicativas y obligatoria
SITIAE 2010
Las prácticas de la asignatura de Procesadores de Lenguajes, una revisión 34 de XX
Conclusiones• Gran variedad de enfoques• Poca información sobre resultados
académicos• Alternativa, combinar diferentes enfoques:
SITIAE 2010
Las prácticas de la asignatura de Procesadores de Lenguajes, una revisión 35 de XX
Conclusiones• Gran variedad de enfoques• Poca información sobre resultados
académicos• Alternativa, combinar diferentes enfoques:
SITIAE 2010
Las prácticas de la asignatura de Procesadores de Lenguajes, una revisión 36 de XX
Un poco de historia …
SITIAE 2010
Las prácticas de la asignatura de Procesadores de Lenguajes, una revisión 37 de XX
Un poco de historia …
SITIAE 2010
Las prácticas de la asignatura de Procesadores de Lenguajes, una revisión 38 de XX
Un poco de historia …
SITIAE 2010
Las prácticas de la asignatura de Procesadores de Lenguajes, una revisión 39 de XX
Las prácticas de la asignatura de Procesadores de Lenguajes, una
revisión
Jaime Urquiza-Fuentes
SITIAE 2010