Safe Haskell | None |
---|
Documentation
type PreGramTrafo = Trafo Unit (Productions TL)Source
type ExtGram env start nts = PreGramTrafo env () (Export start nts env)Source
type SyntaxMacro env start nts start' nts' = PreGramTrafo env (Export start nts env) (Export start' nts' env)Source
addNT :: PreGramTrafo env (PreProductions TL env a) (Symbol a TNonT env)Source
addProds :: PreGramTrafo env (Symbol a TNonT env, PreProductions TL env a) ()Source
extendGram :: (NTRecord (nts env), NTRecord (nts' env)) => ExtGram env start nts -> SyntaxMacro env start nts start' nts' -> ExtGram env start' nts'Source
(+>>) :: (NTRecord (nts env), NTRecord (nts' env)) => ExtGram env start nts -> SyntaxMacro env start nts start' nts' -> ExtGram env start' nts'Source
exportNTs :: NTRecord (nts env) => PreGramTrafo env (Export start nts env) (Export start nts env)Source
NotDuplicated nt1 (l env) => NotDuplicated nt1 (NTCons nt2 v l env) | |
Fail (Duplicated nt) => NotDuplicated nt (NTCons nt v l env) | |
GetNT nt1 (l env) r => GetNT nt1 (NTCons nt2 v l env) r | |
GetNT nt (NTCons nt v l env) (Symbol v TNonT env) | |
(NTRecord (l env), NotDuplicated nt (l env)) => NTRecord (NTCons nt v l env) |
data Duplicated nt Source
class NotDuplicated nt r Source
NotDuplicated nt (NTNil env) | |
NotDuplicated nt1 (l env) => NotDuplicated nt1 (NTCons nt2 v l env) | |
Fail (Duplicated nt) => NotDuplicated nt (NTCons nt v l env) |
export :: (NTRecord (l env), NotDuplicated nt (l env)) => nt -> Symbol a TNonT env -> l env -> NTCons nt a l envSource
extendExport :: Export start t env -> (t env -> nts env) -> Export start nts envSource