Refactored all OP_ functions to vm/CATEGORY/ and renamed the files.
This commit is contained in:
parent
108be8c41e
commit
50a91d0b6f
67 changed files with 91 additions and 92 deletions
135
src/vm.c
135
src/vm.c
|
|
@ -193,69 +193,78 @@ void vm_run(VM *vm, Bytecode *entry) {
|
|||
|
||||
switch (inst.op) {
|
||||
/* All opcode handlers as .c includes */
|
||||
#include "vm_cases/core/vm_case_nop.c"
|
||||
#include "vm_cases/core/vm_case_load_const.c"
|
||||
#include "vm_cases/core/vm_case_load_local.c"
|
||||
#include "vm_cases/core/vm_case_store_local.c"
|
||||
#include "vm_cases/arithmetic/vm_case_add.c"
|
||||
#include "vm_cases/arithmetic/vm_case_sub.c"
|
||||
#include "vm_case_mul.c"
|
||||
#include "vm_case_div.c"
|
||||
#include "vm_case_lt.c"
|
||||
#include "vm_case_lte.c"
|
||||
#include "vm_cases/core/vm_case_jump.c"
|
||||
#include "vm_case_gt.c"
|
||||
#include "vm_case_gte.c"
|
||||
#include "vm_cases/logic/vm_case_eq.c"
|
||||
#include "vm_case_neq.c"
|
||||
#include "vm_cases/core/vm_case_jump_if_false.c"
|
||||
#include "vm_case_call.c"
|
||||
#include "vm_case_return.c"
|
||||
#include "vm_case_print.c"
|
||||
#include "vm_cases/core/vm_case_halt.c"
|
||||
#include "vm_case_pop.c"
|
||||
#include "vm_case_dup.c"
|
||||
#include "vm_case_swap.c"
|
||||
#include "vm_case_make_array.c"
|
||||
#include "vm_case_index_get.c"
|
||||
#include "vm_case_index_set.c"
|
||||
#include "vm_case_len.c"
|
||||
#include "vm_case_arr_push.c"
|
||||
#include "vm_case_arr_pop.c"
|
||||
#include "vm_case_arr_set.c"
|
||||
#include "vm_case_arr_insert.c"
|
||||
#include "vm_case_arr_remove.c"
|
||||
#include "vm_case_slice.c"
|
||||
#include "vm_case_to_number.c"
|
||||
#include "vm_case_to_string.c"
|
||||
#include "vm_case_split.c"
|
||||
#include "vm_case_join.c"
|
||||
#include "vm_case_substr.c"
|
||||
#include "vm_case_find.c"
|
||||
#include "vm_case_contains.c"
|
||||
#include "vm_case_index_of.c"
|
||||
#include "vm_case_clear.c"
|
||||
#include "vm_case_enumerate.c"
|
||||
#include "vm_case_zip.c"
|
||||
#include "vm_case_min.c"
|
||||
#include "vm_case_max.c"
|
||||
#include "vm_case_clamp.c"
|
||||
#include "vm_case_abs.c"
|
||||
#include "vm_case_pow.c"
|
||||
#include "vm_case_random_seed.c"
|
||||
#include "vm_case_random_int.c"
|
||||
#include "vm_case_make_map.c"
|
||||
#include "vm_case_keys.c"
|
||||
#include "vm_case_values.c"
|
||||
#include "vm_case_has_key.c"
|
||||
#include "vm_case_read_file.c"
|
||||
#include "vm_case_write_file.c"
|
||||
#include "vm_case_load_global.c"
|
||||
#include "vm_case_store_global.c"
|
||||
#include "vm_case_mod.c"
|
||||
#include "vm_case_and.c"
|
||||
#include "vm_case_or.c"
|
||||
#include "vm_case_not.c"
|
||||
#include "vm/arithmetic/add.c"
|
||||
#include "vm/arithmetic/div.c"
|
||||
#include "vm/arithmetic/mul.c"
|
||||
#include "vm/arithmetic/sub.c"
|
||||
|
||||
#include "vm/arrays/arr_insert.c"
|
||||
#include "vm/arrays/arr_pop.c"
|
||||
#include "vm/arrays/arr_push.c"
|
||||
#include "vm/arrays/arr_remove.c"
|
||||
#include "vm/arrays/arr_set.c"
|
||||
#include "vm/arrays/clear.c"
|
||||
#include "vm/arrays/contains.c"
|
||||
#include "vm/arrays/enumerate.c"
|
||||
#include "vm/arrays/index_get.c"
|
||||
#include "vm/arrays/index_of.c"
|
||||
#include "vm/arrays/index_set.c"
|
||||
#include "vm/arrays/join.c"
|
||||
#include "vm/arrays/make_array.c"
|
||||
#include "vm/arrays/slice.c"
|
||||
#include "vm/arrays/zip.c"
|
||||
|
||||
#include "vm/core/call.c"
|
||||
#include "vm/core/dup.c"
|
||||
#include "vm/core/halt.c"
|
||||
#include "vm/core/jump.c"
|
||||
#include "vm/core/jump_if_false.c"
|
||||
#include "vm/core/load_const.c"
|
||||
#include "vm/core/load_global.c"
|
||||
#include "vm/core/load_local.c"
|
||||
#include "vm/core/nop.c"
|
||||
#include "vm/core/pop.c"
|
||||
#include "vm/core/return.c"
|
||||
#include "vm/core/store_global.c"
|
||||
#include "vm/core/store_local.c"
|
||||
#include "vm/core/swap.c"
|
||||
|
||||
#include "vm/io/read_file.c"
|
||||
#include "vm/io/write_file.c"
|
||||
|
||||
#include "vm/logic/and.c"
|
||||
#include "vm/logic/eq.c"
|
||||
#include "vm/logic/gt.c"
|
||||
#include "vm/logic/gte.c"
|
||||
#include "vm/logic/lt.c"
|
||||
#include "vm/logic/lte.c"
|
||||
#include "vm/logic/neq.c"
|
||||
#include "vm/logic/not.c"
|
||||
#include "vm/logic/or.c"
|
||||
|
||||
#include "vm/maps/has_key.c"
|
||||
#include "vm/maps/keys.c"
|
||||
#include "vm/maps/make_map.c"
|
||||
#include "vm/maps/values.c"
|
||||
|
||||
#include "vm/math/abs.c"
|
||||
#include "vm/math/clamp.c"
|
||||
#include "vm/math/max.c"
|
||||
#include "vm/math/min.c"
|
||||
#include "vm/math/mod.c"
|
||||
#include "vm/math/pow.c"
|
||||
#include "vm/math/random_int.c"
|
||||
#include "vm/math/random_seed.c"
|
||||
|
||||
#include "vm/strings/find.c"
|
||||
#include "vm/strings/split.c"
|
||||
#include "vm/strings/substr.c"
|
||||
|
||||
#include "vm/len.c"
|
||||
#include "vm/print.c"
|
||||
#include "vm/to_number.c"
|
||||
#include "vm/to_string.c"
|
||||
|
||||
default:
|
||||
if (!opcode_is_valid(inst.op)) {
|
||||
fprintf(stderr, "Runtime error: unknown opcode %d (%s) at instruction %d\n",
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue