Negate integral expressions

This commit is contained in:
2024-10-02 22:56:15 +02:00
parent cafae5c830
commit fdf56ce9d0
18 changed files with 169 additions and 138 deletions

View File

@ -3,14 +3,14 @@ module Main
) where
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 (generateRiscV, riscVConfiguration)
import Language.Elna.Backend.Allocator (allocate)
import Language.Elna.Glue (glue)
import Language.Elna.Frontend.NameAnalysis (nameAnalysis)
import Language.Elna.Frontend.Parser (programP)
import Language.Elna.Frontend.TypeAnalysis (typeAnalysis)
import Language.Elna.RiscV.CodeGenerator (generateRiscV, riscVConfiguration)
import Language.Elna.RiscV.ElfWriter (riscv32Elf)
import Data.Maybe (fromMaybe)
import System.FilePath (replaceExtension, takeFileName)
import Text.Megaparsec (runParser, errorBundlePretty)
@ -34,6 +34,6 @@ main = execParser commandLine >>= withCommandLine
let _ = typeAnalysis symbolTable program
instructions = generateRiscV
$ allocate riscVConfiguration
$ intermediate symbolTable program
$ glue symbolTable program
in elfObject output
$ riscv32Elf instructions