CommonTypes
Documentation
module Options
type BlockInfo = (BlockKind, Maybe NontermIdent)
data BlockKind
Constructors
BlockImport | |
BlockPragma | |
BlockMain | |
BlockOther |
data ComplexType
Constructors
List Type | |
Tuple [(Identifier, Type)] | |
Maybe Type | |
Either Type Type | |
Map Type Type | |
IntMap Type | |
OrdSet Type | |
IntSet |
Instances
type Attributes = Map Identifier Type
type TypeSyns = [(NontermIdent, ComplexType)]
type ParamMap = Map NontermIdent [Identifier]
type UseMap = Map NontermIdent (Map Identifier (String, String, String))
type PragmaMap = Map NontermIdent (Map ConstructorIdent (Set Identifier))
type AttrMap = Map NontermIdent (Map ConstructorIdent (Set (Identifier, Identifier)))
type UniqueMap = Map NontermIdent (Map ConstructorIdent (Map Identifier Identifier))
type Derivings = Map NontermIdent (Set Identifier)
type ClassContext = [(Identifier, [String])]
type ContextMap = Map NontermIdent ClassContext
type QuantMap = Map NontermIdent [String]
type ConstructorIdent = Identifier
type AttrOrderMap = Map NontermIdent (Map ConstructorIdent (Set Dependency))
type VisitIdentifier = Int
type StateIdentifier = Int
type AttrEnv = ([Identifier], [(Identifier, Identifier)])
lateBindingTypeNm :: String -> String
lateBindingFieldNm :: String -> String
lateBindingType :: String -> Type
lateSemNtLabel :: NontermIdent -> String
sdtype :: NontermIdent -> String
mkNtType :: Identifier -> [String] -> Type
cataname :: String -> Identifier -> String
conname :: Bool -> NontermIdent -> ConstructorIdent -> String
semname :: String -> NontermIdent -> ConstructorIdent -> String
recordFieldname :: NontermIdent -> ConstructorIdent -> Identifier -> String
lhsname :: Bool -> Identifier -> String
attrname :: Bool -> Identifier -> Identifier -> String
typeToAGString :: Type -> String
removeDeforested :: Type -> Type
typeToHaskellString :: Maybe NontermIdent -> [String] -> Type -> String
formatNonterminalToHaskell :: Bool -> String -> [String] -> String
hasPragma :: PragmaMap -> NontermIdent -> ConstructorIdent -> Identifier -> Bool
isNonterminal :: Type -> Bool
isSELFNonterminal :: Type -> Bool
nontermArgs :: Type -> [String]
data StateCtx
data ChildKind
Constructors
ChildSyntax | |
ChildAttr | |
ChildReplace Type |
data HigherOrderInfo
Constructors
HigherOrderInfo | |
Fields
|
data VisitKind
Constructors
VisitPure Bool | |
VisitMonadic |
isLazyKind :: VisitKind -> Bool