{-# LANGUAGE DeriveDataTypeable #-} {-# LANGUAGE OverloadedStrings #-} import Control.Monad (when, unless, forM) import qualified Data.ByteString.Char8 as BC import Data.Monoid import qualified Data.Text as T import Data.Word (Word16) import System.Environment import System.FilePath import System.IO import NLP.GenI import NLP.GenI.Configuration (emptyParams, setFlag, hasFlag, processInstructions, TestSuiteFlg(..), BatchDirFlg(..)) import NLP.GenI.Console (writeResults, RunAs(PartOfSuite), getBatchDir) import NLP.GenI.TestSuite import System.Console.CmdArgs import qualified Text.JSON as Json import Config import qualified Client import qualified Report import NLP.GenI.Client (realise) main :: IO () main = do opts <- cmdArgs . geniUtil =<< getProgName case opts of Client {} -> Client.main opts Report {} -> Report.main opts