Language.Grammars.SyntaxMacros
Documentation
type SyntaxMacro env start nts start' nts' = GramTrafo env (Export start nts env) (Export start' nts' env)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) => GramTrafo env (Export start nts env) (Export start nts env)Source
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) |