uuagc

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

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

mkLambdaArg :: String -> Maybe Type -> Expr

mkLambda :: Exprs -> Expr -> Expr

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

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

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