first commit

This commit is contained in:
Jeena Paradies 2011-04-19 11:37:05 +02:00
commit 063194f8be
349 changed files with 36508 additions and 0 deletions

36
Javalette.hs Normal file
View file

@ -0,0 +1,36 @@
import System.Environment (getArgs)
import System.Exit (exitFailure)
import System.FilePath.Posix
import AbsJavalette
import LexJavalette
import ParJavalette
import ErrM
import PrintJavalette
import TypeChecker
import Compiler
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 at -> do --putStrLn $ printTree at ++ "OK\n"
comp at
comp :: Program -> IO ()
comp p = do a <- getArgs
putStrLn $ compile p $ takeBaseName $ head a
main :: IO ()
main = do args <- getArgs
case args of
[file] -> readFile file >>= check
_ -> do putStrLn "Usage: lab2 <SourceFile>"
exitFailure