OpCode
Defined in: packages/engine/src/parser/OpCode.ts:15
The VM’s bytecode instruction set.
Emitted by parselets (via BytecodeBuilder) during parsing and consumed by the VM’s dispatch loop during execution. Values are grouped into numeric bands by category (0-9 stack ops, 10-19 push-literal, 20-29 arithmetic, …) purely for readability, the VM dispatches on the exact numeric value, not the band.
Third-party packages emit CALL_PLUGIN (with a plugin-function index
from allocatePluginFunctionIndex) to invoke their own logic
see IEnginePackage.pluginFunctions. The other opcodes are used
internally by the built-in packages’ parselets.
Enumeration Members
Section titled “Enumeration Members”ADD: 20;Defined in: packages/engine/src/parser/OpCode.ts:31
BIND_UNKNOWN
Section titled “BIND_UNKNOWN”BIND_UNKNOWN: 159;Defined in: packages/engine/src/parser/OpCode.ts:150
BIT_AND
Section titled “BIT_AND”BIT_AND: 33;Defined in: packages/engine/src/parser/OpCode.ts:44
BIT_NOT
Section titled “BIT_NOT”BIT_NOT: 36;Defined in: packages/engine/src/parser/OpCode.ts:47
BIT_OR
Section titled “BIT_OR”BIT_OR: 34;Defined in: packages/engine/src/parser/OpCode.ts:45
BIT_XOR
Section titled “BIT_XOR”BIT_XOR: 35;Defined in: packages/engine/src/parser/OpCode.ts:46
CALL_AS_CONVERTER
Section titled “CALL_AS_CONVERTER”CALL_AS_CONVERTER: 145;Defined in: packages/engine/src/parser/OpCode.ts:120
CALL_BUILTIN
Section titled “CALL_BUILTIN”CALL_BUILTIN: 51;Defined in: packages/engine/src/parser/OpCode.ts:59
CALL_PLUGIN
Section titled “CALL_PLUGIN”CALL_PLUGIN: 50;Defined in: packages/engine/src/parser/OpCode.ts:58
CALL_USER_FUNCTION
Section titled “CALL_USER_FUNCTION”CALL_USER_FUNCTION: 151;Defined in: packages/engine/src/parser/OpCode.ts:131
CLOCK_TIME_TODAY
Section titled “CLOCK_TIME_TODAY”CLOCK_TIME_TODAY: 120;Defined in: packages/engine/src/parser/OpCode.ts:98
DATE_ADD
Section titled “DATE_ADD”DATE_ADD: 91;Defined in: packages/engine/src/parser/OpCode.ts:83
DATE_LAST_WEEKDAY
Section titled “DATE_LAST_WEEKDAY”DATE_LAST_WEEKDAY: 94;Defined in: packages/engine/src/parser/OpCode.ts:86
DATE_LITERAL
Section titled “DATE_LITERAL”DATE_LITERAL: 95;Defined in: packages/engine/src/parser/OpCode.ts:87
DATE_NEXT_WEEKDAY
Section titled “DATE_NEXT_WEEKDAY”DATE_NEXT_WEEKDAY: 93;Defined in: packages/engine/src/parser/OpCode.ts:85
DATE_NOW
Section titled “DATE_NOW”DATE_NOW: 90;Defined in: packages/engine/src/parser/OpCode.ts:82
DATE_SUB
Section titled “DATE_SUB”DATE_SUB: 92;Defined in: packages/engine/src/parser/OpCode.ts:84
DEFINE_USER_FUNCTION
Section titled “DEFINE_USER_FUNCTION”DEFINE_USER_FUNCTION: 150;Defined in: packages/engine/src/parser/OpCode.ts:130
DIV: 23;Defined in: packages/engine/src/parser/OpCode.ts:34
DUP: 3;Defined in: packages/engine/src/parser/OpCode.ts:20
EQ: 40;Defined in: packages/engine/src/parser/OpCode.ts:50
EXP: 25;Defined in: packages/engine/src/parser/OpCode.ts:36
GT: 44;Defined in: packages/engine/src/parser/OpCode.ts:54
GTE: 45;Defined in: packages/engine/src/parser/OpCode.ts:55
HALT: 1;Defined in: packages/engine/src/parser/OpCode.ts:18
LOAD_GLOBAL_VAR
Section titled “LOAD_GLOBAL_VAR”LOAD_GLOBAL_VAR: 62;Defined in: packages/engine/src/parser/OpCode.ts:65
LOAD_VAR
Section titled “LOAD_VAR”LOAD_VAR: 60;Defined in: packages/engine/src/parser/OpCode.ts:63
LOGICAL_AND
Section titled “LOGICAL_AND”LOGICAL_AND: 130;Defined in: packages/engine/src/parser/OpCode.ts:103
LOGICAL_OR
Section titled “LOGICAL_OR”LOGICAL_OR: 131;Defined in: packages/engine/src/parser/OpCode.ts:104
LSHIFT
Section titled “LSHIFT”LSHIFT: 30;Defined in: packages/engine/src/parser/OpCode.ts:41
LT: 42;Defined in: packages/engine/src/parser/OpCode.ts:52
LTE: 43;Defined in: packages/engine/src/parser/OpCode.ts:53
MAP_INVOKE
Section titled “MAP_INVOKE”MAP_INVOKE: 157;Defined in: packages/engine/src/parser/OpCode.ts:142
MAT_INDEX1
Section titled “MAT_INDEX1”MAT_INDEX1: 153;Defined in: packages/engine/src/parser/OpCode.ts:138
MAT_INDEX2
Section titled “MAT_INDEX2”MAT_INDEX2: 154;Defined in: packages/engine/src/parser/OpCode.ts:139
MAT_NEW
Section titled “MAT_NEW”MAT_NEW: 152;Defined in: packages/engine/src/parser/OpCode.ts:137
MAT_SLICE
Section titled “MAT_SLICE”MAT_SLICE: 155;Defined in: packages/engine/src/parser/OpCode.ts:140
MOD: 24;Defined in: packages/engine/src/parser/OpCode.ts:35
MUL: 22;Defined in: packages/engine/src/parser/OpCode.ts:33
NEG: 26;Defined in: packages/engine/src/parser/OpCode.ts:37
NEQ: 41;Defined in: packages/engine/src/parser/OpCode.ts:51
NOP: 0;Defined in: packages/engine/src/parser/OpCode.ts:17
POS: 27;Defined in: packages/engine/src/parser/OpCode.ts:38
PUSH_BIGINT
Section titled “PUSH_BIGINT”PUSH_BIGINT: 11;Defined in: packages/engine/src/parser/OpCode.ts:24
PUSH_BOOLEAN
Section titled “PUSH_BOOLEAN”PUSH_BOOLEAN: 14;Defined in: packages/engine/src/parser/OpCode.ts:27
PUSH_HEX
Section titled “PUSH_HEX”PUSH_HEX: 12;Defined in: packages/engine/src/parser/OpCode.ts:25
PUSH_NUMBER
Section titled “PUSH_NUMBER”PUSH_NUMBER: 10;Defined in: packages/engine/src/parser/OpCode.ts:23
PUSH_STRING
Section titled “PUSH_STRING”PUSH_STRING: 13;Defined in: packages/engine/src/parser/OpCode.ts:26
PUSH_VARIABLE
Section titled “PUSH_VARIABLE”PUSH_VARIABLE: 15;Defined in: packages/engine/src/parser/OpCode.ts:28
RANGE_NEW
Section titled “RANGE_NEW”RANGE_NEW: 156;Defined in: packages/engine/src/parser/OpCode.ts:141
RATE_CONVERT
Section titled “RATE_CONVERT”RATE_CONVERT: 112;Defined in: packages/engine/src/parser/OpCode.ts:94
RATE_DIV
Section titled “RATE_DIV”RATE_DIV: 110;Defined in: packages/engine/src/parser/OpCode.ts:92
RATE_MUL
Section titled “RATE_MUL”RATE_MUL: 111;Defined in: packages/engine/src/parser/OpCode.ts:93
REDUCE_INVOKE
Section titled “REDUCE_INVOKE”REDUCE_INVOKE: 158;Defined in: packages/engine/src/parser/OpCode.ts:143
RETURN
Section titled “RETURN”RETURN: 52;Defined in: packages/engine/src/parser/OpCode.ts:60
RSHIFT
Section titled “RSHIFT”RSHIFT: 31;Defined in: packages/engine/src/parser/OpCode.ts:42
SELECT
Section titled “SELECT”SELECT: 132;Defined in: packages/engine/src/parser/OpCode.ts:105
STORE_GLOBAL_VAR
Section titled “STORE_GLOBAL_VAR”STORE_GLOBAL_VAR: 63;Defined in: packages/engine/src/parser/OpCode.ts:66
STORE_VAR
Section titled “STORE_VAR”STORE_VAR: 61;Defined in: packages/engine/src/parser/OpCode.ts:64
SUB: 21;Defined in: packages/engine/src/parser/OpCode.ts:32
SWAP: 2;Defined in: packages/engine/src/parser/OpCode.ts:19
TO_BINARY
Section titled “TO_BINARY”TO_BINARY: 143;Defined in: packages/engine/src/parser/OpCode.ts:118
TO_FRACTION
Section titled “TO_FRACTION”TO_FRACTION: 140;Defined in: packages/engine/src/parser/OpCode.ts:115
TO_HEX
Section titled “TO_HEX”TO_HEX: 71;Defined in: packages/engine/src/parser/OpCode.ts:70
TO_MULTIPLIER
Section titled “TO_MULTIPLIER”TO_MULTIPLIER: 141;Defined in: packages/engine/src/parser/OpCode.ts:116
TO_NUMBER
Section titled “TO_NUMBER”TO_NUMBER: 70;Defined in: packages/engine/src/parser/OpCode.ts:69
TO_OCTAL
Section titled “TO_OCTAL”TO_OCTAL: 144;Defined in: packages/engine/src/parser/OpCode.ts:119
TO_PERCENTAGE
Section titled “TO_PERCENTAGE”TO_PERCENTAGE: 74;Defined in: packages/engine/src/parser/OpCode.ts:71
TO_SCI
Section titled “TO_SCI”TO_SCI: 142;Defined in: packages/engine/src/parser/OpCode.ts:117
UOM_BEST
Section titled “UOM_BEST”UOM_BEST: 83;Defined in: packages/engine/src/parser/OpCode.ts:77
UOM_CONVERT
Section titled “UOM_CONVERT”UOM_CONVERT: 80;Defined in: packages/engine/src/parser/OpCode.ts:74
UOM_CONVERT_IN
Section titled “UOM_CONVERT_IN”UOM_CONVERT_IN: 84;Defined in: packages/engine/src/parser/OpCode.ts:78
UOM_CONVERT_TO
Section titled “UOM_CONVERT_TO”UOM_CONVERT_TO: 81;Defined in: packages/engine/src/parser/OpCode.ts:75
UOM_GET_VALUE
Section titled “UOM_GET_VALUE”UOM_GET_VALUE: 82;Defined in: packages/engine/src/parser/OpCode.ts:76
UOM_POSSIBILITIES
Section titled “UOM_POSSIBILITIES”UOM_POSSIBILITIES: 85;Defined in: packages/engine/src/parser/OpCode.ts:79
URSHIFT
Section titled “URSHIFT”URSHIFT: 32;Defined in: packages/engine/src/parser/OpCode.ts:43