From 2ddb215e3b0d3818b3fac8f315d97d8020eb699f Mon Sep 17 00:00:00 2001 From: Mel Date: Sat, 28 May 2022 14:28:46 +0000 Subject: Extract stack package and hide behind interface --- pkg/lang/vm/vm.go | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'pkg/lang/vm/vm.go') diff --git a/pkg/lang/vm/vm.go b/pkg/lang/vm/vm.go index 9c17a3f..2ac689b 100644 --- a/pkg/lang/vm/vm.go +++ b/pkg/lang/vm/vm.go @@ -3,12 +3,13 @@ package vm import ( "jinx/pkg/lang/vm/code" "jinx/pkg/lang/vm/mem" + "jinx/pkg/lang/vm/stack" ) type VM struct { code *code.Code pc int - stack Stack + stack stack.Stack memory mem.Mem } @@ -16,7 +17,7 @@ func New(code *code.Code) *VM { return &VM{ code: code, pc: 0, - stack: NewStack(), + stack: stack.New(), memory: mem.New(), } } @@ -27,7 +28,7 @@ func (vm *VM) GetResult() (string, error) { return "", err } - if str, err := res.Data().String(&vm.memory); err == nil { + if str, err := res.Data().String(vm.memory); err == nil { return str, nil } else { return "", err -- cgit 1.4.1