Question

J'ai besoin de supprimer la récursivité gauche indirecte du CFG suivant: retirer la récursivité gauche indirecte du CFG suivant. $$ a → ba | B $$ $$ B → CD | E $$ $$ C → DF | G $$ $$ D → DF | Aa | Cg $$

Dans la solution suivante, j'ai élargi toutes les non-terminaux pour les convertir en récursivité directe, au lieu d'une récursivité indirecte (le cas échéant), afin que je puisse appliquer une règle pour la suppression de la récursion directe gauche:

Dollars devient: $$ a → aafda | B $$ $$ B → CD | E $$ $$ C → CGF | G $$ $$ D → DF | DFG | Dfdaa | BA | gg $$ donc, cela devient (après la suppression des récursions à gauche directe): $$ a → ba '$$ $$ a' → afdaa '| EPS $$ $$ B → CD | E $$ $$ C → GC '$$ $$ C' → GFC '| Eps $$ $$ D → Bad '| gg d '$$ $$ d' → fd '| FGD '| fdaad '| eps $$

Ma question spécifique est: dois-je suivre de cette façon (convertir toutes les règles de production émanant de toutes les non-terminaux ou devrais-je le faire pour une seule, par exemple?

Pas de solution correcte

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