Sesión nº7 del 2 de abril de 2018 de la asignatura LENGUAJES DE PROGRAMACIÓN Y PROCESADORES (71022028), asignatura perteneciente al 2º curso del GRADO EN INGENIERÍA EN TECNOLOGÍAS DE LA INFORMACIÓN . En dicha tutoría:
Hemos realizado ejercicios de examen del curso pasado relativos al análisis sintáctico descendente para trabajar sobre la ambigüedad en las gramáticas, las gramáticas LL(1) como ejemplo de gramáticas no ambiguas, el cálculo de los conjuntos de PRIMEROS, SIGUIENTES así como los CONJUNTOS DE PREDICCIÓN que permite garantizar si una gramática es LL(1). Insisto en que debéis controlar lo más posible este tema pues es muy habitual que pongan ejercicios en todas las convocatorias de examen sobre este apartado.
hemos visto en que consiste el análisis sintáctico ascendente, como reconocedor de la sintaxis usada para escribir los programas. La forma de proceder en el análisis parte de intentar encontrar las reglas de producción de la gramática partiendo de la frase bajo estudio para llegar al axioma gramatical. No es habitual que se pregunte sobre este tema en los exámenes dada la complejidad de construir un analizador ascendente. En la clase de hoy hemos visto principalmente como funciona mediante un ejemplo.
Hemos tratado el análisis semántico, que consiste en incluir a las reglas de producción un conjunto de reglas semánticas para darle significado al árbol sintáctico generado en el análisis sintáctico. Es por ello que se usan gramáticas de atributos y mediante el grafo de dependencias se puede conocer la forma de cálculo de las reglas semánticas expresadas en el analizador. Tampoco este suele ser un tema muy habitual en los exámenes pero nunca se sabe.