solve-engine 1.0.0-beta.2 → 1.0.0-beta.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{Lexer-BJdhlnej.d.cts → Lexer-Dkt7KGaU.d.ts} +18 -2
- package/dist/{Lexer-D9l4Yrk2.d.ts → Lexer-y8uY6n6t.d.cts} +18 -2
- package/dist/{PackageRegistry-D-Tv_7ca.d.cts → PackageRegistry-CblRmrHc.d.cts} +60 -4
- package/dist/{PackageRegistry-DaH4aIKP.d.ts → PackageRegistry-wUQyVEyw.d.ts} +60 -4
- package/dist/{Parselet-CK8cQu2a.d.cts → Parselet-C974vhZG.d.cts} +1 -1
- package/dist/{Parselet-ConOIdRO.d.ts → Parselet-CsmtM3It.d.ts} +1 -1
- package/dist/{Token-0jpvUdPY.d.cts → Token-DnU2hwFY.d.cts} +14 -0
- package/dist/{Token-0jpvUdPY.d.ts → Token-DnU2hwFY.d.ts} +14 -0
- package/dist/TokenNormalizer-B8zmhO5X.d.ts +377 -0
- package/dist/TokenNormalizer-CqBCrYkR.d.cts +377 -0
- package/dist/{chunk-M5LX5AOO.js → chunk-23MFG6GG.js} +21 -8
- package/dist/chunk-23MFG6GG.js.map +1 -0
- package/dist/{chunk-SDGRK7EP.js → chunk-2A3VOGVG.js} +4 -4
- package/dist/{chunk-SDGRK7EP.js.map → chunk-2A3VOGVG.js.map} +1 -1
- package/dist/{chunk-NMD5VRN4.cjs → chunk-2R7SVDDB.cjs} +68 -67
- package/dist/chunk-2R7SVDDB.cjs.map +1 -0
- package/dist/{chunk-RIN643A3.js → chunk-626UW5RU.js} +2 -2
- package/dist/chunk-626UW5RU.js.map +1 -0
- package/dist/{chunk-CLL7RUQV.cjs → chunk-7J2Q77OH.cjs} +34 -13
- package/dist/chunk-7J2Q77OH.cjs.map +1 -0
- package/dist/{chunk-HWSZJQCI.js → chunk-AF5AE52C.js} +33 -12
- package/dist/chunk-AF5AE52C.js.map +1 -0
- package/dist/{chunk-RZCWSXTA.cjs → chunk-BOAVE4FC.cjs} +129 -129
- package/dist/{chunk-RZCWSXTA.cjs.map → chunk-BOAVE4FC.cjs.map} +1 -1
- package/dist/{chunk-EBSPLUW4.cjs → chunk-CGIDYRAX.cjs} +19 -9
- package/dist/chunk-CGIDYRAX.cjs.map +1 -0
- package/dist/{chunk-C4XZV6E7.cjs → chunk-EEJSQEHC.cjs} +20 -20
- package/dist/{chunk-C4XZV6E7.cjs.map → chunk-EEJSQEHC.cjs.map} +1 -1
- package/dist/{chunk-LR7YASZF.cjs → chunk-F7G7ZFIZ.cjs} +3 -3
- package/dist/chunk-F7G7ZFIZ.cjs.map +1 -0
- package/dist/{chunk-GW32KPCU.cjs → chunk-FI4WDYSL.cjs} +2 -2
- package/dist/chunk-FI4WDYSL.cjs.map +1 -0
- package/dist/{chunk-EIGTWK5N.js → chunk-KFRBAXKW.js} +3 -3
- package/dist/chunk-KFRBAXKW.js.map +1 -0
- package/dist/{chunk-64W6GLLZ.js → chunk-OJ6LW7VQ.js} +15 -5
- package/dist/chunk-OJ6LW7VQ.js.map +1 -0
- package/dist/{chunk-3PPFLFH4.js → chunk-OWXIOHQB.js} +6 -6
- package/dist/{chunk-3PPFLFH4.js.map → chunk-OWXIOHQB.js.map} +1 -1
- package/dist/{chunk-JBSYC7BB.cjs → chunk-PG2K5BL6.cjs} +41 -28
- package/dist/chunk-PG2K5BL6.cjs.map +1 -0
- package/dist/{chunk-XVWCOTR6.js → chunk-VM5ZKDLH.js} +5 -4
- package/dist/chunk-VM5ZKDLH.js.map +1 -0
- package/dist/{chunk-NMCRQP3Z.cjs → chunk-ZH2PCJ4V.cjs} +68 -68
- package/dist/{chunk-NMCRQP3Z.cjs.map → chunk-ZH2PCJ4V.cjs.map} +1 -1
- package/dist/{chunk-5YEMOYSE.js → chunk-ZS6CRJZP.js} +3 -3
- package/dist/{chunk-5YEMOYSE.js.map → chunk-ZS6CRJZP.js.map} +1 -1
- package/dist/constants.cjs +4 -4
- package/dist/constants.js +1 -1
- package/dist/engine.cjs +19 -19
- package/dist/engine.d.cts +6 -6
- package/dist/engine.d.ts +6 -6
- package/dist/engine.js +9 -9
- package/dist/index.cjs +18 -18
- package/dist/index.d.cts +6 -6
- package/dist/index.d.ts +6 -6
- package/dist/index.js +10 -10
- package/dist/language.cjs +63 -1
- package/dist/language.cjs.map +1 -1
- package/dist/language.d.cts +6 -6
- package/dist/language.d.ts +6 -6
- package/dist/language.js +63 -1
- package/dist/language.js.map +1 -1
- package/dist/lexer.cjs +14 -14
- package/dist/lexer.d.cts +3 -3
- package/dist/lexer.d.ts +3 -3
- package/dist/lexer.js +3 -3
- package/dist/normalizer.cjs +9 -9
- package/dist/normalizer.d.cts +4 -210
- package/dist/normalizer.d.ts +4 -210
- package/dist/normalizer.js +3 -3
- package/dist/packages.cjs +28 -28
- package/dist/packages.d.cts +5 -5
- package/dist/packages.d.ts +5 -5
- package/dist/packages.js +5 -5
- package/dist/parser.cjs +11 -11
- package/dist/parser.d.cts +2 -2
- package/dist/parser.d.ts +2 -2
- package/dist/parser.js +3 -3
- package/dist/resolvers.d.cts +1 -1
- package/dist/resolvers.d.ts +1 -1
- package/dist/uom.d.cts +1 -1
- package/dist/uom.d.ts +1 -1
- package/package.json +2 -1
- package/dist/NormalizerRule-BrVoVjmP.d.cts +0 -163
- package/dist/NormalizerRule-CEjf1FyD.d.ts +0 -163
- package/dist/chunk-64W6GLLZ.js.map +0 -1
- package/dist/chunk-CLL7RUQV.cjs.map +0 -1
- package/dist/chunk-EBSPLUW4.cjs.map +0 -1
- package/dist/chunk-EIGTWK5N.js.map +0 -1
- package/dist/chunk-GW32KPCU.cjs.map +0 -1
- package/dist/chunk-HWSZJQCI.js.map +0 -1
- package/dist/chunk-JBSYC7BB.cjs.map +0 -1
- package/dist/chunk-LR7YASZF.cjs.map +0 -1
- package/dist/chunk-M5LX5AOO.js.map +0 -1
- package/dist/chunk-NMD5VRN4.cjs.map +0 -1
- package/dist/chunk-RIN643A3.js.map +0 -1
- package/dist/chunk-XVWCOTR6.js.map +0 -1
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var chunk47LRVGOT_cjs = require('./chunk-47LRVGOT.cjs');
|
|
4
|
-
var
|
|
5
|
-
var
|
|
4
|
+
var chunkEEJSQEHC_cjs = require('./chunk-EEJSQEHC.cjs');
|
|
5
|
+
var chunkFI4WDYSL_cjs = require('./chunk-FI4WDYSL.cjs');
|
|
6
6
|
var chunk3YNVWKR2_cjs = require('./chunk-3YNVWKR2.cjs');
|
|
7
7
|
var chunkM4N5GA5Z_cjs = require('./chunk-M4N5GA5Z.cjs');
|
|
8
8
|
|
|
@@ -49,7 +49,7 @@ var ParseletRegistry = class {
|
|
|
49
49
|
);
|
|
50
50
|
}
|
|
51
51
|
this.prefixParselets.set(tokenType, parselet);
|
|
52
|
-
this.prefixById.set(
|
|
52
|
+
this.prefixById.set(chunkFI4WDYSL_cjs.tokenTypeId(tokenType), parselet);
|
|
53
53
|
}
|
|
54
54
|
/** Register an infix parselet for `tokenType`. See {@link registerPrefix} for the collision-warning behavior this mirrors. */
|
|
55
55
|
registerInfix(tokenType, parselet) {
|
|
@@ -60,7 +60,7 @@ var ParseletRegistry = class {
|
|
|
60
60
|
);
|
|
61
61
|
}
|
|
62
62
|
this.infixParselets.set(tokenType, parselet);
|
|
63
|
-
this.infixById.set(
|
|
63
|
+
this.infixById.set(chunkFI4WDYSL_cjs.tokenTypeId(tokenType), parselet);
|
|
64
64
|
}
|
|
65
65
|
/** Iterate all registered prefix parselets for diagnostic display. */
|
|
66
66
|
getAllPrefix() {
|
|
@@ -163,8 +163,8 @@ var _PrecedenceParser = class _PrecedenceParser {
|
|
|
163
163
|
this.depth = 0;
|
|
164
164
|
return;
|
|
165
165
|
}
|
|
166
|
-
const LPAREN_ID =
|
|
167
|
-
const RPAREN_ID =
|
|
166
|
+
const LPAREN_ID = chunkFI4WDYSL_cjs.tokenTypeId(chunkFI4WDYSL_cjs.TokenTypes.LPAREN);
|
|
167
|
+
const RPAREN_ID = chunkFI4WDYSL_cjs.tokenTypeId(chunkFI4WDYSL_cjs.TokenTypes.RPAREN);
|
|
168
168
|
let openCount = 0;
|
|
169
169
|
for (let i = 0; i < tokens.length; i++) {
|
|
170
170
|
if (tokens[i].typeId === LPAREN_ID) openCount++;
|
|
@@ -180,11 +180,11 @@ var _PrecedenceParser = class _PrecedenceParser {
|
|
|
180
180
|
balanceParens(tokens, openCount) {
|
|
181
181
|
const result = tokens.slice();
|
|
182
182
|
if (openCount > 0) {
|
|
183
|
-
const RPAREN_ID =
|
|
183
|
+
const RPAREN_ID = chunkFI4WDYSL_cjs.tokenTypeId(chunkFI4WDYSL_cjs.TokenTypes.RPAREN);
|
|
184
184
|
for (let i = 0; i < openCount; i++) {
|
|
185
185
|
const lastToken = tokens[tokens.length - 1];
|
|
186
186
|
result.push({
|
|
187
|
-
type:
|
|
187
|
+
type: chunkFI4WDYSL_cjs.TokenTypes.RPAREN,
|
|
188
188
|
typeId: RPAREN_ID,
|
|
189
189
|
value: ")",
|
|
190
190
|
text: ")",
|
|
@@ -195,10 +195,10 @@ var _PrecedenceParser = class _PrecedenceParser {
|
|
|
195
195
|
});
|
|
196
196
|
}
|
|
197
197
|
} else if (openCount < 0) {
|
|
198
|
-
const LPAREN_ID =
|
|
198
|
+
const LPAREN_ID = chunkFI4WDYSL_cjs.tokenTypeId(chunkFI4WDYSL_cjs.TokenTypes.LPAREN);
|
|
199
199
|
for (let i = 0; i < -openCount; i++) {
|
|
200
200
|
result.unshift({
|
|
201
|
-
type:
|
|
201
|
+
type: chunkFI4WDYSL_cjs.TokenTypes.LPAREN,
|
|
202
202
|
typeId: LPAREN_ID,
|
|
203
203
|
value: "(",
|
|
204
204
|
text: "(",
|
|
@@ -375,11 +375,11 @@ var _PrecedenceParser = class _PrecedenceParser {
|
|
|
375
375
|
case _PrecedenceParser.LPAREN_ID: {
|
|
376
376
|
this.parseExpression(0, builder);
|
|
377
377
|
let count = 1;
|
|
378
|
-
while (this.match(
|
|
378
|
+
while (this.match(chunkFI4WDYSL_cjs.TokenTypes.COMMA)) {
|
|
379
379
|
this.parseExpression(0, builder);
|
|
380
380
|
count++;
|
|
381
381
|
}
|
|
382
|
-
this.consume(
|
|
382
|
+
this.consume(chunkFI4WDYSL_cjs.TokenTypes.RPAREN);
|
|
383
383
|
if (count > 1) {
|
|
384
384
|
builder.emitOpcode(152 /* MAT_NEW */);
|
|
385
385
|
builder.emitIndex(1);
|
|
@@ -389,12 +389,12 @@ var _PrecedenceParser = class _PrecedenceParser {
|
|
|
389
389
|
}
|
|
390
390
|
// ── Unary operators ───────────────────────────────────────────────────
|
|
391
391
|
case _PrecedenceParser.MINUS_ID: {
|
|
392
|
-
this.parseExpression(
|
|
392
|
+
this.parseExpression(chunkEEJSQEHC_cjs.BindingPower.Prefix, builder);
|
|
393
393
|
builder.emitOpcode(26 /* NEG */);
|
|
394
394
|
return;
|
|
395
395
|
}
|
|
396
396
|
case _PrecedenceParser.PLUS_ID: {
|
|
397
|
-
this.parseExpression(
|
|
397
|
+
this.parseExpression(chunkEEJSQEHC_cjs.BindingPower.Prefix, builder);
|
|
398
398
|
builder.emitOpcode(27 /* POS */);
|
|
399
399
|
return;
|
|
400
400
|
}
|
|
@@ -491,7 +491,7 @@ var _PrecedenceParser = class _PrecedenceParser {
|
|
|
491
491
|
return;
|
|
492
492
|
}
|
|
493
493
|
const afterClose = this.tokens[closeIdx + 1];
|
|
494
|
-
if (afterClose?.type ===
|
|
494
|
+
if (afterClose?.type === chunkFI4WDYSL_cjs.TokenTypes.EQUALS) {
|
|
495
495
|
this.parseUserFunctionDefinition(nameToken, builder);
|
|
496
496
|
} else {
|
|
497
497
|
this.parseUserFunctionCall(nameToken, builder);
|
|
@@ -508,7 +508,7 @@ var _PrecedenceParser = class _PrecedenceParser {
|
|
|
508
508
|
*/
|
|
509
509
|
consumeParamName() {
|
|
510
510
|
const token = this.peek();
|
|
511
|
-
if (token?.type ===
|
|
511
|
+
if (token?.type === chunkFI4WDYSL_cjs.TokenTypes.IDENT || token?.type === chunkFI4WDYSL_cjs.TokenTypes.UNIT) {
|
|
512
512
|
this.consume();
|
|
513
513
|
return token.value;
|
|
514
514
|
}
|
|
@@ -519,16 +519,16 @@ var _PrecedenceParser = class _PrecedenceParser {
|
|
|
519
519
|
);
|
|
520
520
|
}
|
|
521
521
|
parseUserFunctionDefinition(nameToken, builder) {
|
|
522
|
-
this.consume(
|
|
522
|
+
this.consume(chunkFI4WDYSL_cjs.TokenTypes.LPAREN);
|
|
523
523
|
const params = [];
|
|
524
|
-
if (this.peek()?.type !==
|
|
524
|
+
if (this.peek()?.type !== chunkFI4WDYSL_cjs.TokenTypes.RPAREN) {
|
|
525
525
|
params.push(this.consumeParamName());
|
|
526
|
-
while (this.match(
|
|
526
|
+
while (this.match(chunkFI4WDYSL_cjs.TokenTypes.COMMA)) {
|
|
527
527
|
params.push(this.consumeParamName());
|
|
528
528
|
}
|
|
529
529
|
}
|
|
530
|
-
this.consume(
|
|
531
|
-
this.consume(
|
|
530
|
+
this.consume(chunkFI4WDYSL_cjs.TokenTypes.RPAREN);
|
|
531
|
+
this.consume(chunkFI4WDYSL_cjs.TokenTypes.EQUALS);
|
|
532
532
|
if (params.length === 0) {
|
|
533
533
|
throw chunkM4N5GA5Z_cjs.ErrorFactory.parsing(
|
|
534
534
|
"USER_FUNCTION_NO_PARAMS",
|
|
@@ -536,8 +536,8 @@ var _PrecedenceParser = class _PrecedenceParser {
|
|
|
536
536
|
{ name: nameToken.value }
|
|
537
537
|
);
|
|
538
538
|
}
|
|
539
|
-
const bodyBuilder = new
|
|
540
|
-
this.parseExpression(
|
|
539
|
+
const bodyBuilder = new chunkEEJSQEHC_cjs.BytecodeBuilder();
|
|
540
|
+
this.parseExpression(chunkEEJSQEHC_cjs.BindingPower.Lowest, bodyBuilder);
|
|
541
541
|
this.setBuilder(builder);
|
|
542
542
|
const bodyProgram = bodyBuilder.build();
|
|
543
543
|
if (bodyProgram.hasAsync) {
|
|
@@ -554,17 +554,17 @@ var _PrecedenceParser = class _PrecedenceParser {
|
|
|
554
554
|
builder.emitString(`${nameToken.value}(${params.join(", ")}) defined`);
|
|
555
555
|
}
|
|
556
556
|
parseUserFunctionCall(nameToken, builder) {
|
|
557
|
-
this.consume(
|
|
557
|
+
this.consume(chunkFI4WDYSL_cjs.TokenTypes.LPAREN);
|
|
558
558
|
let argCount = 0;
|
|
559
|
-
if (this.peek()?.type !==
|
|
560
|
-
this.parseExpression(
|
|
559
|
+
if (this.peek()?.type !== chunkFI4WDYSL_cjs.TokenTypes.RPAREN) {
|
|
560
|
+
this.parseExpression(chunkEEJSQEHC_cjs.BindingPower.Lowest, builder);
|
|
561
561
|
argCount++;
|
|
562
|
-
while (this.match(
|
|
563
|
-
this.parseExpression(
|
|
562
|
+
while (this.match(chunkFI4WDYSL_cjs.TokenTypes.COMMA)) {
|
|
563
|
+
this.parseExpression(chunkEEJSQEHC_cjs.BindingPower.Lowest, builder);
|
|
564
564
|
argCount++;
|
|
565
565
|
}
|
|
566
566
|
}
|
|
567
|
-
this.consume(
|
|
567
|
+
this.consume(chunkFI4WDYSL_cjs.TokenTypes.RPAREN);
|
|
568
568
|
builder.emitOpcode(151 /* CALL_USER_FUNCTION */);
|
|
569
569
|
builder.emitString(nameToken.value);
|
|
570
570
|
builder.emitByte(argCount);
|
|
@@ -581,7 +581,7 @@ var _PrecedenceParser = class _PrecedenceParser {
|
|
|
581
581
|
);
|
|
582
582
|
}
|
|
583
583
|
if (expectedType !== void 0) {
|
|
584
|
-
const expectedId =
|
|
584
|
+
const expectedId = chunkFI4WDYSL_cjs.tokenTypeId(expectedType);
|
|
585
585
|
if (token.typeId !== expectedId) {
|
|
586
586
|
throw chunkM4N5GA5Z_cjs.ErrorFactory.parsing(
|
|
587
587
|
"UNEXPECTED_TOKEN_TYPE",
|
|
@@ -595,7 +595,7 @@ var _PrecedenceParser = class _PrecedenceParser {
|
|
|
595
595
|
}
|
|
596
596
|
match(expectedType) {
|
|
597
597
|
const token = this.peek();
|
|
598
|
-
if (token && token.typeId ===
|
|
598
|
+
if (token && token.typeId === chunkFI4WDYSL_cjs.tokenTypeId(expectedType)) {
|
|
599
599
|
this.advance();
|
|
600
600
|
return true;
|
|
601
601
|
}
|
|
@@ -651,47 +651,47 @@ var _PrecedenceParser = class _PrecedenceParser {
|
|
|
651
651
|
* Static binding power table, built once at module load, shared across all instances.
|
|
652
652
|
* Index = tokenTypeId, value = binding power (0 = not a built-in infix).
|
|
653
653
|
*/
|
|
654
|
-
_PrecedenceParser.BP_TABLE =
|
|
654
|
+
_PrecedenceParser.BP_TABLE = chunkEEJSQEHC_cjs.buildBindingPowerTable();
|
|
655
655
|
// ── Pre-computed token type IDs for inline dispatch ────────────────────────
|
|
656
656
|
// Prefix built-ins
|
|
657
|
-
_PrecedenceParser.NUMBER_ID =
|
|
658
|
-
_PrecedenceParser.BIGINT_ID =
|
|
659
|
-
_PrecedenceParser.STRING_ID =
|
|
660
|
-
_PrecedenceParser.IDENT_ID =
|
|
661
|
-
_PrecedenceParser.LPAREN_ID =
|
|
662
|
-
_PrecedenceParser.RPAREN_ID =
|
|
663
|
-
_PrecedenceParser.MINUS_ID =
|
|
664
|
-
_PrecedenceParser.PLUS_ID =
|
|
665
|
-
_PrecedenceParser.KEYWORD_ID =
|
|
657
|
+
_PrecedenceParser.NUMBER_ID = chunkFI4WDYSL_cjs.tokenTypeId(chunkFI4WDYSL_cjs.TokenTypes.NUMBER);
|
|
658
|
+
_PrecedenceParser.BIGINT_ID = chunkFI4WDYSL_cjs.tokenTypeId(chunkFI4WDYSL_cjs.TokenTypes.BIGINT);
|
|
659
|
+
_PrecedenceParser.STRING_ID = chunkFI4WDYSL_cjs.tokenTypeId(chunkFI4WDYSL_cjs.TokenTypes.STRING);
|
|
660
|
+
_PrecedenceParser.IDENT_ID = chunkFI4WDYSL_cjs.tokenTypeId(chunkFI4WDYSL_cjs.TokenTypes.IDENT);
|
|
661
|
+
_PrecedenceParser.LPAREN_ID = chunkFI4WDYSL_cjs.tokenTypeId(chunkFI4WDYSL_cjs.TokenTypes.LPAREN);
|
|
662
|
+
_PrecedenceParser.RPAREN_ID = chunkFI4WDYSL_cjs.tokenTypeId(chunkFI4WDYSL_cjs.TokenTypes.RPAREN);
|
|
663
|
+
_PrecedenceParser.MINUS_ID = chunkFI4WDYSL_cjs.tokenTypeId(chunkFI4WDYSL_cjs.TokenTypes.MINUS);
|
|
664
|
+
_PrecedenceParser.PLUS_ID = chunkFI4WDYSL_cjs.tokenTypeId(chunkFI4WDYSL_cjs.TokenTypes.PLUS);
|
|
665
|
+
_PrecedenceParser.KEYWORD_ID = chunkFI4WDYSL_cjs.tokenTypeId(chunkFI4WDYSL_cjs.TokenTypes.KEYWORD);
|
|
666
666
|
// Infix built-ins (Tier 1, full inline emission)
|
|
667
|
-
_PrecedenceParser.STAR_ID =
|
|
668
|
-
_PrecedenceParser.SLASH_ID =
|
|
669
|
-
_PrecedenceParser.MOD_ID =
|
|
670
|
-
_PrecedenceParser.CARET_ID =
|
|
671
|
-
_PrecedenceParser.LSHIFT_ID =
|
|
672
|
-
_PrecedenceParser.RSHIFT_ID =
|
|
673
|
-
_PrecedenceParser.BIT_AND_ID =
|
|
674
|
-
_PrecedenceParser.BIT_OR_ID =
|
|
675
|
-
_PrecedenceParser.BIT_XOR_ID =
|
|
676
|
-
_PrecedenceParser.PERCENT_ID =
|
|
677
|
-
_PrecedenceParser.OF_ID =
|
|
667
|
+
_PrecedenceParser.STAR_ID = chunkFI4WDYSL_cjs.tokenTypeId(chunkFI4WDYSL_cjs.TokenTypes.STAR);
|
|
668
|
+
_PrecedenceParser.SLASH_ID = chunkFI4WDYSL_cjs.tokenTypeId(chunkFI4WDYSL_cjs.TokenTypes.SLASH);
|
|
669
|
+
_PrecedenceParser.MOD_ID = chunkFI4WDYSL_cjs.tokenTypeId(chunkFI4WDYSL_cjs.TokenTypes.MOD);
|
|
670
|
+
_PrecedenceParser.CARET_ID = chunkFI4WDYSL_cjs.tokenTypeId(chunkFI4WDYSL_cjs.TokenTypes.CARET);
|
|
671
|
+
_PrecedenceParser.LSHIFT_ID = chunkFI4WDYSL_cjs.tokenTypeId(chunkFI4WDYSL_cjs.TokenTypes.LSHIFT);
|
|
672
|
+
_PrecedenceParser.RSHIFT_ID = chunkFI4WDYSL_cjs.tokenTypeId(chunkFI4WDYSL_cjs.TokenTypes.RSHIFT);
|
|
673
|
+
_PrecedenceParser.BIT_AND_ID = chunkFI4WDYSL_cjs.tokenTypeId(chunkFI4WDYSL_cjs.TokenTypes.BIT_AND);
|
|
674
|
+
_PrecedenceParser.BIT_OR_ID = chunkFI4WDYSL_cjs.tokenTypeId(chunkFI4WDYSL_cjs.TokenTypes.BIT_OR);
|
|
675
|
+
_PrecedenceParser.BIT_XOR_ID = chunkFI4WDYSL_cjs.tokenTypeId(chunkFI4WDYSL_cjs.TokenTypes.BIT_XOR);
|
|
676
|
+
_PrecedenceParser.PERCENT_ID = chunkFI4WDYSL_cjs.tokenTypeId(chunkFI4WDYSL_cjs.TokenTypes.PERCENT);
|
|
677
|
+
_PrecedenceParser.OF_ID = chunkFI4WDYSL_cjs.tokenTypeId(chunkFI4WDYSL_cjs.TokenTypes.OF);
|
|
678
678
|
/**
|
|
679
679
|
* Inline opcode map for Tier 1 infix operators.
|
|
680
680
|
* tokenTypeId → OpCode. PERCENT and CARET are handled specially (not in this map).
|
|
681
681
|
*/
|
|
682
682
|
_PrecedenceParser.INFIX_OPCODE = {
|
|
683
|
-
[
|
|
684
|
-
[
|
|
685
|
-
[
|
|
686
|
-
[
|
|
687
|
-
[
|
|
688
|
-
[
|
|
689
|
-
[
|
|
690
|
-
[
|
|
691
|
-
[
|
|
692
|
-
[
|
|
693
|
-
[
|
|
694
|
-
[
|
|
683
|
+
[chunkFI4WDYSL_cjs.tokenTypeId(chunkFI4WDYSL_cjs.TokenTypes.PLUS)]: 20 /* ADD */,
|
|
684
|
+
[chunkFI4WDYSL_cjs.tokenTypeId(chunkFI4WDYSL_cjs.TokenTypes.MINUS)]: 21 /* SUB */,
|
|
685
|
+
[chunkFI4WDYSL_cjs.tokenTypeId(chunkFI4WDYSL_cjs.TokenTypes.STAR)]: 22 /* MUL */,
|
|
686
|
+
[chunkFI4WDYSL_cjs.tokenTypeId(chunkFI4WDYSL_cjs.TokenTypes.SLASH)]: 23 /* DIV */,
|
|
687
|
+
[chunkFI4WDYSL_cjs.tokenTypeId(chunkFI4WDYSL_cjs.TokenTypes.MOD)]: 24 /* MOD */,
|
|
688
|
+
[chunkFI4WDYSL_cjs.tokenTypeId(chunkFI4WDYSL_cjs.TokenTypes.CARET)]: 25 /* EXP */,
|
|
689
|
+
[chunkFI4WDYSL_cjs.tokenTypeId(chunkFI4WDYSL_cjs.TokenTypes.LSHIFT)]: 30 /* LSHIFT */,
|
|
690
|
+
[chunkFI4WDYSL_cjs.tokenTypeId(chunkFI4WDYSL_cjs.TokenTypes.RSHIFT)]: 31 /* RSHIFT */,
|
|
691
|
+
[chunkFI4WDYSL_cjs.tokenTypeId(chunkFI4WDYSL_cjs.TokenTypes.BIT_AND)]: 33 /* BIT_AND */,
|
|
692
|
+
[chunkFI4WDYSL_cjs.tokenTypeId(chunkFI4WDYSL_cjs.TokenTypes.BIT_OR)]: 34 /* BIT_OR */,
|
|
693
|
+
[chunkFI4WDYSL_cjs.tokenTypeId(chunkFI4WDYSL_cjs.TokenTypes.BIT_XOR)]: 35 /* BIT_XOR */,
|
|
694
|
+
[chunkFI4WDYSL_cjs.tokenTypeId(chunkFI4WDYSL_cjs.TokenTypes.OF)]: 22 /* MUL */
|
|
695
695
|
};
|
|
696
696
|
// ═══════════════════════════════════════════════════════════════════════════════
|
|
697
697
|
// The "Tier-1 shape-exception" pattern
|
|
@@ -743,7 +743,7 @@ _PrecedenceParser.CARET_SUFFIX_RULES = [
|
|
|
743
743
|
name: "transpose (^T)",
|
|
744
744
|
matches: (p) => {
|
|
745
745
|
const next = p.peek();
|
|
746
|
-
return next?.type ===
|
|
746
|
+
return next?.type === chunkFI4WDYSL_cjs.TokenTypes.IDENT && next.value === "T";
|
|
747
747
|
},
|
|
748
748
|
emit: (p, builder) => {
|
|
749
749
|
p.advance();
|
|
@@ -758,7 +758,7 @@ _PrecedenceParser.CARET_SUFFIX_RULES = [
|
|
|
758
758
|
const next = p.peek();
|
|
759
759
|
if (next?.typeId !== _PrecedenceParser.MINUS_ID) return false;
|
|
760
760
|
const afterMinus = p.peekAt(1);
|
|
761
|
-
return afterMinus?.type ===
|
|
761
|
+
return afterMinus?.type === chunkFI4WDYSL_cjs.TokenTypes.NUMBER && afterMinus.value === "1";
|
|
762
762
|
},
|
|
763
763
|
emit: (p, builder) => {
|
|
764
764
|
p.advance();
|
|
@@ -774,5 +774,5 @@ var PrecedenceParser = _PrecedenceParser;
|
|
|
774
774
|
exports.ParseletRegistry = ParseletRegistry;
|
|
775
775
|
exports.PrecedenceParser = PrecedenceParser;
|
|
776
776
|
exports.sharedParseletRegistry = sharedParseletRegistry;
|
|
777
|
-
//# sourceMappingURL=chunk-
|
|
778
|
-
//# sourceMappingURL=chunk-
|
|
777
|
+
//# sourceMappingURL=chunk-ZH2PCJ4V.cjs.map
|
|
778
|
+
//# sourceMappingURL=chunk-ZH2PCJ4V.cjs.map
|