SyntaxMacros-0.1: Syntax Macros in the form of an EDSL

Language.Grammars.Grammar

Documentation

data Grammar a Source

Constructors

forall env . Grammar (Ref a env) (Env Productions env env) 

newtype Productions a env Source

Constructors

PS 

Fields

unPS :: [Prod a env]
 

data Prod a env whereSource

Constructors

Seq :: Symbol b env -> Prod (b -> a) env -> Prod a env 
End :: a -> Prod a env 

data DTerm Source

Constructors

DTerm 

data Symbol a env whereSource

Constructors

Term :: String -> Symbol DTerm env 
Nont :: Ref a env -> Symbol a env 
NontInt :: Symbol Int env 
NontChar :: Symbol Char env 
NontVarid :: Symbol String env 
NontConid :: Symbol String env 
NontOp :: Symbol String env 

Instances

GetNT nt (NTCons nt v l env) (Symbol v env) 

ext :: Env Productions env def' -> [Prod a env] -> Env Productions env (def', a)Source

matchSym :: Symbol a env -> Symbol b env -> Maybe (Equal a b)Source

append :: (a -> b -> c) -> Prod a env -> Symbol b env -> Prod c envSource

data Lit a env Source

Constructors

Lit (a env)