Module: KoiVM

Defined in:
lib/koi-vm/core.rb,
lib/koi-vm/helpers.rb,
lib/koi-vm/accessors.rb,
lib/koi-vm/opcodes/_value_constants.rb,
lib/koi-vm/opcodes/_opcode_constants.rb,
lib/koi-vm/opcodes/io_operations/gets.rb,
lib/koi-vm/opcodes/io_operations/print.rb,
lib/koi-vm/opcodes/math_operations/add.rb,
lib/koi-vm/opcodes/stack_operations/dup.rb,
lib/koi-vm/opcodes/stack_operations/pop.rb,
lib/koi-vm/opcodes/stack_operations/top.rb,
lib/koi-vm/opcodes/hash_operations/pairs.rb,
lib/koi-vm/opcodes/stack_operations/swap.rb,
lib/koi-vm/opcodes/hash_operations/length.rb,
lib/koi-vm/opcodes/math_operations/divide.rb,
lib/koi-vm/opcodes/control_operations/exit.rb,
lib/koi-vm/opcodes/hash_operations/get_key.rb,
lib/koi-vm/opcodes/hash_operations/has_key.rb,
lib/koi-vm/opcodes/hash_operations/set_key.rb,
lib/koi-vm/opcodes/stack_operations/typeof.rb,
lib/koi-vm/opcodes/control_operations/no_op.rb,
lib/koi-vm/opcodes/function_operations/call.rb,
lib/koi-vm/opcodes/math_operations/multiply.rb,
lib/koi-vm/opcodes/math_operations/subtract.rb,
lib/koi-vm/opcodes/push_operations/push_int.rb,
lib/koi-vm/opcodes/push_operations/push_nil.rb,
lib/koi-vm/opcodes/stack_operations/stksize.rb,
lib/koi-vm/opcodes/string_operations/concat.rb,
lib/koi-vm/opcodes/string_operations/strlen.rb,
lib/koi-vm/opcodes/hash_operations/num_pairs.rb,
lib/koi-vm/opcodes/hash_operations/push_hash.rb,
lib/koi-vm/opcodes/push_operations/push_bool.rb,
lib/koi-vm/opcodes/function_operations/return.rb,
lib/koi-vm/opcodes/push_operations/push_float.rb,
lib/koi-vm/opcodes/push_operations/push_string.rb,
lib/koi-vm/opcodes/string_operations/to_string.rb,
lib/koi-vm/opcodes/comparative_operations/equal.rb,
lib/koi-vm/opcodes/flow_control_operations/jump.rb,
lib/koi-vm/opcodes/function_operations/tailcall.rb,
lib/koi-vm/opcodes/comparative_operations/invert.rb,
lib/koi-vm/opcodes/variable_operations/get_local.rb,
lib/koi-vm/opcodes/variable_operations/set_local.rb,
lib/koi-vm/opcodes/variable_operations/get_global.rb,
lib/koi-vm/opcodes/variable_operations/set_global.rb,
lib/koi-vm/opcodes/flow_control_operations/jump_if.rb,
lib/koi-vm/opcodes/comparative_operations/less_than.rb,
lib/koi-vm/opcodes/function_operations/push_function.rb,
lib/koi-vm/opcodes/comparative_operations/greater_than.rb,
lib/koi-vm/opcodes/flow_control_operations/jump_unless.rb

Defined Under Namespace

Classes: VM

Constant Summary collapse

NIL_ =
0
BOOL_ =
1
INTEGER_ =
2
FLOAT_ =
3
STRING_ =
4
HASH_ =
5
FUNCTION_ =
16
PUSH_NIL =

0

0
PUSH_BOOL =
1
PUSH_INT =
2
PUSH_FLOAT =
3
PUSH_STRING =
4
JUMP =

20

20
JUMP_IF =
21
JUMP_UNLESS =
22
POP =

40

40
SWAP =
41
DUP =
42
STKSIZE =
43
TYPEOF =
44
TOP =
45
ADD =

60

60
SUBTRACT =
61
MULTIPLY =
62
DIVIDE =
63
CONCAT =

80

80
STRLEN =
81
TO_STRING =
82
EQUAL =

100

100
LESS_THAN =
101
GREATER_THAN =
102
INVERT =
103
120
GETS =
121
SET_LOCAL =

140

140
GET_LOCAL =
141
SET_GLOBAL =
142
GET_GLOBAL =
143
PUSH_FUNCTION =

160

160
END_FUNCTION =
161
CALL =
162
RETURN =
163
TAILCALL =
164
PUSH_HASH =

180

180
SET_KEY =
181
GET_KEY =
182
HAS_KEY =
183
LENGTH =
184
NUM_PAIRS =
185
PAIRS =
186
NO_OP =

240

240
EXIT =
255