uuagc-bootstrap

Safe Haskell | Safe-Infered

DefaultRules

# Documentation

sem_Children :: Children -> T_Children

newtype T_Children

Constructors

T_Children (ConstructorIdent -> Bool -> Map Identifier Attributes -> Set Identifier -> NontermIdent -> [Identifier] -> Map Identifier Attributes -> (Seq Error, [(Identifier, Type, ChildKind)], [(Identifier, Attributes)], Children, [(Identifier, Attributes)])) |

data Inh_Children

Constructors

Inh_Children |

Fields

con_Inh_Children :: !ConstructorIdent
cr_Inh_Children :: !Bool
inhMap_Inh_Children :: !(Map Identifier Attributes)
merged_Inh_Children :: !(Set Identifier)
nt_Inh_Children :: !NontermIdent
params_Inh_Children :: ![Identifier]
synMap_Inh_Children :: !(Map Identifier Attributes)

data Syn_Children

Constructors

Syn_Children |

Fields

errors_Syn_Children :: !(Seq Error)
fields_Syn_Children :: ![(Identifier, Type, ChildKind)]
inputs_Syn_Children :: ![(Identifier, Attributes)]
output_Syn_Children :: !Children
outputs_Syn_Children :: ![(Identifier, Attributes)]

wrap_Children :: T_Children -> Inh_Children -> Syn_Children

sem_Children_Cons :: T_Child -> T_Children -> T_Children

sem_Children_Nil :: T_Children

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 (Set NontermIdent, Map Identifier Attributes, Map Identifier Attributes, T_Nonterminal_1) |

newtype T_Nonterminal_1

Constructors

T_Nonterminal_1 (Map NontermIdent (Map ConstructorIdent (Map Identifier [Expression])) -> Map NontermIdent (Map ConstructorIdent (Map Identifier [Expression])) -> Bool -> Map Identifier Attributes -> AttrOrderMap -> Map NontermIdent (Map ConstructorIdent (Map Identifier (Identifier, [Identifier], Expression))) -> Set NontermIdent -> Bool -> Options -> Map Identifier Attributes -> TypeSyns -> Int -> UseMap -> Set NontermIdent -> (Seq Error, Nonterminal, Int))

data Inh_Nonterminal

Constructors

Inh_Nonterminal |

Fields

aroundsIn_Inh_Nonterminal :: !(Map NontermIdent (Map ConstructorIdent (Map Identifier [Expression])))
augmentsIn_Inh_Nonterminal :: !(Map NontermIdent (Map ConstructorIdent (Map Identifier [Expression])))
cr_Inh_Nonterminal :: !Bool
inhMap_Inh_Nonterminal :: !(Map Identifier Attributes)
manualAttrOrderMap_Inh_Nonterminal :: !AttrOrderMap
mergesIn_Inh_Nonterminal :: !(Map NontermIdent (Map ConstructorIdent (Map Identifier (Identifier, [Identifier], Expression))))
nonterminals_Inh_Nonterminal :: !(Set NontermIdent)
o_rename_Inh_Nonterminal :: !Bool
options_Inh_Nonterminal :: !Options
synMap_Inh_Nonterminal :: !(Map Identifier Attributes)
typeSyns_Inh_Nonterminal :: !TypeSyns
uniq_Inh_Nonterminal :: !Int
useMap_Inh_Nonterminal :: !UseMap
wrappers_Inh_Nonterminal :: !(Set NontermIdent)

data Syn_Nonterminal

Constructors

Syn_Nonterminal |

Fields

collect_nts_Syn_Nonterminal :: !(Set NontermIdent)
errors_Syn_Nonterminal :: !(Seq Error)
inhMap'_Syn_Nonterminal :: !(Map Identifier Attributes)
output_Syn_Nonterminal :: !Nonterminal
synMap'_Syn_Nonterminal :: !(Map Identifier Attributes)
uniq_Syn_Nonterminal :: !Int

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 (Set NontermIdent, Map Identifier Attributes, Map Identifier Attributes, T_Nonterminals_1) |

newtype T_Nonterminals_1

Constructors

T_Nonterminals_1 (Map NontermIdent (Map ConstructorIdent (Map Identifier [Expression])) -> Map NontermIdent (Map ConstructorIdent (Map Identifier [Expression])) -> Bool -> Map Identifier Attributes -> AttrOrderMap -> Map NontermIdent (Map ConstructorIdent (Map Identifier (Identifier, [Identifier], Expression))) -> Set NontermIdent -> Bool -> Options -> Map Identifier Attributes -> TypeSyns -> Int -> UseMap -> Set NontermIdent -> (Seq Error, Nonterminals, Int))

data Inh_Nonterminals

Constructors

Inh_Nonterminals |

Fields

aroundsIn_Inh_Nonterminals :: !(Map NontermIdent (Map ConstructorIdent (Map Identifier [Expression])))
augmentsIn_Inh_Nonterminals :: !(Map NontermIdent (Map ConstructorIdent (Map Identifier [Expression])))
cr_Inh_Nonterminals :: !Bool
inhMap_Inh_Nonterminals :: !(Map Identifier Attributes)
manualAttrOrderMap_Inh_Nonterminals :: !AttrOrderMap
mergesIn_Inh_Nonterminals :: !(Map NontermIdent (Map ConstructorIdent (Map Identifier (Identifier, [Identifier], Expression))))
nonterminals_Inh_Nonterminals :: !(Set NontermIdent)
o_rename_Inh_Nonterminals :: !Bool
options_Inh_Nonterminals :: !Options
synMap_Inh_Nonterminals :: !(Map Identifier Attributes)
typeSyns_Inh_Nonterminals :: !TypeSyns
uniq_Inh_Nonterminals :: !Int
useMap_Inh_Nonterminals :: !UseMap
wrappers_Inh_Nonterminals :: !(Set NontermIdent)

data Syn_Nonterminals

Constructors

Syn_Nonterminals |

Fields

collect_nts_Syn_Nonterminals :: !(Set NontermIdent)
errors_Syn_Nonterminals :: !(Seq Error)
inhMap'_Syn_Nonterminals :: !(Map Identifier Attributes)
output_Syn_Nonterminals :: !Nonterminals
synMap'_Syn_Nonterminals :: !(Map Identifier Attributes)
uniq_Syn_Nonterminals :: !Int

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 (ConstructorIdent -> NontermIdent -> (Bool, Pattern, Set (Identifier, Identifier), Seq Error, Set Identifier, Pattern)) |

data Inh_Pattern

Constructors

Inh_Pattern |

Fields

con_Inh_Pattern :: !ConstructorIdent
nt_Inh_Pattern :: !NontermIdent

data Syn_Pattern

Constructors

Syn_Pattern |

Fields

containsVars_Syn_Pattern :: !Bool
copy_Syn_Pattern :: !Pattern
definedAttrs_Syn_Pattern :: !(Set (Identifier, Identifier))
errors_Syn_Pattern :: !(Seq Error)
locals_Syn_Pattern :: !(Set 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 (ConstructorIdent -> NontermIdent -> (Bool, Patterns, Set (Identifier, Identifier), Seq Error, Set Identifier, Patterns)) |

data Inh_Patterns

Constructors

Inh_Patterns |

Fields

con_Inh_Patterns :: !ConstructorIdent
nt_Inh_Patterns :: !NontermIdent

data Syn_Patterns

Constructors

Syn_Patterns |

Fields

containsVars_Syn_Patterns :: !Bool
copy_Syn_Patterns :: !Patterns
definedAttrs_Syn_Patterns :: !(Set (Identifier, Identifier))
errors_Syn_Patterns :: !(Seq Error)
locals_Syn_Patterns :: !(Set 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 (Map ConstructorIdent (Map Identifier [Expression]) -> Map ConstructorIdent (Map Identifier [Expression]) -> Bool -> Attributes -> Map Identifier Attributes -> Attributes -> AttrOrderMap -> Map ConstructorIdent (Map Identifier (Identifier, [Identifier], Expression)) -> Set NontermIdent -> NontermIdent -> Bool -> Options -> [Identifier] -> Attributes -> Map Identifier Attributes -> Attributes -> TypeSyns -> Int -> Map Identifier (String, String, String) -> Set NontermIdent -> (Seq Error, Production, Int))

data Inh_Production

Constructors

Inh_Production |

Fields

aroundsIn_Inh_Production :: !(Map ConstructorIdent (Map Identifier [Expression]))
augmentsIn_Inh_Production :: !(Map ConstructorIdent (Map Identifier [Expression]))
cr_Inh_Production :: !Bool
inh_Inh_Production :: !Attributes
inhMap_Inh_Production :: !(Map Identifier Attributes)
inhOrig_Inh_Production :: !Attributes
manualAttrOrderMap_Inh_Production :: !AttrOrderMap
mergesIn_Inh_Production :: !(Map ConstructorIdent (Map Identifier (Identifier, [Identifier], Expression)))
nonterminals_Inh_Production :: !(Set NontermIdent)
nt_Inh_Production :: !NontermIdent
o_rename_Inh_Production :: !Bool
options_Inh_Production :: !Options
params_Inh_Production :: ![Identifier]
syn_Inh_Production :: !Attributes
synMap_Inh_Production :: !(Map Identifier Attributes)
synOrig_Inh_Production :: !Attributes
typeSyns_Inh_Production :: !TypeSyns
uniq_Inh_Production :: !Int
useMap_Inh_Production :: !(Map Identifier (String, String, String))
wrappers_Inh_Production :: !(Set NontermIdent)

data Syn_Production

Constructors

Syn_Production |

Fields

errors_Syn_Production :: !(Seq Error)
output_Syn_Production :: !Production
uniq_Syn_Production :: !Int

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 (Map ConstructorIdent (Map Identifier [Expression]) -> Map ConstructorIdent (Map Identifier [Expression]) -> Bool -> Attributes -> Map Identifier Attributes -> Attributes -> AttrOrderMap -> Map ConstructorIdent (Map Identifier (Identifier, [Identifier], Expression)) -> Set NontermIdent -> NontermIdent -> Bool -> Options -> [Identifier] -> Attributes -> Map Identifier Attributes -> Attributes -> TypeSyns -> Int -> Map Identifier (String, String, String) -> Set NontermIdent -> (Seq Error, Productions, Int))

data Inh_Productions

Constructors

Inh_Productions |

Fields

aroundsIn_Inh_Productions :: !(Map ConstructorIdent (Map Identifier [Expression]))
augmentsIn_Inh_Productions :: !(Map ConstructorIdent (Map Identifier [Expression]))
cr_Inh_Productions :: !Bool
inh_Inh_Productions :: !Attributes
inhMap_Inh_Productions :: !(Map Identifier Attributes)
inhOrig_Inh_Productions :: !Attributes
manualAttrOrderMap_Inh_Productions :: !AttrOrderMap
mergesIn_Inh_Productions :: !(Map ConstructorIdent (Map Identifier (Identifier, [Identifier], Expression)))
nonterminals_Inh_Productions :: !(Set NontermIdent)
nt_Inh_Productions :: !NontermIdent
o_rename_Inh_Productions :: !Bool
options_Inh_Productions :: !Options
params_Inh_Productions :: ![Identifier]
syn_Inh_Productions :: !Attributes
synMap_Inh_Productions :: !(Map Identifier Attributes)
synOrig_Inh_Productions :: !Attributes
typeSyns_Inh_Productions :: !TypeSyns
uniq_Inh_Productions :: !Int
useMap_Inh_Productions :: !(Map Identifier (String, String, String))
wrappers_Inh_Productions :: !(Set NontermIdent)

data Syn_Productions

Constructors

Syn_Productions |

Fields

errors_Syn_Productions :: !(Seq Error)
output_Syn_Productions :: !Productions
uniq_Syn_Productions :: !Int

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 (ConstructorIdent -> NontermIdent -> Options -> Int -> (Bool, Set (Identifier, Identifier), Seq Error, Bool, Set Identifier, Rule, Rules, Set Identifier, Int)) |

data Inh_Rule

Constructors

Inh_Rule |

Fields

con_Inh_Rule :: !ConstructorIdent
nt_Inh_Rule :: !NontermIdent
options_Inh_Rule :: !Options
uniq_Inh_Rule :: !Int

data Syn_Rule

Constructors

Syn_Rule |

Fields

containsVars_Syn_Rule :: !Bool
definedAttrs_Syn_Rule :: !(Set (Identifier, Identifier))
errors_Syn_Rule :: !(Seq Error)
isPure_Syn_Rule :: !Bool
locals_Syn_Rule :: !(Set Identifier)
output_Syn_Rule :: !Rule
outputs_Syn_Rule :: !Rules
ruleNames_Syn_Rule :: !(Set Identifier)
uniq_Syn_Rule :: !Int

wrap_Rule :: T_Rule -> Inh_Rule -> Syn_Rule

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

sem_Rules :: Rules -> T_Rules

newtype T_Rules

Constructors

T_Rules (ConstructorIdent -> NontermIdent -> Options -> Int -> (Set (Identifier, Identifier), Seq Error, Set Identifier, Rules, Set Identifier, Int)) |

data Inh_Rules

Constructors

Inh_Rules |

Fields

con_Inh_Rules :: !ConstructorIdent
nt_Inh_Rules :: !NontermIdent
options_Inh_Rules :: !Options
uniq_Inh_Rules :: !Int

data Syn_Rules

Constructors

Syn_Rules |

Fields

definedAttrs_Syn_Rules :: !(Set (Identifier, Identifier))
errors_Syn_Rules :: !(Seq Error)
locals_Syn_Rules :: !(Set Identifier)
output_Syn_Rules :: !Rules
ruleNames_Syn_Rules :: !(Set Identifier)
uniq_Syn_Rules :: !Int

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 (NontermIdent -> [Identifier] -> TypeSig) |

data Inh_TypeSig

Constructors

Inh_TypeSig |

Fields

nt_Inh_TypeSig :: !NontermIdent
params_Inh_TypeSig :: ![Identifier]

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 (NontermIdent -> [Identifier] -> TypeSigs) |

data Inh_TypeSigs

Constructors

Inh_TypeSigs |

Fields

nt_Inh_TypeSigs :: !NontermIdent
params_Inh_TypeSigs :: ![Identifier]

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 (ConstructorIdent -> Bool -> Map Identifier Attributes -> Set Identifier -> NontermIdent -> [Identifier] -> Map Identifier Attributes -> (Seq Error, (Identifier, Type, ChildKind), Attributes, Identifier, Child, Attributes)) |

data Inh_Child

Constructors

Inh_Child |

Fields

con_Inh_Child :: !ConstructorIdent
cr_Inh_Child :: !Bool
inhMap_Inh_Child :: !(Map Identifier Attributes)
merged_Inh_Child :: !(Set Identifier)
nt_Inh_Child :: !NontermIdent
params_Inh_Child :: ![Identifier]
synMap_Inh_Child :: !(Map Identifier Attributes)

data Syn_Child

Constructors

Syn_Child |

Fields

errors_Syn_Child :: !(Seq Error)
field_Syn_Child :: !(Identifier, Type, ChildKind)
inherited_Syn_Child :: !Attributes
name_Syn_Child :: !Identifier
output_Syn_Child :: !Child
synthesized_Syn_Child :: !Attributes

wrap_Child :: T_Child -> Inh_Child -> Syn_Child

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

fieldName :: Identifier -> [Char]

locName :: Identifier -> [Char]

attrName :: Identifier -> Identifier -> [Char]

_ACHILD :: Identifier

mkLocVar :: Identifier -> Pos -> Maybe String -> HsToken

getConName :: [(Identifier, ComplexType)] -> Bool -> Identifier -> Identifier -> [Char]

concatSeq :: [Seq a] -> Seq a

splitAttrs :: Map Identifier a -> [Identifier] -> ([(Identifier, a)], [Identifier])

removeDefined :: Set (Identifier, Identifier) -> (Identifier, Attributes) -> (Identifier, [Identifier])

deprecatedCopyRuleError :: Identifier -> Identifier -> Identifier -> Identifier -> Error

missingRuleErrorExpr :: (Show a3, Show a2, Show a1, Show a) => a -> a1 -> a2 -> a3 -> [Char]

makeRule :: (Identifier, Identifier) -> Expression -> String -> Bool -> Maybe Error -> Rule

useRule :: Set Identifier -> [(Identifier, Attributes)] -> (Identifier, (String, String, String)) -> Rule

selfRule :: Bool -> Identifier -> [HsToken] -> Rule

concatRE :: [([a], Seq a1)] -> ([a], Seq a1)

copyRule :: Options -> Set NontermIdent -> Identifier -> Identifier -> Bool -> Set Identifier -> (Map Identifier Identifier, (Identifier, [Identifier])) -> ([Rule], Seq Error)

addAugments :: (Identifier, [Expression]) -> [Rule] -> [Rule]

addArounds :: (Identifier, [Expression]) -> [Rule] -> [Rule]

addMerges :: (Identifier, (Identifier, [Identifier], Expression)) -> [Rule] -> [Rule]

elimSelfId :: NontermIdent -> [Identifier] -> Type -> Type

elimSelfStr :: NontermIdent -> [String] -> Type -> Type

mkRuleAlias :: Rule -> (Rule, Maybe Rule)

needsMultiRules :: Options -> Bool

multiRule :: Rule -> Int -> ([Rule], Int)