uuagc

Safe Haskell | Safe-Infered

GenerateCode

# Documentation

sem_CInterface :: CInterface -> T_CInterface

newtype T_CInterface

Constructors

T_CInterface (Attributes -> 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_CInterface

Constructors

Inh_CInterface |

Fields

inh_Inh_CInterface :: !Attributes
nt_Inh_CInterface :: !NontermIdent
o_case_Inh_CInterface :: !Bool
o_cata_Inh_CInterface :: !Bool
o_costcentre_Inh_CInterface :: !Bool
o_data_Inh_CInterface :: !(Maybe Bool)
o_linePragmas_Inh_CInterface :: !Bool
o_monadic_Inh_CInterface :: !Bool
o_newtypes_Inh_CInterface :: !Bool
o_pretty_Inh_CInterface :: !Bool
o_rename_Inh_CInterface :: !Bool
o_sem_Inh_CInterface :: !Bool
o_sig_Inh_CInterface :: !Bool
o_splitsems_Inh_CInterface :: !Bool
o_strictwrap_Inh_CInterface :: !Bool
o_traces_Inh_CInterface :: !Bool
o_unbox_Inh_CInterface :: !Bool
options_Inh_CInterface :: !Options
paramMap_Inh_CInterface :: !ParamMap
prefix_Inh_CInterface :: !String
syn_Inh_CInterface :: !Attributes

data Syn_CInterface

Constructors

Syn_CInterface |

Fields

comments_Syn_CInterface :: ![String]
semDom_Syn_CInterface :: ![Decl]
semDomUnfoldGath_Syn_CInterface :: !(Map (NontermIdent, Int) ([String], Type))
wrapDecls_Syn_CInterface :: !Decls

wrap_CInterface :: T_CInterface -> Inh_CInterface -> Syn_CInterface

sem_CInterface_CInterface :: T_CSegments -> T_CInterface

sem_CNonterminal :: CNonterminal -> T_CNonterminal

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

Inh_CNonterminal |

Fields

allNts_Inh_CNonterminal :: !(Set NontermIdent)
allPragmas_Inh_CNonterminal :: !PragmaMap
aroundMap_Inh_CNonterminal :: !(Map NontermIdent (Map ConstructorIdent (Set Identifier)))
contextMap_Inh_CNonterminal :: !ContextMap
derivings_Inh_CNonterminal :: !Derivings
mergeMap_Inh_CNonterminal :: !(Map NontermIdent (Map ConstructorIdent (Map Identifier (Identifier, [Identifier]))))
o_case_Inh_CNonterminal :: !Bool
o_cata_Inh_CNonterminal :: !Bool
o_costcentre_Inh_CNonterminal :: !Bool
o_data_Inh_CNonterminal :: !(Maybe Bool)
o_linePragmas_Inh_CNonterminal :: !Bool
o_monadic_Inh_CNonterminal :: !Bool
o_newtypes_Inh_CNonterminal :: !Bool
o_pretty_Inh_CNonterminal :: !Bool
o_rename_Inh_CNonterminal :: !Bool
o_sem_Inh_CNonterminal :: !Bool
o_sig_Inh_CNonterminal :: !Bool
o_splitsems_Inh_CNonterminal :: !Bool
o_strictwrap_Inh_CNonterminal :: !Bool
o_traces_Inh_CNonterminal :: !Bool
o_unbox_Inh_CNonterminal :: !Bool
options_Inh_CNonterminal :: !Options
paramMap_Inh_CNonterminal :: !ParamMap
prefix_Inh_CNonterminal :: !String
quantMap_Inh_CNonterminal :: !QuantMap
typeSyns_Inh_CNonterminal :: !TypeSyns
unfoldSemDom_Inh_CNonterminal :: !(NontermIdent -> Int -> [String] -> Type)
with_sig_Inh_CNonterminal :: !Bool
wrappers_Inh_CNonterminal :: !(Set NontermIdent)

data Syn_CNonterminal

Constructors

Syn_CNonterminal |

Fields

chunks_Syn_CNonterminal :: !Chunks
gathNts_Syn_CNonterminal :: !(Set NontermIdent)
semDomUnfoldGath_Syn_CNonterminal :: !(Map (NontermIdent, Int) ([String], Type))

wrap_CNonterminal :: T_CNonterminal -> Inh_CNonterminal -> Syn_CNonterminal

sem_CNonterminal_CNonterminal :: NontermIdent -> [Identifier] -> Attributes -> Attributes -> T_CProductions -> T_CInterface -> T_CNonterminal

sem_CNonterminals :: CNonterminals -> T_CNonterminals

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

Inh_CNonterminals |

Fields

allNts_Inh_CNonterminals :: !(Set NontermIdent)
allPragmas_Inh_CNonterminals :: !PragmaMap
aroundMap_Inh_CNonterminals :: !(Map NontermIdent (Map ConstructorIdent (Set Identifier)))
contextMap_Inh_CNonterminals :: !ContextMap
derivings_Inh_CNonterminals :: !Derivings
mergeMap_Inh_CNonterminals :: !(Map NontermIdent (Map ConstructorIdent (Map Identifier (Identifier, [Identifier]))))
o_case_Inh_CNonterminals :: !Bool
o_cata_Inh_CNonterminals :: !Bool
o_costcentre_Inh_CNonterminals :: !Bool
o_data_Inh_CNonterminals :: !(Maybe Bool)
o_linePragmas_Inh_CNonterminals :: !Bool
o_monadic_Inh_CNonterminals :: !Bool
o_newtypes_Inh_CNonterminals :: !Bool
o_pretty_Inh_CNonterminals :: !Bool
o_rename_Inh_CNonterminals :: !Bool
o_sem_Inh_CNonterminals :: !Bool
o_sig_Inh_CNonterminals :: !Bool
o_splitsems_Inh_CNonterminals :: !Bool
o_strictwrap_Inh_CNonterminals :: !Bool
o_traces_Inh_CNonterminals :: !Bool
o_unbox_Inh_CNonterminals :: !Bool
options_Inh_CNonterminals :: !Options
paramMap_Inh_CNonterminals :: !ParamMap
prefix_Inh_CNonterminals :: !String
quantMap_Inh_CNonterminals :: !QuantMap
typeSyns_Inh_CNonterminals :: !TypeSyns
unfoldSemDom_Inh_CNonterminals :: !(NontermIdent -> Int -> [String] -> Type)
with_sig_Inh_CNonterminals :: !Bool
wrappers_Inh_CNonterminals :: !(Set NontermIdent)

data Syn_CNonterminals

Constructors

Syn_CNonterminals |

Fields

chunks_Syn_CNonterminals :: !Chunks
gathNts_Syn_CNonterminals :: !(Set NontermIdent)
semDomUnfoldGath_Syn_CNonterminals :: !(Map (NontermIdent, Int) ([String], Type))

wrap_CNonterminals :: T_CNonterminals -> Inh_CNonterminals -> Syn_CNonterminals

sem_CNonterminals_Cons :: T_CNonterminal -> T_CNonterminals -> T_CNonterminals

sem_CNonterminals_Nil :: T_CNonterminals

sem_CProduction :: CProduction -> T_CProduction

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

Inh_CProduction |

Fields

allNts_Inh_CProduction :: !(Set NontermIdent)
allPragmas_Inh_CProduction :: !PragmaMap
aroundMap_Inh_CProduction :: !(Map ConstructorIdent (Set Identifier))
contextMap_Inh_CProduction :: !ContextMap
inh_Inh_CProduction :: !Attributes
mergeMap_Inh_CProduction :: !(Map ConstructorIdent (Map Identifier (Identifier, [Identifier])))
nt_Inh_CProduction :: !NontermIdent
o_case_Inh_CProduction :: !Bool
o_cata_Inh_CProduction :: !Bool
o_costcentre_Inh_CProduction :: !Bool
o_data_Inh_CProduction :: !(Maybe Bool)
o_linePragmas_Inh_CProduction :: !Bool
o_monadic_Inh_CProduction :: !Bool
o_newtypes_Inh_CProduction :: !Bool
o_pretty_Inh_CProduction :: !Bool
o_rename_Inh_CProduction :: !Bool
o_sem_Inh_CProduction :: !Bool
o_sig_Inh_CProduction :: !Bool
o_splitsems_Inh_CProduction :: !Bool
o_strictwrap_Inh_CProduction :: !Bool
o_traces_Inh_CProduction :: !Bool
o_unbox_Inh_CProduction :: !Bool
options_Inh_CProduction :: !Options
paramMap_Inh_CProduction :: !ParamMap
prefix_Inh_CProduction :: !String
quantMap_Inh_CProduction :: !QuantMap
syn_Inh_CProduction :: !Attributes
unfoldSemDom_Inh_CProduction :: !(NontermIdent -> Int -> [String] -> Type)
with_sig_Inh_CProduction :: !Bool
wrappers_Inh_CProduction :: !(Set NontermIdent)

data Syn_CProduction

Constructors

Syn_CProduction |

Fields

cataAlt_Syn_CProduction :: !Decl
comments_Syn_CProduction :: ![String]
dataAlt_Syn_CProduction :: !DataAlt
decls_Syn_CProduction :: !Decls
semNames_Syn_CProduction :: ![String]

wrap_CProduction :: T_CProduction -> Inh_CProduction -> Syn_CProduction

sem_CProduction_CProduction :: ConstructorIdent -> T_CVisits -> [(Identifier, Type, ChildKind)] -> [Identifier] -> T_CProduction

sem_CProductions :: CProductions -> T_CProductions

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

Inh_CProductions |

Fields

allNts_Inh_CProductions :: !(Set NontermIdent)
allPragmas_Inh_CProductions :: !PragmaMap
aroundMap_Inh_CProductions :: !(Map ConstructorIdent (Set Identifier))
contextMap_Inh_CProductions :: !ContextMap
inh_Inh_CProductions :: !Attributes
mergeMap_Inh_CProductions :: !(Map ConstructorIdent (Map Identifier (Identifier, [Identifier])))
nt_Inh_CProductions :: !NontermIdent
o_case_Inh_CProductions :: !Bool
o_cata_Inh_CProductions :: !Bool
o_costcentre_Inh_CProductions :: !Bool
o_data_Inh_CProductions :: !(Maybe Bool)
o_linePragmas_Inh_CProductions :: !Bool
o_monadic_Inh_CProductions :: !Bool
o_newtypes_Inh_CProductions :: !Bool
o_pretty_Inh_CProductions :: !Bool
o_rename_Inh_CProductions :: !Bool
o_sem_Inh_CProductions :: !Bool
o_sig_Inh_CProductions :: !Bool
o_splitsems_Inh_CProductions :: !Bool
o_strictwrap_Inh_CProductions :: !Bool
o_traces_Inh_CProductions :: !Bool
o_unbox_Inh_CProductions :: !Bool
options_Inh_CProductions :: !Options
paramMap_Inh_CProductions :: !ParamMap
prefix_Inh_CProductions :: !String
quantMap_Inh_CProductions :: !QuantMap
syn_Inh_CProductions :: !Attributes
unfoldSemDom_Inh_CProductions :: !(NontermIdent -> Int -> [String] -> Type)
with_sig_Inh_CProductions :: !Bool
wrappers_Inh_CProductions :: !(Set NontermIdent)

data Syn_CProductions

Constructors

Syn_CProductions |

Fields

cataAlts_Syn_CProductions :: !Decls
comments_Syn_CProductions :: ![String]
dataAlts_Syn_CProductions :: !DataAlts
decls_Syn_CProductions :: !Decls
semNames_Syn_CProductions :: ![String]

wrap_CProductions :: T_CProductions -> Inh_CProductions -> Syn_CProductions

sem_CProductions_Cons :: T_CProduction -> T_CProductions -> T_CProductions

sem_CProductions_Nil :: T_CProductions

sem_CRule :: CRule -> T_CRule

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

Inh_CRule |

Fields

allNts_Inh_CRule :: !(Set NontermIdent)
aroundMap_Inh_CRule :: !(Set Identifier)
children_Inh_CRule :: ![(Identifier, Type, ChildKind)]
con_Inh_CRule :: !ConstructorIdent
declsAbove_Inh_CRule :: ![Decl]
inh_Inh_CRule :: !Attributes
instVisitNrs_Inh_CRule :: !(Map Identifier Int)
mergeMap_Inh_CRule :: !(Map Identifier (Identifier, [Identifier]))
nr_Inh_CRule :: !Int
nt_Inh_CRule :: !NontermIdent
o_case_Inh_CRule :: !Bool
o_cata_Inh_CRule :: !Bool
o_costcentre_Inh_CRule :: !Bool
o_data_Inh_CRule :: !(Maybe Bool)
o_linePragmas_Inh_CRule :: !Bool
o_monadic_Inh_CRule :: !Bool
o_newtypes_Inh_CRule :: !Bool
o_pretty_Inh_CRule :: !Bool
o_rename_Inh_CRule :: !Bool
o_sem_Inh_CRule :: !Bool
o_sig_Inh_CRule :: !Bool
o_splitsems_Inh_CRule :: !Bool
o_strictwrap_Inh_CRule :: !Bool
o_traces_Inh_CRule :: !Bool
o_unbox_Inh_CRule :: !Bool
options_Inh_CRule :: !Options
paramInstMap_Inh_CRule :: !(Map Identifier (NontermIdent, [String]))
paramMap_Inh_CRule :: !ParamMap
prefix_Inh_CRule :: !String
syn_Inh_CRule :: !Attributes
terminals_Inh_CRule :: ![Identifier]
unfoldSemDom_Inh_CRule :: !(NontermIdent -> Int -> [String] -> Type)
visitedSet_Inh_CRule :: !(Set Identifier)
what_Inh_CRule :: !String

data Syn_CRule

Constructors

Syn_CRule |

Fields

allTpsFound_Syn_CRule :: !Bool
bldBlocksFun_Syn_CRule :: !(DeclBlocks -> DeclBlocks)
comments_Syn_CRule :: ![String]
decls_Syn_CRule :: !Decls
declsAbove_Syn_CRule :: ![Decl]
definedInsts_Syn_CRule :: ![Identifier]
exprs_Syn_CRule :: !Exprs
tSigs_Syn_CRule :: ![Decl]
tps_Syn_CRule :: ![Type]
usedVars_Syn_CRule :: !(Set String)
visitedSet_Syn_CRule :: !(Set Identifier)

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

Inh_CSegment |

Fields

inh_Inh_CSegment :: !Attributes
isLast_Inh_CSegment :: !Bool
nr_Inh_CSegment :: !Int
nt_Inh_CSegment :: !NontermIdent
o_case_Inh_CSegment :: !Bool
o_cata_Inh_CSegment :: !Bool
o_costcentre_Inh_CSegment :: !Bool
o_data_Inh_CSegment :: !(Maybe Bool)
o_linePragmas_Inh_CSegment :: !Bool
o_monadic_Inh_CSegment :: !Bool
o_newtypes_Inh_CSegment :: !Bool
o_pretty_Inh_CSegment :: !Bool
o_rename_Inh_CSegment :: !Bool
o_sem_Inh_CSegment :: !Bool
o_sig_Inh_CSegment :: !Bool
o_splitsems_Inh_CSegment :: !Bool
o_strictwrap_Inh_CSegment :: !Bool
o_traces_Inh_CSegment :: !Bool
o_unbox_Inh_CSegment :: !Bool
options_Inh_CSegment :: !Options
paramMap_Inh_CSegment :: !ParamMap
prefix_Inh_CSegment :: !String
syn_Inh_CSegment :: !Attributes

data Syn_CSegment

Constructors

Syn_CSegment |

Fields

comments_Syn_CSegment :: ![String]
semDom_Syn_CSegment :: ![Decl]
semDomUnfoldGath_Syn_CSegment :: !(Map (NontermIdent, Int) ([String], Type))
wrapDecls_Syn_CSegment :: !Decls

wrap_CSegment :: T_CSegment -> Inh_CSegment -> Syn_CSegment

sem_CSegment_CSegment :: Attributes -> Attributes -> T_CSegment

sem_CSegments :: CSegments -> T_CSegments

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

Inh_CSegments |

Fields

inh_Inh_CSegments :: !Attributes
nr_Inh_CSegments :: !Int
nt_Inh_CSegments :: !NontermIdent
o_case_Inh_CSegments :: !Bool
o_cata_Inh_CSegments :: !Bool
o_costcentre_Inh_CSegments :: !Bool
o_data_Inh_CSegments :: !(Maybe Bool)
o_linePragmas_Inh_CSegments :: !Bool
o_monadic_Inh_CSegments :: !Bool
o_newtypes_Inh_CSegments :: !Bool
o_pretty_Inh_CSegments :: !Bool
o_rename_Inh_CSegments :: !Bool
o_sem_Inh_CSegments :: !Bool
o_sig_Inh_CSegments :: !Bool
o_splitsems_Inh_CSegments :: !Bool
o_strictwrap_Inh_CSegments :: !Bool
o_traces_Inh_CSegments :: !Bool
o_unbox_Inh_CSegments :: !Bool
options_Inh_CSegments :: !Options
paramMap_Inh_CSegments :: !ParamMap
prefix_Inh_CSegments :: !String
syn_Inh_CSegments :: !Attributes

data Syn_CSegments

Constructors

Syn_CSegments |

Fields

comments_Syn_CSegments :: ![String]
isNil_Syn_CSegments :: !Bool
semDom_Syn_CSegments :: ![Decl]
semDomUnfoldGath_Syn_CSegments :: !(Map (NontermIdent, Int) ([String], Type))
wrapDecls_Syn_CSegments :: !Decls

wrap_CSegments :: T_CSegments -> Inh_CSegments -> Syn_CSegments

sem_CSegments_Cons :: T_CSegment -> T_CSegments -> T_CSegments

sem_CSegments_Nil :: T_CSegments

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

Inh_CVisit |

Fields

allNts_Inh_CVisit :: !(Set NontermIdent)
allPragmas_Inh_CVisit :: !PragmaMap
aroundMap_Inh_CVisit :: !(Set Identifier)
children_Inh_CVisit :: ![(Identifier, Type, ChildKind)]
con_Inh_CVisit :: !ConstructorIdent
contextMap_Inh_CVisit :: !ContextMap
decls_Inh_CVisit :: !Decls
inh_Inh_CVisit :: !Attributes
instVisitNrs_Inh_CVisit :: !(Map Identifier Int)
isLast_Inh_CVisit :: !Bool
mergeMap_Inh_CVisit :: !(Map Identifier (Identifier, [Identifier]))
nextIntra_Inh_CVisit :: !Exprs
nextIntraVars_Inh_CVisit :: !(Set String)
nr_Inh_CVisit :: !Int
nt_Inh_CVisit :: !NontermIdent
o_case_Inh_CVisit :: !Bool
o_cata_Inh_CVisit :: !Bool
o_costcentre_Inh_CVisit :: !Bool
o_data_Inh_CVisit :: !(Maybe Bool)
o_linePragmas_Inh_CVisit :: !Bool
o_monadic_Inh_CVisit :: !Bool
o_newtypes_Inh_CVisit :: !Bool
o_pretty_Inh_CVisit :: !Bool
o_rename_Inh_CVisit :: !Bool
o_sem_Inh_CVisit :: !Bool
o_sig_Inh_CVisit :: !Bool
o_splitsems_Inh_CVisit :: !Bool
o_strictwrap_Inh_CVisit :: !Bool
o_traces_Inh_CVisit :: !Bool
o_unbox_Inh_CVisit :: !Bool
options_Inh_CVisit :: !Options
paramInstMap_Inh_CVisit :: !(Map Identifier (NontermIdent, [String]))
paramMap_Inh_CVisit :: !ParamMap
prefix_Inh_CVisit :: !String
quantMap_Inh_CVisit :: !QuantMap
syn_Inh_CVisit :: !Attributes
terminals_Inh_CVisit :: ![Identifier]
unfoldSemDom_Inh_CVisit :: !(NontermIdent -> Int -> [String] -> Type)
visitedSet_Inh_CVisit :: !(Set Identifier)
with_sig_Inh_CVisit :: !Bool
wrappers_Inh_CVisit :: !(Set NontermIdent)

data Syn_CVisit

Constructors

Syn_CVisit |

Fields

comments_Syn_CVisit :: ![String]
decls_Syn_CVisit :: !Decls
gatherInstVisitNrs_Syn_CVisit :: !(Map Identifier Int)
intra_Syn_CVisit :: !Exprs
intraVars_Syn_CVisit :: !(Set String)
semNames_Syn_CVisit :: ![String]
visitedSet_Syn_CVisit :: !(Set Identifier)

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

Inh_CVisits |

Fields

allNts_Inh_CVisits :: !(Set NontermIdent)
allPragmas_Inh_CVisits :: !PragmaMap
aroundMap_Inh_CVisits :: !(Set Identifier)
children_Inh_CVisits :: ![(Identifier, Type, ChildKind)]
con_Inh_CVisits :: !ConstructorIdent
contextMap_Inh_CVisits :: !ContextMap
inh_Inh_CVisits :: !Attributes
instVisitNrs_Inh_CVisits :: !(Map Identifier Int)
mergeMap_Inh_CVisits :: !(Map Identifier (Identifier, [Identifier]))
nr_Inh_CVisits :: !Int
nt_Inh_CVisits :: !NontermIdent
o_case_Inh_CVisits :: !Bool
o_cata_Inh_CVisits :: !Bool
o_costcentre_Inh_CVisits :: !Bool
o_data_Inh_CVisits :: !(Maybe Bool)
o_linePragmas_Inh_CVisits :: !Bool
o_monadic_Inh_CVisits :: !Bool
o_newtypes_Inh_CVisits :: !Bool
o_pretty_Inh_CVisits :: !Bool
o_rename_Inh_CVisits :: !Bool
o_sem_Inh_CVisits :: !Bool
o_sig_Inh_CVisits :: !Bool
o_splitsems_Inh_CVisits :: !Bool
o_strictwrap_Inh_CVisits :: !Bool
o_traces_Inh_CVisits :: !Bool
o_unbox_Inh_CVisits :: !Bool
options_Inh_CVisits :: !Options
paramInstMap_Inh_CVisits :: !(Map Identifier (NontermIdent, [String]))
paramMap_Inh_CVisits :: !ParamMap
prefix_Inh_CVisits :: !String
quantMap_Inh_CVisits :: !QuantMap
syn_Inh_CVisits :: !Attributes
terminals_Inh_CVisits :: ![Identifier]
unfoldSemDom_Inh_CVisits :: !(NontermIdent -> Int -> [String] -> Type)
visitedSet_Inh_CVisits :: !(Set Identifier)
with_sig_Inh_CVisits :: !Bool
wrappers_Inh_CVisits :: !(Set NontermIdent)

data Syn_CVisits

Constructors

Syn_CVisits |

Fields

comments_Syn_CVisits :: ![String]
decls_Syn_CVisits :: !Decls
gatherInstVisitNrs_Syn_CVisits :: !(Map Identifier Int)
intra_Syn_CVisits :: !Exprs
intraVars_Syn_CVisits :: !(Set String)
isNil_Syn_CVisits :: !Bool
semNames_Syn_CVisits :: ![String]
visitedSet_Syn_CVisits :: !(Set Identifier)

wrap_CVisits :: T_CVisits -> Inh_CVisits -> Syn_CVisits

sem_CVisits_Cons :: T_CVisit -> T_CVisits -> T_CVisits

sem_CVisits_Nil :: T_CVisits

sem_DeclBlocks :: DeclBlocks -> T_DeclBlocks

newtype T_DeclBlocks

Constructors

T_DeclBlocks (Int -> [String] -> [Decl] -> Bool -> String -> (Expr, [Decl], [String])) |

data Inh_DeclBlocks

Constructors

Inh_DeclBlocks |

Fields

blockNr_Inh_DeclBlocks :: !Int
lastExprVars_Inh_DeclBlocks :: ![String]
nextVisitDecls_Inh_DeclBlocks :: ![Decl]
optCase_Inh_DeclBlocks :: !Bool
prefix_Inh_DeclBlocks :: !String

data Syn_DeclBlocks

Constructors

Syn_DeclBlocks |

Fields

callExpr_Syn_DeclBlocks :: !Expr
decls_Syn_DeclBlocks :: ![Decl]
freeVars_Syn_DeclBlocks :: ![String]

wrap_DeclBlocks :: T_DeclBlocks -> Inh_DeclBlocks -> Syn_DeclBlocks

sem_DeclBlocks_DeclBlock :: [Decl] -> Decl -> T_DeclBlocks -> T_DeclBlocks

sem_DeclBlocks_DeclTerminator :: [Decl] -> Expr -> T_DeclBlocks

sem_DeclBlocksRoot :: DeclBlocksRoot -> T_DeclBlocksRoot

newtype T_DeclBlocksRoot

Constructors

T_DeclBlocksRoot ([String] -> [Decl] -> Bool -> String -> (Expr, [Decl])) |

data Inh_DeclBlocksRoot

Constructors

Inh_DeclBlocksRoot |

Fields

lastExprVars_Inh_DeclBlocksRoot :: ![String]
nextVisitDecls_Inh_DeclBlocksRoot :: ![Decl]
optCase_Inh_DeclBlocksRoot :: !Bool
prefix_Inh_DeclBlocksRoot :: !String

data Syn_DeclBlocksRoot

Constructors

Syn_DeclBlocksRoot |

Fields

firstCall_Syn_DeclBlocksRoot :: !Expr
lambdas_Syn_DeclBlocksRoot :: ![Decl]

wrap_DeclBlocksRoot :: T_DeclBlocksRoot -> Inh_DeclBlocksRoot -> Syn_DeclBlocksRoot

sem_DeclBlocksRoot_DeclBlocksRoot :: T_DeclBlocks -> T_DeclBlocksRoot

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

copy_Syn_Pattern :: !Pattern
definedInsts_Syn_Pattern :: ![Identifier]
patternAttributes_Syn_Pattern :: ![(Identifier, Identifier)]

wrap_Pattern :: T_Pattern -> Inh_Pattern -> Syn_Pattern

sem_Pattern_Alias :: Identifier -> Identifier -> T_Pattern -> T_Pattern

sem_Pattern_Constr :: ConstructorIdent -> T_Patterns -> T_Pattern

sem_Pattern_Irrefutable :: T_Pattern -> T_Pattern

sem_Pattern_Product :: Pos -> T_Patterns -> T_Pattern

sem_Pattern_Underscore :: Pos -> 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

copy_Syn_Patterns :: !Patterns
definedInsts_Syn_Patterns :: ![Identifier]
patternAttributes_Syn_Patterns :: ![(Identifier, Identifier)]

wrap_Patterns :: T_Patterns -> Inh_Patterns -> Syn_Patterns

sem_Patterns_Cons :: T_Pattern -> T_Patterns -> T_Patterns

sem_Patterns_Nil :: 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

Inh_Sequence |

Fields

allNts_Inh_Sequence :: !(Set NontermIdent)
aroundMap_Inh_Sequence :: !(Set Identifier)
children_Inh_Sequence :: ![(Identifier, Type, ChildKind)]
con_Inh_Sequence :: !ConstructorIdent
declsAbove_Inh_Sequence :: ![Decl]
inh_Inh_Sequence :: !Attributes
instVisitNrs_Inh_Sequence :: !(Map Identifier Int)
lastExpr_Inh_Sequence :: !Expr
mergeMap_Inh_Sequence :: !(Map Identifier (Identifier, [Identifier]))
nr_Inh_Sequence :: !Int
nt_Inh_Sequence :: !NontermIdent
o_case_Inh_Sequence :: !Bool
o_cata_Inh_Sequence :: !Bool
o_costcentre_Inh_Sequence :: !Bool
o_data_Inh_Sequence :: !(Maybe Bool)
o_linePragmas_Inh_Sequence :: !Bool
o_monadic_Inh_Sequence :: !Bool
o_newtypes_Inh_Sequence :: !Bool
o_pretty_Inh_Sequence :: !Bool
o_rename_Inh_Sequence :: !Bool
o_sem_Inh_Sequence :: !Bool
o_sig_Inh_Sequence :: !Bool
o_splitsems_Inh_Sequence :: !Bool
o_strictwrap_Inh_Sequence :: !Bool
o_traces_Inh_Sequence :: !Bool
o_unbox_Inh_Sequence :: !Bool
options_Inh_Sequence :: !Options
paramInstMap_Inh_Sequence :: !(Map Identifier (NontermIdent, [String]))
paramMap_Inh_Sequence :: !ParamMap
prefix_Inh_Sequence :: !String
syn_Inh_Sequence :: !Attributes
terminals_Inh_Sequence :: ![Identifier]
unfoldSemDom_Inh_Sequence :: !(NontermIdent -> Int -> [String] -> Type)
visitedSet_Inh_Sequence :: !(Set Identifier)
what_Inh_Sequence :: !String

data Syn_Sequence

Constructors

Syn_Sequence |

Fields

allTpsFound_Syn_Sequence :: !Bool
blockDecls_Syn_Sequence :: !DeclBlocks
comments_Syn_Sequence :: ![String]
decls_Syn_Sequence :: !Decls
declsAbove_Syn_Sequence :: ![Decl]
definedInsts_Syn_Sequence :: ![Identifier]
exprs_Syn_Sequence :: !Exprs
tSigs_Syn_Sequence :: ![Decl]
tps_Syn_Sequence :: ![Type]
usedVars_Syn_Sequence :: !(Set String)
visitedSet_Syn_Sequence :: !(Set Identifier)

wrap_Sequence :: T_Sequence -> Inh_Sequence -> Syn_Sequence

sem_Sequence_Cons :: T_CRule -> T_Sequence -> T_Sequence

sem_Sequence_Nil :: T_Sequence

sem_CGrammar :: CGrammar -> T_CGrammar

newtype T_CGrammar

Constructors

T_CGrammar (Options -> (Seq Error, Program)) |

data Inh_CGrammar

Constructors

Inh_CGrammar |

Fields

options_Inh_CGrammar :: !Options

data Syn_CGrammar

Constructors

Syn_CGrammar |

Fields

errors_Syn_CGrammar :: !(Seq Error)
output_Syn_CGrammar :: !Program

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

mkDecl :: Bool -> Lhs -> Expr -> Set String -> Set String -> Decl

unwrapSem :: Bool -> NontermIdent -> Expr -> Expr

mkLambdaArg :: String -> Maybe Type -> Expr

mkLambda :: Exprs -> Expr -> Expr

mkSemFun :: Identifier -> Int -> Exprs -> Expr -> Expr

typeAppStrs :: String -> [String] -> Type

isHigherOrder :: ChildKind -> Bool

pickOrigType :: (Identifier, Type, ChildKind) -> (Identifier, Type, ChildKind)

mkPartitionedFunction :: String -> Bool -> [Decl] -> [String] -> DeclBlocks -> ([Decl], Expr)

freevars :: [String] -> [Decl] -> [String]

mkBlockLambda :: Bool -> String -> [String] -> [Decl] -> Expr -> Decl

typeToCodeType :: Maybe NontermIdent -> [String] -> Type -> Type

evalType :: (String -> String) -> Type -> Type

idEvalType :: Type -> Type

isFirstOrder :: ChildKind -> Type -> Maybe Type

makeLocalComment :: Int -> String -> Identifier -> Maybe Type -> String

data DeclsType

Constructors

DeclsLet |
DeclsCase |
DeclsDo |

mkDecls :: DeclsType -> Decls -> Expr -> Expr

mkLet :: Bool -> Decls -> Expr -> Expr

oneCase :: Decl -> Expr -> Expr

funname :: (Eq a1, Num a1, Show a1, Show a) => a -> a1 -> [Char]

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