|
|
/*
* Otro ejemplo de factorizacion para convertir a LL(1)
*/
global
{
analysis LL1;
nonterminal Z, N, A, C, H;
terminal b, c, j, t, k, h, n, z;
prod_comunes =
{
N := b k | c H;
A := h N | z;
H := n | k;
}
}
/*
* Gramatica que no es ll1
*/
grammar gram_no_ll1
{
Z := b N A c | N c | b j | c A | t;
prod_comunes;
}
/*
* Gramatica que es ll1
*/
grammar gram_ll1
{
nonterminal Z1, Z2, Z3;
Z := b Z2 | c Z3 | t;
Z2 := Z1 | k c;
Z3 := H c | A;
Z1 := N A c | j;
prod_comunes;
}