rearrange builtins
Some checks failed
Build / build (push) Successful in 10m31s
Test / build (push) Failing after 39m25s

This commit is contained in:
Chuck Smith
2024-03-24 14:00:22 -04:00
parent 387bb80094
commit b4ba660704
47 changed files with 652 additions and 515 deletions

View File

@@ -4,6 +4,7 @@ import (
"fmt"
"log"
"monkey/ast"
"monkey/builtins"
"monkey/code"
"monkey/object"
"sort"
@@ -42,7 +43,7 @@ func New() *Compiler {
symbolTable := NewSymbolTable()
for i, builtin := range object.BuiltinsIndex {
for i, builtin := range builtins.BuiltinsIndex {
symbolTable.DefineBuiltin(i, builtin.Name)
}

View File

@@ -879,11 +879,11 @@ func TestBuiltins(t *testing.T) {
`,
expectedConstants: []interface{}{1},
expectedInstructions: []code.Instructions{
code.Make(code.OpGetBuiltin, 10),
code.Make(code.OpGetBuiltin, 11),
code.Make(code.OpArray, 0),
code.Make(code.OpCall, 1),
code.Make(code.OpPop),
code.Make(code.OpGetBuiltin, 14),
code.Make(code.OpGetBuiltin, 15),
code.Make(code.OpArray, 0),
code.Make(code.OpConstant, 0),
code.Make(code.OpCall, 2),
@@ -894,7 +894,7 @@ func TestBuiltins(t *testing.T) {
input: `fn() { return len([]) }`,
expectedConstants: []interface{}{
[]code.Instructions{
code.Make(code.OpGetBuiltin, 10),
code.Make(code.OpGetBuiltin, 11),
code.Make(code.OpArray, 0),
code.Make(code.OpCall, 1),
code.Make(code.OpReturn),