mios-1.6.2: app/mios.hs
{-# LANGUAGE
MultiWayIf
, TemplateHaskell
#-}
-- | Executable of 'Minisat Implementation and Optimization Study'
module Main
(
main
)
where
import SAT.Mios
import Development.GitRev
gitId :: String
gitId = "mios " ++ versionId ++ "/commit/" ++ $(gitHash)
usage :: String
usage = miosUsage $ gitId ++ "\nUsage: mios [OPTIONS] target.cnf"
-- | main
main :: IO ()
main = do opts <- miosParseOptionsFromArgs versionId
if | _displayVersion opts -> putStrLn gitId
| _displayHelp opts -> putStrLn usage
| _targetFile opts == Left "" -> putStrLn usage
| _validateAssignment opts -> executeValidator opts =<< buildSolver opts
| otherwise -> executeSolver opts =<< buildSolver opts