| Safe Haskell | None |
|---|
Text.GrammarCombinators.Transform.UnfoldLoops
- unfoldLoops :: GExtendedContextFreeGrammar phi t r rr -> GContextFreeGrammar phi t r rr
- unfoldLoopsP :: GPenaltyExtendedContextFreeGrammar phi t r rr -> GPenaltyContextFreeGrammar phi t r rr
- unfoldLoopsRule :: ExtendedContextFreeRule phi r t v -> ContextFreeRule phi r t v
- replaceLoopsRule :: (ProductionRule p, EpsProductionRule p, RecProductionRule p phi r, TokenProductionRule p t) => ExtendedContextFreeRule phi r t v -> (forall ix. phi ix -> p [r ix]) -> (forall ix. phi ix -> p [r ix]) -> p v
Documentation
unfoldLoops :: GExtendedContextFreeGrammar phi t r rr -> GContextFreeGrammar phi t r rrSource
unfoldLoopsP :: GPenaltyExtendedContextFreeGrammar phi t r rr -> GPenaltyContextFreeGrammar phi t r rrSource
unfoldLoopsRule :: ExtendedContextFreeRule phi r t v -> ContextFreeRule phi r t vSource
replaceLoopsRule :: (ProductionRule p, EpsProductionRule p, RecProductionRule p phi r, TokenProductionRule p t) => ExtendedContextFreeRule phi r t v -> (forall ix. phi ix -> p [r ix]) -> (forall ix. phi ix -> p [r ix]) -> p vSource
Replace loops in a given rule by rules provided
in two provided sets of rules, replacing calls to
manyRef by the corresponding rule from the first
set, and calls to manyRef by the corresponding rule
from the second set. You likely don't need this
and should be looking at unfoldLoops or
unfoldLoopsRule instead.