Diagrama de temas

  • General

    Procesadores de Lenguaje (2012)

  • Procesadores de Lenguaje (2012)

    procesadores_lenguaje.jpg

    Procesadores de Lenguaje (2012)

         

    Profesores

    Domingo Gómez Pérez

    Cristina Tirnauca

    Departamento 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 Asignatura

     Interpretació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.

    • Programa

      programa

       

       

      Datos identificativos de la Asignatura

      • Asignatura: Procesadores de Lenguaje

      • Código: 5415

      • Departamento / Área: Departamento de Matemáticas, Estadística y Computación

      • Título: Grado en Ingeniería Informática

      • Centro: Facultad de Ciencias

      • Créditos ECTS: 6

      • Idioma de impartición: Español

      • Profesores responsables: Domingo Gómez Pérez y Cristina Tirnauca

       

       

       

          Programa de la asignatura    

       

      Semana 1

      • Presentación.

      • Repaso TALF.

       

      Semana 2

      • Lenguaje natural: introducción.

      • Lenguaje natural: algoritmo de Earley.

       

      Semana 3

      • Analizadores sintácticos descendentes LL (1).

      • Analizadores sintácticos descendentes recursivos.

       

      Semana 4

      • Analizadores sintácticos ascendentes.

      • Prefijos viables.

       

      Semana 5

      • Analizador LR (0).

       

      Semana 6

      • Analizador SLR y LR canónico.

       

      Semana 7

      • Analizadores LALR.

       

      Semana 8

      • Generación de código intermedio.

       

      Semana 9

      • Ejemplos de código de 3 direcciones.

       

      Semana 10

      • Bootstrapping de 3 direcciones y Diagramas en T.

    • Bibliografía

      bibliografia

        

       

          Básica    

       

      • 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.

       

       

       

          Complementaria    

       

      • 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.

    • Materiales de Clase

      materiales

       

       

      Semana 1

          

      Semana 2

      • MC-F-003. Lenguaje natural: introducción.

      • MC-F-004. Lenguaje natural: algoritmo de Earley.

          

      Semana 3

      • MC-F-005. Analizadores sintácticos descendentes LL(1).

      • MC-F-006. Analizadores sintácticos descendentes recursivos.

          

      Semana 4

          

      Semana 5

          

      Semana 6

      • MC-F-010. Analizador SLR y LR canónico.

          

      Semana 7

          

      Semana 8

      • MC-F-012. Generación de código intermedio.

          

      Semana 9

      • MC-F-013. Ejemplos de código de 3 direcciones.

          

      Semana 10

      • MC-F-014. Bootstrapping de compiladores y diagramas en T (1).

      • MC-F-015. Bootstrapping de compiladores y diagramas en T (2).

    • Prácticas

      practicas

       

       

    • Pruebas de Evaluación

      evaluacion

        

       

          Ejemplos de exámenes    

        

        

        

        

          Métodos de evaluación    

       

      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.

    • Guía de Aprendizaje

      guia

       

       

    • Sobre el Profesor

      profesor

       

       

      domingo.jpg    

      Domingo Gómez Pérez

       

      Departamento de Matemáticas, Estadística y Computación

      UNIVERSIDAD DE CANTABRIA
       
      Más información

       

      tirnauca.jpg    

      Cristina Tirnauca

       

      Departamento de Matemáticas, Estadística y Computación

      UNIVERSIDAD DE CANTABRIA
       
      Más información