diff --git a/src/Main.hs b/src/Main.hs index 7866484..649081e 100644 --- a/src/Main.hs +++ b/src/Main.hs @@ -12,6 +12,7 @@ import Windows12.Parser (programP) import System.Environment (getArgs) import LLVM.Pretty import Windows12.Ast +import Windows12.Semant (convert) import Windows12.CodeGen (codegen) @@ -26,4 +27,7 @@ main = do test <- T.readFile inputFile case parse programP inputFile test of Left err -> print err - Right ast -> TL.writeFile outputFile (ppllvm (codegen (cs inputFile) ast)) + Right ast -> + case convert ast of + Left err -> putStrLn err + Right ast -> TL.writeFile outputFile (ppllvm (codegen (cs inputFile) ast)) diff --git a/src/Windows12/CodeGen.hs b/src/Windows12/CodeGen.hs index 28c8175..498e10e 100644 --- a/src/Windows12/CodeGen.hs +++ b/src/Windows12/CodeGen.hs @@ -1,8 +1,8 @@ module Windows12.CodeGen where import Data.Text (Text) -import Windows12.Ast +import Windows12.TAst import LLVM.AST (Module) -codegen :: Text -> Program -> Module -codegen filename (Program structs enums funcs) = undefined +codegen :: Text -> TProgram -> Module +codegen filename (TProgram structs enums funcs) = undefined