module LLVM.General.Quote.LLVM ( llmod, lldef, llg, -- llbb, -- llbbs, lli, llmodM, lldefM, llgM, -- llbbM, -- llbbsM, lliM ) where import qualified LLVM.General.Quote.Parser.Parser as P import qualified LLVM.General.Quote.AST as A import LLVM.General.Quote.Base (CodeGen, quasiquote, quasiquoteM, TQuasiQuoter(unTQuasiQuoter)) import Language.Haskell.TH.Quote (QuasiQuoter) import qualified LLVM.General.AST as L exts :: [A.Extensions] exts = [A.Loops] -- |Quasiquoter for 'LLVM.General.AST.Module' llmod :: QuasiQuoter llmod = unTQuasiQuoter (quasiquote exts P.parseModule :: TQuasiQuoter L.Module) -- |Quasiquoter for 'LLVM.General.AST.Definition' lldef :: QuasiQuoter lldef = unTQuasiQuoter (quasiquote exts P.parseDefinition :: TQuasiQuoter L.Definition) -- |Quasiquoter for 'LLVM.General.AST.Global' llg :: QuasiQuoter llg = unTQuasiQuoter (quasiquote exts P.parseGlobal :: TQuasiQuoter L.Global) -- |Quasiquoter for 'LLVM.General.AST.Instruction.Instruction' lli :: QuasiQuoter lli = unTQuasiQuoter (quasiquote exts P.parseInstruction :: TQuasiQuoter L.Instruction) -- |Quasiquoter for 'LLVM.General.AST.Module' llmodM :: QuasiQuoter llmodM = unTQuasiQuoter (quasiquoteM exts P.parseModule :: TQuasiQuoter (CodeGen L.Module)) -- |Quasiquoter for 'LLVM.General.AST.Definition' lldefM :: QuasiQuoter lldefM = unTQuasiQuoter (quasiquoteM exts P.parseDefinition :: TQuasiQuoter (CodeGen L.Definition)) -- |Quasiquoter for 'LLVM.General.AST.Global' llgM :: QuasiQuoter llgM = unTQuasiQuoter (quasiquoteM exts P.parseGlobal :: TQuasiQuoter (CodeGen L.Global)) -- |Quasiquoter for 'LLVM.General.AST.Instruction.Instruction' lliM :: QuasiQuoter lliM = unTQuasiQuoter (quasiquoteM exts P.parseInstruction :: TQuasiQuoter (CodeGen L.Instruction))