crucible-llvm-0.6: src/Lang/Crucible/LLVM/Extension.hs
-----------------------------------------------------------------------
-- |
-- Module : Lang.Crucible.LLVM.Extension
-- Description : LLVM interface for Crucible
-- Copyright : (c) Galois, Inc 2015-2016
-- License : BSD3
-- Maintainer : rdockins@galois.com
-- Stability : provisional
--
-- Syntax extension definitions for LLVM
------------------------------------------------------------------------
{-# LANGUAGE DeriveDataTypeable #-}
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE EmptyDataDeriving #-}
{-# LANGUAGE TypeFamilies #-}
module Lang.Crucible.LLVM.Extension
( module Lang.Crucible.LLVM.Extension.Arch
, module Lang.Crucible.LLVM.Extension.Syntax
, LLVM
) where
import Data.Data (Data)
import Data.Typeable (Typeable)
import GHC.Generics ( Generic )
import Lang.Crucible.CFG.Extension
import Lang.Crucible.LLVM.Extension.Arch
import Lang.Crucible.LLVM.Extension.Syntax
-- | The Crucible extension type marker for LLVM.
data LLVM
deriving (Data, Eq, Generic , Ord, Typeable)
-- -----------------------------------------------------------------------
-- ** Syntax
type instance ExprExtension LLVM = LLVMExtensionExpr
type instance StmtExtension LLVM = LLVMStmt
instance IsSyntaxExtension LLVM