microvium
Version:
A compact, embeddable scripting engine for microcontrollers for executing small scripts written in a subset of JavaScript.
142 lines (141 loc) • 3.82 kB
TypeScript
export declare enum vm_TeOpcode {
VM_OP_LOAD_SMALL_LITERAL = 0,
VM_OP_LOAD_VAR_1 = 1,
VM_OP_LOAD_SCOPED_1 = 2,
VM_OP_LOAD_ARG_1 = 3,
VM_OP_CALL_1 = 4,
VM_OP_FIXED_ARRAY_NEW_1 = 5,
VM_OP_EXTENDED_1 = 6,
VM_OP_EXTENDED_2 = 7,
VM_OP_EXTENDED_3 = 8,
VM_OP_CALL_5 = 9,
VM_OP_DIVIDER_1 = 10,
VM_OP_STORE_VAR_1 = 10,
VM_OP_STORE_SCOPED_1 = 11,
VM_OP_ARRAY_GET_1 = 12,
VM_OP_ARRAY_SET_1 = 13,
VM_OP_NUM_OP = 14,
VM_OP_BIT_OP = 15,
VM_OP_END = 16
}
export declare enum vm_TeOpcodeEx1 {
VM_OP1_RETURN = 0,
VM_OP1_THROW = 1,
VM_OP1_CLOSURE_NEW = 2,
VM_OP1_NEW = 3,
VM_OP1_RESERVED_VIRTUAL_NEW = 4,
VM_OP1_SCOPE_NEW = 5,
VM_OP1_TYPE_CODE_OF = 6,
VM_OP1_POP = 7,
VM_OP1_TYPEOF = 8,
VM_OP1_OBJECT_NEW = 9,
VM_OP1_LOGICAL_NOT = 10,
VM_OP1_DIVIDER_1 = 11,
VM_OP1_OBJECT_GET_1 = 11,
VM_OP1_ADD = 12,
VM_OP1_EQUAL = 13,
VM_OP1_NOT_EQUAL = 14,
VM_OP1_OBJECT_SET_1 = 15,
VM_OP1_END = 16
}
export declare enum vm_TeOpcodeEx2 {
VM_OP2_BRANCH_1 = 0,
VM_OP2_STORE_ARG = 1,
VM_OP2_STORE_SCOPED_2 = 2,
VM_OP2_STORE_VAR_2 = 3,
VM_OP2_ARRAY_GET_2_RESERVED = 4,
VM_OP2_ARRAY_SET_2_RESERVED = 5,
VM_OP2_DIVIDER_1 = 6,
VM_OP2_JUMP_1 = 6,
VM_OP2_CALL_HOST = 7,
VM_OP2_CALL_3 = 8,
VM_OP2_CALL_6 = 9,
VM_OP2_LOAD_SCOPED_2 = 10,
VM_OP2_LOAD_VAR_2 = 11,
VM_OP2_LOAD_ARG_2 = 12,
VM_OP2_EXTENDED_4 = 13,
VM_OP2_ARRAY_NEW = 14,
VM_OP2_FIXED_ARRAY_NEW_2 = 15,
VM_OP2_END = 16
}
export declare enum vm_TeOpcodeEx3 {
VM_OP3_POP_N = 0,
VM_OP3_SCOPE_DISCARD = 1,
VM_OP3_SCOPE_CLONE = 2,
VM_OP3_AWAIT = 3,
VM_OP3_AWAIT_CALL = 4,
VM_OP3_ASYNC_RESUME = 5,
VM_OP3_RESERVED_3 = 6,
VM_OP3_DIVIDER_1 = 7,
VM_OP3_JUMP_2 = 7,
VM_OP3_LOAD_LITERAL = 8,
VM_OP3_LOAD_GLOBAL_3 = 9,
VM_OP3_LOAD_SCOPED_3 = 10,
VM_OP3_DIVIDER_2 = 11,
VM_OP3_BRANCH_2 = 11,
VM_OP3_STORE_GLOBAL_3 = 12,
VM_OP3_STORE_SCOPED_3 = 13,
VM_OP3_OBJECT_GET_2 = 14,
VM_OP3_OBJECT_SET_2 = 15,
VM_OP3_END = 16
}
export declare enum vm_TeOpcodeEx4 {
VM_OP4_START_TRY = 0,
VM_OP4_END_TRY = 1,
VM_OP4_OBJECT_KEYS = 2,
VM_OP4_UINT8_ARRAY_NEW = 3,
VM_OP4_CLASS_CREATE = 4,
VM_OP4_TYPE_CODE_OF = 5,
VM_OP4_LOAD_REG_CLOSURE = 6,
VM_OP4_SCOPE_PUSH = 7,
VM_OP4_SCOPE_POP = 8,
VM_OP4_SCOPE_SAVE = 9,
VM_OP4_ASYNC_START = 10,
VM_OP4_ASYNC_RETURN = 11,
VM_OP4_ENQUEUE_JOB = 12,
VM_OP4_ASYNC_COMPLETE = 13,
VM_OP4_END = 14
}
export declare enum vm_TeNumberOp {
VM_NUM_OP_LESS_THAN = 0,
VM_NUM_OP_GREATER_THAN = 1,
VM_NUM_OP_LESS_EQUAL = 2,
VM_NUM_OP_GREATER_EQUAL = 3,
VM_NUM_OP_ADD_NUM = 4,
VM_NUM_OP_SUBTRACT = 5,
VM_NUM_OP_MULTIPLY = 6,
VM_NUM_OP_DIVIDE = 7,
VM_NUM_OP_DIVIDE_AND_TRUNC = 8,
VM_NUM_OP_REMAINDER = 9,
VM_NUM_OP_POWER = 10,
VM_NUM_OP_DIVIDER = 11,
VM_NUM_OP_NEGATE = 11,
VM_NUM_OP_UNARY_PLUS = 12,
VM_NUM_OP_END = 13
}
export declare enum vm_TeBitwiseOp {
VM_BIT_OP_SHR_ARITHMETIC = 0,
VM_BIT_OP_SHR_LOGICAL = 1,
VM_BIT_OP_SHL = 2,
VM_BIT_OP_END_OF_SHIFT_OPERATORS = 3,
VM_BIT_OP_OR = 3,
VM_BIT_OP_AND = 4,
VM_BIT_OP_XOR = 5,
VM_BIT_OP_DIVIDER_2 = 6,
VM_BIT_OP_NOT = 6,
VM_BIT_OP_END = 7
}
export declare enum vm_TeSmallLiteralValue {
VM_SLV_DELETED = 0,
VM_SLV_UNDEFINED = 1,
VM_SLV_NULL = 2,
VM_SLV_FALSE = 3,
VM_SLV_TRUE = 4,
VM_SLV_INT_MINUS_1 = 5,
VM_SLV_INT_0 = 6,
VM_SLV_INT_1 = 7,
VM_SLV_INT_2 = 8,
VM_SLV_INT_3 = 9,
VM_SLV_INT_4 = 10,
VM_SLV_INT_5 = 11
}