module Main where
import System.IO
import System.Exit
import System.Environment
import Data.List
import Data.Maybe
import Bitcoin.Script.Parser.API
printHelp :: IO ()
printHelp = do
putStrLn $ "Send the script, written in the extended language, through the std_in, and don't pass any arguments.\n" ++ languageDescription
exitFailure
readStdin :: IO String
readStdin = do
done <- isEOF
if done
then return ""
else do
line <- getLine
lines <- readStdin
return $ line ++ ('\n' : lines)
main :: IO ()
main = do
args <- getArgs
if null args
then do
res <- eScriptToBytecode <$> readStdin
case res of
Left err -> putStrLn err
Right scrpt -> putStrLn scrpt
return ()
else printHelp