domingo, 1 de febrero de 2015

Práctica de Procesadores del Lenguaje I 2k14


Se trata de una asignatura, la cual desde hace muchos años tenía enormes ganas de cursar y por la cual el alumno debe de aprender a construir y utilizar los analizadores léxicos y sintácticos; cuyos objetivos generales son:

› Conocer la estructura interna de un compilador.
› Comprender el proceso de análisis formal de un lenguaje.
› Aprender las fases que lo constituyen conceptualmente.
› Distinguir los diferentes tipos de lenguajes existente.
› Conocer los diferentes algoritmos utilizados en el análisis sintáctico de lenguajes.


En cuanto al contenido de la asignatura tenemos:
  • Introducción 
    • Estructura de un compilador
    • Proceso de traducción
  • Análisis léxico
    • Proceso de análisis léxico
    • Expresiones regulares
    • Autómatas finitos
  • Análisis sintáctico
    • Proceso de análisis sintáctico
    • Gramáticas libres de contexto
    • Árboles sintácticos
    • Ambigüedad
    • Notación EBNF
  • Análisis sintáctico descendente
    • Análisis sintáctico descendente recursivo
    • Análisis sintáctico LL (1)
    • Recuperación de errores sintácticos descendentes
  • Análisis sintáctico ascendente
    • Análisis sintáctico LR (0)
    • Análisis sintáctico SLR (1)
    • Análisis sintáctico LALR (1)
    • Análisis sintáctico LR (1)

Para la práctica del año 2k13/14, el Equipo Docente propuso realizar un compilador del lenguaje HAda, que implementa un lenguaje similar a PASCAL usando la sintaxis del lenguaje Ada. En los siguientes enlaces se puede obtener el enunciado y las directrices de implementación proporcionadas por el E.D: 
En cuanto a la resolución de la práctica, los siguientes enlaces contienen el proyecto completo para Eclipse, la memoria práctica y los casos de prueba:

No quiero finalizar esta entrada sin dar las gracias a quienes hicieron posible el que pudiera aprender y entender esta fantástica asignatura y que sin ellos no hubiera sido posible la realización de esta práctica y la siguiente de Procesadores del Lenguaje II. Por ello, gracias Armando Urrestarazu Platero por tu increíble constancia; gracias Alejandro González de Aguilar por tus incansables ganas de enseñar y por esas nocturnas horas que me has dedicado y gracias al tutor D. Javier Vélez Reyes (@javiervelezreye) por guiarnos desde el principio con auténtica pasión y vocación y por sus apuntes de la asignatura, que más que apuntes, bien podrían ser la biografía básica.




1 comentario:

  1. Muy interesante, que bueno estudiar en un lugar donde te explican tan bien las materias. Me recordó este artículo https://zarza.com/ingenieria-inversa-la-gallina-o-el-huevo/ que habla sobre la ingeniería inversa, pues lo explica muy bien, eso es lo que necesitamos para aprender y mejorar.
    Muchas gracias!

    ResponderEliminar