Sesión nº6 del 25 de marzo de 2019 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:
En dicha tutoría se trató el tema 2 Procesadores del Lenguaje.
Hemos visto en que consiste el análisis sintáctico, 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 y bien mediante cadenas de operación o con árboles de análisis sintáctico poder ver si una frase puede ser expresada por la gramática. Es habitual que pregunten en los exámenes sobre gramáticas BNF y EBNF así como sobre la ambigüedad de las gramáticas así como la derivación sintáctica de las frases como hemos visto con algunos ejemplos, en concreto el ejercicio 1 de la convocatoria de septiembre del curso pasado. Podéis ver este tipo de ejercicios aparecidos en exámenes de años anteriores en mi página web http://tinyurl.com/luismarotounedsevilla. En análisis sintáctico está dentro del análisis del compilador iniciado la sesión anterior en busca de la transformación de los lenguajes de alto nivel a código ejecutable, donde el análisis sintáctico es el paso siguiente tras el análisis léxico.
El análisis sintáctico trabaja con los tokens pasados por el analizador léxico y trata de ver si dichos tokens se ajustan a un lenguaje libre de contexto reconocible por una gramática libre de contexto, escrita de manera general o en BNF o EBNF.
Es habitual que pregunten en los exámenes sobre la ambigüedad de las gramáticas así como la derivación sintáctica de las frases. Podéis ver este tipo de ejercicios aparecidos en exámenes de años anteriores en mi página web.
Hemos comenzado a ver el análisis sintáctico descendente, que consiste en encontrar las reglas usadas para obtener una frase partiendo del axioma. Para poder automatizar el proceso y que el compilador lo tenga más fácil, es conveniente usar analizadores LL(1) que permiten decidir que regla usar dado un no terminal y un terminal de la frase que está siendo procesada. Es fundamental encontrar el conjunto de PRIMEROS Y SIGUIENTES para poder encontrar los CONJUNTOS DE PREDICCIÓN. El cálculo de estos conjuntos también aparece habitualmente en los exámenes. Será estos y su cálculo lo que veamos la próxima tutoría.