uuagc

ResolveLocals

# Documentation

sem_Children :: Children -> T_Children

newtype T_Children

Constructors

T_Children ([(Identifier, Type, ChildKind)] -> [Identifier] -> [(Identifier, Identifier)] -> Identifier -> Attributes -> Map Identifier Attributes -> Map Identifier (Identifier, [Identifier]) -> Identifier -> Attributes -> Map Identifier Attributes -> ([(Identifier, Attributes, Attributes)], [(Identifier, Type, ChildKind)], Children)) |

data Inh_Children

Constructors

Inh_Children |
Fields allfields_Inh_Children :: [(Identifier, Type, ChildKind)] allnts_Inh_Children :: [Identifier] attrs_Inh_Children :: [(Identifier, Identifier)] con_Inh_Children :: Identifier inh_Inh_Children :: Attributes inhMap_Inh_Children :: Map Identifier Attributes mergeMap_Inh_Children :: Map Identifier (Identifier, [Identifier]) nt_Inh_Children :: Identifier syn_Inh_Children :: Attributes synMap_Inh_Children :: Map Identifier Attributes

data Syn_Children

Constructors

Syn_Children |
Fields attributes_Syn_Children :: [(Identifier, Attributes, Attributes)] fields_Syn_Children :: [(Identifier, Type, ChildKind)] output_Syn_Children :: Children

wrap_Children :: T_Children -> Inh_Children -> Syn_Children

sem_Children_Cons :: T_Child -> T_Children -> T_Children

sem_Children_Nil :: T_Children

sem_Expression :: Expression -> T_Expression

newtype T_Expression

Constructors

T_Expression ([(Identifier, Type, ChildKind)] -> [Identifier] -> [(Identifier, Identifier)] -> Identifier -> Map Identifier (Identifier, [Identifier]) -> Identifier -> Options -> (Seq Error, Expression)) |

data Inh_Expression

Constructors

Inh_Expression |
Fields allfields_Inh_Expression :: [(Identifier, Type, ChildKind)] allnts_Inh_Expression :: [Identifier] attrs_Inh_Expression :: [(Identifier, Identifier)] con_Inh_Expression :: Identifier mergeMap_Inh_Expression :: Map Identifier (Identifier, [Identifier]) nt_Inh_Expression :: Identifier options_Inh_Expression :: Options

data Syn_Expression

Constructors

Syn_Expression |
Fields errors_Syn_Expression :: Seq Error output_Syn_Expression :: Expression

wrap_Expression :: T_Expression -> Inh_Expression -> Syn_Expression

sem_Expression_Expression :: Pos -> [HsToken] -> T_Expression

sem_Grammar :: Grammar -> T_Grammar

newtype T_Grammar

Constructors

T_Grammar (Options -> (Seq Error, Grammar)) |

data Inh_Grammar

Constructors

Inh_Grammar |
Fields options_Inh_Grammar :: Options

data Syn_Grammar

Constructors

Syn_Grammar |
Fields errors_Syn_Grammar :: Seq Error output_Syn_Grammar :: Grammar

wrap_Grammar :: T_Grammar -> Inh_Grammar -> Syn_Grammar

sem_Grammar_Grammar :: TypeSyns -> UseMap -> Derivings -> Set NontermIdent -> T_Nonterminals -> PragmaMap -> AttrOrderMap -> ParamMap -> ContextMap -> QuantMap -> UniqueMap -> Map NontermIdent (Map ConstructorIdent (Map Identifier [Expression])) -> Map NontermIdent (Map ConstructorIdent (Map Identifier [Expression])) -> Map NontermIdent (Map ConstructorIdent (Map Identifier (Identifier, [Identifier], Expression))) -> T_Grammar

sem_Nonterminal :: Nonterminal -> T_Nonterminal

newtype T_Nonterminal

Constructors

T_Nonterminal ([Identifier] -> Map Identifier Attributes -> Map NontermIdent (Map ConstructorIdent (Map Identifier (Identifier, [Identifier]))) -> Options -> Map Identifier Attributes -> (Seq Error, Map Identifier Attributes, [(NontermIdent, [ConstructorIdent])], Nonterminal, Map Identifier Attributes)) |

data Inh_Nonterminal

Constructors

Inh_Nonterminal |
Fields allnts_Inh_Nonterminal :: [Identifier] inhMap_Inh_Nonterminal :: Map Identifier Attributes mergeMap_Inh_Nonterminal :: Map NontermIdent (Map ConstructorIdent (Map Identifier (Identifier, [Identifier]))) options_Inh_Nonterminal :: Options synMap_Inh_Nonterminal :: Map Identifier Attributes

data Syn_Nonterminal

Constructors

Syn_Nonterminal |
Fields errors_Syn_Nonterminal :: Seq Error inhMap'_Syn_Nonterminal :: Map Identifier Attributes nonts_Syn_Nonterminal :: [(NontermIdent, [ConstructorIdent])] output_Syn_Nonterminal :: Nonterminal synMap'_Syn_Nonterminal :: Map Identifier Attributes

wrap_Nonterminal :: T_Nonterminal -> Inh_Nonterminal -> Syn_Nonterminal

sem_Nonterminal_Nonterminal :: NontermIdent -> [Identifier] -> Attributes -> Attributes -> T_Productions -> T_Nonterminal

sem_Nonterminals :: Nonterminals -> T_Nonterminals

newtype T_Nonterminals

Constructors

T_Nonterminals ([Identifier] -> Map Identifier Attributes -> Map NontermIdent (Map ConstructorIdent (Map Identifier (Identifier, [Identifier]))) -> Options -> Map Identifier Attributes -> (Seq Error, Map Identifier Attributes, [(NontermIdent, [ConstructorIdent])], Nonterminals, Map Identifier Attributes)) |

data Inh_Nonterminals

Constructors

Inh_Nonterminals |
Fields allnts_Inh_Nonterminals :: [Identifier] inhMap_Inh_Nonterminals :: Map Identifier Attributes mergeMap_Inh_Nonterminals :: Map NontermIdent (Map ConstructorIdent (Map Identifier (Identifier, [Identifier]))) options_Inh_Nonterminals :: Options synMap_Inh_Nonterminals :: Map Identifier Attributes

data Syn_Nonterminals

Constructors

Syn_Nonterminals |
Fields errors_Syn_Nonterminals :: Seq Error inhMap'_Syn_Nonterminals :: Map Identifier Attributes nonts_Syn_Nonterminals :: [(NontermIdent, [ConstructorIdent])] output_Syn_Nonterminals :: Nonterminals synMap'_Syn_Nonterminals :: Map Identifier Attributes

wrap_Nonterminals :: T_Nonterminals -> Inh_Nonterminals -> Syn_Nonterminals

sem_Nonterminals_Cons :: T_Nonterminal -> T_Nonterminals -> T_Nonterminals

sem_Nonterminals_Nil :: T_Nonterminals

sem_Pattern :: Pattern -> T_Pattern

newtype T_Pattern

Constructors

T_Pattern (Identifier -> Attributes -> Identifier -> Attributes -> (Pattern, Seq Error, [Identifier], [Identifier], Pattern)) |

data Inh_Pattern

Constructors

Inh_Pattern |
Fields con_Inh_Pattern :: Identifier inh_Inh_Pattern :: Attributes nt_Inh_Pattern :: Identifier syn_Inh_Pattern :: Attributes

data Syn_Pattern

Constructors

Syn_Pattern |
Fields copy_Syn_Pattern :: Pattern errors_Syn_Pattern :: Seq Error instVars_Syn_Pattern :: [Identifier] locVars_Syn_Pattern :: [Identifier] output_Syn_Pattern :: Pattern

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 (Identifier -> Attributes -> Identifier -> Attributes -> (Patterns, Seq Error, [Identifier], [Identifier], Patterns)) |

data Inh_Patterns

Constructors

Inh_Patterns |
Fields con_Inh_Patterns :: Identifier inh_Inh_Patterns :: Attributes nt_Inh_Patterns :: Identifier syn_Inh_Patterns :: Attributes

data Syn_Patterns

Constructors

Syn_Patterns |
Fields copy_Syn_Patterns :: Patterns errors_Syn_Patterns :: Seq Error instVars_Syn_Patterns :: [Identifier] locVars_Syn_Patterns :: [Identifier] output_Syn_Patterns :: Patterns

wrap_Patterns :: T_Patterns -> Inh_Patterns -> Syn_Patterns

sem_Patterns_Cons :: T_Pattern -> T_Patterns -> T_Patterns

sem_Patterns_Nil :: T_Patterns

sem_Production :: Production -> T_Production

newtype T_Production

Constructors

T_Production ([Identifier] -> Attributes -> Map Identifier Attributes -> Map ConstructorIdent (Map Identifier (Identifier, [Identifier])) -> Identifier -> Options -> Attributes -> Map Identifier Attributes -> ([ConstructorIdent], Seq Error, Production)) |

data Inh_Production

Constructors

Inh_Production |
Fields allnts_Inh_Production :: [Identifier] inh_Inh_Production :: Attributes inhMap_Inh_Production :: Map Identifier Attributes mergeMap_Inh_Production :: Map ConstructorIdent (Map Identifier (Identifier, [Identifier])) nt_Inh_Production :: Identifier options_Inh_Production :: Options syn_Inh_Production :: Attributes synMap_Inh_Production :: Map Identifier Attributes

data Syn_Production

Constructors

Syn_Production |
Fields cons_Syn_Production :: [ConstructorIdent] errors_Syn_Production :: Seq Error output_Syn_Production :: Production

wrap_Production :: T_Production -> Inh_Production -> Syn_Production

sem_Production_Production :: ConstructorIdent -> [Identifier] -> [Type] -> T_Children -> T_Rules -> T_TypeSigs -> MaybeMacro -> T_Production

sem_Productions :: Productions -> T_Productions

newtype T_Productions

Constructors

T_Productions ([Identifier] -> Attributes -> Map Identifier Attributes -> Map ConstructorIdent (Map Identifier (Identifier, [Identifier])) -> Identifier -> Options -> Attributes -> Map Identifier Attributes -> ([ConstructorIdent], Seq Error, Productions)) |

data Inh_Productions

Constructors

Inh_Productions |
Fields allnts_Inh_Productions :: [Identifier] inh_Inh_Productions :: Attributes inhMap_Inh_Productions :: Map Identifier Attributes mergeMap_Inh_Productions :: Map ConstructorIdent (Map Identifier (Identifier, [Identifier])) nt_Inh_Productions :: Identifier options_Inh_Productions :: Options syn_Inh_Productions :: Attributes synMap_Inh_Productions :: Map Identifier Attributes

data Syn_Productions

Constructors

Syn_Productions |
Fields cons_Syn_Productions :: [ConstructorIdent] errors_Syn_Productions :: Seq Error output_Syn_Productions :: Productions

wrap_Productions :: T_Productions -> Inh_Productions -> Syn_Productions

sem_Productions_Cons :: T_Production -> T_Productions -> T_Productions

sem_Productions_Nil :: T_Productions

sem_Rule :: Rule -> T_Rule

newtype T_Rule

Constructors

T_Rule ([(Identifier, Type, ChildKind)] -> [Identifier] -> [(Identifier, Identifier)] -> Identifier -> Attributes -> Map Identifier (Identifier, [Identifier]) -> Identifier -> Options -> Attributes -> (Seq Error, [Identifier], [Identifier], Rule)) |

data Inh_Rule

Constructors

Inh_Rule |
Fields allfields_Inh_Rule :: [(Identifier, Type, ChildKind)] allnts_Inh_Rule :: [Identifier] attrs_Inh_Rule :: [(Identifier, Identifier)] con_Inh_Rule :: Identifier inh_Inh_Rule :: Attributes mergeMap_Inh_Rule :: Map Identifier (Identifier, [Identifier]) nt_Inh_Rule :: Identifier options_Inh_Rule :: Options syn_Inh_Rule :: Attributes

data Syn_Rule

Constructors

Syn_Rule |
Fields errors_Syn_Rule :: Seq Error instVars_Syn_Rule :: [Identifier] locVars_Syn_Rule :: [Identifier] output_Syn_Rule :: Rule

wrap_Rule :: T_Rule -> Inh_Rule -> Syn_Rule

sem_Rule_Rule :: Maybe Identifier -> T_Pattern -> T_Expression -> Bool -> String -> Bool -> Bool -> Bool -> Maybe Error -> Bool -> T_Rule

sem_Rules :: Rules -> T_Rules

newtype T_Rules

Constructors

T_Rules ([(Identifier, Type, ChildKind)] -> [Identifier] -> [(Identifier, Identifier)] -> Identifier -> Attributes -> Map Identifier (Identifier, [Identifier]) -> Identifier -> Options -> Attributes -> (Seq Error, [Identifier], [Identifier], Rules)) |

data Inh_Rules

Constructors

Inh_Rules |
Fields allfields_Inh_Rules :: [(Identifier, Type, ChildKind)] allnts_Inh_Rules :: [Identifier] attrs_Inh_Rules :: [(Identifier, Identifier)] con_Inh_Rules :: Identifier inh_Inh_Rules :: Attributes mergeMap_Inh_Rules :: Map Identifier (Identifier, [Identifier]) nt_Inh_Rules :: Identifier options_Inh_Rules :: Options syn_Inh_Rules :: Attributes

data Syn_Rules

Constructors

Syn_Rules |
Fields errors_Syn_Rules :: Seq Error instVars_Syn_Rules :: [Identifier] locVars_Syn_Rules :: [Identifier] output_Syn_Rules :: Rules

wrap_Rules :: T_Rules -> Inh_Rules -> Syn_Rules

sem_Rules_Cons :: T_Rule -> T_Rules -> T_Rules

sem_Rules_Nil :: T_Rules

sem_TypeSig :: TypeSig -> T_TypeSig

newtype T_TypeSig

Constructors

T_TypeSig TypeSig |

data Inh_TypeSig

Constructors

Inh_TypeSig |

data Syn_TypeSig

Constructors

Syn_TypeSig |
Fields output_Syn_TypeSig :: TypeSig

wrap_TypeSig :: T_TypeSig -> Inh_TypeSig -> Syn_TypeSig

sem_TypeSig_TypeSig :: Identifier -> Type -> T_TypeSig

sem_TypeSigs :: TypeSigs -> T_TypeSigs

newtype T_TypeSigs

Constructors

T_TypeSigs TypeSigs |

data Inh_TypeSigs

Constructors

Inh_TypeSigs |

data Syn_TypeSigs

Constructors

Syn_TypeSigs |
Fields output_Syn_TypeSigs :: TypeSigs

wrap_TypeSigs :: T_TypeSigs -> Inh_TypeSigs -> Syn_TypeSigs

sem_TypeSigs_Cons :: T_TypeSig -> T_TypeSigs -> T_TypeSigs

sem_TypeSigs_Nil :: T_TypeSigs

sem_Child :: Child -> T_Child

newtype T_Child

Constructors

T_Child ([(Identifier, Type, ChildKind)] -> [Identifier] -> [(Identifier, Identifier)] -> Identifier -> Attributes -> Map Identifier Attributes -> Map Identifier (Identifier, [Identifier]) -> Identifier -> Attributes -> Map Identifier Attributes -> ([(Identifier, Attributes, Attributes)], (Identifier, Type, ChildKind), Child)) |

data Inh_Child

Constructors

Inh_Child |
Fields allfields_Inh_Child :: [(Identifier, Type, ChildKind)] allnts_Inh_Child :: [Identifier] attrs_Inh_Child :: [(Identifier, Identifier)] con_Inh_Child :: Identifier inh_Inh_Child :: Attributes inhMap_Inh_Child :: Map Identifier Attributes mergeMap_Inh_Child :: Map Identifier (Identifier, [Identifier]) nt_Inh_Child :: Identifier syn_Inh_Child :: Attributes synMap_Inh_Child :: Map Identifier Attributes

data Syn_Child

Constructors

Syn_Child |
Fields attributes_Syn_Child :: [(Identifier, Attributes, Attributes)] field_Syn_Child :: (Identifier, Type, ChildKind) output_Syn_Child :: Child

wrap_Child :: T_Child -> Inh_Child -> Syn_Child

sem_Child_Child :: Identifier -> Type -> ChildKind -> T_Child