| 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
- data Id
- data StringLit = StringLit [String] String !SrcLoc
- type Linkage = StringLit
- data Storage
- 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
- 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
- data ArraySize
- = ArraySize Bool Exp !SrcLoc
- | VariableArraySize !SrcLoc
- | NoArraySize !SrcLoc
- data Decl
- data Type
- data Designator
- 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
- data Field = Field (Maybe Id) (Maybe Decl) (Maybe Exp) !SrcLoc
- data FieldGroup
- = FieldGroup DeclSpec [Field] !SrcLoc
- | AntiSdecl String !SrcLoc
- | AntiSdecls String !SrcLoc
- data CEnum
- data Attr
- data Param
- data Params = Params [Param] Bool !SrcLoc
- data Func
- 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
- 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
- data AssignOp
- data UnOp
- type AsmTemplate = StringLit
- data AsmOut = AsmOut (Maybe Id) String Id
- data AsmIn = AsmIn (Maybe Id) String Exp
- type AsmClobber = String
- data BlockType
- data ObjCIvarDecl
- data ObjCVisibilitySpec
- 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
- 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
- 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 #
Instances
| Enum Extensions Source # | |
Defined in Language.C.Syntax Methods succ :: Extensions -> Extensions pred :: Extensions -> Extensions toEnum :: Int -> Extensions fromEnum :: Extensions -> Int enumFrom :: Extensions -> [Extensions] enumFromThen :: Extensions -> Extensions -> [Extensions] enumFromTo :: Extensions -> Extensions -> [Extensions] enumFromThenTo :: Extensions -> Extensions -> Extensions -> [Extensions] | |
| Show Extensions Source # | |
Defined in Language.C.Syntax Methods showsPrec :: Int -> Extensions -> ShowS show :: Extensions -> String showList :: [Extensions] -> ShowS | |
| Eq Extensions Source # | |
Defined in Language.C.Syntax | |
| Ord Extensions Source # | |
Defined in Language.C.Syntax Methods compare :: Extensions -> Extensions -> Ordering (<) :: Extensions -> Extensions -> Bool (<=) :: Extensions -> Extensions -> Bool (>) :: Extensions -> Extensions -> Bool (>=) :: Extensions -> Extensions -> Bool max :: Extensions -> Extensions -> Extensions min :: Extensions -> Extensions -> Extensions | |
Instances
| Data Id Source # | |
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 # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Id # dataTypeOf :: Id -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Id) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Id) # gmapT :: (forall b. Data b => b -> b) -> Id -> Id # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Id -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Id -> r # gmapQ :: (forall d. Data d => d -> u) -> Id -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Id -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Id -> m Id # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Id -> m Id # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Id -> m Id # | |
| IsString Id Source # | |
Defined in Language.C.Syntax Methods fromString :: String -> Id | |
| Show Id Source # | |
| Eq Id Source # | |
| Ord Id Source # | |
| ToIdent Id Source # | |
| Pretty Id Source # | |
| Located Id Source # | |
| Relocatable Id Source # | |
| ToIdent (SrcLoc -> Id) Source # | |
Instances
| Data StringLit Source # | |
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 # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c StringLit # toConstr :: StringLit -> Constr # dataTypeOf :: StringLit -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c StringLit) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c StringLit) # gmapT :: (forall b. Data b => b -> b) -> StringLit -> StringLit # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> StringLit -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> StringLit -> r # gmapQ :: (forall d. Data d => d -> u) -> StringLit -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> StringLit -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> StringLit -> m StringLit # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> StringLit -> m StringLit # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> StringLit -> m StringLit # | |
| IsString StringLit Source # | |
Defined in Language.C.Syntax Methods fromString :: String -> StringLit | |
| Show StringLit Source # | |
| Eq StringLit Source # | |
| Ord StringLit Source # | |
Defined in Language.C.Syntax | |
| Pretty StringLit Source # | |
| Located StringLit Source # | |
| Relocatable StringLit 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
| Data Storage Source # | |
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 # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Storage # toConstr :: Storage -> Constr # dataTypeOf :: Storage -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Storage) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Storage) # gmapT :: (forall b. Data b => b -> b) -> Storage -> Storage # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Storage -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Storage -> r # gmapQ :: (forall d. Data d => d -> u) -> Storage -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Storage -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Storage -> m Storage # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Storage -> m Storage # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Storage -> m Storage # | |
| Show Storage Source # | |
| Eq Storage Source # | |
| Ord Storage Source # | |
| Pretty Storage Source # | |
| Located Storage Source # | |
| Relocatable Storage Source # | |
Constructors
Instances
| Data TypeQual Source # | |
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 # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c TypeQual # toConstr :: TypeQual -> Constr # dataTypeOf :: TypeQual -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c TypeQual) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c TypeQual) # gmapT :: (forall b. Data b => b -> b) -> TypeQual -> TypeQual # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> TypeQual -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> TypeQual -> r # gmapQ :: (forall d. Data d => d -> u) -> TypeQual -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> TypeQual -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> TypeQual -> m TypeQual # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> TypeQual -> m TypeQual # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> TypeQual -> m TypeQual # | |
| Show TypeQual Source # | |
| Eq TypeQual Source # | |
| Ord TypeQual Source # | |
| Pretty TypeQual Source # | |
| Located TypeQual Source # | |
| Relocatable TypeQual Source # | |
Instances
| Data Sign Source # | |
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 # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Sign # dataTypeOf :: Sign -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Sign) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Sign) # gmapT :: (forall b. Data b => b -> b) -> Sign -> Sign # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Sign -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Sign -> r # gmapQ :: (forall d. Data d => d -> u) -> Sign -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Sign -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Sign -> m Sign # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Sign -> m Sign # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Sign -> m Sign # | |
| Show Sign Source # | |
| Eq Sign Source # | |
| Ord Sign Source # | |
| Pretty Sign Source # | |
| Located Sign Source # | |
| Relocatable Sign 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
| Data TypeSpec Source # | |
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 # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c TypeSpec # toConstr :: TypeSpec -> Constr # dataTypeOf :: TypeSpec -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c TypeSpec) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c TypeSpec) # gmapT :: (forall b. Data b => b -> b) -> TypeSpec -> TypeSpec # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> TypeSpec -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> TypeSpec -> r # gmapQ :: (forall d. Data d => d -> u) -> TypeSpec -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> TypeSpec -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> TypeSpec -> m TypeSpec # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> TypeSpec -> m TypeSpec # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> TypeSpec -> m TypeSpec # | |
| Show TypeSpec Source # | |
| Eq TypeSpec Source # | |
| Ord TypeSpec Source # | |
| Pretty TypeSpec Source # | |
| Located TypeSpec Source # | |
| Relocatable TypeSpec Source # | |
Constructors
| DeclSpec [Storage] [TypeQual] TypeSpec !SrcLoc | |
| AntiDeclSpec String !SrcLoc | |
| AntiTypeDeclSpec [Storage] [TypeQual] String !SrcLoc |
Instances
| Data DeclSpec Source # | |
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 # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c DeclSpec # toConstr :: DeclSpec -> Constr # dataTypeOf :: DeclSpec -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c DeclSpec) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c DeclSpec) # gmapT :: (forall b. Data b => b -> b) -> DeclSpec -> DeclSpec # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> DeclSpec -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> DeclSpec -> r # gmapQ :: (forall d. Data d => d -> u) -> DeclSpec -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> DeclSpec -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> DeclSpec -> m DeclSpec # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> DeclSpec -> m DeclSpec # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> DeclSpec -> m DeclSpec # | |
| Show DeclSpec Source # | |
| Eq DeclSpec Source # | |
| Ord DeclSpec Source # | |
| Pretty DeclSpec Source # | |
| Located DeclSpec Source # | |
| Relocatable DeclSpec 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
| Data ArraySize Source # | |
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 # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ArraySize # toConstr :: ArraySize -> Constr # dataTypeOf :: ArraySize -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c ArraySize) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ArraySize) # gmapT :: (forall b. Data b => b -> b) -> ArraySize -> ArraySize # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ArraySize -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ArraySize -> r # gmapQ :: (forall d. Data d => d -> u) -> ArraySize -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> ArraySize -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> ArraySize -> m ArraySize # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> ArraySize -> m ArraySize # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> ArraySize -> m ArraySize # | |
| Show ArraySize Source # | |
| Eq ArraySize Source # | |
| Ord ArraySize Source # | |
Defined in Language.C.Syntax | |
| Pretty ArraySize Source # | |
| Located ArraySize Source # | |
| Relocatable ArraySize 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
| Data Decl Source # | |
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 # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Decl # dataTypeOf :: Decl -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Decl) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Decl) # gmapT :: (forall b. Data b => b -> b) -> Decl -> Decl # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Decl -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Decl -> r # gmapQ :: (forall d. Data d => d -> u) -> Decl -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Decl -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Decl -> m Decl # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Decl -> m Decl # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Decl -> m Decl # | |
| Show Decl Source # | |
| Eq Decl Source # | |
| Ord Decl Source # | |
| Located Decl Source # | |
| Relocatable Decl Source # | |
Instances
| Data Type Source # | |
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 # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Type # dataTypeOf :: Type -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Type) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Type) # gmapT :: (forall b. Data b => b -> b) -> Type -> Type # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Type -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Type -> r # gmapQ :: (forall d. Data d => d -> u) -> Type -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Type -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Type -> m Type # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Type -> m Type # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Type -> m Type # | |
| Show Type Source # | |
| Eq Type Source # | |
| Ord Type Source # | |
| Pretty Type Source # | |
| Located Type Source # | |
| Relocatable Type Source # | |
data Designator Source #
Constructors
| IndexDesignator Exp !SrcLoc | |
| MemberDesignator Id !SrcLoc |
Instances
| Data Designator Source # | |
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 # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Designator # toConstr :: Designator -> Constr # dataTypeOf :: Designator -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Designator) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Designator) # gmapT :: (forall b. Data b => b -> b) -> Designator -> Designator # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Designator -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Designator -> r # gmapQ :: (forall d. Data d => d -> u) -> Designator -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Designator -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Designator -> m Designator # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Designator -> m Designator # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Designator -> m Designator # | |
| Show Designator Source # | |
Defined in Language.C.Syntax Methods showsPrec :: Int -> Designator -> ShowS show :: Designator -> String showList :: [Designator] -> ShowS | |
| Eq Designator Source # | |
Defined in Language.C.Syntax | |
| Ord Designator Source # | |
Defined in Language.C.Syntax Methods compare :: Designator -> Designator -> Ordering (<) :: Designator -> Designator -> Bool (<=) :: Designator -> Designator -> Bool (>) :: Designator -> Designator -> Bool (>=) :: Designator -> Designator -> Bool max :: Designator -> Designator -> Designator min :: Designator -> Designator -> Designator | |
| Pretty Designator Source # | |
Defined in Language.C.Pretty Methods ppr :: Designator -> Doc Source # pprPrec :: Int -> Designator -> Doc Source # pprList :: [Designator] -> Doc Source # | |
| Located Designator Source # | |
Defined in Language.C.Syntax | |
| Relocatable Designator Source # | |
Defined in Language.C.Syntax Methods reloc :: Loc -> Designator -> Designator Source # | |
data Designation Source #
Constructors
| Designation [Designator] !SrcLoc |
Instances
| Data Designation Source # | |
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 # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Designation # toConstr :: Designation -> Constr # dataTypeOf :: Designation -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Designation) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Designation) # gmapT :: (forall b. Data b => b -> b) -> Designation -> Designation # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Designation -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Designation -> r # gmapQ :: (forall d. Data d => d -> u) -> Designation -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Designation -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Designation -> m Designation # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Designation -> m Designation # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Designation -> m Designation # | |
| Show Designation Source # | |
Defined in Language.C.Syntax Methods showsPrec :: Int -> Designation -> ShowS show :: Designation -> String showList :: [Designation] -> ShowS | |
| Eq Designation Source # | |
Defined in Language.C.Syntax | |
| Ord Designation Source # | |
Defined in Language.C.Syntax Methods compare :: Designation -> Designation -> Ordering (<) :: Designation -> Designation -> Bool (<=) :: Designation -> Designation -> Bool (>) :: Designation -> Designation -> Bool (>=) :: Designation -> Designation -> Bool max :: Designation -> Designation -> Designation min :: Designation -> Designation -> Designation | |
| Pretty Designation Source # | |
Defined in Language.C.Pretty Methods ppr :: Designation -> Doc Source # pprPrec :: Int -> Designation -> Doc Source # pprList :: [Designation] -> Doc Source # | |
| Located Designation Source # | |
Defined in Language.C.Syntax | |
| Relocatable Designation Source # | |
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
| Data Initializer Source # | |
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 # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Initializer # toConstr :: Initializer -> Constr # dataTypeOf :: Initializer -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Initializer) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Initializer) # gmapT :: (forall b. Data b => b -> b) -> Initializer -> Initializer # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Initializer -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Initializer -> r # gmapQ :: (forall d. Data d => d -> u) -> Initializer -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Initializer -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Initializer -> m Initializer # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Initializer -> m Initializer # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Initializer -> m Initializer # | |
| Show Initializer Source # | |
Defined in Language.C.Syntax Methods showsPrec :: Int -> Initializer -> ShowS show :: Initializer -> String showList :: [Initializer] -> ShowS | |
| Eq Initializer Source # | |
Defined in Language.C.Syntax | |
| Ord Initializer Source # | |
Defined in Language.C.Syntax Methods compare :: Initializer -> Initializer -> Ordering (<) :: Initializer -> Initializer -> Bool (<=) :: Initializer -> Initializer -> Bool (>) :: Initializer -> Initializer -> Bool (>=) :: Initializer -> Initializer -> Bool max :: Initializer -> Initializer -> Initializer min :: Initializer -> Initializer -> Initializer | |
| Pretty Initializer Source # | |
Defined in Language.C.Pretty Methods ppr :: Initializer -> Doc Source # pprPrec :: Int -> Initializer -> Doc Source # pprList :: [Initializer] -> Doc Source # | |
| Located Initializer Source # | |
Defined in Language.C.Syntax | |
| Relocatable Initializer Source # | |
Defined in Language.C.Syntax Methods reloc :: Loc -> Initializer -> Initializer Source # | |
Instances
| Data Init Source # | |
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 # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Init # dataTypeOf :: Init -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Init) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Init) # gmapT :: (forall b. Data b => b -> b) -> Init -> Init # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Init -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Init -> r # gmapQ :: (forall d. Data d => d -> u) -> Init -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Init -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Init -> m Init # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Init -> m Init # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Init -> m Init # | |
| Show Init Source # | |
| Eq Init Source # | |
| Ord Init Source # | |
| Pretty Init Source # | |
| Located Init Source # | |
| Relocatable Init Source # | |
Instances
| Data Typedef Source # | |
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 # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Typedef # toConstr :: Typedef -> Constr # dataTypeOf :: Typedef -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Typedef) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Typedef) # gmapT :: (forall b. Data b => b -> b) -> Typedef -> Typedef # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Typedef -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Typedef -> r # gmapQ :: (forall d. Data d => d -> u) -> Typedef -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Typedef -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Typedef -> m Typedef # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Typedef -> m Typedef # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Typedef -> m Typedef # | |
| Show Typedef Source # | |
| Eq Typedef Source # | |
| Ord Typedef Source # | |
| Pretty Typedef Source # | |
| Located Typedef Source # | |
| Relocatable Typedef Source # | |
Constructors
| InitGroup DeclSpec [Attr] [Init] !SrcLoc | |
| TypedefGroup DeclSpec [Attr] [Typedef] !SrcLoc | |
| AntiDecl String !SrcLoc | |
| AntiDecls String !SrcLoc |
Instances
| Data InitGroup Source # | |
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 # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c InitGroup # toConstr :: InitGroup -> Constr # dataTypeOf :: InitGroup -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c InitGroup) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c InitGroup) # gmapT :: (forall b. Data b => b -> b) -> InitGroup -> InitGroup # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> InitGroup -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> InitGroup -> r # gmapQ :: (forall d. Data d => d -> u) -> InitGroup -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> InitGroup -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> InitGroup -> m InitGroup # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> InitGroup -> m InitGroup # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> InitGroup -> m InitGroup # | |
| Show InitGroup Source # | |
| Eq InitGroup Source # | |
| Ord InitGroup Source # | |
Defined in Language.C.Syntax | |
| Pretty InitGroup Source # | |
| Located InitGroup Source # | |
| Relocatable InitGroup Source # | |
Instances
| Data Field Source # | |
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 # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Field # dataTypeOf :: Field -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Field) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Field) # gmapT :: (forall b. Data b => b -> b) -> Field -> Field # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Field -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Field -> r # gmapQ :: (forall d. Data d => d -> u) -> Field -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Field -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Field -> m Field # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Field -> m Field # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Field -> m Field # | |
| Show Field Source # | |
| Eq Field Source # | |
| Ord Field Source # | |
| Pretty Field Source # | |
| Located Field Source # | |
| Relocatable Field Source # | |
data FieldGroup Source #
Constructors
| FieldGroup DeclSpec [Field] !SrcLoc | |
| AntiSdecl String !SrcLoc | |
| AntiSdecls String !SrcLoc |
Instances
| Data FieldGroup Source # | |
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 # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c FieldGroup # toConstr :: FieldGroup -> Constr # dataTypeOf :: FieldGroup -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c FieldGroup) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c FieldGroup) # gmapT :: (forall b. Data b => b -> b) -> FieldGroup -> FieldGroup # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> FieldGroup -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> FieldGroup -> r # gmapQ :: (forall d. Data d => d -> u) -> FieldGroup -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> FieldGroup -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> FieldGroup -> m FieldGroup # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> FieldGroup -> m FieldGroup # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> FieldGroup -> m FieldGroup # | |
| Show FieldGroup Source # | |
Defined in Language.C.Syntax Methods showsPrec :: Int -> FieldGroup -> ShowS show :: FieldGroup -> String showList :: [FieldGroup] -> ShowS | |
| Eq FieldGroup Source # | |
Defined in Language.C.Syntax | |
| Ord FieldGroup Source # | |
Defined in Language.C.Syntax Methods compare :: FieldGroup -> FieldGroup -> Ordering (<) :: FieldGroup -> FieldGroup -> Bool (<=) :: FieldGroup -> FieldGroup -> Bool (>) :: FieldGroup -> FieldGroup -> Bool (>=) :: FieldGroup -> FieldGroup -> Bool max :: FieldGroup -> FieldGroup -> FieldGroup min :: FieldGroup -> FieldGroup -> FieldGroup | |
| Pretty FieldGroup Source # | |
Defined in Language.C.Pretty Methods ppr :: FieldGroup -> Doc Source # pprPrec :: Int -> FieldGroup -> Doc Source # pprList :: [FieldGroup] -> Doc Source # | |
| Located FieldGroup Source # | |
Defined in Language.C.Syntax | |
| Relocatable FieldGroup Source # | |
Defined in Language.C.Syntax Methods reloc :: Loc -> FieldGroup -> FieldGroup Source # | |
Instances
| Data CEnum Source # | |
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 # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c CEnum # dataTypeOf :: CEnum -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c CEnum) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c CEnum) # gmapT :: (forall b. Data b => b -> b) -> CEnum -> CEnum # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> CEnum -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> CEnum -> r # gmapQ :: (forall d. Data d => d -> u) -> CEnum -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> CEnum -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> CEnum -> m CEnum # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> CEnum -> m CEnum # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> CEnum -> m CEnum # | |
| Show CEnum Source # | |
| Eq CEnum Source # | |
| Ord CEnum Source # | |
| Pretty CEnum Source # | |
| Located CEnum Source # | |
| Relocatable CEnum Source # | |
Instances
| Data Attr Source # | |
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 # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Attr # dataTypeOf :: Attr -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Attr) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Attr) # gmapT :: (forall b. Data b => b -> b) -> Attr -> Attr # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Attr -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Attr -> r # gmapQ :: (forall d. Data d => d -> u) -> Attr -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Attr -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Attr -> m Attr # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Attr -> m Attr # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Attr -> m Attr # | |
| Show Attr Source # | |
| Eq Attr Source # | |
| Ord Attr Source # | |
| Pretty Attr Source # | |
| Located Attr Source # | |
| Relocatable Attr Source # | |
Constructors
| Param (Maybe Id) DeclSpec Decl !SrcLoc | |
| AntiParam String !SrcLoc | |
| AntiParams String !SrcLoc |
Instances
| Data Param Source # | |
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 # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Param # dataTypeOf :: Param -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Param) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Param) # gmapT :: (forall b. Data b => b -> b) -> Param -> Param # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Param -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Param -> r # gmapQ :: (forall d. Data d => d -> u) -> Param -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Param -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Param -> m Param # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Param -> m Param # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Param -> m Param # | |
| Show Param Source # | |
| Eq Param Source # | |
| Ord Param Source # | |
| Pretty Param Source # | |
| Located Param Source # | |
| Relocatable Param Source # | |
Instances
| Data Params Source # | |
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 # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Params # toConstr :: Params -> Constr # dataTypeOf :: Params -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Params) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Params) # gmapT :: (forall b. Data b => b -> b) -> Params -> Params # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Params -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Params -> r # gmapQ :: (forall d. Data d => d -> u) -> Params -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Params -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Params -> m Params # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Params -> m Params # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Params -> m Params # | |
| Show Params Source # | |
| Eq Params Source # | |
| Ord Params Source # | |
| Pretty Params Source # | |
| Located Params Source # | |
| Relocatable Params Source # | |
Constructors
| Func DeclSpec Id Decl Params [BlockItem] !SrcLoc | |
| OldFunc DeclSpec Id Decl [Id] (Maybe [InitGroup]) [BlockItem] !SrcLoc |
Instances
| Data Func Source # | |
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 # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Func # dataTypeOf :: Func -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Func) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Func) # gmapT :: (forall b. Data b => b -> b) -> Func -> Func # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Func -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Func -> r # gmapQ :: (forall d. Data d => d -> u) -> Func -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Func -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Func -> m Func # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Func -> m Func # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Func -> m Func # | |
| Show Func Source # | |
| Eq Func Source # | |
| Ord Func Source # | |
| Pretty Func Source # | |
| Located Func Source # | |
| Relocatable 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
| Data Definition Source # | |
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 # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Definition # toConstr :: Definition -> Constr # dataTypeOf :: Definition -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Definition) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Definition) # gmapT :: (forall b. Data b => b -> b) -> Definition -> Definition # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Definition -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Definition -> r # gmapQ :: (forall d. Data d => d -> u) -> Definition -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Definition -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Definition -> m Definition # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Definition -> m Definition # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Definition -> m Definition # | |
| Show Definition Source # | |
Defined in Language.C.Syntax Methods showsPrec :: Int -> Definition -> ShowS show :: Definition -> String showList :: [Definition] -> ShowS | |
| Eq Definition Source # | |
Defined in Language.C.Syntax | |
| Ord Definition Source # | |
Defined in Language.C.Syntax Methods compare :: Definition -> Definition -> Ordering (<) :: Definition -> Definition -> Bool (<=) :: Definition -> Definition -> Bool (>) :: Definition -> Definition -> Bool (>=) :: Definition -> Definition -> Bool max :: Definition -> Definition -> Definition min :: Definition -> Definition -> Definition | |
| Pretty Definition Source # | |
Defined in Language.C.Pretty Methods ppr :: Definition -> Doc Source # pprPrec :: Int -> Definition -> Doc Source # pprList :: [Definition] -> Doc Source # | |
| Located Definition Source # | |
Defined in Language.C.Syntax | |
| Relocatable Definition Source # | |
Defined in Language.C.Syntax Methods reloc :: Loc -> Definition -> Definition 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 |
| ObjCThrow (Maybe Exp) !SrcLoc | |
| ObjCSynchronized Exp [BlockItem] !SrcLoc | |
| ObjCAutoreleasepool [BlockItem] !SrcLoc |
Instances
| Data Stm Source # | |
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 # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Stm # dataTypeOf :: Stm -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Stm) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Stm) # gmapT :: (forall b. Data b => b -> b) -> Stm -> Stm # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Stm -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Stm -> r # gmapQ :: (forall d. Data d => d -> u) -> Stm -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Stm -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Stm -> m Stm # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Stm -> m Stm # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Stm -> m Stm # | |
| Show Stm Source # | |
| Eq Stm Source # | |
| Ord Stm Source # | |
| Pretty Stm Source # | |
| Located Stm Source # | |
| Relocatable Stm Source # | |
Constructors
| BlockDecl InitGroup | |
| BlockStm Stm | |
| AntiBlockItem String !SrcLoc | |
| AntiBlockItems String !SrcLoc |
Instances
| Data BlockItem Source # | |
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 # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c BlockItem # toConstr :: BlockItem -> Constr # dataTypeOf :: BlockItem -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c BlockItem) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c BlockItem) # gmapT :: (forall b. Data b => b -> b) -> BlockItem -> BlockItem # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> BlockItem -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> BlockItem -> r # gmapQ :: (forall d. Data d => d -> u) -> BlockItem -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> BlockItem -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> BlockItem -> m BlockItem # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> BlockItem -> m BlockItem # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> BlockItem -> m BlockItem # | |
| Show BlockItem Source # | |
| Eq BlockItem Source # | |
| Ord BlockItem Source # | |
Defined in Language.C.Syntax | |
| Pretty BlockItem Source # | |
| Located BlockItem Source # | |
| Relocatable BlockItem Source # | |
Instances
| Data Signed Source # | |
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 # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Signed # toConstr :: Signed -> Constr # dataTypeOf :: Signed -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Signed) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Signed) # gmapT :: (forall b. Data b => b -> b) -> Signed -> Signed # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Signed -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Signed -> r # gmapQ :: (forall d. Data d => d -> u) -> Signed -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Signed -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Signed -> m Signed # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Signed -> m Signed # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Signed -> m Signed # | |
| Show Signed Source # | |
| Eq Signed Source # | |
| Ord Signed 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
| Data Const Source # | |
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 # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Const # dataTypeOf :: Const -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Const) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Const) # gmapT :: (forall b. Data b => b -> b) -> Const -> Const # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Const -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Const -> r # gmapQ :: (forall d. Data d => d -> u) -> Const -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Const -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Const -> m Const # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Const -> m Const # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Const -> m Const # | |
| Show Const Source # | |
| Eq Const Source # | |
| Ord Const Source # | |
| ToConst Const Source # | |
| Pretty Const Source # | |
| Located Const Source # | |
| Relocatable Const Source # | |
Constructors
Instances
| Data Exp Source # | |
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 # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Exp # dataTypeOf :: Exp -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Exp) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Exp) # gmapT :: (forall b. Data b => b -> b) -> Exp -> Exp # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Exp -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Exp -> r # gmapQ :: (forall d. Data d => d -> u) -> Exp -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Exp -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Exp -> m Exp # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Exp -> m Exp # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Exp -> m Exp # | |
| Enum Exp | |
| Floating Exp | |
Defined in Language.C.Smart Methods | |
| Num Exp | |
| Fractional Exp | |
Defined in Language.C.Smart | |
| Integral Exp | |
| Real Exp | |
Defined in Language.C.Smart Methods toRational :: Exp -> Rational | |
| Show Exp Source # | |
| Eq Exp Source # | |
| Ord Exp Source # | |
| ToExp Exp Source # | |
| Pretty Exp Source # | |
| Located Exp Source # | |
| Relocatable Exp Source # | |
Instances
| Data BinOp Source # | |
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 # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c BinOp # dataTypeOf :: BinOp -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c BinOp) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c BinOp) # gmapT :: (forall b. Data b => b -> b) -> BinOp -> BinOp # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> BinOp -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> BinOp -> r # gmapQ :: (forall d. Data d => d -> u) -> BinOp -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> BinOp -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> BinOp -> m BinOp # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> BinOp -> m BinOp # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> BinOp -> m BinOp # | |
| Show BinOp Source # | |
| Eq BinOp Source # | |
| Ord BinOp Source # | |
| CFixity BinOp Source # | |
| Pretty BinOp Source # | |
Constructors
| JustAssign | |
| AddAssign | |
| SubAssign | |
| MulAssign | |
| DivAssign | |
| ModAssign | |
| LshAssign | |
| RshAssign | |
| AndAssign | |
| XorAssign | |
| OrAssign |
Instances
| Data AssignOp Source # | |
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 # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c AssignOp # toConstr :: AssignOp -> Constr # dataTypeOf :: AssignOp -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c AssignOp) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c AssignOp) # gmapT :: (forall b. Data b => b -> b) -> AssignOp -> AssignOp # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> AssignOp -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> AssignOp -> r # gmapQ :: (forall d. Data d => d -> u) -> AssignOp -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> AssignOp -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> AssignOp -> m AssignOp # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> AssignOp -> m AssignOp # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> AssignOp -> m AssignOp # | |
| Show AssignOp Source # | |
| Eq AssignOp Source # | |
| Ord AssignOp Source # | |
| CFixity AssignOp Source # | |
| Pretty AssignOp Source # | |
Instances
| Data UnOp Source # | |
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 # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c UnOp # dataTypeOf :: UnOp -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c UnOp) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c UnOp) # gmapT :: (forall b. Data b => b -> b) -> UnOp -> UnOp # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> UnOp -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> UnOp -> r # gmapQ :: (forall d. Data d => d -> u) -> UnOp -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> UnOp -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> UnOp -> m UnOp # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> UnOp -> m UnOp # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> UnOp -> m UnOp # | |
| Show UnOp Source # | |
| Eq UnOp Source # | |
| Ord UnOp Source # | |
| CFixity UnOp Source # | |
| Pretty UnOp Source # | |
type AsmTemplate = StringLit Source #
Instances
| Data AsmOut Source # | |
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 # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c AsmOut # toConstr :: AsmOut -> Constr # dataTypeOf :: AsmOut -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c AsmOut) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c AsmOut) # gmapT :: (forall b. Data b => b -> b) -> AsmOut -> AsmOut # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> AsmOut -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> AsmOut -> r # gmapQ :: (forall d. Data d => d -> u) -> AsmOut -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> AsmOut -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> AsmOut -> m AsmOut # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> AsmOut -> m AsmOut # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> AsmOut -> m AsmOut # | |
| Show AsmOut Source # | |
| Eq AsmOut Source # | |
| Ord AsmOut Source # | |
| Pretty AsmOut Source # | |
Instances
| Data AsmIn Source # | |
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 # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c AsmIn # dataTypeOf :: AsmIn -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c AsmIn) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c AsmIn) # gmapT :: (forall b. Data b => b -> b) -> AsmIn -> AsmIn # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> AsmIn -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> AsmIn -> r # gmapQ :: (forall d. Data d => d -> u) -> AsmIn -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> AsmIn -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> AsmIn -> m AsmIn # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> AsmIn -> m AsmIn # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> AsmIn -> m AsmIn # | |
| Show AsmIn Source # | |
| Eq AsmIn Source # | |
| Ord AsmIn Source # | |
| Pretty AsmIn Source # | |
type AsmClobber = String Source #
Instances
| Data BlockType Source # | |
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 # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c BlockType # toConstr :: BlockType -> Constr # dataTypeOf :: BlockType -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c BlockType) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c BlockType) # gmapT :: (forall b. Data b => b -> b) -> BlockType -> BlockType # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> BlockType -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> BlockType -> r # gmapQ :: (forall d. Data d => d -> u) -> BlockType -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> BlockType -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> BlockType -> m BlockType # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> BlockType -> m BlockType # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> BlockType -> m BlockType # | |
| Show BlockType Source # | |
| Eq BlockType Source # | |
| Ord BlockType Source # | |
Defined in Language.C.Syntax | |
| Pretty BlockType Source # | |
| Located BlockType Source # | |
| Relocatable BlockType Source # | |
data ObjCIvarDecl Source #
Constructors
| ObjCIvarVisi ObjCVisibilitySpec !SrcLoc | |
| ObjCIvarDecl FieldGroup !SrcLoc |
Instances
data ObjCVisibilitySpec Source #
Constructors
| ObjCPrivate !SrcLoc | |
| ObjCPublic !SrcLoc | |
| ObjCProtected !SrcLoc | |
| ObjCPackage !SrcLoc |
Instances
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
data ObjCPropAttr Source #
Constructors
Instances
data ObjCMethodReq Source #
Constructors
| ObjCRequired !SrcLoc | |
| ObjCOptional !SrcLoc |
Instances
Constructors
| ObjCParam (Maybe Id) (Maybe Type) [Attr] (Maybe Id) !SrcLoc | |
| AntiObjCParam String !SrcLoc | |
| AntiObjCParams String !SrcLoc |
Instances
| Data ObjCParam Source # | |
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 # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ObjCParam # toConstr :: ObjCParam -> Constr # dataTypeOf :: ObjCParam -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c ObjCParam) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ObjCParam) # gmapT :: (forall b. Data b => b -> b) -> ObjCParam -> ObjCParam # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ObjCParam -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ObjCParam -> r # gmapQ :: (forall d. Data d => d -> u) -> ObjCParam -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> ObjCParam -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> ObjCParam -> m ObjCParam # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> ObjCParam -> m ObjCParam # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> ObjCParam -> m ObjCParam # | |
| Show ObjCParam Source # | |
| Eq ObjCParam Source # | |
| Ord ObjCParam Source # | |
Defined in Language.C.Syntax | |
| Pretty ObjCParam Source # | |
| Located ObjCParam Source # | |
| Relocatable 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
| Data ObjCCatch Source # | |
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 # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ObjCCatch # toConstr :: ObjCCatch -> Constr # dataTypeOf :: ObjCCatch -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c ObjCCatch) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ObjCCatch) # gmapT :: (forall b. Data b => b -> b) -> ObjCCatch -> ObjCCatch # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ObjCCatch -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ObjCCatch -> r # gmapQ :: (forall d. Data d => d -> u) -> ObjCCatch -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> ObjCCatch -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> ObjCCatch -> m ObjCCatch # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> ObjCCatch -> m ObjCCatch # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> ObjCCatch -> m ObjCCatch # | |
| Show ObjCCatch Source # | |
| Eq ObjCCatch Source # | |
| Ord ObjCCatch Source # | |
Defined in Language.C.Syntax | |
| Pretty ObjCCatch Source # | |
| Located ObjCCatch Source # | |
| Relocatable ObjCCatch Source # | |
data ObjCDictElem Source #
Constructors
| ObjCDictElem Exp Exp !SrcLoc | |
| AntiObjCDictElems String !SrcLoc |
Instances
Constructors
| ObjCRecvSuper !SrcLoc | |
| ObjCRecvExp Exp !SrcLoc | |
| AntiObjCRecv String !SrcLoc |
Instances
| Data ObjCRecv Source # | |
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 # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ObjCRecv # toConstr :: ObjCRecv -> Constr # dataTypeOf :: ObjCRecv -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c ObjCRecv) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ObjCRecv) # gmapT :: (forall b. Data b => b -> b) -> ObjCRecv -> ObjCRecv # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ObjCRecv -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ObjCRecv -> r # gmapQ :: (forall d. Data d => d -> u) -> ObjCRecv -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> ObjCRecv -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> ObjCRecv -> m ObjCRecv # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> ObjCRecv -> m ObjCRecv # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> ObjCRecv -> m ObjCRecv # | |
| Show ObjCRecv Source # | |
| Eq ObjCRecv Source # | |
| Ord ObjCRecv Source # | |
| Pretty ObjCRecv Source # | |
| Located ObjCRecv Source # | |
| Relocatable ObjCRecv Source # | |
Constructors
| ObjCArg (Maybe Id) (Maybe Exp) !SrcLoc | |
| AntiObjCArg String !SrcLoc | |
| AntiObjCArgs String !SrcLoc |
Instances
| Data ObjCArg Source # | |
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 # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ObjCArg # toConstr :: ObjCArg -> Constr # dataTypeOf :: ObjCArg -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c ObjCArg) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ObjCArg) # gmapT :: (forall b. Data b => b -> b) -> ObjCArg -> ObjCArg # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ObjCArg -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ObjCArg -> r # gmapQ :: (forall d. Data d => d -> u) -> ObjCArg -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> ObjCArg -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> ObjCArg -> m ObjCArg # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> ObjCArg -> m ObjCArg # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> ObjCArg -> m ObjCArg # | |
| Show ObjCArg Source # | |
| Eq ObjCArg Source # | |
| Ord ObjCArg Source # | |
| Located ObjCArg Source # | |
| Relocatable ObjCArg Source # | |
data LambdaIntroducer Source #
Constructors
| LambdaIntroducer [CaptureListEntry] !SrcLoc |
Instances
data LambdaDeclarator Source #
Constructors
| LambdaDeclarator Params Bool (Maybe Type) !SrcLoc |
Instances
data CaptureListEntry Source #
Constructors
| DefaultByReference | |
| DefaultByValue |
Instances
Constructors
| ExeConfig | |
Fields
| |
Instances
| Data ExeConfig Source # | |
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 # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ExeConfig # toConstr :: ExeConfig -> Constr # dataTypeOf :: ExeConfig -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c ExeConfig) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ExeConfig) # gmapT :: (forall b. Data b => b -> b) -> ExeConfig -> ExeConfig # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ExeConfig -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ExeConfig -> r # gmapQ :: (forall d. Data d => d -> u) -> ExeConfig -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> ExeConfig -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> ExeConfig -> m ExeConfig # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> ExeConfig -> m ExeConfig # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> ExeConfig -> m ExeConfig # | |
| Show ExeConfig Source # | |
| Eq ExeConfig Source # | |
| Ord ExeConfig Source # | |
Defined in Language.C.Syntax | |
| Located ExeConfig Source # | |
| Relocatable ExeConfig Source # | |