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,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
var
|
|
3
|
+
var chunkEEJSQEHC_cjs = require('./chunk-EEJSQEHC.cjs');
|
|
4
|
+
var chunkCGIDYRAX_cjs = require('./chunk-CGIDYRAX.cjs');
|
|
5
5
|
var chunkN5YFR4UP_cjs = require('./chunk-N5YFR4UP.cjs');
|
|
6
6
|
var chunkWQTTOGXC_cjs = require('./chunk-WQTTOGXC.cjs');
|
|
7
7
|
var chunkZ2XP767T_cjs = require('./chunk-Z2XP767T.cjs');
|
|
@@ -10,8 +10,8 @@ var chunkVEKIWQ3F_cjs = require('./chunk-VEKIWQ3F.cjs');
|
|
|
10
10
|
var chunkOT6OJY7C_cjs = require('./chunk-OT6OJY7C.cjs');
|
|
11
11
|
var chunkOC6LTXYS_cjs = require('./chunk-OC6LTXYS.cjs');
|
|
12
12
|
var chunkQNJ4ACRT_cjs = require('./chunk-QNJ4ACRT.cjs');
|
|
13
|
-
var
|
|
14
|
-
var
|
|
13
|
+
var chunk2R7SVDDB_cjs = require('./chunk-2R7SVDDB.cjs');
|
|
14
|
+
var chunkFI4WDYSL_cjs = require('./chunk-FI4WDYSL.cjs');
|
|
15
15
|
var chunk3YNVWKR2_cjs = require('./chunk-3YNVWKR2.cjs');
|
|
16
16
|
var chunkEHAHVROS_cjs = require('./chunk-EHAHVROS.cjs');
|
|
17
17
|
var chunkM4N5GA5Z_cjs = require('./chunk-M4N5GA5Z.cjs');
|
|
@@ -155,7 +155,7 @@ function largeNumberSuffixNormalizerRule(priority = 65) {
|
|
|
155
155
|
const scaled = scaleDecimalString(numberToken.text, magnitude);
|
|
156
156
|
return {
|
|
157
157
|
consumed: 2,
|
|
158
|
-
replacement: [
|
|
158
|
+
replacement: [chunkCGIDYRAX_cjs.createFusedToken("NUMBER", scaled, tokens.slice(pos, pos + 2))],
|
|
159
159
|
ruleName: "arithmetic:large-number-suffix"
|
|
160
160
|
};
|
|
161
161
|
}
|
|
@@ -178,21 +178,21 @@ var ARITHMETIC_PACKAGE = {
|
|
|
178
178
|
{ tokenType: "BIT_NOT", parselet: new PrefixOpParselet(36 /* BIT_NOT */) }
|
|
179
179
|
],
|
|
180
180
|
infixParselets: [
|
|
181
|
-
{ tokenType: "PLUS", parselet: new BinaryOpParselet(
|
|
182
|
-
{ tokenType: "MINUS", parselet: new BinaryOpParselet(
|
|
183
|
-
{ tokenType: "STAR", parselet: new BinaryOpParselet(
|
|
184
|
-
{ tokenType: "SLASH", parselet: new BinaryOpParselet(
|
|
185
|
-
{ tokenType: "MOD", parselet: new BinaryOpParselet(
|
|
186
|
-
{ tokenType: "CARET", parselet: new BinaryOpParselet(
|
|
187
|
-
{ tokenType: "TIMES_BY", parselet: new BinaryOpParselet(
|
|
188
|
-
{ tokenType: "MULTIPLY_BY", parselet: new BinaryOpParselet(
|
|
189
|
-
{ tokenType: "DIVIDE_BY", parselet: new BinaryOpParselet(
|
|
190
|
-
{ tokenType: "LSHIFT", parselet: new BinaryOpParselet(
|
|
191
|
-
{ tokenType: "RSHIFT", parselet: new BinaryOpParselet(
|
|
192
|
-
{ tokenType: "URSHIFT", parselet: new BinaryOpParselet(
|
|
193
|
-
{ tokenType: "BIT_AND", parselet: new BinaryOpParselet(
|
|
194
|
-
{ tokenType: "BIT_OR", parselet: new BinaryOpParselet(
|
|
195
|
-
{ tokenType: "BIT_XOR", parselet: new BinaryOpParselet(
|
|
181
|
+
{ tokenType: "PLUS", parselet: new BinaryOpParselet(chunkEEJSQEHC_cjs.BindingPower.Sum, 20 /* ADD */) },
|
|
182
|
+
{ tokenType: "MINUS", parselet: new BinaryOpParselet(chunkEEJSQEHC_cjs.BindingPower.Sum, 21 /* SUB */) },
|
|
183
|
+
{ tokenType: "STAR", parselet: new BinaryOpParselet(chunkEEJSQEHC_cjs.BindingPower.Product, 22 /* MUL */) },
|
|
184
|
+
{ tokenType: "SLASH", parselet: new BinaryOpParselet(chunkEEJSQEHC_cjs.BindingPower.Product, 23 /* DIV */) },
|
|
185
|
+
{ tokenType: "MOD", parselet: new BinaryOpParselet(chunkEEJSQEHC_cjs.BindingPower.Product, 24 /* MOD */) },
|
|
186
|
+
{ tokenType: "CARET", parselet: new BinaryOpParselet(chunkEEJSQEHC_cjs.BindingPower.Exponent, 25 /* EXP */) },
|
|
187
|
+
{ tokenType: "TIMES_BY", parselet: new BinaryOpParselet(chunkEEJSQEHC_cjs.BindingPower.Product, 22 /* MUL */) },
|
|
188
|
+
{ tokenType: "MULTIPLY_BY", parselet: new BinaryOpParselet(chunkEEJSQEHC_cjs.BindingPower.Product, 22 /* MUL */) },
|
|
189
|
+
{ tokenType: "DIVIDE_BY", parselet: new BinaryOpParselet(chunkEEJSQEHC_cjs.BindingPower.Product, 23 /* DIV */) },
|
|
190
|
+
{ tokenType: "LSHIFT", parselet: new BinaryOpParselet(chunkEEJSQEHC_cjs.BindingPower.Sum, 30 /* LSHIFT */) },
|
|
191
|
+
{ tokenType: "RSHIFT", parselet: new BinaryOpParselet(chunkEEJSQEHC_cjs.BindingPower.Sum, 31 /* RSHIFT */) },
|
|
192
|
+
{ tokenType: "URSHIFT", parselet: new BinaryOpParselet(chunkEEJSQEHC_cjs.BindingPower.Sum, 32 /* URSHIFT */) },
|
|
193
|
+
{ tokenType: "BIT_AND", parselet: new BinaryOpParselet(chunkEEJSQEHC_cjs.BindingPower.Product, 33 /* BIT_AND */) },
|
|
194
|
+
{ tokenType: "BIT_OR", parselet: new BinaryOpParselet(chunkEEJSQEHC_cjs.BindingPower.Sum, 34 /* BIT_OR */) },
|
|
195
|
+
{ tokenType: "BIT_XOR", parselet: new BinaryOpParselet(chunkEEJSQEHC_cjs.BindingPower.BitwiseXor, 35 /* BIT_XOR */) }
|
|
196
196
|
],
|
|
197
197
|
normalizerRules: [largeNumberSuffixNormalizerRule()]
|
|
198
198
|
};
|
|
@@ -201,7 +201,7 @@ var ARITHMETIC_PACKAGE = {
|
|
|
201
201
|
var PercentParselet = class {
|
|
202
202
|
constructor() {
|
|
203
203
|
this.category = "Percentage";
|
|
204
|
-
this.bindingPower =
|
|
204
|
+
this.bindingPower = chunkEEJSQEHC_cjs.BindingPower.Prefix;
|
|
205
205
|
}
|
|
206
206
|
parse(parser, left, token, builder) {
|
|
207
207
|
builder.emitOpcode(10 /* PUSH_NUMBER */);
|
|
@@ -214,7 +214,7 @@ var PercentParselet = class {
|
|
|
214
214
|
var OfParselet = class {
|
|
215
215
|
constructor() {
|
|
216
216
|
this.category = "Percentage";
|
|
217
|
-
this.bindingPower =
|
|
217
|
+
this.bindingPower = chunkEEJSQEHC_cjs.BindingPower.Product;
|
|
218
218
|
}
|
|
219
219
|
parse(parser, left, token, builder) {
|
|
220
220
|
parser.parseExpression(this.bindingPower, builder);
|
|
@@ -226,7 +226,7 @@ var OfParselet = class {
|
|
|
226
226
|
var OfWhatIsParselet = class {
|
|
227
227
|
constructor() {
|
|
228
228
|
this.category = "Percentage";
|
|
229
|
-
this.bindingPower =
|
|
229
|
+
this.bindingPower = chunkEEJSQEHC_cjs.BindingPower.Product;
|
|
230
230
|
}
|
|
231
231
|
parse(parser, left, token, builder) {
|
|
232
232
|
parser.parseExpression(this.bindingPower, builder);
|
|
@@ -240,7 +240,7 @@ var OnOffWhatIsParselet = class {
|
|
|
240
240
|
constructor(sign) {
|
|
241
241
|
this.sign = sign;
|
|
242
242
|
this.category = "Percentage";
|
|
243
|
-
this.bindingPower =
|
|
243
|
+
this.bindingPower = chunkEEJSQEHC_cjs.BindingPower.Product;
|
|
244
244
|
}
|
|
245
245
|
parse(parser, left, token, builder) {
|
|
246
246
|
builder.emitOpcode(10 /* PUSH_NUMBER */);
|
|
@@ -283,7 +283,7 @@ var IncreaseByParselet = class {
|
|
|
283
283
|
constructor(multiplier) {
|
|
284
284
|
this.multiplier = multiplier;
|
|
285
285
|
this.category = "Percentage";
|
|
286
|
-
this.bindingPower =
|
|
286
|
+
this.bindingPower = chunkEEJSQEHC_cjs.BindingPower.Conditional;
|
|
287
287
|
}
|
|
288
288
|
parse(parser, left, token, builder) {
|
|
289
289
|
parser.parseExpression(this.bindingPower, builder);
|
|
@@ -299,7 +299,7 @@ var IncreaseByParselet = class {
|
|
|
299
299
|
var PercentageChangeParselet = class {
|
|
300
300
|
constructor() {
|
|
301
301
|
this.category = "Percentage";
|
|
302
|
-
this.bindingPower =
|
|
302
|
+
this.bindingPower = chunkEEJSQEHC_cjs.BindingPower.Conditional;
|
|
303
303
|
}
|
|
304
304
|
parse(parser, left, token, builder) {
|
|
305
305
|
if (left.type === "UNIT") {
|
|
@@ -456,10 +456,10 @@ var FunctionCallParselet = class {
|
|
|
456
456
|
parser.consume("LPAREN");
|
|
457
457
|
let argCount = 0;
|
|
458
458
|
if (parser.peek()?.type !== "RPAREN") {
|
|
459
|
-
parser.parseExpression(
|
|
459
|
+
parser.parseExpression(chunkEEJSQEHC_cjs.BindingPower.Lowest, builder);
|
|
460
460
|
argCount++;
|
|
461
461
|
while (parser.match("COMMA")) {
|
|
462
|
-
parser.parseExpression(
|
|
462
|
+
parser.parseExpression(chunkEEJSQEHC_cjs.BindingPower.Lowest, builder);
|
|
463
463
|
argCount++;
|
|
464
464
|
}
|
|
465
465
|
}
|
|
@@ -763,9 +763,9 @@ var DurationBetweenParselet = class {
|
|
|
763
763
|
}
|
|
764
764
|
parse(parser, token, builder) {
|
|
765
765
|
const unit = token.value;
|
|
766
|
-
parser.parseExpression(
|
|
766
|
+
parser.parseExpression(chunkEEJSQEHC_cjs.BindingPower.Product, builder);
|
|
767
767
|
parser.consume("PLUS");
|
|
768
|
-
parser.parseExpression(
|
|
768
|
+
parser.parseExpression(chunkEEJSQEHC_cjs.BindingPower.Lowest, builder);
|
|
769
769
|
builder.emitOpcode(50 /* CALL_PLUGIN */);
|
|
770
770
|
builder.emitIndex(SPAN_BETWEEN_FN_IDX);
|
|
771
771
|
builder.emitIndex(2);
|
|
@@ -780,7 +780,7 @@ var DayTypePredicateParselet = class {
|
|
|
780
780
|
constructor(functionIndex) {
|
|
781
781
|
this.functionIndex = functionIndex;
|
|
782
782
|
this.category = "Date/Time";
|
|
783
|
-
this.bindingPower =
|
|
783
|
+
this.bindingPower = chunkEEJSQEHC_cjs.BindingPower.Conditional;
|
|
784
784
|
}
|
|
785
785
|
parse(parser, left, token, builder) {
|
|
786
786
|
builder.emitOpcode(50 /* CALL_PLUGIN */);
|
|
@@ -806,7 +806,7 @@ var CurrentTimestampParselet = class {
|
|
|
806
806
|
var ToDateParselet = class {
|
|
807
807
|
constructor() {
|
|
808
808
|
this.category = "Date/Time";
|
|
809
|
-
this.bindingPower =
|
|
809
|
+
this.bindingPower = chunkEEJSQEHC_cjs.BindingPower.Conditional;
|
|
810
810
|
}
|
|
811
811
|
parse(parser, left, token, builder) {
|
|
812
812
|
builder.emitOpcode(50 /* CALL_PLUGIN */);
|
|
@@ -819,7 +819,7 @@ var ToDateParselet = class {
|
|
|
819
819
|
var ToTimestampParselet = class {
|
|
820
820
|
constructor() {
|
|
821
821
|
this.category = "Date/Time";
|
|
822
|
-
this.bindingPower =
|
|
822
|
+
this.bindingPower = chunkEEJSQEHC_cjs.BindingPower.Conditional;
|
|
823
823
|
}
|
|
824
824
|
parse(parser, left, token, builder) {
|
|
825
825
|
builder.emitOpcode(50 /* CALL_PLUGIN */);
|
|
@@ -853,7 +853,7 @@ function untilSinceNormalizerRule(priority = 60) {
|
|
|
853
853
|
const fusedType = keywordToken.type === "UNTIL" ? "UNTIL_UNIT" : "SINCE_UNIT";
|
|
854
854
|
return {
|
|
855
855
|
consumed: 2,
|
|
856
|
-
replacement: [
|
|
856
|
+
replacement: [chunkCGIDYRAX_cjs.createFusedToken(fusedType, unitToken.value, [unitToken, keywordToken])],
|
|
857
857
|
ruleName: `datetime:${keywordToken.type.toLowerCase()}`
|
|
858
858
|
};
|
|
859
859
|
}
|
|
@@ -890,7 +890,7 @@ function betweenUnitNormalizerRule(priority = 60) {
|
|
|
890
890
|
}
|
|
891
891
|
return {
|
|
892
892
|
consumed: howManyLength + 2,
|
|
893
|
-
replacement: [
|
|
893
|
+
replacement: [chunkCGIDYRAX_cjs.createFusedToken("BETWEEN_UNIT", unitToken.value, sources)],
|
|
894
894
|
ruleName: "datetime:between"
|
|
895
895
|
};
|
|
896
896
|
}
|
|
@@ -911,7 +911,7 @@ function workdayRateDenominatorNormalizerRule(priority = 70) {
|
|
|
911
911
|
const syntheticOne = {
|
|
912
912
|
...unit,
|
|
913
913
|
type: "NUMBER",
|
|
914
|
-
typeId:
|
|
914
|
+
typeId: chunkFI4WDYSL_cjs.tokenTypeId("NUMBER"),
|
|
915
915
|
value: "1",
|
|
916
916
|
text: "1"
|
|
917
917
|
};
|
|
@@ -926,7 +926,7 @@ function workdayRateDenominatorNormalizerRule(priority = 70) {
|
|
|
926
926
|
|
|
927
927
|
// src/packages/datetime/normalizer/DateLiteralNormalizerRule.ts
|
|
928
928
|
var DATETIME_LITERAL_TYPE = "DATETIME_LITERAL";
|
|
929
|
-
var DATETIME_LITERAL_TYPE_ID =
|
|
929
|
+
var DATETIME_LITERAL_TYPE_ID = chunkFI4WDYSL_cjs.tokenTypeId(DATETIME_LITERAL_TYPE);
|
|
930
930
|
var PLAIN_INTEGER = /^\d+$/;
|
|
931
931
|
var DOT_DAY_MONTH = /^\d{1,2}\.\d{1,2}$/;
|
|
932
932
|
var DOT_LEADING_YEAR = /^\.(\d{2}|\d{4})$/;
|
|
@@ -946,7 +946,7 @@ function buildDateToken(day, month, year, sourceTokens, ruleName) {
|
|
|
946
946
|
}
|
|
947
947
|
const first = sourceTokens[0];
|
|
948
948
|
const text = sourceTokens.map((t) => t.value).join("");
|
|
949
|
-
const fusedToken = new
|
|
949
|
+
const fusedToken = new chunk2R7SVDDB_cjs.LexerToken(
|
|
950
950
|
DATETIME_LITERAL_TYPE,
|
|
951
951
|
DATETIME_LITERAL_TYPE_ID,
|
|
952
952
|
String(date.getTime()),
|
|
@@ -1747,7 +1747,7 @@ function clockTimeNormalizerRule(priority = 65) {
|
|
|
1747
1747
|
name: "time:clock-time",
|
|
1748
1748
|
priority,
|
|
1749
1749
|
match(tokens, pos) {
|
|
1750
|
-
if (
|
|
1750
|
+
if (chunkCGIDYRAX_cjs.isInsideRangeContext(tokens, pos)) return null;
|
|
1751
1751
|
const hourToken = tokens[pos];
|
|
1752
1752
|
if (hourToken.type !== "NUMBER") return null;
|
|
1753
1753
|
const hour = parseInt(hourToken.value, 10);
|
|
@@ -1763,7 +1763,7 @@ function clockTimeNormalizerRule(priority = 65) {
|
|
|
1763
1763
|
const consumed = hasAmPm ? 4 : 3;
|
|
1764
1764
|
return {
|
|
1765
1765
|
consumed,
|
|
1766
|
-
replacement: [
|
|
1766
|
+
replacement: [chunkCGIDYRAX_cjs.createFusedToken("CLOCK_TIME", String(totalMinutes), tokens.slice(pos, pos + consumed))],
|
|
1767
1767
|
ruleName: "time:clock-time"
|
|
1768
1768
|
};
|
|
1769
1769
|
}
|
|
@@ -1773,7 +1773,7 @@ function clockTimeNormalizerRule(priority = 65) {
|
|
|
1773
1773
|
if (totalMinutes === null) return null;
|
|
1774
1774
|
return {
|
|
1775
1775
|
consumed: 2,
|
|
1776
|
-
replacement: [
|
|
1776
|
+
replacement: [chunkCGIDYRAX_cjs.createFusedToken("CLOCK_TIME", String(totalMinutes), tokens.slice(pos, pos + 2))],
|
|
1777
1777
|
ruleName: "time:clock-time"
|
|
1778
1778
|
};
|
|
1779
1779
|
}
|
|
@@ -1796,7 +1796,7 @@ function clockTimeIntervalNormalizerRule(priority = 66) {
|
|
|
1796
1796
|
if (end?.type !== "CLOCK_TIME") return null;
|
|
1797
1797
|
return {
|
|
1798
1798
|
consumed: 3,
|
|
1799
|
-
replacement: [
|
|
1799
|
+
replacement: [chunkCGIDYRAX_cjs.createFusedToken("CLOCK_TIME_INTERVAL", `${start.value}:${end.value}`, tokens.slice(pos, pos + 3))],
|
|
1800
1800
|
ruleName: "time:clock-time-interval"
|
|
1801
1801
|
};
|
|
1802
1802
|
}
|
|
@@ -1815,7 +1815,7 @@ function fpsRateNormalizerRule(priority = 65) {
|
|
|
1815
1815
|
if (fpsToken?.type !== "IDENT" || fpsToken.value.toLowerCase() !== "fps") return null;
|
|
1816
1816
|
return {
|
|
1817
1817
|
consumed: 2,
|
|
1818
|
-
replacement: [
|
|
1818
|
+
replacement: [chunkCGIDYRAX_cjs.createFusedToken("FPS_RATE", numberToken.value, tokens.slice(pos, pos + 2))],
|
|
1819
1819
|
ruleName: "time:fps-rate"
|
|
1820
1820
|
};
|
|
1821
1821
|
}
|
|
@@ -1828,7 +1828,7 @@ function laptimeNormalizerRule(priority = 70) {
|
|
|
1828
1828
|
name: "time:laptime",
|
|
1829
1829
|
priority,
|
|
1830
1830
|
match(tokens, pos) {
|
|
1831
|
-
if (
|
|
1831
|
+
if (chunkCGIDYRAX_cjs.isInsideRangeContext(tokens, pos)) return null;
|
|
1832
1832
|
const h = tokens[pos];
|
|
1833
1833
|
const c1 = tokens[pos + 1];
|
|
1834
1834
|
const m = tokens[pos + 2];
|
|
@@ -1847,7 +1847,7 @@ function laptimeNormalizerRule(priority = 70) {
|
|
|
1847
1847
|
const totalSeconds = hours * 3600 + minutes * 60 + seconds;
|
|
1848
1848
|
return {
|
|
1849
1849
|
consumed: 5,
|
|
1850
|
-
replacement: [
|
|
1850
|
+
replacement: [chunkCGIDYRAX_cjs.createFusedToken("LAPTIME", String(totalSeconds), tokens.slice(pos, pos + 5))],
|
|
1851
1851
|
ruleName: "time:laptime"
|
|
1852
1852
|
};
|
|
1853
1853
|
}
|
|
@@ -1860,7 +1860,7 @@ function videoTimecodeNormalizerRule(priority = 75) {
|
|
|
1860
1860
|
name: "time:video-timecode",
|
|
1861
1861
|
priority,
|
|
1862
1862
|
match(tokens, pos) {
|
|
1863
|
-
if (
|
|
1863
|
+
if (chunkCGIDYRAX_cjs.isInsideRangeContext(tokens, pos)) return null;
|
|
1864
1864
|
const h = tokens[pos];
|
|
1865
1865
|
const c1 = tokens[pos + 1];
|
|
1866
1866
|
const m = tokens[pos + 2];
|
|
@@ -1886,7 +1886,7 @@ function videoTimecodeNormalizerRule(priority = 75) {
|
|
|
1886
1886
|
return {
|
|
1887
1887
|
consumed: 7,
|
|
1888
1888
|
replacement: [
|
|
1889
|
-
|
|
1889
|
+
chunkCGIDYRAX_cjs.createFusedToken("VIDEO_TIMECODE", `${hours},${minutes},${seconds},${frames}`, tokens.slice(pos, pos + 7))
|
|
1890
1890
|
],
|
|
1891
1891
|
ruleName: "time:video-timecode"
|
|
1892
1892
|
};
|
|
@@ -1906,7 +1906,7 @@ function frameCountNormalizerRule(priority = 65) {
|
|
|
1906
1906
|
if (framesToken?.type !== "IDENT" || framesToken.value.toLowerCase() !== "frames") return null;
|
|
1907
1907
|
return {
|
|
1908
1908
|
consumed: 2,
|
|
1909
|
-
replacement: [
|
|
1909
|
+
replacement: [chunkCGIDYRAX_cjs.createFusedToken("FRAME_COUNT", numberToken.value, tokens.slice(pos, pos + 2))],
|
|
1910
1910
|
ruleName: "time:frame-count"
|
|
1911
1911
|
};
|
|
1912
1912
|
}
|
|
@@ -2012,7 +2012,7 @@ var keywordLedRollPattern = definePhrasePattern({
|
|
|
2012
2012
|
{
|
|
2013
2013
|
slots: [
|
|
2014
2014
|
{ kind: "keyword", tokenTypes: ["BETWEEN"] },
|
|
2015
|
-
{ kind: "expr", bindingPower:
|
|
2015
|
+
{ kind: "expr", bindingPower: chunkEEJSQEHC_cjs.BindingPower.Product },
|
|
2016
2016
|
// The word "and" lexes as PLUS, not a dedicated AND token, en.ts's
|
|
2017
2017
|
// keywordMap maps `and: "PLUS"` (a synonym for arithmetic "+").
|
|
2018
2018
|
// The original hand-written parselet never actually checked the
|
|
@@ -2027,7 +2027,7 @@ var keywordLedRollPattern = definePhrasePattern({
|
|
|
2027
2027
|
{
|
|
2028
2028
|
slots: [
|
|
2029
2029
|
{ kind: "keyword", tokenTypes: ["FROM"] },
|
|
2030
|
-
{ kind: "expr", bindingPower:
|
|
2030
|
+
{ kind: "expr", bindingPower: chunkEEJSQEHC_cjs.BindingPower.Product },
|
|
2031
2031
|
{ kind: "keyword", tokenTypes: ["TO"] },
|
|
2032
2032
|
{ kind: "expr" }
|
|
2033
2033
|
],
|
|
@@ -2235,7 +2235,7 @@ function resolveUnitAlias(rawUnit) {
|
|
|
2235
2235
|
var UomLiteralParselet = class {
|
|
2236
2236
|
constructor() {
|
|
2237
2237
|
this.category = "UoM";
|
|
2238
|
-
this.bindingPower =
|
|
2238
|
+
this.bindingPower = chunkEEJSQEHC_cjs.BindingPower.Postfix;
|
|
2239
2239
|
}
|
|
2240
2240
|
parse(parser, left, token, builder) {
|
|
2241
2241
|
const unit = resolveUnitAlias(token.value);
|
|
@@ -2275,7 +2275,7 @@ var ConvertParselet = class {
|
|
|
2275
2275
|
this.category = "UoM";
|
|
2276
2276
|
}
|
|
2277
2277
|
parse(parser, token, builder) {
|
|
2278
|
-
parser.parseExpression(
|
|
2278
|
+
parser.parseExpression(chunkEEJSQEHC_cjs.BindingPower.Postfix, builder);
|
|
2279
2279
|
const nextToken = parser.peek();
|
|
2280
2280
|
if (nextToken && nextToken.type === "UNIT") {
|
|
2281
2281
|
parser.consume();
|
|
@@ -2340,7 +2340,7 @@ function uomPossibilitiesNormalizerRule(priority = 60) {
|
|
|
2340
2340
|
if (questionToken.type !== "QUESTION") return null;
|
|
2341
2341
|
return {
|
|
2342
2342
|
consumed: 3,
|
|
2343
|
-
replacement: [
|
|
2343
|
+
replacement: [chunkCGIDYRAX_cjs.createFusedToken("UOM_POSSIBILITIES_QUERY", unitToken.value, [unitToken, toToken, questionToken])],
|
|
2344
2344
|
ruleName: "uom:possibilities"
|
|
2345
2345
|
};
|
|
2346
2346
|
}
|
|
@@ -2533,7 +2533,7 @@ function ingredientNameNormalizerRule(priority = 68) {
|
|
|
2533
2533
|
const candidate = candidateTokens.map((t) => t.value.toLowerCase()).join(" ");
|
|
2534
2534
|
return {
|
|
2535
2535
|
consumed: wordCount,
|
|
2536
|
-
replacement: [
|
|
2536
|
+
replacement: [chunkCGIDYRAX_cjs.createFusedToken("INGREDIENT_NAME", candidate, candidateTokens)],
|
|
2537
2537
|
ruleName: "uom-cooking:ingredient-name"
|
|
2538
2538
|
};
|
|
2539
2539
|
}
|
|
@@ -2569,7 +2569,7 @@ var CurrencySymbolParselet = class {
|
|
|
2569
2569
|
}
|
|
2570
2570
|
parse(parser, token, builder) {
|
|
2571
2571
|
const currency = chunkOT6OJY7C_cjs.resolveCurrencyAlias(token.value) ?? token.value.toUpperCase();
|
|
2572
|
-
parser.parseExpression(
|
|
2572
|
+
parser.parseExpression(chunkEEJSQEHC_cjs.BindingPower.Prefix, builder);
|
|
2573
2573
|
if (parser.peek()?.type === "UNIT") {
|
|
2574
2574
|
parser.consume();
|
|
2575
2575
|
}
|
|
@@ -2712,7 +2712,7 @@ var MatrixLiteralParselet = class {
|
|
|
2712
2712
|
var MatrixIndexParselet = class {
|
|
2713
2713
|
constructor() {
|
|
2714
2714
|
this.category = "Matrix";
|
|
2715
|
-
this.bindingPower =
|
|
2715
|
+
this.bindingPower = chunkEEJSQEHC_cjs.BindingPower.Postfix;
|
|
2716
2716
|
}
|
|
2717
2717
|
parse(parser, _left, _token, builder) {
|
|
2718
2718
|
const isSlice = this.hasTopLevelColon(parser);
|
|
@@ -2815,8 +2815,8 @@ function parseTransform(parser, builder) {
|
|
|
2815
2815
|
}
|
|
2816
2816
|
return { kind: 2, name };
|
|
2817
2817
|
}
|
|
2818
|
-
const transformBuilder = new
|
|
2819
|
-
parser.parseExpression(
|
|
2818
|
+
const transformBuilder = new chunkEEJSQEHC_cjs.BytecodeBuilder();
|
|
2819
|
+
parser.parseExpression(chunkEEJSQEHC_cjs.BindingPower.Lowest, transformBuilder);
|
|
2820
2820
|
parser.setBuilder(builder);
|
|
2821
2821
|
const program = transformBuilder.build();
|
|
2822
2822
|
if (program.hasAsync) {
|
|
@@ -2902,7 +2902,7 @@ var ReduceParselet = class {
|
|
|
2902
2902
|
parseCollectionExpr(parser, builder);
|
|
2903
2903
|
let hasInitial = 0;
|
|
2904
2904
|
if (parser.match("COMMA")) {
|
|
2905
|
-
parser.parseExpression(
|
|
2905
|
+
parser.parseExpression(chunkEEJSQEHC_cjs.BindingPower.Lowest, builder);
|
|
2906
2906
|
hasInitial = 1;
|
|
2907
2907
|
}
|
|
2908
2908
|
parser.consume("RPAREN");
|
|
@@ -2917,10 +2917,10 @@ var SumParselet = class {
|
|
|
2917
2917
|
}
|
|
2918
2918
|
parse(parser, _token, builder) {
|
|
2919
2919
|
parser.consume("LPAREN");
|
|
2920
|
-
const bodyBuilder = new
|
|
2920
|
+
const bodyBuilder = new chunkEEJSQEHC_cjs.BytecodeBuilder();
|
|
2921
2921
|
bodyBuilder.emitOpcode(60 /* LOAD_VAR */);
|
|
2922
2922
|
bodyBuilder.emitString("acc");
|
|
2923
|
-
parser.parseExpression(
|
|
2923
|
+
parser.parseExpression(chunkEEJSQEHC_cjs.BindingPower.Lowest, bodyBuilder);
|
|
2924
2924
|
parser.setBuilder(builder);
|
|
2925
2925
|
bodyBuilder.emitOpcode(20 /* ADD */);
|
|
2926
2926
|
const bodyProgram = bodyBuilder.build();
|
|
@@ -2944,10 +2944,10 @@ var ProdParselet = class {
|
|
|
2944
2944
|
}
|
|
2945
2945
|
parse(parser, _token, builder) {
|
|
2946
2946
|
parser.consume("LPAREN");
|
|
2947
|
-
const bodyBuilder = new
|
|
2947
|
+
const bodyBuilder = new chunkEEJSQEHC_cjs.BytecodeBuilder();
|
|
2948
2948
|
bodyBuilder.emitOpcode(60 /* LOAD_VAR */);
|
|
2949
2949
|
bodyBuilder.emitString("acc");
|
|
2950
|
-
parser.parseExpression(
|
|
2950
|
+
parser.parseExpression(chunkEEJSQEHC_cjs.BindingPower.Lowest, bodyBuilder);
|
|
2951
2951
|
parser.setBuilder(builder);
|
|
2952
2952
|
bodyBuilder.emitOpcode(22 /* MUL */);
|
|
2953
2953
|
const bodyProgram = bodyBuilder.build();
|
|
@@ -2995,7 +2995,7 @@ function mapReduceCallNormalizerRule(priority = 80) {
|
|
|
2995
2995
|
return {
|
|
2996
2996
|
consumed: 1,
|
|
2997
2997
|
replacement: [
|
|
2998
|
-
new
|
|
2998
|
+
new chunk2R7SVDDB_cjs.LexerToken(tokenType, chunkFI4WDYSL_cjs.tokenTypeId(tokenType), token.value, token.value, token.offset, 0, token.line, token.col)
|
|
2999
2999
|
],
|
|
3000
3000
|
ruleName: "mapreduce:call"
|
|
3001
3001
|
};
|
|
@@ -3037,7 +3037,7 @@ var ExpandParselet = class {
|
|
|
3037
3037
|
}
|
|
3038
3038
|
parse(parser, _token, builder) {
|
|
3039
3039
|
parser.consume("LPAREN");
|
|
3040
|
-
parser.parseExpression(
|
|
3040
|
+
parser.parseExpression(chunkEEJSQEHC_cjs.BindingPower.Lowest, builder);
|
|
3041
3041
|
parser.consume("RPAREN");
|
|
3042
3042
|
builder.emitOpcode(51 /* CALL_BUILTIN */);
|
|
3043
3043
|
builder.emitIndex(SYMBOLIC_BUILTIN_EXPAND);
|
|
@@ -3052,7 +3052,7 @@ var FactorParselet = class {
|
|
|
3052
3052
|
}
|
|
3053
3053
|
parse(parser, _token, builder) {
|
|
3054
3054
|
parser.consume("LPAREN");
|
|
3055
|
-
parser.parseExpression(
|
|
3055
|
+
parser.parseExpression(chunkEEJSQEHC_cjs.BindingPower.Lowest, builder);
|
|
3056
3056
|
parser.consume("RPAREN");
|
|
3057
3057
|
builder.emitOpcode(51 /* CALL_BUILTIN */);
|
|
3058
3058
|
builder.emitIndex(SYMBOLIC_BUILTIN_FACTOR);
|
|
@@ -3067,9 +3067,9 @@ var SolveParselet = class {
|
|
|
3067
3067
|
}
|
|
3068
3068
|
parse(parser, _token, builder) {
|
|
3069
3069
|
parser.consume("LPAREN");
|
|
3070
|
-
parser.parseExpression(
|
|
3070
|
+
parser.parseExpression(chunkEEJSQEHC_cjs.BindingPower.Lowest, builder);
|
|
3071
3071
|
if (parser.match("EQUALS")) {
|
|
3072
|
-
parser.parseExpression(
|
|
3072
|
+
parser.parseExpression(chunkEEJSQEHC_cjs.BindingPower.Lowest, builder);
|
|
3073
3073
|
} else {
|
|
3074
3074
|
builder.emitOpcode(10 /* PUSH_NUMBER */);
|
|
3075
3075
|
builder.emitNumber(0);
|
|
@@ -3115,11 +3115,11 @@ var DerParselet = class {
|
|
|
3115
3115
|
}
|
|
3116
3116
|
parse(parser, _token, builder) {
|
|
3117
3117
|
parser.consume("LPAREN");
|
|
3118
|
-
parser.parseExpression(
|
|
3118
|
+
parser.parseExpression(chunkEEJSQEHC_cjs.BindingPower.Lowest, builder);
|
|
3119
3119
|
parser.consume("COMMA");
|
|
3120
3120
|
consumeVariableName(parser, builder, "der");
|
|
3121
3121
|
if (parser.match("COMMA")) {
|
|
3122
|
-
parser.parseExpression(
|
|
3122
|
+
parser.parseExpression(chunkEEJSQEHC_cjs.BindingPower.Lowest, builder);
|
|
3123
3123
|
} else {
|
|
3124
3124
|
builder.emitOpcode(10 /* PUSH_NUMBER */);
|
|
3125
3125
|
builder.emitNumber(1);
|
|
@@ -3138,7 +3138,7 @@ var IntegralParselet = class {
|
|
|
3138
3138
|
}
|
|
3139
3139
|
parse(parser, _token, builder) {
|
|
3140
3140
|
parser.consume("LPAREN");
|
|
3141
|
-
parser.parseExpression(
|
|
3141
|
+
parser.parseExpression(chunkEEJSQEHC_cjs.BindingPower.Lowest, builder);
|
|
3142
3142
|
parser.consume("COMMA");
|
|
3143
3143
|
consumeVariableName(parser, builder, "integral");
|
|
3144
3144
|
parser.consume("RPAREN");
|
|
@@ -3155,13 +3155,13 @@ var TaylorParselet = class {
|
|
|
3155
3155
|
}
|
|
3156
3156
|
parse(parser, _token, builder) {
|
|
3157
3157
|
parser.consume("LPAREN");
|
|
3158
|
-
parser.parseExpression(
|
|
3158
|
+
parser.parseExpression(chunkEEJSQEHC_cjs.BindingPower.Lowest, builder);
|
|
3159
3159
|
parser.consume("COMMA");
|
|
3160
3160
|
consumeVariableName(parser, builder, "taylor");
|
|
3161
3161
|
parser.consume("EQUALS");
|
|
3162
|
-
parser.parseExpression(
|
|
3162
|
+
parser.parseExpression(chunkEEJSQEHC_cjs.BindingPower.Lowest, builder);
|
|
3163
3163
|
parser.consume("COMMA");
|
|
3164
|
-
parser.parseExpression(
|
|
3164
|
+
parser.parseExpression(chunkEEJSQEHC_cjs.BindingPower.Lowest, builder);
|
|
3165
3165
|
parser.consume("RPAREN");
|
|
3166
3166
|
builder.emitOpcode(51 /* CALL_BUILTIN */);
|
|
3167
3167
|
builder.emitIndex(SYMBOLIC_BUILTIN_TAYLOR);
|
|
@@ -3178,7 +3178,7 @@ var JacobianParselet = class {
|
|
|
3178
3178
|
parser.consume("LPAREN");
|
|
3179
3179
|
let count = 0;
|
|
3180
3180
|
do {
|
|
3181
|
-
parser.parseExpression(
|
|
3181
|
+
parser.parseExpression(chunkEEJSQEHC_cjs.BindingPower.Lowest, builder);
|
|
3182
3182
|
count++;
|
|
3183
3183
|
} while (parser.match("COMMA"));
|
|
3184
3184
|
parser.consume("RPAREN");
|
|
@@ -3209,7 +3209,7 @@ var ConjParselet = class {
|
|
|
3209
3209
|
}
|
|
3210
3210
|
parse(parser, _token, builder) {
|
|
3211
3211
|
parser.consume("LPAREN");
|
|
3212
|
-
parser.parseExpression(
|
|
3212
|
+
parser.parseExpression(chunkEEJSQEHC_cjs.BindingPower.Lowest, builder);
|
|
3213
3213
|
parser.consume("RPAREN");
|
|
3214
3214
|
builder.emitOpcode(51 /* CALL_BUILTIN */);
|
|
3215
3215
|
builder.emitIndex(SYMBOLIC_BUILTIN_CONJ);
|
|
@@ -3224,7 +3224,7 @@ var ReParselet = class {
|
|
|
3224
3224
|
}
|
|
3225
3225
|
parse(parser, _token, builder) {
|
|
3226
3226
|
parser.consume("LPAREN");
|
|
3227
|
-
parser.parseExpression(
|
|
3227
|
+
parser.parseExpression(chunkEEJSQEHC_cjs.BindingPower.Lowest, builder);
|
|
3228
3228
|
parser.consume("RPAREN");
|
|
3229
3229
|
builder.emitOpcode(51 /* CALL_BUILTIN */);
|
|
3230
3230
|
builder.emitIndex(SYMBOLIC_BUILTIN_RE);
|
|
@@ -3239,7 +3239,7 @@ var ImParselet = class {
|
|
|
3239
3239
|
}
|
|
3240
3240
|
parse(parser, _token, builder) {
|
|
3241
3241
|
parser.consume("LPAREN");
|
|
3242
|
-
parser.parseExpression(
|
|
3242
|
+
parser.parseExpression(chunkEEJSQEHC_cjs.BindingPower.Lowest, builder);
|
|
3243
3243
|
parser.consume("RPAREN");
|
|
3244
3244
|
builder.emitOpcode(51 /* CALL_BUILTIN */);
|
|
3245
3245
|
builder.emitIndex(SYMBOLIC_BUILTIN_IM);
|
|
@@ -3254,7 +3254,7 @@ var CancelParselet = class {
|
|
|
3254
3254
|
}
|
|
3255
3255
|
parse(parser, _token, builder) {
|
|
3256
3256
|
parser.consume("LPAREN");
|
|
3257
|
-
parser.parseExpression(
|
|
3257
|
+
parser.parseExpression(chunkEEJSQEHC_cjs.BindingPower.Lowest, builder);
|
|
3258
3258
|
parser.consume("RPAREN");
|
|
3259
3259
|
builder.emitOpcode(51 /* CALL_BUILTIN */);
|
|
3260
3260
|
builder.emitIndex(SYMBOLIC_BUILTIN_CANCEL);
|
|
@@ -3269,7 +3269,7 @@ var ApartParselet = class {
|
|
|
3269
3269
|
}
|
|
3270
3270
|
parse(parser, _token, builder) {
|
|
3271
3271
|
parser.consume("LPAREN");
|
|
3272
|
-
parser.parseExpression(
|
|
3272
|
+
parser.parseExpression(chunkEEJSQEHC_cjs.BindingPower.Lowest, builder);
|
|
3273
3273
|
parser.consume("RPAREN");
|
|
3274
3274
|
builder.emitOpcode(51 /* CALL_BUILTIN */);
|
|
3275
3275
|
builder.emitIndex(SYMBOLIC_BUILTIN_APART);
|
|
@@ -3292,9 +3292,9 @@ function imaginaryLiteralNormalizerRule(priority = 75) {
|
|
|
3292
3292
|
return {
|
|
3293
3293
|
consumed: 2,
|
|
3294
3294
|
replacement: [
|
|
3295
|
-
new
|
|
3295
|
+
new chunk2R7SVDDB_cjs.LexerToken(
|
|
3296
3296
|
"IMAGINARY",
|
|
3297
|
-
|
|
3297
|
+
chunkFI4WDYSL_cjs.tokenTypeId("IMAGINARY"),
|
|
3298
3298
|
number.value,
|
|
3299
3299
|
number.value,
|
|
3300
3300
|
number.offset,
|
|
@@ -3338,7 +3338,7 @@ function symbolicCallNormalizerRule(priority = 80) {
|
|
|
3338
3338
|
return {
|
|
3339
3339
|
consumed: 1,
|
|
3340
3340
|
replacement: [
|
|
3341
|
-
new
|
|
3341
|
+
new chunk2R7SVDDB_cjs.LexerToken(tokenType, chunkFI4WDYSL_cjs.tokenTypeId(tokenType), token.value, token.value, token.offset, 0, token.line, token.col)
|
|
3342
3342
|
],
|
|
3343
3343
|
ruleName: "symbolic:call"
|
|
3344
3344
|
};
|
|
@@ -3510,7 +3510,7 @@ var ComparisonParselet = class {
|
|
|
3510
3510
|
constructor(opcode) {
|
|
3511
3511
|
this.opcode = opcode;
|
|
3512
3512
|
this.category = "Conditionals";
|
|
3513
|
-
this.bindingPower =
|
|
3513
|
+
this.bindingPower = chunkEEJSQEHC_cjs.BindingPower.Conditional;
|
|
3514
3514
|
}
|
|
3515
3515
|
parse(parser, left, token, builder) {
|
|
3516
3516
|
parser.parseExpression(this.bindingPower, builder);
|
|
@@ -3573,9 +3573,9 @@ var CONDITIONALS_PACKAGE = {
|
|
|
3573
3573
|
{ tokenType: "GT", parselet: new ComparisonParselet(44 /* GT */) },
|
|
3574
3574
|
{ tokenType: "LTE", parselet: new ComparisonParselet(43 /* LTE */) },
|
|
3575
3575
|
{ tokenType: "GTE", parselet: new ComparisonParselet(45 /* GTE */) },
|
|
3576
|
-
{ tokenType: "OR", parselet: new LogicalParselet(131 /* LOGICAL_OR */,
|
|
3577
|
-
{ tokenType: "LOGICAL_AND", parselet: new LogicalParselet(130 /* LOGICAL_AND */,
|
|
3578
|
-
{ tokenType: "LOGICAL_OR", parselet: new LogicalParselet(131 /* LOGICAL_OR */,
|
|
3576
|
+
{ tokenType: "OR", parselet: new LogicalParselet(131 /* LOGICAL_OR */, chunkEEJSQEHC_cjs.BindingPower.LogicalOr) },
|
|
3577
|
+
{ tokenType: "LOGICAL_AND", parselet: new LogicalParselet(130 /* LOGICAL_AND */, chunkEEJSQEHC_cjs.BindingPower.LogicalAnd) },
|
|
3578
|
+
{ tokenType: "LOGICAL_OR", parselet: new LogicalParselet(131 /* LOGICAL_OR */, chunkEEJSQEHC_cjs.BindingPower.LogicalOr) }
|
|
3579
3579
|
]
|
|
3580
3580
|
};
|
|
3581
3581
|
|
|
@@ -3599,7 +3599,7 @@ var BUILTIN_CONVERTERS = {
|
|
|
3599
3599
|
var AsConverterParselet = class {
|
|
3600
3600
|
constructor() {
|
|
3601
3601
|
this.category = "Converters";
|
|
3602
|
-
this.bindingPower =
|
|
3602
|
+
this.bindingPower = chunkEEJSQEHC_cjs.BindingPower.Conditional;
|
|
3603
3603
|
}
|
|
3604
3604
|
parse(parser, left, token, builder) {
|
|
3605
3605
|
const nextToken = parser.peek();
|
|
@@ -3643,10 +3643,10 @@ var VariadicAggregateParselet = class {
|
|
|
3643
3643
|
}
|
|
3644
3644
|
parse(parser, token, builder) {
|
|
3645
3645
|
let argCount = 0;
|
|
3646
|
-
parser.parseExpression(
|
|
3646
|
+
parser.parseExpression(chunkEEJSQEHC_cjs.BindingPower.Lowest, builder);
|
|
3647
3647
|
argCount++;
|
|
3648
3648
|
while (parser.match("COMMA")) {
|
|
3649
|
-
parser.parseExpression(
|
|
3649
|
+
parser.parseExpression(chunkEEJSQEHC_cjs.BindingPower.Lowest, builder);
|
|
3650
3650
|
argCount++;
|
|
3651
3651
|
}
|
|
3652
3652
|
builder.emitOpcode(51 /* CALL_BUILTIN */);
|
|
@@ -3660,9 +3660,9 @@ function largerSmallerParselet(builtinIndex) {
|
|
|
3660
3660
|
return {
|
|
3661
3661
|
category: "MathPhrases",
|
|
3662
3662
|
parse(parser, token, builder) {
|
|
3663
|
-
parser.parseExpression(
|
|
3663
|
+
parser.parseExpression(chunkEEJSQEHC_cjs.BindingPower.Product, builder);
|
|
3664
3664
|
parser.consume("PLUS");
|
|
3665
|
-
parser.parseExpression(
|
|
3665
|
+
parser.parseExpression(chunkEEJSQEHC_cjs.BindingPower.Lowest, builder);
|
|
3666
3666
|
builder.emitOpcode(51 /* CALL_BUILTIN */);
|
|
3667
3667
|
builder.emitIndex(builtinIndex);
|
|
3668
3668
|
builder.emitIndex(2);
|
|
@@ -3674,7 +3674,7 @@ function largerSmallerParselet(builtinIndex) {
|
|
|
3674
3674
|
var halfParselet = {
|
|
3675
3675
|
category: "MathPhrases",
|
|
3676
3676
|
parse(parser, token, builder) {
|
|
3677
|
-
parser.parseExpression(
|
|
3677
|
+
parser.parseExpression(chunkEEJSQEHC_cjs.BindingPower.Lowest, builder);
|
|
3678
3678
|
builder.emitOpcode(10 /* PUSH_NUMBER */);
|
|
3679
3679
|
builder.emitNumber(2);
|
|
3680
3680
|
builder.emitOpcode(23 /* DIV */);
|
|
@@ -3685,9 +3685,9 @@ var halfParselet = {
|
|
|
3685
3685
|
var midpointParselet = {
|
|
3686
3686
|
category: "MathPhrases",
|
|
3687
3687
|
parse(parser, token, builder) {
|
|
3688
|
-
parser.parseExpression(
|
|
3688
|
+
parser.parseExpression(chunkEEJSQEHC_cjs.BindingPower.Product, builder);
|
|
3689
3689
|
parser.consume("PLUS");
|
|
3690
|
-
parser.parseExpression(
|
|
3690
|
+
parser.parseExpression(chunkEEJSQEHC_cjs.BindingPower.Lowest, builder);
|
|
3691
3691
|
builder.emitOpcode(20 /* ADD */);
|
|
3692
3692
|
builder.emitOpcode(10 /* PUSH_NUMBER */);
|
|
3693
3693
|
builder.emitNumber(2);
|
|
@@ -3702,7 +3702,7 @@ var randomNumberParselet = definePhrasePattern({
|
|
|
3702
3702
|
{
|
|
3703
3703
|
slots: [
|
|
3704
3704
|
{ kind: "keyword", tokenTypes: ["BETWEEN"] },
|
|
3705
|
-
{ kind: "expr", bindingPower:
|
|
3705
|
+
{ kind: "expr", bindingPower: chunkEEJSQEHC_cjs.BindingPower.Product },
|
|
3706
3706
|
{ kind: "keyword", tokenTypes: ["PLUS"] },
|
|
3707
3707
|
{ kind: "expr" }
|
|
3708
3708
|
],
|
|
@@ -3722,18 +3722,18 @@ var ClampParselet = class {
|
|
|
3722
3722
|
this.category = "MathPhrases";
|
|
3723
3723
|
}
|
|
3724
3724
|
parse(parser, token, builder) {
|
|
3725
|
-
parser.parseExpression(
|
|
3725
|
+
parser.parseExpression(chunkEEJSQEHC_cjs.BindingPower.Lowest, builder);
|
|
3726
3726
|
const mid = parser.peek();
|
|
3727
3727
|
if (mid?.type === "BETWEEN") {
|
|
3728
3728
|
parser.consume();
|
|
3729
|
-
parser.parseExpression(
|
|
3729
|
+
parser.parseExpression(chunkEEJSQEHC_cjs.BindingPower.Product, builder);
|
|
3730
3730
|
parser.consume("PLUS");
|
|
3731
|
-
parser.parseExpression(
|
|
3731
|
+
parser.parseExpression(chunkEEJSQEHC_cjs.BindingPower.Lowest, builder);
|
|
3732
3732
|
} else if (mid?.type === "FROM") {
|
|
3733
3733
|
parser.consume();
|
|
3734
|
-
parser.parseExpression(
|
|
3734
|
+
parser.parseExpression(chunkEEJSQEHC_cjs.BindingPower.Lowest, builder);
|
|
3735
3735
|
parser.consume("TO");
|
|
3736
|
-
parser.parseExpression(
|
|
3736
|
+
parser.parseExpression(chunkEEJSQEHC_cjs.BindingPower.Lowest, builder);
|
|
3737
3737
|
} else {
|
|
3738
3738
|
throw chunkM4N5GA5Z_cjs.ErrorFactory.parsing(
|
|
3739
3739
|
"CLAMP_EXPECTED_BETWEEN_OR_FROM",
|
|
@@ -3751,7 +3751,7 @@ var PROPORTION_BUILTIN_INDEX = 46;
|
|
|
3751
3751
|
var ProportionParselet = class {
|
|
3752
3752
|
constructor() {
|
|
3753
3753
|
this.category = "MathPhrases";
|
|
3754
|
-
this.bindingPower =
|
|
3754
|
+
this.bindingPower = chunkEEJSQEHC_cjs.BindingPower.Conditional;
|
|
3755
3755
|
}
|
|
3756
3756
|
parse(parser, left, token, builder) {
|
|
3757
3757
|
parser.parseExpression(this.bindingPower, builder);
|
|
@@ -3816,11 +3816,11 @@ var CompoundInterestParselet = class {
|
|
|
3816
3816
|
this.category = "Finance";
|
|
3817
3817
|
}
|
|
3818
3818
|
parse(parser, _token, builder) {
|
|
3819
|
-
parser.parseExpression(
|
|
3819
|
+
parser.parseExpression(chunkEEJSQEHC_cjs.BindingPower.Lowest, builder);
|
|
3820
3820
|
parser.consume("OVER");
|
|
3821
|
-
parser.parseExpression(
|
|
3821
|
+
parser.parseExpression(chunkEEJSQEHC_cjs.BindingPower.Lowest, builder);
|
|
3822
3822
|
parser.consume("RATE_AT");
|
|
3823
|
-
parser.parseExpression(
|
|
3823
|
+
parser.parseExpression(chunkEEJSQEHC_cjs.BindingPower.Lowest, builder);
|
|
3824
3824
|
builder.emitOpcode(2 /* SWAP */);
|
|
3825
3825
|
builder.emitOpcode(51 /* CALL_BUILTIN */);
|
|
3826
3826
|
builder.emitIndex(this.builtinIndex);
|
|
@@ -3836,11 +3836,11 @@ var LoanRepaymentParselet = class {
|
|
|
3836
3836
|
this.category = "Finance";
|
|
3837
3837
|
}
|
|
3838
3838
|
parse(parser, _token, builder) {
|
|
3839
|
-
parser.parseExpression(
|
|
3839
|
+
parser.parseExpression(chunkEEJSQEHC_cjs.BindingPower.Lowest, builder);
|
|
3840
3840
|
parser.consume("OVER");
|
|
3841
|
-
parser.parseExpression(
|
|
3841
|
+
parser.parseExpression(chunkEEJSQEHC_cjs.BindingPower.Lowest, builder);
|
|
3842
3842
|
parser.consume("RATE_AT");
|
|
3843
|
-
parser.parseExpression(
|
|
3843
|
+
parser.parseExpression(chunkEEJSQEHC_cjs.BindingPower.Lowest, builder);
|
|
3844
3844
|
builder.emitOpcode(2 /* SWAP */);
|
|
3845
3845
|
builder.emitOpcode(10 /* PUSH_NUMBER */);
|
|
3846
3846
|
builder.emitNumber(this.periodsPerYear);
|
|
@@ -3857,9 +3857,9 @@ var SalesTaxParselet = class {
|
|
|
3857
3857
|
this.category = "Finance";
|
|
3858
3858
|
}
|
|
3859
3859
|
parse(parser, _token, builder) {
|
|
3860
|
-
parser.parseExpression(
|
|
3860
|
+
parser.parseExpression(chunkEEJSQEHC_cjs.BindingPower.Lowest, builder);
|
|
3861
3861
|
parser.consume("RATE_AT");
|
|
3862
|
-
parser.parseExpression(
|
|
3862
|
+
parser.parseExpression(chunkEEJSQEHC_cjs.BindingPower.Lowest, builder);
|
|
3863
3863
|
builder.emitOpcode(51 /* CALL_BUILTIN */);
|
|
3864
3864
|
builder.emitIndex(this.builtinIndex);
|
|
3865
3865
|
builder.emitIndex(2);
|
|
@@ -3913,10 +3913,10 @@ var InflationQueryParselet = class {
|
|
|
3913
3913
|
this.category = "Finance";
|
|
3914
3914
|
}
|
|
3915
3915
|
parse(parser, _token, builder) {
|
|
3916
|
-
parser.parseExpression(
|
|
3916
|
+
parser.parseExpression(chunkEEJSQEHC_cjs.BindingPower.Product, builder);
|
|
3917
3917
|
if (this.variant === "what-was") {
|
|
3918
3918
|
parser.consume("WORTH_IN");
|
|
3919
|
-
parser.parseExpression(
|
|
3919
|
+
parser.parseExpression(chunkEEJSQEHC_cjs.BindingPower.Lowest, builder);
|
|
3920
3920
|
builder.emitOpcode(50 /* CALL_PLUGIN */);
|
|
3921
3921
|
builder.emitIndex(INFLATION_TO_YEAR_FROM_PRESENT_IDX);
|
|
3922
3922
|
builder.emitIndex(2);
|
|
@@ -3925,7 +3925,7 @@ var InflationQueryParselet = class {
|
|
|
3925
3925
|
const next = parser.peek();
|
|
3926
3926
|
if (next?.type === "FROM") {
|
|
3927
3927
|
parser.consume();
|
|
3928
|
-
parser.parseExpression(
|
|
3928
|
+
parser.parseExpression(chunkEEJSQEHC_cjs.BindingPower.Lowest, builder);
|
|
3929
3929
|
builder.emitOpcode(50 /* CALL_PLUGIN */);
|
|
3930
3930
|
builder.emitIndex(INFLATION_FROM_YEAR_TO_PRESENT_IDX);
|
|
3931
3931
|
builder.emitIndex(2);
|
|
@@ -3933,9 +3933,9 @@ var InflationQueryParselet = class {
|
|
|
3933
3933
|
}
|
|
3934
3934
|
if (next?.type === "IN") {
|
|
3935
3935
|
parser.consume();
|
|
3936
|
-
parser.parseExpression(
|
|
3936
|
+
parser.parseExpression(chunkEEJSQEHC_cjs.BindingPower.Lowest, builder);
|
|
3937
3937
|
parser.consume("WORTH_IN");
|
|
3938
|
-
parser.parseExpression(
|
|
3938
|
+
parser.parseExpression(chunkEEJSQEHC_cjs.BindingPower.Lowest, builder);
|
|
3939
3939
|
builder.emitOpcode(51 /* CALL_BUILTIN */);
|
|
3940
3940
|
builder.emitIndex(INFLATION_ADJUST_BUILTIN_IDX);
|
|
3941
3941
|
builder.emitIndex(3);
|
|
@@ -3955,11 +3955,11 @@ var InflationFutureValueParselet = class {
|
|
|
3955
3955
|
this.category = "Finance";
|
|
3956
3956
|
}
|
|
3957
3957
|
parse(parser, _token, builder) {
|
|
3958
|
-
parser.parseExpression(
|
|
3958
|
+
parser.parseExpression(chunkEEJSQEHC_cjs.BindingPower.Product, builder);
|
|
3959
3959
|
parser.consume("IN");
|
|
3960
|
-
parser.parseExpression(
|
|
3960
|
+
parser.parseExpression(chunkEEJSQEHC_cjs.BindingPower.Lowest, builder);
|
|
3961
3961
|
parser.consume("ASSUMING");
|
|
3962
|
-
parser.parseExpression(
|
|
3962
|
+
parser.parseExpression(chunkEEJSQEHC_cjs.BindingPower.Lowest, builder);
|
|
3963
3963
|
const inflationToken = parser.peek();
|
|
3964
3964
|
const inflationWord = inflationToken && inflationToken.type === "IDENT" ? inflationToken.value.toLowerCase() : void 0;
|
|
3965
3965
|
if (inflationWord !== "inflation") {
|
|
@@ -4008,7 +4008,7 @@ function inYearDollarsNormalizerRule(priority = 70) {
|
|
|
4008
4008
|
if (word !== "dollars" && word !== "dollar") return null;
|
|
4009
4009
|
return {
|
|
4010
4010
|
consumed: 3,
|
|
4011
|
-
replacement: [
|
|
4011
|
+
replacement: [chunkCGIDYRAX_cjs.createFusedToken("IN_YEAR_DOLLARS", yearToken.value, tokens.slice(pos, pos + 3))],
|
|
4012
4012
|
ruleName: "finance:in-year-dollars"
|
|
4013
4013
|
};
|
|
4014
4014
|
}
|
|
@@ -4550,7 +4550,7 @@ var MAJOR_TICKERS = /* @__PURE__ */ new Set([
|
|
|
4550
4550
|
|
|
4551
4551
|
// src/packages/stocks/normalizer/StockTickerNormalizerRule.ts
|
|
4552
4552
|
var STOCK_TICKER_TYPE = "STOCK_TICKER";
|
|
4553
|
-
var STOCK_TICKER_TYPE_ID =
|
|
4553
|
+
var STOCK_TICKER_TYPE_ID = chunkFI4WDYSL_cjs.tokenTypeId(STOCK_TICKER_TYPE);
|
|
4554
4554
|
function stockTickerNormalizerRule() {
|
|
4555
4555
|
return {
|
|
4556
4556
|
name: "stocks:bare-ticker",
|
|
@@ -4560,7 +4560,7 @@ function stockTickerNormalizerRule() {
|
|
|
4560
4560
|
if (!token || token.type !== "IDENT") return null;
|
|
4561
4561
|
if (!MAJOR_TICKERS.has(token.value)) return null;
|
|
4562
4562
|
if (pos > 0 && tokens[pos - 1].type === "COLON") return null;
|
|
4563
|
-
const fusedToken = new
|
|
4563
|
+
const fusedToken = new chunk2R7SVDDB_cjs.LexerToken(
|
|
4564
4564
|
STOCK_TICKER_TYPE,
|
|
4565
4565
|
STOCK_TICKER_TYPE_ID,
|
|
4566
4566
|
token.value,
|
|
@@ -4629,7 +4629,7 @@ function finishStockExpression(parser, builder, ticker, currentFnIdx, historical
|
|
|
4629
4629
|
const suffix = tryParseDateSuffix(parser);
|
|
4630
4630
|
if (sawStar && !suffix) {
|
|
4631
4631
|
emitStockQuery(builder, ticker, null, currentFnIdx, historicalFnIdx);
|
|
4632
|
-
parser.parseExpression(
|
|
4632
|
+
parser.parseExpression(chunkEEJSQEHC_cjs.BindingPower.Product, builder);
|
|
4633
4633
|
builder.emitOpcode(22 /* MUL */);
|
|
4634
4634
|
return;
|
|
4635
4635
|
}
|
|
@@ -4966,9 +4966,9 @@ var AboveAggregateParselet = class {
|
|
|
4966
4966
|
};
|
|
4967
4967
|
|
|
4968
4968
|
// src/packages/lines/normalizer/LineRefNormalizerRule.ts
|
|
4969
|
-
var LINE_REF_TYPE_ID =
|
|
4970
|
-
var SUM_RANGE_CALL_TYPE_ID =
|
|
4971
|
-
var AVERAGE_RANGE_CALL_TYPE_ID =
|
|
4969
|
+
var LINE_REF_TYPE_ID = chunkFI4WDYSL_cjs.tokenTypeId("LINE_REF");
|
|
4970
|
+
var SUM_RANGE_CALL_TYPE_ID = chunkFI4WDYSL_cjs.tokenTypeId("SUM_RANGE_CALL");
|
|
4971
|
+
var AVERAGE_RANGE_CALL_TYPE_ID = chunkFI4WDYSL_cjs.tokenTypeId("AVERAGE_RANGE_CALL");
|
|
4972
4972
|
function lineRefNormalizerRule() {
|
|
4973
4973
|
return {
|
|
4974
4974
|
name: "lines:line-ref",
|
|
@@ -5005,7 +5005,7 @@ function lineRefNormalizerRule() {
|
|
|
5005
5005
|
};
|
|
5006
5006
|
}
|
|
5007
5007
|
function makeLineRefToken(lineNumberText, sourceToken) {
|
|
5008
|
-
return new
|
|
5008
|
+
return new chunk2R7SVDDB_cjs.LexerToken(
|
|
5009
5009
|
"LINE_REF",
|
|
5010
5010
|
LINE_REF_TYPE_ID,
|
|
5011
5011
|
lineNumberText,
|
|
@@ -5031,7 +5031,7 @@ function rangeCallNormalizerRule() {
|
|
|
5031
5031
|
return {
|
|
5032
5032
|
consumed: 1,
|
|
5033
5033
|
replacement: [
|
|
5034
|
-
new
|
|
5034
|
+
new chunk2R7SVDDB_cjs.LexerToken(tokenType, typeId, token.value, token.value, token.offset, 0, token.line, token.col)
|
|
5035
5035
|
],
|
|
5036
5036
|
ruleName: "lines:range-call"
|
|
5037
5037
|
};
|
|
@@ -5118,5 +5118,5 @@ exports.WEATHER_PACKAGE = WEATHER_PACKAGE;
|
|
|
5118
5118
|
exports.containsSymbolicCall = containsSymbolicCall;
|
|
5119
5119
|
exports.createKnowledgePackage = createKnowledgePackage;
|
|
5120
5120
|
exports.createStocksPackage = createStocksPackage;
|
|
5121
|
-
//# sourceMappingURL=chunk-
|
|
5122
|
-
//# sourceMappingURL=chunk-
|
|
5121
|
+
//# sourceMappingURL=chunk-BOAVE4FC.cjs.map
|
|
5122
|
+
//# sourceMappingURL=chunk-BOAVE4FC.cjs.map
|