Compiler takes in a target

This commit is contained in:
Sasha Koshka 2024-03-27 12:10:19 -04:00
parent 92ad52b2aa
commit 0404202691
2 changed files with 7 additions and 1 deletions

View File

@ -22,7 +22,11 @@ func (this *Compiler) CompileUnit (address entity.Address) error {
_, err = this.AnalyzeUnit(&semanticTree, path, false)
if err != nil { return err }
irModule, err := native.NativeTarget().Generate(semanticTree)
if this.Target == nil {
target := native.NativeTarget()
this.Target = &target
}
irModule, err := this.Target.Generate(semanticTree)
if err != nil {
return this.bug(err)
}

View File

@ -10,6 +10,7 @@ import "git.tebibyte.media/fspl/fspl/cli"
import "git.tebibyte.media/fspl/fspl/lexer"
import "git.tebibyte.media/fspl/fspl/entity"
import "git.tebibyte.media/fspl/fspl/analyzer"
import "git.tebibyte.media/fspl/fspl/generator"
import "git.tebibyte.media/fspl/fspl/parser/fspl"
import "git.tebibyte.media/fspl/fspl/parser/meta"
import ferrors "git.tebibyte.media/fspl/fspl/errors"
@ -18,6 +19,7 @@ type Compiler struct {
*Resolver
cli.Logger
Target *generator.Target
Output string
Optimization string
Filetype Filetype