Text.GrammarCombinators.Utils.UnfoldDepthFirst
Documentation
class ProductionRule p => SimpleRecProductionRule p phi r rr | p -> phi, p -> r, p -> rr whereSource
Instances
| (EqFam phi, MemoFam phi) => SimpleRecProductionRule (IsDeadRule phi r t rr) phi r rr | |
| EqFam phi => SimpleRecProductionRule (FoldReachableIntRule phi r t rr n) phi r rr |
class SimpleLoopProductionRule p phi r rr | p -> phi, p -> r, p -> rr whereSource
Instances
| (EqFam phi, MemoFam phi) => SimpleLoopProductionRule (IsDeadRule phi r t rr) phi r rr | |
| EqFam phi => SimpleLoopProductionRule (FoldReachableIntRule phi r t rr n) phi r rr |
newtype UnfoldDepthFirstRule p phi r t rr v Source
Constructors
| MkFRR | |
Fields
| |
Instances
| BiasedProductionRule p => BiasedProductionRule (UnfoldDepthFirstRule p phi r t rr) | |
| PenaltyProductionRule p => PenaltyProductionRule (UnfoldDepthFirstRule p phi r t rr) | |
| EpsProductionRule p => EpsProductionRule (UnfoldDepthFirstRule p phi r t rr) | |
| LiftableProductionRule p => LiftableProductionRule (UnfoldDepthFirstRule p phi r t rr) | |
| ProductionRule p => ProductionRule (UnfoldDepthFirstRule p phi r t rr) | |
| TokenProductionRule p t => TokenProductionRule (UnfoldDepthFirstRule p phi r t rr) t | |
| (ProductionRule p, LiftableProductionRule p, SimpleRecProductionRule p phi r rr, SimpleLoopProductionRule p phi r rr) => LoopProductionRule (UnfoldDepthFirstRule p phi r t rr) phi r | |
| SimpleRecProductionRule p phi r rr => RecProductionRule (UnfoldDepthFirstRule p phi r t rr) phi r |
type UDFGrammar p phi r t rr = forall ix. phi ix -> p (rr ix)Source
declareDead :: (EqFam phi, ProductionRule p, SimpleRecProductionRule p phi r rr) => phi ix -> UDFGrammar p phi r t rr -> UDFGrammar p phi r t rrSource
unfoldDepthFirst'' :: forall p phi r rr t v. (ProductionRule p, EqFam phi, TokenProductionRule p t, EpsProductionRule p, BiasedProductionRule p, PenaltyProductionRule p, SimpleRecProductionRule p phi r rr, SimpleLoopProductionRule p phi r rr) => UnfoldDepthFirstRule p phi r t rr v -> GAnyExtendedContextFreeGrammar phi t r rr -> (UDFGrammar p phi r t rr -> UDFGrammar p phi r t rr) -> p vSource
unfoldDepthFirst' :: forall p phi r rr t ix. (ProductionRule p, EqFam phi, EpsProductionRule p, PenaltyProductionRule p, BiasedProductionRule p, TokenProductionRule p t, SimpleRecProductionRule p phi r rr, SimpleLoopProductionRule p phi r rr) => GAnyExtendedContextFreeGrammar phi t r rr -> (UDFGrammar p phi r t rr -> UDFGrammar p phi r t rr) -> phi ix -> p (rr ix)Source
unfoldDepthFirstProper :: forall p phi r rr t ix. (ProductionRule p, EqFam phi, EpsProductionRule p, PenaltyProductionRule p, BiasedProductionRule p, TokenProductionRule p t, SimpleRecProductionRule p phi r rr, SimpleLoopProductionRule p phi r rr) => GAnyExtendedContextFreeGrammar phi t r rr -> phi ix -> p (rr ix)Source
unfoldDepthFirst :: forall p phi r rr t ix. (ProductionRule p, EqFam phi, EpsProductionRule p, PenaltyProductionRule p, BiasedProductionRule p, TokenProductionRule p t, SimpleRecProductionRule p phi r rr, SimpleLoopProductionRule p phi r rr) => GAnyExtendedContextFreeGrammar phi t r rr -> phi ix -> p (r ix)Source