Guias Docentes

  GUÍA DOCENTE DE LA ASIGNATURA: PROCESADORES DE LENGUAJES    
1. Datos generales
Asignatura: PROCESADORES DE LENGUAJES Código: 42349
Tipología: OBLIGATORIA Créditos ECTS: 6
Grado: 346 - GRADO EN INGENIERÍA INFORMÁTICA (AB) Curso académico: 2016-17
Centro: (604) E.S. DE INGENIERIA INFORMATICA ALBACETE Grupo(s): 15
Curso: 4 Duración: Primer cuatrimestre
Lengua principal de impartición: Español Segunda lengua:
Uso docente de otras lenguas: English Friendly: No
Página Web:
Nombre del profesor: JUAN JOSE PARDO MATEO - Grupo(s) impartido(s): 15
 
Despacho Departamento Teléfono Correo electrónico Horario de tutoría
ESII / 0.A.10 SISTEMAS INFORMÁTICOS 2044 juanjose.pardo@uclm.es Consultar
https://www.esiiab.uclm.es/tutorias.php
2. Requisitos previos

Esta asignatura se apoya en las competencias y conocimientos adquiridos en otras asignaturas del plan de estudios:

  • Teoría de Autómatas y Computación.
  • Estructura de Datos.
  • Fundamentos de Programación I y II.
  • Metodología de Programación.
  • Estructura de Computadores.
  •  

Por lo que para asimilar y aprovechar convenientemente los contenidos que se impartirán en  la asignatura, se recomienda haberlas superado.

3. Justificación en el plan de estudios, relación con otras asignaturas y con la profesión

Esta asignatura se integra en la materia Tecnología Específica de Computación. Su principal objetivo es introducir y consolidar los principios de funcionamiento de los compiladores e intérpretes, así como mostrar su utilidad en el diseño y especificación de lenguajes específicos del dominio dedicados a un problema de dominio en particular, o una técnica de representación o resolución de problemas específica, y de la construcción de sus procesadores asociados.

Los conocimientos adquiridos en el estudio de los procesadores de lenguaje también encuentran aplicación fuera del campo de la compilación. La importancia práctica de los procesadores de lenguaje en la informática se manifiesta principalmente en el uso cotidiano que hace el profesional informático de compiladores e intérpretes, consustancial a la gestión y programación de los sistemas informáticos. Entre los campos de la informática en los que encuentran aplicación las técnicas aprendidas en Procesadores de Lenguaje podemos citar, sin ánimo de dar una relación exhaustiva, los siguientes: Diseño de los lenguajes de programación, herramientas de ayuda a la programación, diseño de lenguajes de control de aplicaciones o del sistema operativo, tratamiento de ficheros de texto con información estructurada, procesadores de texto, diseño e interpretación de lenguajes para el formateo de texto y descripción de gráficos, gestión de bases de datos, cálculo simbólico, control de dispositivos sofisticados, diseño de circuitería compleja (mediante los denominados compiladores de silicio), interfaces hombre-máquina multimodales, visión artificial, reconocimiento de formas, diseño de videojuegos, etc.

Hoy en día, la compilación se considera un área clásica de la informática, sólidamente fundada sobre un rico cuerpo teórico y sistematizada en sus aspectos de diseño. El futuro de los procesadores de lenguajes aparece vinculado al desarollo de sus múltiples áreas de aplicación. Por tanto, un conocimiento profundo de los principios y técnicas de procesadores de lenguajes es fundamental en la formación universitaria de especialistas en informática, y en concreto de los alumnos que opten por la intensificación de Computación

4. Competencias de la titulación que la asignatura contribuye a alcanzar
Competencias propias de la asignatura
CM2 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.
INS1 Capacidad de análisis, síntesis y evaluación.
INS4 Capacidad de resolución de problemas aplicando técnicas de ingeniería.
UCLM3 Correcta comunicación oral y escrita.
5. Objetivos o resultados de aprendizaje esperados
Resultados propios de la asignatura
Conocer en qué consiste un lenguaje de programación y tener una visión integrada del funcionamiento y estructura de un procesador de lenguajes.
Saber construir aplicaciones basadas en procesadores para lenguajes específicos de un dominio.
Resultados adicionales
Identificar y aplicar los aspectos de la teoría de lenguajes formales necesarios para la especificación de lenguajes de programación.
Discutir qué problemas son susceptibles de ser resueltos con las metodologías y herramientas que permiten la construcción de analizadores a partir de las especificaciones léxicas, sintácticas y semánticas, y ser capaz de resolverlos.
Documentar, describir y evaluar el proceso de construcción de un procesador de lenguaje.
6. Temario / Contenidos
 Tema 1 Estructura de los compiladores e intérpretes
 Tema 1.1  Introducción
 Tema 1.2  Etapas del proceso de traducción
 Tema 1.3  La interpretación
 Tema 1.4  La arquitectura real de compiladores e intérpretes
 Tema 2 Análisis léxico
 Tema 2.1  Introducción
 Tema 2.2  Categorías léxicas
 Tema 2.3  Especificación de las categorías léxicas
 Tema 2.4  Autómatas de estados finitos
 Tema 2.5  Implementación del analizador léxico
 Tema 2.6  Introducción a un generador automático de especificaciones léxicas: flex
 Tema 2.7  Algunas aplicaciones de los analizadores léxicos
 Tema 3 Análisis sintáctico
 Tema 3.1  Introducción
 Tema 3.2  Gramáticas incontextuales
 Tema 3.3  Algunas construcciones de los lenguajes de programación
 Tema 3.4  Extensiones de las gramáticas incontextuales
 Tema 3.5  Análisis descendente
 Tema 3.6  Análisis ascendente
 Tema 3.7  Implementación del analizador sintáctico
 Tema 4 Análisis semántico
 Tema 4.1  Introducción
 Tema 4.2  Esquemas de traducción dirigidos por la sintáxis
 Tema 4.3  El árbol de sintáxis abstracta
 Tema 4.4  Comprobaciones semánticas
 Tema 4.5  Interpretación
 Tema 4.6  Algunas aplicaciones
 Tema 5 Organización y gestión de la memoria
 Tema 5.1  Introducción
 Tema 5.2  Organización de la memoria en tiempo de ejecución
 Tema 5.3  Memoría estática
 Tema 5.4  Memoría de pila
 Tema 5.5  Memoria con reserva dinámica
 Tema 5.6  Otros aspectos de las subrutinas
 Tema 6 Generación de código
 Tema 6.1  Introducción
 Tema 6.2  Código intermedio
 Tema 6.3  Generación de código para expresiones
 Tema 6.4  Generación de código para las estructuras de control
 Tema 6.5  Generación de código máquina
7. Actividades o bloques de actividad y metodología

Actividad formativa Metodología Competencias relacionadas ECTS Horas Ev Ob Rec Descripción
Enseñanza presencial (Teoría) [PRESENCIAL] Método expositivo/Lección magistral CM2 0.56 14.00 No - - Se realizará la presentación de los conceptos teóricos de cada uno de los temas de la asignatura.
Resolución de problemas o casos [PRESENCIAL] Resolución de ejercicios y problemas CM2, INS1, INS4 0.56 14.00 No Se resolverán diferentes Ejercicios/Problemas que permitan aplicar los conceptos teóricos estudiados
Prácticas de laboratorio [PRESENCIAL] Trabajo en grupo CM2, INS1, INS4 0.72 18.00 Realización de las prácticas en el laboratorio con la ayuda del profesor.
Pruebas de progreso [PRESENCIAL] Aprendizaje basado en problemas (ABP) CM2, INS1, INS4, UCLM3 0.24 6.00 Examen escrito de conocimientos mínimos basado en la resolución de problemas o casos prácticos
Presentación de trabajos o temas [PRESENCIAL] Trabajo en grupo INS1, INS4, UCLM3 0.32 8.00 Defensa en el laboratorio de la memoria y el trabajo desarrollado en la distintas práctica, como trabajo en grupo
Estudio o preparación de pruebas [AUTÓNOMA] Trabajo autónomo CM2, INS1, INS4, UCLM3 1.64 41.00 No - - Estudio de forma autónoma e individual de los contenidos teóricos y prácticas de los temas desarrollados, así como preparación para las pruebas presenciales
Estudio o preparación de pruebas [AUTÓNOMA] Trabajo en grupo CM2, INS1, INS4 0.80 20.00 No - - Realización de las prácticas como trabajo de grupo
Elaboración de informes o trabajos [AUTÓNOMA] Trabajo autónomo CM2, INS1, INS4, UCLM3 0.48 12.00 Realización y entrega de la memoria de los ejercicios de evaluación contínua por temas
Elaboración de memorias de Prácticas [AUTÓNOMA] Trabajo en grupo CM2, INS1, INS4, UCLM3 0.68 17.00 Realización y entrega de la memoria de prácticas como trabajo de grupo
Total: 6.00 150.00  
Créditos totales de trabajo presencial: 2.40 Horas totales de trabajo presencial: 60.00
Créditos totales de trabajo autónomo: 3.60 Horas totales de trabajo autónomo: 90.00
Ev: Actividad formativa evaluable
Ob: Actividad formativa de superación obligatoria
Rec: Actividad formativa recuperable
8. Criterios de evaluación y valoraciones

  Valoraciones  
Sistema de evaluación Estud. pres. Estud. semipres. Descripción
Resolución de problemas o casos 25.00% 0.00% Los alumnos deberán entregar los ejercicios indicados como tal en clase.

Cada ejercicio se valorará sobre un total de 1 punto de acuerdo al siguiente baremo:
- Ejercicio correcto: Máxima puntuacion.
- Ejercicio parcialmente correcto: Maximapuntuacion/2.
- Ejercicio incorrecto: 0 puntos.
Realización de prácticas en laboratorio 40.00% 0.00% Los alumnos deberán entregar el proyecto de practicas que se definirá al principio del curso. Se realizarán dos entregas, una parcial a mitad de curso y otra al final del mismo.
La primera entrega tendrá un valor del 10% y la segunda del 20%
Pruebas de progreso 30.00% 0.00% Se realizarán dos pruebas de progreso durante el curso, una a mitad de curso y otra al final, en la cual se podrá recuperar la primera prueba.
La pruebas de progreso estarna formadas por dos o tres ejercicios de similar dificultad.
Valoración de la participación con aprovechamiento en clase 5.00% 0.00% Se valorará la participación en las clases de resolución de problemas y en las prácticas de laboratorio. Se tendrán los siguientes criterios:
- Presentación y aportación de ideas al grupo para la resolución de problemas de forma grupal.
- Presentación y aportación de soluciones a las problemas planteados en las prácticas de laboratorio.
- Participación en seminarios de discusión de ideas y soluciones a tomar.
Total: 100.00% 0.00%  

Criterios de evaluación de la convocatoria ordinaria:
Para superar la asignatura en la convocatoria ordinaria los alumnos deberán superar con una nota superior o igual a 5 la parte de problemas, practicas y pruebas de progreso
En caso de no superar alguna de las partes, la asignatura no será superada y deberá hacer uso de la convocatoria extraordinaria.
Particularidades de la convocatoria extraordinaria:
Los alumnos deberán someter a evaluación solamente aquellas partes que no hayan superado en la convocatoria ordinaria, manteniendo la nota de las partes si superadas.
Si un alumno decide repetir la evaluación de una de las partes superadas en la convocatoria ordinaria, automaticamente se anulará la calificacion de esa parte obtenida en la convocatoria ordinaria, siendo la unica nota valida la obtenida en esta convocatoria.
Particularidades de la convocatoria especial de finalización:
La evaluación de esta convocatoria consistirá en un único examen escrito en el que se deberán poner de manifiesto que el alumno ha adquirido las competencias y resultados de aprendizaje propuestos, atentendiendo tanto a aspectos teóricos como práctios. La prueba consistirá en la resolución de tres ejercicios o casos prácticos de similar dificultad, sobre un total de 10 puntos (que corresponderá con el 100% de la nota final).
9. Secuencia de trabajo, calendario, hitos importantes e inversión temporal
No asignables a temas
Actividades formativas Horas
Enseñanza presencial (Teoría) [PRESENCIAL] [Método expositivo/Lección magistral] (14 h tot.) 3
Resolución de problemas o casos [PRESENCIAL] [Resolución de ejercicios y problemas] (14 h tot.) 3
Prácticas de laboratorio [PRESENCIAL] [Trabajo en grupo] (18 h tot.) 4
Pruebas de progreso [PRESENCIAL] [Aprendizaje basado en problemas (ABP)] (6 h tot.) 6
Presentación de trabajos o temas [PRESENCIAL] [Trabajo en grupo] (8 h tot.) 8
Estudio o preparación de pruebas [AUTÓNOMA] [Trabajo autónomo] (41 h tot.) 9
Estudio o preparación de pruebas [AUTÓNOMA] [Trabajo en grupo] (20 h tot.) 20
Elaboración de informes o trabajos [AUTÓNOMA] [Trabajo autónomo] (12 h tot.) 12
Elaboración de memorias de Prácticas [AUTÓNOMA] [Trabajo en grupo] (17 h tot.) 17
Tema 1 (de 6): Estructura de los compiladores e intérpretes
Actividades formativas Horas
Enseñanza presencial (Teoría) [PRESENCIAL] [Método expositivo/Lección magistral] (14 h tot.) 1
Resolución de problemas o casos [PRESENCIAL] [Resolución de ejercicios y problemas] (14 h tot.) 1
Estudio o preparación de pruebas [AUTÓNOMA] [Trabajo autónomo] (41 h tot.) 2
Periodo temporal: Semana 1
Tema 2 (de 6): Análisis léxico
Actividades formativas Horas
Enseñanza presencial (Teoría) [PRESENCIAL] [Método expositivo/Lección magistral] (14 h tot.) 2
Resolución de problemas o casos [PRESENCIAL] [Resolución de ejercicios y problemas] (14 h tot.) 2
Prácticas de laboratorio [PRESENCIAL] [Trabajo en grupo] (18 h tot.) 2
Estudio o preparación de pruebas [AUTÓNOMA] [Trabajo autónomo] (41 h tot.) 6
Periodo temporal: Semanas 2 y 3
Tema 3 (de 6): Análisis sintáctico
Actividades formativas Horas
Enseñanza presencial (Teoría) [PRESENCIAL] [Método expositivo/Lección magistral] (14 h tot.) 2
Resolución de problemas o casos [PRESENCIAL] [Resolución de ejercicios y problemas] (14 h tot.) 2
Prácticas de laboratorio [PRESENCIAL] [Trabajo en grupo] (18 h tot.) 4
Estudio o preparación de pruebas [AUTÓNOMA] [Trabajo autónomo] (41 h tot.) 6
Periodo temporal: Semanas 4 y 5
Tema 4 (de 6): Análisis semántico
Actividades formativas Horas
Enseñanza presencial (Teoría) [PRESENCIAL] [Método expositivo/Lección magistral] (14 h tot.) 2
Resolución de problemas o casos [PRESENCIAL] [Resolución de ejercicios y problemas] (14 h tot.) 2
Prácticas de laboratorio [PRESENCIAL] [Trabajo en grupo] (18 h tot.) 4
Estudio o preparación de pruebas [AUTÓNOMA] [Trabajo autónomo] (41 h tot.) 6
Periodo temporal: Semanas 6 y 7
Tema 5 (de 6): Organización y gestión de la memoria
Actividades formativas Horas
Enseñanza presencial (Teoría) [PRESENCIAL] [Método expositivo/Lección magistral] (14 h tot.) 2
Resolución de problemas o casos [PRESENCIAL] [Resolución de ejercicios y problemas] (14 h tot.) 2
Prácticas de laboratorio [PRESENCIAL] [Trabajo en grupo] (18 h tot.) 2
Estudio o preparación de pruebas [AUTÓNOMA] [Trabajo autónomo] (41 h tot.) 6
Periodo temporal: Semana 10 y 11
Tema 6 (de 6): Generación de código
Actividades formativas Horas
Enseñanza presencial (Teoría) [PRESENCIAL] [Método expositivo/Lección magistral] (14 h tot.) 2
Resolución de problemas o casos [PRESENCIAL] [Resolución de ejercicios y problemas] (14 h tot.) 2
Prácticas de laboratorio [PRESENCIAL] [Trabajo en grupo] (18 h tot.) 2
Estudio o preparación de pruebas [AUTÓNOMA] [Trabajo autónomo] (41 h tot.) 6
Periodo temporal: Semana 12 y 13
Actividad global
Actividades formativas Suma horas
Enseñanza presencial (Teoría) [PRESENCIAL] [Método expositivo/Lección magistral] 14
Resolución de problemas o casos [PRESENCIAL] [Resolución de ejercicios y problemas] 14
Prácticas de laboratorio [PRESENCIAL] [Trabajo en grupo] 18
Pruebas de progreso [PRESENCIAL] [Aprendizaje basado en problemas (ABP)] 6
Presentación de trabajos o temas [PRESENCIAL] [Trabajo en grupo] 8
Estudio o preparación de pruebas [AUTÓNOMA] [Trabajo autónomo] 41
Estudio o preparación de pruebas [AUTÓNOMA] [Trabajo en grupo] 20
Elaboración de informes o trabajos [AUTÓNOMA] [Trabajo autónomo] 12
Elaboración de memorias de Prácticas [AUTÓNOMA] [Trabajo en grupo] 17
Total horas: 150
Comentarios generales sobre la planificación: Esta planificación es aproximada ya que puede verse alterada por las festividades del calendario y la evolución del curso. Se proporcionará una planificacion mas detallada en la plataforma campusvirtual.
10. Bibliografía, recursos
Autor/es Título Editorial Población ISBN Año Descripción Enlace Web Catálogo biblioteca
Aho, Alfred V. Compiladores : principios, técnicas y herramientas Addison-Wesley Iberoamericana 0-201-62903-8 1990 Ficha de la biblioteca
Aho, Alfred V. Compiladores : principios, técnicas y herramientas Addison-Wesley Iberoamericana 968-444-333-1 1998 Ficha de la biblioteca
Aho, Alfred V. Compiladores : principios, técnicas y herramientas Pearson Educación 978-970-26-1133-2 2008 Ficha de la biblioteca
Cooper, Keith D. Engineering a compiler Morgan Kaufmann Publishers 1-55860-699-8 2004 Ficha de la biblioteca
Jiménez Millán, José Antonio Compiladores y procesadores de lenguajes Universidad de Cádiz 84-96274-39-X 2004 Ficha de la biblioteca
Louden, Kenneth C. Construcción de compiladores : principios y práctica Thomson 970-686-299-4 2004 Ficha de la biblioteca
Ruiz Catalán, Jacinto Compiladores : teoría e implementación RC Libros 978-84-937008-9-8 2010 Ficha de la biblioteca
Scott ,Michael L. Programming language pragmatics Morgan Kaufmann 978-0-12-633951-2 2006 Ficha de la biblioteca
Compiladores e intérpretes : teoría y práctica Pearson Prentice Hall 978-84-205-5031-2 2006 Ficha de la biblioteca
Compilers : principles, techniques, and tools Pearson/Addison Wesley 0-321-49169-6 2007 Ficha de la biblioteca
Diseño de compiladores Departamento de Lenguajes y Sistemas Informátic 84-7908-700-5 2002 Ficha de la biblioteca
Diseño de compiladores modernos McGraw-Hill/Interamericana de España 978-84-481-5656-5 2007 Ficha de la biblioteca

Web mantenido y actualizado por el Servicio de Informática.