packages feed

tptp-0.1.0.0: test/Parser/Main.hs

module Main where

-- |
-- Module       : Main
-- Description  : Parse TPTP input either from a file or stdin.
-- Copyright    : (c) Evgenii Kotelnikov, 2019
-- License      : GPL-3
-- Maintainer   : evgeny.kotelnikov@gmail.com
-- Stability    : experimental
--

import System.Environment (getArgs)
import System.Exit (exitSuccess, exitFailure)
import System.IO (stderr, hPutStrLn)
import Data.Maybe (listToMaybe)
import qualified Data.Text.IO as Text.IO
import Data.TPTP.Parse.Text (parseTPTPOnly)

main :: IO ()
main = do
  args  <- getArgs
  input <- case listToMaybe args of
    Just  f -> Text.IO.readFile f
    Nothing -> Text.IO.getContents
  case parseTPTPOnly input of
    Left  e -> hPutStrLn stderr e >> exitFailure
    Right _ -> putStrLn "OK" >> exitSuccess