Procesadores de Lenguaje - UJI - Curso 2009/2010 - Grupo TE2

Tema 3: Análisis sintáctico - Ejercicios de análisis LL(1) y RLL(1)

Solución del ejercicio A1

Producciones <X> -> Anulable() Primeros() Siguientes(<X>)
1. <A> -> <B> x <C> no y z $ x
2. <A> -> x no x
3. <B> -> y <A> no y x
4. <B> -> z no z
5. <C> -> z no z $ x


Tabla de análisis $ x y z
<A>
2 1 1
<B>

3 4
<C>


5

Podemos observar que no hay conflictos en la tabla y por tanto la gramática es LL(1).

Observa también que, si no hay partes derechas anulables, el cálculo de siguientes no es necesario para completar la tabla de análisis. No obstante, lo hacemos en este ejercicio para practicar. Este ejercicio ilustra la necesidad de realizar más de una iteración en la última etapa del cálculo de siguientes, si en ella se recorren las producciones de arriba hacia abajo.