Réutilisation variable dans la conversion de la grammaire en forme normale de Chomsky
-
05-11-2019 - |
Question
Je ne sais pas si la variable de réutilisation est autorisée dans CNF.
Par exemple, j'ai cette grammaire non dans CNF. Je dois donc le convertir en CNF.
1. S->abAB|abB|abA|ab
2. A->bAa|ba
3. B->BAa|bAa|ba|Ba|Aa|a
Pour la conversion, j'utilise une convention où les nouvelles variables et terminaux sont sous la forme
(V1,V2,V3,...,Vk) for k > 0
Ti where i are terminals (a,b,c,...,z)
Introduce new terminals for each terminal in the grammar
S->(Ta)(Tb)AB|(Ta)(Tb)B|(Ta)(Tb)A|(Ta)(Tb)
A->(Tb)A(Ta)|(Tb)(Ta)
B->BA(Ta)|(Tb)A(Ta)|(Tb)(Ta)|B(Ta)|A(Ta)|a
Ta->a
Tb->b
Aux fins de ma question, je ne me concentre que sur B
productions en raison de la répétition de A(Ta)
.
...
B->BV1|(Tb)V2|(Tb)(Ta)|B(Ta)|A(Ta)|a
V1->A(Ta)
V2->A(Ta)
...
Voir V1
et V2
, ils ont le même côté droit qui est A(Ta)
.
Pas de solution correcte