diff options
Diffstat (limited to 'cmd')
| -rw-r--r-- | cmd/lang/main.go | 11 | ||||
| -rw-r--r-- | cmd/vm/main.go | 3 |
2 files changed, 6 insertions, 8 deletions
diff --git a/cmd/lang/main.go b/cmd/lang/main.go index 0a8eee8..f5046a7 100644 --- a/cmd/lang/main.go +++ b/cmd/lang/main.go @@ -7,7 +7,6 @@ import ( "jinx/pkg/lang/parser" "jinx/pkg/lang/scanner" "jinx/pkg/lang/vm" - "jinx/pkg/lang/vm/code" "os" ) @@ -32,8 +31,6 @@ func main() { } defer file.Close() - var bc code.Code - scanner := scanner.New(file) tokens, err := scanner.Scan() if err != nil { @@ -46,8 +43,8 @@ func main() { exit("error during parsing: %v", err) } - comp := compiler.New(program) - bc, err = comp.Compile() + comp := compiler.New("program", "noone", program) + module, err := comp.Compile() if err != nil { exit("compilation failed: %v", err) } @@ -59,13 +56,13 @@ func main() { } defer output.Close() - if _, err := output.Write(bc.Code()); err != nil { + if _, err := output.Write(module.Code().Code()); err != nil { exit("could not write to file: %v", err) } } if *run { - vm := vm.New(&bc, nil) + vm := vm.New(module) if err := vm.Run(); err != nil { exit("execution failed: %v", err) } diff --git a/cmd/vm/main.go b/cmd/vm/main.go index 5ee954e..ecebcbf 100644 --- a/cmd/vm/main.go +++ b/cmd/vm/main.go @@ -4,6 +4,7 @@ import ( "flag" "fmt" "io" + "jinx/pkg/lang/modules" "jinx/pkg/lang/vm" "jinx/pkg/lang/vm/code" "jinx/pkg/lang/vm/text" @@ -90,7 +91,7 @@ func main() { } if *run { - vm := vm.New(&bc, nil) + vm := vm.New(modules.NewUnknownModule(&bc)) if err := vm.Run(); err != nil { exit("execution failed: %v", err) } |
