Source: https://guiae.uclm.es/vistaGuia/346/42349/2019-20
Timestamp: 2019-09-18 22:24:26+00:00

Document:
Foreign students can speak and write the exams and exercises in English.
Profesor: JUAN JOSE PARDO MATEO - Grupo(s): 15
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.
Fundamentos de Programación I y II.
Por lo que para asimilar y aprovechar convenientemente los contenidos que se impartirán en la asignatura, se recomienda haberlas superado.
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
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.
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.
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.
Tema 1: Estructura de los compiladores e intérpretes
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.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.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.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.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
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.
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)
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.
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.
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.
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).
Prácticas de laboratorio [PRESENCIAL][Trabajo en grupo] 4
Estudio o preparación de pruebas [AUTÓNOMA][Trabajo en grupo] 20
Elaboración de informes o trabajos [AUTÓNOMA][Trabajo autónomo] 12
Tema 1 (de 5): Estructura de los compiladores e intérpretes
Prácticas de laboratorio [PRESENCIAL][Trabajo en grupo] 2
Tema 2 (de 5): Análisis léxico
Tema 3 (de 5): Análisis sintáctico
Tema 4 (de 5): Análisis semántico
Tema 5 (de 5): Generación de código
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
Aho, Alfred V. Compiladores : principios, técnicas y herramientas Addison-Wesley Iberoamericana 968-444-333-1 1998
Aho, Alfred V. Compiladores : principios, técnicas y herramientas Pearson Educación 978-970-26-1133-2 2008
Aho, Alfred V. Compilers : principles, techniques, and tools Pearson/Addison Wesley 0-321-49169-6 2007
Alfonseca, Manuel Compiladores e intérpretes : teoría y práctica Pearson Prentice Hall 978-84-205-5031-2 2006
Bal, Henri E. Grune, Dick Diseño de compiladores modernos McGraw-Hill/Interamericana de España 978-84-481-5656-5 2007
Cooper, Keith D. Engineering a compiler Morgan Kaufmann Publishers 1-55860-699-8 2004
Garrido Alenda, Alicia Diseño de compiladores Departamento de Lenguajes y Sistemas Informátic 84-7908-700-5 2002
Jiménez Millán, José Antonio Compiladores y procesadores de lenguajes Universidad de Cádiz 84-96274-39-X 2004
Louden, Kenneth C. Construcción de compiladores : principios y práctica Thomson 970-686-299-4 2004
Ruiz Catalán, Jacinto Compiladores : teoría e implementación RC Libros 978-84-937008-9-8 2010
Scott ,Michael L. Programming language pragmatics Morgan Kaufmann 978-0-12-633951-2 2006

References: resolución 

Resolución 
 Resolución 
 resolución 
 Resolución 

Resolución 
 resolución 
 resolución 
 resolución