Autómatas y Compiladores Semana 13. Ricardo Vargas Del Valle A35469
Algoritmos con los que trabaja el Analizador Sintáctico: Algoritmo para el análisis sintáctico predictivo:
Algoritmo para encontrar Primero(a). Primero(α) es el conjunto de tokens que están al principio de las hileras derivadas a partir de α. Primero(α) es el conjunto de tokens que están al principio de las hileras derivadas a partir de α.
Algoritmo para encontrar Siguiente(A). Siguiente(A) es el conjunto de terminales ‘a’ que pueden aparecer inmediatamente a la derecha de A en una sentencia. Siguiente(A) es el conjunto de terminales ‘a’ que pueden aparecer inmediatamente a la derecha de A en una sentencia.
Creación de la tabla sintáctica (Parsing Table, LL(1)) Para crear la tabla sintáctica hay que seguir el siguiente algoritmo: Para crear la tabla sintáctica hay que seguir el siguiente algoritmo:
Tabla Sintáctica (Parsing Table) Para la gramática: Para la gramática: Siguiendo los algoritmos anteriores se construye la siguiente tabla: Siguiendo los algoritmos anteriores se construye la siguiente tabla:
Gramáticas LL(1) Definición: Definición: Es una gramática cuya tabla de análisis sintáctico no tiene entradas con definiciones múltiples.
Gramáricas LL(1) Propiedades: Propiedades: Ninguna gramática ambígua o recursiva por la izquierda puede ser LL(1). Ninguna gramática ambígua o recursiva por la izquierda puede ser LL(1). Una gramática G es LL(1) si y solo si, cuando A a|b sean dos producciones distintas de G se cumple que: Una gramática G es LL(1) si y solo si, cuando A a|b sean dos producciones distintas de G se cumple que: Para ningún terminal, tanto a como b derivan cadenas que comiencen con el terminal. Para ningún terminal, tanto a como b derivan cadenas que comiencen con el terminal. A lo sumo una de a y b puede derivar la cadena. A lo sumo una de a y b puede derivar la cadena. Si b =*=> 0, a no deriva ninguna cadena que comience con un terminal en Sig(A). Si b =*=> 0, a no deriva ninguna cadena que comience con un terminal en Sig(A).
Bibliografía Notas del Curso, Autómatas y Compiladores, II Ciclo – Notas del Curso, Autómatas y Compiladores, II Ciclo – Compiladores: Principios, técnicas y herramientas. Alfred Aho, Jeffrey Ullman. Addison-Wesley Compiladores: Principios, técnicas y herramientas. Alfred Aho, Jeffrey Ullman. Addison-Wesley