This site describes solve-engine as it is on main: 2.43.0, which npm does not have yet. npm installs 2.40.0, so a page may show an answer that version does not give yet.
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:39
AS_RATE
Section titled “AS_RATE”AS_RATE: 163;Defined in: packages/engine/src/parser/OpCode.ts:189
BIND_UNKNOWN
Section titled “BIND_UNKNOWN”BIND_UNKNOWN: 159;Defined in: packages/engine/src/parser/OpCode.ts:166
BIT_AND
Section titled “BIT_AND”BIT_AND: 33;Defined in: packages/engine/src/parser/OpCode.ts:58
BIT_NOT
Section titled “BIT_NOT”BIT_NOT: 36;Defined in: packages/engine/src/parser/OpCode.ts:61
BIT_OR
Section titled “BIT_OR”BIT_OR: 34;Defined in: packages/engine/src/parser/OpCode.ts:59
BIT_XOR
Section titled “BIT_XOR”BIT_XOR: 35;Defined in: packages/engine/src/parser/OpCode.ts:60
CALL_AS_CONVERTER
Section titled “CALL_AS_CONVERTER”CALL_AS_CONVERTER: 145;Defined in: packages/engine/src/parser/OpCode.ts:136
CALL_BUILTIN
Section titled “CALL_BUILTIN”CALL_BUILTIN: 51;Defined in: packages/engine/src/parser/OpCode.ts:73
CALL_PLUGIN
Section titled “CALL_PLUGIN”CALL_PLUGIN: 50;Defined in: packages/engine/src/parser/OpCode.ts:72
CALL_PLUGIN_WIDE
Section titled “CALL_PLUGIN_WIDE”CALL_PLUGIN_WIDE: 161;Defined in: packages/engine/src/parser/OpCode.ts:182
CALL_USER_FUNCTION
Section titled “CALL_USER_FUNCTION”CALL_USER_FUNCTION: 151;Defined in: packages/engine/src/parser/OpCode.ts:147
CLOCK_TIME_TODAY
Section titled “CLOCK_TIME_TODAY”CLOCK_TIME_TODAY: 120;Defined in: packages/engine/src/parser/OpCode.ts:114
DATE_ADD
Section titled “DATE_ADD”DATE_ADD: 91;Defined in: packages/engine/src/parser/OpCode.ts:97
DATE_LAST_WEEKDAY
Section titled “DATE_LAST_WEEKDAY”DATE_LAST_WEEKDAY: 94;Defined in: packages/engine/src/parser/OpCode.ts:100
DATE_LITERAL
Section titled “DATE_LITERAL”DATE_LITERAL: 95;Defined in: packages/engine/src/parser/OpCode.ts:101
DATE_NEXT_WEEKDAY
Section titled “DATE_NEXT_WEEKDAY”DATE_NEXT_WEEKDAY: 93;Defined in: packages/engine/src/parser/OpCode.ts:99
DATE_NOW
Section titled “DATE_NOW”DATE_NOW: 90;Defined in: packages/engine/src/parser/OpCode.ts:96
DATE_SUB
Section titled “DATE_SUB”DATE_SUB: 92;Defined in: packages/engine/src/parser/OpCode.ts:98
DATE_WORKDAY_OFFSET
Section titled “DATE_WORKDAY_OFFSET”DATE_WORKDAY_OFFSET: 96;Defined in: packages/engine/src/parser/OpCode.ts:102
DATE_WORKDAYS_BETWEEN
Section titled “DATE_WORKDAYS_BETWEEN”DATE_WORKDAYS_BETWEEN: 97;Defined in: packages/engine/src/parser/OpCode.ts:103
DEFINE_USER_FUNCTION
Section titled “DEFINE_USER_FUNCTION”DEFINE_USER_FUNCTION: 150;Defined in: packages/engine/src/parser/OpCode.ts:146
DIV: 23;Defined in: packages/engine/src/parser/OpCode.ts:42
DUP: 3;Defined in: packages/engine/src/parser/OpCode.ts:20
EQ: 40;Defined in: packages/engine/src/parser/OpCode.ts:64
EXP: 25;Defined in: packages/engine/src/parser/OpCode.ts:44
GT: 44;Defined in: packages/engine/src/parser/OpCode.ts:68
GTE: 45;Defined in: packages/engine/src/parser/OpCode.ts:69
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:79
LOAD_VAR
Section titled “LOAD_VAR”LOAD_VAR: 60;Defined in: packages/engine/src/parser/OpCode.ts:77
LOGICAL_AND
Section titled “LOGICAL_AND”LOGICAL_AND: 130;Defined in: packages/engine/src/parser/OpCode.ts:119
LOGICAL_OR
Section titled “LOGICAL_OR”LOGICAL_OR: 131;Defined in: packages/engine/src/parser/OpCode.ts:120
LSHIFT
Section titled “LSHIFT”LSHIFT: 30;Defined in: packages/engine/src/parser/OpCode.ts:55
LT: 42;Defined in: packages/engine/src/parser/OpCode.ts:66
LTE: 43;Defined in: packages/engine/src/parser/OpCode.ts:67
MAKE_UNCERTAIN
Section titled “MAKE_UNCERTAIN”MAKE_UNCERTAIN: 28;Defined in: packages/engine/src/parser/OpCode.ts:52
MAP_INVOKE
Section titled “MAP_INVOKE”MAP_INVOKE: 157;Defined in: packages/engine/src/parser/OpCode.ts:158
MAT_INDEX1
Section titled “MAT_INDEX1”MAT_INDEX1: 153;Defined in: packages/engine/src/parser/OpCode.ts:154
MAT_INDEX2
Section titled “MAT_INDEX2”MAT_INDEX2: 154;Defined in: packages/engine/src/parser/OpCode.ts:155
MAT_NEW
Section titled “MAT_NEW”MAT_NEW: 152;Defined in: packages/engine/src/parser/OpCode.ts:153
MAT_SLICE
Section titled “MAT_SLICE”MAT_SLICE: 155;Defined in: packages/engine/src/parser/OpCode.ts:156
MOD: 24;Defined in: packages/engine/src/parser/OpCode.ts:43
MUL: 22;Defined in: packages/engine/src/parser/OpCode.ts:41
NEG: 26;Defined in: packages/engine/src/parser/OpCode.ts:45
NEQ: 41;Defined in: packages/engine/src/parser/OpCode.ts:65
NOP: 0;Defined in: packages/engine/src/parser/OpCode.ts:17
PERCENT_CHANGE
Section titled “PERCENT_CHANGE”PERCENT_CHANGE: 162;Defined in: packages/engine/src/parser/OpCode.ts:185
PLOT_INVOKE
Section titled “PLOT_INVOKE”PLOT_INVOKE: 160;Defined in: packages/engine/src/parser/OpCode.ts:175
POS: 27;Defined in: packages/engine/src/parser/OpCode.ts:46
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_DECIMAL
Section titled “PUSH_DECIMAL”PUSH_DECIMAL: 16;Defined in: packages/engine/src/parser/OpCode.ts:36
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:157
RANGE_NEW_WRITTEN
Section titled “RANGE_NEW_WRITTEN”RANGE_NEW_WRITTEN: 165;Defined in: packages/engine/src/parser/OpCode.ts:200
RATE_CONVERT
Section titled “RATE_CONVERT”RATE_CONVERT: 112;Defined in: packages/engine/src/parser/OpCode.ts:110
RATE_DIV
Section titled “RATE_DIV”RATE_DIV: 110;Defined in: packages/engine/src/parser/OpCode.ts:108
RATE_MUL
Section titled “RATE_MUL”RATE_MUL: 111;Defined in: packages/engine/src/parser/OpCode.ts:109
RATE_OR_DIVIDE
Section titled “RATE_OR_DIVIDE”RATE_OR_DIVIDE: 164;Defined in: packages/engine/src/parser/OpCode.ts:195
REDUCE_INVOKE
Section titled “REDUCE_INVOKE”REDUCE_INVOKE: 158;Defined in: packages/engine/src/parser/OpCode.ts:159
RETURN
Section titled “RETURN”RETURN: 52;Defined in: packages/engine/src/parser/OpCode.ts:74
RSHIFT
Section titled “RSHIFT”RSHIFT: 31;Defined in: packages/engine/src/parser/OpCode.ts:56
SELECT
Section titled “SELECT”SELECT: 132;Defined in: packages/engine/src/parser/OpCode.ts:121
STORE_GLOBAL_VAR
Section titled “STORE_GLOBAL_VAR”STORE_GLOBAL_VAR: 63;Defined in: packages/engine/src/parser/OpCode.ts:80
STORE_VAR
Section titled “STORE_VAR”STORE_VAR: 61;Defined in: packages/engine/src/parser/OpCode.ts:78
SUB: 21;Defined in: packages/engine/src/parser/OpCode.ts:40
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:134
TO_FRACTION
Section titled “TO_FRACTION”TO_FRACTION: 140;Defined in: packages/engine/src/parser/OpCode.ts:131
TO_HEX
Section titled “TO_HEX”TO_HEX: 71;Defined in: packages/engine/src/parser/OpCode.ts:84
TO_MULTIPLIER
Section titled “TO_MULTIPLIER”TO_MULTIPLIER: 141;Defined in: packages/engine/src/parser/OpCode.ts:132
TO_NUMBER
Section titled “TO_NUMBER”TO_NUMBER: 70;Defined in: packages/engine/src/parser/OpCode.ts:83
TO_OCTAL
Section titled “TO_OCTAL”TO_OCTAL: 144;Defined in: packages/engine/src/parser/OpCode.ts:135
TO_PERCENTAGE
Section titled “TO_PERCENTAGE”TO_PERCENTAGE: 74;Defined in: packages/engine/src/parser/OpCode.ts:85
TO_SCI
Section titled “TO_SCI”TO_SCI: 142;Defined in: packages/engine/src/parser/OpCode.ts:133
UOM_BEST
Section titled “UOM_BEST”UOM_BEST: 83;Defined in: packages/engine/src/parser/OpCode.ts:91
UOM_CONVERT
Section titled “UOM_CONVERT”UOM_CONVERT: 80;Defined in: packages/engine/src/parser/OpCode.ts:88
UOM_CONVERT_IN
Section titled “UOM_CONVERT_IN”UOM_CONVERT_IN: 84;Defined in: packages/engine/src/parser/OpCode.ts:92
UOM_CONVERT_TO
Section titled “UOM_CONVERT_TO”UOM_CONVERT_TO: 81;Defined in: packages/engine/src/parser/OpCode.ts:89
UOM_GET_VALUE
Section titled “UOM_GET_VALUE”UOM_GET_VALUE: 82;Defined in: packages/engine/src/parser/OpCode.ts:90
UOM_POSSIBILITIES
Section titled “UOM_POSSIBILITIES”UOM_POSSIBILITIES: 85;Defined in: packages/engine/src/parser/OpCode.ts:93
URSHIFT
Section titled “URSHIFT”URSHIFT: 32;Defined in: packages/engine/src/parser/OpCode.ts:57