Construcción de parsers, dada una gramatica formal:
LL(1): Left to right Left-most derivations, lookahead by 1
- Se construye la tabla de primeros y siguientes
- Se construye tabla (terminales vs no-terminales)
para cada producción M->a se ubica en la posicion (M,prim(a)) = M->a
si la cadena vacia pertenece al conjutno prim(a), entonces se procede asi:
(M,sig(a)) = M->a , para cada sig(a) - con esta tabla se puede verificar la validez de una cadena de entrada, construyendo la tabla (pila-cadena-producción). Se comienza con el simbolo noterminal principal en la pila ($M) y la cadena de entrada con signo pesos al final. Luego se busca en la tabla de parsing que produccion se debe seguir estando en el simbolo del tope de la pila con el simbolo terminal de la cadena de entrada.
- si se tiene pesos en la pila y pesos en la entrada, se acepta la palabra
1 comentarios:
Lo de los pasos es genial. Me encantaría, sin embargo, ver un ejemplo, siguiendo los pasos y con una explicación lo más detallada posible, ya que tengo dificultades para captar cómo funciona en la práctica. Mil gracias.
Post a Comment