X-Git-Url: https://ruin.nu/git/?p=proglang.git;a=blobdiff_plain;f=Typechecker.hs;h=71810e698b7854109d0f728951f504b25ab45cda;hp=8828fbeab974b228fead9839c44491f20d6114a7;hb=9254ff63648d9a6f4b058c0a53438db7b60a28cd;hpb=ff80cbdaf843e2745f59e6f5d3c8670cadbf68b2 diff --git a/Typechecker.hs b/Typechecker.hs index 8828fbe..71810e6 100644 --- a/Typechecker.hs +++ b/Typechecker.hs @@ -45,7 +45,7 @@ run v p s = let ts = myLLexer s in case p ts of Ok (Program s) -> let (fun,st) = splitFunStm (s) in do putStrLn "\nParse Successful!" showTree v (Program s) - runStateT (mapM typeCheckStm st) State{variables=[empty], functions=[empty], function=(Ident "")} + runStateT (do mapM addFunction fun; mapM typeCheckFunction fun; mapM typeCheckStm st) State{variables=[empty], functions=(empty), function=(Ident "")} print "The program is type-correct!!" return ()