En la solución planteada , se generan dichas reglas:
S → ITF
T → ATB | ε
Generamos tiras de la forma:
I A A A A B B B B F
AB → BAb
Movemos la Bs hacia la izquierda, generando una b cada vez que se cruza A con B
I A A A B A b B B B F
I A A B A b A b B B B F
I A B A b A b A b B B B F
bA → Ab
bB → Bb
bF → Fb
Movemos las bs a la derecha
I A B A A A B B B F b b b
IAB → Iab (*)
Con la última A, que la distinguimos por estar pegada a la I, generamos una a y una b minúscula, desapareciendo la A y B mayúsculas para que con la próxima B se genere una b menos.
I a b A A A B B B F b b b
... (sigue)
Ahora , si no aplicamos la regla anterior (*) y aplicamos AB -> BAb , llegaríamos no tenemos una regla para sacarnos esas "B" que quedan pegadas al I y generar terminales.
Pero en cambio si se cambia la regla AB -> BAb por AAB -> ABAb ahí si se generan tiras aceptadas sin importar el orden de aplicación de las reglas.
es este razonamiento correcto?
Gracias saludos!