module Main where import Control.Monad import System.Environment import System.Exit -- import AST import Interpreter import Parser main :: IO () main = do args <- getArgs when (length args == 0) $ die "Pass source file as parameter" let fname = head args src <- readFile fname let eprog = parseProgram (Just fname) src prog <- either (die . show) return eprog -- print prog -- putStrLn $ astPretty prog let (merr, output, _) = interpret prog maybe (putStrLn "[No errors]") (putStrLn . ("ERROR: " ++)) merr putStrLn "OUTPUT:" putStrLn output