module Text.GrammarCombinators.Base.Grammar where
import Text.GrammarCombinators.Base.ProductionRule
import Text.GrammarCombinators.Base.MultiRec
type RegularRule phi r t v =
forall p. (ProductionRule p, EpsProductionRule p, TokenProductionRule p t) =>
p v
type ContextFreeRule phi r t v =
forall p. (ProductionRule p, EpsProductionRule p, RecProductionRule p phi r, TokenProductionRule p t) =>
p v
type ExtendedContextFreeRule phi r t v =
forall p. (ProductionRule p, EpsProductionRule p, RecProductionRule p phi r, TokenProductionRule p t, LoopProductionRule p phi r) =>
p v
type LiftableContextFreeRule phi r t v =
forall p. (ProductionRule p, LiftableProductionRule p, RecProductionRule p phi r, TokenProductionRule p t) =>
p v
type ExtendedLiftableContextFreeRule phi r t v =
forall p. (ProductionRule p, LiftableProductionRule p, RecProductionRule p phi r, TokenProductionRule p t, LoopProductionRule p phi r) =>
p v
type GGrammar rt phi t r rr =
forall ix. phi ix -> rt phi r t (rr ix)
type AGrammar rt phi t = forall r. GGrammar rt phi t r (PF phi r)
type PGrammar rt phi t r = GGrammar rt phi t r r
type GRegularGrammar phi t r rr = GGrammar RegularRule phi t r rr
type GContextFreeGrammar phi t r rr = GGrammar ContextFreeRule phi t r rr
type GLContextFreeGrammar phi t r rr = GGrammar LiftableContextFreeRule phi t r rr
type GExtendedContextFreeGrammar phi t r rr = GGrammar ExtendedContextFreeRule phi t r rr
type GLExtendedContextFreeGrammar phi t r rr = GGrammar ExtendedLiftableContextFreeRule phi t r rr
type ContextFreeGrammar phi t = AGrammar ContextFreeRule phi t
type LContextFreeGrammar phi t = AGrammar LiftableContextFreeRule phi t
type ExtendedContextFreeGrammar phi t = AGrammar ExtendedContextFreeRule phi t
type LExtendedContextFreeGrammar phi t = AGrammar ExtendedLiftableContextFreeRule phi t
type ProcessingRegularGrammar phi t r = PGrammar RegularRule phi t r
type ProcessingContextFreeGrammar phi t r = PGrammar ContextFreeRule phi t r
type ProcessingLContextFreeGrammar phi t r = PGrammar LiftableContextFreeRule phi t r
type ProcessingExtendedContextFreeGrammar phi t r = PGrammar ExtendedContextFreeRule phi t r
type ProcessingLExtendedContextFreeGrammar phi t r = PGrammar ExtendedLiftableContextFreeRule phi t r