diff options
| author | Eugen Wissner <belka@caraus.de> | 2024-10-01 00:02:19 +0200 |
|---|---|---|
| committer | Eugen Wissner <belka@caraus.de> | 2024-10-01 00:02:19 +0200 |
| commit | bbb15a02181bf8354f29c4add9add38fafa5da65 (patch) | |
| tree | e5603b46b380736cc74af3e3647cd56488890169 /src/Main.hs | |
| parent | c2c923276f7ecde1f71e53309dc5d1cc53cd3ff2 (diff) | |
| download | elna-bbb15a02181bf8354f29c4add9add38fafa5da65.tar.gz | |
Add allocator convertion functions
Diffstat (limited to 'src/Main.hs')
| -rw-r--r-- | src/Main.hs | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/Main.hs b/src/Main.hs index a993e98..456c5ad 100644 --- a/src/Main.hs +++ b/src/Main.hs @@ -5,11 +5,12 @@ module Main import Language.Elna.CommandLine (CommandLine(..), commandLine, execParser) import Language.Elna.PrinterWriter (riscv32Elf) import Language.Elna.Object.Elf (elfObject) +import Language.Elna.Allocator (allocate) import Language.Elna.Parser (programP) import Language.Elna.NameAnalysis (nameAnalysis) import Language.Elna.TypeAnalysis (typeAnalysis) import Language.Elna.Intermediate (intermediate) -import Language.Elna.CodeGenerator (generateCode) +import Language.Elna.CodeGenerator (generateRiscV, riscVConfiguration) import Data.Maybe (fromMaybe) import System.FilePath (replaceExtension, takeFileName) import Text.Megaparsec (runParser, errorBundlePretty) @@ -31,7 +32,8 @@ main = execParser commandLine >>= withCommandLine $ errorBundlePretty errorBundle withSymbolTable output program symbolTable = let _ = typeAnalysis symbolTable program - intermediate' = intermediate symbolTable program - instructions = generateCode symbolTable intermediate' + instructions = generateRiscV + $ allocate riscVConfiguration + $ intermediate symbolTable program in elfObject output $ riscv32Elf instructions |
