diff --git a/src/Main.hs b/src/Main.hs index ced6c16..7866484 100644 --- a/src/Main.hs +++ b/src/Main.hs @@ -3,10 +3,17 @@ module Main where import qualified Data.Text.IO as T +import qualified Data.Text.Lazy.IO as TL +import Data.Text.Lazy (toStrict, unpack) +import Data.String.Conversions (cs) import Data.Text.Prettyprint.Doc (pretty) import Text.Megaparsec (parse) import Windows12.Parser (programP) import System.Environment (getArgs) +import LLVM.Pretty +import Windows12.Ast +import Windows12.CodeGen (codegen) + main :: IO () main = do @@ -19,4 +26,4 @@ main = do test <- T.readFile inputFile case parse programP inputFile test of Left err -> print err - Right ast -> print (pretty ast) + Right ast -> TL.writeFile outputFile (ppllvm (codegen (cs inputFile) ast))