code

package
v0.0.0-...-13e3ec7 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 2, 2021 License: MIT Imports: 3 Imported by: 0

Documentation

Index

Constants

View Source
const OptionalParameterInstructions = 3

Variables

This section is empty.

Functions

func Make

func Make(op Opcode, operands ...int) []byte

func ReadOperands

func ReadOperands(def *Definition, ins Instructions) ([]int, int)

func ReadUint16

func ReadUint16(ins Instructions) uint16

func ReadUint8

func ReadUint8(ins Instructions) uint8

Types

type Definition

type Definition struct {
	Name          string
	OperandWidths []int
}

func Lookup

func Lookup(op byte) (*Definition, error)

type Instructions

type Instructions []byte

func (Instructions) String

func (ins Instructions) String() string

type Opcode

type Opcode byte
const (
	OpConstant Opcode = iota
	OpAdd
	OpSub
	OpMul
	OpDiv
	OpMinus
	OpPop
	OpTrue
	OpFalse
	OpBang
	OpCastToBool
	OpEqual
	OpNotEqual
	OpGreaterThan
	OpGreaterOrEqual
	OpJumpNotTruthy
	OpJump
	OpNull
	OpGetGlobal
	OpSetGlobal
	OpAssignGlobal
	OpGetLocal
	OpSetLocal
	OpAssignLocal
	OpArray
	OpHash
	OpIndex
	OpCall
	OpReturn
	OpGetBuiltin
	OpClosure
	OpGetFree
	OpCurrentClosure
)
const OpNop Opcode = 255

The NOP opcode will consume 1 cpu cycle, but do nothing

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL