packages feed

language-c-quote 0.7.1 → 0.7.2

raw patch · 6 files changed

+75/−42 lines, 6 filesPVP ok

version bump matches the API change (PVP)

API changes (from Hackage documentation)

+ Language.C.Quote.Base: instance ToIdent (SrcLoc -> Id)
+ Language.C.Quote.Base: instance ToIdent Id
+ Language.C.Quote.Base: instance ToIdent String

Files

Language/C/Pretty.hs view
@@ -497,7 +497,7 @@         text "@property"         <+> case attrs of               [] -> empty-              _  -> parensList (map ppr attrs)+              _  -> parensList (map ppr attrs) <> space         <> ppr field         <> semi     ppr (ObjCIfaceReq req loc)          @@ -529,12 +529,11 @@ instance Pretty ObjCParm where     ppr (ObjCParm sel ty attrs arg loc)       = pprLoc loc $-        maybe empty ppr sel-        <> case (sel, arg) of-             (Nothing , Nothing) -> error $ "pretty printing 'ObjCParm': empty " ++ show loc-             (Just sid, Nothing) -> ppr sid-             (_       , Just pid) -               -> maybe empty ppr sel <> colon <> maybe empty (parens . ppr) ty <> ppr attrs <> ppr pid+        case (sel, arg) of+         (Nothing , Nothing) -> error $ "pretty printing 'ObjCParm': empty " ++ show loc+         (Just sid, Nothing) -> ppr sid+         (_       , Just pid) +           -> maybe empty ppr sel <> colon <> maybe empty (parens . ppr) ty <> ppr attrs <> ppr pid  instance Pretty ObjCMethodProto where     ppr (ObjCMethodProto isClassMeth resTy attrs1 parms vargs attrs2 loc) 
Language/C/Quote/Base.hs view
@@ -40,6 +40,18 @@ import qualified Language.C.Parser as P import qualified Language.C.Syntax as C +class ToIdent a where+    toIdent :: a -> SrcLoc -> C.Id++instance ToIdent C.Id where+    toIdent ident _ = ident++instance ToIdent (SrcLoc -> C.Id) where+    toIdent ident = ident++instance ToIdent String where+    toIdent s loc = C.Id s loc+ class ToExp a where     toExp :: a -> SrcLoc -> C.Exp @@ -77,7 +89,7 @@ qqStringE s = Just $ litE $ stringL s  qqIdE :: C.Id -> Maybe (Q Exp)-qqIdE (C.AntiId v loc)  = Just [|C.Id $(antiVarE v) $(qqLocE loc)|]+qqIdE (C.AntiId v loc)  = Just [|toIdent $(antiVarE v) $(qqLocE loc)|] qqIdE _                 = Nothing  qqDeclSpecE :: C.DeclSpec -> Maybe (Q Exp)
Language/C/Quote/OpenCL.hs view
@@ -31,11 +31,16 @@  typenames :: [String] typenames =-    concatMap typeN-    ["char", "uchar", "short", "ushort", "int", "uint",-     "long" , "ulong", "float", "double", "bool", "half", "quad"] ++-    ["uchar", "ushort", "uint", "ulong",-    "half", "quad", "image2d_t", "image3d_t", "sampler_t", "event_t"]+    ["bool", "char", "uchar", "short", "ushort", "int", "uint",+     "long" , "ulong", "float", "half"]+    ++ ["size_t", "ptrdiff_t", "intptr_t", "uintpyt_t", "void"]+    ++ concatMap typeN ["char", "uchar", "short", "ushort",+                        "int", "uint", "long", "ulong", "float"]+    ++ ["image2d_t", "image3d_t", "sampler_t", "event_t"]+    -- OpenCL 1.2+    ++ ["double"]+    ++ concatMap typeN ["double"]+    ++ ["image2d_array_t", "image1d_t", "image1d_buffer_t", "image1d_array_t"]  typeN :: String -> [String] typeN typename = [typename ++ show n | n <- [2, 3, 4, 8, 16 :: Integer]]
dist/build/Language/C/Parser/Lexer.hs view
@@ -74,7 +74,7 @@ alex_deflt :: AlexAddr alex_deflt = AlexA# "\xff\xff\xff\xff\x80\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4b\x00\x4b\x00\x60\x00\x60\x00\xff\xff\x65\x00\x65\x00\xff\xff\x6b\x00\x6b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7a\x00\x7a\x00\x7c\x00\x7c\x00\x7e\x00\x7e\x00\x80\x00\x80\x00\x80\x00\x81\x00\x81\x00\x83\x00\x83\x00\x88\x00\x88\x00\x89\x00\x89\x00\x8b\x00\x8b\x00\x90\x00\x90\x00\x91\x00\x91\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa8\x00\xa8\x00\xab\x00\xab\x00\xae\x00\xae\x00\x80\x00\xb1\x00\xb1\x00\xb4\x00\xb4\x00\xb6\x00\xff\xff\xb6\x00\xb6\x00\xb8\x00\xb8\x00\xbb\x00\xbb\x00\xbd\x00\xff\xff\xbd\x00\xbd\x00\xbf\x00\xbf\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1a\x01\x1a\x01\x1a\x01\x22\x01\x22\x01\x22\x01\x23\x01\x23\x01\x23\x01\x0e\x01\x0e\x01\x0e\x01\x0b\x01\x0b\x01\x0b\x01\x0a\x01\xb6\x00\x0a\x01\x0a\x01\x09\x01\x09\x01\x09\x01\x08\x01\xbd\x00\x08\x01\x08\x01\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x08\x01\x09\x01\x0a\x01\x0b\x01\xff\xff\x1a\x01\x0e\x01\xff\xff\x1a\x01\x1a\x01\x1a\x01\x1a\x01\x1a\x01\x1a\x01\x1a\x01\x1a\x01\x1a\x01\x1a\x01\x1a\x01\x1a\x01\x1a\x01\x1a\x01\x1a\x01\x1a\x01\x1a\x01\x1a\x01\x22\x01\x23\x01\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff"# -alex_accept = listArray (0::Int,386) [[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[(AlexAccPred  (alex_action_0) ( allowAnti )),(AlexAcc (alex_action_45))],[(AlexAccPred  (alex_action_1) ( allowAnti ))],[(AlexAccPred  (alex_action_2) ( allowAnti ))],[(AlexAccPred  (alex_action_3) ( allowAnti ))],[(AlexAccPred  (alex_action_4) ( allowAnti ))],[(AlexAccPred  (alex_action_5) ( allowAnti ))],[(AlexAccPred  (alex_action_6) ( allowAnti ))],[(AlexAccPred  (alex_action_7) ( allowAnti ))],[(AlexAccPred  (alex_action_8) ( allowAnti ))],[(AlexAccPred  (alex_action_9) ( allowAnti ))],[(AlexAccPred  (alex_action_10) ( allowAnti ))],[(AlexAccPred  (alex_action_11) ( allowAnti ))],[(AlexAccPred  (alex_action_12) ( allowAnti ))],[(AlexAccPred  (alex_action_13) ( allowAnti ))],[(AlexAccPred  (alex_action_14) ( allowAnti ))],[(AlexAccPred  (alex_action_15) ( allowAnti ))],[(AlexAccPred  (alex_action_16) ( allowAnti ))],[(AlexAccPred  (alex_action_17) ( allowAnti ))],[(AlexAccPred  (alex_action_18) ( allowAnti ))],[(AlexAccPred  (alex_action_19) ( allowAnti ))],[(AlexAccPred  (alex_action_20) ( allowAnti ))],[(AlexAccPred  (alex_action_21) ( allowAnti ))],[(AlexAccPred  (alex_action_22) ( allowAnti ))],[(AlexAccPred  (alex_action_23) ( allowAnti ))],[(AlexAccPred  (alex_action_24) ( allowAnti ))],[(AlexAccPred  (alex_action_25) ( allowAnti ))],[(AlexAccPred  (alex_action_26) ( allowAnti ))],[(AlexAccPred  (alex_action_27) ( allowAnti ))],[(AlexAccPred  (alex_action_28) ( allowAnti ))],[(AlexAccPred  (alex_action_29) ( allowAnti ))],[(AlexAccPred  (alex_action_30) ( allowAnti ))],[(AlexAccPred  (alex_action_31) ( allowAnti ))],[(AlexAccPred  (alex_action_32) ( allowAnti ))],[(AlexAccPred  (alex_action_33) ( allowAnti ))],[(AlexAccPred  (alex_action_34) ( allowAnti ))],[(AlexAccPred  (alex_action_35) ( allowAnti ))],[(AlexAccPred  (alex_action_36) ( allowAnti ))],[(AlexAccPred  (alex_action_37) (alexPrevCharMatches(\c -> c >= '\n' && c <= '\n' || False)))],[(AlexAccPred  (alex_action_37) (alexPrevCharMatches(\c -> c >= '\n' && c <= '\n' || False))),(AlexAccSkipPred  (alexPrevCharMatches(\c -> c >= '\n' && c <= '\n' || False)))],[(AlexAccPred  (alex_action_38) (alexPrevCharMatches(\c -> c >= '\n' && c <= '\n' || False)))],[(AlexAccPred  (alex_action_38) (alexPrevCharMatches(\c -> c >= '\n' && c <= '\n' || False))),(AlexAccSkipPred  (alexPrevCharMatches(\c -> c >= '\n' && c <= '\n' || False)))],[(AlexAccPred  (alex_action_39) (alexPrevCharMatches(\c -> c >= '\n' && c <= '\n' || False)))],[(AlexAccPred  (alex_action_39) (alexPrevCharMatches(\c -> c >= '\n' && c <= '\n' || False))),(AlexAccSkipPred  (alexPrevCharMatches(\c -> c >= '\n' && c <= '\n' || False)))],[(AlexAccSkip)],[(AlexAccSkip)],[(AlexAccSkipPred  (alexPrevCharMatches(\c -> c >= '\n' && c <= '\n' || False)))],[(AlexAccSkipPred  (alexPrevCharMatches(\c -> c >= '\n' && c <= '\n' || False)))],[(AlexAccSkipPred  (alexPrevCharMatches(\c -> c >= '\n' && c <= '\n' || False)))],[(AlexAccSkipPred  (alexPrevCharMatches(\c -> c >= '\n' && c <= '\n' || False)))],[(AlexAccSkipPred  (alexPrevCharMatches(\c -> c >= '\n' && c <= '\n' || False)))],[(AlexAccSkipPred  (alexPrevCharMatches(\c -> c >= '\n' && c <= '\n' || False)))],[(AlexAccSkipPred  (alexPrevCharMatches(\c -> c >= '\n' && c <= '\n' || False)))],[(AlexAccSkipPred  (alexPrevCharMatches(\c -> c >= '\n' && c <= '\n' || False)))],[(AlexAccSkipPred  (alexPrevCharMatches(\c -> c >= '\n' && c <= '\n' || False)))],[(AlexAccSkipPred  (alexPrevCharMatches(\c -> c >= '\n' && c <= '\n' || False)))],[(AlexAccSkipPred  (alexPrevCharMatches(\c -> c >= '\n' && c <= '\n' || False)))],[(AlexAccSkipPred  (alexPrevCharMatches(\c -> c >= '\n' && c <= '\n' || False)))],[(AlexAccSkipPred  (alexPrevCharMatches(\c -> c >= '\n' && c <= '\n' || False)))],[(AlexAccSkipPred  (alexPrevCharMatches(\c -> c >= '\n' && c <= '\n' || False)))],[(AlexAccSkipPred  (alexPrevCharMatches(\c -> c >= '\n' && c <= '\n' || False)))],[(AlexAccSkipPred  (alexPrevCharMatches(\c -> c >= '\n' && c <= '\n' || False)))],[(AlexAccSkipPred  (alexPrevCharMatches(\c -> c >= '\n' && c <= '\n' || False)))],[(AlexAccSkipPred  (alexPrevCharMatches(\c -> c >= '\n' && c <= '\n' || False)))],[(AlexAccSkipPred  (alexPrevCharMatches(\c -> c >= '\n' && c <= '\n' || False)))],[(AlexAccSkipPred  (alexPrevCharMatches(\c -> c >= '\n' && c <= '\n' || False)))],[(AlexAccSkip)],[(AlexAccSkip)],[(AlexAcc (alex_action_45))],[(AlexAcc (alex_action_45))],[(AlexAcc (alex_action_45))],[(AlexAcc (alex_action_45))],[(AlexAcc (alex_action_45))],[(AlexAcc (alex_action_45))],[(AlexAcc (alex_action_45))],[(AlexAcc (alex_action_45))],[(AlexAcc (alex_action_45))],[(AlexAcc (alex_action_45))],[(AlexAcc (alex_action_45))],[(AlexAcc (alex_action_45))],[(AlexAcc (alex_action_45))],[(AlexAcc (alex_action_45))],[(AlexAcc (alex_action_45))],[(AlexAcc (alex_action_45))],[(AlexAcc (alex_action_45))],[(AlexAcc (alex_action_45))],[(AlexAcc (alex_action_45))],[(AlexAcc (alex_action_45))],[(AlexAcc (alex_action_46))],[(AlexAcc (alex_action_46))],[(AlexAcc (alex_action_46))],[(AlexAcc (alex_action_47))],[(AlexAcc (alex_action_47))],[(AlexAcc (alex_action_47))],[(AlexAcc (alex_action_47))],[(AlexAcc (alex_action_47))],[(AlexAcc (alex_action_47))],[(AlexAcc (alex_action_48))],[(AlexAcc (alex_action_48))],[(AlexAcc (alex_action_48))],[(AlexAcc (alex_action_48))],[(AlexAcc (alex_action_48))],[(AlexAcc (alex_action_48))],[(AlexAcc (alex_action_48))],[(AlexAcc (alex_action_49))],[(AlexAcc (alex_action_49))],[(AlexAcc (alex_action_49))],[(AlexAcc (alex_action_49))],[(AlexAcc (alex_action_49))],[(AlexAcc (alex_action_49))],[(AlexAcc (alex_action_50))],[(AlexAcc (alex_action_51))],[(AlexAcc (alex_action_52))],[(AlexAcc (alex_action_53))],[(AlexAcc (alex_action_54))],[(AlexAcc (alex_action_55))],[(AlexAcc (alex_action_56))],[(AlexAcc (alex_action_57))],[(AlexAcc (alex_action_58))],[(AlexAcc (alex_action_59))],[(AlexAcc (alex_action_60))],[(AlexAcc (alex_action_61))],[(AlexAcc (alex_action_62))],[(AlexAcc (alex_action_63))],[(AlexAcc (alex_action_64))],[(AlexAcc (alex_action_65))],[(AlexAcc (alex_action_66))],[(AlexAcc (alex_action_67))],[(AlexAcc (alex_action_68))],[(AlexAcc (alex_action_69))],[(AlexAcc (alex_action_70))],[(AlexAcc (alex_action_71))],[(AlexAcc (alex_action_72))],[(AlexAcc (alex_action_73))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_75))],[(AlexAcc (alex_action_76))],[(AlexAcc (alex_action_77))],[(AlexAcc (alex_action_78))],[(AlexAcc (alex_action_79))],[(AlexAcc (alex_action_80))],[(AlexAcc (alex_action_81))],[(AlexAcc (alex_action_82))],[(AlexAcc (alex_action_83))],[(AlexAcc (alex_action_84))],[(AlexAcc (alex_action_85))],[(AlexAcc (alex_action_86))],[(AlexAcc (alex_action_87))],[(AlexAcc (alex_action_88))],[(AlexAcc (alex_action_89))],[(AlexAcc (alex_action_90))],[(AlexAcc (alex_action_91))],[(AlexAcc (alex_action_92))],[(AlexAcc (alex_action_93))],[(AlexAcc (alex_action_94))],[(AlexAcc (alex_action_95))],[(AlexAcc (alex_action_96))],[(AlexAcc (alex_action_97))],[(AlexAccPred  (alex_action_98) ( ifExtension cudaExts ))],[(AlexAccPred  (alex_action_99) ( ifExtension cudaExts ))],[(AlexAccPred  (alex_action_100) ( ifExtension objcExts ))]]+alex_accept = listArray (0::Int,386) [AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccPred  (alex_action_0) ( allowAnti )(AlexAcc (alex_action_45)),AlexAccPred  (alex_action_1) ( allowAnti )(AlexAccNone),AlexAccPred  (alex_action_2) ( allowAnti )(AlexAccNone),AlexAccPred  (alex_action_3) ( allowAnti )(AlexAccNone),AlexAccPred  (alex_action_4) ( allowAnti )(AlexAccNone),AlexAccPred  (alex_action_5) ( allowAnti )(AlexAccNone),AlexAccPred  (alex_action_6) ( allowAnti )(AlexAccNone),AlexAccPred  (alex_action_7) ( allowAnti )(AlexAccNone),AlexAccPred  (alex_action_8) ( allowAnti )(AlexAccNone),AlexAccPred  (alex_action_9) ( allowAnti )(AlexAccNone),AlexAccPred  (alex_action_10) ( allowAnti )(AlexAccNone),AlexAccPred  (alex_action_11) ( allowAnti )(AlexAccNone),AlexAccPred  (alex_action_12) ( allowAnti )(AlexAccNone),AlexAccPred  (alex_action_13) ( allowAnti )(AlexAccNone),AlexAccPred  (alex_action_14) ( allowAnti )(AlexAccNone),AlexAccPred  (alex_action_15) ( allowAnti )(AlexAccNone),AlexAccPred  (alex_action_16) ( allowAnti )(AlexAccNone),AlexAccPred  (alex_action_17) ( allowAnti )(AlexAccNone),AlexAccPred  (alex_action_18) ( allowAnti )(AlexAccNone),AlexAccPred  (alex_action_19) ( allowAnti )(AlexAccNone),AlexAccPred  (alex_action_20) ( allowAnti )(AlexAccNone),AlexAccPred  (alex_action_21) ( allowAnti )(AlexAccNone),AlexAccPred  (alex_action_22) ( allowAnti )(AlexAccNone),AlexAccPred  (alex_action_23) ( allowAnti )(AlexAccNone),AlexAccPred  (alex_action_24) ( allowAnti )(AlexAccNone),AlexAccPred  (alex_action_25) ( allowAnti )(AlexAccNone),AlexAccPred  (alex_action_26) ( allowAnti )(AlexAccNone),AlexAccPred  (alex_action_27) ( allowAnti )(AlexAccNone),AlexAccPred  (alex_action_28) ( allowAnti )(AlexAccNone),AlexAccPred  (alex_action_29) ( allowAnti )(AlexAccNone),AlexAccPred  (alex_action_30) ( allowAnti )(AlexAccNone),AlexAccPred  (alex_action_31) ( allowAnti )(AlexAccNone),AlexAccPred  (alex_action_32) ( allowAnti )(AlexAccNone),AlexAccPred  (alex_action_33) ( allowAnti )(AlexAccNone),AlexAccPred  (alex_action_34) ( allowAnti )(AlexAccNone),AlexAccPred  (alex_action_35) ( allowAnti )(AlexAccNone),AlexAccPred  (alex_action_36) ( allowAnti )(AlexAccNone),AlexAccPred  (alex_action_37) (alexPrevCharMatches(\c -> c >= '\n' && c <= '\n' || False))(AlexAccNone),AlexAccPred  (alex_action_37) (alexPrevCharMatches(\c -> c >= '\n' && c <= '\n' || False))(AlexAccSkipPred  (alexPrevCharMatches(\c -> c >= '\n' && c <= '\n' || False))(AlexAccNone)),AlexAccPred  (alex_action_38) (alexPrevCharMatches(\c -> c >= '\n' && c <= '\n' || False))(AlexAccNone),AlexAccPred  (alex_action_38) (alexPrevCharMatches(\c -> c >= '\n' && c <= '\n' || False))(AlexAccSkipPred  (alexPrevCharMatches(\c -> c >= '\n' && c <= '\n' || False))(AlexAccNone)),AlexAccPred  (alex_action_39) (alexPrevCharMatches(\c -> c >= '\n' && c <= '\n' || False))(AlexAccNone),AlexAccPred  (alex_action_39) (alexPrevCharMatches(\c -> c >= '\n' && c <= '\n' || False))(AlexAccSkipPred  (alexPrevCharMatches(\c -> c >= '\n' && c <= '\n' || False))(AlexAccNone)),AlexAccSkip,AlexAccSkip,AlexAccSkipPred  (alexPrevCharMatches(\c -> c >= '\n' && c <= '\n' || False))(AlexAccNone),AlexAccSkipPred  (alexPrevCharMatches(\c -> c >= '\n' && c <= '\n' || False))(AlexAccNone),AlexAccSkipPred  (alexPrevCharMatches(\c -> c >= '\n' && c <= '\n' || False))(AlexAccNone),AlexAccSkipPred  (alexPrevCharMatches(\c -> c >= '\n' && c <= '\n' || False))(AlexAccNone),AlexAccSkipPred  (alexPrevCharMatches(\c -> c >= '\n' && c <= '\n' || False))(AlexAccNone),AlexAccSkipPred  (alexPrevCharMatches(\c -> c >= '\n' && c <= '\n' || False))(AlexAccNone),AlexAccSkipPred  (alexPrevCharMatches(\c -> c >= '\n' && c <= '\n' || False))(AlexAccNone),AlexAccSkipPred  (alexPrevCharMatches(\c -> c >= '\n' && c <= '\n' || False))(AlexAccNone),AlexAccSkipPred  (alexPrevCharMatches(\c -> c >= '\n' && c <= '\n' || False))(AlexAccNone),AlexAccSkipPred  (alexPrevCharMatches(\c -> c >= '\n' && c <= '\n' || False))(AlexAccNone),AlexAccSkipPred  (alexPrevCharMatches(\c -> c >= '\n' && c <= '\n' || False))(AlexAccNone),AlexAccSkipPred  (alexPrevCharMatches(\c -> c >= '\n' && c <= '\n' || False))(AlexAccNone),AlexAccSkipPred  (alexPrevCharMatches(\c -> c >= '\n' && c <= '\n' || False))(AlexAccNone),AlexAccSkipPred  (alexPrevCharMatches(\c -> c >= '\n' && c <= '\n' || False))(AlexAccNone),AlexAccSkipPred  (alexPrevCharMatches(\c -> c >= '\n' && c <= '\n' || False))(AlexAccNone),AlexAccSkipPred  (alexPrevCharMatches(\c -> c >= '\n' && c <= '\n' || False))(AlexAccNone),AlexAccSkipPred  (alexPrevCharMatches(\c -> c >= '\n' && c <= '\n' || False))(AlexAccNone),AlexAccSkipPred  (alexPrevCharMatches(\c -> c >= '\n' && c <= '\n' || False))(AlexAccNone),AlexAccSkipPred  (alexPrevCharMatches(\c -> c >= '\n' && c <= '\n' || False))(AlexAccNone),AlexAccSkipPred  (alexPrevCharMatches(\c -> c >= '\n' && c <= '\n' || False))(AlexAccNone),AlexAccSkip,AlexAccSkip,AlexAcc (alex_action_45),AlexAcc (alex_action_45),AlexAcc (alex_action_45),AlexAcc (alex_action_45),AlexAcc (alex_action_45),AlexAcc (alex_action_45),AlexAcc (alex_action_45),AlexAcc (alex_action_45),AlexAcc (alex_action_45),AlexAcc (alex_action_45),AlexAcc (alex_action_45),AlexAcc (alex_action_45),AlexAcc (alex_action_45),AlexAcc (alex_action_45),AlexAcc (alex_action_45),AlexAcc (alex_action_45),AlexAcc (alex_action_45),AlexAcc (alex_action_45),AlexAcc (alex_action_45),AlexAcc (alex_action_45),AlexAcc (alex_action_46),AlexAcc (alex_action_46),AlexAcc (alex_action_46),AlexAcc (alex_action_47),AlexAcc (alex_action_47),AlexAcc (alex_action_47),AlexAcc (alex_action_47),AlexAcc (alex_action_47),AlexAcc (alex_action_47),AlexAcc (alex_action_48),AlexAcc (alex_action_48),AlexAcc (alex_action_48),AlexAcc (alex_action_48),AlexAcc (alex_action_48),AlexAcc (alex_action_48),AlexAcc (alex_action_48),AlexAcc (alex_action_49),AlexAcc (alex_action_49),AlexAcc (alex_action_49),AlexAcc (alex_action_49),AlexAcc (alex_action_49),AlexAcc (alex_action_49),AlexAcc (alex_action_50),AlexAcc (alex_action_51),AlexAcc (alex_action_52),AlexAcc (alex_action_53),AlexAcc (alex_action_54),AlexAcc (alex_action_55),AlexAcc (alex_action_56),AlexAcc (alex_action_57),AlexAcc (alex_action_58),AlexAcc (alex_action_59),AlexAcc (alex_action_60),AlexAcc (alex_action_61),AlexAcc (alex_action_62),AlexAcc (alex_action_63),AlexAcc (alex_action_64),AlexAcc (alex_action_65),AlexAcc (alex_action_66),AlexAcc (alex_action_67),AlexAcc (alex_action_68),AlexAcc (alex_action_69),AlexAcc (alex_action_70),AlexAcc (alex_action_71),AlexAcc (alex_action_72),AlexAcc (alex_action_73),AlexAcc (alex_action_74),AlexAcc (alex_action_75),AlexAcc (alex_action_76),AlexAcc (alex_action_77),AlexAcc (alex_action_78),AlexAcc (alex_action_79),AlexAcc (alex_action_80),AlexAcc (alex_action_81),AlexAcc (alex_action_82),AlexAcc (alex_action_83),AlexAcc (alex_action_84),AlexAcc (alex_action_85),AlexAcc (alex_action_86),AlexAcc (alex_action_87),AlexAcc (alex_action_88),AlexAcc (alex_action_89),AlexAcc (alex_action_90),AlexAcc (alex_action_91),AlexAcc (alex_action_92),AlexAcc (alex_action_93),AlexAcc (alex_action_94),AlexAcc (alex_action_95),AlexAcc (alex_action_96),AlexAcc (alex_action_97),AlexAccPred  (alex_action_98) ( ifExtension cudaExts )(AlexAccNone),AlexAccPred  (alex_action_99) ( ifExtension cudaExts )(AlexAccNone),AlexAccPred  (alex_action_100) ( ifExtension objcExts )(AlexAccNone)] {-# LINE 202 "Language/C/Parser/Lexer.x" #-}  type Action = AlexInput -> AlexInput -> P (L Token)@@ -520,9 +520,9 @@ -- ----------------------------------------------------------------------------- -- INTERNALS and main scanner engine -{-# LINE 37 "templates/GenericTemplate.hs" #-}+{-# LINE 35 "templates/GenericTemplate.hs" #-} -{-# LINE 47 "templates/GenericTemplate.hs" #-}+{-# LINE 45 "templates/GenericTemplate.hs" #-}   data AlexAddr = AlexA# Addr#@@ -553,14 +553,14 @@ #ifdef WORDS_BIGENDIAN   narrow32Int# i   where-   !i    = word2Int# ((b3 `uncheckedShiftL#` 24#) `or#`+   i    = word2Int# ((b3 `uncheckedShiftL#` 24#) `or#` 		     (b2 `uncheckedShiftL#` 16#) `or#` 		     (b1 `uncheckedShiftL#` 8#) `or#` b0)-   !b3   = int2Word# (ord# (indexCharOffAddr# arr (off' +# 3#)))-   !b2   = int2Word# (ord# (indexCharOffAddr# arr (off' +# 2#)))-   !b1   = int2Word# (ord# (indexCharOffAddr# arr (off' +# 1#)))-   !b0   = int2Word# (ord# (indexCharOffAddr# arr off'))-   !off' = off *# 4#+   b3   = int2Word# (ord# (indexCharOffAddr# arr (off' +# 3#)))+   b2   = int2Word# (ord# (indexCharOffAddr# arr (off' +# 2#)))+   b1   = int2Word# (ord# (indexCharOffAddr# arr (off' +# 1#)))+   b0   = int2Word# (ord# (indexCharOffAddr# arr off'))+   off' = off *# 4# #else   indexInt32OffAddr# arr off #endif@@ -635,36 +635,41 @@   -	let-		(base) = alexIndexInt32OffAddr alex_base s-		((I# (ord_c))) = fromIntegral c-		(offset) = (base +# ord_c)-		(check)  = alexIndexInt16OffAddr alex_check offset+      case fromIntegral c of { (I# (ord_c)) ->+        let+                base   = alexIndexInt32OffAddr alex_base s+                offset = (base +# ord_c)+                check  = alexIndexInt16OffAddr alex_check offset 		-		(new_s) = if (offset >=# 0#) && (check ==# ord_c)+                new_s = if (offset >=# 0#) && (check ==# ord_c) 			  then alexIndexInt16OffAddr alex_table offset 			  else alexIndexInt16OffAddr alex_deflt s 	in-	case new_s of +        case new_s of 	    -1# -> (new_acc, input) 		-- on an error, we want to keep the input *before* the 		-- character that failed, not after.     	    _ -> alex_scan_tkn user orig_input (if c < 0x80 || c >= 0xC0 then (len +# 1#) else len)                                                 -- note that the length is increased ONLY if this is the 1st byte in a char encoding) 			new_input new_s new_acc-+      }   where-	check_accs [] = last_acc-	check_accs (AlexAcc a : _) = AlexLastAcc a input (I# (len))-	check_accs (AlexAccSkip : _)  = AlexLastSkip  input (I# (len))-	check_accs (AlexAccPred a predx : rest)+	check_accs (AlexAccNone) = last_acc+	check_accs (AlexAcc a  ) = AlexLastAcc a input (I# (len))+	check_accs (AlexAccSkip) = AlexLastSkip  input (I# (len))++	check_accs (AlexAccPred a predx rest) 	   | predx user orig_input (I# (len)) input 	   = AlexLastAcc a input (I# (len))-	check_accs (AlexAccSkipPred predx : rest)+	   | otherwise+	   = check_accs rest+	check_accs (AlexAccSkipPred predx rest) 	   | predx user orig_input (I# (len)) input 	   = AlexLastSkip input (I# (len))-	check_accs (_ : rest) = check_accs rest+	   | otherwise+	   = check_accs rest + data AlexLastAcc a   = AlexNone   | AlexLastAcc a !AlexInput !Int@@ -676,11 +681,13 @@     fmap f (AlexLastSkip x y) = AlexLastSkip x y  data AlexAcc a user-  = AlexAcc a+  = AlexAccNone+  | AlexAcc a   | AlexAccSkip-  | AlexAccPred a (AlexAccPred user)-  | AlexAccSkipPred (AlexAccPred user) +  | AlexAccPred a   (AlexAccPred user) (AlexAcc a user)+  | AlexAccSkipPred (AlexAccPred user) (AlexAcc a user)+ type AlexAccPred user = user -> AlexInput -> Int -> AlexInput -> Bool  -- -----------------------------------------------------------------------------@@ -705,6 +712,7 @@ 	-- TODO: there's no need to find the longest 	-- match when checking the right context, just 	-- the first match will do.+  -- used by wrappers iUnbox (I# (i)) = i
language-c-quote.cabal view
@@ -1,5 +1,5 @@ name:          language-c-quote-version:       0.7.1+version:       0.7.2 cabal-version: >= 1.10 license:       BSD3 license-file:  LICENSE
tests/unit/Main.hs view
@@ -7,7 +7,9 @@ import Test.Framework.Providers.HUnit import Test.HUnit ((@=?)) +import Data.Loc (SrcLoc, noLoc) import Language.C.Quote.C+import qualified Language.C.Syntax as C import System.Exit (exitFailure, exitSuccess)  #if !MIN_VERSION_template_haskell(2,7,0)@@ -27,9 +29,16 @@          exp_init, exp_inits, exp_item]  exp_id :: Test-exp_id = testCase "exp id" $ [cexp|$id:ident|] @=? [cexp|x|]+exp_id = testCase "exp id" $ [cexp|$id:f($id:x, $id:y)|] @=? [cexp|f(x, y)|]   where-    ident = "x"+    f :: String+    f = "f"++    x :: SrcLoc -> C.Id+    x = C.Id "x"++    y :: C.Id+    y = C.Id "y" noLoc  exp_int :: Test exp_int = testCase "exp int" $