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

Licencié sous: CC-BY-SA avec attribution
Non affilié à cs.stackexchange
scroll top