Modulelanguage-c-0.9.3Haskell2010
Language.C.Syntax.Constants
This module provides support for representing, checking and exporting c constants, i.e. integral, float, character and string constants.
- 8 types
- 25 values
- Packagelanguage-c-0.9.3
- Exports33
- LanguageHaskell2010
- LicenceBSD-3-Clause
- SourceConstants.hs
Utilities
8 declarationsInstances8Generic1, Eq, Data, Ord, Generic, NFData, …
Generic1 FlagsDefined in language-c-0.9.3 · Language.C.Syntax.ConstantsEq (Flags f)Defined in language-c-0.9.3 · Language.C.Syntax.ConstantsData f => Data (Flags f)Defined in language-c-0.9.3 · Language.C.Syntax.ConstantsOrd (Flags f)Defined in language-c-0.9.3 · Language.C.Syntax.ConstantsGeneric (Flags f)Defined in language-c-0.9.3 · Language.C.Syntax.ConstantsNFData (Flags f)Defined in language-c-0.9.3 · Language.C.Syntax.Constantstype Rep (Flags f) = D1 ('MetaDataDefined in language-c-0.9.3 · Language.C.Syntax.Constants"Flags"
"Language.C.Syntax.Constants"
"language-c-0.9.3-1R0ug4QGHoOAJ44VHsaTbU"
'True) (C1 ('MetaCons"Flags"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Integer)))type Rep1 Flags = D1 ('MetaDataDefined in language-c-0.9.3 · Language.C.Syntax.Constants"Flags"
"Language.C.Syntax.Constants"
"language-c-0.9.3-1R0ug4QGHoOAJ44VHsaTbU"
'True) (C1 ('MetaCons"Flags"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Integer)))
C char constants (and multi-character character constants)
8 declarationsconstruct a character constant from a haskell Char
Use cchar_w if you want a wide character constant.
construct a wide chararacter constant
create a multi-character character constant
Instances7Eq, Data, Ord, Show, Generic, NFData, …
Eq CCharDefined in language-c-0.9.3 · Language.C.Syntax.ConstantsData CCharDefined in language-c-0.9.3 · Language.C.Syntax.ConstantsOrd CCharDefined in language-c-0.9.3 · Language.C.Syntax.ConstantsShow CCharDefined in language-c-0.9.3 · Language.C.Syntax.ConstantsGeneric CCharDefined in language-c-0.9.3 · Language.C.Syntax.ConstantsNFData CCharDefined in language-c-0.9.3 · Language.C.Syntax.Constantstype Rep CChar = D1 ('MetaDataDefined in language-c-0.9.3 · Language.C.Syntax.Constants"CChar"
"Language.C.Syntax.Constants"
"language-c-0.9.3-1R0ug4QGHoOAJ44VHsaTbU"
'False) (C1 ('MetaCons"CChar"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'SourceStrict 'DecidedUnpack) (Rec0 Char) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Bool)) :+: C1 ('MetaCons"CChars"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Char]) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Bool)))
get the haskell representation of a char constant
get integer value of a C char constant undefined result for multi-char char constants
return true if the character constant is wide.
showCharConst c prepends _a_ String representing the C char constant corresponding to c.
If necessary uses octal or hexadecimal escape sequences.
C integral constants
6 declarationsdatatype representing type flags for integers
Instances9Bounded, Enum, Eq, Data, Ord, Show, …
Bounded CIntFlagDefined in language-c-0.9.3 · Language.C.Syntax.ConstantsEnum CIntFlagDefined in language-c-0.9.3 · Language.C.Syntax.ConstantsEq CIntFlagDefined in language-c-0.9.3 · Language.C.Syntax.ConstantsData CIntFlagDefined in language-c-0.9.3 · Language.C.Syntax.ConstantsOrd CIntFlagDefined in language-c-0.9.3 · Language.C.Syntax.ConstantsShow CIntFlagDefined in language-c-0.9.3 · Language.C.Syntax.ConstantsGeneric CIntFlagDefined in language-c-0.9.3 · Language.C.Syntax.ConstantsNFData CIntFlagDefined in language-c-0.9.3 · Language.C.Syntax.Constantstype Rep CIntFlag = D1 ('MetaDataDefined in language-c-0.9.3 · Language.C.Syntax.Constants"CIntFlag"
"Language.C.Syntax.Constants"
"language-c-0.9.3-1R0ug4QGHoOAJ44VHsaTbU"
'False) ((C1 ('MetaCons"FlagUnsigned"
'PrefixI 'False) U1 :+: C1 ('MetaCons"FlagLong"
'PrefixI 'False) U1) :+: (C1 ('MetaCons"FlagLongLong"
'PrefixI 'False) U1 :+: C1 ('MetaCons"FlagImag"
'PrefixI 'False) U1))
Instances8Bounded, Enum, Eq, Data, Ord, Generic, …
Bounded CIntReprDefined in language-c-0.9.3 · Language.C.Syntax.ConstantsEnum CIntReprDefined in language-c-0.9.3 · Language.C.Syntax.ConstantsEq CIntReprDefined in language-c-0.9.3 · Language.C.Syntax.ConstantsData CIntReprDefined in language-c-0.9.3 · Language.C.Syntax.ConstantsOrd CIntReprDefined in language-c-0.9.3 · Language.C.Syntax.ConstantsGeneric CIntReprDefined in language-c-0.9.3 · Language.C.Syntax.ConstantsNFData CIntReprDefined in language-c-0.9.3 · Language.C.Syntax.Constantstype Rep CIntRepr = D1 ('MetaDataDefined in language-c-0.9.3 · Language.C.Syntax.Constants"CIntRepr"
"Language.C.Syntax.Constants"
"language-c-0.9.3-1R0ug4QGHoOAJ44VHsaTbU"
'False) (C1 ('MetaCons"DecRepr"
'PrefixI 'False) U1 :+: (C1 ('MetaCons"HexRepr"
'PrefixI 'False) U1 :+: C1 ('MetaCons"OctalRepr"
'PrefixI 'False) U1))
construct a integer constant (without type flags) from a haskell integer
Instances7Eq, Data, Ord, Show, Generic, NFData, …
Eq CIntegerDefined in language-c-0.9.3 · Language.C.Syntax.ConstantsData CIntegerDefined in language-c-0.9.3 · Language.C.Syntax.ConstantsOrd CIntegerDefined in language-c-0.9.3 · Language.C.Syntax.ConstantsShow CIntegerDefined in language-c-0.9.3 · Language.C.Syntax.ConstantsGeneric CIntegerDefined in language-c-0.9.3 · Language.C.Syntax.ConstantsNFData CIntegerDefined in language-c-0.9.3 · Language.C.Syntax.Constantstype Rep CInteger = D1 ('MetaDataDefined in language-c-0.9.3 · Language.C.Syntax.Constants"CInteger"
"Language.C.Syntax.Constants"
"language-c-0.9.3-1R0ug4QGHoOAJ44VHsaTbU"
'False) (C1 ('MetaCons"CInteger"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Integer) :*: (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 CIntRepr) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Flags CIntFlag)))))
C floating point constants
3 declarationsInstances7Eq, Data, Ord, Show, Generic, NFData, …
Eq CFloatDefined in language-c-0.9.3 · Language.C.Syntax.ConstantsData CFloatDefined in language-c-0.9.3 · Language.C.Syntax.ConstantsOrd CFloatDefined in language-c-0.9.3 · Language.C.Syntax.ConstantsShow CFloatDefined in language-c-0.9.3 · Language.C.Syntax.ConstantsGeneric CFloatDefined in language-c-0.9.3 · Language.C.Syntax.ConstantsNFData CFloatDefined in language-c-0.9.3 · Language.C.Syntax.Constantstype Rep CFloat = D1 ('MetaDataDefined in language-c-0.9.3 · Language.C.Syntax.Constants"CFloat"
"Language.C.Syntax.Constants"
"language-c-0.9.3-1R0ug4QGHoOAJ44VHsaTbU"
'False) (C1 ('MetaCons"CFloat"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 String)))
C string literals
6 declarationsInstances7Eq, Data, Ord, Show, Generic, NFData, …
Eq CStringDefined in language-c-0.9.3 · Language.C.Syntax.ConstantsData CStringDefined in language-c-0.9.3 · Language.C.Syntax.ConstantsOrd CStringDefined in language-c-0.9.3 · Language.C.Syntax.ConstantsShow CStringDefined in language-c-0.9.3 · Language.C.Syntax.ConstantsGeneric CStringDefined in language-c-0.9.3 · Language.C.Syntax.ConstantsNFData CStringDefined in language-c-0.9.3 · Language.C.Syntax.Constantstype Rep CString = D1 ('MetaDataDefined in language-c-0.9.3 · Language.C.Syntax.Constants"CString"
"Language.C.Syntax.Constants"
"language-c-0.9.3-1R0ug4QGHoOAJ44VHsaTbU"
'False) (C1 ('MetaCons"CString"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)))
showStringLiteral s prepends a String representing the C string literal corresponding to s.
If necessary it uses octal or hexadecimal escape sequences.
concatenate a list of C string literals
Clang C version literals
2 declarationsClang dotted version literal https://clang.llvm.org/docs/AttributeReference.html#availability
Constructors
Instances4Eq, Data, Ord, Show
Eq ClangCVersionDefined in language-c-0.9.3 · Language.C.Syntax.ConstantsData ClangCVersionDefined in language-c-0.9.3 · Language.C.Syntax.ConstantsOrd ClangCVersionDefined in language-c-0.9.3 · Language.C.Syntax.ConstantsShow ClangCVersionDefined in language-c-0.9.3 · Language.C.Syntax.Constants