80 likes | 250 Views
Autómatas y Compiladores. Segunda Semana. Ricardo Vargas Del Valle A35469. Análisis Sintáctico. Definición: Es el proceso de determinar si una cadena puede ser generada por una gramática. Análisis sintáctico descendente:
E N D
Autómatas y Compiladores. Segunda Semana. Ricardo Vargas Del Valle A35469
Análisis Sintáctico • Definición: Es el proceso de determinar si una cadena puede ser generada por una gramática. • Análisis sintáctico descendente: Considerado como una gramática adecuada para esta clase de método. Se construye un árbol a partir de las palabras generadas por el analizador léxico. Se busca que la cadena generada concuerde con la cadena de entrada.
Formato explicado en la clase. • type ==> simple • | ^ ID • | ARRAY [ simple ] OF type • simple ==> INTEGER • | CHAR • | NUM DOTDOT NUM
Formato explicado en la clase (cont.) • Los ejemplos anteriores representan las “palabras” ingresadas por el programador (a la izquierda de las flechas, llamadas lexemas), y en lo que se pueden convertir (a la derecha de las flechas, éstos términos se llaman tokens).
Formato explicado en la clase (cont.) La idea es recorrer la hilera palabra por palabra y construír el árbol con los tokens respectivos. De manera que la cadena generada al final concuerde con la cadena de entrada. Siempre se comienza con el primer lexema y a partir de ahí se construye.
Formato explicado en la clase (cont.) • Por ejemplo: Se tiene la hilera de entrada Hilera ==> ARRAY [ NUM DOTDOT NUM ] OF INTEGER Se comienza con el primer lexema, en este caso es TYPE
Formato explicado en la clase (cont.) • Al final de todo el proceso se genera: type | /----------------\ / | | | | \ ARRAY [ simple ] OF type / | \ | / | \ simple NUM DOTDOT NUM | INTEGER Que genera una cadena igual que la de entrada.
Bibliografía • Notas del Curso, Autómatas y Compiladores, II Ciclo – 2007. • Compiladores: Principios, técnicas y herramientas. Alfred Aho, Jeffrey Ullman. Addison-Wesley. 1990.