From 5a63229e74a6472d4e376e640cf86a4ce367f3d0 Mon Sep 17 00:00:00 2001 From: Ethan Girouard Date: Wed, 11 Dec 2024 15:58:59 -0500 Subject: [PATCH] Use TAst in CodeGen --- src/Main.hs | 6 +++++- src/Windows12/CodeGen.hs | 6 +++--- 2 files changed, 8 insertions(+), 4 deletions(-) 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