Language.Grammars.Grammar
Documentation
newtype Productions a env Source
Constructors
| DTerm |
data Symbol a t env whereSource
Constructors
| Term :: String -> Symbol DTerm TTerm env | |
| Nont :: Ref a env -> Symbol a TNonT env | |
| NontInt :: Symbol Int TAttT env | |
| NontChar :: Symbol Char TAttT env | |
| NontVarid :: Symbol String TAttT env | |
| NontConid :: Symbol String TAttT env | |
| NontOp :: Symbol String TAttT env |
Instances
| GetNT nt (NTCons nt v l env) (Symbol v TNonT env) | |
| HExtend (LVPair t (Record HNil -> v)) l l' => ProdSeq (EP t (Symbol b TAttT)) (PreProd (l -> v -> t2) (b -> a)) (l' -> t2) a | |
| HExtend (LVPair t v) l l' => ProdSeq (EP t (Symbol b TNonT)) (PreProd (l -> v -> t2) (b -> a)) (l' -> t2) a | |
| ProdSeq (Symbol DTerm TTerm) (PreProd (t1 -> DTerm -> t2) (DTerm -> a)) (t1 -> t2) a |
Constructors
| EP a (b env) |
Instances
| HExtend (LVPair t (Record HNil -> v)) l l' => ProdSeq (EP t (Symbol b TAttT)) (PreProd (l -> v -> t2) (b -> a)) (l' -> t2) a | |
| HExtend (LVPair t v) l l' => ProdSeq (EP t (Symbol b TNonT)) (PreProd (l -> v -> t2) (b -> a)) (l' -> t2) a | |
| ProdSeq (Symbol DTerm TTerm) (PreProd (t1 -> DTerm -> t2) (DTerm -> a)) (t1 -> t2) a |
class ProdSeq a b c d | a c -> b d whereSource
Instances
| HExtend (LVPair t (Record HNil -> v)) l l' => ProdSeq (EP t (Symbol b TAttT)) (PreProd (l -> v -> t2) (b -> a)) (l' -> t2) a | |
| HExtend (LVPair t v) l l' => ProdSeq (EP t (Symbol b TNonT)) (PreProd (l -> v -> t2) (b -> a)) (l' -> t2) a | |
| ProdSeq (Symbol DTerm TTerm) (PreProd (t1 -> DTerm -> t2) (DTerm -> a)) (t1 -> t2) a |