GenerateCode
Documentation
newtype T_CInterface
data Inh_CInterface
Constructors
data Syn_CInterface
Constructors
Syn_CInterface | |
Fields
|
newtype T_CNonterminal
Constructors
T_CNonterminal (Set NontermIdent -> PragmaMap -> Map NontermIdent (Map ConstructorIdent (Set Identifier)) -> ContextMap -> Derivings -> Map NontermIdent (Map ConstructorIdent (Map Identifier (Identifier, [Identifier]))) -> Bool -> Bool -> Bool -> Maybe Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Options -> ParamMap -> String -> QuantMap -> TypeSyns -> (NontermIdent -> Int -> [String] -> Type) -> Bool -> Set NontermIdent -> (Chunks, Set NontermIdent, Map (NontermIdent, Int) ([String], Type))) |
data Inh_CNonterminal
Constructors
data Syn_CNonterminal
Constructors
Syn_CNonterminal | |
Fields
|
sem_CNonterminal_CNonterminal :: NontermIdent -> [Identifier] -> Attributes -> Attributes -> T_CProductions -> T_CInterface -> T_CNonterminal
newtype T_CNonterminals
Constructors
T_CNonterminals (Set NontermIdent -> PragmaMap -> Map NontermIdent (Map ConstructorIdent (Set Identifier)) -> ContextMap -> Derivings -> Map NontermIdent (Map ConstructorIdent (Map Identifier (Identifier, [Identifier]))) -> Bool -> Bool -> Bool -> Maybe Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Options -> ParamMap -> String -> QuantMap -> TypeSyns -> (NontermIdent -> Int -> [String] -> Type) -> Bool -> Set NontermIdent -> (Chunks, Set NontermIdent, Map (NontermIdent, Int) ([String], Type))) |
data Inh_CNonterminals
Constructors
data Syn_CNonterminals
Constructors
Syn_CNonterminals | |
Fields
|
newtype T_CProduction
Constructors
T_CProduction (Set NontermIdent -> PragmaMap -> Map ConstructorIdent (Set Identifier) -> ContextMap -> Attributes -> Map ConstructorIdent (Map Identifier (Identifier, [Identifier])) -> NontermIdent -> Bool -> Bool -> Bool -> Maybe Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Options -> ParamMap -> String -> QuantMap -> Attributes -> (NontermIdent -> Int -> [String] -> Type) -> Bool -> Set NontermIdent -> (Decl, [String], DataAlt, Decls, [String])) |
data Inh_CProduction
Constructors
data Syn_CProduction
Constructors
Syn_CProduction | |
Fields |
sem_CProduction_CProduction :: ConstructorIdent -> T_CVisits -> [(Identifier, Type, ChildKind)] -> [Identifier] -> T_CProduction
newtype T_CProductions
Constructors
T_CProductions (Set NontermIdent -> PragmaMap -> Map ConstructorIdent (Set Identifier) -> ContextMap -> Attributes -> Map ConstructorIdent (Map Identifier (Identifier, [Identifier])) -> NontermIdent -> Bool -> Bool -> Bool -> Maybe Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Options -> ParamMap -> String -> QuantMap -> Attributes -> (NontermIdent -> Int -> [String] -> Type) -> Bool -> Set NontermIdent -> (Decls, [String], DataAlts, Decls, [String])) |
data Inh_CProductions
Constructors
data Syn_CProductions
Constructors
Syn_CProductions | |
Fields |
newtype T_CRule
Constructors
T_CRule (Set NontermIdent -> Set Identifier -> [(Identifier, Type, ChildKind)] -> ConstructorIdent -> [Decl] -> Attributes -> Map Identifier Int -> Map Identifier (Identifier, [Identifier]) -> Int -> NontermIdent -> Bool -> Bool -> Bool -> Maybe Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Options -> Map Identifier (NontermIdent, [String]) -> ParamMap -> String -> Attributes -> [Identifier] -> (NontermIdent -> Int -> [String] -> Type) -> Set Identifier -> String -> (Bool, DeclBlocks -> DeclBlocks, [String], Decls, [Decl], [Identifier], Exprs, [Decl], [Type], Set String, Set Identifier)) |
data Inh_CRule
Constructors
data Syn_CRule
Constructors
Syn_CRule | |
Fields
|
wrap_CRule :: T_CRule -> Inh_CRule -> Syn_CRule
sem_CRule_CChildVisit :: Identifier -> NontermIdent -> Int -> Attributes -> Attributes -> Bool -> T_CRule
sem_CRule_CRule :: Identifier -> Bool -> Bool -> NontermIdent -> ConstructorIdent -> Identifier -> Maybe NontermIdent -> Maybe Type -> T_Pattern -> [String] -> Map Int (Identifier, Identifier, Maybe Type) -> Bool -> String -> Set (Identifier, Identifier) -> Bool -> Maybe Identifier -> T_CRule
sem_CSegment :: CSegment -> T_CSegment
newtype T_CSegment
Constructors
T_CSegment (Attributes -> Bool -> Int -> NontermIdent -> Bool -> Bool -> Bool -> Maybe Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Options -> ParamMap -> String -> Attributes -> ([String], [Decl], Map (NontermIdent, Int) ([String], Type), Decls)) |
data Inh_CSegment
Constructors
data Syn_CSegment
Constructors
Syn_CSegment | |
Fields
|
wrap_CSegment :: T_CSegment -> Inh_CSegment -> Syn_CSegment
newtype T_CSegments
Constructors
T_CSegments (Attributes -> Int -> NontermIdent -> Bool -> Bool -> Bool -> Maybe Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Options -> ParamMap -> String -> Attributes -> ([String], Bool, [Decl], Map (NontermIdent, Int) ([String], Type), Decls)) |
data Inh_CSegments
Constructors
data Syn_CSegments
Constructors
Syn_CSegments | |
Fields
|
sem_CVisit :: CVisit -> T_CVisit
newtype T_CVisit
Constructors
T_CVisit (Set NontermIdent -> PragmaMap -> Set Identifier -> [(Identifier, Type, ChildKind)] -> ConstructorIdent -> ContextMap -> Decls -> Attributes -> Map Identifier Int -> Bool -> Map Identifier (Identifier, [Identifier]) -> Exprs -> Set String -> Int -> NontermIdent -> Bool -> Bool -> Bool -> Maybe Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Options -> Map Identifier (NontermIdent, [String]) -> ParamMap -> String -> QuantMap -> Attributes -> [Identifier] -> (NontermIdent -> Int -> [String] -> Type) -> Set Identifier -> Bool -> Set NontermIdent -> ([String], Decls, Map Identifier Int, Exprs, Set String, [String], Set Identifier)) |
data Inh_CVisit
Constructors
data Syn_CVisit
Constructors
Syn_CVisit | |
Fields
|
wrap_CVisit :: T_CVisit -> Inh_CVisit -> Syn_CVisit
sem_CVisit_CVisit :: Attributes -> Attributes -> T_Sequence -> T_Sequence -> Bool -> T_CVisit
sem_CVisits :: CVisits -> T_CVisits
newtype T_CVisits
Constructors
T_CVisits (Set NontermIdent -> PragmaMap -> Set Identifier -> [(Identifier, Type, ChildKind)] -> ConstructorIdent -> ContextMap -> Attributes -> Map Identifier Int -> Map Identifier (Identifier, [Identifier]) -> Int -> NontermIdent -> Bool -> Bool -> Bool -> Maybe Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Options -> Map Identifier (NontermIdent, [String]) -> ParamMap -> String -> QuantMap -> Attributes -> [Identifier] -> (NontermIdent -> Int -> [String] -> Type) -> Set Identifier -> Bool -> Set NontermIdent -> ([String], Decls, Map Identifier Int, Exprs, Set String, Bool, [String], Set Identifier)) |
data Inh_CVisits
Constructors
data Syn_CVisits
Constructors
Syn_CVisits | |
Fields
|
wrap_CVisits :: T_CVisits -> Inh_CVisits -> Syn_CVisits
sem_CVisits_Cons :: T_CVisit -> T_CVisits -> T_CVisits
newtype T_DeclBlocks
data Inh_DeclBlocks
Constructors
Inh_DeclBlocks | |
Fields |
data Syn_DeclBlocks
Constructors
Syn_DeclBlocks | |
Fields
|
sem_DeclBlocks_DeclBlock :: [Decl] -> Decl -> T_DeclBlocks -> T_DeclBlocks
sem_DeclBlocks_DeclTerminator :: [Decl] -> Expr -> T_DeclBlocks
newtype T_DeclBlocksRoot
data Inh_DeclBlocksRoot
Constructors
Inh_DeclBlocksRoot | |
data Syn_DeclBlocksRoot
Constructors
Syn_DeclBlocksRoot | |
Fields |
sem_Pattern :: Pattern -> T_Pattern
newtype T_Pattern
Constructors
T_Pattern (Pattern, [Identifier], [(Identifier, Identifier)]) |
data Inh_Pattern
Constructors
Inh_Pattern | |
data Syn_Pattern
Constructors
Syn_Pattern | |
Fields |
wrap_Pattern :: T_Pattern -> Inh_Pattern -> Syn_Pattern
sem_Pattern_Alias :: Identifier -> Identifier -> T_Pattern -> T_Pattern
sem_Pattern_Product :: Pos -> T_Patterns -> T_Pattern
sem_Patterns :: Patterns -> T_Patterns
newtype T_Patterns
Constructors
T_Patterns (Patterns, [Identifier], [(Identifier, Identifier)]) |
data Inh_Patterns
Constructors
Inh_Patterns | |
data Syn_Patterns
Constructors
Syn_Patterns | |
Fields |
wrap_Patterns :: T_Patterns -> Inh_Patterns -> Syn_Patterns
sem_Patterns_Cons :: T_Pattern -> T_Patterns -> T_Patterns
sem_Sequence :: Sequence -> T_Sequence
newtype T_Sequence
Constructors
T_Sequence (Set NontermIdent -> Set Identifier -> [(Identifier, Type, ChildKind)] -> ConstructorIdent -> [Decl] -> Attributes -> Map Identifier Int -> Expr -> Map Identifier (Identifier, [Identifier]) -> Int -> NontermIdent -> Bool -> Bool -> Bool -> Maybe Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Options -> Map Identifier (NontermIdent, [String]) -> ParamMap -> String -> Attributes -> [Identifier] -> (NontermIdent -> Int -> [String] -> Type) -> Set Identifier -> String -> (Bool, DeclBlocks, [String], Decls, [Decl], [Identifier], Exprs, [Decl], [Type], Set String, Set Identifier)) |
data Inh_Sequence
Constructors
data Syn_Sequence
Constructors
Syn_Sequence | |
Fields
|
wrap_Sequence :: T_Sequence -> Inh_Sequence -> Syn_Sequence
sem_Sequence_Cons :: T_CRule -> T_Sequence -> T_Sequence
sem_CGrammar :: CGrammar -> T_CGrammar
newtype T_CGrammar
Constructors
T_CGrammar (Options -> (Seq Error, Program)) |
data Inh_CGrammar
Constructors
Inh_CGrammar | |
Fields |
data Syn_CGrammar
Constructors
Syn_CGrammar | |
Fields
|
wrap_CGrammar :: T_CGrammar -> Inh_CGrammar -> Syn_CGrammar
sem_CGrammar_CGrammar :: TypeSyns -> Derivings -> Set NontermIdent -> T_CNonterminals -> PragmaMap -> ParamMap -> ContextMap -> QuantMap -> Map NontermIdent (Map ConstructorIdent (Set Identifier)) -> Map NontermIdent (Map ConstructorIdent (Map Identifier (Identifier, [Identifier]))) -> Bool -> T_CGrammar
cleanupArg :: String -> String
appContext :: ContextMap -> NontermIdent -> Type -> Type
appQuant :: QuantMap -> NontermIdent -> Type -> Type
unwrapSem :: Bool -> NontermIdent -> Expr -> Expr
mkLambdaArg :: String -> Maybe Type -> Expr
isHigherOrder :: ChildKind -> Bool
pickOrigType :: (Identifier, Type, ChildKind) -> (Identifier, Type, ChildKind)
mkPartitionedFunction :: String -> Bool -> [Decl] -> [String] -> DeclBlocks -> ([Decl], Expr)
typeToCodeType :: Maybe NontermIdent -> [String] -> Type -> Type
idEvalType :: Type -> Type
isFirstOrder :: ChildKind -> Type -> Maybe Type
makeLocalComment :: Int -> String -> Identifier -> Maybe Type -> String
seqSemname :: String -> NontermIdent -> ConstructorIdent -> Int -> String
typeName :: NontermIdent -> Int -> String
ntOfVisit :: NontermIdent -> Int -> NontermIdent
visitname :: String -> NontermIdent -> Int -> String
toNamedType :: Bool -> NontermIdent -> ConstructorIdent -> Identifier -> Type -> NamedType