uuagc

Safe Haskell | Safe-Infered

AG2AspectAG

# Documentation

sem_Children :: Children -> T_Children

newtype T_Children

Constructors

T_Children (Maybe String -> Map Identifier Attributes -> [String] -> Attributes -> [String] -> Bool -> PP_Doc -> PP_Doc -> Map Identifier Attributes -> [String] -> ([(Identifier, Type)], [(Identifier, (PP_Doc, PP_Doc))], [PP_Doc], PP_Doc, [PP_Doc], PP_Doc, Attributes)) |

data Inh_Children

Constructors

Inh_Children |

Fields

ext_Inh_Children :: Maybe String
inhMap_Inh_Children :: Map Identifier Attributes
inhNoGroup_Inh_Children :: [String]
newAtts_Inh_Children :: Attributes
o_noGroup_Inh_Children :: [String]
o_rename_Inh_Children :: Bool
ppNt_Inh_Children :: PP_Doc
ppProd_Inh_Children :: PP_Doc
synMap_Inh_Children :: Map Identifier Attributes
synNoGroup_Inh_Children :: [String]

data Syn_Children

Constructors

Syn_Children |

Fields

idCL_Syn_Children :: [(Identifier, Type)]
ppCSF_Syn_Children :: [(Identifier, (PP_Doc, PP_Doc))]
ppDL_Syn_Children :: [PP_Doc]
ppL_Syn_Children :: PP_Doc
ppLI_Syn_Children :: [PP_Doc]
ppR_Syn_Children :: PP_Doc
prdInh_Syn_Children :: Attributes

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 (PP_Doc -> PP_Doc -> [String] -> Identifier -> [(Identifier, Type)] -> [Identifier] -> PP_Doc) |

data Inh_Expression

Constructors

Inh_Expression |

Fields

ppNt_Inh_Expression :: PP_Doc
ppProd_Inh_Expression :: PP_Doc

data Syn_Expression

Constructors

Syn_Expression |

Fields

ppRE_Syn_Expression :: [String] -> Identifier -> [(Identifier, Type)] -> [Identifier] -> PP_Doc

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 ((Set NontermIdent, DataTypes, Map NontermIdent (Attributes, Attributes)) -> Maybe String -> Options -> (PP_Doc, PP_Doc)) |

data Inh_Grammar

Constructors

Inh_Grammar |

Fields

agi_Inh_Grammar :: (Set NontermIdent, DataTypes, Map NontermIdent (Attributes, Attributes))
ext_Inh_Grammar :: Maybe String
options_Inh_Grammar :: Options

data Syn_Grammar

Constructors

Syn_Grammar |

Fields

imp_Syn_Grammar :: PP_Doc
pp_Syn_Grammar :: PP_Doc

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 () |

data Inh_HsToken

Constructors

Inh_HsToken |

data Syn_HsToken

Constructors

Syn_HsToken |

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 () |

data Inh_HsTokens

Constructors

Inh_HsTokens |

data Syn_HsTokens

Constructors

Syn_HsTokens |

wrap_HsTokens :: T_HsTokens -> Inh_HsTokens -> Syn_HsTokens

sem_HsTokens_Cons :: T_HsToken -> T_HsTokens -> T_HsTokens

sem_HsTokens_Nil :: T_HsTokens

sem_HsTokensRoot :: HsTokensRoot -> T_HsTokensRoot

newtype T_HsTokensRoot

Constructors

T_HsTokensRoot () |

data Inh_HsTokensRoot

Constructors

Inh_HsTokensRoot |

data Syn_HsTokensRoot

Constructors

Syn_HsTokensRoot |

wrap_HsTokensRoot :: T_HsTokensRoot -> Inh_HsTokensRoot -> Syn_HsTokensRoot

sem_HsTokensRoot_HsTokensRoot :: T_HsTokens -> T_HsTokensRoot

sem_Nonterminal :: Nonterminal -> T_Nonterminal

newtype T_Nonterminal

Constructors

T_Nonterminal (Derivings -> Maybe String -> Map Identifier Attributes -> Attributes -> Set NontermIdent -> DataTypes -> [String] -> Bool -> Map Identifier Attributes -> TypeSyns -> (Set NontermIdent, Map Identifier Attributes, PP_Doc, [PP_Doc], PP_Doc, PP_Doc, [PP_Doc], PP_Doc, [PP_Doc], [(PP_Doc, Attributes)], PP_Doc, PP_Doc, PP_Doc, Map Identifier Attributes)) |

data Inh_Nonterminal

Constructors

Inh_Nonterminal |

Fields

derivs_Inh_Nonterminal :: Derivings
ext_Inh_Nonterminal :: Maybe String
inhMap_Inh_Nonterminal :: Map Identifier Attributes
newAtts_Inh_Nonterminal :: Attributes
newNTs_Inh_Nonterminal :: Set NontermIdent
newProds_Inh_Nonterminal :: DataTypes
o_noGroup_Inh_Nonterminal :: [String]
o_rename_Inh_Nonterminal :: Bool
synMap_Inh_Nonterminal :: Map Identifier Attributes
tSyns_Inh_Nonterminal :: TypeSyns

data Syn_Nonterminal

Constructors

Syn_Nonterminal |

Fields

extendedNTs_Syn_Nonterminal :: Set NontermIdent
inhMap'_Syn_Nonterminal :: Map Identifier Attributes
ppA_Syn_Nonterminal :: PP_Doc
ppAI_Syn_Nonterminal :: [PP_Doc]
ppCata_Syn_Nonterminal :: PP_Doc
ppD_Syn_Nonterminal :: PP_Doc
ppDI_Syn_Nonterminal :: [PP_Doc]
ppL_Syn_Nonterminal :: PP_Doc
ppLI_Syn_Nonterminal :: [PP_Doc]
ppNtL_Syn_Nonterminal :: [(PP_Doc, Attributes)]
ppR_Syn_Nonterminal :: PP_Doc
ppSF_Syn_Nonterminal :: PP_Doc
ppW_Syn_Nonterminal :: PP_Doc
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 (Derivings -> Maybe String -> Map Identifier Attributes -> Attributes -> Set NontermIdent -> DataTypes -> [String] -> Bool -> Map Identifier Attributes -> TypeSyns -> (Set NontermIdent, Map Identifier Attributes, PP_Doc, [PP_Doc], PP_Doc, PP_Doc, [PP_Doc], PP_Doc, [PP_Doc], [(PP_Doc, Attributes)], PP_Doc, PP_Doc, PP_Doc, Map Identifier Attributes)) |

data Inh_Nonterminals

Constructors

Inh_Nonterminals |

Fields

derivs_Inh_Nonterminals :: Derivings
ext_Inh_Nonterminals :: Maybe String
inhMap_Inh_Nonterminals :: Map Identifier Attributes
newAtts_Inh_Nonterminals :: Attributes
newNTs_Inh_Nonterminals :: Set NontermIdent
newProds_Inh_Nonterminals :: DataTypes
o_noGroup_Inh_Nonterminals :: [String]
o_rename_Inh_Nonterminals :: Bool
synMap_Inh_Nonterminals :: Map Identifier Attributes
tSyns_Inh_Nonterminals :: TypeSyns

data Syn_Nonterminals

Constructors

Syn_Nonterminals |

Fields

extendedNTs_Syn_Nonterminals :: Set NontermIdent
inhMap'_Syn_Nonterminals :: Map Identifier Attributes
ppA_Syn_Nonterminals :: PP_Doc
ppAI_Syn_Nonterminals :: [PP_Doc]
ppCata_Syn_Nonterminals :: PP_Doc
ppD_Syn_Nonterminals :: PP_Doc
ppDI_Syn_Nonterminals :: [PP_Doc]
ppL_Syn_Nonterminals :: PP_Doc
ppLI_Syn_Nonterminals :: [PP_Doc]
ppNtL_Syn_Nonterminals :: [(PP_Doc, Attributes)]
ppR_Syn_Nonterminals :: PP_Doc
ppSF_Syn_Nonterminals :: PP_Doc
ppW_Syn_Nonterminals :: PP_Doc
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 (Pattern, (Identifier, Identifier)) |

data Inh_Pattern

Constructors

Inh_Pattern |

data Syn_Pattern

Constructors

Syn_Pattern |

Fields

copy_Syn_Pattern :: Pattern
info_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 |

data Inh_Patterns

Constructors

Inh_Patterns |

data Syn_Patterns

Constructors

Syn_Patterns |

Fields

copy_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 (Maybe String -> Attributes -> Map Identifier Attributes -> [String] -> Attributes -> Bool -> Map ConstructorIdent FieldMap -> [String] -> Bool -> PP_Doc -> Attributes -> Map Identifier Attributes -> [String] -> (Bool, PP_Doc, PP_Doc, PP_Doc, [PP_Doc], PP_Doc, [PP_Doc], PP_Doc, [PP_Doc], PP_Doc, PP_Doc, Attributes)) |

data Inh_Production

Constructors

Inh_Production |

Fields

ext_Inh_Production :: Maybe String
inh_Inh_Production :: Attributes
inhMap_Inh_Production :: Map Identifier Attributes
inhNoGroup_Inh_Production :: [String]
newAtts_Inh_Production :: Attributes
newNT_Inh_Production :: Bool
newProds_Inh_Production :: Map ConstructorIdent FieldMap
o_noGroup_Inh_Production :: [String]
o_rename_Inh_Production :: Bool
ppNt_Inh_Production :: PP_Doc
syn_Inh_Production :: Attributes
synMap_Inh_Production :: Map Identifier Attributes
synNoGroup_Inh_Production :: [String]

data Syn_Production

Constructors

Syn_Production |

Fields

hasMoreProds_Syn_Production :: Bool
ppA_Syn_Production :: PP_Doc
ppCata_Syn_Production :: PP_Doc
ppD_Syn_Production :: PP_Doc
ppDI_Syn_Production :: [PP_Doc]
ppL_Syn_Production :: PP_Doc
ppLI_Syn_Production :: [PP_Doc]
ppR_Syn_Production :: PP_Doc
ppRA_Syn_Production :: [PP_Doc]
ppSF_Syn_Production :: PP_Doc
ppSPF_Syn_Production :: PP_Doc
prdInh_Syn_Production :: Attributes

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 (Maybe String -> Attributes -> Map Identifier Attributes -> [String] -> Attributes -> Bool -> Map ConstructorIdent FieldMap -> [String] -> Bool -> PP_Doc -> Attributes -> Map Identifier Attributes -> [String] -> (Bool, PP_Doc, PP_Doc, [PP_Doc], PP_Doc, [PP_Doc], PP_Doc, [PP_Doc], PP_Doc, PP_Doc, Attributes)) |

data Inh_Productions

Constructors

Inh_Productions |

Fields

ext_Inh_Productions :: Maybe String
inh_Inh_Productions :: Attributes
inhMap_Inh_Productions :: Map Identifier Attributes
inhNoGroup_Inh_Productions :: [String]
newAtts_Inh_Productions :: Attributes
newNT_Inh_Productions :: Bool
newProds_Inh_Productions :: Map ConstructorIdent FieldMap
o_noGroup_Inh_Productions :: [String]
o_rename_Inh_Productions :: Bool
ppNt_Inh_Productions :: PP_Doc
syn_Inh_Productions :: Attributes
synMap_Inh_Productions :: Map Identifier Attributes
synNoGroup_Inh_Productions :: [String]

data Syn_Productions

Constructors

Syn_Productions |

Fields

hasMoreProds_Syn_Productions :: Bool
ppA_Syn_Productions :: PP_Doc
ppCata_Syn_Productions :: PP_Doc
ppDL_Syn_Productions :: [PP_Doc]
ppL_Syn_Productions :: PP_Doc
ppLI_Syn_Productions :: [PP_Doc]
ppR_Syn_Productions :: PP_Doc
ppRA_Syn_Productions :: [PP_Doc]
ppSF_Syn_Productions :: PP_Doc
ppSPF_Syn_Productions :: PP_Doc
prdInh_Syn_Productions :: Attributes

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 (Maybe String -> [String] -> Attributes -> Bool -> [String] -> PP_Doc -> PP_Doc -> [String] -> ([Identifier], [PPRule])) |

data Inh_Rule

Constructors

Inh_Rule |

Fields

ext_Inh_Rule :: Maybe String
inhNoGroup_Inh_Rule :: [String]
newAtts_Inh_Rule :: Attributes
newProd_Inh_Rule :: Bool
o_noGroup_Inh_Rule :: [String]
ppNt_Inh_Rule :: PP_Doc
ppProd_Inh_Rule :: PP_Doc
synNoGroup_Inh_Rule :: [String]

data Syn_Rule

Constructors

Syn_Rule |

Fields

locals_Syn_Rule :: [Identifier]
ppRL_Syn_Rule :: [PPRule]

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 (Maybe String -> [String] -> Attributes -> Bool -> [String] -> PP_Doc -> PP_Doc -> [String] -> ([Identifier], [PPRule])) |

data Inh_Rules

Constructors

Inh_Rules |

Fields

ext_Inh_Rules :: Maybe String
inhNoGroup_Inh_Rules :: [String]
newAtts_Inh_Rules :: Attributes
newProd_Inh_Rules :: Bool
o_noGroup_Inh_Rules :: [String]
ppNt_Inh_Rules :: PP_Doc
ppProd_Inh_Rules :: PP_Doc
synNoGroup_Inh_Rules :: [String]

data Syn_Rules

Constructors

Syn_Rules |

Fields

locals_Syn_Rules :: [Identifier]
ppRL_Syn_Rules :: [PPRule]

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 () |

data Inh_TypeSig

Constructors

Inh_TypeSig |

data Syn_TypeSig

Constructors

Syn_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 () |

data Inh_TypeSigs

Constructors

Inh_TypeSigs |

data Syn_TypeSigs

Constructors

Syn_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 (Maybe String -> Map Identifier Attributes -> [String] -> Attributes -> [String] -> Bool -> PP_Doc -> PP_Doc -> Map Identifier Attributes -> [String] -> ([(Identifier, Type)], [(Identifier, (PP_Doc, PP_Doc))], [PP_Doc], PP_Doc, [PP_Doc], PP_Doc, Attributes)) |

data Inh_Child

Constructors

Inh_Child |

Fields

ext_Inh_Child :: Maybe String
inhMap_Inh_Child :: Map Identifier Attributes
inhNoGroup_Inh_Child :: [String]
newAtts_Inh_Child :: Attributes
o_noGroup_Inh_Child :: [String]
o_rename_Inh_Child :: Bool
ppNt_Inh_Child :: PP_Doc
ppProd_Inh_Child :: PP_Doc
synMap_Inh_Child :: Map Identifier Attributes
synNoGroup_Inh_Child :: [String]

data Syn_Child

Constructors

Syn_Child |

Fields

idCL_Syn_Child :: [(Identifier, Type)]
ppCSF_Syn_Child :: [(Identifier, (PP_Doc, PP_Doc))]
ppDL_Syn_Child :: [PP_Doc]
ppL_Syn_Child :: PP_Doc
ppLI_Syn_Child :: [PP_Doc]
ppR_Syn_Child :: PP_Doc
prdInh_Syn_Child :: Attributes

wrap_Child :: T_Child -> Inh_Child -> Syn_Child

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

pragmaAspectAG :: PP_Doc

ppName :: PP a => [a] -> PP_Doc

type FieldMap = [(Identifier, Type)]

type DataTypes = Map NontermIdent (Map ConstructorIdent FieldMap)

filterAtts :: Map Identifier a -> [String] -> [String]

filterNotAtts :: Map Identifier a -> [String] -> [String]

defAtt :: [Char] -> PP_Doc

attName :: [Char] -> PP_Doc

attTName :: [Char] -> PP_Doc

defAttRec :: (Ord a1, Show x, PP a1, PP a) => a -> a -> Map a1 x -> Map a1 b -> PP_Doc

groupAtts :: Ord k => Map k a -> Map k b -> [(k, a)]

defLocalAtts :: PP a => PP_Doc -> Int -> Int -> [a] -> PP_Doc

ntsList :: [Char] -> [(PP_Doc, b)] -> PP_Doc

filterNts :: String -> [(a1, Map Identifier a)] -> [(a1, Map Identifier a)]

data PPRule

Constructors

PPRule Identifier Identifier Bool ([(Identifier, Type)] -> [Identifier] -> PP_Doc) |

ppRule :: (Identifier, Identifier) -> Bool -> ([(Identifier, Type)] -> [Identifier] -> PP_Doc) -> PPRule

ruleField :: PPRule -> Identifier

ruleAttr :: PPRule -> Identifier

ruleOwrt :: PPRule -> Bool

ruleDef :: PPRule -> [(Identifier, Type)] -> [Identifier] -> PP_Doc

defInhGRule :: PP a => t -> PP_Doc -> Bool -> Bool -> a -> [PPRule] -> [String] -> [String] -> [(Identifier, Type)] -> [Identifier] -> (PP_Doc, [PP_Doc])

chGRule :: t -> PP_Doc -> [PPRule] -> [String] -> [String] -> [(Identifier, Type)] -> [Identifier] -> (Identifier, Type) -> PP_Doc

defSynGRule :: (PP a1, PP a) => PP_Doc -> a -> Bool -> Bool -> a1 -> [PPRule] -> [String] -> [String] -> [(Identifier, Type)] -> [Identifier] -> (PP_Doc, [PP_Doc])

defLocRule :: (PP a1, PP a) => PP_Doc -> a -> t -> t1 -> a1 -> [PPRule] -> t2 -> t3 -> [(Identifier, Type)] -> [Identifier] -> (PP_Doc, [PP_Doc])

defInstRules :: (PP a1, PP a) => PP_Doc -> a -> t -> t1 -> a1 -> [PPRule] -> [(Identifier, Type)] -> [Identifier] -> (PP_Doc, [PP_Doc])

defInstRule :: (PP a1, PP a) => PP_Doc -> a -> a1 -> [(Identifier, Type)] -> [Identifier] -> PPRule -> PP_Doc

defSynRules :: (PP a1, PP a2) => PP_Doc -> a1 -> Bool -> Bool -> Map Identifier a -> a2 -> [PPRule] -> t -> [String] -> [(Identifier, Type)] -> [Identifier] -> (PP_Doc, [PP_Doc])

modSynRules :: (PP a1, PP a2) => PP_Doc -> a1 -> Bool -> Bool -> Map Identifier a -> a2 -> [PPRule] -> t -> [String] -> [(Identifier, Type)] -> [Identifier] -> (PP_Doc, [PP_Doc])

defSynRule :: (PP a2, PP a1) => Bool -> PP_Doc -> a1 -> Bool -> Bool -> Map Identifier a -> a2 -> [(Identifier, Type)] -> [Identifier] -> PPRule -> (PP_Doc, [PP_Doc])

defInhRules :: PP a1 => t -> PP_Doc -> Bool -> Bool -> Map Identifier a -> a1 -> [PPRule] -> [String] -> t1 -> [(Identifier, Type)] -> [Identifier] -> (PP_Doc, [PP_Doc])

modInhRules :: PP a1 => t -> PP_Doc -> Bool -> Bool -> Map Identifier a -> a1 -> [PPRule] -> [String] -> t1 -> [(Identifier, Type)] -> [Identifier] -> (PP_Doc, [PP_Doc])

defInhRule :: PP a1 => Bool -> t -> PP_Doc -> Bool -> Bool -> Map Identifier a -> a1 -> [PPRule] -> [String] -> t1 -> [(Identifier, Type)] -> [Identifier] -> String -> (PP_Doc, [PP_Doc])

chRule :: Bool -> t -> PP_Doc -> String -> [PPRule] -> [String] -> t1 -> [(Identifier, Type)] -> [Identifier] -> (Identifier, Type) -> Maybe PP_Doc

mapLRuleDefs :: [PPRule] -> t -> t1 -> [(Identifier, Type)] -> [Identifier] -> [PP_Doc]

mapGRuleDefs :: (Identifier -> Bool) -> [PPRule] -> [String] -> [String] -> [(Identifier, Type)] -> [Identifier] -> [PP_Doc]

inhRuleDef :: Bool -> (Identifier -> Bool) -> (String -> Bool) -> [PPRule] -> [String] -> t -> [(Identifier, Type)] -> [Identifier] -> [PP_Doc]

defRule :: (Eq a2, Show a1, Show a2, PP b, PP a) => a -> (a2, Identifier) -> [String] -> ([String] -> a2 -> [(a2, a1)] -> t -> b) -> [(a2, a1)] -> t -> PP_Doc

rhsRule :: Show a => PP_Doc -> PP_Doc -> [HsToken] -> [String] -> t -> [(Identifier, a)] -> [Identifier] -> PP_Doc

lines2PP :: PP a => [(Pos, a)] -> [PP_Doc]

token2PP :: Show a => PP_Doc -> PP_Doc -> t -> [(Identifier, a)] -> [Identifier] -> [String] -> HsToken -> (Pos, PP_Doc)

line2PP :: (Position p, PP a) => [(p, a)] -> PP_Doc

ppMacro :: Macro -> PP_Doc

ppNoGroupAtts :: Map Identifier a -> [String] -> [PP_Doc]

ruleName :: PP a => a -> a -> PP_Doc

elemNT :: t -> t1 -> Bool

attTypes :: (Show x, PP a) => Map a x -> [PP_Doc]

attVars :: PP a => Map a t -> [PP_Doc]

attFields :: Map Identifier t -> Map Identifier t1 -> PP_Doc -> PP_Doc