General
Procesadores de Lenguaje (2012)
Procesadores de Lenguaje (2012)
|
Procesadores de Lenguaje (2012)
Profesores Domingo Gómez Pérez Cristina TirnaucaDepartamento de Matemáticas, Estadística y Computación
|
Los procesadores de lenguajes o compiladores son programas que transforman programas escritos en un lenguaje a otro. Para ello, es necesario conocer "cómo se ha generado" la palabra.
Las herramientas informáticas que se utilizarán serán Bison y Flex (Fast LEXical Analyzer) con el objetivo de generar un compilador rudimentario.
Palabras Clave de la AsignaturaInterpretación de Funciones, Sintaxis Concreta, Sintaxis Abstracta, Análisis Sintáctico, Análisis Semántico, Lenguajes de Programación, Programación Orientada a Objetos, Análisis Léxico, Interpretador. |
Datos identificativos de la Asignatura
|
Presentación.
Repaso TALF.
Lenguaje natural: introducción.
Lenguaje natural: algoritmo de Earley.
Analizadores sintácticos descendentes LL (1).
Analizadores sintácticos descendentes recursivos.
Analizadores sintácticos ascendentes.
Prefijos viables.
Analizador LR (0).
Analizador SLR y LR canónico.
Analizadores LALR.
Generación de código intermedio.
Ejemplos de código de 3 direcciones.
Bootstrapping de 3 direcciones y Diagramas en T.
A.V. Aho, M.S. Lam, R. Sethi & J.D. Ullman (2007): «Compilers. Principles, techniques and tools». 2ª Ed. Addison-Wesley. (O la traducción al castellano de la edición de 1985).
A.W. Appel & J. Palsberg (2002): «Modern compiler implementation in Java». 2ª Ed. Cambridge University Press.
A.W. Appel: «Modern compiler implementation in C». Cambridge University Press.
J.R. Levine, T. Mason & D. Brown (1992): «Lex & Yacc». O'Reilly.
D. Grune, H. Bal, C. Jacobs & K. Langendoen (2000): «Modern compiler design». John Wiley & Sons.
Torben Ægidius Mogensen: «Basics of compiler design». Edición electrónica.
R. Wilhelm & D. Maurer (1995): «Compiler design». Addison-Wesley.
A.W. Appel: «Modern compiler implementation in ML». Cambridge University Press.
C.A. Jones & F.L. Drake (2001:) «Python and XML». O’Reilly.
MC-F-005. Analizadores sintácticos descendentes LL(1).
MC-F-006. Analizadores sintácticos descendentes recursivos.
MC-F-009. Analizador LR(0).
MC-F-010. Analizador SLR y LR canónico.
MC-F-011. Analizadores LALR.
MC-F-012. Generación de código intermedio.
MC-F-013. Ejemplos de código de 3 direcciones.
EP-F-001. Práctica 1.
EP-F-003. Práctica 2.
EP-F-005. Práctica 3.
EP-F-007. Práctica 4.
EP-F-009. Práctica 5.
EP-F-011. Práctica 6.
EP-F-013. Práctica 7.
Establecer en cada caso el peso en porcentaje que tiene en la evaluación de la asignatura la parte de la Evaluación Continua, y la correspondiente a la prueba del Examen Final:
Descripción de la Evaluación Continua: actividades que debe desarrollar el alumno/a y su valoración
La Nota Final es la suma de dos calificaciones: la Nota de Comprensión Básica, que contribuye entre 0 y 6 puntos, y la Nota de Comprensión Profunda, que contribuye entre 0 y 4 puntos.
A su vez, la Nota de Comprensión Básica es la suma de dos notas: la obtenida a lo largo del desarrollo de la asignatura a través de la Evaluación Continua, que contribuye entre 0 y 6 puntos, y la nota de la parte básica del Examen Final, que contribuye asimismo entre 0 y 6 puntos: estas dos notas se suman y, en caso de superar el 6, el resultado se trunca a 6.
La Nota de Comprensión Profunda se obtiene en la parte avanzada del Examen Final.
La Evaluación Continua se desarrolla como sigue: con una periodicidad a determinar (posiblemente quincenal), se habrán de entregar y defender desarrollos de aplicaciones de los conceptos tratados, que podrán tomar la forma de resolución de problemas o de implementación mediante el uso de las herramientas adecuadas; asimismo, antes de la fecha de entrega que se acuerde a final de curso, se habrá de completar un Proyecto de Implementación relacionado con los compiladores.
Cada una de estas actividades recibirá una nota que se irá acumulando a las anteriores, permitiendo alcanzar a final de curso un máximo de 6 puntos sobre 10.
Descripción del Examen Final (duración, se pueden llevar apuntes o no, tiene partes diferenciadas o no, se promedian teoría y problemas o no, etc.)
La duración no superará las tres horas, sólo constará de problemas, y se podrá llevar apuntes. Estará estructurado en dos partes: la parte básica contribuye a la Nota de Comprensión Básica, y la parte avanzada proporciona la Nota de Comprensión Profunda.
La parte básica permitirá obtener hasta 6 puntos, que se sumarán a los obtenidos en la evaluación continuada; la suma obtenida se truncará a 6 puntos. De este modo, cada alumno/a puede obtener mediante evaluación continuada la parte de la calificación de Comprensión Básica que más convenga a su propia situación, entre dos extremos: quien haya superado a la perfección la evaluación continuada se presenta al Examen Final sabiendo que tiene la asignatura aprobada y a fin de subir nota, y quien no haya podido esforzarse suficientemente a lo largo del curso tiene aún la opción de alcanzar los 6 puntos de esta parte en el Examen Final.
La parte avanzada es la única oportunidad de obtener notas superiores al 6, constituye la nota de Comprensión Profunda, y su calificación se suma a la nota de Comprensión Básica, proporcionando así la nota final.
![]() |
Domingo Gómez Pérez
Departamento de Matemáticas, Estadística y Computación UNIVERSIDAD DE CANTABRIA |
![]() |
Cristina Tirnauca
Departamento de Matemáticas, Estadística y Computación UNIVERSIDAD DE CANTABRIA |
Contacto Información legal Sobre OCW RSS Universidad de Cantabria