diff --git a/lvtc/app/Run.hs b/lvtc/app/Run.hs index 768ccd4..5efb4b8 100644 --- a/lvtc/app/Run.hs +++ b/lvtc/app/Run.hs @@ -21,6 +21,7 @@ import WatLikeToWat (watsLikeToWat) import Wasm (Wasm) import WatToWasm (watToWasm) import WriteWasm (writeWasm) +import TypeCheck (typeCheck) import Args import System.Directory (listDirectory) @@ -90,9 +91,9 @@ getAllFunc v (x : expressions) = p v >> getAllFunc v expressions checkAst :: Bool -> IO [FuncDeclaration] -> IO [FuncDeclaration] checkAst _ funcsIo = funcsIo - >>= (\funcs -> case Just funcs of - Just f -> return f - Nothing -> fail "Invalid Code") + >>= (\funcs -> case typeCheck funcs of + True -> return funcs + False -> fail "Invalid Code") transformToWatLike :: Bool -> IO [FuncDeclaration] -> IO [FuncDeclare] transformToWatLike v funcsIo = diff --git a/lvtc/test/lvt/Test.lvt b/lvtc/test/lvt/Test.lvt index 2681727..4acfa3e 100644 --- a/lvtc/test/lvt/Test.lvt +++ b/lvtc/test/lvt/Test.lvt @@ -1,4 +1,4 @@ -export fn start() -> Char +export fn start() -> Int { @Int a = 0 + 1; @Int b = a - 1;