language-c-quote-0.13.0.2: 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
License | BSD-style
Maintainer | mainland@drexel.edu
Safe Haskell | Safe-Inferred
Language | Haskell2010

Language.C.Syntax

Description

Synopsis

- data Extensions
  - = Antiquotation
  - | C99
  - | C11
  - | Gcc
  - | Blocks
  - | ObjC
  - | CUDA
  - | OpenCL
- data Id
  - = Id String !SrcLoc
  - | AntiId String !SrcLoc
- data StringLit = StringLit [String] String !SrcLoc
- type Linkage = StringLit
- data Storage
  - = Tauto !SrcLoc
  - | Tregister !SrcLoc
  - | Tstatic !SrcLoc
  - | Textern (Maybe Linkage) !SrcLoc
  - | Ttypedef !SrcLoc
  - | T__block !SrcLoc
  - | TObjC__weak !SrcLoc
  - | TObjC__strong !SrcLoc
  - | TObjC__unsafe_unretained !SrcLoc
- data TypeQual
  - = Tconst !SrcLoc
  - | Tvolatile !SrcLoc
  - | EscTypeQual String !SrcLoc
  - | AntiTypeQual String !SrcLoc
  - | AntiTypeQuals String !SrcLoc
  - | Tinline !SrcLoc
  - | Trestrict !SrcLoc
  - | T__restrict !SrcLoc
  - | TAttr Attr
  - | TCUDAdevice !SrcLoc
  - | TCUDAglobal !SrcLoc
  - | TCUDAhost !SrcLoc
  - | TCUDAconstant !SrcLoc
  - | TCUDAshared !SrcLoc
  - | TCUDArestrict !SrcLoc
  - | TCUDAnoinline !SrcLoc
  - | TCLprivate !SrcLoc
  - | TCLlocal !SrcLoc
  - | TCLglobal !SrcLoc
  - | TCLconstant !SrcLoc
  - | TCLreadonly !SrcLoc
  - | TCLwriteonly !SrcLoc
  - | TCLkernel !SrcLoc
- data Sign
  - = Tsigned !SrcLoc
  - | Tunsigned !SrcLoc
- data TypeSpec
  - = Tvoid !SrcLoc
  - | Tchar (Maybe Sign) !SrcLoc
  - | Tshort (Maybe Sign) !SrcLoc
  - | Tint (Maybe Sign) !SrcLoc
  - | Tlong (Maybe Sign) !SrcLoc
  - | Tlong_long (Maybe Sign) !SrcLoc
  - | Tfloat !SrcLoc
  - | Tdouble !SrcLoc
  - | Tlong_double !SrcLoc
  - | Tstruct (Maybe Id) (Maybe [FieldGroup]) [Attr] !SrcLoc
  - | Tunion (Maybe Id) (Maybe [FieldGroup]) [Attr] !SrcLoc
  - | Tenum (Maybe Id) [CEnum] [Attr] !SrcLoc
  - | Tnamed Id [Id] !SrcLoc
  - | T_Bool !SrcLoc
  - | Tfloat_Complex !SrcLoc
  - | Tdouble_Complex !SrcLoc
  - | Tlong_double_Complex !SrcLoc
  - | Tfloat_Imaginary !SrcLoc
  - | Tdouble_Imaginary !SrcLoc
  - | Tlong_double_Imaginary !SrcLoc
  - | TtypeofExp Exp !SrcLoc
  - | TtypeofType Type !SrcLoc
  - | Tva_list !SrcLoc
- data DeclSpec
  - = DeclSpec [Storage] [TypeQual] TypeSpec !SrcLoc
  - | AntiDeclSpec String !SrcLoc
  - | AntiTypeDeclSpec [Storage] [TypeQual] String !SrcLoc
- data ArraySize
  - = ArraySize Bool Exp !SrcLoc
  - | VariableArraySize !SrcLoc
  - | NoArraySize !SrcLoc
- data Decl
  - = DeclRoot !SrcLoc
  - | Ptr [TypeQual] Decl !SrcLoc
  - | Array [TypeQual] ArraySize Decl !SrcLoc
  - | Proto Decl Params !SrcLoc
  - | OldProto Decl [Id] !SrcLoc
  - | AntiTypeDecl String !SrcLoc
  - | BlockPtr [TypeQual] Decl !SrcLoc
- data Type
  - = Type DeclSpec Decl !SrcLoc
  - | AntiType String !SrcLoc
- data Designator
  - = IndexDesignator Exp !SrcLoc
  - | MemberDesignator Id !SrcLoc
- data Designation = Designation [Designator] !SrcLoc
- data Initializer
  - = ExpInitializer Exp !SrcLoc
  - | CompoundInitializer [(Maybe Designation, Initializer)] !SrcLoc
  - | AntiInit String !SrcLoc
  - | AntiInits String !SrcLoc
- type AsmLabel = StringLit
- data Init = Init Id Decl (Maybe AsmLabel) (Maybe Initializer) [Attr] !SrcLoc
- data Typedef = Typedef Id Decl [Attr] !SrcLoc
- data InitGroup
  - = InitGroup DeclSpec [Attr] [Init] !SrcLoc
  - | TypedefGroup DeclSpec [Attr] [Typedef] !SrcLoc
  - | AntiDecl String !SrcLoc
  - | AntiDecls String !SrcLoc
- data Field = Field (Maybe Id) (Maybe Decl) (Maybe Exp) !SrcLoc
- data FieldGroup
  - = FieldGroup DeclSpec [Field] !SrcLoc
  - | AntiSdecl String !SrcLoc
  - | AntiSdecls String !SrcLoc
- data CEnum
  - = CEnum Id (Maybe Exp) !SrcLoc
  - | AntiEnum String !SrcLoc
  - | AntiEnums String !SrcLoc
- data Attr
  - = Attr Id [Exp] !SrcLoc
  - | AntiAttr String !SrcLoc
  - | AntiAttrs String !SrcLoc
- data Param
  - = Param (Maybe Id) DeclSpec Decl !SrcLoc
  - | AntiParam String !SrcLoc
  - | AntiParams String !SrcLoc
- data Params = Params [Param] Bool !SrcLoc
- data Func
  - = Func DeclSpec Id Decl Params [BlockItem] !SrcLoc
  - | OldFunc DeclSpec Id Decl [Id] (Maybe [InitGroup]) [BlockItem] !SrcLoc
- data Definition
  - = FuncDef Func !SrcLoc
  - | DecDef InitGroup !SrcLoc
  - | EscDef String !SrcLoc
  - | AntiFunc String !SrcLoc
  - | AntiEsc String !SrcLoc
  - | AntiEdecl String !SrcLoc
  - | AntiEdecls String !SrcLoc
  - | ObjCClassDec [Id] !SrcLoc
  - | ObjCClassIface Id (Maybe Id) [Id] [ObjCIvarDecl] [ObjCIfaceDecl] [Attr] !SrcLoc
  - | ObjCCatIface Id (Maybe Id) [Id] [ObjCIvarDecl] [ObjCIfaceDecl] !SrcLoc
  - | ObjCProtDec [Id] !SrcLoc
  - | ObjCProtDef Id [Id] [ObjCIfaceDecl] !SrcLoc
  - | ObjCClassImpl Id (Maybe Id) [ObjCIvarDecl] [Definition] !SrcLoc
  - | ObjCCatImpl Id Id [Definition] !SrcLoc
  - | ObjCSynDef [(Id, Maybe Id)] !SrcLoc
  - | ObjCDynDef [Id] !SrcLoc
  - | ObjCMethDef ObjCMethodProto [BlockItem] !SrcLoc
  - | ObjCCompAlias Id Id !SrcLoc
  - | AntiObjCMeth String !SrcLoc
  - | AntiObjCMeths String !SrcLoc
- data Stm
  - = Label Id [Attr] Stm !SrcLoc
  - | Case Exp Stm !SrcLoc
  - | CaseRange Exp Exp Stm !SrcLoc
  - | Default Stm !SrcLoc
  - | Exp (Maybe Exp) !SrcLoc
  - | Block [BlockItem] !SrcLoc
  - | If Exp Stm (Maybe Stm) !SrcLoc
  - | Switch Exp Stm !SrcLoc
  - | While Exp Stm !SrcLoc
  - | DoWhile Stm Exp !SrcLoc
  - | For (Either InitGroup (Maybe Exp)) (Maybe Exp) (Maybe Exp) Stm !SrcLoc
  - | Goto Id !SrcLoc
  - | Continue !SrcLoc
  - | Break !SrcLoc
  - | Return (Maybe Exp) !SrcLoc
  - | Pragma String !SrcLoc
  - | Comment String Stm !SrcLoc
  - | EscStm String !SrcLoc
  - | AntiEscStm String !SrcLoc
  - | AntiPragma String !SrcLoc
  - | AntiComment String Stm !SrcLoc
  - | AntiStm String !SrcLoc
  - | AntiStms String !SrcLoc
  - | Asm Bool [Attr] AsmTemplate [AsmOut] [AsmIn] [AsmClobber] !SrcLoc
  - | AsmGoto Bool [Attr] AsmTemplate [AsmIn] [AsmClobber] [Id] !SrcLoc
  - | ObjCTry [BlockItem] [ObjCCatch] (Maybe [BlockItem]) !SrcLoc
  - | ObjCThrow (Maybe Exp) !SrcLoc
  - | ObjCSynchronized Exp [BlockItem] !SrcLoc
  - | ObjCAutoreleasepool [BlockItem] !SrcLoc
- data BlockItem
  - = BlockDecl InitGroup
  - | BlockStm Stm
  - | AntiBlockItem String !SrcLoc
  - | AntiBlockItems String !SrcLoc
- data Signed
  - = Signed
  - | Unsigned
- data Const
  - = IntConst String Signed Integer !SrcLoc
  - | LongIntConst String Signed Integer !SrcLoc
  - | LongLongIntConst String Signed Integer !SrcLoc
  - | FloatConst String Float !SrcLoc
  - | DoubleConst String Double !SrcLoc
  - | LongDoubleConst String Double !SrcLoc
  - | CharConst String Char !SrcLoc
  - | StringConst [String] String !SrcLoc
  - | AntiConst String !SrcLoc
  - | AntiInt String !SrcLoc
  - | AntiUInt String !SrcLoc
  - | AntiLInt String !SrcLoc
  - | AntiULInt String !SrcLoc
  - | AntiLLInt String !SrcLoc
  - | AntiULLInt String !SrcLoc
  - | AntiFloat String !SrcLoc
  - | AntiDouble String !SrcLoc
  - | AntiLongDouble String !SrcLoc
  - | AntiChar String !SrcLoc
  - | AntiString String !SrcLoc
- data Exp
  - = Var Id !SrcLoc
  - | Const Const !SrcLoc
  - | BinOp BinOp Exp Exp !SrcLoc
  - | Assign Exp AssignOp Exp !SrcLoc
  - | PreInc Exp !SrcLoc
  - | PostInc Exp !SrcLoc
  - | PreDec Exp !SrcLoc
  - | PostDec Exp !SrcLoc
  - | UnOp UnOp Exp !SrcLoc
  - | SizeofExp Exp !SrcLoc
  - | SizeofType Type !SrcLoc
  - | Cast Type Exp !SrcLoc
  - | Cond Exp Exp Exp !SrcLoc
  - | Member Exp Id !SrcLoc
  - | PtrMember Exp Id !SrcLoc
  - | Index Exp Exp !SrcLoc
  - | FnCall Exp [Exp] !SrcLoc
  - | CudaCall Exp ExeConfig [Exp] !SrcLoc
  - | Seq Exp Exp !SrcLoc
  - | CompoundLit Type [(Maybe Designation, Initializer)] !SrcLoc
  - | StmExpr [BlockItem] !SrcLoc
  - | EscExp String !SrcLoc
  - | AntiEscExp String !SrcLoc
  - | AntiExp String !SrcLoc
  - | AntiArgs String !SrcLoc
  - | BuiltinVaArg Exp Type !SrcLoc
  - | BlockLit BlockType [Attr] [BlockItem] !SrcLoc
  - | ObjCMsg ObjCRecv [ObjCArg] [Exp] !SrcLoc
  - | ObjCLitConst (Maybe UnOp) Const !SrcLoc
  - | ObjCLitString [Const] !SrcLoc
  - | ObjCLitBool Bool !SrcLoc
  - | ObjCLitArray [Exp] !SrcLoc
  - | ObjCLitDict [ObjCDictElem] !SrcLoc
  - | ObjCLitBoxed Exp !SrcLoc
  - | ObjCEncode Type !SrcLoc
  - | ObjCProtocol Id !SrcLoc
  - | ObjCSelector String !SrcLoc
  - | Lambda LambdaIntroducer (Maybe LambdaDeclarator) [BlockItem] !SrcLoc
- data BinOp
  - = Add
  - | Sub
  - | Mul
  - | Div
  - | Mod
  - | Eq
  - | Ne
  - | Lt
  - | Gt
  - | Le
  - | Ge
  - | Land
  - | Lor
  - | And
  - | Or
  - | Xor
  - | Lsh
  - | Rsh
- data AssignOp
  - = JustAssign
  - | AddAssign
  - | SubAssign
  - | MulAssign
  - | DivAssign
  - | ModAssign
  - | LshAssign
  - | RshAssign
  - | AndAssign
  - | XorAssign
  - | OrAssign
- data UnOp
  - = AddrOf
  - | Deref
  - | Positive
  - | Negate
  - | Not
  - | Lnot
- type AsmTemplate = StringLit
- data AsmOut = AsmOut (Maybe Id) String Id
- data AsmIn = AsmIn (Maybe Id) String Exp
- type AsmClobber = String
- data BlockType
  - = BlockVoid !SrcLoc
  - | BlockParam [Param] !SrcLoc
  - | BlockType Type !SrcLoc
- data ObjCIvarDecl
  - = ObjCIvarVisi ObjCVisibilitySpec !SrcLoc
  - | ObjCIvarDecl FieldGroup !SrcLoc
- data ObjCVisibilitySpec
  - = ObjCPrivate !SrcLoc
  - | ObjCPublic !SrcLoc
  - | ObjCProtected !SrcLoc
  - | ObjCPackage !SrcLoc
- data ObjCIfaceDecl
  - = ObjCIfaceProp [ObjCPropAttr] FieldGroup !SrcLoc
  - | ObjCIfaceReq ObjCMethodReq !SrcLoc
  - | ObjCIfaceMeth ObjCMethodProto !SrcLoc
  - | ObjCIfaceDecl InitGroup !SrcLoc
  - | AntiObjCProp String !SrcLoc
  - | AntiObjCProps String !SrcLoc
  - | AntiObjCIfaceDecl String !SrcLoc
  - | AntiObjCIfaceDecls String !SrcLoc
- data ObjCPropAttr
  - = ObjCGetter Id !SrcLoc
  - | ObjCSetter Id !SrcLoc
  - | ObjCReadonly !SrcLoc
  - | ObjCReadwrite !SrcLoc
  - | ObjCAssign !SrcLoc
  - | ObjCRetain !SrcLoc
  - | ObjCCopy !SrcLoc
  - | ObjCNonatomic !SrcLoc
  - | ObjCAtomic !SrcLoc
  - | ObjCStrong !SrcLoc
  - | ObjCWeak !SrcLoc
  - | ObjCUnsafeUnretained !SrcLoc
  - | AntiObjCAttr String !SrcLoc
  - | AntiObjCAttrs String !SrcLoc
- data ObjCMethodReq
  - = ObjCRequired !SrcLoc
  - | ObjCOptional !SrcLoc
- data ObjCParam
  - = ObjCParam (Maybe Id) (Maybe Type) [Attr] (Maybe Id) !SrcLoc
  - | AntiObjCParam String !SrcLoc
  - | AntiObjCParams String !SrcLoc
- data ObjCMethodProto
  - = ObjCMethodProto Bool (Maybe Type) [Attr] [ObjCParam] Bool [Attr] !SrcLoc
  - | AntiObjCMethodProto String !SrcLoc
- data ObjCCatch = ObjCCatch (Maybe Param) [BlockItem] !SrcLoc
- data ObjCDictElem
  - = ObjCDictElem Exp Exp !SrcLoc
  - | AntiObjCDictElems String !SrcLoc
- data ObjCRecv
  - = ObjCRecvSuper !SrcLoc
  - | ObjCRecvExp Exp !SrcLoc
  - | AntiObjCRecv String !SrcLoc
- data ObjCArg
  - = ObjCArg (Maybe Id) (Maybe Exp) !SrcLoc
  - | AntiObjCArg String !SrcLoc
  - | AntiObjCArgs String !SrcLoc
- data LambdaIntroducer = LambdaIntroducer [CaptureListEntry] !SrcLoc
- data LambdaDeclarator = LambdaDeclarator Params Bool (Maybe Type) !SrcLoc
- data CaptureListEntry
  - = DefaultByReference
  - | DefaultByValue
- data ExeConfig = ExeConfig {
  - exeGridDim :: Exp
  - exeBlockDim :: Exp
  - exeSharedSize :: Maybe Exp
  - exeStream :: Maybe Exp
  - exeLoc :: !SrcLoc
  }
- funcProto :: Func -> InitGroup
- isPtr :: Type -> Bool
- ctypedef :: Id -> Decl -> [Attr] -> Typedef
- cdeclSpec :: [Storage] -> [TypeQual] -> TypeSpec -> DeclSpec
- cinitGroup :: DeclSpec -> [Attr] -> [Init] -> InitGroup
- ctypedefGroup :: DeclSpec -> [Attr] -> [Typedef] -> InitGroup

# Documentation

data Extensions Source #

Constructors

Antiquotation |
C99 |
C11 |
Gcc |
Blocks |
ObjC |
CUDA |
OpenCL |

#### Instances

Instances details

Enum Extensions Source # |

Instance details

Defined in Language.C.Syntax

Methods

succ :: Extensions -> Extensions Source #

pred :: Extensions -> Extensions Source #

toEnum :: Int -> Extensions Source #

fromEnum :: Extensions -> Int Source #

enumFrom :: Extensions -> [Extensions] Source #

enumFromThen :: Extensions -> Extensions -> [Extensions] Source #

enumFromTo :: Extensions -> Extensions -> [Extensions] Source #

enumFromThenTo :: Extensions -> Extensions -> Extensions -> [Extensions] Source #

Show Extensions Source # |
Instance details Defined in Language.C.Syntax Methods showsPrec :: Int -> Extensions -> ShowS Source # show :: Extensions -> String Source # showList :: [Extensions] -> ShowS Source #
Eq Extensions Source # |
Instance details Defined in Language.C.Syntax Methods (==) :: Extensions -> Extensions -> Bool Source # (/=) :: Extensions -> Extensions -> Bool Source #
Ord Extensions Source # |

Instance details

Defined in Language.C.Syntax

Methods

compare :: Extensions -> Extensions -> Ordering Source #

(<) :: Extensions -> Extensions -> Bool Source #

(<=) :: Extensions -> Extensions -> Bool Source #

(>) :: Extensions -> Extensions -> Bool Source #

(>=) :: Extensions -> Extensions -> Bool Source #

max :: Extensions -> Extensions -> Extensions Source #

min :: Extensions -> Extensions -> Extensions Source #

data Id Source #

Constructors

Id String !SrcLoc |
AntiId String !SrcLoc |

#### Instances

Instances details

Data Id Source # |

Instance details

Defined in Language.C.Syntax

Methods

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

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

toConstr :: Id -> Constr Source #

dataTypeOf :: Id -> DataType Source #

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

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

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

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

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

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

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

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

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

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

IsString Id Source # |
Instance details Defined in Language.C.Syntax Methods fromString :: String -> Id Source #
Show Id Source # |
Instance details Defined in Language.C.Syntax Methods showsPrec :: Int -> Id -> ShowS Source # show :: Id -> String Source # showList :: [Id] -> ShowS Source #
Eq Id Source # |
Instance details Defined in Language.C.Syntax Methods (==) :: Id -> Id -> Bool Source # (/=) :: Id -> Id -> Bool Source #
Ord Id Source # |
Instance details Defined in Language.C.Syntax Methods compare :: Id -> Id -> Ordering Source # (<) :: Id -> Id -> Bool Source # (<=) :: Id -> Id -> Bool Source # (>) :: Id -> Id -> Bool Source # (>=) :: Id -> Id -> Bool Source # max :: Id -> Id -> Id Source # min :: Id -> Id -> Id Source #
ToIdent Id Source # |
Instance details Defined in Language.C.Quote.Base Methods toIdent :: Id -> SrcLoc -> Id Source #
Pretty Id Source # |
Instance details Defined in Language.C.Pretty Methods ppr :: Id -> Doc Source # pprPrec :: Int -> Id -> Doc Source # pprList :: [Id] -> Doc Source #
Located Id Source # |
Instance details Defined in Language.C.Syntax Methods locOf :: Id -> Loc Source # locOfList :: [Id] -> Loc Source #
Relocatable Id Source # |
Instance details Defined in Language.C.Syntax Methods reloc :: Loc -> Id -> Id Source #
ToIdent (SrcLoc -> Id) Source # |
Instance details Defined in Language.C.Quote.Base Methods toIdent :: (SrcLoc -> Id) -> SrcLoc -> Id Source #

data StringLit Source #

Constructors

StringLit [String] String !SrcLoc |

#### Instances

Instances details

Data StringLit Source # |

Instance details

Defined in Language.C.Syntax

Methods

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

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

toConstr :: StringLit -> Constr Source #

dataTypeOf :: StringLit -> DataType Source #

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

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

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

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

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

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

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

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

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

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

IsString StringLit Source # |
Instance details Defined in Language.C.Syntax Methods fromString :: String -> StringLit Source #
Show StringLit Source # |
Instance details Defined in Language.C.Syntax Methods showsPrec :: Int -> StringLit -> ShowS Source # show :: StringLit -> String Source # showList :: [StringLit] -> ShowS Source #
Eq StringLit Source # |
Instance details Defined in Language.C.Syntax Methods (==) :: StringLit -> StringLit -> Bool Source # (/=) :: StringLit -> StringLit -> Bool Source #
Ord StringLit Source # |

Instance details

Defined in Language.C.Syntax

Methods

compare :: StringLit -> StringLit -> Ordering Source #

(<) :: StringLit -> StringLit -> Bool Source #

(<=) :: StringLit -> StringLit -> Bool Source #

(>) :: StringLit -> StringLit -> Bool Source #

(>=) :: StringLit -> StringLit -> Bool Source #

max :: StringLit -> StringLit -> StringLit Source #

min :: StringLit -> StringLit -> StringLit Source #

Pretty StringLit Source # |
Instance details Defined in Language.C.Pretty Methods ppr :: StringLit -> Doc Source # pprPrec :: Int -> StringLit -> Doc Source # pprList :: [StringLit] -> Doc Source #
Located StringLit Source # |
Instance details Defined in Language.C.Syntax Methods locOf :: StringLit -> Loc Source # locOfList :: [StringLit] -> Loc Source #
Relocatable StringLit Source # |
Instance details Defined in Language.C.Syntax Methods reloc :: Loc -> StringLit -> StringLit Source #

type Linkage = StringLit Source #

data Storage Source #

Constructors

Tauto !SrcLoc |
Tregister !SrcLoc |
Tstatic !SrcLoc |
Textern (Maybe Linkage) !SrcLoc |
Ttypedef !SrcLoc |
T__block !SrcLoc |
TObjC__weak !SrcLoc |
TObjC__strong !SrcLoc |
TObjC__unsafe_unretained !SrcLoc |

#### Instances

Instances details

Data Storage Source # |

Instance details

Defined in Language.C.Syntax

Methods

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

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

toConstr :: Storage -> Constr Source #

dataTypeOf :: Storage -> DataType Source #

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

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

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

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

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

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

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

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

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

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

Show Storage Source # |
Instance details Defined in Language.C.Syntax Methods showsPrec :: Int -> Storage -> ShowS Source # show :: Storage -> String Source # showList :: [Storage] -> ShowS Source #
Eq Storage Source # |
Instance details Defined in Language.C.Syntax Methods (==) :: Storage -> Storage -> Bool Source # (/=) :: Storage -> Storage -> Bool Source #
Ord Storage Source # |
Instance details Defined in Language.C.Syntax Methods compare :: Storage -> Storage -> Ordering Source # (<) :: Storage -> Storage -> Bool Source # (<=) :: Storage -> Storage -> Bool Source # (>) :: Storage -> Storage -> Bool Source # (>=) :: Storage -> Storage -> Bool Source # max :: Storage -> Storage -> Storage Source # min :: Storage -> Storage -> Storage Source #
Pretty Storage Source # |
Instance details Defined in Language.C.Pretty Methods ppr :: Storage -> Doc Source # pprPrec :: Int -> Storage -> Doc Source # pprList :: [Storage] -> Doc Source #
Located Storage Source # |
Instance details Defined in Language.C.Syntax Methods locOf :: Storage -> Loc Source # locOfList :: [Storage] -> Loc Source #
Relocatable Storage Source # |
Instance details Defined in Language.C.Syntax Methods reloc :: Loc -> Storage -> Storage Source #

data TypeQual Source #

Constructors

Tconst !SrcLoc |
Tvolatile !SrcLoc |
EscTypeQual String !SrcLoc |
AntiTypeQual String !SrcLoc |
AntiTypeQuals String !SrcLoc |
Tinline !SrcLoc |
Trestrict !SrcLoc |
T__restrict !SrcLoc |
TAttr Attr |
TCUDAdevice !SrcLoc |
TCUDAglobal !SrcLoc |
TCUDAhost !SrcLoc |
TCUDAconstant !SrcLoc |
TCUDAshared !SrcLoc |
TCUDArestrict !SrcLoc |
TCUDAnoinline !SrcLoc |
TCLprivate !SrcLoc |
TCLlocal !SrcLoc |
TCLglobal !SrcLoc |
TCLconstant !SrcLoc |
TCLreadonly !SrcLoc |
TCLwriteonly !SrcLoc |
TCLkernel !SrcLoc |

#### Instances

Instances details

Data TypeQual Source # |

Instance details

Defined in Language.C.Syntax

Methods

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

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

toConstr :: TypeQual -> Constr Source #

dataTypeOf :: TypeQual -> DataType Source #

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

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

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

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

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

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

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

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

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

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

Show TypeQual Source # |
Instance details Defined in Language.C.Syntax Methods showsPrec :: Int -> TypeQual -> ShowS Source # show :: TypeQual -> String Source # showList :: [TypeQual] -> ShowS Source #
Eq TypeQual Source # |
Instance details Defined in Language.C.Syntax Methods (==) :: TypeQual -> TypeQual -> Bool Source # (/=) :: TypeQual -> TypeQual -> Bool Source #
Ord TypeQual Source # |
Instance details Defined in Language.C.Syntax Methods compare :: TypeQual -> TypeQual -> Ordering Source # (<) :: TypeQual -> TypeQual -> Bool Source # (<=) :: TypeQual -> TypeQual -> Bool Source # (>) :: TypeQual -> TypeQual -> Bool Source # (>=) :: TypeQual -> TypeQual -> Bool Source # max :: TypeQual -> TypeQual -> TypeQual Source # min :: TypeQual -> TypeQual -> TypeQual Source #
Pretty TypeQual Source # |
Instance details Defined in Language.C.Pretty Methods ppr :: TypeQual -> Doc Source # pprPrec :: Int -> TypeQual -> Doc Source # pprList :: [TypeQual] -> Doc Source #
Located TypeQual Source # |
Instance details Defined in Language.C.Syntax Methods locOf :: TypeQual -> Loc Source # locOfList :: [TypeQual] -> Loc Source #
Relocatable TypeQual Source # |
Instance details Defined in Language.C.Syntax Methods reloc :: Loc -> TypeQual -> TypeQual Source #

data Sign Source #

Constructors

Tsigned !SrcLoc |
Tunsigned !SrcLoc |

#### Instances

Instances details

Data Sign Source # |

Instance details

Defined in Language.C.Syntax

Methods

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

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

toConstr :: Sign -> Constr Source #

dataTypeOf :: Sign -> DataType Source #

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

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

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

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

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

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

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

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

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

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

Show Sign Source # |
Instance details Defined in Language.C.Syntax Methods showsPrec :: Int -> Sign -> ShowS Source # show :: Sign -> String Source # showList :: [Sign] -> ShowS Source #
Eq Sign Source # |
Instance details Defined in Language.C.Syntax Methods (==) :: Sign -> Sign -> Bool Source # (/=) :: Sign -> Sign -> Bool Source #
Ord Sign Source # |
Instance details Defined in Language.C.Syntax Methods compare :: Sign -> Sign -> Ordering Source # (<) :: Sign -> Sign -> Bool Source # (<=) :: Sign -> Sign -> Bool Source # (>) :: Sign -> Sign -> Bool Source # (>=) :: Sign -> Sign -> Bool Source # max :: Sign -> Sign -> Sign Source # min :: Sign -> Sign -> Sign Source #
Pretty Sign Source # |
Instance details Defined in Language.C.Pretty Methods ppr :: Sign -> Doc Source # pprPrec :: Int -> Sign -> Doc Source # pprList :: [Sign] -> Doc Source #
Located Sign Source # |
Instance details Defined in Language.C.Syntax Methods locOf :: Sign -> Loc Source # locOfList :: [Sign] -> Loc Source #
Relocatable Sign Source # |
Instance details Defined in Language.C.Syntax Methods reloc :: Loc -> Sign -> Sign Source #

data TypeSpec Source #

Constructors

Tvoid !SrcLoc |
Tchar (Maybe Sign) !SrcLoc |
Tshort (Maybe Sign) !SrcLoc |
Tint (Maybe Sign) !SrcLoc |
Tlong (Maybe Sign) !SrcLoc |
Tlong_long (Maybe Sign) !SrcLoc |
Tfloat !SrcLoc |
Tdouble !SrcLoc |
Tlong_double !SrcLoc |
Tstruct (Maybe Id) (Maybe [FieldGroup]) [Attr] !SrcLoc |
Tunion (Maybe Id) (Maybe [FieldGroup]) [Attr] !SrcLoc |
Tenum (Maybe Id) [CEnum] [Attr] !SrcLoc |
Tnamed Id [Id] !SrcLoc |
T_Bool !SrcLoc |
Tfloat_Complex !SrcLoc |
Tdouble_Complex !SrcLoc |
Tlong_double_Complex !SrcLoc |
Tfloat_Imaginary !SrcLoc |
Tdouble_Imaginary !SrcLoc |
Tlong_double_Imaginary !SrcLoc |
TtypeofExp Exp !SrcLoc |
TtypeofType Type !SrcLoc |
Tva_list !SrcLoc |

#### Instances

Instances details

Data TypeSpec Source # |

Instance details

Defined in Language.C.Syntax

Methods

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

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

toConstr :: TypeSpec -> Constr Source #

dataTypeOf :: TypeSpec -> DataType Source #

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

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

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

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

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

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

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

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

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

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

Show TypeSpec Source # |
Instance details Defined in Language.C.Syntax Methods showsPrec :: Int -> TypeSpec -> ShowS Source # show :: TypeSpec -> String Source # showList :: [TypeSpec] -> ShowS Source #
Eq TypeSpec Source # |
Instance details Defined in Language.C.Syntax Methods (==) :: TypeSpec -> TypeSpec -> Bool Source # (/=) :: TypeSpec -> TypeSpec -> Bool Source #
Ord TypeSpec Source # |
Instance details Defined in Language.C.Syntax Methods compare :: TypeSpec -> TypeSpec -> Ordering Source # (<) :: TypeSpec -> TypeSpec -> Bool Source # (<=) :: TypeSpec -> TypeSpec -> Bool Source # (>) :: TypeSpec -> TypeSpec -> Bool Source # (>=) :: TypeSpec -> TypeSpec -> Bool Source # max :: TypeSpec -> TypeSpec -> TypeSpec Source # min :: TypeSpec -> TypeSpec -> TypeSpec Source #
Pretty TypeSpec Source # |
Instance details Defined in Language.C.Pretty Methods ppr :: TypeSpec -> Doc Source # pprPrec :: Int -> TypeSpec -> Doc Source # pprList :: [TypeSpec] -> Doc Source #
Located TypeSpec Source # |
Instance details Defined in Language.C.Syntax Methods locOf :: TypeSpec -> Loc Source # locOfList :: [TypeSpec] -> Loc Source #
Relocatable TypeSpec Source # |
Instance details Defined in Language.C.Syntax Methods reloc :: Loc -> TypeSpec -> TypeSpec Source #

data DeclSpec Source #

Constructors

DeclSpec [Storage] [TypeQual] TypeSpec !SrcLoc |
AntiDeclSpec String !SrcLoc |
AntiTypeDeclSpec [Storage] [TypeQual] String !SrcLoc |

#### Instances

Instances details

Data DeclSpec Source # |

Instance details

Defined in Language.C.Syntax

Methods

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

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

toConstr :: DeclSpec -> Constr Source #

dataTypeOf :: DeclSpec -> DataType Source #

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

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

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

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

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

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

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

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

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

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

Show DeclSpec Source # |
Instance details Defined in Language.C.Syntax Methods showsPrec :: Int -> DeclSpec -> ShowS Source # show :: DeclSpec -> String Source # showList :: [DeclSpec] -> ShowS Source #
Eq DeclSpec Source # |
Instance details Defined in Language.C.Syntax Methods (==) :: DeclSpec -> DeclSpec -> Bool Source # (/=) :: DeclSpec -> DeclSpec -> Bool Source #
Ord DeclSpec Source # |
Instance details Defined in Language.C.Syntax Methods compare :: DeclSpec -> DeclSpec -> Ordering Source # (<) :: DeclSpec -> DeclSpec -> Bool Source # (<=) :: DeclSpec -> DeclSpec -> Bool Source # (>) :: DeclSpec -> DeclSpec -> Bool Source # (>=) :: DeclSpec -> DeclSpec -> Bool Source # max :: DeclSpec -> DeclSpec -> DeclSpec Source # min :: DeclSpec -> DeclSpec -> DeclSpec Source #
Pretty DeclSpec Source # |
Instance details Defined in Language.C.Pretty Methods ppr :: DeclSpec -> Doc Source # pprPrec :: Int -> DeclSpec -> Doc Source # pprList :: [DeclSpec] -> Doc Source #
Located DeclSpec Source # |
Instance details Defined in Language.C.Syntax Methods locOf :: DeclSpec -> Loc Source # locOfList :: [DeclSpec] -> Loc Source #
Relocatable DeclSpec Source # |
Instance details Defined in Language.C.Syntax Methods reloc :: Loc -> DeclSpec -> DeclSpec Source #

data ArraySize Source #

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.

Constructors

ArraySize Bool Exp !SrcLoc |
VariableArraySize !SrcLoc |
NoArraySize !SrcLoc |

#### Instances

Instances details

Data ArraySize Source # |

Instance details

Defined in Language.C.Syntax

Methods

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

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

toConstr :: ArraySize -> Constr Source #

dataTypeOf :: ArraySize -> DataType Source #

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

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

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

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

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

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

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

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

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

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

Show ArraySize Source # |
Instance details Defined in Language.C.Syntax Methods showsPrec :: Int -> ArraySize -> ShowS Source # show :: ArraySize -> String Source # showList :: [ArraySize] -> ShowS Source #
Eq ArraySize Source # |
Instance details Defined in Language.C.Syntax Methods (==) :: ArraySize -> ArraySize -> Bool Source # (/=) :: ArraySize -> ArraySize -> Bool Source #
Ord ArraySize Source # |

Instance details

Defined in Language.C.Syntax

Methods

compare :: ArraySize -> ArraySize -> Ordering Source #

(<) :: ArraySize -> ArraySize -> Bool Source #

(<=) :: ArraySize -> ArraySize -> Bool Source #

(>) :: ArraySize -> ArraySize -> Bool Source #

(>=) :: ArraySize -> ArraySize -> Bool Source #

max :: ArraySize -> ArraySize -> ArraySize Source #

min :: ArraySize -> ArraySize -> ArraySize Source #

Pretty ArraySize Source # |
Instance details Defined in Language.C.Pretty Methods ppr :: ArraySize -> Doc Source # pprPrec :: Int -> ArraySize -> Doc Source # pprList :: [ArraySize] -> Doc Source #
Located ArraySize Source # |
Instance details Defined in Language.C.Syntax Methods locOf :: ArraySize -> Loc Source # locOfList :: [ArraySize] -> Loc Source #
Relocatable ArraySize Source # |
Instance details Defined in Language.C.Syntax Methods reloc :: Loc -> ArraySize -> ArraySize Source #

data Decl Source #

Constructors

DeclRoot !SrcLoc |
Ptr [TypeQual] Decl !SrcLoc |
Array [TypeQual] ArraySize Decl !SrcLoc |
Proto Decl Params !SrcLoc |
OldProto Decl [Id] !SrcLoc |
AntiTypeDecl String !SrcLoc |
BlockPtr [TypeQual] Decl !SrcLoc |

#### Instances

Instances details

Data Decl Source # |

Instance details

Defined in Language.C.Syntax

Methods

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

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

toConstr :: Decl -> Constr Source #

dataTypeOf :: Decl -> DataType Source #

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

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

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

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

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

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

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

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

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

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

Show Decl Source # |
Instance details Defined in Language.C.Syntax Methods showsPrec :: Int -> Decl -> ShowS Source # show :: Decl -> String Source # showList :: [Decl] -> ShowS Source #
Eq Decl Source # |
Instance details Defined in Language.C.Syntax Methods (==) :: Decl -> Decl -> Bool Source # (/=) :: Decl -> Decl -> Bool Source #
Ord Decl Source # |
Instance details Defined in Language.C.Syntax Methods compare :: Decl -> Decl -> Ordering Source # (<) :: Decl -> Decl -> Bool Source # (<=) :: Decl -> Decl -> Bool Source # (>) :: Decl -> Decl -> Bool Source # (>=) :: Decl -> Decl -> Bool Source # max :: Decl -> Decl -> Decl Source # min :: Decl -> Decl -> Decl Source #
Located Decl Source # |
Instance details Defined in Language.C.Syntax Methods locOf :: Decl -> Loc Source # locOfList :: [Decl] -> Loc Source #
Relocatable Decl Source # |
Instance details Defined in Language.C.Syntax Methods reloc :: Loc -> Decl -> Decl Source #

data Type Source #

Constructors

Type DeclSpec Decl !SrcLoc |
AntiType String !SrcLoc |

#### Instances

Instances details

Data Type Source # |

Instance details

Defined in Language.C.Syntax

Methods

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

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

toConstr :: Type -> Constr Source #

dataTypeOf :: Type -> DataType Source #

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

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

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

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

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

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

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

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

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

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

Show Type Source # |
Instance details Defined in Language.C.Syntax Methods showsPrec :: Int -> Type -> ShowS Source # show :: Type -> String Source # showList :: [Type] -> ShowS Source #
Eq Type Source # |
Instance details Defined in Language.C.Syntax Methods (==) :: Type -> Type -> Bool Source # (/=) :: Type -> Type -> Bool Source #
Ord Type Source # |
Instance details Defined in Language.C.Syntax Methods compare :: Type -> Type -> Ordering Source # (<) :: Type -> Type -> Bool Source # (<=) :: Type -> Type -> Bool Source # (>) :: Type -> Type -> Bool Source # (>=) :: Type -> Type -> Bool Source # max :: Type -> Type -> Type Source # min :: Type -> Type -> Type Source #
Pretty Type Source # |
Instance details Defined in Language.C.Pretty Methods ppr :: Type -> Doc Source # pprPrec :: Int -> Type -> Doc Source # pprList :: [Type] -> Doc Source #
Located Type Source # |
Instance details Defined in Language.C.Syntax Methods locOf :: Type -> Loc Source # locOfList :: [Type] -> Loc Source #
Relocatable Type Source # |
Instance details Defined in Language.C.Syntax Methods reloc :: Loc -> Type -> Type Source #

data Designator Source #

Constructors

IndexDesignator Exp !SrcLoc |
MemberDesignator Id !SrcLoc |

#### Instances

Instances details

Data Designator Source # |

Instance details

Defined in Language.C.Syntax

Methods

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

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

toConstr :: Designator -> Constr Source #

dataTypeOf :: Designator -> DataType Source #

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

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

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

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

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

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

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

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

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

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

Show Designator Source # |
Instance details Defined in Language.C.Syntax Methods showsPrec :: Int -> Designator -> ShowS Source # show :: Designator -> String Source # showList :: [Designator] -> ShowS Source #
Eq Designator Source # |
Instance details Defined in Language.C.Syntax Methods (==) :: Designator -> Designator -> Bool Source # (/=) :: Designator -> Designator -> Bool Source #
Ord Designator Source # |

Instance details

Defined in Language.C.Syntax

Methods

compare :: Designator -> Designator -> Ordering Source #

(<) :: Designator -> Designator -> Bool Source #

(<=) :: Designator -> Designator -> Bool Source #

(>) :: Designator -> Designator -> Bool Source #

(>=) :: Designator -> Designator -> Bool Source #

max :: Designator -> Designator -> Designator Source #

min :: Designator -> Designator -> Designator Source #

Pretty Designator Source # |
Instance details Defined in Language.C.Pretty Methods ppr :: Designator -> Doc Source # pprPrec :: Int -> Designator -> Doc Source # pprList :: [Designator] -> Doc Source #
Located Designator Source # |
Instance details Defined in Language.C.Syntax Methods locOf :: Designator -> Loc Source # locOfList :: [Designator] -> Loc Source #
Relocatable Designator Source # |
Instance details Defined in Language.C.Syntax Methods reloc :: Loc -> Designator -> Designator Source #

data Designation Source #

Constructors

Designation [Designator] !SrcLoc |

#### Instances

Instances details

Data Designation Source # |

Instance details

Defined in Language.C.Syntax

Methods

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

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

toConstr :: Designation -> Constr Source #

dataTypeOf :: Designation -> DataType Source #

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

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

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

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

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

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

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

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

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

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

Show Designation Source # |
Instance details Defined in Language.C.Syntax Methods showsPrec :: Int -> Designation -> ShowS Source # show :: Designation -> String Source # showList :: [Designation] -> ShowS Source #
Eq Designation Source # |
Instance details Defined in Language.C.Syntax Methods (==) :: Designation -> Designation -> Bool Source # (/=) :: Designation -> Designation -> Bool Source #
Ord Designation Source # |

Instance details

Defined in Language.C.Syntax

Methods

compare :: Designation -> Designation -> Ordering Source #

(<) :: Designation -> Designation -> Bool Source #

(<=) :: Designation -> Designation -> Bool Source #

(>) :: Designation -> Designation -> Bool Source #

(>=) :: Designation -> Designation -> Bool Source #

max :: Designation -> Designation -> Designation Source #

min :: Designation -> Designation -> Designation Source #

Pretty Designation Source # |
Instance details Defined in Language.C.Pretty Methods ppr :: Designation -> Doc Source # pprPrec :: Int -> Designation -> Doc Source # pprList :: [Designation] -> Doc Source #
Located Designation Source # |
Instance details Defined in Language.C.Syntax Methods locOf :: Designation -> Loc Source # locOfList :: [Designation] -> Loc Source #
Relocatable Designation Source # |
Instance details Defined in Language.C.Syntax Methods reloc :: Loc -> Designation -> Designation Source #

data Initializer Source #

Constructors

ExpInitializer Exp !SrcLoc |
CompoundInitializer [(Maybe Designation, Initializer)] !SrcLoc |
AntiInit String !SrcLoc |
AntiInits String !SrcLoc |

#### Instances

Instances details

Data Initializer Source # |

Instance details

Defined in Language.C.Syntax

Methods

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

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

toConstr :: Initializer -> Constr Source #

dataTypeOf :: Initializer -> DataType Source #

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

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

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

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

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

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

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

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

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

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

Show Initializer Source # |
Instance details Defined in Language.C.Syntax Methods showsPrec :: Int -> Initializer -> ShowS Source # show :: Initializer -> String Source # showList :: [Initializer] -> ShowS Source #
Eq Initializer Source # |
Instance details Defined in Language.C.Syntax Methods (==) :: Initializer -> Initializer -> Bool Source # (/=) :: Initializer -> Initializer -> Bool Source #
Ord Initializer Source # |

Instance details

Defined in Language.C.Syntax

Methods

compare :: Initializer -> Initializer -> Ordering Source #

(<) :: Initializer -> Initializer -> Bool Source #

(<=) :: Initializer -> Initializer -> Bool Source #

(>) :: Initializer -> Initializer -> Bool Source #

(>=) :: Initializer -> Initializer -> Bool Source #

max :: Initializer -> Initializer -> Initializer Source #

min :: Initializer -> Initializer -> Initializer Source #

Pretty Initializer Source # |
Instance details Defined in Language.C.Pretty Methods ppr :: Initializer -> Doc Source # pprPrec :: Int -> Initializer -> Doc Source # pprList :: [Initializer] -> Doc Source #
Located Initializer Source # |
Instance details Defined in Language.C.Syntax Methods locOf :: Initializer -> Loc Source # locOfList :: [Initializer] -> Loc Source #
Relocatable Initializer Source # |
Instance details Defined in Language.C.Syntax Methods reloc :: Loc -> Initializer -> Initializer Source #

type AsmLabel = StringLit Source #

data Init Source #

Constructors

Init Id Decl (Maybe AsmLabel) (Maybe Initializer) [Attr] !SrcLoc |

#### Instances

Instances details

Data Init Source # |

Instance details

Defined in Language.C.Syntax

Methods

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

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

toConstr :: Init -> Constr Source #

dataTypeOf :: Init -> DataType Source #

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

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

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

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

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

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

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

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

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

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

Show Init Source # |
Instance details Defined in Language.C.Syntax Methods showsPrec :: Int -> Init -> ShowS Source # show :: Init -> String Source # showList :: [Init] -> ShowS Source #
Eq Init Source # |
Instance details Defined in Language.C.Syntax Methods (==) :: Init -> Init -> Bool Source # (/=) :: Init -> Init -> Bool Source #
Ord Init Source # |
Instance details Defined in Language.C.Syntax Methods compare :: Init -> Init -> Ordering Source # (<) :: Init -> Init -> Bool Source # (<=) :: Init -> Init -> Bool Source # (>) :: Init -> Init -> Bool Source # (>=) :: Init -> Init -> Bool Source # max :: Init -> Init -> Init Source # min :: Init -> Init -> Init Source #
Pretty Init Source # |
Instance details Defined in Language.C.Pretty Methods ppr :: Init -> Doc Source # pprPrec :: Int -> Init -> Doc Source # pprList :: [Init] -> Doc Source #
Located Init Source # |
Instance details Defined in Language.C.Syntax Methods locOf :: Init -> Loc Source # locOfList :: [Init] -> Loc Source #
Relocatable Init Source # |
Instance details Defined in Language.C.Syntax Methods reloc :: Loc -> Init -> Init Source #

data Typedef Source #

Constructors

Typedef Id Decl [Attr] !SrcLoc |

#### Instances

Instances details

Data Typedef Source # |

Instance details

Defined in Language.C.Syntax

Methods

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

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

toConstr :: Typedef -> Constr Source #

dataTypeOf :: Typedef -> DataType Source #

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

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

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

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

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

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

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

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

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

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

Show Typedef Source # |
Instance details Defined in Language.C.Syntax Methods showsPrec :: Int -> Typedef -> ShowS Source # show :: Typedef -> String Source # showList :: [Typedef] -> ShowS Source #
Eq Typedef Source # |
Instance details Defined in Language.C.Syntax Methods (==) :: Typedef -> Typedef -> Bool Source # (/=) :: Typedef -> Typedef -> Bool Source #
Ord Typedef Source # |
Instance details Defined in Language.C.Syntax Methods compare :: Typedef -> Typedef -> Ordering Source # (<) :: Typedef -> Typedef -> Bool Source # (<=) :: Typedef -> Typedef -> Bool Source # (>) :: Typedef -> Typedef -> Bool Source # (>=) :: Typedef -> Typedef -> Bool Source # max :: Typedef -> Typedef -> Typedef Source # min :: Typedef -> Typedef -> Typedef Source #
Pretty Typedef Source # |
Instance details Defined in Language.C.Pretty Methods ppr :: Typedef -> Doc Source # pprPrec :: Int -> Typedef -> Doc Source # pprList :: [Typedef] -> Doc Source #
Located Typedef Source # |
Instance details Defined in Language.C.Syntax Methods locOf :: Typedef -> Loc Source # locOfList :: [Typedef] -> Loc Source #
Relocatable Typedef Source # |
Instance details Defined in Language.C.Syntax Methods reloc :: Loc -> Typedef -> Typedef Source #

data InitGroup Source #

Constructors

InitGroup DeclSpec [Attr] [Init] !SrcLoc |
TypedefGroup DeclSpec [Attr] [Typedef] !SrcLoc |
AntiDecl String !SrcLoc |
AntiDecls String !SrcLoc |

#### Instances

Instances details

Data InitGroup Source # |

Instance details

Defined in Language.C.Syntax

Methods

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

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

toConstr :: InitGroup -> Constr Source #

dataTypeOf :: InitGroup -> DataType Source #

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

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

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

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

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

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

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

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

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

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

Show InitGroup Source # |
Instance details Defined in Language.C.Syntax Methods showsPrec :: Int -> InitGroup -> ShowS Source # show :: InitGroup -> String Source # showList :: [InitGroup] -> ShowS Source #
Eq InitGroup Source # |
Instance details Defined in Language.C.Syntax Methods (==) :: InitGroup -> InitGroup -> Bool Source # (/=) :: InitGroup -> InitGroup -> Bool Source #
Ord InitGroup Source # |

Instance details

Defined in Language.C.Syntax

Methods

compare :: InitGroup -> InitGroup -> Ordering Source #

(<) :: InitGroup -> InitGroup -> Bool Source #

(<=) :: InitGroup -> InitGroup -> Bool Source #

(>) :: InitGroup -> InitGroup -> Bool Source #

(>=) :: InitGroup -> InitGroup -> Bool Source #

max :: InitGroup -> InitGroup -> InitGroup Source #

min :: InitGroup -> InitGroup -> InitGroup Source #

Pretty InitGroup Source # |
Instance details Defined in Language.C.Pretty Methods ppr :: InitGroup -> Doc Source # pprPrec :: Int -> InitGroup -> Doc Source # pprList :: [InitGroup] -> Doc Source #
Located InitGroup Source # |
Instance details Defined in Language.C.Syntax Methods locOf :: InitGroup -> Loc Source # locOfList :: [InitGroup] -> Loc Source #
Relocatable InitGroup Source # |
Instance details Defined in Language.C.Syntax Methods reloc :: Loc -> InitGroup -> InitGroup Source #

data Field Source #

Constructors

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

#### Instances

Instances details

Data Field Source # |

Instance details

Defined in Language.C.Syntax

Methods

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

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

toConstr :: Field -> Constr Source #

dataTypeOf :: Field -> DataType Source #

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

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

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

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

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

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

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

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

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

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

Show Field Source # |
Instance details Defined in Language.C.Syntax Methods showsPrec :: Int -> Field -> ShowS Source # show :: Field -> String Source # showList :: [Field] -> ShowS Source #
Eq Field Source # |
Instance details Defined in Language.C.Syntax Methods (==) :: Field -> Field -> Bool Source # (/=) :: Field -> Field -> Bool Source #
Ord Field Source # |
Instance details Defined in Language.C.Syntax Methods compare :: Field -> Field -> Ordering Source # (<) :: Field -> Field -> Bool Source # (<=) :: Field -> Field -> Bool Source # (>) :: Field -> Field -> Bool Source # (>=) :: Field -> Field -> Bool Source # max :: Field -> Field -> Field Source # min :: Field -> Field -> Field Source #
Pretty Field Source # |
Instance details Defined in Language.C.Pretty Methods ppr :: Field -> Doc Source # pprPrec :: Int -> Field -> Doc Source # pprList :: [Field] -> Doc Source #
Located Field Source # |
Instance details Defined in Language.C.Syntax Methods locOf :: Field -> Loc Source # locOfList :: [Field] -> Loc Source #
Relocatable Field Source # |
Instance details Defined in Language.C.Syntax Methods reloc :: Loc -> Field -> Field Source #

data FieldGroup Source #

Constructors

FieldGroup DeclSpec [Field] !SrcLoc |
AntiSdecl String !SrcLoc |
AntiSdecls String !SrcLoc |

#### Instances

Instances details

Data FieldGroup Source # |

Instance details

Defined in Language.C.Syntax

Methods

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

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

toConstr :: FieldGroup -> Constr Source #

dataTypeOf :: FieldGroup -> DataType Source #

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

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

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

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

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

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

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

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

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

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

Show FieldGroup Source # |
Instance details Defined in Language.C.Syntax Methods showsPrec :: Int -> FieldGroup -> ShowS Source # show :: FieldGroup -> String Source # showList :: [FieldGroup] -> ShowS Source #
Eq FieldGroup Source # |
Instance details Defined in Language.C.Syntax Methods (==) :: FieldGroup -> FieldGroup -> Bool Source # (/=) :: FieldGroup -> FieldGroup -> Bool Source #
Ord FieldGroup Source # |

Instance details

Defined in Language.C.Syntax

Methods

compare :: FieldGroup -> FieldGroup -> Ordering Source #

(<) :: FieldGroup -> FieldGroup -> Bool Source #

(<=) :: FieldGroup -> FieldGroup -> Bool Source #

(>) :: FieldGroup -> FieldGroup -> Bool Source #

(>=) :: FieldGroup -> FieldGroup -> Bool Source #

max :: FieldGroup -> FieldGroup -> FieldGroup Source #

min :: FieldGroup -> FieldGroup -> FieldGroup Source #

Pretty FieldGroup Source # |
Instance details Defined in Language.C.Pretty Methods ppr :: FieldGroup -> Doc Source # pprPrec :: Int -> FieldGroup -> Doc Source # pprList :: [FieldGroup] -> Doc Source #
Located FieldGroup Source # |
Instance details Defined in Language.C.Syntax Methods locOf :: FieldGroup -> Loc Source # locOfList :: [FieldGroup] -> Loc Source #
Relocatable FieldGroup Source # |
Instance details Defined in Language.C.Syntax Methods reloc :: Loc -> FieldGroup -> FieldGroup Source #

data CEnum Source #

Constructors

CEnum Id (Maybe Exp) !SrcLoc |
AntiEnum String !SrcLoc |
AntiEnums String !SrcLoc |

#### Instances

Instances details

Data CEnum Source # |

Instance details

Defined in Language.C.Syntax

Methods

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

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

toConstr :: CEnum -> Constr Source #

dataTypeOf :: CEnum -> DataType Source #

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

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

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

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

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

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

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

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

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

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

Show CEnum Source # |
Instance details Defined in Language.C.Syntax Methods showsPrec :: Int -> CEnum -> ShowS Source # show :: CEnum -> String Source # showList :: [CEnum] -> ShowS Source #
Eq CEnum Source # |
Instance details Defined in Language.C.Syntax Methods (==) :: CEnum -> CEnum -> Bool Source # (/=) :: CEnum -> CEnum -> Bool Source #
Ord CEnum Source # |
Instance details Defined in Language.C.Syntax Methods compare :: CEnum -> CEnum -> Ordering Source # (<) :: CEnum -> CEnum -> Bool Source # (<=) :: CEnum -> CEnum -> Bool Source # (>) :: CEnum -> CEnum -> Bool Source # (>=) :: CEnum -> CEnum -> Bool Source # max :: CEnum -> CEnum -> CEnum Source # min :: CEnum -> CEnum -> CEnum Source #
Pretty CEnum Source # |
Instance details Defined in Language.C.Pretty Methods ppr :: CEnum -> Doc Source # pprPrec :: Int -> CEnum -> Doc Source # pprList :: [CEnum] -> Doc Source #
Located CEnum Source # |
Instance details Defined in Language.C.Syntax Methods locOf :: CEnum -> Loc Source # locOfList :: [CEnum] -> Loc Source #
Relocatable CEnum Source # |
Instance details Defined in Language.C.Syntax Methods reloc :: Loc -> CEnum -> CEnum Source #

data Attr Source #

Constructors

Attr Id [Exp] !SrcLoc |
AntiAttr String !SrcLoc |
AntiAttrs String !SrcLoc |

#### Instances

Instances details

Data Attr Source # |

Instance details

Defined in Language.C.Syntax

Methods

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

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

toConstr :: Attr -> Constr Source #

dataTypeOf :: Attr -> DataType Source #

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

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

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

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

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

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

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

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

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

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

Show Attr Source # |
Instance details Defined in Language.C.Syntax Methods showsPrec :: Int -> Attr -> ShowS Source # show :: Attr -> String Source # showList :: [Attr] -> ShowS Source #
Eq Attr Source # |
Instance details Defined in Language.C.Syntax Methods (==) :: Attr -> Attr -> Bool Source # (/=) :: Attr -> Attr -> Bool Source #
Ord Attr Source # |
Instance details Defined in Language.C.Syntax Methods compare :: Attr -> Attr -> Ordering Source # (<) :: Attr -> Attr -> Bool Source # (<=) :: Attr -> Attr -> Bool Source # (>) :: Attr -> Attr -> Bool Source # (>=) :: Attr -> Attr -> Bool Source # max :: Attr -> Attr -> Attr Source # min :: Attr -> Attr -> Attr Source #
Pretty Attr Source # |
Instance details Defined in Language.C.Pretty Methods ppr :: Attr -> Doc Source # pprPrec :: Int -> Attr -> Doc Source # pprList :: [Attr] -> Doc Source #
Located Attr Source # |
Instance details Defined in Language.C.Syntax Methods locOf :: Attr -> Loc Source # locOfList :: [Attr] -> Loc Source #
Relocatable Attr Source # |
Instance details Defined in Language.C.Syntax Methods reloc :: Loc -> Attr -> Attr Source #

data Param Source #

Constructors

Param (Maybe Id) DeclSpec Decl !SrcLoc |
AntiParam String !SrcLoc |
AntiParams String !SrcLoc |

#### Instances

Instances details

Data Param Source # |

Instance details

Defined in Language.C.Syntax

Methods

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

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

toConstr :: Param -> Constr Source #

dataTypeOf :: Param -> DataType Source #

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

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

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

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

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

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

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

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

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

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

Show Param Source # |
Instance details Defined in Language.C.Syntax Methods showsPrec :: Int -> Param -> ShowS Source # show :: Param -> String Source # showList :: [Param] -> ShowS Source #
Eq Param Source # |
Instance details Defined in Language.C.Syntax Methods (==) :: Param -> Param -> Bool Source # (/=) :: Param -> Param -> Bool Source #
Ord Param Source # |
Instance details Defined in Language.C.Syntax Methods compare :: Param -> Param -> Ordering Source # (<) :: Param -> Param -> Bool Source # (<=) :: Param -> Param -> Bool Source # (>) :: Param -> Param -> Bool Source # (>=) :: Param -> Param -> Bool Source # max :: Param -> Param -> Param Source # min :: Param -> Param -> Param Source #
Pretty Param Source # |
Instance details Defined in Language.C.Pretty Methods ppr :: Param -> Doc Source # pprPrec :: Int -> Param -> Doc Source # pprList :: [Param] -> Doc Source #
Located Param Source # |
Instance details Defined in Language.C.Syntax Methods locOf :: Param -> Loc Source # locOfList :: [Param] -> Loc Source #
Relocatable Param Source # |
Instance details Defined in Language.C.Syntax Methods reloc :: Loc -> Param -> Param Source #

data Params Source #

Constructors

Params [Param] Bool !SrcLoc |

#### Instances

Instances details

Data Params Source # |

Instance details

Defined in Language.C.Syntax

Methods

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

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

toConstr :: Params -> Constr Source #

dataTypeOf :: Params -> DataType Source #

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

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

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

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

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

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

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

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

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

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

Show Params Source # |
Instance details Defined in Language.C.Syntax Methods showsPrec :: Int -> Params -> ShowS Source # show :: Params -> String Source # showList :: [Params] -> ShowS Source #
Eq Params Source # |
Instance details Defined in Language.C.Syntax Methods (==) :: Params -> Params -> Bool Source # (/=) :: Params -> Params -> Bool Source #
Ord Params Source # |
Instance details Defined in Language.C.Syntax Methods compare :: Params -> Params -> Ordering Source # (<) :: Params -> Params -> Bool Source # (<=) :: Params -> Params -> Bool Source # (>) :: Params -> Params -> Bool Source # (>=) :: Params -> Params -> Bool Source # max :: Params -> Params -> Params Source # min :: Params -> Params -> Params Source #
Pretty Params Source # |
Instance details Defined in Language.C.Pretty Methods ppr :: Params -> Doc Source # pprPrec :: Int -> Params -> Doc Source # pprList :: [Params] -> Doc Source #
Located Params Source # |
Instance details Defined in Language.C.Syntax Methods locOf :: Params -> Loc Source # locOfList :: [Params] -> Loc Source #
Relocatable Params Source # |
Instance details Defined in Language.C.Syntax Methods reloc :: Loc -> Params -> Params Source #

data Func Source #

Constructors

Func DeclSpec Id Decl Params [BlockItem] !SrcLoc |
OldFunc DeclSpec Id Decl [Id] (Maybe [InitGroup]) [BlockItem] !SrcLoc |

#### Instances

Instances details

Data Func Source # |

Instance details

Defined in Language.C.Syntax

Methods

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

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

toConstr :: Func -> Constr Source #

dataTypeOf :: Func -> DataType Source #

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

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

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

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

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

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

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

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

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

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

Show Func Source # |
Instance details Defined in Language.C.Syntax Methods showsPrec :: Int -> Func -> ShowS Source # show :: Func -> String Source # showList :: [Func] -> ShowS Source #
Eq Func Source # |
Instance details Defined in Language.C.Syntax Methods (==) :: Func -> Func -> Bool Source # (/=) :: Func -> Func -> Bool Source #
Ord Func Source # |
Instance details Defined in Language.C.Syntax Methods compare :: Func -> Func -> Ordering Source # (<) :: Func -> Func -> Bool Source # (<=) :: Func -> Func -> Bool Source # (>) :: Func -> Func -> Bool Source # (>=) :: Func -> Func -> Bool Source # max :: Func -> Func -> Func Source # min :: Func -> Func -> Func Source #
Pretty Func Source # |
Instance details Defined in Language.C.Pretty Methods ppr :: Func -> Doc Source # pprPrec :: Int -> Func -> Doc Source # pprList :: [Func] -> Doc Source #
Located Func Source # |
Instance details Defined in Language.C.Syntax Methods locOf :: Func -> Loc Source # locOfList :: [Func] -> Loc Source #
Relocatable Func Source # |
Instance details Defined in Language.C.Syntax Methods reloc :: Loc -> Func -> Func Source #

data Definition Source #

Constructors

FuncDef Func !SrcLoc |
DecDef InitGroup !SrcLoc |
EscDef String !SrcLoc |
AntiFunc String !SrcLoc |
AntiEsc String !SrcLoc |
AntiEdecl String !SrcLoc |
AntiEdecls String !SrcLoc |
ObjCClassDec [Id] !SrcLoc |
ObjCClassIface Id (Maybe Id) [Id] [ObjCIvarDecl] [ObjCIfaceDecl] [Attr] !SrcLoc |
ObjCCatIface Id (Maybe Id) [Id] [ObjCIvarDecl] [ObjCIfaceDecl] !SrcLoc |
ObjCProtDec [Id] !SrcLoc |
ObjCProtDef Id [Id] [ObjCIfaceDecl] !SrcLoc |
ObjCClassImpl Id (Maybe Id) [ObjCIvarDecl] [Definition] !SrcLoc |
ObjCCatImpl Id Id [Definition] !SrcLoc |
ObjCSynDef [(Id, Maybe Id)] !SrcLoc |
ObjCDynDef [Id] !SrcLoc |
ObjCMethDef ObjCMethodProto [BlockItem] !SrcLoc |
ObjCCompAlias Id Id !SrcLoc |
AntiObjCMeth String !SrcLoc |
AntiObjCMeths String !SrcLoc |

#### Instances

Instances details

Data Definition Source # |

Instance details

Defined in Language.C.Syntax

Methods

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

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

toConstr :: Definition -> Constr Source #

dataTypeOf :: Definition -> DataType Source #

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

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

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

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

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

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

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

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

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

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

Show Definition Source # |
Instance details Defined in Language.C.Syntax Methods showsPrec :: Int -> Definition -> ShowS Source # show :: Definition -> String Source # showList :: [Definition] -> ShowS Source #
Eq Definition Source # |
Instance details Defined in Language.C.Syntax Methods (==) :: Definition -> Definition -> Bool Source # (/=) :: Definition -> Definition -> Bool Source #
Ord Definition Source # |

Instance details

Defined in Language.C.Syntax

Methods

compare :: Definition -> Definition -> Ordering Source #

(<) :: Definition -> Definition -> Bool Source #

(<=) :: Definition -> Definition -> Bool Source #

(>) :: Definition -> Definition -> Bool Source #

(>=) :: Definition -> Definition -> Bool Source #

max :: Definition -> Definition -> Definition Source #

min :: Definition -> Definition -> Definition Source #

Pretty Definition Source # |
Instance details Defined in Language.C.Pretty Methods ppr :: Definition -> Doc Source # pprPrec :: Int -> Definition -> Doc Source # pprList :: [Definition] -> Doc Source #
Located Definition Source # |
Instance details Defined in Language.C.Syntax Methods locOf :: Definition -> Loc Source # locOfList :: [Definition] -> Loc Source #
Relocatable Definition Source # |
Instance details Defined in Language.C.Syntax Methods reloc :: Loc -> Definition -> Definition Source #

data Stm Source #

Constructors

Label Id [Attr] Stm !SrcLoc |
Case Exp Stm !SrcLoc |
CaseRange Exp Exp Stm !SrcLoc |
Default Stm !SrcLoc |
Exp (Maybe Exp) !SrcLoc |
Block [BlockItem] !SrcLoc |
If Exp Stm (Maybe Stm) !SrcLoc |
Switch Exp Stm !SrcLoc |
While Exp Stm !SrcLoc |
DoWhile Stm Exp !SrcLoc |
For (Either InitGroup (Maybe Exp)) (Maybe Exp) (Maybe Exp) Stm !SrcLoc |
Goto Id !SrcLoc |
Continue !SrcLoc |
Break !SrcLoc |
Return (Maybe Exp) !SrcLoc |
Pragma String !SrcLoc |
Comment String Stm !SrcLoc |
EscStm String !SrcLoc |
AntiEscStm String !SrcLoc |
AntiPragma String !SrcLoc |
AntiComment String Stm !SrcLoc |
AntiStm String !SrcLoc |
AntiStms String !SrcLoc |
Asm Bool [Attr] AsmTemplate [AsmOut] [AsmIn] [AsmClobber] !SrcLoc |
AsmGoto Bool [Attr] AsmTemplate [AsmIn] [AsmClobber] [Id] !SrcLoc |
ObjCTry [BlockItem] [ObjCCatch] (Maybe [BlockItem]) !SrcLoc | Invariant: There is either at least one `ObjCCatch` or the finally block is present.
ObjCThrow (Maybe Exp) !SrcLoc |
ObjCSynchronized Exp [BlockItem] !SrcLoc |
ObjCAutoreleasepool [BlockItem] !SrcLoc |

#### Instances

Instances details

Data Stm Source # |

Instance details

Defined in Language.C.Syntax

Methods

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

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

toConstr :: Stm -> Constr Source #

dataTypeOf :: Stm -> DataType Source #

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

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

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

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

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

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

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

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

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

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

Show Stm Source # |
Instance details Defined in Language.C.Syntax Methods showsPrec :: Int -> Stm -> ShowS Source # show :: Stm -> String Source # showList :: [Stm] -> ShowS Source #
Eq Stm Source # |
Instance details Defined in Language.C.Syntax Methods (==) :: Stm -> Stm -> Bool Source # (/=) :: Stm -> Stm -> Bool Source #
Ord Stm Source # |
Instance details Defined in Language.C.Syntax Methods compare :: Stm -> Stm -> Ordering Source # (<) :: Stm -> Stm -> Bool Source # (<=) :: Stm -> Stm -> Bool Source # (>) :: Stm -> Stm -> Bool Source # (>=) :: Stm -> Stm -> Bool Source # max :: Stm -> Stm -> Stm Source # min :: Stm -> Stm -> Stm Source #
Pretty Stm Source # |
Instance details Defined in Language.C.Pretty Methods ppr :: Stm -> Doc Source # pprPrec :: Int -> Stm -> Doc Source # pprList :: [Stm] -> Doc Source #
Located Stm Source # |
Instance details Defined in Language.C.Syntax Methods locOf :: Stm -> Loc Source # locOfList :: [Stm] -> Loc Source #
Relocatable Stm Source # |
Instance details Defined in Language.C.Syntax Methods reloc :: Loc -> Stm -> Stm Source #

data BlockItem Source #

Constructors

BlockDecl InitGroup |
BlockStm Stm |
AntiBlockItem String !SrcLoc |
AntiBlockItems String !SrcLoc |

#### Instances

Instances details

Data BlockItem Source # |

Instance details

Defined in Language.C.Syntax

Methods

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

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

toConstr :: BlockItem -> Constr Source #

dataTypeOf :: BlockItem -> DataType Source #

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

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

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

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

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

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

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

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

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

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

Show BlockItem Source # |
Instance details Defined in Language.C.Syntax Methods showsPrec :: Int -> BlockItem -> ShowS Source # show :: BlockItem -> String Source # showList :: [BlockItem] -> ShowS Source #
Eq BlockItem Source # |
Instance details Defined in Language.C.Syntax Methods (==) :: BlockItem -> BlockItem -> Bool Source # (/=) :: BlockItem -> BlockItem -> Bool Source #
Ord BlockItem Source # |

Instance details

Defined in Language.C.Syntax

Methods

compare :: BlockItem -> BlockItem -> Ordering Source #

(<) :: BlockItem -> BlockItem -> Bool Source #

(<=) :: BlockItem -> BlockItem -> Bool Source #

(>) :: BlockItem -> BlockItem -> Bool Source #

(>=) :: BlockItem -> BlockItem -> Bool Source #

max :: BlockItem -> BlockItem -> BlockItem Source #

min :: BlockItem -> BlockItem -> BlockItem Source #

Pretty BlockItem Source # |
Instance details Defined in Language.C.Pretty Methods ppr :: BlockItem -> Doc Source # pprPrec :: Int -> BlockItem -> Doc Source # pprList :: [BlockItem] -> Doc Source #
Located BlockItem Source # |
Instance details Defined in Language.C.Syntax Methods locOf :: BlockItem -> Loc Source # locOfList :: [BlockItem] -> Loc Source #
Relocatable BlockItem Source # |
Instance details Defined in Language.C.Syntax Methods reloc :: Loc -> BlockItem -> BlockItem Source #

data Signed Source #

Constructors

Signed |
Unsigned |

#### Instances

Instances details

Data Signed Source # |

Instance details

Defined in Language.C.Syntax

Methods

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

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

toConstr :: Signed -> Constr Source #

dataTypeOf :: Signed -> DataType Source #

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

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

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

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

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

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

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

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

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

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

Show Signed Source # |
Instance details Defined in Language.C.Syntax Methods showsPrec :: Int -> Signed -> ShowS Source # show :: Signed -> String Source # showList :: [Signed] -> ShowS Source #
Eq Signed Source # |
Instance details Defined in Language.C.Syntax Methods (==) :: Signed -> Signed -> Bool Source # (/=) :: Signed -> Signed -> Bool Source #
Ord Signed Source # |
Instance details Defined in Language.C.Syntax Methods compare :: Signed -> Signed -> Ordering Source # (<) :: Signed -> Signed -> Bool Source # (<=) :: Signed -> Signed -> Bool Source # (>) :: Signed -> Signed -> Bool Source # (>=) :: Signed -> Signed -> Bool Source # max :: Signed -> Signed -> Signed Source # min :: Signed -> Signed -> Signed Source #

data Const Source #

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

Constructors

IntConst String Signed Integer !SrcLoc |
LongIntConst String Signed Integer !SrcLoc |
LongLongIntConst String Signed Integer !SrcLoc |
FloatConst String Float !SrcLoc |
DoubleConst String Double !SrcLoc |
LongDoubleConst String Double !SrcLoc |
CharConst String Char !SrcLoc |
StringConst [String] String !SrcLoc |
AntiConst String !SrcLoc |
AntiInt String !SrcLoc |
AntiUInt String !SrcLoc |
AntiLInt String !SrcLoc |
AntiULInt String !SrcLoc |
AntiLLInt String !SrcLoc |
AntiULLInt String !SrcLoc |
AntiFloat String !SrcLoc |
AntiDouble String !SrcLoc |
AntiLongDouble String !SrcLoc |
AntiChar String !SrcLoc |
AntiString String !SrcLoc |

#### Instances

Instances details

Data Const Source # |

Instance details

Defined in Language.C.Syntax

Methods

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

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

toConstr :: Const -> Constr Source #

dataTypeOf :: Const -> DataType Source #

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

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

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

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

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

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

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

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

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

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

Show Const Source # |
Instance details Defined in Language.C.Syntax Methods showsPrec :: Int -> Const -> ShowS Source # show :: Const -> String Source # showList :: [Const] -> ShowS Source #
Eq Const Source # |
Instance details Defined in Language.C.Syntax Methods (==) :: Const -> Const -> Bool Source # (/=) :: Const -> Const -> Bool Source #
Ord Const Source # |
Instance details Defined in Language.C.Syntax Methods compare :: Const -> Const -> Ordering Source # (<) :: Const -> Const -> Bool Source # (<=) :: Const -> Const -> Bool Source # (>) :: Const -> Const -> Bool Source # (>=) :: Const -> Const -> Bool Source # max :: Const -> Const -> Const Source # min :: Const -> Const -> Const Source #
ToConst Const Source # |
Instance details Defined in Language.C.Quote.Base Methods toConst :: Const -> SrcLoc -> Const Source #
Pretty Const Source # |
Instance details Defined in Language.C.Pretty Methods ppr :: Const -> Doc Source # pprPrec :: Int -> Const -> Doc Source # pprList :: [Const] -> Doc Source #
Located Const Source # |
Instance details Defined in Language.C.Syntax Methods locOf :: Const -> Loc Source # locOfList :: [Const] -> Loc Source #
Relocatable Const Source # |
Instance details Defined in Language.C.Syntax Methods reloc :: Loc -> Const -> Const Source #

data Exp Source #

Constructors

Var Id !SrcLoc |
Const Const !SrcLoc |
BinOp BinOp Exp Exp !SrcLoc |
Assign Exp AssignOp Exp !SrcLoc |
PreInc Exp !SrcLoc |
PostInc Exp !SrcLoc |
PreDec Exp !SrcLoc |
PostDec Exp !SrcLoc |
UnOp UnOp Exp !SrcLoc |
SizeofExp Exp !SrcLoc |
SizeofType Type !SrcLoc |
Cast Type Exp !SrcLoc |
Cond Exp Exp Exp !SrcLoc |
Member Exp Id !SrcLoc |
PtrMember Exp Id !SrcLoc |
Index Exp Exp !SrcLoc |
FnCall Exp [Exp] !SrcLoc |
CudaCall Exp ExeConfig [Exp] !SrcLoc |
Seq Exp Exp !SrcLoc |
CompoundLit Type [(Maybe Designation, Initializer)] !SrcLoc |
StmExpr [BlockItem] !SrcLoc |
EscExp String !SrcLoc |
AntiEscExp String !SrcLoc |
AntiExp String !SrcLoc |
AntiArgs String !SrcLoc |
BuiltinVaArg Exp Type !SrcLoc |
BlockLit BlockType [Attr] [BlockItem] !SrcLoc |
ObjCMsg ObjCRecv [ObjCArg] [Exp] !SrcLoc | Invariant: First argument must at least have either a selector or an expression; all other arguments must have an expression.
ObjCLitConst (Maybe UnOp) Const !SrcLoc |
ObjCLitString [Const] !SrcLoc |
ObjCLitBool Bool !SrcLoc |
ObjCLitArray [Exp] !SrcLoc |
ObjCLitDict [ObjCDictElem] !SrcLoc |
ObjCLitBoxed Exp !SrcLoc |
ObjCEncode Type !SrcLoc |
ObjCProtocol Id !SrcLoc |
ObjCSelector String !SrcLoc |
Lambda LambdaIntroducer (Maybe LambdaDeclarator) [BlockItem] !SrcLoc |

#### Instances

Instances details

Data Exp Source # |

Instance details

Defined in Language.C.Syntax

Methods

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

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

toConstr :: Exp -> Constr Source #

dataTypeOf :: Exp -> DataType Source #

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

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

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

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

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

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

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

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

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

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

Enum Exp Source # |
Instance details Defined in Language.C.Smart Methods succ :: Exp -> Exp Source # pred :: Exp -> Exp Source # toEnum :: Int -> Exp Source # fromEnum :: Exp -> Int Source # enumFrom :: Exp -> [Exp] Source # enumFromThen :: Exp -> Exp -> [Exp] Source # enumFromTo :: Exp -> Exp -> [Exp] Source # enumFromThenTo :: Exp -> Exp -> Exp -> [Exp] Source #
Floating Exp Source # |

Instance details

Defined in Language.C.Smart

Methods

pi :: Exp Source #

exp :: Exp -> Exp Source #

log :: Exp -> Exp Source #

sqrt :: Exp -> Exp Source #

(**) :: Exp -> Exp -> Exp Source #

logBase :: Exp -> Exp -> Exp Source #

sin :: Exp -> Exp Source #

cos :: Exp -> Exp Source #

tan :: Exp -> Exp Source #

asin :: Exp -> Exp Source #

acos :: Exp -> Exp Source #

atan :: Exp -> Exp Source #

sinh :: Exp -> Exp Source #

cosh :: Exp -> Exp Source #

tanh :: Exp -> Exp Source #

asinh :: Exp -> Exp Source #

acosh :: Exp -> Exp Source #

atanh :: Exp -> Exp Source #

log1p :: Exp -> Exp Source #

expm1 :: Exp -> Exp Source #

log1pexp :: Exp -> Exp Source #

log1mexp :: Exp -> Exp Source #

Num Exp Source # |
Instance details Defined in Language.C.Smart Methods (+) :: Exp -> Exp -> Exp Source # (-) :: Exp -> Exp -> Exp Source # (*) :: Exp -> Exp -> Exp Source # negate :: Exp -> Exp Source # abs :: Exp -> Exp Source # signum :: Exp -> Exp Source # fromInteger :: Integer -> Exp Source #
Fractional Exp Source # |
Instance details Defined in Language.C.Smart Methods (/) :: Exp -> Exp -> Exp Source # recip :: Exp -> Exp Source # fromRational :: Rational -> Exp Source #
Integral Exp Source # |
Instance details Defined in Language.C.Smart Methods quot :: Exp -> Exp -> Exp Source # rem :: Exp -> Exp -> Exp Source # div :: Exp -> Exp -> Exp Source # mod :: Exp -> Exp -> Exp Source # quotRem :: Exp -> Exp -> (Exp, Exp) Source # divMod :: Exp -> Exp -> (Exp, Exp) Source # toInteger :: Exp -> Integer Source #
Real Exp Source # |
Instance details Defined in Language.C.Smart Methods toRational :: Exp -> Rational Source #
Show Exp Source # |
Instance details Defined in Language.C.Syntax Methods showsPrec :: Int -> Exp -> ShowS Source # show :: Exp -> String Source # showList :: [Exp] -> ShowS Source #
Eq Exp Source # |
Instance details Defined in Language.C.Syntax Methods (==) :: Exp -> Exp -> Bool Source # (/=) :: Exp -> Exp -> Bool Source #
Ord Exp Source # |
Instance details Defined in Language.C.Syntax Methods compare :: Exp -> Exp -> Ordering Source # (<) :: Exp -> Exp -> Bool Source # (<=) :: Exp -> Exp -> Bool Source # (>) :: Exp -> Exp -> Bool Source # (>=) :: Exp -> Exp -> Bool Source # max :: Exp -> Exp -> Exp Source # min :: Exp -> Exp -> Exp Source #
ToExp Exp Source # |
Instance details Defined in Language.C.Quote.Base Methods toExp :: Exp -> SrcLoc -> Exp Source #
Pretty Exp Source # |
Instance details Defined in Language.C.Pretty Methods ppr :: Exp -> Doc Source # pprPrec :: Int -> Exp -> Doc Source # pprList :: [Exp] -> Doc Source #
Located Exp Source # |
Instance details Defined in Language.C.Syntax Methods locOf :: Exp -> Loc Source # locOfList :: [Exp] -> Loc Source #
Relocatable Exp Source # |
Instance details Defined in Language.C.Syntax Methods reloc :: Loc -> Exp -> Exp Source #

data BinOp Source #

Constructors

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

#### Instances

Instances details

Data BinOp Source # |

Instance details

Defined in Language.C.Syntax

Methods

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

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

toConstr :: BinOp -> Constr Source #

dataTypeOf :: BinOp -> DataType Source #

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

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

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

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

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

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

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

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

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

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

Show BinOp Source # |
Instance details Defined in Language.C.Syntax Methods showsPrec :: Int -> BinOp -> ShowS Source # show :: BinOp -> String Source # showList :: [BinOp] -> ShowS Source #
Eq BinOp Source # |
Instance details Defined in Language.C.Syntax Methods (==) :: BinOp -> BinOp -> Bool Source # (/=) :: BinOp -> BinOp -> Bool Source #
Ord BinOp Source # |
Instance details Defined in Language.C.Syntax Methods compare :: BinOp -> BinOp -> Ordering Source # (<) :: BinOp -> BinOp -> Bool Source # (<=) :: BinOp -> BinOp -> Bool Source # (>) :: BinOp -> BinOp -> Bool Source # (>=) :: BinOp -> BinOp -> Bool Source # max :: BinOp -> BinOp -> BinOp Source # min :: BinOp -> BinOp -> BinOp Source #
CFixity BinOp Source # |
Instance details Defined in Language.C.Pretty Methods fixity :: BinOp -> Fixity Source # parensOp :: Int -> BinOp -> Doc -> Doc Source #
Pretty BinOp Source # |
Instance details Defined in Language.C.Pretty Methods ppr :: BinOp -> Doc Source # pprPrec :: Int -> BinOp -> Doc Source # pprList :: [BinOp] -> Doc Source #

data AssignOp Source #

Constructors

JustAssign |
AddAssign |
SubAssign |
MulAssign |
DivAssign |
ModAssign |
LshAssign |
RshAssign |
AndAssign |
XorAssign |
OrAssign |

#### Instances

Instances details

Data AssignOp Source # |

Instance details

Defined in Language.C.Syntax

Methods

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

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

toConstr :: AssignOp -> Constr Source #

dataTypeOf :: AssignOp -> DataType Source #

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

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

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

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

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

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

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

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

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

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

Show AssignOp Source # |
Instance details Defined in Language.C.Syntax Methods showsPrec :: Int -> AssignOp -> ShowS Source # show :: AssignOp -> String Source # showList :: [AssignOp] -> ShowS Source #
Eq AssignOp Source # |
Instance details Defined in Language.C.Syntax Methods (==) :: AssignOp -> AssignOp -> Bool Source # (/=) :: AssignOp -> AssignOp -> Bool Source #
Ord AssignOp Source # |
Instance details Defined in Language.C.Syntax Methods compare :: AssignOp -> AssignOp -> Ordering Source # (<) :: AssignOp -> AssignOp -> Bool Source # (<=) :: AssignOp -> AssignOp -> Bool Source # (>) :: AssignOp -> AssignOp -> Bool Source # (>=) :: AssignOp -> AssignOp -> Bool Source # max :: AssignOp -> AssignOp -> AssignOp Source # min :: AssignOp -> AssignOp -> AssignOp Source #
CFixity AssignOp Source # |
Instance details Defined in Language.C.Pretty Methods fixity :: AssignOp -> Fixity Source # parensOp :: Int -> AssignOp -> Doc -> Doc Source #
Pretty AssignOp Source # |
Instance details Defined in Language.C.Pretty Methods ppr :: AssignOp -> Doc Source # pprPrec :: Int -> AssignOp -> Doc Source # pprList :: [AssignOp] -> Doc Source #

data UnOp Source #

Constructors

AddrOf |
Deref |
Positive |
Negate |
Not |
Lnot |

#### Instances

Instances details

Data UnOp Source # |

Instance details

Defined in Language.C.Syntax

Methods

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

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

toConstr :: UnOp -> Constr Source #

dataTypeOf :: UnOp -> DataType Source #

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

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

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

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

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

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

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

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

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

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

Show UnOp Source # |
Instance details Defined in Language.C.Syntax Methods showsPrec :: Int -> UnOp -> ShowS Source # show :: UnOp -> String Source # showList :: [UnOp] -> ShowS Source #
Eq UnOp Source # |
Instance details Defined in Language.C.Syntax Methods (==) :: UnOp -> UnOp -> Bool Source # (/=) :: UnOp -> UnOp -> Bool Source #
Ord UnOp Source # |
Instance details Defined in Language.C.Syntax Methods compare :: UnOp -> UnOp -> Ordering Source # (<) :: UnOp -> UnOp -> Bool Source # (<=) :: UnOp -> UnOp -> Bool Source # (>) :: UnOp -> UnOp -> Bool Source # (>=) :: UnOp -> UnOp -> Bool Source # max :: UnOp -> UnOp -> UnOp Source # min :: UnOp -> UnOp -> UnOp Source #
CFixity UnOp Source # |
Instance details Defined in Language.C.Pretty Methods fixity :: UnOp -> Fixity Source # parensOp :: Int -> UnOp -> Doc -> Doc Source #
Pretty UnOp Source # |
Instance details Defined in Language.C.Pretty Methods ppr :: UnOp -> Doc Source # pprPrec :: Int -> UnOp -> Doc Source # pprList :: [UnOp] -> Doc Source #

type AsmTemplate = StringLit Source #

data AsmOut Source #

Constructors

AsmOut (Maybe Id) String Id |

#### Instances

Instances details

Data AsmOut Source # |

Instance details

Defined in Language.C.Syntax

Methods

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

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

toConstr :: AsmOut -> Constr Source #

dataTypeOf :: AsmOut -> DataType Source #

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

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

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

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

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

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

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

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

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

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

Show AsmOut Source # |
Instance details Defined in Language.C.Syntax Methods showsPrec :: Int -> AsmOut -> ShowS Source # show :: AsmOut -> String Source # showList :: [AsmOut] -> ShowS Source #
Eq AsmOut Source # |
Instance details Defined in Language.C.Syntax Methods (==) :: AsmOut -> AsmOut -> Bool Source # (/=) :: AsmOut -> AsmOut -> Bool Source #
Ord AsmOut Source # |
Instance details Defined in Language.C.Syntax Methods compare :: AsmOut -> AsmOut -> Ordering Source # (<) :: AsmOut -> AsmOut -> Bool Source # (<=) :: AsmOut -> AsmOut -> Bool Source # (>) :: AsmOut -> AsmOut -> Bool Source # (>=) :: AsmOut -> AsmOut -> Bool Source # max :: AsmOut -> AsmOut -> AsmOut Source # min :: AsmOut -> AsmOut -> AsmOut Source #
Pretty AsmOut Source # |
Instance details Defined in Language.C.Pretty Methods ppr :: AsmOut -> Doc Source # pprPrec :: Int -> AsmOut -> Doc Source # pprList :: [AsmOut] -> Doc Source #

data AsmIn Source #

Constructors

AsmIn (Maybe Id) String Exp |

#### Instances

Instances details

Data AsmIn Source # |

Instance details

Defined in Language.C.Syntax

Methods

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

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

toConstr :: AsmIn -> Constr Source #

dataTypeOf :: AsmIn -> DataType Source #

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

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

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

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

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

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

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

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

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

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

Show AsmIn Source # |
Instance details Defined in Language.C.Syntax Methods showsPrec :: Int -> AsmIn -> ShowS Source # show :: AsmIn -> String Source # showList :: [AsmIn] -> ShowS Source #
Eq AsmIn Source # |
Instance details Defined in Language.C.Syntax Methods (==) :: AsmIn -> AsmIn -> Bool Source # (/=) :: AsmIn -> AsmIn -> Bool Source #
Ord AsmIn Source # |
Instance details Defined in Language.C.Syntax Methods compare :: AsmIn -> AsmIn -> Ordering Source # (<) :: AsmIn -> AsmIn -> Bool Source # (<=) :: AsmIn -> AsmIn -> Bool Source # (>) :: AsmIn -> AsmIn -> Bool Source # (>=) :: AsmIn -> AsmIn -> Bool Source # max :: AsmIn -> AsmIn -> AsmIn Source # min :: AsmIn -> AsmIn -> AsmIn Source #
Pretty AsmIn Source # |
Instance details Defined in Language.C.Pretty Methods ppr :: AsmIn -> Doc Source # pprPrec :: Int -> AsmIn -> Doc Source # pprList :: [AsmIn] -> Doc Source #

type AsmClobber = String Source #

data BlockType Source #

Constructors

BlockVoid !SrcLoc |
BlockParam [Param] !SrcLoc |
BlockType Type !SrcLoc |

#### Instances

Instances details

Data BlockType Source # |

Instance details

Defined in Language.C.Syntax

Methods

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

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

toConstr :: BlockType -> Constr Source #

dataTypeOf :: BlockType -> DataType Source #

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

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

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

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

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

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

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

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

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

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

Show BlockType Source # |
Instance details Defined in Language.C.Syntax Methods showsPrec :: Int -> BlockType -> ShowS Source # show :: BlockType -> String Source # showList :: [BlockType] -> ShowS Source #
Eq BlockType Source # |
Instance details Defined in Language.C.Syntax Methods (==) :: BlockType -> BlockType -> Bool Source # (/=) :: BlockType -> BlockType -> Bool Source #
Ord BlockType Source # |

Instance details

Defined in Language.C.Syntax

Methods

compare :: BlockType -> BlockType -> Ordering Source #

(<) :: BlockType -> BlockType -> Bool Source #

(<=) :: BlockType -> BlockType -> Bool Source #

(>) :: BlockType -> BlockType -> Bool Source #

(>=) :: BlockType -> BlockType -> Bool Source #

max :: BlockType -> BlockType -> BlockType Source #

min :: BlockType -> BlockType -> BlockType Source #

Pretty BlockType Source # |
Instance details Defined in Language.C.Pretty Methods ppr :: BlockType -> Doc Source # pprPrec :: Int -> BlockType -> Doc Source # pprList :: [BlockType] -> Doc Source #
Located BlockType Source # |
Instance details Defined in Language.C.Syntax Methods locOf :: BlockType -> Loc Source # locOfList :: [BlockType] -> Loc Source #
Relocatable BlockType Source # |
Instance details Defined in Language.C.Syntax Methods reloc :: Loc -> BlockType -> BlockType Source #

data ObjCIvarDecl Source #

Constructors

ObjCIvarVisi ObjCVisibilitySpec !SrcLoc |
ObjCIvarDecl FieldGroup !SrcLoc |

#### Instances

Instances details

Data ObjCIvarDecl Source # |

Instance details

Defined in Language.C.Syntax

Methods

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

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

toConstr :: ObjCIvarDecl -> Constr Source #

dataTypeOf :: ObjCIvarDecl -> DataType Source #

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

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

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

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

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

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

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

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

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

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

Show ObjCIvarDecl Source # |
Instance details Defined in Language.C.Syntax Methods showsPrec :: Int -> ObjCIvarDecl -> ShowS Source # show :: ObjCIvarDecl -> String Source # showList :: [ObjCIvarDecl] -> ShowS Source #
Eq ObjCIvarDecl Source # |
Instance details Defined in Language.C.Syntax Methods (==) :: ObjCIvarDecl -> ObjCIvarDecl -> Bool Source # (/=) :: ObjCIvarDecl -> ObjCIvarDecl -> Bool Source #
Ord ObjCIvarDecl Source # |

Instance details

Defined in Language.C.Syntax

Methods

compare :: ObjCIvarDecl -> ObjCIvarDecl -> Ordering Source #

(<) :: ObjCIvarDecl -> ObjCIvarDecl -> Bool Source #

(<=) :: ObjCIvarDecl -> ObjCIvarDecl -> Bool Source #

(>) :: ObjCIvarDecl -> ObjCIvarDecl -> Bool Source #

(>=) :: ObjCIvarDecl -> ObjCIvarDecl -> Bool Source #

max :: ObjCIvarDecl -> ObjCIvarDecl -> ObjCIvarDecl Source #

min :: ObjCIvarDecl -> ObjCIvarDecl -> ObjCIvarDecl Source #

Pretty ObjCIvarDecl Source # |
Instance details Defined in Language.C.Pretty Methods ppr :: ObjCIvarDecl -> Doc Source # pprPrec :: Int -> ObjCIvarDecl -> Doc Source # pprList :: [ObjCIvarDecl] -> Doc Source #
Located ObjCIvarDecl Source # |
Instance details Defined in Language.C.Syntax Methods locOf :: ObjCIvarDecl -> Loc Source # locOfList :: [ObjCIvarDecl] -> Loc Source #
Relocatable ObjCIvarDecl Source # |
Instance details Defined in Language.C.Syntax Methods reloc :: Loc -> ObjCIvarDecl -> ObjCIvarDecl Source #

data ObjCVisibilitySpec Source #

Constructors

ObjCPrivate !SrcLoc |
ObjCPublic !SrcLoc |
ObjCProtected !SrcLoc |
ObjCPackage !SrcLoc |

#### Instances

Instances details

Data ObjCVisibilitySpec Source # |

Instance details

Defined in Language.C.Syntax

Methods

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

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

toConstr :: ObjCVisibilitySpec -> Constr Source #

dataTypeOf :: ObjCVisibilitySpec -> DataType Source #

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

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

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

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

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

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

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

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

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

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

Show ObjCVisibilitySpec Source # |
Instance details Defined in Language.C.Syntax Methods showsPrec :: Int -> ObjCVisibilitySpec -> ShowS Source # show :: ObjCVisibilitySpec -> String Source # showList :: [ObjCVisibilitySpec] -> ShowS Source #
Eq ObjCVisibilitySpec Source # |
Instance details Defined in Language.C.Syntax Methods (==) :: ObjCVisibilitySpec -> ObjCVisibilitySpec -> Bool Source # (/=) :: ObjCVisibilitySpec -> ObjCVisibilitySpec -> Bool Source #
Ord ObjCVisibilitySpec Source # |

Instance details

Defined in Language.C.Syntax

Methods

compare :: ObjCVisibilitySpec -> ObjCVisibilitySpec -> Ordering Source #

(<) :: ObjCVisibilitySpec -> ObjCVisibilitySpec -> Bool Source #

(<=) :: ObjCVisibilitySpec -> ObjCVisibilitySpec -> Bool Source #

(>) :: ObjCVisibilitySpec -> ObjCVisibilitySpec -> Bool Source #

(>=) :: ObjCVisibilitySpec -> ObjCVisibilitySpec -> Bool Source #

max :: ObjCVisibilitySpec -> ObjCVisibilitySpec -> ObjCVisibilitySpec Source #

min :: ObjCVisibilitySpec -> ObjCVisibilitySpec -> ObjCVisibilitySpec Source #

Pretty ObjCVisibilitySpec Source # |
Instance details Defined in Language.C.Pretty Methods ppr :: ObjCVisibilitySpec -> Doc Source # pprPrec :: Int -> ObjCVisibilitySpec -> Doc Source # pprList :: [ObjCVisibilitySpec] -> Doc Source #
Located ObjCVisibilitySpec Source # |
Instance details Defined in Language.C.Syntax Methods locOf :: ObjCVisibilitySpec -> Loc Source # locOfList :: [ObjCVisibilitySpec] -> Loc Source #
Relocatable ObjCVisibilitySpec Source # |
Instance details Defined in Language.C.Syntax Methods reloc :: Loc -> ObjCVisibilitySpec -> ObjCVisibilitySpec Source #

data ObjCIfaceDecl Source #

Constructors

ObjCIfaceProp [ObjCPropAttr] FieldGroup !SrcLoc |
ObjCIfaceReq ObjCMethodReq !SrcLoc |
ObjCIfaceMeth ObjCMethodProto !SrcLoc |
ObjCIfaceDecl InitGroup !SrcLoc |
AntiObjCProp String !SrcLoc |
AntiObjCProps String !SrcLoc |
AntiObjCIfaceDecl String !SrcLoc |
AntiObjCIfaceDecls String !SrcLoc |

#### Instances

Instances details

Data ObjCIfaceDecl Source # |

Instance details

Defined in Language.C.Syntax

Methods

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

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

toConstr :: ObjCIfaceDecl -> Constr Source #

dataTypeOf :: ObjCIfaceDecl -> DataType Source #

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

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

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

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

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

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

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

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

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

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

Show ObjCIfaceDecl Source # |
Instance details Defined in Language.C.Syntax Methods showsPrec :: Int -> ObjCIfaceDecl -> ShowS Source # show :: ObjCIfaceDecl -> String Source # showList :: [ObjCIfaceDecl] -> ShowS Source #
Eq ObjCIfaceDecl Source # |
Instance details Defined in Language.C.Syntax Methods (==) :: ObjCIfaceDecl -> ObjCIfaceDecl -> Bool Source # (/=) :: ObjCIfaceDecl -> ObjCIfaceDecl -> Bool Source #
Ord ObjCIfaceDecl Source # |

Instance details

Defined in Language.C.Syntax

Methods

compare :: ObjCIfaceDecl -> ObjCIfaceDecl -> Ordering Source #

(<) :: ObjCIfaceDecl -> ObjCIfaceDecl -> Bool Source #

(<=) :: ObjCIfaceDecl -> ObjCIfaceDecl -> Bool Source #

(>) :: ObjCIfaceDecl -> ObjCIfaceDecl -> Bool Source #

(>=) :: ObjCIfaceDecl -> ObjCIfaceDecl -> Bool Source #

max :: ObjCIfaceDecl -> ObjCIfaceDecl -> ObjCIfaceDecl Source #

min :: ObjCIfaceDecl -> ObjCIfaceDecl -> ObjCIfaceDecl Source #

Pretty ObjCIfaceDecl Source # |
Instance details Defined in Language.C.Pretty Methods ppr :: ObjCIfaceDecl -> Doc Source # pprPrec :: Int -> ObjCIfaceDecl -> Doc Source # pprList :: [ObjCIfaceDecl] -> Doc Source #
Located ObjCIfaceDecl Source # |
Instance details Defined in Language.C.Syntax Methods locOf :: ObjCIfaceDecl -> Loc Source # locOfList :: [ObjCIfaceDecl] -> Loc Source #
Relocatable ObjCIfaceDecl Source # |
Instance details Defined in Language.C.Syntax Methods reloc :: Loc -> ObjCIfaceDecl -> ObjCIfaceDecl Source #

data ObjCPropAttr Source #

Constructors

ObjCGetter Id !SrcLoc |
ObjCSetter Id !SrcLoc |
ObjCReadonly !SrcLoc |
ObjCReadwrite !SrcLoc |
ObjCAssign !SrcLoc |
ObjCRetain !SrcLoc |
ObjCCopy !SrcLoc |
ObjCNonatomic !SrcLoc |
ObjCAtomic !SrcLoc |
ObjCStrong !SrcLoc |
ObjCWeak !SrcLoc |
ObjCUnsafeUnretained !SrcLoc |
AntiObjCAttr String !SrcLoc |
AntiObjCAttrs String !SrcLoc |

#### Instances

Instances details

Data ObjCPropAttr Source # |

Instance details

Defined in Language.C.Syntax

Methods

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

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

toConstr :: ObjCPropAttr -> Constr Source #

dataTypeOf :: ObjCPropAttr -> DataType Source #

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

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

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

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

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

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

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

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

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

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

Show ObjCPropAttr Source # |
Instance details Defined in Language.C.Syntax Methods showsPrec :: Int -> ObjCPropAttr -> ShowS Source # show :: ObjCPropAttr -> String Source # showList :: [ObjCPropAttr] -> ShowS Source #
Eq ObjCPropAttr Source # |
Instance details Defined in Language.C.Syntax Methods (==) :: ObjCPropAttr -> ObjCPropAttr -> Bool Source # (/=) :: ObjCPropAttr -> ObjCPropAttr -> Bool Source #
Ord ObjCPropAttr Source # |

Instance details

Defined in Language.C.Syntax

Methods

compare :: ObjCPropAttr -> ObjCPropAttr -> Ordering Source #

(<) :: ObjCPropAttr -> ObjCPropAttr -> Bool Source #

(<=) :: ObjCPropAttr -> ObjCPropAttr -> Bool Source #

(>) :: ObjCPropAttr -> ObjCPropAttr -> Bool Source #

(>=) :: ObjCPropAttr -> ObjCPropAttr -> Bool Source #

max :: ObjCPropAttr -> ObjCPropAttr -> ObjCPropAttr Source #

min :: ObjCPropAttr -> ObjCPropAttr -> ObjCPropAttr Source #

Pretty ObjCPropAttr Source # |
Instance details Defined in Language.C.Pretty Methods ppr :: ObjCPropAttr -> Doc Source # pprPrec :: Int -> ObjCPropAttr -> Doc Source # pprList :: [ObjCPropAttr] -> Doc Source #
Located ObjCPropAttr Source # |
Instance details Defined in Language.C.Syntax Methods locOf :: ObjCPropAttr -> Loc Source # locOfList :: [ObjCPropAttr] -> Loc Source #
Relocatable ObjCPropAttr Source # |
Instance details Defined in Language.C.Syntax Methods reloc :: Loc -> ObjCPropAttr -> ObjCPropAttr Source #

data ObjCMethodReq Source #

Constructors

ObjCRequired !SrcLoc |
ObjCOptional !SrcLoc |

#### Instances

Instances details

Data ObjCMethodReq Source # |

Instance details

Defined in Language.C.Syntax

Methods

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

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

toConstr :: ObjCMethodReq -> Constr Source #

dataTypeOf :: ObjCMethodReq -> DataType Source #

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

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

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

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

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

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

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

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

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

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

Show ObjCMethodReq Source # |
Instance details Defined in Language.C.Syntax Methods showsPrec :: Int -> ObjCMethodReq -> ShowS Source # show :: ObjCMethodReq -> String Source # showList :: [ObjCMethodReq] -> ShowS Source #
Eq ObjCMethodReq Source # |
Instance details Defined in Language.C.Syntax Methods (==) :: ObjCMethodReq -> ObjCMethodReq -> Bool Source # (/=) :: ObjCMethodReq -> ObjCMethodReq -> Bool Source #
Ord ObjCMethodReq Source # |

Instance details

Defined in Language.C.Syntax

Methods

compare :: ObjCMethodReq -> ObjCMethodReq -> Ordering Source #

(<) :: ObjCMethodReq -> ObjCMethodReq -> Bool Source #

(<=) :: ObjCMethodReq -> ObjCMethodReq -> Bool Source #

(>) :: ObjCMethodReq -> ObjCMethodReq -> Bool Source #

(>=) :: ObjCMethodReq -> ObjCMethodReq -> Bool Source #

max :: ObjCMethodReq -> ObjCMethodReq -> ObjCMethodReq Source #

min :: ObjCMethodReq -> ObjCMethodReq -> ObjCMethodReq Source #

Pretty ObjCMethodReq Source # |
Instance details Defined in Language.C.Pretty Methods ppr :: ObjCMethodReq -> Doc Source # pprPrec :: Int -> ObjCMethodReq -> Doc Source # pprList :: [ObjCMethodReq] -> Doc Source #
Located ObjCMethodReq Source # |
Instance details Defined in Language.C.Syntax Methods locOf :: ObjCMethodReq -> Loc Source # locOfList :: [ObjCMethodReq] -> Loc Source #
Relocatable ObjCMethodReq Source # |
Instance details Defined in Language.C.Syntax Methods reloc :: Loc -> ObjCMethodReq -> ObjCMethodReq Source #

data ObjCParam Source #

Constructors

ObjCParam (Maybe Id) (Maybe Type) [Attr] (Maybe Id) !SrcLoc |
AntiObjCParam String !SrcLoc |
AntiObjCParams String !SrcLoc |

#### Instances

Instances details

Data ObjCParam Source # |

Instance details

Defined in Language.C.Syntax

Methods

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

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

toConstr :: ObjCParam -> Constr Source #

dataTypeOf :: ObjCParam -> DataType Source #

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

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

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

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

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

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

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

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

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

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

Show ObjCParam Source # |
Instance details Defined in Language.C.Syntax Methods showsPrec :: Int -> ObjCParam -> ShowS Source # show :: ObjCParam -> String Source # showList :: [ObjCParam] -> ShowS Source #
Eq ObjCParam Source # |
Instance details Defined in Language.C.Syntax Methods (==) :: ObjCParam -> ObjCParam -> Bool Source # (/=) :: ObjCParam -> ObjCParam -> Bool Source #
Ord ObjCParam Source # |

Instance details

Defined in Language.C.Syntax

Methods

compare :: ObjCParam -> ObjCParam -> Ordering Source #

(<) :: ObjCParam -> ObjCParam -> Bool Source #

(<=) :: ObjCParam -> ObjCParam -> Bool Source #

(>) :: ObjCParam -> ObjCParam -> Bool Source #

(>=) :: ObjCParam -> ObjCParam -> Bool Source #

max :: ObjCParam -> ObjCParam -> ObjCParam Source #

min :: ObjCParam -> ObjCParam -> ObjCParam Source #

Pretty ObjCParam Source # |
Instance details Defined in Language.C.Pretty Methods ppr :: ObjCParam -> Doc Source # pprPrec :: Int -> ObjCParam -> Doc Source # pprList :: [ObjCParam] -> Doc Source #
Located ObjCParam Source # |
Instance details Defined in Language.C.Syntax Methods locOf :: ObjCParam -> Loc Source # locOfList :: [ObjCParam] -> Loc Source #
Relocatable ObjCParam Source # |
Instance details Defined in Language.C.Syntax Methods reloc :: Loc -> ObjCParam -> ObjCParam Source #

data ObjCMethodProto Source #

Constructors

ObjCMethodProto Bool (Maybe Type) [Attr] [ObjCParam] Bool [Attr] !SrcLoc | Invariant: First parameter must at least either have a selector or an identifier; all other parameters must have an identifier.
AntiObjCMethodProto String !SrcLoc |

#### Instances

Instances details

Data ObjCMethodProto Source # |

Instance details

Defined in Language.C.Syntax

Methods

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

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

toConstr :: ObjCMethodProto -> Constr Source #

dataTypeOf :: ObjCMethodProto -> DataType Source #

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

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

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

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

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

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

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

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

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

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

Show ObjCMethodProto Source # |
Instance details Defined in Language.C.Syntax Methods showsPrec :: Int -> ObjCMethodProto -> ShowS Source # show :: ObjCMethodProto -> String Source # showList :: [ObjCMethodProto] -> ShowS Source #
Eq ObjCMethodProto Source # |
Instance details Defined in Language.C.Syntax Methods (==) :: ObjCMethodProto -> ObjCMethodProto -> Bool Source # (/=) :: ObjCMethodProto -> ObjCMethodProto -> Bool Source #
Ord ObjCMethodProto Source # |

Instance details

Defined in Language.C.Syntax

Methods

compare :: ObjCMethodProto -> ObjCMethodProto -> Ordering Source #

(<) :: ObjCMethodProto -> ObjCMethodProto -> Bool Source #

(<=) :: ObjCMethodProto -> ObjCMethodProto -> Bool Source #

(>) :: ObjCMethodProto -> ObjCMethodProto -> Bool Source #

(>=) :: ObjCMethodProto -> ObjCMethodProto -> Bool Source #

max :: ObjCMethodProto -> ObjCMethodProto -> ObjCMethodProto Source #

min :: ObjCMethodProto -> ObjCMethodProto -> ObjCMethodProto Source #

Pretty ObjCMethodProto Source # |
Instance details Defined in Language.C.Pretty Methods ppr :: ObjCMethodProto -> Doc Source # pprPrec :: Int -> ObjCMethodProto -> Doc Source # pprList :: [ObjCMethodProto] -> Doc Source #
Located ObjCMethodProto Source # |
Instance details Defined in Language.C.Syntax Methods locOf :: ObjCMethodProto -> Loc Source # locOfList :: [ObjCMethodProto] -> Loc Source #
Relocatable ObjCMethodProto Source # |
Instance details Defined in Language.C.Syntax Methods reloc :: Loc -> ObjCMethodProto -> ObjCMethodProto Source #

data ObjCCatch Source #

Constructors

ObjCCatch (Maybe Param) [BlockItem] !SrcLoc |

#### Instances

Instances details

Data ObjCCatch Source # |

Instance details

Defined in Language.C.Syntax

Methods

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

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

toConstr :: ObjCCatch -> Constr Source #

dataTypeOf :: ObjCCatch -> DataType Source #

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

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

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

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

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

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

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

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

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

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

Show ObjCCatch Source # |
Instance details Defined in Language.C.Syntax Methods showsPrec :: Int -> ObjCCatch -> ShowS Source # show :: ObjCCatch -> String Source # showList :: [ObjCCatch] -> ShowS Source #
Eq ObjCCatch Source # |
Instance details Defined in Language.C.Syntax Methods (==) :: ObjCCatch -> ObjCCatch -> Bool Source # (/=) :: ObjCCatch -> ObjCCatch -> Bool Source #
Ord ObjCCatch Source # |

Instance details

Defined in Language.C.Syntax

Methods

compare :: ObjCCatch -> ObjCCatch -> Ordering Source #

(<) :: ObjCCatch -> ObjCCatch -> Bool Source #

(<=) :: ObjCCatch -> ObjCCatch -> Bool Source #

(>) :: ObjCCatch -> ObjCCatch -> Bool Source #

(>=) :: ObjCCatch -> ObjCCatch -> Bool Source #

max :: ObjCCatch -> ObjCCatch -> ObjCCatch Source #

min :: ObjCCatch -> ObjCCatch -> ObjCCatch Source #

Pretty ObjCCatch Source # |
Instance details Defined in Language.C.Pretty Methods ppr :: ObjCCatch -> Doc Source # pprPrec :: Int -> ObjCCatch -> Doc Source # pprList :: [ObjCCatch] -> Doc Source #
Located ObjCCatch Source # |
Instance details Defined in Language.C.Syntax Methods locOf :: ObjCCatch -> Loc Source # locOfList :: [ObjCCatch] -> Loc Source #
Relocatable ObjCCatch Source # |
Instance details Defined in Language.C.Syntax Methods reloc :: Loc -> ObjCCatch -> ObjCCatch Source #

data ObjCDictElem Source #

Constructors

ObjCDictElem Exp Exp !SrcLoc |
AntiObjCDictElems String !SrcLoc |

#### Instances

Instances details

Data ObjCDictElem Source # |

Instance details

Defined in Language.C.Syntax

Methods

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

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

toConstr :: ObjCDictElem -> Constr Source #

dataTypeOf :: ObjCDictElem -> DataType Source #

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

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

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

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

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

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

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

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

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

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

Show ObjCDictElem Source # |
Instance details Defined in Language.C.Syntax Methods showsPrec :: Int -> ObjCDictElem -> ShowS Source # show :: ObjCDictElem -> String Source # showList :: [ObjCDictElem] -> ShowS Source #
Eq ObjCDictElem Source # |
Instance details Defined in Language.C.Syntax Methods (==) :: ObjCDictElem -> ObjCDictElem -> Bool Source # (/=) :: ObjCDictElem -> ObjCDictElem -> Bool Source #
Ord ObjCDictElem Source # |

Instance details

Defined in Language.C.Syntax

Methods

compare :: ObjCDictElem -> ObjCDictElem -> Ordering Source #

(<) :: ObjCDictElem -> ObjCDictElem -> Bool Source #

(<=) :: ObjCDictElem -> ObjCDictElem -> Bool Source #

(>) :: ObjCDictElem -> ObjCDictElem -> Bool Source #

(>=) :: ObjCDictElem -> ObjCDictElem -> Bool Source #

max :: ObjCDictElem -> ObjCDictElem -> ObjCDictElem Source #

min :: ObjCDictElem -> ObjCDictElem -> ObjCDictElem Source #

Pretty ObjCDictElem Source # |
Instance details Defined in Language.C.Pretty Methods ppr :: ObjCDictElem -> Doc Source # pprPrec :: Int -> ObjCDictElem -> Doc Source # pprList :: [ObjCDictElem] -> Doc Source #
Located ObjCDictElem Source # |
Instance details Defined in Language.C.Syntax Methods locOf :: ObjCDictElem -> Loc Source # locOfList :: [ObjCDictElem] -> Loc Source #
Relocatable ObjCDictElem Source # |
Instance details Defined in Language.C.Syntax Methods reloc :: Loc -> ObjCDictElem -> ObjCDictElem Source #

data ObjCRecv Source #

Constructors

ObjCRecvSuper !SrcLoc |
ObjCRecvExp Exp !SrcLoc |
AntiObjCRecv String !SrcLoc |

#### Instances

Instances details

Data ObjCRecv Source # |

Instance details

Defined in Language.C.Syntax

Methods

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

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

toConstr :: ObjCRecv -> Constr Source #

dataTypeOf :: ObjCRecv -> DataType Source #

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

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

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

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

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

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

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

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

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

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

Show ObjCRecv Source # |
Instance details Defined in Language.C.Syntax Methods showsPrec :: Int -> ObjCRecv -> ShowS Source # show :: ObjCRecv -> String Source # showList :: [ObjCRecv] -> ShowS Source #
Eq ObjCRecv Source # |
Instance details Defined in Language.C.Syntax Methods (==) :: ObjCRecv -> ObjCRecv -> Bool Source # (/=) :: ObjCRecv -> ObjCRecv -> Bool Source #
Ord ObjCRecv Source # |
Instance details Defined in Language.C.Syntax Methods compare :: ObjCRecv -> ObjCRecv -> Ordering Source # (<) :: ObjCRecv -> ObjCRecv -> Bool Source # (<=) :: ObjCRecv -> ObjCRecv -> Bool Source # (>) :: ObjCRecv -> ObjCRecv -> Bool Source # (>=) :: ObjCRecv -> ObjCRecv -> Bool Source # max :: ObjCRecv -> ObjCRecv -> ObjCRecv Source # min :: ObjCRecv -> ObjCRecv -> ObjCRecv Source #
Pretty ObjCRecv Source # |
Instance details Defined in Language.C.Pretty Methods ppr :: ObjCRecv -> Doc Source # pprPrec :: Int -> ObjCRecv -> Doc Source # pprList :: [ObjCRecv] -> Doc Source #
Located ObjCRecv Source # |
Instance details Defined in Language.C.Syntax Methods locOf :: ObjCRecv -> Loc Source # locOfList :: [ObjCRecv] -> Loc Source #
Relocatable ObjCRecv Source # |
Instance details Defined in Language.C.Syntax Methods reloc :: Loc -> ObjCRecv -> ObjCRecv Source #

data ObjCArg Source #

Constructors

ObjCArg (Maybe Id) (Maybe Exp) !SrcLoc |
AntiObjCArg String !SrcLoc |
AntiObjCArgs String !SrcLoc |

#### Instances

Instances details

Data ObjCArg Source # |

Instance details

Defined in Language.C.Syntax

Methods

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

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

toConstr :: ObjCArg -> Constr Source #

dataTypeOf :: ObjCArg -> DataType Source #

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

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

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

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

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

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

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

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

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

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

Show ObjCArg Source # |
Instance details Defined in Language.C.Syntax Methods showsPrec :: Int -> ObjCArg -> ShowS Source # show :: ObjCArg -> String Source # showList :: [ObjCArg] -> ShowS Source #
Eq ObjCArg Source # |
Instance details Defined in Language.C.Syntax Methods (==) :: ObjCArg -> ObjCArg -> Bool Source # (/=) :: ObjCArg -> ObjCArg -> Bool Source #
Ord ObjCArg Source # |
Instance details Defined in Language.C.Syntax Methods compare :: ObjCArg -> ObjCArg -> Ordering Source # (<) :: ObjCArg -> ObjCArg -> Bool Source # (<=) :: ObjCArg -> ObjCArg -> Bool Source # (>) :: ObjCArg -> ObjCArg -> Bool Source # (>=) :: ObjCArg -> ObjCArg -> Bool Source # max :: ObjCArg -> ObjCArg -> ObjCArg Source # min :: ObjCArg -> ObjCArg -> ObjCArg Source #
Located ObjCArg Source # |
Instance details Defined in Language.C.Syntax Methods locOf :: ObjCArg -> Loc Source # locOfList :: [ObjCArg] -> Loc Source #
Relocatable ObjCArg Source # |
Instance details Defined in Language.C.Syntax Methods reloc :: Loc -> ObjCArg -> ObjCArg Source #

data LambdaIntroducer Source #

Constructors

LambdaIntroducer [CaptureListEntry] !SrcLoc |

#### Instances

Instances details

Data LambdaIntroducer Source # |

Instance details

Defined in Language.C.Syntax

Methods

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

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

toConstr :: LambdaIntroducer -> Constr Source #

dataTypeOf :: LambdaIntroducer -> DataType Source #

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

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

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

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

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

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

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

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

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

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

Show LambdaIntroducer Source # |
Instance details Defined in Language.C.Syntax Methods showsPrec :: Int -> LambdaIntroducer -> ShowS Source # show :: LambdaIntroducer -> String Source # showList :: [LambdaIntroducer] -> ShowS Source #
Eq LambdaIntroducer Source # |
Instance details Defined in Language.C.Syntax Methods (==) :: LambdaIntroducer -> LambdaIntroducer -> Bool Source # (/=) :: LambdaIntroducer -> LambdaIntroducer -> Bool Source #
Ord LambdaIntroducer Source # |

Instance details

Defined in Language.C.Syntax

Methods

compare :: LambdaIntroducer -> LambdaIntroducer -> Ordering Source #

(<) :: LambdaIntroducer -> LambdaIntroducer -> Bool Source #

(<=) :: LambdaIntroducer -> LambdaIntroducer -> Bool Source #

(>) :: LambdaIntroducer -> LambdaIntroducer -> Bool Source #

(>=) :: LambdaIntroducer -> LambdaIntroducer -> Bool Source #

max :: LambdaIntroducer -> LambdaIntroducer -> LambdaIntroducer Source #

min :: LambdaIntroducer -> LambdaIntroducer -> LambdaIntroducer Source #

Pretty LambdaIntroducer Source # |
Instance details Defined in Language.C.Pretty Methods ppr :: LambdaIntroducer -> Doc Source # pprPrec :: Int -> LambdaIntroducer -> Doc Source # pprList :: [LambdaIntroducer] -> Doc Source #
Located LambdaIntroducer Source # |
Instance details Defined in Language.C.Syntax Methods locOf :: LambdaIntroducer -> Loc Source # locOfList :: [LambdaIntroducer] -> Loc Source #
Relocatable LambdaIntroducer Source # |
Instance details Defined in Language.C.Syntax Methods reloc :: Loc -> LambdaIntroducer -> LambdaIntroducer Source #

data LambdaDeclarator Source #

Constructors

LambdaDeclarator Params Bool (Maybe Type) !SrcLoc |

#### Instances

Instances details

Data LambdaDeclarator Source # |

Instance details

Defined in Language.C.Syntax

Methods

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

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

toConstr :: LambdaDeclarator -> Constr Source #

dataTypeOf :: LambdaDeclarator -> DataType Source #

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

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

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

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

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

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

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

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

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

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

Show LambdaDeclarator Source # |
Instance details Defined in Language.C.Syntax Methods showsPrec :: Int -> LambdaDeclarator -> ShowS Source # show :: LambdaDeclarator -> String Source # showList :: [LambdaDeclarator] -> ShowS Source #
Eq LambdaDeclarator Source # |
Instance details Defined in Language.C.Syntax Methods (==) :: LambdaDeclarator -> LambdaDeclarator -> Bool Source # (/=) :: LambdaDeclarator -> LambdaDeclarator -> Bool Source #
Ord LambdaDeclarator Source # |

Instance details

Defined in Language.C.Syntax

Methods

compare :: LambdaDeclarator -> LambdaDeclarator -> Ordering Source #

(<) :: LambdaDeclarator -> LambdaDeclarator -> Bool Source #

(<=) :: LambdaDeclarator -> LambdaDeclarator -> Bool Source #

(>) :: LambdaDeclarator -> LambdaDeclarator -> Bool Source #

(>=) :: LambdaDeclarator -> LambdaDeclarator -> Bool Source #

max :: LambdaDeclarator -> LambdaDeclarator -> LambdaDeclarator Source #

min :: LambdaDeclarator -> LambdaDeclarator -> LambdaDeclarator Source #

Pretty LambdaDeclarator Source # |
Instance details Defined in Language.C.Pretty Methods ppr :: LambdaDeclarator -> Doc Source # pprPrec :: Int -> LambdaDeclarator -> Doc Source # pprList :: [LambdaDeclarator] -> Doc Source #
Located LambdaDeclarator Source # |
Instance details Defined in Language.C.Syntax Methods locOf :: LambdaDeclarator -> Loc Source # locOfList :: [LambdaDeclarator] -> Loc Source #
Relocatable LambdaDeclarator Source # |
Instance details Defined in Language.C.Syntax Methods reloc :: Loc -> LambdaDeclarator -> LambdaDeclarator Source #

data CaptureListEntry Source #

Constructors

DefaultByReference |
DefaultByValue |

#### Instances

Instances details

Data CaptureListEntry Source # |

Instance details

Defined in Language.C.Syntax

Methods

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

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

toConstr :: CaptureListEntry -> Constr Source #

dataTypeOf :: CaptureListEntry -> DataType Source #

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

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

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

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

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

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

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

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

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

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

Show CaptureListEntry Source # |
Instance details Defined in Language.C.Syntax Methods showsPrec :: Int -> CaptureListEntry -> ShowS Source # show :: CaptureListEntry -> String Source # showList :: [CaptureListEntry] -> ShowS Source #
Eq CaptureListEntry Source # |
Instance details Defined in Language.C.Syntax Methods (==) :: CaptureListEntry -> CaptureListEntry -> Bool Source # (/=) :: CaptureListEntry -> CaptureListEntry -> Bool Source #
Ord CaptureListEntry Source # |

Instance details

Defined in Language.C.Syntax

Methods

compare :: CaptureListEntry -> CaptureListEntry -> Ordering Source #

(<) :: CaptureListEntry -> CaptureListEntry -> Bool Source #

(<=) :: CaptureListEntry -> CaptureListEntry -> Bool Source #

(>) :: CaptureListEntry -> CaptureListEntry -> Bool Source #

(>=) :: CaptureListEntry -> CaptureListEntry -> Bool Source #

max :: CaptureListEntry -> CaptureListEntry -> CaptureListEntry Source #

min :: CaptureListEntry -> CaptureListEntry -> CaptureListEntry Source #

Pretty CaptureListEntry Source # |
Instance details Defined in Language.C.Pretty Methods ppr :: CaptureListEntry -> Doc Source # pprPrec :: Int -> CaptureListEntry -> Doc Source # pprList :: [CaptureListEntry] -> Doc Source #

data ExeConfig Source #

Constructors

ExeConfig |

Fields

- exeGridDim :: Exp
- exeBlockDim :: Exp
- exeSharedSize :: Maybe Exp
- exeStream :: Maybe Exp
- exeLoc :: !SrcLoc

#### Instances

Instances details

Data ExeConfig Source # |

Instance details

Defined in Language.C.Syntax

Methods

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

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

toConstr :: ExeConfig -> Constr Source #

dataTypeOf :: ExeConfig -> DataType Source #

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

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

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

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

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

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

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

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

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

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

Show ExeConfig Source # |
Instance details Defined in Language.C.Syntax Methods showsPrec :: Int -> ExeConfig -> ShowS Source # show :: ExeConfig -> String Source # showList :: [ExeConfig] -> ShowS Source #
Eq ExeConfig Source # |
Instance details Defined in Language.C.Syntax Methods (==) :: ExeConfig -> ExeConfig -> Bool Source # (/=) :: ExeConfig -> ExeConfig -> Bool Source #
Ord ExeConfig Source # |

Instance details

Defined in Language.C.Syntax

Methods

compare :: ExeConfig -> ExeConfig -> Ordering Source #

(<) :: ExeConfig -> ExeConfig -> Bool Source #

(<=) :: ExeConfig -> ExeConfig -> Bool Source #

(>) :: ExeConfig -> ExeConfig -> Bool Source #

(>=) :: ExeConfig -> ExeConfig -> Bool Source #

max :: ExeConfig -> ExeConfig -> ExeConfig Source #

min :: ExeConfig -> ExeConfig -> ExeConfig Source #

Located ExeConfig Source # |
Instance details Defined in Language.C.Syntax Methods locOf :: ExeConfig -> Loc Source # locOfList :: [ExeConfig] -> Loc Source #
Relocatable ExeConfig Source # |
Instance details Defined in Language.C.Syntax Methods reloc :: Loc -> ExeConfig -> ExeConfig Source #

funcProto :: Func -> InitGroup Source #

isPtr :: Type -> Bool Source #

ctypedef :: Id -> Decl -> [Attr] -> Typedef Source #

cdeclSpec :: [Storage] -> [TypeQual] -> TypeSpec -> DeclSpec Source #

cinitGroup :: DeclSpec -> [Attr] -> [Init] -> InitGroup Source #

ctypedefGroup :: DeclSpec -> [Attr] -> [Typedef] -> InitGroup Source #