jweinst1
5/2/2016 - 6:47 AM

string cached mini vm in go

string cached mini vm in go

package main
//file to implement the virtual machine
import (
	"fmt"
)

type VirtualMachine struct {
	ints map[string]func(a, b int) int
}

func CreateVM() VirtualMachine {
	machine := VirtualMachine{ints:make(map[string]func(a, b int)int)}
	machine.ints["+"] = func(a, b int)int {return a+b}
	return machine
}

func main() {
	tester := CreateVM()
	fmt.Println(tester.ints["+"](1, 2))
}
//3