From d24d92034ea278750668daff810147e0aec9dc04 Mon Sep 17 00:00:00 2001 From: "Juan J. Martinez" Date: Fri, 9 Sep 2022 17:00:09 +0100 Subject: Pass the version --- app/Main.hs | 2 -- src/Micro/Asm/Sdcc.hs | 8 ++++---- src/Micro/Compiler.hs | 5 ++++- 3 files changed, 8 insertions(+), 7 deletions(-) diff --git a/app/Main.hs b/app/Main.hs index db970d9..e1be59d 100644 --- a/app/Main.hs +++ b/app/Main.hs @@ -14,8 +14,6 @@ import System.Environment.Blank (getArgs) import System.Exit (exitFailure, exitSuccess) import System.IO (hPutStr, hPutStrLn, stderr, stdout) -version = "0.1.0" - data Options = Options { optParse :: Bool, optHelp :: Bool, diff --git a/src/Micro/Asm/Sdcc.hs b/src/Micro/Asm/Sdcc.hs index ef655d4..1fb05dd 100644 --- a/src/Micro/Asm/Sdcc.hs +++ b/src/Micro/Asm/Sdcc.hs @@ -31,8 +31,8 @@ onlyData symm = filter (\sym -> symRef sym) $ Map.elems symm -header :: [String] -header = [";", "; File created by $$$ v?.?.? (SDCC)", ";"] +header :: String -> [String] +header version = [";", "; File created by Micro v" ++ version ++ " (SDCC)", ";"] module' :: A.Expr -> [String] module' (A.Module name _) = ["\t.module " ++ name, "\t.optsdcc -mz80"] @@ -62,5 +62,5 @@ initVars symm = code :: [String] code = ["\n\t.area _CODE"] -generate :: SymMap -> [A.Expr] -> String -generate symm ast = unlines $ header ++ module' (head ast) ++ exports symm ++ dataVars symm ++ code ++ initVars symm +generate :: String -> SymMap -> [A.Expr] -> String +generate version symm ast = unlines $ header version ++ module' (head ast) ++ exports symm ++ dataVars symm ++ code ++ initVars symm diff --git a/src/Micro/Compiler.hs b/src/Micro/Compiler.hs index b765c16..de5728a 100644 --- a/src/Micro/Compiler.hs +++ b/src/Micro/Compiler.hs @@ -8,6 +8,9 @@ import Micro.Env import Micro.Error import Text.Parsec (SourcePos) +version :: String +version = "0.1.0" + type CompState = (Env, [Error]) data CompResult = CompResult @@ -207,5 +210,5 @@ compileAll ast = do _ <- traverse compile ast ((Env sym _), errs) <- get case errs of - [] -> pure $ successResult $ generate sym ast + [] -> pure $ successResult $ generate version sym ast _ -> return $ errorResult errs -- cgit v1.2.3