Guías Docentes Electrónicas
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:
2019-20
Centro:
604 - ESCUELA SUPERIOR DE INGENIERIA INFORMATICA (AB)
Grupo(s):
15 
Curso:
4
Duración:
Primer cuatrimestre
Lengua principal de impartición:
Español
Segunda lengua:
Inglés
Uso docente de otras lenguas:
Foreign students can speak and write the exams and exercises in English.
English Friendly:
S
Página web:
Bilingüe:
N
Profesor: JUAN JOSE PARDO MATEO - Grupo(s): 15 
Edificio/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
Código Descripción
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 de aprendizaje propios de la asignatura
Descripción
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
Descripció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.
Identificar y aplicar los aspectos de la teoría de lenguajes formales necesarios para la especificación de lenguajes de programación.
Documentar, describir y evaluar el proceso de construcción de un procesador de lenguaje.
6. TEMARIO
  • 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: 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 5: Generación de código
    • Tema 5.1: Introducción
    • Tema 5.2: Código intermedio
    • Tema 5.3: Organización y gestión de la memoria
    • Tema 5.4: Generación de código para expresiones
    • Tema 5.5: Generación de código para las estructuras de control
    • Tema 5.6: Generación de codigo para llamadas a función
    • Tema 5.7: Generación de código máquina
COMENTARIOS ADICIONALES SOBRE EL TEMARIO



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 N N N 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 INS4 INS1 CM2 0.56 14 N N N Se resolverán diferentes Ejercicios/Problemas que permitan aplicar los conceptos teóricos estudiados. Esta actividad está relacionada directamente con la de elaboración de informes o trabajos (autonoma) en la que se engloba la evaluación de ambas tareas
Prácticas de laboratorio [PRESENCIAL] Trabajo en grupo INS4 INS1 CM2 0.72 18 S S S Realización de las prácticas en el laboratorio con la ayuda del profesor. Esta actividad estará relacionada y será evaluada a traves de la actividad de Elaboracion de memoria de practicas
Prueba final [PRESENCIAL] Pruebas de evaluación INS4 UCLM3 INS1 CM2 0.24 6 S S S Esta prueba de evaluacion se dividirá en dos partes que se haran por separado. Cada una de ellas será un 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 INS4 UCLM3 INS1 0.32 8 S S S 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 INS4 UCLM3 INS1 CM2 1.64 41 N N N 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 INS4 INS1 CM2 0.8 20 N N N Realización de las prácticas como trabajo de grupo
Elaboración de informes o trabajos [AUTÓNOMA] Trabajo autónomo INS4 UCLM3 INS1 CM2 0.48 12 S S S Realización de la memoria de los ejercicios de evaluación contínua por temas. En la memoria deberá darse una solución comentada y y justificada de los ejercicios planteados. Esta actividad está relacionada directamente con la de Resolución de problemas y casos (presencial)
Elaboración de memorias de Prácticas [AUTÓNOMA] Trabajo en grupo INS4 UCLM3 INS1 CM2 0.68 17 N N N Realización y entrega de la memoria de prácticas como trabajo de grupo. Dicha memoria deberá ajustarse a los criterios especificados para la misma. Esta tarea esta estrechamente relacionada con la actividad "Practicas de Laboratorio [Presencial] ya que ambas son complementarias.
Total: 6 150
Créditos totales de trabajo presencial: 2.4 Horas totales de trabajo presencial: 60
Créditos totales de trabajo autónomo: 3.6 Horas totales de trabajo autónomo: 90
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 Estudiante presencial Estud. semipres. Descripción
Realización de prácticas en laboratorio 45.00% 0.00% Los alumnos deberán entregar el proyecto de practicas consistente en el desarrollo de un traductor para un lenguaje pequeño que se definirá al principio del curso. A lo largo del curso se realizarán varias entregas parciales del proyecto que permitirá ver la evolución de los alumnos . Cada entrega tendrá su correspondiente defensa ante el profesor

Este elemento de evaluación se engloba en el apartado de laboratorio (LAB) en un 35% y en el de presentación de trabajos (PRES) en un 10%
Prueba 30.00% 0.00% A lo largo del curso se realizarán dos pruebas de evaluación, una a mitad de curso y otra al final.
Estas pruebas estarán formadas por dos o tres ejercicios de similar dificultad.La valoración de estas pruebas de progreso sera de un 30% sobre el total de la asignaturas englobados en (ESC)
Resolución de problemas o casos 20.00% 0.00% Los alumnos deberán entregar una pequeña memoria en la que se presenten de forma justificada las soluciones para los ejercicios indicados como tal en clase.

La valoración de cada ejercicio pedido se realizará de acuerdo al siguiente baremo:
- Ejercicio correcto: Máxima puntuacion.
- Ejercicio parcialmente correcto: Maximapuntuacion/2.
- Ejercicio incorrecto: 0 puntos.

Este apartado se engloba dentro de Informes (INF)
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.
Este apartado se computa dentre de presentacion (PRES)
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 evaluación.
En caso de no superar alguna de las partes, la asignatura no será superada y deberá hacer uso de la convocatoria extraordinaria. No existirá la posibilidad de realizar un examen final en esta convocatoria.
El alumno que no supere todas las pruebas mínimas exigidas en la asignatura tendrá una nota no superior a 4.00 incluso si la media obtenida fuera otra, incluida más de 5.00

Los alumnos que en el curso anterior hayan superado la parte de problemas o de practicas, podrán conservar la nota obtenida en esa parte en este curso. Para ello deberán indicarselo al profesor en las dos primeras semanas de clase.
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 varios 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
Horas Suma horas
Enseñanza presencial (Teoría) [PRESENCIAL][Método expositivo/Lección magistral] 3
Resolución de problemas o casos [PRESENCIAL][Resolución de ejercicios y problemas] 3
Prácticas de laboratorio [PRESENCIAL][Trabajo en grupo] 4
Prueba final [PRESENCIAL][Pruebas de evaluación] 6
Presentación de trabajos o temas [PRESENCIAL][Trabajo en grupo] 8
Estudio o preparación de pruebas [AUTÓNOMA][Trabajo autónomo] 15
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

Tema 1 (de 5): Estructura de los compiladores e intérpretes
Actividades formativas Horas
Enseñanza presencial (Teoría) [PRESENCIAL][Método expositivo/Lección magistral] 1
Resolución de problemas o casos [PRESENCIAL][Resolución de ejercicios y problemas] 1
Prácticas de laboratorio [PRESENCIAL][Trabajo en grupo] 2
Estudio o preparación de pruebas [AUTÓNOMA][Trabajo autónomo] 2

Tema 2 (de 5): Análisis léxico
Actividades formativas Horas
Enseñanza presencial (Teoría) [PRESENCIAL][Método expositivo/Lección magistral] 2
Resolución de problemas o casos [PRESENCIAL][Resolución de ejercicios y problemas] 2
Prácticas de laboratorio [PRESENCIAL][Trabajo en grupo] 2
Estudio o preparación de pruebas [AUTÓNOMA][Trabajo autónomo] 6

Tema 3 (de 5): Análisis sintáctico
Actividades formativas Horas
Enseñanza presencial (Teoría) [PRESENCIAL][Método expositivo/Lección magistral] 4
Resolución de problemas o casos [PRESENCIAL][Resolución de ejercicios y problemas] 2
Prácticas de laboratorio [PRESENCIAL][Trabajo en grupo] 4
Estudio o preparación de pruebas [AUTÓNOMA][Trabajo autónomo] 6

Tema 4 (de 5): Análisis semántico
Actividades formativas Horas
Enseñanza presencial (Teoría) [PRESENCIAL][Método expositivo/Lección magistral] 2
Resolución de problemas o casos [PRESENCIAL][Resolución de ejercicios y problemas] 2
Prácticas de laboratorio [PRESENCIAL][Trabajo en grupo] 4
Estudio o preparación de pruebas [AUTÓNOMA][Trabajo autónomo] 6

Tema 5 (de 5): Generación de código
Actividades formativas Horas
Enseñanza presencial (Teoría) [PRESENCIAL][Método expositivo/Lección magistral] 2
Resolución de problemas o casos [PRESENCIAL][Resolución de ejercicios y problemas] 4
Prácticas de laboratorio [PRESENCIAL][Trabajo en grupo] 2
Estudio o preparación de pruebas [AUTÓNOMA][Trabajo autónomo] 6

Actividad global
Actividades formativas Suma horas
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. Las clases de la asignatura se desarrollarán a lo largo de 13 semanas con tres clases de 1:30 horas cada una de ellas Algunas actividades de evaluación asi como algunas tareas de recuperación de clases podrían planificarse, excepcionalmente, en horario de tarde
10. BIBLIOGRAFÍA, RECURSOS
Autor/es Título Libro/Revista Población Editorial ISBN Año Descripción Enlace Web Catálogo 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
Aho, Alfred V. Compilers : principles, techniques, and tools Pearson/Addison Wesley 0-321-49169-6 2007 Ficha de la biblioteca
Alfonseca, Manuel Compiladores e intérpretes : teoría y práctica Pearson Prentice Hall 978-84-205-5031-2 2006 Ficha de la biblioteca
Bal, Henri E. Grune, Dick Diseño de compiladores modernos McGraw-Hill/Interamericana de España 978-84-481-5656-5 2007 Ficha de la biblioteca
Cooper, Keith D. Engineering a compiler Morgan Kaufmann Publishers 1-55860-699-8 2004 Ficha de la biblioteca
Garrido Alenda, Alicia Diseño de compiladores Departamento de Lenguajes y Sistemas Informátic 84-7908-700-5 2002 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



Web mantenido y actualizado por el Servicio de informática