las prácticas de la asignatura de procesadores de ... · • procesadores de lenguajes y...

7
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

Upload: lekhuong

Post on 08-Jun-2018

220 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Las prácticas de la asignatura de Procesadores de ... · • Procesadores de Lenguajes y Compiladores SITIAE 2010 Proc. de Lenguajes: • Análisis léxico • Análisis sintáctico

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

Page 2: Las prácticas de la asignatura de Procesadores de ... · • Procesadores de Lenguajes y Compiladores SITIAE 2010 Proc. de Lenguajes: • Análisis léxico • Análisis sintáctico

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

Page 3: Las prácticas de la asignatura de Procesadores de ... · • Procesadores de Lenguajes y Compiladores SITIAE 2010 Proc. de Lenguajes: • Análisis léxico • Análisis sintáctico

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

Page 4: Las prácticas de la asignatura de Procesadores de ... · • Procesadores de Lenguajes y Compiladores SITIAE 2010 Proc. de Lenguajes: • Análisis léxico • Análisis sintáctico

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

Page 5: Las prácticas de la asignatura de Procesadores de ... · • Procesadores de Lenguajes y Compiladores SITIAE 2010 Proc. de Lenguajes: • Análisis léxico • Análisis sintáctico

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

Page 6: Las prácticas de la asignatura de Procesadores de ... · • Procesadores de Lenguajes y Compiladores SITIAE 2010 Proc. de Lenguajes: • Análisis léxico • Análisis sintáctico

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

Page 7: Las prácticas de la asignatura de Procesadores de ... · • Procesadores de Lenguajes y Compiladores SITIAE 2010 Proc. de Lenguajes: • Análisis léxico • Análisis sintáctico

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