Primero, demos un número a tus producciones.
1
2
3
4S → B b B a A → ε B → εS→AaAb
S→BbBa
A→ε
B→ε
Calculemos el primero y sigamos primero los conjuntos. Para pequeños ejemplos como estos, usar la intuición sobre estos conjuntos es suficiente.
F I R S T (S) = { a , b }F I R S T ( A ) = { }F I R S T ( B ) = { }F O L L O W ( A ) = { a , b }F O L L O W ( B ) = { a , b }
Ahora calculemos la tabla . Por definición, si no tenemos conflictos, la gramática es L L ( 1 ) .L L ( 1 )L L ( 1 )
a | b |
-----------
S | 1 | 2 |
A | 3 | 3 |
B | 4 | 4 |
Como no hay conflictos, la gramática es .L L ( 1 )
Ahora para la tabla . Primero, el autómata L R ( 0 ) .SL R ( 1 )L R ( 0 )
estado 0S→ ∙ A a A bS→ ∙ B b B aA → ∙B → ∙UNA⟹1si⟹5 5
estado 1S→ A ∙ a A buna⟹2
estado 2S→ A a ∙ A bA → ∙UNA⟹3
estado 3S→ A a A ∙ bsi⟹4 4
estado 4S→ A a A b ∙ b
estado 5S→ B ∙ b B asi⟹6 6
estado 6S→ B b ∙ B aB → ∙si⟹7 7
estado 7S→ B b B ∙ auna⟹8
estado 8S→ B b B a ∙
Y luego la tabla (supongo que S puede ser seguido por cualquier cosa).SL R ( 1 )S
a | b | A | B |
---------------------------
0 | R3/R4 | R3/R4 | 1 | 5 |
1 | S2 | | | |
2 | R3 | R3 | 3 | |
3 | | S4 | | |
4 | R1 | R1 | | |
5 | | S4 | | |
6 | R4 | R4 | | 7 |
7 | S8 | | | |
8 | R2 | R2 | | |
Hay conflictos en el estado 0, por lo que la gramática no es . Tenga en cuenta que si se utilizara L A L R ( 1 ) , ambos conflictos se resolverían correctamente: en el estado 0 en la búsqueda anticipada a L A L R ( 1 ) tomaría R3 y en la búsqueda anticipada b tomaría R4.SL R ( 1 )L A L R ( 1 )una L A L R ( 1 )si
Esto da lugar a la interesante pregunta de si hay una gramática que es pero no L A L R ( 1 ) , que es el caso pero no es fácil encontrar un ejemplo.L L ( 1 )L A L R ( 1 )