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