- data TL
- data FL a
- data Grammar a = forall env . Grammar (Ref a env) (GramEnv env env)
- type GramEnv = Env (Productions TL)
- newtype Productions l a env = PS {}
- data Prod l a env where
- type DTerm = String
- data TTerm
- data TNonT
- data TAttT
- data Symbol a t env where
- getRefNT :: Symbol a TNonT env -> Ref a env
- pairEq :: Maybe (Equal a b) -> Maybe (Equal (a, t) (b, t))
- matchSym :: Symbol a t1 env -> Symbol b t2 env -> Maybe (Equal (a, t1) (b, t2))
- int :: Symbol Int TAttT env
- char :: Symbol Char TAttT env
- var :: Symbol String TAttT env
- con :: Symbol String TAttT env
- op :: Symbol String TAttT env
- newtype ListProd l env a = PP {}
- prod :: ListProd l env a -> Productions l a env
- sym :: Symbol a t env -> ListProd l env a
- nt :: Symbol a TNonT env -> ListProd l env a
- ntPrd :: Symbol a TNonT env -> ListProd l env a
- tr :: String -> ListProd l env DTerm
- varPrd :: ListProd (FL a) env a
- fixPrd :: ListProd (FL a) env a -> ListProd l env a
- toFL :: ListProd l env a -> ListProd (FL b) env a
- prodToFL :: Prod l a env -> Prod (FL b) a env
- pSome :: ListProd (FL [a]) env a -> ListProd l env [a]
- pMany :: ListProd (FL [a]) env a -> ListProd l env [a]
- data Ii = Ii
- iI :: Idiomatic l env (a -> a) g => g
- class Idiomatic l env f g | g -> f l env where
- newtype LSPair nt a t env = LSPair {}
- labelLSPair :: LSPair nt a t env -> nt
- (^=) :: nt -> Symbol a t env -> LSPair nt a t env
- class LabelSymbol t v v' | t v -> v' where
- class ShowEnv a where
Documentation
type GramEnv = Env (Productions TL)Source
newtype Productions l a env Source
ShowEnv (Env (Productions l) env env') => Show (Env (Productions l) env env') | |
Show (Productions l a env) | |
ShowEnv (Env (Productions l) env env') |
LabelSymbol TTerm v v |
prod :: ListProd l env a -> Productions l a envSource
labelLSPair :: LSPair nt a t env -> ntSource
class LabelSymbol t v v' | t v -> v' whereSource
LabelSymbol TNonT v v | |
LabelSymbol TTerm v v | |
LabelSymbol TAttT v (Record HNil -> v) |