packages feed

language-c-quote 0.7.5 → 0.7.6

raw patch · 8 files changed

+129/−78 lines, 8 files

Files

Language/C/Parser/Parser.y view
@@ -259,9 +259,11 @@  %name parseType       type_declaration %name parseParam      parameter_declaration+%name parseParams     parameter_list %name parseInit       initializer  %name parseStm        statement+%name parseStms       statement_list %name parseBlockItem  block_item  %name parseUnit       translation_unit@@ -422,7 +424,7 @@             ; return $ BlockLit (BlockVoid (srclocOf $1)) $2 items ($1 `srcspan` $3)             }       }-  | '^' '(' parameter_list ')'                       attributes_opt compound_statement+  | '^' '(' parameter_list_ ')'                       attributes_opt compound_statement       {% do { assertObjCEnabled ($1 <--> $6) "To use blocks, enable Objective-C support"             ; let Block items _ = $6             ; return $ BlockLit (BlockParam (rev $3) ($2 `srcspan` $4)) $5 items ($1 `srcspan` $6)@@ -1536,26 +1538,30 @@  parameter_type_list :: { Params } parameter_type_list :-    parameter_list+    parameter_list_       { let params = rev $1         in           Params params False (srclocOf params)       }-  | parameter_list ',' '...'+  | parameter_list_ ',' '...'       { let params = rev $1         in           Params params True (params `srcspan` $3)       } -parameter_list :: { RevList Param }-parameter_list:+parameter_list :: { [Param] }+parameter_list :+    parameter_list_ { rev $1 }++parameter_list_ :: { RevList Param }+parameter_list_ :     parameter_declaration       { rsingleton $1 }   | ANTI_PARAMS       { rsingleton (AntiParams (getANTI_PARAMS $1) (srclocOf $1)) }-  | parameter_list ',' parameter_declaration+  | parameter_list_ ',' parameter_declaration       { rcons $3 $1 }-  | parameter_list ',' ANTI_PARAMS+  | parameter_list_ ',' ANTI_PARAMS       { rcons (AntiParams (getANTI_PARAMS $3) (srclocOf $3))  $1 }  parameter_declaration :: { Param }@@ -1778,6 +1784,17 @@   | objc_at_statement    { $1 }   | ANTI_PRAGMA          { AntiPragma (getANTI_PRAGMA $1) (srclocOf $1) }   | ANTI_STM             { AntiStm (getANTI_STM $1) (srclocOf $1) }++statement_list :: { [Stm] }+statement_list :+    statement_list_ { rev $1 }++statement_list_ :: { RevList Stm }+statement_list_ :+     statement                 { rsingleton $1 }+  |  ANTI_STMS                 { rsingleton (AntiStms (getANTI_STMS $1) (srclocOf $1)) }+  |  statement_list_ statement { rcons $2 $1 }+  |  statement_list_ ANTI_STMS { rcons (AntiStms (getANTI_STMS $2) (srclocOf $2)) $1 }  labeled_statement :: { Stm } labeled_statement :
Language/C/Quote.hs view
@@ -39,6 +39,8 @@ -- -- [@cstm@] Statement, of type @'Stm'@. --+-- [@cstms@] A list of statements, of type @['Stm']@.+-- -- [@citem@] Block item, of type @'BlockItem'@. A block item is either a -- declaration or a statement. --@@ -47,6 +49,8 @@ -- [@cinit@] Initializer, of type @'Initializer'@. -- -- [@cparam@] Declaration of a function parameter, of type @'Param'@.+--+-- [@cparams@] Declaration of function parameters, of type @'[Param]'@. -- -- [@csdecl@] Declaration of a struct member, of type @'FieldGroup'@. --
Language/C/Quote/C.hs view
@@ -7,6 +7,8 @@ -- Maintainer  :  mainland@cs.drexel.edu  module Language.C.Quote.C (+    ToIdent(..),+    ToConst(..),     ToExp(..),     cexp,     cedecl,@@ -15,8 +17,10 @@     cenum,     cty,     cparam,+    cparams,     cinit,     cstm,+    cstms,     citem,     cunit,     cfun@@ -24,7 +28,7 @@  import qualified Language.C.Parser as P import qualified Language.C.Syntax as C-import Language.C.Quote.Base (ToExp(..), quasiquote)+import Language.C.Quote.Base (ToIdent(..), ToConst(..), ToExp(..), quasiquote) import Language.Haskell.TH.Quote (QuasiQuoter)  exts :: [C.Extensions]@@ -33,17 +37,19 @@ typenames :: [String] typenames = [] -cdecl, cedecl, cenum, cexp, cfun, cinit, cparam, csdecl, cstm :: QuasiQuoter+cdecl, cedecl, cenum, cexp, cfun, cinit, cparam, cparams, csdecl, cstm, cstms :: QuasiQuoter citem, cty, cunit :: QuasiQuoter-cdecl  = quasiquote exts typenames P.parseDecl-cedecl = quasiquote exts typenames P.parseEdecl-cenum  = quasiquote exts typenames P.parseEnum-cexp   = quasiquote exts typenames P.parseExp-cfun   = quasiquote exts typenames P.parseFunc-cinit  = quasiquote exts typenames P.parseInit-cparam = quasiquote exts typenames P.parseParam-csdecl = quasiquote exts typenames P.parseStructDecl-cstm   = quasiquote exts typenames P.parseStm-citem  = quasiquote exts typenames P.parseBlockItem-cty    = quasiquote exts typenames P.parseType-cunit  = quasiquote exts typenames P.parseUnit+cdecl   = quasiquote exts typenames P.parseDecl+cedecl  = quasiquote exts typenames P.parseEdecl+cenum   = quasiquote exts typenames P.parseEnum+cexp    = quasiquote exts typenames P.parseExp+cfun    = quasiquote exts typenames P.parseFunc+cinit   = quasiquote exts typenames P.parseInit+cparam  = quasiquote exts typenames P.parseParam+cparams = quasiquote exts typenames P.parseParams+csdecl  = quasiquote exts typenames P.parseStructDecl+cstm    = quasiquote exts typenames P.parseStm+cstms   = quasiquote exts typenames P.parseStms+citem   = quasiquote exts typenames P.parseBlockItem+cty     = quasiquote exts typenames P.parseType+cunit   = quasiquote exts typenames P.parseUnit
Language/C/Quote/CUDA.hs view
@@ -7,6 +7,8 @@ -- Maintainer  :  mainland@cs.drexel.edu  module Language.C.Quote.CUDA (+    ToIdent(..),+    ToConst(..),     ToExp(..),     cexp,     cedecl,@@ -15,8 +17,10 @@     cenum,     cty,     cparam,+    cparams,     cinit,     cstm,+    cstms,     citem,     cunit,     cfun@@ -24,7 +28,7 @@  import qualified Language.C.Parser as P import qualified Language.C.Syntax as C-import Language.C.Quote.Base (ToExp(..), quasiquote)+import Language.C.Quote.Base (ToIdent(..), ToConst(..), ToExp(..), quasiquote) import Language.Haskell.TH.Quote (QuasiQuoter)  exts :: [C.Extensions]@@ -41,17 +45,19 @@ typeN :: Int -> String -> [String] typeN k typename = [typename ++ show n | n <- [1..k]] -cdecl, cedecl, cenum, cexp, cfun, cinit, cparam, csdecl, cstm :: QuasiQuoter+cdecl, cedecl, cenum, cexp, cfun, cinit, cparam, cparams, csdecl, cstm, cstms :: QuasiQuoter citem, cty, cunit :: QuasiQuoter-cdecl  = quasiquote exts typenames P.parseDecl-cedecl = quasiquote exts typenames P.parseEdecl-cenum  = quasiquote exts typenames P.parseEnum-cexp   = quasiquote exts typenames P.parseExp-cfun   = quasiquote exts typenames P.parseFunc-cinit  = quasiquote exts typenames P.parseInit-cparam = quasiquote exts typenames P.parseParam-csdecl = quasiquote exts typenames P.parseStructDecl-cstm   = quasiquote exts typenames P.parseStm-citem  = quasiquote exts typenames P.parseBlockItem-cty    = quasiquote exts typenames P.parseType-cunit  = quasiquote exts typenames P.parseUnit+cdecl   = quasiquote exts typenames P.parseDecl+cedecl  = quasiquote exts typenames P.parseEdecl+cenum   = quasiquote exts typenames P.parseEnum+cexp    = quasiquote exts typenames P.parseExp+cfun    = quasiquote exts typenames P.parseFunc+cinit   = quasiquote exts typenames P.parseInit+cparam  = quasiquote exts typenames P.parseParam+cparams = quasiquote exts typenames P.parseParams+csdecl  = quasiquote exts typenames P.parseStructDecl+cstm    = quasiquote exts typenames P.parseStm+cstms   = quasiquote exts typenames P.parseStms+citem   = quasiquote exts typenames P.parseBlockItem+cty     = quasiquote exts typenames P.parseType+cunit   = quasiquote exts typenames P.parseUnit
Language/C/Quote/GCC.hs view
@@ -7,6 +7,8 @@ -- Maintainer  :  mainland@cs.drexel.edu  module Language.C.Quote.GCC (+    ToIdent(..),+    ToConst(..),     ToExp(..),     cexp,     cedecl,@@ -15,8 +17,10 @@     cenum,     cty,     cparam,+    cparams,     cinit,     cstm,+    cstms,     citem,     cunit,     cfun@@ -24,7 +28,7 @@  import qualified Language.C.Parser as P import qualified Language.C.Syntax as C-import Language.C.Quote.Base (ToExp(..), quasiquote)+import Language.C.Quote.Base (ToIdent(..), ToConst(..), ToExp(..), quasiquote) import Language.Haskell.TH.Quote (QuasiQuoter)  exts :: [C.Extensions]@@ -33,17 +37,19 @@ typenames :: [String] typenames = [] -cdecl, cedecl, cenum, cexp, cfun, cinit, cparam, csdecl, cstm :: QuasiQuoter+cdecl, cedecl, cenum, cexp, cfun, cinit, cparam, cparams, csdecl, cstm, cstms :: QuasiQuoter citem, cty, cunit :: QuasiQuoter-cdecl  = quasiquote exts typenames P.parseDecl-cedecl = quasiquote exts typenames P.parseEdecl-cenum  = quasiquote exts typenames P.parseEnum-cexp   = quasiquote exts typenames P.parseExp-cfun   = quasiquote exts typenames P.parseFunc-cinit  = quasiquote exts typenames P.parseInit-cparam = quasiquote exts typenames P.parseParam-csdecl = quasiquote exts typenames P.parseStructDecl-cstm   = quasiquote exts typenames P.parseStm-citem  = quasiquote exts typenames P.parseBlockItem-cty    = quasiquote exts typenames P.parseType-cunit  = quasiquote exts typenames P.parseUnit+cdecl   = quasiquote exts typenames P.parseDecl+cedecl  = quasiquote exts typenames P.parseEdecl+cenum   = quasiquote exts typenames P.parseEnum+cexp    = quasiquote exts typenames P.parseExp+cfun    = quasiquote exts typenames P.parseFunc+cinit   = quasiquote exts typenames P.parseInit+cparam  = quasiquote exts typenames P.parseParam+cparams = quasiquote exts typenames P.parseParams+csdecl  = quasiquote exts typenames P.parseStructDecl+cstm    = quasiquote exts typenames P.parseStm+cstms   = quasiquote exts typenames P.parseStms+citem   = quasiquote exts typenames P.parseBlockItem+cty     = quasiquote exts typenames P.parseType+cunit   = quasiquote exts typenames P.parseUnit
Language/C/Quote/ObjC.hs view
@@ -8,6 +8,8 @@ -- Maintainer  :  mainland@cs.drexel.edu  module Language.C.Quote.ObjC (+    ToIdent(..),+    ToConst(..),     ToExp(..),     cexp,     cedecl,@@ -16,8 +18,10 @@     cenum,     cty,     cparam,+    cparams,     cinit,     cstm,+    cstms,     citem,     cunit,     cfun@@ -25,7 +29,7 @@  import qualified Language.C.Parser as P import qualified Language.C.Syntax as C-import Language.C.Quote.Base (ToExp(..), quasiquote)+import Language.C.Quote.Base (ToIdent(..), ToConst(..), ToExp(..), quasiquote) import Language.Haskell.TH.Quote (QuasiQuoter)  exts :: [C.Extensions]@@ -34,17 +38,19 @@ typenames :: [String] typenames = ["id"] -cdecl, cedecl, cenum, cexp, cfun, cinit, cparam, csdecl, cstm :: QuasiQuoter+cdecl, cedecl, cenum, cexp, cfun, cinit, cparam, cparams, csdecl, cstm, cstms :: QuasiQuoter citem, cty, cunit :: QuasiQuoter-cdecl  = quasiquote exts typenames P.parseDecl-cedecl = quasiquote exts typenames P.parseEdecl-cenum  = quasiquote exts typenames P.parseEnum-cexp   = quasiquote exts typenames P.parseExp-cfun   = quasiquote exts typenames P.parseFunc-cinit  = quasiquote exts typenames P.parseInit-cparam = quasiquote exts typenames P.parseParam-csdecl = quasiquote exts typenames P.parseStructDecl-cstm   = quasiquote exts typenames P.parseStm-citem  = quasiquote exts typenames P.parseBlockItem-cty    = quasiquote exts typenames P.parseType-cunit  = quasiquote exts typenames P.parseUnit+cdecl   = quasiquote exts typenames P.parseDecl+cedecl  = quasiquote exts typenames P.parseEdecl+cenum   = quasiquote exts typenames P.parseEnum+cexp    = quasiquote exts typenames P.parseExp+cfun    = quasiquote exts typenames P.parseFunc+cinit   = quasiquote exts typenames P.parseInit+cparam  = quasiquote exts typenames P.parseParam+cparams = quasiquote exts typenames P.parseParams+csdecl  = quasiquote exts typenames P.parseStructDecl+cstm    = quasiquote exts typenames P.parseStm+cstms   = quasiquote exts typenames P.parseStms+citem   = quasiquote exts typenames P.parseBlockItem+cty     = quasiquote exts typenames P.parseType+cunit   = quasiquote exts typenames P.parseUnit
Language/C/Quote/OpenCL.hs view
@@ -6,6 +6,8 @@ -- Maintainer  :  mainland@cs.drexel.edu  module Language.C.Quote.OpenCL (+    ToIdent(..),+    ToConst(..),     ToExp(..),     cexp,     cedecl,@@ -14,8 +16,10 @@     cenum,     cty,     cparam,+    cparams,     cinit,     cstm,+    cstms,     citem,     cunit,     cfun@@ -23,7 +27,7 @@  import qualified Language.C.Parser as P import qualified Language.C.Syntax as C-import Language.C.Quote.Base (ToExp(..), quasiquote)+import Language.C.Quote.Base (ToIdent(..), ToConst(..), ToExp(..), quasiquote) import Language.Haskell.TH.Quote (QuasiQuoter)  exts :: [C.Extensions]@@ -45,17 +49,19 @@ typeN :: String -> [String] typeN typename = [typename ++ show n | n <- [2, 3, 4, 8, 16 :: Integer]] -cdecl, cedecl, cenum, cexp, cfun, cinit, cparam, csdecl, cstm :: QuasiQuoter+cdecl, cedecl, cenum, cexp, cfun, cinit, cparam, cparams, csdecl, cstm, cstms :: QuasiQuoter citem, cty, cunit :: QuasiQuoter-cdecl  = quasiquote exts typenames P.parseDecl-cedecl = quasiquote exts typenames P.parseEdecl-cenum  = quasiquote exts typenames P.parseEnum-cexp   = quasiquote exts typenames P.parseExp-cfun   = quasiquote exts typenames P.parseFunc-cinit  = quasiquote exts typenames P.parseInit-cparam = quasiquote exts typenames P.parseParam-csdecl = quasiquote exts typenames P.parseStructDecl-cstm   = quasiquote exts typenames P.parseStm-citem  = quasiquote exts typenames P.parseBlockItem-cty    = quasiquote exts typenames P.parseType-cunit  = quasiquote exts typenames P.parseUnit+cdecl   = quasiquote exts typenames P.parseDecl+cedecl  = quasiquote exts typenames P.parseEdecl+cenum   = quasiquote exts typenames P.parseEnum+cexp    = quasiquote exts typenames P.parseExp+cfun    = quasiquote exts typenames P.parseFunc+cinit   = quasiquote exts typenames P.parseInit+cparam  = quasiquote exts typenames P.parseParam+cparams = quasiquote exts typenames P.parseParams+csdecl  = quasiquote exts typenames P.parseStructDecl+cstm    = quasiquote exts typenames P.parseStm+cstms   = quasiquote exts typenames P.parseStms+citem   = quasiquote exts typenames P.parseBlockItem+cty     = quasiquote exts typenames P.parseType+cunit   = quasiquote exts typenames P.parseUnit
language-c-quote.cabal view
@@ -1,5 +1,5 @@ name:          language-c-quote-version:       0.7.5+version:       0.7.6 cabal-version: >= 1.10 license:       BSD3 license-file:  LICENSE