CC/main.hs
Jeena Paradies 063194f8be first commit
2011-04-19 11:37:05 +02:00

27 lines
632 B
Haskell

import System Environment (getArgs)
import System.Exit (exitFailure)
import AbsJavalette
import LexJavalette
import ParJavalette
import ErrM
import TypeChecker
check :: String -> IO()
check s = case pProgram (myLexer s) of
Bad err -> do putStrLn "SYNTAX ERROR"
putStrLn err
exitFailure
Ok tree -> case typecheck tree of
Bad err -> do putStrLn "TYPE ERROR"
putStrLn err
exitFailure
Ok _ -> putStrLn "OK"
main :: IO ()
main = do args <- getArgs
case args of
[file] -> readFile file >>= check
_ -> do putStrLn "Usage: main <SourceFile>"
exitFauilure