]> ruin.nu Git - proglang.git/blobdiff - Testsyntax.hs
minor change
[proglang.git] / Testsyntax.hs
index fb6986c317591f0b732b6cb8283c8b132cb768e9..c5c57c5d975e21feabe8def16433630fe1d11c5a 100644 (file)
@@ -11,10 +11,6 @@ import Skelsyntax
 import Printsyntax
 import Abssyntax
 
-import Typecheck
-import Control.Monad.State
-import Data.Map as Map hiding (showTree)
-
 
 
 
@@ -29,21 +25,19 @@ type Verbosity = Int
 putStrV :: Verbosity -> String -> IO ()
 putStrV v s = if v > 1 then putStrLn s else return ()
 
-runFile :: Verbosity -> ParseFun Stms -> FilePath -> IO ()
+runFile :: (Print a, Show a) => Verbosity -> ParseFun a -> FilePath -> IO ()
 runFile v p f = putStrLn f >> readFile f >>= run v p
 
-run :: Verbosity -> ParseFun Stms -> String -> IO ()
+run :: (Print a, Show a) => Verbosity -> ParseFun a -> String -> IO ()
 run v p s = let ts = myLLexer s in case p ts of
-       Bad s    -> do
-               putStrLn "\nParse              Failed...\n"
-               putStrV v "Tokens:"
-               putStrV v $ show ts
-               putStrLn s
-       Ok (Program s) -> do
-               putStrLn "\nParse Successful!"
-               showTree v (Program s)
-               runStateT (mapM typeCheckStm s) empty
-               return ()
+           Bad s    -> do putStrLn "\nParse              Failed...\n"
+                          putStrV v "Tokens:"
+                          putStrV v $ show ts
+                          putStrLn s
+           Ok  tree -> do putStrLn "\nParse Successful!"
+                          showTree v tree
+
+
 
 showTree :: (Show a, Print a) => Int -> a -> IO ()
 showTree v tree
@@ -54,9 +48,9 @@ showTree v tree
 main :: IO ()
 main = do args <- getArgs
           case args of
-            [] -> hGetContents stdin >>= run 2 pStms
-            "-s":fs -> mapM_ (runFile 0 pStms) fs
-            fs -> mapM_ (runFile 2 pStms) fs
+            [] -> hGetContents stdin >>= run 2 pProgram
+            "-s":fs -> mapM_ (runFile 0 pProgram) fs
+            fs -> mapM_ (runFile 2 pProgram) fs