Sunteți pe pagina 1din 1

Anlisis descendente de gramticas LL(1) Una gramtica LL(1) es aquella en la que su tabla de chequeo de sintaxis no posee entradas mltiples,

o sea, es suficiente con examinar slo un smbolo a la entrada, para saber qu regla aplicar. Toda gramtica reconocible mediante el mtodo de los diagramas de Conway es LL(1) El mtodo consiste en seguir un algoritmo partiendo de: - La cadena a reconocer, junto con un apuntador, que nos indica cual es el token actual. - Una pila de smbolos ( terminales y no terminales) - Una tabla asociada de forma unvoca a una gramtica. En esta asignatura no vamos a ver como calcular dicha tabla. La cadena de entrada acabar en el smbolo $, que consideramos como si fuese un EOF( End Of File - Fin de Fichero). Sea X el elemento encima de la pila, y a, el apuntado en la entrada. El algoritmo consiste en: 1.- Si X = a = $ entonces ACEPTAR. 2.- Si X = a g $ entonces - se quita X de la pila - y se avanza el apuntador. 3.- Si X _ T y X g a entonces RECHAZAR. 4.- Si X _ N entonces consultamos la entrada M[X,a] de la tabla: - M[X,a] es vacia : RECHAZAR. - M [X,a] no es vacia, se quita a X de la pila y se inserta el consecuente en orden inverso. Ejemplo: Si M[X,a] = {X _ UVY}, se quita a X de la pila, y se meten UVY en orden inverso : 5.- Ir al paso 1. Una vez aplicada una regla, no ser desaplicada por ningn tipo de retroceso. El algoritmo comienza con $ y con el axioma inicial metidos en la pila.

S-ar putea să vă placă și