Skip to content

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.

ADD: 20;

Defined in: packages/engine/src/parser/OpCode.ts:31


BIND_UNKNOWN: 159;

Defined in: packages/engine/src/parser/OpCode.ts:150


BIT_AND: 33;

Defined in: packages/engine/src/parser/OpCode.ts:44


BIT_NOT: 36;

Defined in: packages/engine/src/parser/OpCode.ts:47


BIT_OR: 34;

Defined in: packages/engine/src/parser/OpCode.ts:45


BIT_XOR: 35;

Defined in: packages/engine/src/parser/OpCode.ts:46


CALL_AS_CONVERTER: 145;

Defined in: packages/engine/src/parser/OpCode.ts:120


CALL_BUILTIN: 51;

Defined in: packages/engine/src/parser/OpCode.ts:59


CALL_PLUGIN: 50;

Defined in: packages/engine/src/parser/OpCode.ts:58


CALL_USER_FUNCTION: 151;

Defined in: packages/engine/src/parser/OpCode.ts:131


CLOCK_TIME_TODAY: 120;

Defined in: packages/engine/src/parser/OpCode.ts:98


DATE_ADD: 91;

Defined in: packages/engine/src/parser/OpCode.ts:83


DATE_LAST_WEEKDAY: 94;

Defined in: packages/engine/src/parser/OpCode.ts:86


DATE_LITERAL: 95;

Defined in: packages/engine/src/parser/OpCode.ts:87


DATE_NEXT_WEEKDAY: 93;

Defined in: packages/engine/src/parser/OpCode.ts:85


DATE_NOW: 90;

Defined in: packages/engine/src/parser/OpCode.ts:82


DATE_SUB: 92;

Defined in: packages/engine/src/parser/OpCode.ts:84


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: 62;

Defined in: packages/engine/src/parser/OpCode.ts:65


LOAD_VAR: 60;

Defined in: packages/engine/src/parser/OpCode.ts:63


LOGICAL_AND: 130;

Defined in: packages/engine/src/parser/OpCode.ts:103


LOGICAL_OR: 131;

Defined in: packages/engine/src/parser/OpCode.ts:104


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: 157;

Defined in: packages/engine/src/parser/OpCode.ts:142


MAT_INDEX1: 153;

Defined in: packages/engine/src/parser/OpCode.ts:138


MAT_INDEX2: 154;

Defined in: packages/engine/src/parser/OpCode.ts:139


MAT_NEW: 152;

Defined in: packages/engine/src/parser/OpCode.ts:137


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: 11;

Defined in: packages/engine/src/parser/OpCode.ts:24


PUSH_BOOLEAN: 14;

Defined in: packages/engine/src/parser/OpCode.ts:27


PUSH_HEX: 12;

Defined in: packages/engine/src/parser/OpCode.ts:25


PUSH_NUMBER: 10;

Defined in: packages/engine/src/parser/OpCode.ts:23


PUSH_STRING: 13;

Defined in: packages/engine/src/parser/OpCode.ts:26


PUSH_VARIABLE: 15;

Defined in: packages/engine/src/parser/OpCode.ts:28


RANGE_NEW: 156;

Defined in: packages/engine/src/parser/OpCode.ts:141


RATE_CONVERT: 112;

Defined in: packages/engine/src/parser/OpCode.ts:94


RATE_DIV: 110;

Defined in: packages/engine/src/parser/OpCode.ts:92


RATE_MUL: 111;

Defined in: packages/engine/src/parser/OpCode.ts:93


REDUCE_INVOKE: 158;

Defined in: packages/engine/src/parser/OpCode.ts:143


RETURN: 52;

Defined in: packages/engine/src/parser/OpCode.ts:60


RSHIFT: 31;

Defined in: packages/engine/src/parser/OpCode.ts:42


SELECT: 132;

Defined in: packages/engine/src/parser/OpCode.ts:105


STORE_GLOBAL_VAR: 63;

Defined in: packages/engine/src/parser/OpCode.ts:66


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: 143;

Defined in: packages/engine/src/parser/OpCode.ts:118


TO_FRACTION: 140;

Defined in: packages/engine/src/parser/OpCode.ts:115


TO_HEX: 71;

Defined in: packages/engine/src/parser/OpCode.ts:70


TO_MULTIPLIER: 141;

Defined in: packages/engine/src/parser/OpCode.ts:116


TO_NUMBER: 70;

Defined in: packages/engine/src/parser/OpCode.ts:69


TO_OCTAL: 144;

Defined in: packages/engine/src/parser/OpCode.ts:119


TO_PERCENTAGE: 74;

Defined in: packages/engine/src/parser/OpCode.ts:71


TO_SCI: 142;

Defined in: packages/engine/src/parser/OpCode.ts:117


UOM_BEST: 83;

Defined in: packages/engine/src/parser/OpCode.ts:77


UOM_CONVERT: 80;

Defined in: packages/engine/src/parser/OpCode.ts:74


UOM_CONVERT_IN: 84;

Defined in: packages/engine/src/parser/OpCode.ts:78


UOM_CONVERT_TO: 81;

Defined in: packages/engine/src/parser/OpCode.ts:75


UOM_GET_VALUE: 82;

Defined in: packages/engine/src/parser/OpCode.ts:76


UOM_POSSIBILITIES: 85;

Defined in: packages/engine/src/parser/OpCode.ts:79


URSHIFT: 32;

Defined in: packages/engine/src/parser/OpCode.ts:43