VM!
This commit is contained in:
@@ -12,6 +12,7 @@ type Opcode byte
|
||||
|
||||
const (
|
||||
OpConstant Opcode = iota
|
||||
OpAdd
|
||||
)
|
||||
|
||||
type Definition struct {
|
||||
@@ -21,6 +22,7 @@ type Definition struct {
|
||||
|
||||
var definitions = map[Opcode]*Definition{
|
||||
OpConstant: {"OpConstant", []int{2}},
|
||||
OpAdd: {"OpAdd", []int{}},
|
||||
}
|
||||
|
||||
func Lookup(op byte) (*Definition, error) {
|
||||
@@ -88,6 +90,8 @@ func (ins Instructions) fmtInstruction(def *Definition, operands []int) string {
|
||||
}
|
||||
|
||||
switch operandCount {
|
||||
case 0:
|
||||
return def.Name
|
||||
case 1:
|
||||
return fmt.Sprintf("%s %d", def.Name, operands[0])
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user