Documentation
type GramTrafo = Trafo Unit ProductionsSource
type SyntaxMacro env nts nts' = GramTrafo env (nts env) (nts' env)Source
extendGram :: (NTRecord (nts env), NTRecord (nts' env)) => ExtGram env (Export start nts) -> SyntaxMacro env (Export start nts) (Export start' nts') -> ExtGram env (Export start' nts')Source
exportNTs :: NTRecord (nts env) => GramTrafo env (Export start nts env) (Export start nts env)Source
newtype NTField nt a env Source
NTField | |
|
labelNTField :: NTField nt a env -> ntSource
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 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) |