packages feed

bindings-bfd-1.2.0.0: src/Bindings/Bfd/Disasm/I386/CondCode.hs

module Bindings.Bfd.Disasm.I386.CondCode where


data CondCode = Above
              | AboveOrEqual
              | Below
              | BelowOrEqual
              | Equal
              | Greater
              | GreaterOrEqual
              | Less
              | LessOrEqual
              | NotEqual
              | NotSigned
              | Parity
              | NotParity
              | Signed
     deriving (Show)


toCondCode
   :: String
   -> Maybe CondCode
toCondCode ""   = Nothing
toCondCode "a"  = Just Above
toCondCode "ae" = Just AboveOrEqual
toCondCode "b"  = Just Below
toCondCode "be" = Just BelowOrEqual
toCondCode "e"  = Just Equal
toCondCode "g"  = Just Greater
toCondCode "ge" = Just GreaterOrEqual
toCondCode "l"  = Just Less
toCondCode "le" = Just LessOrEqual
toCondCode "ne" = Just NotEqual
toCondCode "ns" = Just NotSigned
toCondCode "nz" = Just NotEqual
toCondCode "p"  = Just Parity
toCondCode "np" = Just NotParity
toCondCode "s"  = Just Signed
toCondCode "z"  = Just Equal
toCondCode s    = error $ "toCondCode: " ++ show s