Sesión nº5 del 12 de marzo 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:
Tratando el tema 2 Procesadores del Lenguaje.
El compilador es el elemento principal que nos va a llevar de lenguajes en alto nivel a código ejecutable. Se han analizado las partes del compilador, centrándonos en las que dependen del lenguaje de programación que no de la arquitectura del hardware a saber: análisis léxico, sintáctico y semántico.
Hemos visto en que consiste el análisis léxico, como reconocedor del vocabulario o tokens con los que se ha escrito un programa. Debe quedar muy claro la diferencia entre token, patrón léxico y lexema, pues lo han preguntado en exámenes de otros años. Vimos que para describir los tokens y que el analizador los pueda reconocer se usan bien gramáticas lineales o expresiones regulares.
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 que veremos la próxima semana. Podéis ver este tipo de ejercicios aparecidos en exámenes de años anteriores en mi página web.