Foro de elhacker.net

Foros Generales => Dudas Generales => Mensaje iniciado por: m@o_614 en 17 Julio 2014, 03:25 am



Título: gramaticas LL
Publicado por: m@o_614 en 17 Julio 2014, 03:25 am
Saludos

Tengo la siguiente gramatica de tipo LL(o sea que no tiene recursiones por la izquierda) y a esta gramatica que esta compuesta por elementos Terminales y No Terminales, le tengo que calcular el conjunto de elementos Primero() y Siguiente().

Se define Primero(X) es el conjunto de simbolos terminales que pueden aparecer al principio de las cadenas derivadas X.

Se define Siguiente(X), para el no terminal X como el conjunto de simbolos terminales que pueden aparecer inmediatamente a la derecha de X en alguna forma sentencial. Si tenemos por ejemplo Siguiente(E) y E esta al final de alguna forma de sentencia como en el ejemplo. Siguiente de E va a ser Siguiente(B), o sea cdaf$g por que E se deriva de B (B->bcdE).

                           Primero      Siguiente
A->BCc|gDB        gbcda         $f
B->bCDE|$           b$             cdaf$g
C->ca|DaB           cda            cdg
D->dD|$               d$             bgca$f
E->gAf|c               gc             cdaf$g

y tengo la duda en Siguiente(D)  existe una B despues de la D en la letra A, y esa me daria el no terminal b, despues en la regla B hay una E despues de D lo que me daria los no terminales g y c. En la regla C tengo el simbolo no terminal a despues de la D, lo que me daria:

b,g,c,a   pero no se de donde sale la f??? si alguien me pudiera decir por que de esto se lo agradeceria mucho