Safe Haskell | None |
---|---|
Language | Haskell2010 |
Documentation
newtype Grammar action rules tokens elem initials Source #
UnsafeGrammar | |
|
class GrammarToken tokens elem where Source #
fixGrammar :: forall initials action rules tokens elem. MemberInitials rules initials => Rules rules => RuleExprType rules ~ RuleExpr action rules tokens elem => rules -> Grammar action rules tokens elem initials Source #
type StartPoint = Int Source #
type NonTerminal = Int Source #
class (KnownSymbol v, HasField v rules (RuleExprType rules (RuleExprReturnType rules v))) => HasRuleExprField rules v where Source #
Nothing
type RuleExprReturnType rules v :: Type Source #
nonTerminalName :: rules -> proxy v -> String Source #
class MemberInitials rules initials where Source #
memberInitials :: T (DictF (HasRuleExprField rules)) initials Source #
class Rules rules where Source #
generateRules :: T (DictF (HasRuleExprField rules)) (RulesTag rules) Source #
genStartPoint :: forall initials v. Membership initials v -> StartPoint Source #
newtype RuleExpr action rules tokens elem a Source #
RuleExpr | |
|
newtype Expr rules tokens elem us Source #
UnsafeExpr | |
|
(<^>) :: Expr rules tokens elem us1 -> Expr rules tokens elem us2 -> Expr rules tokens elem (Concat us1 us2) infixr 5 Source #
(<:>) :: Expr rules tokens elem us -> action us a -> Alt action rules tokens elem a infixl 4 Source #
var :: KnownSymbol v => proxy v -> Expr rules tokens elem '[RuleExprReturnType rules v] Source #
varA :: forall v rules tokens elem. KnownSymbol v => Expr rules tokens elem '[RuleExprReturnType rules v] Source #
class TokensMember tokens t where Source #
tokensMembership :: Proxy# '(tokens, t) -> Membership (TokensTag tokens) t Source #
tokA :: forall t rules tokens elem. TokensMember tokens t => Expr rules tokens elem '[elem] Source #