Mercurial > repo
diff interps/rhotor/Main.hs @ 996:859f9b4339e6
<Gregor> tar xf egobot.tar.xz
author | HackBot |
---|---|
date | Sun, 09 Dec 2012 19:30:08 +0000 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/interps/rhotor/Main.hs Sun Dec 09 19:30:08 2012 +0000 @@ -0,0 +1,27 @@ +module Main () +where + +import System.IO +import System.Environment +import System.Exit + +import Misc +import Parser +import Evaluator + + + +main :: IO () +main = (hSetBuffering stdout NoBuffering) >> getArgs >>= \args -> + if length args /= 1 then usage + else readFile (head args) `catch` (\ _ -> putStr "Error: Couldn't open source file.\n" >> exitWith (ExitFailure 1)) + >>= \source -> + interact (run source) + +run :: String -> String -> String +run source input = nodeTreeToString (evaluate (apply (parse source) (stringToNodeTree input))) + + + +usage :: IO () +usage = putStr "Usage: rhotorhi sourcecode.rho\n" \ No newline at end of file