simple-graph-query 1.2.0 → 1.2.2
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.
|
@@ -93,8 +93,8 @@ export declare class ForgeLexer extends Lexer {
|
|
|
93
93
|
static readonly EVAL_TOK = 88;
|
|
94
94
|
static readonly EXAMPLE_TOK = 89;
|
|
95
95
|
static readonly ARROW_TOK = 90;
|
|
96
|
-
static readonly
|
|
97
|
-
static readonly
|
|
96
|
+
static readonly GET_LABEL_TOK = 91;
|
|
97
|
+
static readonly EQ_TOK = 92;
|
|
98
98
|
static readonly LT_TOK = 93;
|
|
99
99
|
static readonly GT_TOK = 94;
|
|
100
100
|
static readonly LEQ_TOK = 95;
|
|
@@ -99,8 +99,8 @@ export declare class ForgeParser extends Parser {
|
|
|
99
99
|
static readonly EVAL_TOK = 88;
|
|
100
100
|
static readonly EXAMPLE_TOK = 89;
|
|
101
101
|
static readonly ARROW_TOK = 90;
|
|
102
|
-
static readonly
|
|
103
|
-
static readonly
|
|
102
|
+
static readonly GET_LABEL_TOK = 91;
|
|
103
|
+
static readonly EQ_TOK = 92;
|
|
104
104
|
static readonly LT_TOK = 93;
|
|
105
105
|
static readonly GT_TOK = 94;
|
|
106
106
|
static readonly LEQ_TOK = 95;
|
|
@@ -770,7 +770,6 @@ export declare class ArrowOpContext extends ParserRuleContext {
|
|
|
770
770
|
export declare class CompareOpContext extends ParserRuleContext {
|
|
771
771
|
IN_TOK(): TerminalNode | undefined;
|
|
772
772
|
EQ_TOK(): TerminalNode | undefined;
|
|
773
|
-
LABEL_EQ_TOK(): TerminalNode | undefined;
|
|
774
773
|
LT_TOK(): TerminalNode | undefined;
|
|
775
774
|
GT_TOK(): TerminalNode | undefined;
|
|
776
775
|
LEQ_TOK(): TerminalNode | undefined;
|
|
@@ -1166,6 +1165,7 @@ export declare class Expr17Context extends ParserRuleContext {
|
|
|
1166
1165
|
TILDE_TOK(): TerminalNode | undefined;
|
|
1167
1166
|
EXP_TOK(): TerminalNode | undefined;
|
|
1168
1167
|
STAR_TOK(): TerminalNode | undefined;
|
|
1168
|
+
GET_LABEL_TOK(): TerminalNode | undefined;
|
|
1169
1169
|
constructor(parent: ParserRuleContext | undefined, invokingState: number);
|
|
1170
1170
|
get ruleIndex(): number;
|
|
1171
1171
|
enterRule(listener: ForgeListener): void;
|
|
@@ -48630,7 +48630,7 @@ class ForgeExprEvaluator extends AbstractParseTreeVisitor_1.AbstractParseTreeVis
|
|
|
48630
48630
|
keys.sort(); // sort the keys to ensure consistent ordering
|
|
48631
48631
|
return keys.map((key) => `${key}=${freeVarValues[key]}`).join("|");
|
|
48632
48632
|
}
|
|
48633
|
-
// helper function to get the label for a value (used for
|
|
48633
|
+
// helper function to get the label for a value (used for @: operator)
|
|
48634
48634
|
getLabelForValue(value) {
|
|
48635
48635
|
// For primitive values (numbers, booleans), the label is the value itself
|
|
48636
48636
|
if (typeof value === "number" || typeof value === "boolean") {
|
|
@@ -49211,59 +49211,6 @@ class ForgeExprEvaluator extends AbstractParseTreeVisitor_1.AbstractParseTreeVis
|
|
|
49211
49211
|
throw new Error("unexpected error: equality operand is not a well defined forge value!");
|
|
49212
49212
|
}
|
|
49213
49213
|
break;
|
|
49214
|
-
case "==":
|
|
49215
|
-
// Label comparison - works similarly to ID comparison but compares labels instead
|
|
49216
|
-
if (isSingleValue(leftChildValue) && isSingleValue(rightChildValue)) {
|
|
49217
|
-
const leftLabel = this.getLabelForValue(leftChildValue);
|
|
49218
|
-
const rightLabel = this.getLabelForValue(rightChildValue);
|
|
49219
|
-
results = leftLabel === rightLabel;
|
|
49220
|
-
}
|
|
49221
|
-
else if (isSingleValue(leftChildValue) && isTupleArray(rightChildValue)) {
|
|
49222
|
-
if (rightChildValue.length === 1 &&
|
|
49223
|
-
rightChildValue[0].length === 1) {
|
|
49224
|
-
const leftLabel = this.getLabelForValue(leftChildValue);
|
|
49225
|
-
const rightLabel = this.getLabelForValue(rightChildValue[0][0]);
|
|
49226
|
-
results = leftLabel === rightLabel;
|
|
49227
|
-
}
|
|
49228
|
-
else {
|
|
49229
|
-
results = false;
|
|
49230
|
-
}
|
|
49231
|
-
}
|
|
49232
|
-
else if (isTupleArray(leftChildValue) && isSingleValue(rightChildValue)) {
|
|
49233
|
-
if (leftChildValue.length === 1 && leftChildValue[0].length === 1) {
|
|
49234
|
-
const leftLabel = this.getLabelForValue(leftChildValue[0][0]);
|
|
49235
|
-
const rightLabel = this.getLabelForValue(rightChildValue);
|
|
49236
|
-
results = leftLabel === rightLabel;
|
|
49237
|
-
}
|
|
49238
|
-
else {
|
|
49239
|
-
results = false;
|
|
49240
|
-
}
|
|
49241
|
-
}
|
|
49242
|
-
else if (isTupleArray(leftChildValue) && isTupleArray(rightChildValue)) {
|
|
49243
|
-
// Compare labels for tuple arrays
|
|
49244
|
-
if (leftChildValue.length !== rightChildValue.length) {
|
|
49245
|
-
results = false;
|
|
49246
|
-
}
|
|
49247
|
-
else {
|
|
49248
|
-
results = leftChildValue.every((leftTuple, i) => {
|
|
49249
|
-
const rightTuple = rightChildValue[i];
|
|
49250
|
-
if (leftTuple.length !== rightTuple.length) {
|
|
49251
|
-
return false;
|
|
49252
|
-
}
|
|
49253
|
-
return leftTuple.every((leftVal, j) => {
|
|
49254
|
-
const rightVal = rightTuple[j];
|
|
49255
|
-
const leftLabel = this.getLabelForValue(leftVal);
|
|
49256
|
-
const rightLabel = this.getLabelForValue(rightVal);
|
|
49257
|
-
return leftLabel === rightLabel;
|
|
49258
|
-
});
|
|
49259
|
-
});
|
|
49260
|
-
}
|
|
49261
|
-
}
|
|
49262
|
-
else {
|
|
49263
|
-
// NOTE: we should never actually get here
|
|
49264
|
-
throw new Error("unexpected error: label equality operand is not a well defined forge value!");
|
|
49265
|
-
}
|
|
49266
|
-
break;
|
|
49267
49214
|
case "<":
|
|
49268
49215
|
if (leftNum === undefined || rightNum === undefined) {
|
|
49269
49216
|
throw new Error(`Expected the < operator to have 2 number operands (number or [[number]]), got ${typeof leftChildValue} and ${typeof rightChildValue}!`);
|
|
@@ -49636,7 +49583,49 @@ class ForgeExprEvaluator extends AbstractParseTreeVisitor_1.AbstractParseTreeVis
|
|
|
49636
49583
|
visitExpr17(ctx) {
|
|
49637
49584
|
//console.log('visiting expr17:', ctx.text);
|
|
49638
49585
|
let results = [];
|
|
49586
|
+
// Handle @: operator FIRST, before visitChildren
|
|
49587
|
+
if (ctx.GET_LABEL_TOK()) {
|
|
49588
|
+
// @: operator - get label for value
|
|
49589
|
+
// For @: operator, we need to handle unknown identifiers specially
|
|
49590
|
+
const innerExpr = ctx.expr17();
|
|
49591
|
+
if (!innerExpr) {
|
|
49592
|
+
throw new Error("@: operator requires an expression");
|
|
49593
|
+
}
|
|
49594
|
+
try {
|
|
49595
|
+
const innerResult = this.visit(innerExpr);
|
|
49596
|
+
// Special case: if result is empty array, it means unknown identifier, so use the text
|
|
49597
|
+
if (isTupleArray(innerResult) && innerResult.length === 0) {
|
|
49598
|
+
return innerExpr.text;
|
|
49599
|
+
}
|
|
49600
|
+
if (isSingleValue(innerResult)) {
|
|
49601
|
+
return this.getLabelForValue(innerResult);
|
|
49602
|
+
}
|
|
49603
|
+
else if (isTupleArray(innerResult)) {
|
|
49604
|
+
// For single-element tuple arrays, return the label of the element
|
|
49605
|
+
if (innerResult.length === 1 && innerResult[0].length === 1) {
|
|
49606
|
+
return this.getLabelForValue(innerResult[0][0]);
|
|
49607
|
+
}
|
|
49608
|
+
// For multi-element cases, apply getLabelForValue to each tuple element
|
|
49609
|
+
return innerResult.map((tuple) => tuple.map((value) => this.getLabelForValue(value)));
|
|
49610
|
+
}
|
|
49611
|
+
throw new Error("@: operator can only be applied to single values or tuple arrays");
|
|
49612
|
+
}
|
|
49613
|
+
catch (error) {
|
|
49614
|
+
// If evaluation fails due to unknown identifier, use the text as the label
|
|
49615
|
+
if (error instanceof NameNotFoundError) {
|
|
49616
|
+
// Extract the identifier from the inner expression
|
|
49617
|
+
// The inner expression might be "(black)" so we need to get the actual identifier
|
|
49618
|
+
let identifierText = innerExpr.text;
|
|
49619
|
+
if (identifierText.startsWith('(') && identifierText.endsWith(')')) {
|
|
49620
|
+
identifierText = identifierText.slice(1, -1);
|
|
49621
|
+
}
|
|
49622
|
+
return identifierText;
|
|
49623
|
+
}
|
|
49624
|
+
throw error;
|
|
49625
|
+
}
|
|
49626
|
+
}
|
|
49639
49627
|
const childrenResults = this.visitChildren(ctx);
|
|
49628
|
+
//console.log('visitChildren result for', ctx.text, ':', childrenResults);
|
|
49640
49629
|
if (ctx.TILDE_TOK()) {
|
|
49641
49630
|
// this flips the order of the elements in the tuples of a relation if
|
|
49642
49631
|
// the relation has arity 2
|
|
@@ -49729,6 +49718,13 @@ class ForgeExprEvaluator extends AbstractParseTreeVisitor_1.AbstractParseTreeVis
|
|
|
49729
49718
|
// }
|
|
49730
49719
|
return value;
|
|
49731
49720
|
}
|
|
49721
|
+
// Handle boolean constants
|
|
49722
|
+
if (constant.text === 'true') {
|
|
49723
|
+
return true;
|
|
49724
|
+
}
|
|
49725
|
+
if (constant.text === 'false') {
|
|
49726
|
+
return false;
|
|
49727
|
+
}
|
|
49732
49728
|
return `${constant.text}`;
|
|
49733
49729
|
}
|
|
49734
49730
|
if (ctx.qualName()) {
|
|
@@ -49965,6 +49961,14 @@ class ForgeExprEvaluator extends AbstractParseTreeVisitor_1.AbstractParseTreeVis
|
|
|
49965
49961
|
if (exports.SUPPORTED_BUILTINS.includes(identifier)) {
|
|
49966
49962
|
return identifier;
|
|
49967
49963
|
}
|
|
49964
|
+
// Check if this looks like a simple label identifier (for label comparison)
|
|
49965
|
+
// Heuristic: simple lowercase words that look like color/state names
|
|
49966
|
+
const labelLikePattern = /^[a-z]{3,10}$/; // 3-10 lowercase letters only
|
|
49967
|
+
if (labelLikePattern.test(identifier)) {
|
|
49968
|
+
// This looks like a simple label (e.g., "black", "red", "blue", etc.)
|
|
49969
|
+
// Return it as a string literal to enable label comparison syntax
|
|
49970
|
+
return identifier;
|
|
49971
|
+
}
|
|
49968
49972
|
throw new NameNotFoundError(`bad name ${identifier} referenced!`);
|
|
49969
49973
|
}
|
|
49970
49974
|
visitQualName(ctx) {
|
|
@@ -50620,8 +50624,8 @@ ForgeLexer.INST_TOK = 87;
|
|
|
50620
50624
|
ForgeLexer.EVAL_TOK = 88;
|
|
50621
50625
|
ForgeLexer.EXAMPLE_TOK = 89;
|
|
50622
50626
|
ForgeLexer.ARROW_TOK = 90;
|
|
50623
|
-
ForgeLexer.
|
|
50624
|
-
ForgeLexer.
|
|
50627
|
+
ForgeLexer.GET_LABEL_TOK = 91;
|
|
50628
|
+
ForgeLexer.EQ_TOK = 92;
|
|
50625
50629
|
ForgeLexer.LT_TOK = 93;
|
|
50626
50630
|
ForgeLexer.GT_TOK = 94;
|
|
50627
50631
|
ForgeLexer.LEQ_TOK = 95;
|
|
@@ -50664,8 +50668,8 @@ ForgeLexer.ruleNames = [
|
|
|
50664
50668
|
"EVENTUALLY_TOK", "AFTER_TOK", "BEFORE_TOK", "ONCE_TOK", "HISTORICALLY_TOK",
|
|
50665
50669
|
"CARD_TOK", "PPLUS_TOK", "AMP_TOK", "SUBT_TOK", "SUPT_TOK", "PRIME_TOK",
|
|
50666
50670
|
"TILDE_TOK", "EXP_TOK", "STAR_TOK", "AT_TOK", "BACKQUOTE_TOK", "THIS_TOK",
|
|
50667
|
-
"SEXPR_TOK", "INST_TOK", "EVAL_TOK", "EXAMPLE_TOK", "ARROW_TOK", "
|
|
50668
|
-
"
|
|
50671
|
+
"SEXPR_TOK", "INST_TOK", "EVAL_TOK", "EXAMPLE_TOK", "ARROW_TOK", "GET_LABEL_TOK",
|
|
50672
|
+
"EQ_TOK", "LT_TOK", "GT_TOK", "LEQ_TOK", "GEQ_TOK", "NI_TOK", "NO_TOK",
|
|
50669
50673
|
"SUM_TOK", "INT_TOK", "OPTION_TOK", "COMMA_TOK", "SLASH_TOK", "NUM_CONST_TOK",
|
|
50670
50674
|
"IDENTIFIER_TOK", "WS", "CCOMMENT", "COMMENT", "MULTCOMMENT", "LANG_DECL",
|
|
50671
50675
|
];
|
|
@@ -50682,7 +50686,7 @@ ForgeLexer._LITERAL_NAMES = [
|
|
|
50682
50686
|
"'since'", "'triggered'", undefined, "'always'", "'eventually'", "'after'",
|
|
50683
50687
|
"'before'", "'once'", "'historically'", "'#'", "'++'", "'&'", "'<:'",
|
|
50684
50688
|
"':>'", "'''", "'~'", "'^'", "'*'", "'@'", "'`'", "'this'", "'sexpr'",
|
|
50685
|
-
"'inst'", "'eval'", "'example'", "'->'", "'
|
|
50689
|
+
"'inst'", "'eval'", "'example'", "'->'", "'@:'", "'='", "'<'", "'>'",
|
|
50686
50690
|
undefined, "'>='", "'ni'", "'no'", "'sum'", "'Int'", "'option'", "','",
|
|
50687
50691
|
"'/'",
|
|
50688
50692
|
];
|
|
@@ -50702,8 +50706,8 @@ ForgeLexer._SYMBOLIC_NAMES = [
|
|
|
50702
50706
|
"EVENTUALLY_TOK", "AFTER_TOK", "BEFORE_TOK", "ONCE_TOK", "HISTORICALLY_TOK",
|
|
50703
50707
|
"CARD_TOK", "PPLUS_TOK", "AMP_TOK", "SUBT_TOK", "SUPT_TOK", "PRIME_TOK",
|
|
50704
50708
|
"TILDE_TOK", "EXP_TOK", "STAR_TOK", "AT_TOK", "BACKQUOTE_TOK", "THIS_TOK",
|
|
50705
|
-
"SEXPR_TOK", "INST_TOK", "EVAL_TOK", "EXAMPLE_TOK", "ARROW_TOK", "
|
|
50706
|
-
"
|
|
50709
|
+
"SEXPR_TOK", "INST_TOK", "EVAL_TOK", "EXAMPLE_TOK", "ARROW_TOK", "GET_LABEL_TOK",
|
|
50710
|
+
"EQ_TOK", "LT_TOK", "GT_TOK", "LEQ_TOK", "GEQ_TOK", "NI_TOK", "NO_TOK",
|
|
50707
50711
|
"SUM_TOK", "INT_TOK", "OPTION_TOK", "COMMA_TOK", "SLASH_TOK", "NUM_CONST_TOK",
|
|
50708
50712
|
"IDENTIFIER_TOK", "WS", "CCOMMENT", "COMMENT", "MULTCOMMENT", "LANG_DECL",
|
|
50709
50713
|
];
|
|
@@ -50763,30 +50767,30 @@ ForgeLexer._serializedATNSegment0 = "\x03\uC91D\uCABA\u058D\uAFBA\u4F53\u0607\uE
|
|
|
50763
50767
|
"N\x03N\x03N\x03O\x03O\x03O\x03P\x03P\x03Q\x03Q\x03R\x03R\x03S\x03S\x03" +
|
|
50764
50768
|
"T\x03T\x03U\x03U\x03V\x03V\x03V\x03V\x03V\x03W\x03W\x03W\x03W\x03W\x03" +
|
|
50765
50769
|
"W\x03X\x03X\x03X\x03X\x03X\x03Y\x03Y\x03Y\x03Y\x03Y\x03Z\x03Z\x03Z\x03" +
|
|
50766
|
-
"Z\x03Z\x03Z\x03Z\x03Z\x03[\x03[\x03[\x03\\\x03\\\x03
|
|
50767
|
-
"^\x03_\x03_\x03`\x03`\x03`\x03`\x05`\u02C8\n`\x03a\x03a\x03a\x03b
|
|
50768
|
-
"
|
|
50769
|
-
"f\x03f\x03f\x03f\x03f\x03f\x03g\x03g\x03h\x03h\x03i\x06i\u02E7\
|
|
50770
|
-
"i\u02E8\x03j\x03j\x07j\u02ED\nj\fj\x0Ej\u02F0\vj\x03k\x06k\u02F3
|
|
50771
|
-
"
|
|
50772
|
-
"\vl\x03l\x03l\x03m\x03m\x03m\x03m\x07m\u0308\nm\fm\x0Em\u030B\
|
|
50773
|
-
"\x03m\x03n\x03n\x03n\x03n\x07n\u0313\nn\fn\x0En\u0316\vn\x03n\
|
|
50774
|
-
"n\x03n\x03n\x03o\x03o\x03o\x03o\x03o\x03o\x03o\x07o\u0324\no\fo\
|
|
50775
|
-
"\vo\x03o\x03o\x03\u0314\x02\x02p\x03\x02\x03\x05\x02\x04\x07\x02
|
|
50776
|
-
"\x02\x06\v\x02\x07\r\x02\b\x0F\x02\t\x11\x02\n\x13\x02\v\x15\x02
|
|
50777
|
-
"\x02\r\x19\x02\x0E\x1B\x02\x0F\x1D\x02\x10\x1F\x02\x11!\x02\x12
|
|
50778
|
-
"%\x02\x14\'\x02\x15)\x02\x16+\x02\x17-\x02\x18/\x02\x191\x02
|
|
50779
|
-
"\x1B5\x02\x1C7\x02\x1D9\x02\x1E;\x02\x1F=\x02 ?\x02!A\x02\"C
|
|
50780
|
-
"$G\x02%I\x02&K\x02\'M\x02(O\x02)Q\x02*S\x02+U\x02,W\x02-Y\x02
|
|
50781
|
-
"\x020_\x021a\x022c\x023e\x024g\x025i\x026k\x027m\x028o\x029q\x02
|
|
50782
|
-
";u\x02<w\x02=y\x02>{\x02?}\x02@\x7F\x02A\x81\x02B\x83\x02C\x85\
|
|
50783
|
-
"\x02E\x89\x02F\x8B\x02G\x8D\x02H\x8F\x02I\x91\x02J\x93\x02K\x95\
|
|
50784
|
-
"\x02M\x99\x02N\x9B\x02O\x9D\x02P\x9F\x02Q\xA1\x02R\xA3\x02S\xA5\
|
|
50785
|
-
"\x02U\xA9\x02V\xAB\x02W\xAD\x02X\xAF\x02Y\xB1\x02Z\xB3\x02[\xB5\x02
|
|
50786
|
-
"
|
|
50787
|
-
"
|
|
50788
|
-
"
|
|
50789
|
-
"
|
|
50770
|
+
"Z\x03Z\x03Z\x03Z\x03Z\x03[\x03[\x03[\x03\\\x03\\\x03\\\x03]\x03]\x03^" +
|
|
50771
|
+
"\x03^\x03_\x03_\x03`\x03`\x03`\x03`\x05`\u02C8\n`\x03a\x03a\x03a\x03b" +
|
|
50772
|
+
"\x03b\x03b\x03c\x03c\x03c\x03d\x03d\x03d\x03d\x03e\x03e\x03e\x03e\x03" +
|
|
50773
|
+
"f\x03f\x03f\x03f\x03f\x03f\x03f\x03g\x03g\x03h\x03h\x03i\x06i\u02E7\n" +
|
|
50774
|
+
"i\ri\x0Ei\u02E8\x03j\x03j\x07j\u02ED\nj\fj\x0Ej\u02F0\vj\x03k\x06k\u02F3" +
|
|
50775
|
+
"\nk\rk\x0Ek\u02F4\x03k\x03k\x03l\x03l\x03l\x03l\x07l\u02FD\nl\fl\x0El" +
|
|
50776
|
+
"\u0300\vl\x03l\x03l\x03m\x03m\x03m\x03m\x07m\u0308\nm\fm\x0Em\u030B\v" +
|
|
50777
|
+
"m\x03m\x03m\x03n\x03n\x03n\x03n\x07n\u0313\nn\fn\x0En\u0316\vn\x03n\x03" +
|
|
50778
|
+
"n\x03n\x03n\x03n\x03o\x03o\x03o\x03o\x03o\x03o\x03o\x07o\u0324\no\fo\x0E" +
|
|
50779
|
+
"o\u0327\vo\x03o\x03o\x03\u0314\x02\x02p\x03\x02\x03\x05\x02\x04\x07\x02" +
|
|
50780
|
+
"\x05\t\x02\x06\v\x02\x07\r\x02\b\x0F\x02\t\x11\x02\n\x13\x02\v\x15\x02" +
|
|
50781
|
+
"\f\x17\x02\r\x19\x02\x0E\x1B\x02\x0F\x1D\x02\x10\x1F\x02\x11!\x02\x12" +
|
|
50782
|
+
"#\x02\x13%\x02\x14\'\x02\x15)\x02\x16+\x02\x17-\x02\x18/\x02\x191\x02" +
|
|
50783
|
+
"\x1A3\x02\x1B5\x02\x1C7\x02\x1D9\x02\x1E;\x02\x1F=\x02 ?\x02!A\x02\"C" +
|
|
50784
|
+
"\x02#E\x02$G\x02%I\x02&K\x02\'M\x02(O\x02)Q\x02*S\x02+U\x02,W\x02-Y\x02" +
|
|
50785
|
+
".[\x02/]\x020_\x021a\x022c\x023e\x024g\x025i\x026k\x027m\x028o\x029q\x02" +
|
|
50786
|
+
":s\x02;u\x02<w\x02=y\x02>{\x02?}\x02@\x7F\x02A\x81\x02B\x83\x02C\x85\x02" +
|
|
50787
|
+
"D\x87\x02E\x89\x02F\x8B\x02G\x8D\x02H\x8F\x02I\x91\x02J\x93\x02K\x95\x02" +
|
|
50788
|
+
"L\x97\x02M\x99\x02N\x9B\x02O\x9D\x02P\x9F\x02Q\xA1\x02R\xA3\x02S\xA5\x02" +
|
|
50789
|
+
"T\xA7\x02U\xA9\x02V\xAB\x02W\xAD\x02X\xAF\x02Y\xB1\x02Z\xB3\x02[\xB5\x02" +
|
|
50790
|
+
"\\\xB7\x02]\xB9\x02^\xBB\x02_\xBD\x02`\xBF\x02a\xC1\x02b\xC3\x02c\xC5" +
|
|
50791
|
+
"\x02d\xC7\x02e\xC9\x02f\xCB\x02g\xCD\x02h\xCF\x02i\xD1\x02j\xD3\x02k\xD5" +
|
|
50792
|
+
"\x02l\xD7\x02m\xD9\x02n\xDB\x02o\xDD\x02p\x03\x02\b\x04\x02$$^^\x03\x02" +
|
|
50793
|
+
"2;\x07\x02&&11C\\aac|\x07\x02&&1;C\\aac|\x05\x02\v\f\x0F\x0F\"\"\x04\x02" +
|
|
50790
50794
|
"\f\f\x0F\x0F\x02\u0338\x02\x03\x03\x02\x02\x02\x02\x05\x03\x02\x02\x02" +
|
|
50791
50795
|
"\x02\x07\x03\x02\x02\x02\x02\t\x03\x02\x02\x02\x02\v\x03\x02\x02\x02\x02" +
|
|
50792
50796
|
"\r\x03\x02\x02\x02\x02\x0F\x03\x02\x02\x02\x02\x11\x03\x02\x02\x02\x02" +
|
|
@@ -50853,7 +50857,7 @@ ForgeLexer._serializedATNSegment0 = "\x03\uC91D\uCABA\u058D\uAFBA\u4F53\u0607\uE
|
|
|
50853
50857
|
"\u0294\x03\x02\x02\x02\xA7\u0296\x03\x02\x02\x02\xA9\u0298\x03\x02\x02" +
|
|
50854
50858
|
"\x02\xAB\u029A\x03\x02\x02\x02\xAD\u029F\x03\x02\x02\x02\xAF\u02A5\x03" +
|
|
50855
50859
|
"\x02\x02\x02\xB1\u02AA\x03\x02\x02\x02\xB3\u02AF\x03\x02\x02\x02\xB5\u02B7" +
|
|
50856
|
-
"\x03\x02\x02\x02\xB7\u02BA\x03\x02\x02\x02\xB9\
|
|
50860
|
+
"\x03\x02\x02\x02\xB7\u02BA\x03\x02\x02\x02\xB9\u02BD\x03\x02\x02\x02\xBB" +
|
|
50857
50861
|
"\u02BF\x03\x02\x02\x02\xBD\u02C1\x03\x02\x02\x02\xBF\u02C7\x03\x02\x02" +
|
|
50858
50862
|
"\x02\xC1\u02C9\x03\x02\x02\x02\xC3\u02CC\x03\x02\x02\x02\xC5\u02CF\x03" +
|
|
50859
50863
|
"\x02\x02\x02\xC7\u02D2\x03\x02\x02\x02\xC9\u02D6\x03\x02\x02\x02\xCB\u02DA" +
|
|
@@ -51030,8 +51034,8 @@ ForgeLexer._serializedATNSegment1 = "\x02\x02\u01EF\u01F0\x07u\x02\x02\u01F0\u01
|
|
|
51030
51034
|
"\u02B0\u02B1\x07z\x02\x02\u02B1\u02B2\x07c\x02\x02\u02B2\u02B3\x07o\x02" +
|
|
51031
51035
|
"\x02\u02B3\u02B4\x07r\x02\x02\u02B4\u02B5\x07n\x02\x02\u02B5\u02B6\x07" +
|
|
51032
51036
|
"g\x02\x02\u02B6\xB4\x03\x02\x02\x02\u02B7\u02B8\x07/\x02\x02\u02B8\u02B9" +
|
|
51033
|
-
"\x07@\x02\x02\u02B9\xB6\x03\x02\x02\x02\u02BA\u02BB\
|
|
51034
|
-
"\
|
|
51037
|
+
"\x07@\x02\x02\u02B9\xB6\x03\x02\x02\x02\u02BA\u02BB\x07B\x02\x02\u02BB" +
|
|
51038
|
+
"\u02BC\x07<\x02\x02\u02BC\xB8\x03\x02\x02\x02\u02BD\u02BE\x07?\x02\x02" +
|
|
51035
51039
|
"\u02BE\xBA\x03\x02\x02\x02\u02BF\u02C0\x07>\x02\x02\u02C0\xBC\x03\x02" +
|
|
51036
51040
|
"\x02\x02\u02C1\u02C2\x07@\x02\x02\u02C2\xBE\x03\x02\x02\x02\u02C3\u02C4" +
|
|
51037
51041
|
"\x07>\x02\x02\u02C4\u02C8\x07?\x02\x02\u02C5\u02C6\x07?\x02\x02\u02C6" +
|
|
@@ -53356,6 +53360,7 @@ class ForgeParser extends Parser_1.Parser {
|
|
|
53356
53360
|
case ForgeParser.BACKQUOTE_TOK:
|
|
53357
53361
|
case ForgeParser.THIS_TOK:
|
|
53358
53362
|
case ForgeParser.SEXPR_TOK:
|
|
53363
|
+
case ForgeParser.GET_LABEL_TOK:
|
|
53359
53364
|
case ForgeParser.SUM_TOK:
|
|
53360
53365
|
case ForgeParser.INT_TOK:
|
|
53361
53366
|
case ForgeParser.NUM_CONST_TOK:
|
|
@@ -53391,7 +53396,7 @@ class ForgeParser extends Parser_1.Parser {
|
|
|
53391
53396
|
{
|
|
53392
53397
|
this.state = 526;
|
|
53393
53398
|
_la = this._input.LA(1);
|
|
53394
|
-
if (!(_la === ForgeParser.IN_TOK || _la === ForgeParser.IS_TOK || ((((_la -
|
|
53399
|
+
if (!(_la === ForgeParser.IN_TOK || _la === ForgeParser.IS_TOK || ((((_la - 92)) & ~0x1F) === 0 && ((1 << (_la - 92)) & ((1 << (ForgeParser.EQ_TOK - 92)) | (1 << (ForgeParser.LT_TOK - 92)) | (1 << (ForgeParser.GT_TOK - 92)) | (1 << (ForgeParser.LEQ_TOK - 92)) | (1 << (ForgeParser.GEQ_TOK - 92)) | (1 << (ForgeParser.NI_TOK - 92)))) !== 0))) {
|
|
53395
53400
|
this._errHandler.recoverInline(this);
|
|
53396
53401
|
}
|
|
53397
53402
|
else {
|
|
@@ -53461,7 +53466,7 @@ class ForgeParser extends Parser_1.Parser {
|
|
|
53461
53466
|
this.state = 536;
|
|
53462
53467
|
this._errHandler.sync(this);
|
|
53463
53468
|
_la = this._input.LA(1);
|
|
53464
|
-
while (((((_la - 9)) & ~0x1F) === 0 && ((1 << (_la - 9)) & ((1 << (ForgeParser.LEFT_CURLY_TOK - 9)) | (1 << (ForgeParser.LONE_TOK - 9)) | (1 << (ForgeParser.SOME_TOK - 9)) | (1 << (ForgeParser.ONE_TOK - 9)) | (1 << (ForgeParser.TWO_TOK - 9)) | (1 << (ForgeParser.SET_TOK - 9)) | (1 << (ForgeParser.LEFT_PAREN_TOK - 9)) | (1 << (ForgeParser.NONE_TOK - 9)) | (1 << (ForgeParser.UNIV_TOK - 9)) | (1 << (ForgeParser.IDEN_TOK - 9)) | (1 << (ForgeParser.MINUS_TOK - 9)))) !== 0) || ((((_la - 49)) & ~0x1F) === 0 && ((1 << (_la - 49)) & ((1 << (ForgeParser.ALL_TOK - 49)) | (1 << (ForgeParser.LET_TOK - 49)) | (1 << (ForgeParser.BIND_TOK - 49)) | (1 << (ForgeParser.NEG_TOK - 49)) | (1 << (ForgeParser.ALWAYS_TOK - 49)) | (1 << (ForgeParser.EVENTUALLY_TOK - 49)) | (1 << (ForgeParser.AFTER_TOK - 49)) | (1 << (ForgeParser.BEFORE_TOK - 49)) | (1 << (ForgeParser.ONCE_TOK - 49)) | (1 << (ForgeParser.HISTORICALLY_TOK - 49)) | (1 << (ForgeParser.CARD_TOK - 49)) | (1 << (ForgeParser.TILDE_TOK - 49)))) !== 0) || ((((_la - 81)) & ~0x1F) === 0 && ((1 << (_la - 81)) & ((1 << (ForgeParser.EXP_TOK - 81)) | (1 << (ForgeParser.STAR_TOK - 81)) | (1 << (ForgeParser.AT_TOK - 81)) | (1 << (ForgeParser.BACKQUOTE_TOK - 81)) | (1 << (ForgeParser.THIS_TOK - 81)) | (1 << (ForgeParser.SEXPR_TOK - 81)) | (1 << (ForgeParser.NO_TOK - 81)) | (1 << (ForgeParser.SUM_TOK - 81)) | (1 << (ForgeParser.INT_TOK - 81)) | (1 << (ForgeParser.NUM_CONST_TOK - 81)) | (1 << (ForgeParser.IDENTIFIER_TOK - 81)))) !== 0)) {
|
|
53469
|
+
while (((((_la - 9)) & ~0x1F) === 0 && ((1 << (_la - 9)) & ((1 << (ForgeParser.LEFT_CURLY_TOK - 9)) | (1 << (ForgeParser.LONE_TOK - 9)) | (1 << (ForgeParser.SOME_TOK - 9)) | (1 << (ForgeParser.ONE_TOK - 9)) | (1 << (ForgeParser.TWO_TOK - 9)) | (1 << (ForgeParser.SET_TOK - 9)) | (1 << (ForgeParser.LEFT_PAREN_TOK - 9)) | (1 << (ForgeParser.NONE_TOK - 9)) | (1 << (ForgeParser.UNIV_TOK - 9)) | (1 << (ForgeParser.IDEN_TOK - 9)) | (1 << (ForgeParser.MINUS_TOK - 9)))) !== 0) || ((((_la - 49)) & ~0x1F) === 0 && ((1 << (_la - 49)) & ((1 << (ForgeParser.ALL_TOK - 49)) | (1 << (ForgeParser.LET_TOK - 49)) | (1 << (ForgeParser.BIND_TOK - 49)) | (1 << (ForgeParser.NEG_TOK - 49)) | (1 << (ForgeParser.ALWAYS_TOK - 49)) | (1 << (ForgeParser.EVENTUALLY_TOK - 49)) | (1 << (ForgeParser.AFTER_TOK - 49)) | (1 << (ForgeParser.BEFORE_TOK - 49)) | (1 << (ForgeParser.ONCE_TOK - 49)) | (1 << (ForgeParser.HISTORICALLY_TOK - 49)) | (1 << (ForgeParser.CARD_TOK - 49)) | (1 << (ForgeParser.TILDE_TOK - 49)))) !== 0) || ((((_la - 81)) & ~0x1F) === 0 && ((1 << (_la - 81)) & ((1 << (ForgeParser.EXP_TOK - 81)) | (1 << (ForgeParser.STAR_TOK - 81)) | (1 << (ForgeParser.AT_TOK - 81)) | (1 << (ForgeParser.BACKQUOTE_TOK - 81)) | (1 << (ForgeParser.THIS_TOK - 81)) | (1 << (ForgeParser.SEXPR_TOK - 81)) | (1 << (ForgeParser.GET_LABEL_TOK - 81)) | (1 << (ForgeParser.NO_TOK - 81)) | (1 << (ForgeParser.SUM_TOK - 81)) | (1 << (ForgeParser.INT_TOK - 81)) | (1 << (ForgeParser.NUM_CONST_TOK - 81)) | (1 << (ForgeParser.IDENTIFIER_TOK - 81)))) !== 0)) {
|
|
53465
53470
|
{
|
|
53466
53471
|
{
|
|
53467
53472
|
this.state = 533;
|
|
@@ -54601,6 +54606,7 @@ class ForgeParser extends Parser_1.Parser {
|
|
|
54601
54606
|
case ForgeParser.BACKQUOTE_TOK:
|
|
54602
54607
|
case ForgeParser.THIS_TOK:
|
|
54603
54608
|
case ForgeParser.SEXPR_TOK:
|
|
54609
|
+
case ForgeParser.GET_LABEL_TOK:
|
|
54604
54610
|
case ForgeParser.NO_TOK:
|
|
54605
54611
|
case ForgeParser.SUM_TOK:
|
|
54606
54612
|
case ForgeParser.INT_TOK:
|
|
@@ -54792,6 +54798,7 @@ class ForgeParser extends Parser_1.Parser {
|
|
|
54792
54798
|
case ForgeParser.BACKQUOTE_TOK:
|
|
54793
54799
|
case ForgeParser.THIS_TOK:
|
|
54794
54800
|
case ForgeParser.SEXPR_TOK:
|
|
54801
|
+
case ForgeParser.GET_LABEL_TOK:
|
|
54795
54802
|
case ForgeParser.SUM_TOK:
|
|
54796
54803
|
case ForgeParser.INT_TOK:
|
|
54797
54804
|
case ForgeParser.NUM_CONST_TOK:
|
|
@@ -54942,6 +54949,7 @@ class ForgeParser extends Parser_1.Parser {
|
|
|
54942
54949
|
case ForgeParser.BACKQUOTE_TOK:
|
|
54943
54950
|
case ForgeParser.THIS_TOK:
|
|
54944
54951
|
case ForgeParser.SEXPR_TOK:
|
|
54952
|
+
case ForgeParser.GET_LABEL_TOK:
|
|
54945
54953
|
case ForgeParser.SUM_TOK:
|
|
54946
54954
|
case ForgeParser.INT_TOK:
|
|
54947
54955
|
case ForgeParser.NUM_CONST_TOK:
|
|
@@ -55496,11 +55504,12 @@ class ForgeParser extends Parser_1.Parser {
|
|
|
55496
55504
|
case ForgeParser.TILDE_TOK:
|
|
55497
55505
|
case ForgeParser.EXP_TOK:
|
|
55498
55506
|
case ForgeParser.STAR_TOK:
|
|
55507
|
+
case ForgeParser.GET_LABEL_TOK:
|
|
55499
55508
|
this.enterOuterAlt(_localctx, 2);
|
|
55500
55509
|
{
|
|
55501
55510
|
this.state = 867;
|
|
55502
55511
|
_la = this._input.LA(1);
|
|
55503
|
-
if (!(((((_la - 80)) & ~0x1F) === 0 && ((1 << (_la - 80)) & ((1 << (ForgeParser.TILDE_TOK - 80)) | (1 << (ForgeParser.EXP_TOK - 80)) | (1 << (ForgeParser.STAR_TOK - 80)))) !== 0))) {
|
|
55512
|
+
if (!(((((_la - 80)) & ~0x1F) === 0 && ((1 << (_la - 80)) & ((1 << (ForgeParser.TILDE_TOK - 80)) | (1 << (ForgeParser.EXP_TOK - 80)) | (1 << (ForgeParser.STAR_TOK - 80)) | (1 << (ForgeParser.GET_LABEL_TOK - 80)))) !== 0))) {
|
|
55504
55513
|
this._errHandler.recoverInline(this);
|
|
55505
55514
|
}
|
|
55506
55515
|
else {
|
|
@@ -56678,8 +56687,8 @@ ForgeParser.INST_TOK = 87;
|
|
|
56678
56687
|
ForgeParser.EVAL_TOK = 88;
|
|
56679
56688
|
ForgeParser.EXAMPLE_TOK = 89;
|
|
56680
56689
|
ForgeParser.ARROW_TOK = 90;
|
|
56681
|
-
ForgeParser.
|
|
56682
|
-
ForgeParser.
|
|
56690
|
+
ForgeParser.GET_LABEL_TOK = 91;
|
|
56691
|
+
ForgeParser.EQ_TOK = 92;
|
|
56683
56692
|
ForgeParser.LT_TOK = 93;
|
|
56684
56693
|
ForgeParser.GT_TOK = 94;
|
|
56685
56694
|
ForgeParser.LEQ_TOK = 95;
|
|
@@ -56813,7 +56822,7 @@ ForgeParser._LITERAL_NAMES = [
|
|
|
56813
56822
|
"'since'", "'triggered'", undefined, "'always'", "'eventually'", "'after'",
|
|
56814
56823
|
"'before'", "'once'", "'historically'", "'#'", "'++'", "'&'", "'<:'",
|
|
56815
56824
|
"':>'", "'''", "'~'", "'^'", "'*'", "'@'", "'`'", "'this'", "'sexpr'",
|
|
56816
|
-
"'inst'", "'eval'", "'example'", "'->'", "'
|
|
56825
|
+
"'inst'", "'eval'", "'example'", "'->'", "'@:'", "'='", "'<'", "'>'",
|
|
56817
56826
|
undefined, "'>='", "'ni'", "'no'", "'sum'", "'Int'", "'option'", "','",
|
|
56818
56827
|
"'/'",
|
|
56819
56828
|
];
|
|
@@ -56833,8 +56842,8 @@ ForgeParser._SYMBOLIC_NAMES = [
|
|
|
56833
56842
|
"EVENTUALLY_TOK", "AFTER_TOK", "BEFORE_TOK", "ONCE_TOK", "HISTORICALLY_TOK",
|
|
56834
56843
|
"CARD_TOK", "PPLUS_TOK", "AMP_TOK", "SUBT_TOK", "SUPT_TOK", "PRIME_TOK",
|
|
56835
56844
|
"TILDE_TOK", "EXP_TOK", "STAR_TOK", "AT_TOK", "BACKQUOTE_TOK", "THIS_TOK",
|
|
56836
|
-
"SEXPR_TOK", "INST_TOK", "EVAL_TOK", "EXAMPLE_TOK", "ARROW_TOK", "
|
|
56837
|
-
"
|
|
56845
|
+
"SEXPR_TOK", "INST_TOK", "EVAL_TOK", "EXAMPLE_TOK", "ARROW_TOK", "GET_LABEL_TOK",
|
|
56846
|
+
"EQ_TOK", "LT_TOK", "GT_TOK", "LEQ_TOK", "GEQ_TOK", "NI_TOK", "NO_TOK",
|
|
56838
56847
|
"SUM_TOK", "INT_TOK", "OPTION_TOK", "COMMA_TOK", "SLASH_TOK", "NUM_CONST_TOK",
|
|
56839
56848
|
"IDENTIFIER_TOK", "WS", "CCOMMENT", "COMMENT", "MULTCOMMENT", "LANG_DECL",
|
|
56840
56849
|
];
|
|
@@ -56943,42 +56952,42 @@ ForgeParser._serializedATNSegment0 = "\x03\uC91D\uCABA\u058D\uAFBA\u4F53\u0607\u
|
|
|
56943
56952
|
"\x8E\x02\x90\x02\x92\x02\x94\x02\x96\x02\x98\x02\x9A\x02\x9C\x02\x9E\x02" +
|
|
56944
56953
|
"\xA0\x02\xA2\x02\xA4\x02\xA6\x02\xA8\x02\xAA\x02\x02\x10\x03\x02\x10\x13" +
|
|
56945
56954
|
"\x04\x02\x10\x10\x12\x16\x05\x02\x10\x10\x12\x12\x14\x16\x03\x02 !\x03" +
|
|
56946
|
-
"\x02*.\x04\x02*+--\x03\x0245\x03\x0267\x05\x02\x0E\x0E))
|
|
56947
|
-
"\x14dd\x04\x02\x0F\x0F((\x03\x02OP\
|
|
56948
|
-
"\xAC\x03\x02\x02\x02\x04\xBB\x03\x02\x02\x02\x06\xD0\x03\x02\x02\x02
|
|
56949
|
-
"\xE4\x03\x02\x02\x02\n\xF7\x03\x02\x02\x02\f\xFA\x03\x02\x02\x02\x0E
|
|
56950
|
-
"\x03\x02\x02\x02\x10\u011C\x03\x02\x02\x02\x12\u011E\x03\x02\x02
|
|
56951
|
-
"\u0120\x03\x02\x02\x02\x16\u0123\x03\x02\x02\x02\x18\u012D\x03
|
|
56952
|
-
"\x02\x1A\u0137\x03\x02\x02\x02\x1C\u013E\x03\x02\x02\x02\x1E\u0140
|
|
56953
|
-
"\x02\x02\x02 \u015D\x03\x02\x02\x02\"\u015F\x03\x02\x02\x02$\u0168
|
|
56954
|
-
"\x02\x02\x02&\u0179\x03\x02\x02\x02(\u018A\x03\x02\x02\x02*\u0192
|
|
56955
|
-
"\x02\x02\x02,\u01A3\x03\x02\x02\x02.\u01A6\x03\x02\x02\x020\u01B2
|
|
56956
|
-
"\x02\x02\x022\u01B4\x03\x02\x02\x024\u01BF\x03\x02\x02\x026\u01D8
|
|
56957
|
-
"\x02\x02\x028\u01E5\x03\x02\x02\x02:\u01F2\x03\x02\x02\x02<\u0205
|
|
56958
|
-
"\x02\x02\x02>\u0209\x03\x02\x02\x02@\u0210\x03\x02\x02\x02B\u0212
|
|
56959
|
-
"\x02\x02\x02D\u0216\x03\x02\x02\x02F\u0222\x03\x02\x02\x02H\u0228
|
|
56960
|
-
"\x02\x02\x02J\u0239\x03\x02\x02\x02L\u023B\x03\x02\x02\x02N\u0245
|
|
56961
|
-
"\x02\x02\x02P\u024C\x03\x02\x02\x02R\u0253\x03\x02\x02\x02T\u025A
|
|
56962
|
-
"\x02\x02\x02V\u0261\x03\x02\x02\x02X\u0268\x03\x02\x02\x02Z\u026F
|
|
56963
|
-
"\x02\x02\x02\\\u0276\x03\x02\x02\x02^\u027D\x03\x02\x02\x02`\u028F
|
|
56964
|
-
"\x02\x02\x02b\u0291\x03\x02\x02\x02d\u029C\x03\x02\x02\x02f\u02A7
|
|
56965
|
-
"\x02\x02\x02h\u02BA\x03\x02\x02\x02j\u02BC\x03\x02\x02\x02l\u02D8
|
|
56966
|
-
"\x02\x02\x02n\u02E9\x03\x02\x02\x02p\u02EB\x03\x02\x02\x02r\u02FD
|
|
56967
|
-
"\x02\x02\x02t\u02FF\x03\x02\x02\x02v\u030D\x03\x02\x02\x02x\u030F
|
|
56968
|
-
"\x02\x02\x02z\u031A\x03\x02\x02\x02|\u0325\x03\x02\x02\x02~\u0331
|
|
56969
|
-
"\x02\x02\x02\x80\u033C\x03\x02\x02\x02\x82\u0350\x03\x02\x02\x02\x84
|
|
56970
|
-
"\x03\x02\x02\x02\x86\u0367\x03\x02\x02\x02\x88\u037B\x03\x02\x02
|
|
56971
|
-
"\u0382\x03\x02\x02\x02\x8C\u0384\x03\x02\x02\x02\x8E\u0386\x03
|
|
56972
|
-
"\x02\x90\u0388\x03\x02\x02\x02\x92\u038E\x03\x02\x02\x02\x94\u0390
|
|
56973
|
-
"\x02\x02\x02\x96\u0393\x03\x02\x02\x02\x98\u039A\x03\x02\x02\x02\x9A
|
|
56974
|
-
"\x03\x02\x02\x02\x9C\u03A7\x03\x02\x02\x02\x9E\u03B5\x03\x02\x02
|
|
56975
|
-
"\u03BC\x03\x02\x02\x02\xA2\u03C5\x03\x02\x02\x02\xA4\u03D1\x03
|
|
56976
|
-
"\x02\xA6\u03D9\x03\x02\x02\x02\xA8\u03E9\x03\x02\x02\x02\xAA\u03F9
|
|
56977
|
-
"\x02\x02\x02\xAC\xAE\x07\x1A\x02\x02\xAD\xAF\x05\x1C\x0F\x02\xAE\xAD
|
|
56978
|
-
"\x02\x02\x02\xAE\xAF\x03\x02\x02\x02\xAF\xB3\x03\x02\x02\x02\xB0\xB1
|
|
56979
|
-
"
|
|
56980
|
-
"\x02\x02\xB3\xB4\x03\x02\x02\x02\xB4\xB5\x03\x02\x02\x02\xB5\xB7\
|
|
56981
|
-
"(\x02\xB6\xB8\x05 \x11\x02\xB7\xB6\x03\x02\x02\x02\xB7\xB8\x03\x02\x02" +
|
|
56955
|
+
"\x02*.\x04\x02*+--\x03\x0245\x03\x0267\x05\x02\x0E\x0E))^c\x04\x02\x10" +
|
|
56956
|
+
"\x14dd\x04\x02\x0F\x0F((\x03\x02OP\x04\x02RT]]\x04\x02\\\\hh\x02\u044E" +
|
|
56957
|
+
"\x02\xAC\x03\x02\x02\x02\x04\xBB\x03\x02\x02\x02\x06\xD0\x03\x02\x02\x02" +
|
|
56958
|
+
"\b\xE4\x03\x02\x02\x02\n\xF7\x03\x02\x02\x02\f\xFA\x03\x02\x02\x02\x0E" +
|
|
56959
|
+
"\u011A\x03\x02\x02\x02\x10\u011C\x03\x02\x02\x02\x12\u011E\x03\x02\x02" +
|
|
56960
|
+
"\x02\x14\u0120\x03\x02\x02\x02\x16\u0123\x03\x02\x02\x02\x18\u012D\x03" +
|
|
56961
|
+
"\x02\x02\x02\x1A\u0137\x03\x02\x02\x02\x1C\u013E\x03\x02\x02\x02\x1E\u0140" +
|
|
56962
|
+
"\x03\x02\x02\x02 \u015D\x03\x02\x02\x02\"\u015F\x03\x02\x02\x02$\u0168" +
|
|
56963
|
+
"\x03\x02\x02\x02&\u0179\x03\x02\x02\x02(\u018A\x03\x02\x02\x02*\u0192" +
|
|
56964
|
+
"\x03\x02\x02\x02,\u01A3\x03\x02\x02\x02.\u01A6\x03\x02\x02\x020\u01B2" +
|
|
56965
|
+
"\x03\x02\x02\x022\u01B4\x03\x02\x02\x024\u01BF\x03\x02\x02\x026\u01D8" +
|
|
56966
|
+
"\x03\x02\x02\x028\u01E5\x03\x02\x02\x02:\u01F2\x03\x02\x02\x02<\u0205" +
|
|
56967
|
+
"\x03\x02\x02\x02>\u0209\x03\x02\x02\x02@\u0210\x03\x02\x02\x02B\u0212" +
|
|
56968
|
+
"\x03\x02\x02\x02D\u0216\x03\x02\x02\x02F\u0222\x03\x02\x02\x02H\u0228" +
|
|
56969
|
+
"\x03\x02\x02\x02J\u0239\x03\x02\x02\x02L\u023B\x03\x02\x02\x02N\u0245" +
|
|
56970
|
+
"\x03\x02\x02\x02P\u024C\x03\x02\x02\x02R\u0253\x03\x02\x02\x02T\u025A" +
|
|
56971
|
+
"\x03\x02\x02\x02V\u0261\x03\x02\x02\x02X\u0268\x03\x02\x02\x02Z\u026F" +
|
|
56972
|
+
"\x03\x02\x02\x02\\\u0276\x03\x02\x02\x02^\u027D\x03\x02\x02\x02`\u028F" +
|
|
56973
|
+
"\x03\x02\x02\x02b\u0291\x03\x02\x02\x02d\u029C\x03\x02\x02\x02f\u02A7" +
|
|
56974
|
+
"\x03\x02\x02\x02h\u02BA\x03\x02\x02\x02j\u02BC\x03\x02\x02\x02l\u02D8" +
|
|
56975
|
+
"\x03\x02\x02\x02n\u02E9\x03\x02\x02\x02p\u02EB\x03\x02\x02\x02r\u02FD" +
|
|
56976
|
+
"\x03\x02\x02\x02t\u02FF\x03\x02\x02\x02v\u030D\x03\x02\x02\x02x\u030F" +
|
|
56977
|
+
"\x03\x02\x02\x02z\u031A\x03\x02\x02\x02|\u0325\x03\x02\x02\x02~\u0331" +
|
|
56978
|
+
"\x03\x02\x02\x02\x80\u033C\x03\x02\x02\x02\x82\u0350\x03\x02\x02\x02\x84" +
|
|
56979
|
+
"\u035A\x03\x02\x02\x02\x86\u0367\x03\x02\x02\x02\x88\u037B\x03\x02\x02" +
|
|
56980
|
+
"\x02\x8A\u0382\x03\x02\x02\x02\x8C\u0384\x03\x02\x02\x02\x8E\u0386\x03" +
|
|
56981
|
+
"\x02\x02\x02\x90\u0388\x03\x02\x02\x02\x92\u038E\x03\x02\x02\x02\x94\u0390" +
|
|
56982
|
+
"\x03\x02\x02\x02\x96\u0393\x03\x02\x02\x02\x98\u039A\x03\x02\x02\x02\x9A" +
|
|
56983
|
+
"\u03A5\x03\x02\x02\x02\x9C\u03A7\x03\x02\x02\x02\x9E\u03B5\x03\x02\x02" +
|
|
56984
|
+
"\x02\xA0\u03BC\x03\x02\x02\x02\xA2\u03C5\x03\x02\x02\x02\xA4\u03D1\x03" +
|
|
56985
|
+
"\x02\x02\x02\xA6\u03D9\x03\x02\x02\x02\xA8\u03E9\x03\x02\x02\x02\xAA\u03F9" +
|
|
56986
|
+
"\x03\x02\x02\x02\xAC\xAE\x07\x1A\x02\x02\xAD\xAF\x05\x1C\x0F\x02\xAE\xAD" +
|
|
56987
|
+
"\x03\x02\x02\x02\xAE\xAF\x03\x02\x02\x02\xAF\xB3\x03\x02\x02\x02\xB0\xB1" +
|
|
56988
|
+
"\x05J&\x02\xB1\xB2\x07\x1B\x02\x02\xB2\xB4\x03\x02\x02\x02\xB3\xB0\x03" +
|
|
56989
|
+
"\x02\x02\x02\xB3\xB4\x03\x02\x02\x02\xB4\xB5\x03\x02\x02\x02\xB5\xB7\x05" +
|
|
56990
|
+
"N(\x02\xB6\xB8\x05 \x11\x02\xB7\xB6\x03\x02\x02\x02\xB7\xB8\x03\x02\x02" +
|
|
56982
56991
|
"\x02\xB8\xB9\x03\x02\x02\x02\xB9\xBA\x05D#\x02\xBA\x03\x03\x02\x02\x02" +
|
|
56983
56992
|
"\xBB\xBC\x05`1\x02\xBC\xBD\x07\x02\x02\x03\xBD\x05\x03\x02\x02\x02\xBE" +
|
|
56984
56993
|
"\xC0\x05\b\x05\x02\xBF\xBE\x03\x02\x02\x02\xC0\xC3\x03\x02\x02\x02\xC1" +
|
|
@@ -57094,21 +57103,21 @@ ForgeParser._serializedATNSegment0 = "\x03\uC91D\uCABA\u058D\uAFBA\u4F53\u0607\u
|
|
|
57094
57103
|
"\u01AF\x03\x02\x02\x02\u01B31\x03\x02\x02\x02\u01B4\u01B5\x07\x1F\x02" +
|
|
57095
57104
|
"\x02\u01B5\u01B6\x05`1\x02\u01B6\u01B7\x07)\x02\x02\u01B7\u01B9\t\x07" +
|
|
57096
57105
|
"\x02\x02\u01B8\u01BA\x05,\x17\x02\u01B9\u01B8\x03\x02\x02\x02\u01B9\u01BA" +
|
|
57097
|
-
"\x03\x02\x02\x02\u01BA\u01BD\x03\x02\x02\x02\u01BB\u01BC
|
|
57098
|
-
ForgeParser._serializedATNSegment1 = "\x02\x02\u01BC\u01BE\x05\x9EP\x02\u01BD\u01BB\x03\x02\x02\x02\u01BD
|
|
57099
|
-
"\x03\x02\x02\x02\u01BE3\x03\x02\x02\x02\u01BF\u01C0\x07\x1F\x02
|
|
57100
|
-
"\u01C2\x073\x02\x02\u01C1\u01C3\x07\x17\x02\x02\u01C2\u01C1
|
|
57101
|
-
"\x02\u01C2\u01C3\x03\x02\x02\x02\u01C3\u01C4\x03\x02\x02\x02
|
|
57102
|
-
"\x05V,\x02\u01C5\u01C6\x072\x02\x02\u01C6\u01C7\x05`1\x02
|
|
57103
|
-
"\x07)\x02\x02\u01C8\u01C9\t\b\x02\x02\u01C9\u01CA\x07\"\x02
|
|
57104
|
-
"\u01CF\x05N(\x02\u01CB\u01CC\x07\x04\x02\x02\u01CC\u01CD\x05
|
|
57105
|
-
"\u01CE\x07\x05\x02\x02\u01CE\u01D0\x03\x02\x02\x02\u01CF\u01CB
|
|
57106
|
-
"\x02\x02\u01CF\u01D0\x03\x02\x02\x02\u01D0\u01D2\x03\x02\x02\x02
|
|
57107
|
-
"\u01D3\x05,\x17\x02\u01D2\u01D1\x03\x02\x02\x02\u01D2\u01D3\x03
|
|
57108
|
-
"\x02\u01D3\u01D6\x03\x02\x02\x02\u01D4\u01D5\x07\"\x02\x02\u01D5
|
|
57109
|
-
"\x05\x9EP\x02\u01D6\u01D4\x03\x02\x02\x02\u01D6\u01D7\x03\x02\x02
|
|
57110
|
-
"\u01D75\x03\x02\x02\x02\u01D8\u01D9\x07\x1F\x02\x02\u01D9\u01DA\x05
|
|
57111
|
-
"\x02\u01DA\u01DB\x07)\x02\x02\u01DB\u01DC\t\b\x02\x02\u01DC\u01DD\x07" +
|
|
57106
|
+
"\x03\x02\x02\x02\u01BA\u01BD\x03\x02\x02\x02\u01BB\u01BC";
|
|
57107
|
+
ForgeParser._serializedATNSegment1 = "\x07\"\x02\x02\u01BC\u01BE\x05\x9EP\x02\u01BD\u01BB\x03\x02\x02\x02\u01BD" +
|
|
57108
|
+
"\u01BE\x03\x02\x02\x02\u01BE3\x03\x02\x02\x02\u01BF\u01C0\x07\x1F\x02" +
|
|
57109
|
+
"\x02\u01C0\u01C2\x073\x02\x02\u01C1\u01C3\x07\x17\x02\x02\u01C2\u01C1" +
|
|
57110
|
+
"\x03\x02\x02\x02\u01C2\u01C3\x03\x02\x02\x02\u01C3\u01C4\x03\x02\x02\x02" +
|
|
57111
|
+
"\u01C4\u01C5\x05V,\x02\u01C5\u01C6\x072\x02\x02\u01C6\u01C7\x05`1\x02" +
|
|
57112
|
+
"\u01C7\u01C8\x07)\x02\x02\u01C8\u01C9\t\b\x02\x02\u01C9\u01CA\x07\"\x02" +
|
|
57113
|
+
"\x02\u01CA\u01CF\x05N(\x02\u01CB\u01CC\x07\x04\x02\x02\u01CC\u01CD\x05" +
|
|
57114
|
+
"^0\x02\u01CD\u01CE\x07\x05\x02\x02\u01CE\u01D0\x03\x02\x02\x02\u01CF\u01CB" +
|
|
57115
|
+
"\x03\x02\x02\x02\u01CF\u01D0\x03\x02\x02\x02\u01D0\u01D2\x03\x02\x02\x02" +
|
|
57116
|
+
"\u01D1\u01D3\x05,\x17\x02\u01D2\u01D1\x03\x02\x02\x02\u01D2\u01D3\x03" +
|
|
57117
|
+
"\x02\x02\x02\u01D3\u01D6\x03\x02\x02\x02\u01D4\u01D5\x07\"\x02\x02\u01D5" +
|
|
57118
|
+
"\u01D7\x05\x9EP\x02\u01D6\u01D4\x03\x02\x02\x02\u01D6\u01D7\x03\x02\x02" +
|
|
57119
|
+
"\x02\u01D75\x03\x02\x02\x02\u01D8\u01D9\x07\x1F\x02\x02\u01D9\u01DA\x05" +
|
|
57120
|
+
"`1\x02\u01DA\u01DB\x07)\x02\x02\u01DB\u01DC\t\b\x02\x02\u01DC\u01DD\x07" +
|
|
57112
57121
|
"\"\x02\x02\u01DD\u01DF\x05N(\x02\u01DE\u01E0\x05,\x17\x02\u01DF\u01DE" +
|
|
57113
57122
|
"\x03\x02\x02\x02\u01DF\u01E0\x03\x02\x02\x02\u01E0\u01E3\x03\x02\x02\x02" +
|
|
57114
57123
|
"\u01E1\u01E2\x07\"\x02\x02\u01E2\u01E4\x05\x9EP\x02\u01E3\u01E1\x03\x02" +
|
|
@@ -57134,7 +57143,7 @@ ForgeParser._serializedATNSegment1 = "\x02\x02\u01BC\u01BE\x05\x9EP\x02\u01BD\u0
|
|
|
57134
57143
|
"\u020F\x05\x10\t\x02\u020D\u020F\x07\x14\x02\x02\u020E\u020C\x03\x02\x02" +
|
|
57135
57144
|
"\x02\u020E\u020D\x03\x02\x02\x02\u020E\u020F\x03\x02\x02\x02\u020F?\x03" +
|
|
57136
57145
|
"\x02\x02\x02\u0210\u0211\t\n\x02\x02\u0211A\x03\x02\x02\x02\u0212\u0213" +
|
|
57137
|
-
"\x05N(\x02\u0213\u0214\x07
|
|
57146
|
+
"\x05N(\x02\u0213\u0214\x07^\x02\x02\u0214\u0215\x05`1\x02\u0215C\x03\x02" +
|
|
57138
57147
|
"\x02\x02\u0216\u021A\x07\v\x02\x02\u0217\u0219\x05`1\x02\u0218\u0217\x03" +
|
|
57139
57148
|
"\x02\x02\x02\u0219\u021C\x03\x02\x02\x02\u021A\u0218\x03\x02\x02\x02\u021A" +
|
|
57140
57149
|
"\u021B\x03\x02\x02\x02\u021B\u021D\x03\x02\x02\x02\u021C\u021A\x03\x02" +
|
|
@@ -57300,7 +57309,7 @@ ForgeParser._serializedATNSegment1 = "\x02\x02\u01BC\u01BE\x05\x9EP\x02\u01BD\u0
|
|
|
57300
57309
|
"\u0395\x05N(\x02\u0395\u0396\x07)\x02\x02\u0396\u0397\x05`1\x02\u0397" +
|
|
57301
57310
|
"\u0398\x07\"\x02\x02\u0398\u0399\x05\x9EP\x02\u0399\x97\x03\x02\x02\x02" +
|
|
57302
57311
|
"\u039A\u039B\x05N(\x02\u039B\u039C\x07\x18\x02\x02\u039C\u039D\x05\x8A" +
|
|
57303
|
-
"F\x02\u039D\u039E\x07
|
|
57312
|
+
"F\x02\u039D\u039E\x07^\x02\x02\u039E\u039F\x05`1\x02\u039F\x99\x03\x02" +
|
|
57304
57313
|
"\x02\x02\u03A0\u03A6\x05\x9CO\x02\u03A1\u03A2\x05\x9CO\x02\u03A2\u03A3" +
|
|
57305
57314
|
"\x07h\x02\x02\u03A3\u03A4\x05\x9AN\x02\u03A4\u03A6\x03\x02\x02\x02\u03A5" +
|
|
57306
57315
|
"\u03A0\x03\x02\x02\x02\u03A5\u03A1\x03\x02\x02\x02\u03A6\x9B\x03\x02\x02" +
|
|
@@ -58716,7 +58725,6 @@ exports.ArrowOpContext = ArrowOpContext;
|
|
|
58716
58725
|
class CompareOpContext extends ParserRuleContext_1.ParserRuleContext {
|
|
58717
58726
|
IN_TOK() { return this.tryGetToken(ForgeParser.IN_TOK, 0); }
|
|
58718
58727
|
EQ_TOK() { return this.tryGetToken(ForgeParser.EQ_TOK, 0); }
|
|
58719
|
-
LABEL_EQ_TOK() { return this.tryGetToken(ForgeParser.LABEL_EQ_TOK, 0); }
|
|
58720
58728
|
LT_TOK() { return this.tryGetToken(ForgeParser.LT_TOK, 0); }
|
|
58721
58729
|
GT_TOK() { return this.tryGetToken(ForgeParser.GT_TOK, 0); }
|
|
58722
58730
|
LEQ_TOK() { return this.tryGetToken(ForgeParser.LEQ_TOK, 0); }
|
|
@@ -60052,6 +60060,7 @@ class Expr17Context extends ParserRuleContext_1.ParserRuleContext {
|
|
|
60052
60060
|
TILDE_TOK() { return this.tryGetToken(ForgeParser.TILDE_TOK, 0); }
|
|
60053
60061
|
EXP_TOK() { return this.tryGetToken(ForgeParser.EXP_TOK, 0); }
|
|
60054
60062
|
STAR_TOK() { return this.tryGetToken(ForgeParser.STAR_TOK, 0); }
|
|
60063
|
+
GET_LABEL_TOK() { return this.tryGetToken(ForgeParser.GET_LABEL_TOK, 0); }
|
|
60055
60064
|
constructor(parent, invokingState) {
|
|
60056
60065
|
super(parent, invokingState);
|
|
60057
60066
|
}
|
package/package.json
CHANGED