language-c-quote-0.12.1: C/CUDA/OpenCL/Objective-C quasiquoting library.

Copyright(c) 2006-2011 Harvard University
(c) 2011-2013 Geoffrey Mainland
(c) 2013 Manuel M T Chakravarty
: (c) 2013-2016 Drexel University
LicenseBSD-style
Maintainermainland@drexel.edu
Safe HaskellNone
LanguageHaskell98

Language.C.Syntax

Description

 

Synopsis

Documentation

data Id #

Constructors

Id String !SrcLoc 
AntiId String !SrcLoc 

Instances

Eq Id # 

Methods

(==) :: Id -> Id -> Bool #

(/=) :: Id -> Id -> Bool #

Data Id # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Id -> c Id #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Id #

toConstr :: Id -> Constr #

dataTypeOf :: Id -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c Id) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Id) #

gmapT :: (forall b. Data b => b -> b) -> Id -> Id #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Id -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Id -> r #

gmapQ :: (forall d. Data d => d -> u) -> Id -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Id -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Id -> m Id #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Id -> m Id #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Id -> m Id #

Ord Id # 

Methods

compare :: Id -> Id -> Ordering #

(<) :: Id -> Id -> Bool #

(<=) :: Id -> Id -> Bool #

(>) :: Id -> Id -> Bool #

(>=) :: Id -> Id -> Bool #

max :: Id -> Id -> Id #

min :: Id -> Id -> Id #

Show Id # 

Methods

showsPrec :: Int -> Id -> ShowS #

show :: Id -> String #

showList :: [Id] -> ShowS #

IsString Id # 

Methods

fromString :: String -> Id #

Located Id # 

Methods

locOf :: Id -> Loc #

locOfList :: [Id] -> Loc #

Relocatable Id # 

Methods

reloc :: Loc -> Id -> Id #

ToIdent Id # 

Methods

toIdent :: Id -> SrcLoc -> Id #

ToIdent (SrcLoc -> Id) # 

Methods

toIdent :: (SrcLoc -> Id) -> SrcLoc -> Id #

data StringLit #

Constructors

StringLit [String] String !SrcLoc 

Instances

Eq StringLit # 
Data StringLit # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> StringLit -> c StringLit #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c StringLit #

toConstr :: StringLit -> Constr #

dataTypeOf :: StringLit -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c StringLit) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c StringLit) #

gmapT :: (forall b. Data b => b -> b) -> StringLit -> StringLit #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> StringLit -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> StringLit -> r #

gmapQ :: (forall d. Data d => d -> u) -> StringLit -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> StringLit -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> StringLit -> m StringLit #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> StringLit -> m StringLit #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> StringLit -> m StringLit #

Ord StringLit # 
Show StringLit # 
IsString StringLit # 
Located StringLit # 

Methods

locOf :: StringLit -> Loc #

locOfList :: [StringLit] -> Loc #

Relocatable StringLit # 

Methods

reloc :: Loc -> StringLit -> StringLit #

data Storage #

Instances

Eq Storage # 

Methods

(==) :: Storage -> Storage -> Bool #

(/=) :: Storage -> Storage -> Bool #

Data Storage # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Storage -> c Storage #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Storage #

toConstr :: Storage -> Constr #

dataTypeOf :: Storage -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c Storage) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Storage) #

gmapT :: (forall b. Data b => b -> b) -> Storage -> Storage #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Storage -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Storage -> r #

gmapQ :: (forall d. Data d => d -> u) -> Storage -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Storage -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Storage -> m Storage #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Storage -> m Storage #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Storage -> m Storage #

Ord Storage # 
Show Storage # 
Located Storage # 

Methods

locOf :: Storage -> Loc #

locOfList :: [Storage] -> Loc #

Relocatable Storage # 

Methods

reloc :: Loc -> Storage -> Storage #

data TypeQual #

Instances

Eq TypeQual # 
Data TypeQual # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> TypeQual -> c TypeQual #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c TypeQual #

toConstr :: TypeQual -> Constr #

dataTypeOf :: TypeQual -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c TypeQual) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c TypeQual) #

gmapT :: (forall b. Data b => b -> b) -> TypeQual -> TypeQual #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> TypeQual -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> TypeQual -> r #

gmapQ :: (forall d. Data d => d -> u) -> TypeQual -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> TypeQual -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> TypeQual -> m TypeQual #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> TypeQual -> m TypeQual #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> TypeQual -> m TypeQual #

Ord TypeQual # 
Show TypeQual # 
Located TypeQual # 

Methods

locOf :: TypeQual -> Loc #

locOfList :: [TypeQual] -> Loc #

Relocatable TypeQual # 

Methods

reloc :: Loc -> TypeQual -> TypeQual #

data Sign #

Constructors

Tsigned !SrcLoc 
Tunsigned !SrcLoc 

Instances

Eq Sign # 

Methods

(==) :: Sign -> Sign -> Bool #

(/=) :: Sign -> Sign -> Bool #

Data Sign # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Sign -> c Sign #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Sign #

toConstr :: Sign -> Constr #

dataTypeOf :: Sign -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c Sign) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Sign) #

gmapT :: (forall b. Data b => b -> b) -> Sign -> Sign #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Sign -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Sign -> r #

gmapQ :: (forall d. Data d => d -> u) -> Sign -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Sign -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Sign -> m Sign #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Sign -> m Sign #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Sign -> m Sign #

Ord Sign # 

Methods

compare :: Sign -> Sign -> Ordering #

(<) :: Sign -> Sign -> Bool #

(<=) :: Sign -> Sign -> Bool #

(>) :: Sign -> Sign -> Bool #

(>=) :: Sign -> Sign -> Bool #

max :: Sign -> Sign -> Sign #

min :: Sign -> Sign -> Sign #

Show Sign # 

Methods

showsPrec :: Int -> Sign -> ShowS #

show :: Sign -> String #

showList :: [Sign] -> ShowS #

Located Sign # 

Methods

locOf :: Sign -> Loc #

locOfList :: [Sign] -> Loc #

Relocatable Sign # 

Methods

reloc :: Loc -> Sign -> Sign #

data TypeSpec #

Instances

Eq TypeSpec # 
Data TypeSpec # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> TypeSpec -> c TypeSpec #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c TypeSpec #

toConstr :: TypeSpec -> Constr #

dataTypeOf :: TypeSpec -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c TypeSpec) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c TypeSpec) #

gmapT :: (forall b. Data b => b -> b) -> TypeSpec -> TypeSpec #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> TypeSpec -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> TypeSpec -> r #

gmapQ :: (forall d. Data d => d -> u) -> TypeSpec -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> TypeSpec -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> TypeSpec -> m TypeSpec #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> TypeSpec -> m TypeSpec #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> TypeSpec -> m TypeSpec #

Ord TypeSpec # 
Show TypeSpec # 
Located TypeSpec # 

Methods

locOf :: TypeSpec -> Loc #

locOfList :: [TypeSpec] -> Loc #

Relocatable TypeSpec # 

Methods

reloc :: Loc -> TypeSpec -> TypeSpec #

data DeclSpec #

Instances

Eq DeclSpec # 
Data DeclSpec # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> DeclSpec -> c DeclSpec #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c DeclSpec #

toConstr :: DeclSpec -> Constr #

dataTypeOf :: DeclSpec -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c DeclSpec) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c DeclSpec) #

gmapT :: (forall b. Data b => b -> b) -> DeclSpec -> DeclSpec #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> DeclSpec -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> DeclSpec -> r #

gmapQ :: (forall d. Data d => d -> u) -> DeclSpec -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> DeclSpec -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> DeclSpec -> m DeclSpec #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> DeclSpec -> m DeclSpec #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> DeclSpec -> m DeclSpec #

Ord DeclSpec # 
Show DeclSpec # 
Located DeclSpec # 

Methods

locOf :: DeclSpec -> Loc #

locOfList :: [DeclSpec] -> Loc #

Relocatable DeclSpec # 

Methods

reloc :: Loc -> DeclSpec -> DeclSpec #

data ArraySize #

There are two types of declarators in C, regular declarators and abstract declarators. The former is for declaring variables, function parameters, typedefs, etc. and the latter for abstract types---typedef int ({*}foo)(void) vs. tt int ({*})(void). The difference between the two is just whether or not an identifier is attached to the declarator. We therefore only define one Decl type and use it for both cases.

Instances

Eq ArraySize # 
Data ArraySize # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ArraySize -> c ArraySize #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ArraySize #

toConstr :: ArraySize -> Constr #

dataTypeOf :: ArraySize -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c ArraySize) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ArraySize) #

gmapT :: (forall b. Data b => b -> b) -> ArraySize -> ArraySize #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ArraySize -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ArraySize -> r #

gmapQ :: (forall d. Data d => d -> u) -> ArraySize -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> ArraySize -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> ArraySize -> m ArraySize #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> ArraySize -> m ArraySize #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> ArraySize -> m ArraySize #

Ord ArraySize # 
Show ArraySize # 
Located ArraySize # 

Methods

locOf :: ArraySize -> Loc #

locOfList :: [ArraySize] -> Loc #

Relocatable ArraySize # 

Methods

reloc :: Loc -> ArraySize -> ArraySize #

data Decl #

Instances

Eq Decl # 

Methods

(==) :: Decl -> Decl -> Bool #

(/=) :: Decl -> Decl -> Bool #

Data Decl # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Decl -> c Decl #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Decl #

toConstr :: Decl -> Constr #

dataTypeOf :: Decl -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c Decl) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Decl) #

gmapT :: (forall b. Data b => b -> b) -> Decl -> Decl #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Decl -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Decl -> r #

gmapQ :: (forall d. Data d => d -> u) -> Decl -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Decl -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Decl -> m Decl #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Decl -> m Decl #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Decl -> m Decl #

Ord Decl # 

Methods

compare :: Decl -> Decl -> Ordering #

(<) :: Decl -> Decl -> Bool #

(<=) :: Decl -> Decl -> Bool #

(>) :: Decl -> Decl -> Bool #

(>=) :: Decl -> Decl -> Bool #

max :: Decl -> Decl -> Decl #

min :: Decl -> Decl -> Decl #

Show Decl # 

Methods

showsPrec :: Int -> Decl -> ShowS #

show :: Decl -> String #

showList :: [Decl] -> ShowS #

Located Decl # 

Methods

locOf :: Decl -> Loc #

locOfList :: [Decl] -> Loc #

Relocatable Decl # 

Methods

reloc :: Loc -> Decl -> Decl #

data Type #

Instances

Eq Type # 

Methods

(==) :: Type -> Type -> Bool #

(/=) :: Type -> Type -> Bool #

Data Type # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Type -> c Type #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Type #

toConstr :: Type -> Constr #

dataTypeOf :: Type -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c Type) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Type) #

gmapT :: (forall b. Data b => b -> b) -> Type -> Type #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Type -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Type -> r #

gmapQ :: (forall d. Data d => d -> u) -> Type -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Type -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Type -> m Type #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Type -> m Type #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Type -> m Type #

Ord Type # 

Methods

compare :: Type -> Type -> Ordering #

(<) :: Type -> Type -> Bool #

(<=) :: Type -> Type -> Bool #

(>) :: Type -> Type -> Bool #

(>=) :: Type -> Type -> Bool #

max :: Type -> Type -> Type #

min :: Type -> Type -> Type #

Show Type # 

Methods

showsPrec :: Int -> Type -> ShowS #

show :: Type -> String #

showList :: [Type] -> ShowS #

Located Type # 

Methods

locOf :: Type -> Loc #

locOfList :: [Type] -> Loc #

Relocatable Type # 

Methods

reloc :: Loc -> Type -> Type #

data Designator #

Instances

Eq Designator # 
Data Designator # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Designator -> c Designator #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Designator #

toConstr :: Designator -> Constr #

dataTypeOf :: Designator -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c Designator) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Designator) #

gmapT :: (forall b. Data b => b -> b) -> Designator -> Designator #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Designator -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Designator -> r #

gmapQ :: (forall d. Data d => d -> u) -> Designator -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Designator -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Designator -> m Designator #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Designator -> m Designator #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Designator -> m Designator #

Ord Designator # 
Show Designator # 
Located Designator # 
Relocatable Designator # 

Methods

reloc :: Loc -> Designator -> Designator #

data Designation #

Constructors

Designation [Designator] !SrcLoc 

Instances

Eq Designation # 
Data Designation # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Designation -> c Designation #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Designation #

toConstr :: Designation -> Constr #

dataTypeOf :: Designation -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c Designation) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Designation) #

gmapT :: (forall b. Data b => b -> b) -> Designation -> Designation #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Designation -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Designation -> r #

gmapQ :: (forall d. Data d => d -> u) -> Designation -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Designation -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Designation -> m Designation #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Designation -> m Designation #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Designation -> m Designation #

Ord Designation # 
Show Designation # 
Located Designation # 
Relocatable Designation # 

data Initializer #

Instances

Eq Initializer # 
Data Initializer # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Initializer -> c Initializer #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Initializer #

toConstr :: Initializer -> Constr #

dataTypeOf :: Initializer -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c Initializer) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Initializer) #

gmapT :: (forall b. Data b => b -> b) -> Initializer -> Initializer #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Initializer -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Initializer -> r #

gmapQ :: (forall d. Data d => d -> u) -> Initializer -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Initializer -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Initializer -> m Initializer #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Initializer -> m Initializer #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Initializer -> m Initializer #

Ord Initializer # 
Show Initializer # 
Located Initializer # 
Relocatable Initializer # 

data Init #

Instances

Eq Init # 

Methods

(==) :: Init -> Init -> Bool #

(/=) :: Init -> Init -> Bool #

Data Init # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Init -> c Init #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Init #

toConstr :: Init -> Constr #

dataTypeOf :: Init -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c Init) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Init) #

gmapT :: (forall b. Data b => b -> b) -> Init -> Init #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Init -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Init -> r #

gmapQ :: (forall d. Data d => d -> u) -> Init -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Init -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Init -> m Init #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Init -> m Init #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Init -> m Init #

Ord Init # 

Methods

compare :: Init -> Init -> Ordering #

(<) :: Init -> Init -> Bool #

(<=) :: Init -> Init -> Bool #

(>) :: Init -> Init -> Bool #

(>=) :: Init -> Init -> Bool #

max :: Init -> Init -> Init #

min :: Init -> Init -> Init #

Show Init # 

Methods

showsPrec :: Int -> Init -> ShowS #

show :: Init -> String #

showList :: [Init] -> ShowS #

Located Init # 

Methods

locOf :: Init -> Loc #

locOfList :: [Init] -> Loc #

Relocatable Init # 

Methods

reloc :: Loc -> Init -> Init #

data Typedef #

Constructors

Typedef Id Decl [Attr] !SrcLoc 

Instances

Eq Typedef # 

Methods

(==) :: Typedef -> Typedef -> Bool #

(/=) :: Typedef -> Typedef -> Bool #

Data Typedef # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Typedef -> c Typedef #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Typedef #

toConstr :: Typedef -> Constr #

dataTypeOf :: Typedef -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c Typedef) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Typedef) #

gmapT :: (forall b. Data b => b -> b) -> Typedef -> Typedef #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Typedef -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Typedef -> r #

gmapQ :: (forall d. Data d => d -> u) -> Typedef -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Typedef -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Typedef -> m Typedef #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Typedef -> m Typedef #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Typedef -> m Typedef #

Ord Typedef # 
Show Typedef # 
Located Typedef # 

Methods

locOf :: Typedef -> Loc #

locOfList :: [Typedef] -> Loc #

Relocatable Typedef # 

Methods

reloc :: Loc -> Typedef -> Typedef #

data InitGroup #

Instances

Eq InitGroup # 
Data InitGroup # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> InitGroup -> c InitGroup #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c InitGroup #

toConstr :: InitGroup -> Constr #

dataTypeOf :: InitGroup -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c InitGroup) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c InitGroup) #

gmapT :: (forall b. Data b => b -> b) -> InitGroup -> InitGroup #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> InitGroup -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> InitGroup -> r #

gmapQ :: (forall d. Data d => d -> u) -> InitGroup -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> InitGroup -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> InitGroup -> m InitGroup #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> InitGroup -> m InitGroup #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> InitGroup -> m InitGroup #

Ord InitGroup # 
Show InitGroup # 
Located InitGroup # 

Methods

locOf :: InitGroup -> Loc #

locOfList :: [InitGroup] -> Loc #

Relocatable InitGroup # 

Methods

reloc :: Loc -> InitGroup -> InitGroup #

data Field #

Constructors

Field (Maybe Id) (Maybe Decl) (Maybe Exp) !SrcLoc 

Instances

Eq Field # 

Methods

(==) :: Field -> Field -> Bool #

(/=) :: Field -> Field -> Bool #

Data Field # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Field -> c Field #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Field #

toConstr :: Field -> Constr #

dataTypeOf :: Field -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c Field) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Field) #

gmapT :: (forall b. Data b => b -> b) -> Field -> Field #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Field -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Field -> r #

gmapQ :: (forall d. Data d => d -> u) -> Field -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Field -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Field -> m Field #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Field -> m Field #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Field -> m Field #

Ord Field # 

Methods

compare :: Field -> Field -> Ordering #

(<) :: Field -> Field -> Bool #

(<=) :: Field -> Field -> Bool #

(>) :: Field -> Field -> Bool #

(>=) :: Field -> Field -> Bool #

max :: Field -> Field -> Field #

min :: Field -> Field -> Field #

Show Field # 

Methods

showsPrec :: Int -> Field -> ShowS #

show :: Field -> String #

showList :: [Field] -> ShowS #

Located Field # 

Methods

locOf :: Field -> Loc #

locOfList :: [Field] -> Loc #

Relocatable Field # 

Methods

reloc :: Loc -> Field -> Field #

data FieldGroup #

Instances

Eq FieldGroup # 
Data FieldGroup # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> FieldGroup -> c FieldGroup #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c FieldGroup #

toConstr :: FieldGroup -> Constr #

dataTypeOf :: FieldGroup -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c FieldGroup) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c FieldGroup) #

gmapT :: (forall b. Data b => b -> b) -> FieldGroup -> FieldGroup #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> FieldGroup -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> FieldGroup -> r #

gmapQ :: (forall d. Data d => d -> u) -> FieldGroup -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> FieldGroup -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> FieldGroup -> m FieldGroup #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> FieldGroup -> m FieldGroup #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> FieldGroup -> m FieldGroup #

Ord FieldGroup # 
Show FieldGroup # 
Located FieldGroup # 
Relocatable FieldGroup # 

Methods

reloc :: Loc -> FieldGroup -> FieldGroup #

data CEnum #

Instances

Eq CEnum # 

Methods

(==) :: CEnum -> CEnum -> Bool #

(/=) :: CEnum -> CEnum -> Bool #

Data CEnum # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> CEnum -> c CEnum #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c CEnum #

toConstr :: CEnum -> Constr #

dataTypeOf :: CEnum -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c CEnum) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c CEnum) #

gmapT :: (forall b. Data b => b -> b) -> CEnum -> CEnum #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> CEnum -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> CEnum -> r #

gmapQ :: (forall d. Data d => d -> u) -> CEnum -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> CEnum -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> CEnum -> m CEnum #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> CEnum -> m CEnum #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> CEnum -> m CEnum #

Ord CEnum # 

Methods

compare :: CEnum -> CEnum -> Ordering #

(<) :: CEnum -> CEnum -> Bool #

(<=) :: CEnum -> CEnum -> Bool #

(>) :: CEnum -> CEnum -> Bool #

(>=) :: CEnum -> CEnum -> Bool #

max :: CEnum -> CEnum -> CEnum #

min :: CEnum -> CEnum -> CEnum #

Show CEnum # 

Methods

showsPrec :: Int -> CEnum -> ShowS #

show :: CEnum -> String #

showList :: [CEnum] -> ShowS #

Located CEnum # 

Methods

locOf :: CEnum -> Loc #

locOfList :: [CEnum] -> Loc #

Relocatable CEnum # 

Methods

reloc :: Loc -> CEnum -> CEnum #

data Attr #

Constructors

Attr Id [Exp] !SrcLoc 

Instances

Eq Attr # 

Methods

(==) :: Attr -> Attr -> Bool #

(/=) :: Attr -> Attr -> Bool #

Data Attr # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Attr -> c Attr #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Attr #

toConstr :: Attr -> Constr #

dataTypeOf :: Attr -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c Attr) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Attr) #

gmapT :: (forall b. Data b => b -> b) -> Attr -> Attr #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Attr -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Attr -> r #

gmapQ :: (forall d. Data d => d -> u) -> Attr -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Attr -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Attr -> m Attr #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Attr -> m Attr #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Attr -> m Attr #

Ord Attr # 

Methods

compare :: Attr -> Attr -> Ordering #

(<) :: Attr -> Attr -> Bool #

(<=) :: Attr -> Attr -> Bool #

(>) :: Attr -> Attr -> Bool #

(>=) :: Attr -> Attr -> Bool #

max :: Attr -> Attr -> Attr #

min :: Attr -> Attr -> Attr #

Show Attr # 

Methods

showsPrec :: Int -> Attr -> ShowS #

show :: Attr -> String #

showList :: [Attr] -> ShowS #

Located Attr # 

Methods

locOf :: Attr -> Loc #

locOfList :: [Attr] -> Loc #

Relocatable Attr # 

Methods

reloc :: Loc -> Attr -> Attr #

data Param #

Instances

Eq Param # 

Methods

(==) :: Param -> Param -> Bool #

(/=) :: Param -> Param -> Bool #

Data Param # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Param -> c Param #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Param #

toConstr :: Param -> Constr #

dataTypeOf :: Param -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c Param) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Param) #

gmapT :: (forall b. Data b => b -> b) -> Param -> Param #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Param -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Param -> r #

gmapQ :: (forall d. Data d => d -> u) -> Param -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Param -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Param -> m Param #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Param -> m Param #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Param -> m Param #

Ord Param # 

Methods

compare :: Param -> Param -> Ordering #

(<) :: Param -> Param -> Bool #

(<=) :: Param -> Param -> Bool #

(>) :: Param -> Param -> Bool #

(>=) :: Param -> Param -> Bool #

max :: Param -> Param -> Param #

min :: Param -> Param -> Param #

Show Param # 

Methods

showsPrec :: Int -> Param -> ShowS #

show :: Param -> String #

showList :: [Param] -> ShowS #

Located Param # 

Methods

locOf :: Param -> Loc #

locOfList :: [Param] -> Loc #

Relocatable Param # 

Methods

reloc :: Loc -> Param -> Param #

data Params #

Constructors

Params [Param] Bool !SrcLoc 

Instances

Eq Params # 

Methods

(==) :: Params -> Params -> Bool #

(/=) :: Params -> Params -> Bool #

Data Params # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Params -> c Params #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Params #

toConstr :: Params -> Constr #

dataTypeOf :: Params -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c Params) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Params) #

gmapT :: (forall b. Data b => b -> b) -> Params -> Params #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Params -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Params -> r #

gmapQ :: (forall d. Data d => d -> u) -> Params -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Params -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Params -> m Params #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Params -> m Params #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Params -> m Params #

Ord Params # 
Show Params # 
Located Params # 

Methods

locOf :: Params -> Loc #

locOfList :: [Params] -> Loc #

Relocatable Params # 

Methods

reloc :: Loc -> Params -> Params #

data Func #

Instances

Eq Func # 

Methods

(==) :: Func -> Func -> Bool #

(/=) :: Func -> Func -> Bool #

Data Func # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Func -> c Func #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Func #

toConstr :: Func -> Constr #

dataTypeOf :: Func -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c Func) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Func) #

gmapT :: (forall b. Data b => b -> b) -> Func -> Func #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Func -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Func -> r #

gmapQ :: (forall d. Data d => d -> u) -> Func -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Func -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Func -> m Func #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Func -> m Func #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Func -> m Func #

Ord Func # 

Methods

compare :: Func -> Func -> Ordering #

(<) :: Func -> Func -> Bool #

(<=) :: Func -> Func -> Bool #

(>) :: Func -> Func -> Bool #

(>=) :: Func -> Func -> Bool #

max :: Func -> Func -> Func #

min :: Func -> Func -> Func #

Show Func # 

Methods

showsPrec :: Int -> Func -> ShowS #

show :: Func -> String #

showList :: [Func] -> ShowS #

Located Func # 

Methods

locOf :: Func -> Loc #

locOfList :: [Func] -> Loc #

Relocatable Func # 

Methods

reloc :: Loc -> Func -> Func #

data Definition #

Instances

Eq Definition # 
Data Definition # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Definition -> c Definition #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Definition #

toConstr :: Definition -> Constr #

dataTypeOf :: Definition -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c Definition) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Definition) #

gmapT :: (forall b. Data b => b -> b) -> Definition -> Definition #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Definition -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Definition -> r #

gmapQ :: (forall d. Data d => d -> u) -> Definition -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Definition -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Definition -> m Definition #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Definition -> m Definition #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Definition -> m Definition #

Ord Definition # 
Show Definition # 
Located Definition # 
Relocatable Definition # 

Methods

reloc :: Loc -> Definition -> Definition #

data Stm #

Instances

Eq Stm # 

Methods

(==) :: Stm -> Stm -> Bool #

(/=) :: Stm -> Stm -> Bool #

Data Stm # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Stm -> c Stm #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Stm #

toConstr :: Stm -> Constr #

dataTypeOf :: Stm -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c Stm) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Stm) #

gmapT :: (forall b. Data b => b -> b) -> Stm -> Stm #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Stm -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Stm -> r #

gmapQ :: (forall d. Data d => d -> u) -> Stm -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Stm -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Stm -> m Stm #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Stm -> m Stm #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Stm -> m Stm #

Ord Stm # 

Methods

compare :: Stm -> Stm -> Ordering #

(<) :: Stm -> Stm -> Bool #

(<=) :: Stm -> Stm -> Bool #

(>) :: Stm -> Stm -> Bool #

(>=) :: Stm -> Stm -> Bool #

max :: Stm -> Stm -> Stm #

min :: Stm -> Stm -> Stm #

Show Stm # 

Methods

showsPrec :: Int -> Stm -> ShowS #

show :: Stm -> String #

showList :: [Stm] -> ShowS #

Located Stm # 

Methods

locOf :: Stm -> Loc #

locOfList :: [Stm] -> Loc #

Relocatable Stm # 

Methods

reloc :: Loc -> Stm -> Stm #

data BlockItem #

Instances

Eq BlockItem # 
Data BlockItem # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> BlockItem -> c BlockItem #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c BlockItem #

toConstr :: BlockItem -> Constr #

dataTypeOf :: BlockItem -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c BlockItem) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c BlockItem) #

gmapT :: (forall b. Data b => b -> b) -> BlockItem -> BlockItem #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> BlockItem -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> BlockItem -> r #

gmapQ :: (forall d. Data d => d -> u) -> BlockItem -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> BlockItem -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> BlockItem -> m BlockItem #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> BlockItem -> m BlockItem #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> BlockItem -> m BlockItem #

Ord BlockItem # 
Show BlockItem # 
Located BlockItem # 

Methods

locOf :: BlockItem -> Loc #

locOfList :: [BlockItem] -> Loc #

Relocatable BlockItem # 

Methods

reloc :: Loc -> BlockItem -> BlockItem #

data Signed #

Constructors

Signed 
Unsigned 

Instances

Eq Signed # 

Methods

(==) :: Signed -> Signed -> Bool #

(/=) :: Signed -> Signed -> Bool #

Data Signed # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Signed -> c Signed #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Signed #

toConstr :: Signed -> Constr #

dataTypeOf :: Signed -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c Signed) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Signed) #

gmapT :: (forall b. Data b => b -> b) -> Signed -> Signed #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Signed -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Signed -> r #

gmapQ :: (forall d. Data d => d -> u) -> Signed -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Signed -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Signed -> m Signed #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Signed -> m Signed #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Signed -> m Signed #

Ord Signed # 
Show Signed # 

data Const #

The String parameter to Const data constructors is the raw string representation of the constant as it was parsed.

Instances

Eq Const # 

Methods

(==) :: Const -> Const -> Bool #

(/=) :: Const -> Const -> Bool #

Data Const # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Const -> c Const #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Const #

toConstr :: Const -> Constr #

dataTypeOf :: Const -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c Const) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Const) #

gmapT :: (forall b. Data b => b -> b) -> Const -> Const #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Const -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Const -> r #

gmapQ :: (forall d. Data d => d -> u) -> Const -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Const -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Const -> m Const #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Const -> m Const #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Const -> m Const #

Ord Const # 

Methods

compare :: Const -> Const -> Ordering #

(<) :: Const -> Const -> Bool #

(<=) :: Const -> Const -> Bool #

(>) :: Const -> Const -> Bool #

(>=) :: Const -> Const -> Bool #

max :: Const -> Const -> Const #

min :: Const -> Const -> Const #

Show Const # 

Methods

showsPrec :: Int -> Const -> ShowS #

show :: Const -> String #

showList :: [Const] -> ShowS #

Located Const # 

Methods

locOf :: Const -> Loc #

locOfList :: [Const] -> Loc #

Relocatable Const # 

Methods

reloc :: Loc -> Const -> Const #

ToConst Const # 

Methods

toConst :: Const -> SrcLoc -> Const #

data Exp #

Instances

Eq Exp # 

Methods

(==) :: Exp -> Exp -> Bool #

(/=) :: Exp -> Exp -> Bool #

Data Exp # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Exp -> c Exp #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Exp #

toConstr :: Exp -> Constr #

dataTypeOf :: Exp -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c Exp) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Exp) #

gmapT :: (forall b. Data b => b -> b) -> Exp -> Exp #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Exp -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Exp -> r #

gmapQ :: (forall d. Data d => d -> u) -> Exp -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Exp -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Exp -> m Exp #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Exp -> m Exp #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Exp -> m Exp #

Ord Exp # 

Methods

compare :: Exp -> Exp -> Ordering #

(<) :: Exp -> Exp -> Bool #

(<=) :: Exp -> Exp -> Bool #

(>) :: Exp -> Exp -> Bool #

(>=) :: Exp -> Exp -> Bool #

max :: Exp -> Exp -> Exp #

min :: Exp -> Exp -> Exp #

Show Exp # 

Methods

showsPrec :: Int -> Exp -> ShowS #

show :: Exp -> String #

showList :: [Exp] -> ShowS #

Located Exp # 

Methods

locOf :: Exp -> Loc #

locOfList :: [Exp] -> Loc #

Relocatable Exp # 

Methods

reloc :: Loc -> Exp -> Exp #

ToExp Exp # 

Methods

toExp :: Exp -> SrcLoc -> Exp #

data BinOp #

Constructors

Add 
Sub 
Mul 
Div 
Mod 
Eq 
Ne 
Lt 
Gt 
Le 
Ge 
Land 
Lor 
And 
Or 
Xor 
Lsh 
Rsh 

Instances

Eq BinOp # 

Methods

(==) :: BinOp -> BinOp -> Bool #

(/=) :: BinOp -> BinOp -> Bool #

Data BinOp # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> BinOp -> c BinOp #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c BinOp #

toConstr :: BinOp -> Constr #

dataTypeOf :: BinOp -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c BinOp) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c BinOp) #

gmapT :: (forall b. Data b => b -> b) -> BinOp -> BinOp #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> BinOp -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> BinOp -> r #

gmapQ :: (forall d. Data d => d -> u) -> BinOp -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> BinOp -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> BinOp -> m BinOp #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> BinOp -> m BinOp #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> BinOp -> m BinOp #

Ord BinOp # 

Methods

compare :: BinOp -> BinOp -> Ordering #

(<) :: BinOp -> BinOp -> Bool #

(<=) :: BinOp -> BinOp -> Bool #

(>) :: BinOp -> BinOp -> Bool #

(>=) :: BinOp -> BinOp -> Bool #

max :: BinOp -> BinOp -> BinOp #

min :: BinOp -> BinOp -> BinOp #

Show BinOp # 

Methods

showsPrec :: Int -> BinOp -> ShowS #

show :: BinOp -> String #

showList :: [BinOp] -> ShowS #

CFixity BinOp # 

Methods

fixity :: BinOp -> Fixity #

parensOp :: Int -> BinOp -> Doc -> Doc #

data AssignOp #

Instances

Eq AssignOp # 
Data AssignOp # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> AssignOp -> c AssignOp #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c AssignOp #

toConstr :: AssignOp -> Constr #

dataTypeOf :: AssignOp -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c AssignOp) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c AssignOp) #

gmapT :: (forall b. Data b => b -> b) -> AssignOp -> AssignOp #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> AssignOp -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> AssignOp -> r #

gmapQ :: (forall d. Data d => d -> u) -> AssignOp -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> AssignOp -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> AssignOp -> m AssignOp #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> AssignOp -> m AssignOp #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> AssignOp -> m AssignOp #

Ord AssignOp # 
Show AssignOp # 
CFixity AssignOp # 

Methods

fixity :: AssignOp -> Fixity #

parensOp :: Int -> AssignOp -> Doc -> Doc #

data UnOp #

Constructors

AddrOf 
Deref 
Positive 
Negate 
Not 
Lnot 

Instances