Language.Grammars.SyntaxMacros
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
labelNTField :: NTField nt a env -> ntSource
Instances
| 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) |
Constructors
| NTNil |
data Duplicated nt Source
class NotDuplicated nt r Source
Instances
| 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) |