args <- getArgs
case args of
[] -> hGetContents stdin >>= run interpret pProgram
- "-c":f:[] -> runFile (\fun st -> writeFile (f++".c") $ compile fun st) pProgram f
+ "-c":f:[] -> let file = (f++".c") in do
+ putStrLn $ "Compiling "++f++" to the C99-compatible file:"++file
+ runFile (\fun st -> writeFile file $ compile fun st) pProgram f
f:[] -> runFile interpret pProgram f
- _ -> print "Too many arguments"
+ _ -> do
+ putStrLn "Usage: ./CompInt [-c] <file>"
+ putStrLn "-c : compile <file> to C99-compatible file"