NaVM

the VM

class NaVM {}

Constructors

this
this(uinteger stackLength)

constructor

Destructor

~this
~this()

destructor

Members

Functions

addInstruction
bool addInstruction(NaInstruction instruction)

Adds a new instruction

addInstruction
bool addInstruction(NaInstruction instruction, string error)

Adds a new instruction

arrayLength
void arrayLength()
Undocumented in source. Be warned that the author may not have intended to support it.
arrayLengthSet
void arrayLengthSet()
Undocumented in source. Be warned that the author may not have intended to support it.
binaryAnd
void binaryAnd()
Undocumented in source. Be warned that the author may not have intended to support it.
binaryNot
void binaryNot()
Undocumented in source. Be warned that the author may not have intended to support it.
binaryOr
void binaryOr()
Undocumented in source. Be warned that the author may not have intended to support it.
boolToString
void boolToString()
Undocumented in source. Be warned that the author may not have intended to support it.
clearStack
void clearStack()

Clears stack

deref
void deref()
Undocumented in source. Be warned that the author may not have intended to support it.
doIf
void doIf()
Undocumented in source. Be warned that the author may not have intended to support it.
doubleToInt
void doubleToInt()
Undocumented in source. Be warned that the author may not have intended to support it.
doubleToString
void doubleToString()
Undocumented in source. Be warned that the author may not have intended to support it.
execute
void execute(uinteger index)

Starts execution of byte code, starting with the instruction at index

incRef
void incRef()
Undocumented in source. Be warned that the author may not have intended to support it.
intToDouble
void intToDouble()
Undocumented in source. Be warned that the author may not have intended to support it.
intToString
void intToString()
Undocumented in source. Be warned that the author may not have intended to support it.
isGreaterDouble
void isGreaterDouble()
Undocumented in source. Be warned that the author may not have intended to support it.
isGreaterInt
void isGreaterInt()
Undocumented in source. Be warned that the author may not have intended to support it.
isGreaterSameDouble
void isGreaterSameDouble()
Undocumented in source. Be warned that the author may not have intended to support it.
isGreaterSameInt
void isGreaterSameInt()
Undocumented in source. Be warned that the author may not have intended to support it.
isLesserDouble
void isLesserDouble()
Undocumented in source. Be warned that the author may not have intended to support it.
isLesserInt
void isLesserInt()
Undocumented in source. Be warned that the author may not have intended to support it.
isLesserSameDouble
void isLesserSameDouble()
Undocumented in source. Be warned that the author may not have intended to support it.
isLesserSameInt
void isLesserSameInt()
Undocumented in source. Be warned that the author may not have intended to support it.
isSame
void isSame()
Undocumented in source. Be warned that the author may not have intended to support it.
isSameArray
void isSameArray()
Undocumented in source. Be warned that the author may not have intended to support it.
jump
void jump()
Undocumented in source. Be warned that the author may not have intended to support it.
jumpBack
void jumpBack()
Undocumented in source. Be warned that the author may not have intended to support it.
jumpFrame
void jumpFrame()
Undocumented in source. Be warned that the author may not have intended to support it.
load
string[] load(string[] byteCode)
string[] load(NaBytecode byteCode)

Loads bytecode into VM

makeArray
void makeArray()
Undocumented in source. Be warned that the author may not have intended to support it.
mathAddDouble
void mathAddDouble()
Undocumented in source. Be warned that the author may not have intended to support it.
mathAddInt
void mathAddInt()
Undocumented in source. Be warned that the author may not have intended to support it.
mathDivideDouble
void mathDivideDouble()
Undocumented in source. Be warned that the author may not have intended to support it.
mathDivideInt
void mathDivideInt()
Undocumented in source. Be warned that the author may not have intended to support it.
mathModDouble
void mathModDouble()
Undocumented in source. Be warned that the author may not have intended to support it.
mathModInt
void mathModInt()
Undocumented in source. Be warned that the author may not have intended to support it.
mathMultiplyDouble
void mathMultiplyDouble()
Undocumented in source. Be warned that the author may not have intended to support it.
mathMultiplyInt
void mathMultiplyInt()
Undocumented in source. Be warned that the author may not have intended to support it.
mathSubtractDouble
void mathSubtractDouble()
Undocumented in source. Be warned that the author may not have intended to support it.
mathSubtractInt
void mathSubtractInt()
Undocumented in source. Be warned that the author may not have intended to support it.
pop
void pop()
Undocumented in source. Be warned that the author may not have intended to support it.
popN
void popN()
Undocumented in source. Be warned that the author may not have intended to support it.
push
void push()
Undocumented in source. Be warned that the author may not have intended to support it.
pushFrom
void pushFrom()
Undocumented in source. Be warned that the author may not have intended to support it.
pushFromAbs
void pushFromAbs()
Undocumented in source. Be warned that the author may not have intended to support it.
pushRefFrom
void pushRefFrom()
Undocumented in source. Be warned that the author may not have intended to support it.
pushRefFromAbs
void pushRefFromAbs()
Undocumented in source. Be warned that the author may not have intended to support it.
stringToBool
void stringToBool()
Undocumented in source. Be warned that the author may not have intended to support it.
stringToDouble
void stringToDouble()
Undocumented in source. Be warned that the author may not have intended to support it.
stringToInt
void stringToInt()
Undocumented in source. Be warned that the author may not have intended to support it.
writeTo
void writeTo()
Undocumented in source. Be warned that the author may not have intended to support it.
writeToAbs
void writeToAbs()
Undocumented in source. Be warned that the author may not have intended to support it.
writeToRef
void writeToRef()
Undocumented in source. Be warned that the author may not have intended to support it.

Properties

instructionTable
NaInstruction[] instructionTable [@property getter]

a copy of the instructions table

Variables

_arg
NaData* _arg;

pointer to next instruction's arguments

_arguments
NaData[] _arguments;

argument of each instruction

_inst
void delegate()* _inst;

pointer to next instruction

_instructions
void delegate()[] _instructions;

instructions of loaded byte code

_jumpStack
ArrayStack!StackFrame _jumpStack;

for storing pointers before jumping

_stack
ArrayStack!NaData _stack;

as the name says, stack

_stackIndex
uinteger _stackIndex;

stack index relative to which some instructions will pushFrom/writeTo

Meta