vm

package
v0.0.0-...-f82cdda Latest Latest
Warning

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

Go to latest
Published: Dec 24, 2023 License: MIT Imports: 5 Imported by: 0

Documentation

Index

Constants

View Source
const (
	Ok                       = "Ok"
	StackOverflow            = "Stack overflow"
	StackUnderflow           = "Stack underflow"
	IllegalInstruction       = "Illegal instruction"
	IllegalInstructionAccess = "Access to illegal instruction"
	DivisionByZero           = "Division by zero"
	UnknownOperand           = "Unknown operand"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type Error

type Error string

type VirtualMachine

type VirtualMachine struct {
	Stack              []int
	Instructions       []token.Token
	Labels             map[string]int
	NotResolvedLabels  map[string]int
	InstructionPointer int
}

func NewVirtualMachine

func NewVirtualMachine() *VirtualMachine

func (*VirtualMachine) Execute

func (a *VirtualMachine) Execute(executingLimit int, printCurrentInstruction bool)

func (*VirtualMachine) LoadNaiveFromSourceBinary

func (a *VirtualMachine) LoadNaiveFromSourceBinary(sourcePath string)

func (*VirtualMachine) LoadNaiveFromSourceFile

func (a *VirtualMachine) LoadNaiveFromSourceFile(sourcePath string)

func (*VirtualMachine) LoadProgram

func (a *VirtualMachine) LoadProgram(program []token.Token)

func (*VirtualMachine) PrintInstructions

func (a *VirtualMachine) PrintInstructions()

func (*VirtualMachine) PrintStack

func (a *VirtualMachine) PrintStack()

func (*VirtualMachine) Run

func (a *VirtualMachine) Run() Error

Jump to

Keyboard shortcuts

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