GUÍA DE APRENDIZAJE
PROCESADORES DE LENGUAJE
Datos Descriptivos
TITULACIÓN:GRADO EN INGENIERIA DELSOFTWARE
CENTROS IMPLICADOS: E.U. DE INFORMATICA
CICLO: Grado sin atribucionesMÓDULO:MATERIA: PROGRAMACIÓN
ASIGNATURA: PROCESADORES DE LENGUAJECURSO: 3 º
SEMESTRE: Semestre 2º (Febrero-Junio)
DEPARTAMENTO RESPONSABLE:LENGUAJES, PROYECTOS YSISTEMAS INFORMATICOS
CRÉDITOS EUROPEOS: 6CARÁCTER: OPTATIVA
CURSO ACADÉMICO: 2011/2012PERIODO DE IMPARTICIÓN: Semestre 2º (Febrero-Junio)
Datos Comunes
ITINERARIO:IDIOMAS IMPARTICIÓN: Español
OTROS IDIOMAS IMPARTICIÓN:HORAS/CRÉDITO: 26
Profesorado
COORDINADOR: JOSE GABRIEL PEREZ DIEZ
NOMBRE DESPACHO EMAIL EN INGLÉS
JOSE GABRIEL PEREZ DIEZ 1207-2 [email protected] No
JESUS LOPEZ SANCHEZ 1213 [email protected] No
(*) Profesores externos en cursiva.
Tutorías
TUTORÍASNOMBRE
Lugar Día De A
Grupos
Nº de gruposTeoría 1
Prácticas 1GRUPOS ASIGNADOS EN:Laboratorio 1
Requisitos previos necesarios
ASIGNATURAS SUPERADAS
OTROS REQUISITOS
Conocimientos previos recomendados
ASIGNATURAS PREVIAS RECOMENDADASPROGRAMACION ORIENTADA A OBJETOS AVANZADA
CONOCIMIENTOS PREVIOSInterpreta la ejecución de diferentes programas en una máquina
OTROS CONOCIMIENTOSProgramación en diferentes lenguajes, incluyendo Java
Competencias
CÓDIGO COMPETENCIA NIVEL RA
G1 Capacidad de análisis y síntesis. N3
RA_01
RA_02
RA_03
RA_04
G10Aprendizaje autónomo, adaptación a nuevas situacionesy motivación por eldesarrollo profesional permanente.
N2
RA_01
RA_02
RA_03
RA_04
RA_05
G11 Creatividad. N2
RA_01
RA_02
RA_03
RA_04
RA_05
G14 Motivación por la calidad. N3
RA_01
RA_02
RA_03
RA_04
RA_05
G6 Resolución de problemas. N3
RA_01
RA_02
RA_03
G9 Razonamiento crítico. N3
RA_01
RA_02
RA_03
I22
Conocimiento de los fundamentos del uso yprogramación de los computadores, los sistemasoperativos, las bases de datos y, en general, losprogramas informáticos con aplicación en ingeniería.
N3RA_04
RA_05
I5Conocimiento, administración y mantenimiento sistemas,servicios y aplicacionesinformáticas.
N2RA_04
RA_05
I6
Conocimiento y aplicación de los procedimientosalgorítmicos básicos de lastecnologías informáticas para diseñar soluciones aproblemas, analizando laidoneidad y complejidad de los algoritmos propuestos.
N3
RA_01
RA_02
RA_03
I7Conocimiento, diseño y utilización de forma eficiente lostipos y estructuras dedatos más adecuados a la resolución de un problema.
N2
RA_01
RA_02
RA_03
I8
Capacidad para analizar, diseñar, construir y manteneraplicaciones de formarobusta, segura y eficiente, eligiendo el paradigma y loslenguajes de programación más adecuados.
N2RA_04
RA_05
Resultados de aprendizaje
CÓDIGO DESCRIPCIÓNRA_01 Conoce cómo diseñar e implementar analizadores léxico-sintácticosRA_02 Conoce cómo diseñar e implementar analizadores semánticosRA_03 Conoce cómo diseñar e implementar generadores de códigoRA_04 Utiliza tecnologías, estrategias y estándares para solucionar problemas de integraciónRA_05 Utiliza entornos y herramientas de desarrollo
Indicadores de logro
CÓDIGO INDICADOR RAIN_01 Comprensión de la organización de los lenguajes procedurales de alto
nivel RA_01
RA_02
RA_03
IN_02 Conocer diferentes diseños para organizar la implementación de unlenguaje RA_01
RA_02
RA_03
IN_03 Saber implementar analizadores léxicosRA_01
RA_04
RA_05
IN_04 Saber implementar analizadores sintácticosRA_01
RA_04
RA_05
IN_05 Conocer las tareas generales de procesamiento que hay que diseñarparaimplementar la semántica estática de un lenguaje. Atributos semánticos
RA_02
IN_06 Conocer y saber escribir gramáticas atribuidas para especificarla semántica estática de un lenguaje RA_02
RA_04
IN_07 Conocer cómo diseñar el árbol sintáctico abstracto para implementarla evaluzación de atributos semánticos RA_02
RA_04
IN_08 Conocer el concepto de tabla de símbolos. Saber determinar losatributosa recoger en la tabla de símbolos para cada clase de objeto declarado.Implementación de las clases de objetos
RA_02
RA_04
IN_09 Conocer cómo diseñar la organización de la tabla de símbolos y definirsus operaciones básicas RA_02
RA_04
IN_10 Saber implementar tablas de símbolos en un lenguaje de programaciónRA_04
RA_05
IN_11 Saber cómo diseñar la definición, recogida y propagación de atributossemánticosusando un método de evaluación basado en el reconocimiento sintáctico
RA_02
RA_04
RA_05
IN_12 Saber implementar analizadores semánticosRA_04
RA_05
IN_13 Conocer los fundamentos de la definición de máquinas virtuales. Saberlos fundamentospara el diseño de una máquina virtual
RA_03
IN_14 Diseño e implementación del entorno de una máquina virtual y de suintérprete RA_03
RA_04
IN_15 Saber cómo diseñar la definición, recogida y propagación de atributospara la generación decódigo usando un método de evaluación basado en el reconocimientosintáctico
RA_03
RA_04
RA_05
IN_16 Saber implementar el generador de código en un paso independiente, ono, de las restantes fases RA_03
IN_17 Formatos para especificar la entrada a un generador automático deprocesadores de lenguajes RA_01
RA_02
RA_03
IN_18 Saber usar el generador javaCC para implementar el análisis sintácticode un lenguaje RA_05
IN_19 Saber usar el generdor javaCC para implementar el analizadorsemántico y el generador de códigopara un lenguaje
RA_05
Contenidos específicos (temario)
TEMA /CAPÍTULO
APARTADO
Diseño modular de uncompilador Implementación de lenguajes:
generación e interpretación IN_01
Fases de un compiladorIN_01
Diseño general dentro de unparadigma de programación IN_02
Implementación del análisislexicográfico IN_03
Implementación del análisis sintácticoIN_04
Especificación de lasemántica Procesamiento de la semántica
IN_05
Gramática atribuidasIN_06
Gramáticas abstractas. Árbolabstracto IN_07
Evaluación de atributosIN_07
Generación de códigoDiseño del generador de códifo
IN_15
Diseño de las rutinas de generaciónIN_15
Diseño en una fase independienteIN_16
Generadores decódigo Especificación de la entrada
IN_17
Diseño de generadores léxicosIN_18
Diseño de generasdores sintácticosIN_19
Máquinas virtualesLenguajes y máquinas virtuales
IN_13
Diseño de lenguajes intermediosIN_13
Interpretación de lenguajes intrmediosIN_14
Entorno de ejecución para unamáquina virtual IN_14
Procesamientosemántico Diseño y representación de la
recogida de información IN_11
Diseño de la propagaciónIN_11
Diseño de las rutinas semánticasIN_11
Diseño del analizador semánticoIN_12
Tablas de símbolosDefinición de una tabla de símbolos
IN_08
Características semánticas de loslenguajes de programación IN_08
Diseño de las operaciones básicasIN_09
Diseño de la estructura de una tablade símbolos IN_09
Implementación de una tabla desímbolos IN_10
Breve descripción de las modalidades organizativasutilizadas y métodos de enseñanza empleados
MODALIDAD DESCRIPCIÓN MÉTODO MÉTODOS DEENSEÑANZA
Clases teóricas El profesor expone los conceptos de un temaMétodo Expositivo
Aprendizaje Basado en Proyectos
Clases prácticas Los estudienates implementan un lenguajeAprendizaje Basado en Problemas
Aprendizaje Basado en Proyectos
Estudio y trabajoautónomo
Durane el desarrollo de una clase seplantean cuestiones o ejercicios y elestudiante tiene que adquirir las competenciascorrespondientes
Aprendizaje Basado en Problemas
Aprendizaje Basado en Proyectos
Estudio de Teoría
Clases de ProblemasEl profesor plantea problemas relativos a unlogro concreto
Aprendizaje Basado en Problemas
Cronograma de trabajo de la asignatura
SEMANA ACTIVIDADES
1
Actividad Modalidad Met.Ense. Lugar Duración Evaluación Tipo Prep. Carga(%)
T_1.1, T_1.2,T_1.3
Clasesteóricas
MétodoExpositivo
Aula 2 hrs. No 1,28
T_1.4Clasesteóricas
MétodoExpositivo
Aula 2 hrs. No 1,28
Consulta deinformación
Estudioy trabajoautónomo
Estudio deTeoría
Otros 5 hrs. No 3,21
2
Actividad Modalidad Met.Ense. Lugar Duración Evaluación Tipo Prep. Carga(%)
T_1.4Clases deProblemas
AprendizajeBasado enProblemas
Aula 2 hrs. No 1,28
T_1.5Clasesteóricas
MétodoExpositivo
Aula 2 hrs. No 1,28
Actividadsobre implementacióndeanalizadoresléxicos
Estudioy trabajoautónomo
AprendizajeBasado enProblemas
Otros 5 hrs. Sí
Evaluacióncontinua
0 3,21
3
Actividad Modalidad Met.Ense. Lugar Duración Evaluación Tipo Prep. Carga(%)
T_1.5Clases deProblemas
AprendizajeBasado enProblemas
Aula 2 hrs. No 1,28
T_2.1, T_2.2Clasesteóricas
MétodoExpositivo
Aula 2 hrs. No 1,28
Consulta deinformación
Estudioy trabajoautónomo
Estudio deTeoría
Otros 5 hrs. No 3,21
4
Actividad Modalidad Met.Ense. Lugar Duración Evaluación Tipo Prep. Carga(%)
T_2.3Clasesteóricas
MétodoExpositivo
Aula 2 hrs. No 1,28
T_2.4Clases deProblemas
AprendizajeBasado enProblemas
Aula 2 hrs. No 1,28
Actividadsobre implementacióndeanalizadoressintácticos
Estudioy trabajoautónomo
AprendizajeBasado enProblemas
Otros 5 hrs. Sí
Evaluacióncontinua
0 3,21
5
Actividad Modalidad Met.Ense. Lugar Duración Evaluación Tipo Prep. Carga(%)
T_3.1, T_3.2Clasesteóricas
MétodoExpositivo
Aula 2 hrs. No 1,28
T_3.3Clasesteóricas
MétodoExpositivo
Aula 2 hrs. No 1,28
Consulta deinformación
Estudioy trabajoautónomo
Estudio deTeoría
Otros 5 hrs. No 3,21
6
Actividad Modalidad Met.Ense. Lugar Duración Evaluación Tipo Prep. Carga(%)
T_3.4Clasesteóricas
MétodoExpositivo
Aula 2 hrs. No 1,28
T_3.5Clasesprácticas
AprendizajeBasado enProyectos
Laboratorio 2 hrs. No 1,28
Consulta deinformación
Estudioy trabajoautónomo
Estudio deTeoría
Otros 5 hrs. No 3,21
7
Actividad Modalidad Met.Ense. Lugar Duración Evaluación Tipo Prep. Carga(%)
T_4.1, T_4.2,T_4.3
Clasesteóricas
AprendizajeBasado enProyectos
Laboratorio 2 hrs. No 1,28
T_4.4Clasesprácticas
AprendizajeBasado enProyectos
Laboratorio 2 hrs. No 1,28
Consulta deinformación
Estudioy trabajoautónomo
AprendizajeBasado enProyectos
Otros 5 hrs. No 3,21
8
Actividad Modalidad Met.Ense. Lugar Duración Evaluación Tipo Prep. Carga(%)
T_4.4Clasesprácticas
AprendizajeBasado enProyectos
Laboratorio 2 hrs. No 1,28
T_4.4Clasesprácticas
AprendizajeBasado enProyectos
Laboratorio 2 hrs. No 1,28
Consulta deinformación
Estudioy trabajoautónomo
AprendizajeBasado enProyectos
Otros 5 hrs. No 3,21
9
Actividad Modalidad Met.Ense. Lugar Duración Evaluación Tipo Prep. Carga(%)
T_4.4Clasesprácticas
AprendizajeBasado enProyectos
Laboratorio 2 hrs. No 1,28
T_4.4Clasesprácticas
AprendizajeBasado enProyectos
Laboratorio 2 hrs. No 1,28
Actividadsobre implementaciónde tablas desímbolos
Estudioy trabajoautónomo
AprendizajeBasado enProyectos
Otros 5 hrs. Sí
Evaluacióncontinua
0 3,21
10
Actividad Modalidad Met.Ense. Lugar Duración Evaluación Tipo Prep. Carga(%)
T_4.4Clasesprácticas
AprendizajeBasado enProyectos
Laboratorio 2 hrs. No 1,28
T_5.1, T_5.2,T_5.3
Clasesteóricas
MétodoExpositivo
Aula 2 hrs. No 1,28
Consulta deinformación
Estudioy trabajoautónomo
Estudio deTeoría
Otros 5 hrs. No 3,21
11
Actividad Modalidad Met.Ense. Lugar Duración Evaluación Tipo Prep. Carga(%)
T_5.4Clasesprácticas
AprendizajeBasado enProblemas
Aula 2 hrs. No 1,28
T_5.4Clasesprácticas
AprendizajeBasado enProblemas
Aula 2 hrs. No 1,28
Consulta deinformación
Estudioy trabajoautónomo
AprendizajeBasado enProblemas
Otros 5 hrs. No 3,21
12
Actividad Modalidad Met.Ense. Lugar Duración Evaluación Tipo Prep. Carga(%)
T_5.4Clasesprácticas
AprendizajeBasado enProblemas
Aula 2 hrs. No 1,28
Actividadsobre implementaciónde máquinasvirtuales
Estudioy trabajoautónomo
AprendizajeBasado enProblemas
Otros 7 hrs. Sí
Evaluacióncontinua
0 4,49
13
Actividad Modalidad Met.Ense. Lugar Duración Evaluación Tipo Prep. Carga(%)
T_6.1, T_6.2Clasesprácticas
AprendizajeBasado enProyectos
Laboratorio 2 hrs. No 1,28
T_6.3Clasesprácticas
AprendizajeBasado enProyectos
Laboratorio 2 hrs. No 1,28
Consulta deinformación
Estudioy trabajoautónomo
Estudio deTeoría
Otros 5 hrs. No 3,21
14
Actividad Modalidad Met.Ense. Lugar Duración Evaluación Tipo Prep. Carga(%)
T_6.3Clasesprácticas
AprendizajeBasado enProyectos
Laboratorio 2 hrs. No 1,28
T_6.3Clasesprácticas
AprendizajeBasado enProyectos
Laboratorio 2 hrs. No 1,28
Consulta deinformación
Estudioy trabajoautónomo
AprendizajeBasado enProyectos
Otros 5 hrs. No 3,21
15
Actividad Modalidad Met.Ense. Lugar Duración Evaluación Tipo Prep. Carga(%)
T_6.3Clasesprácticas
AprendizajeBasado enProyectos
Laboratorio 2 hrs. No 1,28
T_6.3Clasesprácticas
AprendizajeBasado enProyectos
Laboratorio 2 hrs. No 1,28
Actividadsobre implementacióndeanalizadoressemánticos
Estudioy trabajoautónomo
AprendizajeBasado enProyectos
Otros 5 hrs. Sí
Evaluacióncontinua
0 3,21
16
Actividad Modalidad Met.Ense. Lugar Duración Evaluación Tipo Prep. Carga(%)
T_7.1, T_7.2Clases deProblemas
AprendizajeBasado enProblemas
Aula 2 hrs. No 1,28
T_7.3Clases deProblemas
AprendizajeBasado enProblemas
Aula 2 hrs. No 1,28
Consulta deinformación
Estudioy trabajoautónomo
AprendizajeBasado enProblemas
Otros 5 hrs. No 3,21
17
Actividad Modalidad Met.Ense. Lugar Duración Evaluación Tipo Prep. Carga(%)
Actividadsobre implementacióndegeneradoresde código
Estudioy trabajoautónomo
Estudio deTeoría
Otros 12 hrs. Sí
Evaluacióncontinua
0 7,69
Examenescrito final
Estudioy trabajoautónomo
Estudio deTeoría
Aula 3 hrs. SíExamen final
16 12,18
Actividadpropia sobreanalizadoressemánticos ygeneración decódigo
Estudioy trabajoautónomo
AprendizajeBasado enProyectos
Otros 10 hrs. Sí
Examen final
10 12,82
Evaluación de la asignatura
SEMANA EVALUACIONES
2
Actividad Lugar Tipo Técnica eval. Peso(%) Eval. min.
Actividadsobre implementacióndeanalizadoresléxicos
OtrosEvaluacióncontinua
Informes/memorias deprácticas
15 aprobado
4
Actividad Lugar Tipo Técnica eval. Peso(%) Eval. min.
Actividadsobre implementacióndeanalizadoressintácticos
OtrosEvaluacióncontinua
Informes/memorias deprácticas
20 aprobado
9
Actividad Lugar Tipo Técnica eval. Peso(%) Eval. min.
Actividadsobre implementaciónde tablas desímbolos
OtrosEvaluacióncontinua
Informes/memorias deprácticas
10 aprobado
12
Actividad Lugar Tipo Técnica eval. Peso(%) Eval. min.
Actividadsobre implementaciónde máquinasvirtuales
OtrosEvaluacióncontinua
Informes/memorias deprácticas
10 aprobado
15
Actividad Lugar Tipo Técnica eval. Peso(%) Eval. min.
Actividadsobre implementacióndeanalizadoressemánticos
OtrosEvaluacióncontinua
Informes/memorias deprácticas
25 aprobado
17 Actividad Lugar Tipo Técnica eval. Peso(%) Eval. min.
Actividadsobre implementacióndegeneradoresde código
OtrosEvaluacióncontinua
Informes/memorias deprácticas
20 aprobado
Examenescrito final
AulaExamenfinal
Pruebas derespuesta larga,de desarrollo
80 aprobado
Actividadpropia sobreanalizadoressemánticosy generaciónde código
OtrosExamenfinal
Informes/memorias deprácticas
20 aprobado
Criterios de calificación de la asignatura
No hay criterios
Recursos didácticos
TIPO DESCRIPCIÓNBibliografía Brinch Hansen on Pascal compilers. Brinch Hansen, 1985
Compilers. Principles, techniques and tools. A.V. Aho y otros.2007Crafting a compiler. Ch. N. Fischer, R.J. Leblanc. 1988Implementación de lenguajes estructurados. J.G. Pérez. 2007Implementación de un subconjunto de Pascal. J.G. Pérez.1998Compiler construction. N. Wirth. 1996Programming Languages Processors in Java. D.A. Watt, D.F.Brown. 2000Virtual machines. I.D. Craig. 2006
Recursos web Plataforma Moodlehttp://www.lpsi.eui.upm.es/webPL
Otra información reseñable