Desugar
Documentation
sem_Children :: Children -> T_Children
newtype T_Children
Constructors
T_Children (Map Identifier Attributes -> String -> Options -> Map Identifier Attributes -> ([(Identifier, Identifier)], [(Identifier, Identifier)], Children)) |
data Inh_Children
Constructors
Inh_Children | |
Fields |
data Syn_Children
Constructors
Syn_Children | |
Fields
|
wrap_Children :: T_Children -> Inh_Children -> Syn_Children
sem_Children_Cons :: T_Child -> T_Children -> T_Children
newtype T_Expression
Constructors
T_Expression ([(Identifier, Identifier)] -> [(Identifier, Identifier)] -> ConstructorIdent -> NontermIdent -> Options -> String -> (Seq Error, Expression)) |
data Inh_Expression
Constructors
Inh_Expression | |
Fields |
data Syn_Expression
Constructors
Syn_Expression | |
Fields |
sem_Expression_Expression :: Pos -> [HsToken] -> T_Expression
sem_Grammar :: Grammar -> T_Grammar
newtype T_Grammar
data Inh_Grammar
Constructors
Inh_Grammar | |
Fields |
data Syn_Grammar
Constructors
Syn_Grammar | |
Fields |
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_HsToken :: HsToken -> T_HsToken
newtype T_HsToken
Constructors
T_HsToken (Int -> [(Identifier, Identifier)] -> [(Identifier, Identifier)] -> ConstructorIdent -> NontermIdent -> String -> Bool -> (Int, Seq Error, HsToken)) |
data Inh_HsToken
Constructors
Inh_HsToken | |
Fields |
data Syn_HsToken
Constructors
Syn_HsToken | |
Fields
|
wrap_HsToken :: T_HsToken -> Inh_HsToken -> Syn_HsToken
sem_HsToken_AGField :: Identifier -> Identifier -> Pos -> Maybe String -> T_HsToken
sem_HsToken_AGLocal :: Identifier -> Pos -> Maybe String -> T_HsToken
sem_HsToken_CharToken :: String -> Pos -> T_HsToken
sem_HsToken_Err :: String -> Pos -> T_HsToken
sem_HsToken_HsToken :: String -> Pos -> T_HsToken
sem_HsToken_StrToken :: String -> Pos -> T_HsToken
sem_HsTokens :: HsTokens -> T_HsTokens
newtype T_HsTokens
Constructors
T_HsTokens (Int -> [(Identifier, Identifier)] -> [(Identifier, Identifier)] -> ConstructorIdent -> NontermIdent -> String -> Bool -> (Int, Seq Error, HsTokens)) |
data Inh_HsTokens
Constructors
Inh_HsTokens | |
Fields |
data Syn_HsTokens
Constructors
Syn_HsTokens | |
Fields
|
wrap_HsTokens :: T_HsTokens -> Inh_HsTokens -> Syn_HsTokens
sem_HsTokens_Cons :: T_HsToken -> T_HsTokens -> T_HsTokens
newtype T_HsTokensRoot
Constructors
T_HsTokensRoot ([(Identifier, Identifier)] -> [(Identifier, Identifier)] -> ConstructorIdent -> NontermIdent -> String -> Bool -> (Seq Error, [HsToken])) |
data Inh_HsTokensRoot
Constructors
Inh_HsTokensRoot | |
data Syn_HsTokensRoot
Constructors
Syn_HsTokensRoot | |
Fields
|
newtype T_Nonterminal
Constructors
T_Nonterminal (Map Identifier Attributes, Map Identifier Attributes, T_Nonterminal_1) |
newtype T_Nonterminal_1
Constructors
T_Nonterminal_1 (Map NontermIdent (Map ConstructorIdent (Map Identifier [Expression])) -> AttrMap -> Map Identifier Attributes -> String -> Options -> Map Identifier Attributes -> (AttrMap, Map NontermIdent (Map ConstructorIdent (Map Identifier [Expression])), Seq Error, Nonterminal)) |
data Inh_Nonterminal
Constructors
data Syn_Nonterminal
Constructors
sem_Nonterminal_Nonterminal :: NontermIdent -> [Identifier] -> Attributes -> Attributes -> T_Productions -> T_Nonterminal
newtype T_Nonterminals
Constructors
T_Nonterminals (Map Identifier Attributes, Map Identifier Attributes, T_Nonterminals_1) |
newtype T_Nonterminals_1
Constructors
T_Nonterminals_1 (Map NontermIdent (Map ConstructorIdent (Map Identifier [Expression])) -> AttrMap -> Map Identifier Attributes -> String -> Options -> Map Identifier Attributes -> (AttrMap, Map NontermIdent (Map ConstructorIdent (Map Identifier [Expression])), Seq Error, Nonterminals)) |
data Inh_Nonterminals
Constructors
data Syn_Nonterminals
Constructors
sem_Pattern :: Pattern -> T_Pattern
newtype T_Pattern
Constructors
T_Pattern (Set (Identifier, Identifier), T_Pattern_1) |
newtype T_Pattern_1
Constructors
T_Pattern_1 ([(Identifier, Identifier)] -> [(Identifier, Identifier)] -> ConstructorIdent -> Set (Identifier, Identifier) -> AttrMap -> NontermIdent -> (AttrMap, Pattern, Seq Error, Pattern)) |
data Inh_Pattern
Constructors
Inh_Pattern | |
Fields
|
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 (Set (Identifier, Identifier), T_Patterns_1) |
newtype T_Patterns_1
Constructors
T_Patterns_1 ([(Identifier, Identifier)] -> [(Identifier, Identifier)] -> ConstructorIdent -> Set (Identifier, Identifier) -> AttrMap -> NontermIdent -> (AttrMap, Patterns, Seq Error, Patterns)) |
data Inh_Patterns
Constructors
Inh_Patterns | |
Fields |
data Syn_Patterns
Constructors
Syn_Patterns | |
Fields |
wrap_Patterns :: T_Patterns -> Inh_Patterns -> Syn_Patterns
sem_Patterns_Cons :: T_Pattern -> T_Patterns -> T_Patterns
newtype T_Production
Constructors
T_Production (Map ConstructorIdent (Map Identifier [Expression]) -> AttrMap -> Map Identifier Attributes -> String -> NontermIdent -> Options -> Map Identifier Attributes -> (AttrMap, Map ConstructorIdent (Map Identifier [Expression]), Seq Error, Production)) |
data Inh_Production
Constructors
data Syn_Production
Constructors
Syn_Production | |
Fields |
sem_Production_Production :: ConstructorIdent -> [Identifier] -> [Type] -> T_Children -> T_Rules -> T_TypeSigs -> MaybeMacro -> T_Production
newtype T_Productions
Constructors
T_Productions (Map ConstructorIdent (Map Identifier [Expression]) -> AttrMap -> Map Identifier Attributes -> String -> NontermIdent -> Options -> Map Identifier Attributes -> (AttrMap, Map ConstructorIdent (Map Identifier [Expression]), Seq Error, Productions)) |
data Inh_Productions
Constructors
data Syn_Productions
Constructors
Syn_Productions | |
Fields |
newtype T_Rule
Constructors
T_Rule (Set (Identifier, Identifier), T_Rule_1) |
newtype T_Rule_1
Constructors
T_Rule_1 ([(Identifier, Identifier)] -> [(Identifier, Identifier)] -> ConstructorIdent -> Set (Identifier, Identifier) -> AttrMap -> NontermIdent -> Options -> (AttrMap, Seq Error, Rule)) |
data Inh_Rule
Constructors
Inh_Rule | |
Fields
|
data Syn_Rule
Constructors
Syn_Rule | |
Fields
|
sem_Rule_Rule :: Maybe Identifier -> T_Pattern -> T_Expression -> Bool -> String -> Bool -> Bool -> Bool -> Maybe Error -> Bool -> T_Rule
newtype T_Rules
Constructors
T_Rules (Set (Identifier, Identifier), T_Rules_1) |
newtype T_Rules_1
Constructors
T_Rules_1 ([(Identifier, Identifier)] -> [(Identifier, Identifier)] -> ConstructorIdent -> Set (Identifier, Identifier) -> AttrMap -> NontermIdent -> Options -> (AttrMap, Seq Error, Rules)) |
data Inh_Rules
Constructors
Inh_Rules | |
Fields
|
data Syn_Rules
Constructors
Syn_Rules | |
Fields
|
wrap_Rules :: T_Rules -> Inh_Rules -> Syn_Rules
sem_Rules_Cons :: T_Rule -> T_Rules -> T_Rules
sem_TypeSig :: TypeSig -> T_TypeSig
data Inh_TypeSig
Constructors
Inh_TypeSig | |
data Syn_TypeSig
Constructors
Syn_TypeSig | |
Fields |
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 |
wrap_TypeSigs :: T_TypeSigs -> Inh_TypeSigs -> Syn_TypeSigs
sem_TypeSigs_Cons :: T_TypeSig -> T_TypeSigs -> T_TypeSigs
newtype T_Child
Constructors
T_Child (Map Identifier Attributes -> String -> Options -> Map Identifier Attributes -> ([(Identifier, Identifier)], [(Identifier, Identifier)], Child)) |
data Syn_Child
Constructors
Syn_Child | |
Fields
|
wrap_Child :: T_Child -> Inh_Child -> Syn_Child
sem_Child_Child :: Identifier -> Type -> ChildKind -> T_Child
maybeError :: a -> Error -> Maybe a -> (a, Seq Error)
findField :: Identifier -> Identifier -> [(Identifier, Identifier)] -> Maybe Identifier
mergeAttributes :: AttrMap -> AttrMap -> AttrMap
desugarExprs :: Options -> NontermIdent -> ConstructorIdent -> [(Identifier, Identifier)] -> [(Identifier, Identifier)] -> Seq Error -> [Expression] -> (Seq Error, [Expression])
desugarExpr :: Options -> NontermIdent -> ConstructorIdent -> [(Identifier, Identifier)] -> [(Identifier, Identifier)] -> Seq Error -> Expression -> (Seq Error, Expression)
addLateAttr :: Options -> String -> Attributes