@traqula/rules-sparql-1-2 0.0.1-alpha.145 → 0.0.1-alpha.148

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/lib/index.cjs CHANGED
@@ -9523,8 +9523,6 @@ __export(grammar_exports, {
9523
9523
  builtInUuid: () => builtInUuid,
9524
9524
  builtInYear: () => builtInYear,
9525
9525
  canCreateBlankNodes: () => canCreateBlankNodes,
9526
- canParseAggregate: () => canParseAggregate,
9527
- canParseVars: () => canParseVars,
9528
9526
  clear: () => clear2,
9529
9527
  collection: () => collection,
9530
9528
  collectionPath: () => collectionPath,
@@ -9575,7 +9573,6 @@ __export(grammar_exports, {
9575
9573
  groupOrUnionGraphPattern: () => groupOrUnionGraphPattern,
9576
9574
  havingClause: () => havingClause,
9577
9575
  havingCondition: () => havingCondition,
9578
- inAggregate: () => inAggregate,
9579
9576
  inlineData: () => inlineData,
9580
9577
  inlineDataFull: () => inlineDataFull,
9581
9578
  inlineDataOneVar: () => inlineDataOneVar,
@@ -10170,7 +10167,7 @@ __export(terminals_exports, {
10170
10167
  integerNegative: () => integerNegative,
10171
10168
  integerNegativePattern: () => integerNegativePattern,
10172
10169
  integerPattern: () => integerPattern,
10173
- interferePositive: () => interferePositive,
10170
+ integerPositive: () => integerPositive,
10174
10171
  interferePositivePattern: () => interferePositivePattern,
10175
10172
  iriRef: () => iriRef,
10176
10173
  iriRefPattern: () => iriRefPattern,
@@ -10250,7 +10247,7 @@ var langTag = createToken2({ name: "LangTag", pattern: langTagPattern });
10250
10247
  var integer = createToken2({ name: "Integer", pattern: integerPattern });
10251
10248
  var decimal = createToken2({ name: "Decimal", pattern: decimalPattern2 });
10252
10249
  var double = createToken2({ name: "Double", pattern: doublePattern });
10253
- var interferePositive = createToken2({ name: "InterferePositive", pattern: interferePositivePattern });
10250
+ var integerPositive = createToken2({ name: "InterferePositive", pattern: interferePositivePattern });
10254
10251
  var decimalPositive = createToken2({ name: "DecimalPositive", pattern: decimalPositivePattern });
10255
10252
  var doublePositive = createToken2({ name: "DoublePositive", pattern: doublePositivePattern });
10256
10253
  var integerNegative = createToken2({ name: "IntegerNegative", pattern: integerNegativePattern });
@@ -10275,7 +10272,7 @@ var allTerminals = LexerBuilder.create().add(
10275
10272
  double,
10276
10273
  decimal,
10277
10274
  integer,
10278
- interferePositive,
10275
+ integerPositive,
10279
10276
  decimalPositive,
10280
10277
  doublePositive,
10281
10278
  integerNegative,
@@ -10393,90 +10390,90 @@ var sparql11Tokens = LexerBuilder.create(allTerminals).merge(allBaseTokens).merg
10393
10390
  // ../rules-sparql-1-1/lib/grammar/literals.ts
10394
10391
  var rdfLiteral = {
10395
10392
  name: "rdfLiteral",
10396
- impl: ({ SUBRULE, CONSUME, OPTION, OR, context }) => () => {
10397
- const value = SUBRULE(string);
10393
+ impl: ({ ACTION, SUBRULE, CONSUME, OPTION, OR }) => (C) => {
10394
+ const value = SUBRULE(string, void 0);
10398
10395
  const languageOrDatatype = OPTION(() => OR([
10399
10396
  { ALT: () => CONSUME(terminals_exports.langTag).image.slice(1) },
10400
10397
  {
10401
10398
  ALT: () => {
10402
10399
  CONSUME(symbols_exports.hathat);
10403
- return SUBRULE(iri2);
10400
+ return SUBRULE(iri2, void 0);
10404
10401
  }
10405
10402
  }
10406
10403
  ]));
10407
- return context.dataFactory.literal(value, languageOrDatatype);
10404
+ return ACTION(() => C.dataFactory.literal(value, languageOrDatatype));
10408
10405
  }
10409
10406
  };
10410
10407
  var numericLiteral = {
10411
10408
  name: "numericLiteral",
10412
10409
  impl: ({ SUBRULE, OR }) => () => OR([
10413
- { ALT: () => SUBRULE(numericLiteralUnsigned) },
10414
- { ALT: () => SUBRULE(numericLiteralPositive) },
10415
- { ALT: () => SUBRULE(numericLiteralNegative) }
10410
+ { ALT: () => SUBRULE(numericLiteralUnsigned, void 0) },
10411
+ { ALT: () => SUBRULE(numericLiteralPositive, void 0) },
10412
+ { ALT: () => SUBRULE(numericLiteralNegative, void 0) }
10416
10413
  ])
10417
10414
  };
10418
10415
  var numericLiteralUnsigned = {
10419
10416
  name: "numericLiteralUnsigned",
10420
- impl: ({ CONSUME, OR, context }) => () => OR([
10421
- { ALT: () => context.dataFactory.literal(
10422
- CONSUME(terminals_exports.integer).image,
10423
- context.dataFactory.namedNode("http://www.w3.org/2001/XMLSchema#integer" /* INTEGER */)
10424
- ) },
10425
- { ALT: () => context.dataFactory.literal(
10426
- CONSUME(terminals_exports.decimal).image,
10427
- context.dataFactory.namedNode("http://www.w3.org/2001/XMLSchema#decimal" /* DECIMAL */)
10428
- ) },
10429
- { ALT: () => context.dataFactory.literal(
10430
- CONSUME(terminals_exports.double).image,
10431
- context.dataFactory.namedNode("http://www.w3.org/2001/XMLSchema#double" /* DOUBLE */)
10432
- ) }
10417
+ impl: ({ ACTION, CONSUME, OR }) => (C) => OR([
10418
+ { ALT: () => {
10419
+ const val = CONSUME(terminals_exports.integer).image;
10420
+ return ACTION(() => C.dataFactory.literal(val, C.dataFactory.namedNode("http://www.w3.org/2001/XMLSchema#integer" /* INTEGER */)));
10421
+ } },
10422
+ { ALT: () => {
10423
+ const val = CONSUME(terminals_exports.decimal).image;
10424
+ return ACTION(() => C.dataFactory.literal(val, C.dataFactory.namedNode("http://www.w3.org/2001/XMLSchema#decimal" /* DECIMAL */)));
10425
+ } },
10426
+ { ALT: () => {
10427
+ const val = CONSUME(terminals_exports.double).image;
10428
+ return ACTION(() => C.dataFactory.literal(val, C.dataFactory.namedNode("http://www.w3.org/2001/XMLSchema#double" /* DOUBLE */)));
10429
+ } }
10433
10430
  ])
10434
10431
  };
10435
10432
  var numericLiteralPositive = {
10436
10433
  name: "numericLiteralPositive",
10437
- impl: ({ CONSUME, OR, context }) => () => OR([
10438
- { ALT: () => context.dataFactory.literal(
10439
- CONSUME(terminals_exports.interferePositive).image,
10440
- context.dataFactory.namedNode("http://www.w3.org/2001/XMLSchema#integer" /* INTEGER */)
10441
- ) },
10442
- { ALT: () => context.dataFactory.literal(
10443
- CONSUME(terminals_exports.decimalPositive).image,
10444
- context.dataFactory.namedNode("http://www.w3.org/2001/XMLSchema#decimal" /* DECIMAL */)
10445
- ) },
10446
- { ALT: () => context.dataFactory.literal(
10447
- CONSUME(terminals_exports.doublePositive).image,
10448
- context.dataFactory.namedNode("http://www.w3.org/2001/XMLSchema#double" /* DOUBLE */)
10449
- ) }
10434
+ impl: ({ ACTION, CONSUME, OR }) => (C) => OR([
10435
+ { ALT: () => {
10436
+ const val = CONSUME(terminals_exports.integerPositive).image;
10437
+ return ACTION(() => C.dataFactory.literal(val, C.dataFactory.namedNode("http://www.w3.org/2001/XMLSchema#integer" /* INTEGER */)));
10438
+ } },
10439
+ { ALT: () => {
10440
+ const val = CONSUME(terminals_exports.decimalPositive).image;
10441
+ return ACTION(() => C.dataFactory.literal(val, C.dataFactory.namedNode("http://www.w3.org/2001/XMLSchema#decimal" /* DECIMAL */)));
10442
+ } },
10443
+ { ALT: () => {
10444
+ const val = CONSUME(terminals_exports.doublePositive).image;
10445
+ return ACTION(() => C.dataFactory.literal(val, C.dataFactory.namedNode("http://www.w3.org/2001/XMLSchema#double" /* DOUBLE */)));
10446
+ } }
10450
10447
  ])
10451
10448
  };
10452
10449
  var numericLiteralNegative = {
10453
10450
  name: "numericLiteralNegative",
10454
- impl: ({ CONSUME, OR, context }) => () => OR([
10455
- { ALT: () => context.dataFactory.literal(
10456
- CONSUME(terminals_exports.integerNegative).image,
10457
- context.dataFactory.namedNode("http://www.w3.org/2001/XMLSchema#integer" /* INTEGER */)
10458
- ) },
10459
- { ALT: () => context.dataFactory.literal(
10460
- CONSUME(terminals_exports.decimalNegative).image,
10461
- context.dataFactory.namedNode("http://www.w3.org/2001/XMLSchema#decimal" /* DECIMAL */)
10462
- ) },
10463
- { ALT: () => context.dataFactory.literal(
10464
- CONSUME(terminals_exports.doubleNegative).image,
10465
- context.dataFactory.namedNode("http://www.w3.org/2001/XMLSchema#double" /* DOUBLE */)
10466
- ) }
10451
+ impl: ({ ACTION, CONSUME, OR }) => (C) => OR([
10452
+ { ALT: () => {
10453
+ const val = CONSUME(terminals_exports.integerNegative).image;
10454
+ return ACTION(() => C.dataFactory.literal(val, C.dataFactory.namedNode("http://www.w3.org/2001/XMLSchema#integer" /* INTEGER */)));
10455
+ } },
10456
+ { ALT: () => {
10457
+ const val = CONSUME(terminals_exports.decimalNegative).image;
10458
+ return ACTION(() => C.dataFactory.literal(val, C.dataFactory.namedNode("http://www.w3.org/2001/XMLSchema#decimal" /* DECIMAL */)));
10459
+ } },
10460
+ { ALT: () => {
10461
+ const val = CONSUME(terminals_exports.doubleNegative).image;
10462
+ return ACTION(() => C.dataFactory.literal(val, C.dataFactory.namedNode("http://www.w3.org/2001/XMLSchema#double" /* DOUBLE */)));
10463
+ } }
10467
10464
  ])
10468
10465
  };
10469
10466
  var booleanLiteral = {
10470
10467
  name: "booleanLiteral",
10471
- impl: ({ CONSUME, OR, context }) => () => OR([
10472
- { ALT: () => context.dataFactory.literal(
10473
- CONSUME(true_).image.toLowerCase(),
10474
- context.dataFactory.namedNode("http://www.w3.org/2001/XMLSchema#boolean" /* BOOLEAN */)
10475
- ) },
10476
- { ALT: () => context.dataFactory.literal(
10477
- CONSUME(false_).image.toLowerCase(),
10478
- context.dataFactory.namedNode("http://www.w3.org/2001/XMLSchema#boolean" /* BOOLEAN */)
10479
- ) }
10468
+ impl: ({ ACTION, CONSUME, OR }) => (C) => OR([
10469
+ { ALT: () => {
10470
+ const val = CONSUME(true_).image.toLowerCase();
10471
+ return ACTION(() => C.dataFactory.literal(val, C.dataFactory.namedNode("http://www.w3.org/2001/XMLSchema#boolean" /* BOOLEAN */)));
10472
+ } },
10473
+ { ALT: () => {
10474
+ const val = CONSUME(false_).image.toLowerCase();
10475
+ return ACTION(() => C.dataFactory.literal(val, C.dataFactory.namedNode("http://www.w3.org/2001/XMLSchema#boolean" /* BOOLEAN */)));
10476
+ } }
10480
10477
  ])
10481
10478
  };
10482
10479
  var string = {
@@ -10508,51 +10505,51 @@ var string = {
10508
10505
  };
10509
10506
  var iri2 = {
10510
10507
  name: "iri",
10511
- impl: ({ ACTION, SUBRULE, CONSUME, OR, context }) => () => OR([
10508
+ impl: ({ ACTION, SUBRULE, CONSUME, OR }) => (C) => OR([
10512
10509
  { ALT: () => {
10513
10510
  const iriVal = CONSUME(terminals_exports.iriRef).image.slice(1, -1);
10514
- return ACTION(() => context.dataFactory.namedNode(resolveIRI(iriVal, context.baseIRI)));
10511
+ return ACTION(() => C.dataFactory.namedNode(resolveIRI(iriVal, C.baseIRI)));
10515
10512
  } },
10516
- { ALT: () => SUBRULE(prefixedName) }
10513
+ { ALT: () => SUBRULE(prefixedName, void 0) }
10517
10514
  ])
10518
10515
  };
10519
10516
  var prefixedName = {
10520
10517
  name: "prefixedName",
10521
- impl: ({ ACTION, CONSUME, OR, context }) => () => {
10518
+ impl: ({ ACTION, CONSUME, OR }) => (C) => {
10522
10519
  const fullStr = OR([
10523
10520
  { ALT: () => CONSUME(terminals_exports.pNameLn).image },
10524
10521
  { ALT: () => CONSUME(terminals_exports.pNameNs).image }
10525
10522
  ]);
10526
10523
  return ACTION(() => {
10527
10524
  const [prefix, localName] = fullStr.split(":");
10528
- const value = context.prefixes[prefix];
10525
+ const value = C.prefixes[prefix];
10529
10526
  if (value === void 0) {
10530
10527
  throw new Error(`Unknown prefix: ${prefix}`);
10531
10528
  }
10532
- return context.dataFactory.namedNode(resolveIRI(value + localName, context.baseIRI));
10529
+ return C.dataFactory.namedNode(resolveIRI(value + localName, C.baseIRI));
10533
10530
  });
10534
10531
  }
10535
10532
  };
10536
10533
  var canCreateBlankNodes = Symbol("canCreateBlankNodes");
10537
10534
  var blankNode = {
10538
10535
  name: "blankNode",
10539
- impl: ({ ACTION, CONSUME, OR, context }) => () => {
10536
+ impl: ({ ACTION, CONSUME, OR }) => (C) => {
10540
10537
  const result = OR([
10541
10538
  {
10542
10539
  ALT: () => {
10543
10540
  const label = CONSUME(terminals_exports.blankNodeLabel).image;
10544
- return ACTION(() => context.dataFactory.blankNode(label.replace("_:", "e_")));
10541
+ return ACTION(() => C.dataFactory.blankNode(label.replace("_:", "e_")));
10545
10542
  }
10546
10543
  },
10547
10544
  {
10548
10545
  ALT: () => {
10549
10546
  CONSUME(terminals_exports.anon);
10550
- return ACTION(() => context.dataFactory.blankNode());
10547
+ return ACTION(() => C.dataFactory.blankNode());
10551
10548
  }
10552
10549
  }
10553
10550
  ]);
10554
10551
  ACTION(() => {
10555
- if (!context.parseMode.has(canCreateBlankNodes)) {
10552
+ if (!C.parseMode.has("canCreateBlankNodes")) {
10556
10553
  throw new Error("Blank nodes are not allowed in this context");
10557
10554
  }
10558
10555
  });
@@ -10560,10 +10557,37 @@ var blankNode = {
10560
10557
  }
10561
10558
  };
10562
10559
 
10560
+ // ../rules-sparql-1-1/lib/grammar/dataSetClause.ts
10561
+ var datasetClause = {
10562
+ name: "datasetClause",
10563
+ impl: ({ SUBRULE, CONSUME, OR }) => () => {
10564
+ CONSUME(from);
10565
+ return OR([
10566
+ { ALT: () => ({ value: SUBRULE(defaultGraphClause, void 0), type: "default" }) },
10567
+ { ALT: () => ({ value: SUBRULE(namedGraphClause, void 0), type: "named" }) }
10568
+ ]);
10569
+ }
10570
+ };
10571
+ var defaultGraphClause = {
10572
+ name: "defaultGraphClause",
10573
+ impl: ({ SUBRULE }) => () => SUBRULE(sourceSelector, void 0)
10574
+ };
10575
+ var namedGraphClause = {
10576
+ name: "namedGraphClause",
10577
+ impl: ({ SUBRULE, CONSUME }) => () => {
10578
+ CONSUME(graph_exports.named);
10579
+ return SUBRULE(sourceSelector, void 0);
10580
+ }
10581
+ };
10582
+ var sourceSelector = {
10583
+ name: "sourceSelector",
10584
+ impl: ({ SUBRULE }) => () => SUBRULE(iri2, void 0)
10585
+ };
10586
+
10563
10587
  // ../rules-sparql-1-1/lib/grammar/propertyPaths.ts
10564
10588
  var path = {
10565
10589
  name: "path",
10566
- impl: ({ SUBRULE }) => () => SUBRULE(pathAlternative)
10590
+ impl: ({ SUBRULE }) => () => SUBRULE(pathAlternative, void 0)
10567
10591
  };
10568
10592
  function pathHelper(name, SEP, pathType, subRule) {
10569
10593
  return {
@@ -10572,7 +10596,7 @@ function pathHelper(name, SEP, pathType, subRule) {
10572
10596
  const alternatives = [];
10573
10597
  AT_LEAST_ONE_SEP({
10574
10598
  DEF: () => {
10575
- alternatives.push(SUBRULE2(subRule));
10599
+ alternatives.push(SUBRULE2(subRule, void 0));
10576
10600
  },
10577
10601
  SEP
10578
10602
  });
@@ -10588,12 +10612,12 @@ var pathEltOrInverse = {
10588
10612
  name: "pathEltOrInverse",
10589
10613
  impl: ({ CONSUME, SUBRULE1, SUBRULE2, OR }) => () => OR([
10590
10614
  {
10591
- ALT: () => SUBRULE1(pathElt)
10615
+ ALT: () => SUBRULE1(pathElt, void 0)
10592
10616
  },
10593
10617
  {
10594
10618
  ALT: () => {
10595
10619
  CONSUME(symbols_exports.hat);
10596
- const item = SUBRULE2(pathElt);
10620
+ const item = SUBRULE2(pathElt, void 0);
10597
10621
  return {
10598
10622
  type: "path",
10599
10623
  pathType: "^",
@@ -10610,8 +10634,8 @@ var pathAlternative = pathHelper("pathAlternative", symbols_exports.pipe, "|", p
10610
10634
  var pathElt = {
10611
10635
  name: "pathElt",
10612
10636
  impl: ({ SUBRULE, OPTION }) => () => {
10613
- const item = SUBRULE(pathPrimary);
10614
- const modification = OPTION(() => SUBRULE(pathMod));
10637
+ const item = SUBRULE(pathPrimary, void 0);
10638
+ const modification = OPTION(() => SUBRULE(pathMod, void 0));
10615
10639
  return modification === void 0 ? item : {
10616
10640
  type: "path",
10617
10641
  pathType: modification,
@@ -10645,14 +10669,14 @@ var pathMod = {
10645
10669
  var pathPrimary = {
10646
10670
  name: "pathPrimary",
10647
10671
  impl: ({ SUBRULE, CONSUME, OR }) => () => OR([
10648
- { ALT: () => SUBRULE(iri2) },
10672
+ { ALT: () => SUBRULE(iri2, void 0) },
10649
10673
  {
10650
- ALT: () => SUBRULE(verbA)
10674
+ ALT: () => SUBRULE(verbA, void 0)
10651
10675
  },
10652
10676
  {
10653
10677
  ALT: () => {
10654
10678
  CONSUME(symbols_exports.exclamation);
10655
- const negatedPath = SUBRULE(pathNegatedPropertySet);
10679
+ const negatedPath = SUBRULE(pathNegatedPropertySet, void 0);
10656
10680
  return {
10657
10681
  type: "path",
10658
10682
  pathType: "!",
@@ -10663,7 +10687,7 @@ var pathPrimary = {
10663
10687
  {
10664
10688
  ALT: () => {
10665
10689
  CONSUME(symbols_exports.LParen);
10666
- const resRecursive = SUBRULE(path);
10690
+ const resRecursive = SUBRULE(path, void 0);
10667
10691
  CONSUME(symbols_exports.RParen);
10668
10692
  return resRecursive;
10669
10693
  }
@@ -10674,7 +10698,7 @@ var pathNegatedPropertySet = {
10674
10698
  name: "pathNegatedPropertySet",
10675
10699
  impl: ({ CONSUME, SUBRULE1, SUBRULE2, OR, MANY_SEP }) => () => OR([
10676
10700
  {
10677
- ALT: () => [SUBRULE1(pathOneInPropertySet)]
10701
+ ALT: () => [SUBRULE1(pathOneInPropertySet, void 0)]
10678
10702
  },
10679
10703
  {
10680
10704
  ALT: () => {
@@ -10682,7 +10706,7 @@ var pathNegatedPropertySet = {
10682
10706
  const items = [];
10683
10707
  MANY_SEP({
10684
10708
  DEF: () => {
10685
- items.push(SUBRULE2(pathOneInPropertySet));
10709
+ items.push(SUBRULE2(pathOneInPropertySet, void 0));
10686
10710
  },
10687
10711
  SEP: symbols_exports.pipe
10688
10712
  });
@@ -10699,14 +10723,14 @@ var pathNegatedPropertySet = {
10699
10723
  var pathOneInPropertySet = {
10700
10724
  name: "pathOneInPropertySet",
10701
10725
  impl: ({ CONSUME, SUBRULE1, SUBRULE2, OR1, OR2 }) => () => OR1([
10702
- { ALT: () => SUBRULE1(iri2) },
10703
- { ALT: () => SUBRULE1(verbA) },
10726
+ { ALT: () => SUBRULE1(iri2, void 0) },
10727
+ { ALT: () => SUBRULE1(verbA, void 0) },
10704
10728
  {
10705
10729
  ALT: () => {
10706
10730
  CONSUME(symbols_exports.hat);
10707
10731
  const item = OR2([
10708
- { ALT: () => SUBRULE2(iri2) },
10709
- { ALT: () => SUBRULE2(verbA) }
10732
+ { ALT: () => SUBRULE2(iri2, void 0) },
10733
+ { ALT: () => SUBRULE2(verbA, void 0) }
10710
10734
  ]);
10711
10735
  return {
10712
10736
  type: "path",
@@ -10722,10 +10746,10 @@ var pathOneInPropertySet = {
10722
10746
  var triplesBlock = {
10723
10747
  name: "triplesBlock",
10724
10748
  impl: ({ ACTION, SUBRULE, CONSUME, OPTION1, OPTION2 }) => () => {
10725
- const triples = SUBRULE(triplesSameSubjectPath);
10749
+ const triples = SUBRULE(triplesSameSubjectPath, void 0);
10726
10750
  const pattern = OPTION1(() => {
10727
10751
  CONSUME(symbols_exports.dot);
10728
- return OPTION2(() => SUBRULE(triplesBlock));
10752
+ return OPTION2(() => SUBRULE(triplesBlock, void 0));
10729
10753
  });
10730
10754
  return ACTION(() => ({
10731
10755
  type: "bgp",
@@ -10739,14 +10763,14 @@ function triplesSameSubjectImpl(name, allowPaths) {
10739
10763
  impl: ({ ACTION, SUBRULE, OR }) => () => OR([
10740
10764
  {
10741
10765
  ALT: () => {
10742
- const subject = SUBRULE(varOrTerm);
10743
- return SUBRULE(allowPaths ? propertyListPathNotEmpty : propertyListNotEmpty, subject);
10766
+ const subject = SUBRULE(varOrTerm, void 0);
10767
+ return SUBRULE(allowPaths ? propertyListPathNotEmpty : propertyListNotEmpty, { subject });
10744
10768
  }
10745
10769
  },
10746
10770
  {
10747
10771
  ALT: () => {
10748
- const subjectNode = SUBRULE(allowPaths ? triplesNodePath : triplesNode);
10749
- const restNode = SUBRULE(allowPaths ? propertyListPath : propertyList, subjectNode.node);
10772
+ const subjectNode = SUBRULE(allowPaths ? triplesNodePath : triplesNode, void 0);
10773
+ const restNode = SUBRULE(allowPaths ? propertyListPath : propertyList, { subject: subjectNode.node });
10750
10774
  return ACTION(() => [
10751
10775
  ...restNode,
10752
10776
  ...subjectNode.triples
@@ -10761,7 +10785,7 @@ var triplesSameSubjectPath = triplesSameSubjectImpl("triplesSameSubjectPath", tr
10761
10785
  function propertyListImpl(name, allowPaths) {
10762
10786
  return {
10763
10787
  name,
10764
- impl: ({ SUBRULE, OPTION }) => (subject) => OPTION(() => SUBRULE(allowPaths ? propertyListPathNotEmpty : propertyListNotEmpty, subject)) ?? []
10788
+ impl: ({ SUBRULE, OPTION }) => (_, arg) => OPTION(() => SUBRULE(allowPaths ? propertyListPathNotEmpty : propertyListNotEmpty, arg)) ?? []
10765
10789
  };
10766
10790
  }
10767
10791
  var propertyList = propertyListImpl("propertyList", false);
@@ -10769,7 +10793,7 @@ var propertyListPath = propertyListImpl("propertyListPath", true);
10769
10793
  function propertyListNotEmptyImplementation(name, allowPaths) {
10770
10794
  return {
10771
10795
  name,
10772
- impl: ({ ACTION, CONSUME, AT_LEAST_ONE, SUBRULE1, MANY2, OR1 }) => (subject) => {
10796
+ impl: ({ ACTION, CONSUME, AT_LEAST_ONE, SUBRULE1, MANY2, OR1 }) => (_, arg) => {
10773
10797
  const result = [];
10774
10798
  let parsedSemi = true;
10775
10799
  AT_LEAST_ONE({
@@ -10777,13 +10801,12 @@ function propertyListNotEmptyImplementation(name, allowPaths) {
10777
10801
  DEF: () => {
10778
10802
  parsedSemi = false;
10779
10803
  const predicate = allowPaths ? OR1([
10780
- { ALT: () => SUBRULE1(verbPath) },
10781
- { ALT: () => SUBRULE1(verbSimple) }
10782
- ]) : SUBRULE1(verb);
10804
+ { ALT: () => SUBRULE1(verbPath, void 0) },
10805
+ { ALT: () => SUBRULE1(verbSimple, void 0) }
10806
+ ]) : SUBRULE1(verb, void 0);
10783
10807
  const triples = SUBRULE1(
10784
10808
  allowPaths ? objectListPath : objectList,
10785
- subject,
10786
- predicate
10809
+ ACTION(() => ({ subject: arg.subject, predicate }))
10787
10810
  );
10788
10811
  ACTION(() => result.push(...triples));
10789
10812
  MANY2(() => {
@@ -10800,20 +10823,20 @@ var propertyListNotEmpty = propertyListNotEmptyImplementation("propertyListNotEm
10800
10823
  var propertyListPathNotEmpty = propertyListNotEmptyImplementation("propertyListPathNotEmpty", true);
10801
10824
  var verbPath = {
10802
10825
  name: "verbPath",
10803
- impl: ({ SUBRULE }) => () => SUBRULE(path)
10826
+ impl: ({ SUBRULE }) => () => SUBRULE(path, void 0)
10804
10827
  };
10805
10828
  var verbSimple = {
10806
10829
  name: "verbSimple",
10807
- impl: ({ SUBRULE }) => () => SUBRULE(var_)
10830
+ impl: ({ SUBRULE }) => () => SUBRULE(var_, void 0)
10808
10831
  };
10809
10832
  function objectListImpl(name, allowPaths) {
10810
10833
  return {
10811
10834
  name,
10812
- impl: ({ ACTION, SUBRULE, AT_LEAST_ONE_SEP }) => (subject, predicate) => {
10835
+ impl: ({ ACTION, SUBRULE, AT_LEAST_ONE_SEP }) => (_, arg) => {
10813
10836
  const objects = [];
10814
10837
  AT_LEAST_ONE_SEP({
10815
10838
  DEF: () => {
10816
- const objectTriples = SUBRULE(allowPaths ? objectPath : object, subject, predicate);
10839
+ const objectTriples = SUBRULE(allowPaths ? objectPath : object, arg);
10817
10840
  ACTION(() => objects.push(...objectTriples));
10818
10841
  },
10819
10842
  SEP: symbols_exports.comma
@@ -10827,10 +10850,10 @@ var objectListPath = objectListImpl("objectListPath", true);
10827
10850
  function objectImpl(name, allowPaths) {
10828
10851
  return {
10829
10852
  name,
10830
- impl: ({ ACTION, SUBRULE }) => (subject, predicate) => {
10831
- const node = SUBRULE(allowPaths ? graphNodePath : graphNode);
10853
+ impl: ({ ACTION, SUBRULE }) => (_, arg) => {
10854
+ const node = SUBRULE(allowPaths ? graphNodePath : graphNode, void 0);
10832
10855
  return ACTION(() => [
10833
- { subject, predicate, object: node.node },
10856
+ { subject: arg.subject, predicate: arg.predicate, object: node.node },
10834
10857
  ...node.triples
10835
10858
  ]);
10836
10859
  }
@@ -10841,26 +10864,26 @@ var objectPath = objectImpl("objectPath", true);
10841
10864
  var triplesNode = {
10842
10865
  name: "triplesNode",
10843
10866
  impl: ({ SUBRULE, OR }) => () => OR([
10844
- { ALT: () => SUBRULE(collection) },
10845
- { ALT: () => SUBRULE(blankNodePropertyList) }
10867
+ { ALT: () => SUBRULE(collection, void 0) },
10868
+ { ALT: () => SUBRULE(blankNodePropertyList, void 0) }
10846
10869
  ])
10847
10870
  };
10848
10871
  var triplesNodePath = {
10849
10872
  name: "triplesNodePath",
10850
10873
  impl: ({ SUBRULE, OR }) => () => OR([
10851
- { ALT: () => SUBRULE(collectionPath) },
10852
- { ALT: () => SUBRULE(blankNodePropertyListPath) }
10874
+ { ALT: () => SUBRULE(collectionPath, void 0) },
10875
+ { ALT: () => SUBRULE(blankNodePropertyListPath, void 0) }
10853
10876
  ])
10854
10877
  };
10855
10878
  function blankNodePropertyListImpl(name, allowPaths) {
10856
10879
  return {
10857
10880
  name,
10858
- impl: ({ ACTION, SUBRULE, CONSUME, context }) => () => {
10881
+ impl: ({ ACTION, SUBRULE, CONSUME }) => (C) => {
10859
10882
  CONSUME(symbols_exports.LSquare);
10860
10883
  let blankNode2;
10861
10884
  const propList = SUBRULE(
10862
10885
  allowPaths ? propertyListPathNotEmpty : propertyListNotEmpty,
10863
- ACTION(() => blankNode2 = context.dataFactory.blankNode())
10886
+ { subject: ACTION(() => blankNode2 = C.dataFactory.blankNode()) }
10864
10887
  );
10865
10888
  CONSUME(symbols_exports.RSquare);
10866
10889
  return ACTION(() => {
@@ -10877,21 +10900,20 @@ var blankNodePropertyListPath = blankNodePropertyListImpl("blankNodePropertyList
10877
10900
  function collectionImpl(name, allowPaths) {
10878
10901
  return {
10879
10902
  name,
10880
- impl: ({ ACTION, AT_LEAST_ONE, SUBRULE, CONSUME, context }) => () => {
10903
+ impl: ({ ACTION, AT_LEAST_ONE, SUBRULE, CONSUME }) => (C) => {
10881
10904
  const terms = [];
10882
- const dataFactory = context.dataFactory;
10883
10905
  CONSUME(symbols_exports.LParen);
10884
10906
  AT_LEAST_ONE(() => {
10885
- terms.push(SUBRULE(allowPaths ? graphNodePath : graphNode));
10907
+ terms.push(SUBRULE(allowPaths ? graphNodePath : graphNode, void 0));
10886
10908
  });
10887
10909
  CONSUME(symbols_exports.RParen);
10888
10910
  return ACTION(() => {
10889
10911
  const triples = [];
10890
10912
  const appendTriples = [];
10891
- const listHead = dataFactory.blankNode();
10913
+ const listHead = C.dataFactory.blankNode();
10892
10914
  let iterHead = listHead;
10893
- const predFirst = dataFactory.namedNode("http://www.w3.org/1999/02/22-rdf-syntax-ns#first" /* FIRST */);
10894
- const predRest = dataFactory.namedNode("http://www.w3.org/1999/02/22-rdf-syntax-ns#rest" /* REST */);
10915
+ const predFirst = C.dataFactory.namedNode("http://www.w3.org/1999/02/22-rdf-syntax-ns#first" /* FIRST */);
10916
+ const predRest = C.dataFactory.namedNode("http://www.w3.org/1999/02/22-rdf-syntax-ns#rest" /* REST */);
10895
10917
  for (const [index, term] of terms.entries()) {
10896
10918
  const headTriple = {
10897
10919
  subject: iterHead,
@@ -10904,11 +10926,11 @@ function collectionImpl(name, allowPaths) {
10904
10926
  const nilTriple = {
10905
10927
  subject: iterHead,
10906
10928
  predicate: predRest,
10907
- object: dataFactory.namedNode("http://www.w3.org/1999/02/22-rdf-syntax-ns#nil" /* NIL */)
10929
+ object: C.dataFactory.namedNode("http://www.w3.org/1999/02/22-rdf-syntax-ns#nil" /* NIL */)
10908
10930
  };
10909
10931
  triples.push(nilTriple);
10910
10932
  } else {
10911
- const tail = dataFactory.blankNode();
10933
+ const tail = C.dataFactory.blankNode();
10912
10934
  const linkTriple = {
10913
10935
  subject: iterHead,
10914
10936
  predicate: predRest,
@@ -10931,10 +10953,10 @@ var collectionPath = collectionImpl("collectionPath", true);
10931
10953
  function graphNodeImpl(name, allowPaths) {
10932
10954
  return {
10933
10955
  name,
10934
- impl: ({ SUBRULE, OR, context }) => () => OR([
10956
+ impl: ({ SUBRULE, OR }) => (C) => OR([
10935
10957
  {
10936
10958
  ALT: () => {
10937
- const val = SUBRULE(varOrTerm);
10959
+ const val = SUBRULE(varOrTerm, void 0);
10938
10960
  return {
10939
10961
  node: val,
10940
10962
  triples: []
@@ -10942,8 +10964,8 @@ function graphNodeImpl(name, allowPaths) {
10942
10964
  }
10943
10965
  },
10944
10966
  {
10945
- GATE: () => context.parseMode.has(canCreateBlankNodes),
10946
- ALT: () => SUBRULE(allowPaths ? triplesNodePath : triplesNode)
10967
+ GATE: () => C.parseMode.has("canCreateBlankNodes"),
10968
+ ALT: () => SUBRULE(allowPaths ? triplesNodePath : triplesNode, void 0)
10947
10969
  }
10948
10970
  ])
10949
10971
  };
@@ -10954,21 +10976,22 @@ var graphNodePath = graphNodeImpl("graphNodePath", true);
10954
10976
  // ../rules-sparql-1-1/lib/grammar/general.ts
10955
10977
  var prologue = {
10956
10978
  name: "prologue",
10957
- impl: ({ ACTION, SUBRULE, MANY, OR, context }) => () => {
10958
- const result = {
10979
+ impl: ({ ACTION, SUBRULE, MANY, OR }) => (C) => {
10980
+ const result = ACTION(() => ({
10959
10981
  prefixes: {},
10960
- ...context.baseIRI && { base: context.baseIRI }
10961
- };
10982
+ ...C.baseIRI && { base: C.baseIRI }
10983
+ }));
10962
10984
  MANY(() => {
10963
10985
  OR([
10964
10986
  {
10965
10987
  ALT: () => {
10966
- result.base = SUBRULE(baseDecl2);
10988
+ const base = SUBRULE(baseDecl2, void 0);
10989
+ ACTION(() => result.base = base);
10967
10990
  }
10968
10991
  },
10969
10992
  {
10970
10993
  ALT: () => {
10971
- const pref = SUBRULE(prefixDecl2);
10994
+ const pref = SUBRULE(prefixDecl2, void 0);
10972
10995
  ACTION(() => {
10973
10996
  const [name, value] = pref;
10974
10997
  result.prefixes[name] = value;
@@ -10982,38 +11005,38 @@ var prologue = {
10982
11005
  };
10983
11006
  var baseDecl2 = {
10984
11007
  name: "baseDecl",
10985
- impl: ({ CONSUME, ACTION, context }) => () => {
11008
+ impl: ({ CONSUME, ACTION }) => (C) => {
10986
11009
  CONSUME(baseDecl);
10987
11010
  const base = CONSUME(terminals_exports.iriRef).image.slice(1, -1);
10988
11011
  return ACTION(() => {
10989
- context.baseIRI = base;
11012
+ C.baseIRI = base;
10990
11013
  return base;
10991
11014
  });
10992
11015
  }
10993
11016
  };
10994
11017
  var prefixDecl2 = {
10995
11018
  name: "prefixDecl",
10996
- impl: ({ CONSUME, ACTION, context }) => () => {
11019
+ impl: ({ CONSUME, ACTION }) => (C) => {
10997
11020
  CONSUME(prefixDecl);
10998
11021
  const name = CONSUME(terminals_exports.pNameNs).image.slice(0, -1);
10999
11022
  const value = CONSUME(terminals_exports.iriRef).image.slice(1, -1);
11000
11023
  return ACTION(() => {
11001
- const fullIri = resolveIRI(value, context.baseIRI);
11002
- context.prefixes[name] = fullIri;
11024
+ const fullIri = resolveIRI(value, C.baseIRI);
11025
+ C.prefixes[name] = fullIri;
11003
11026
  return [name, fullIri];
11004
11027
  });
11005
11028
  }
11006
11029
  };
11007
11030
  var triplesTemplate = {
11008
11031
  name: "triplesTemplate",
11009
- impl: ({ ACTION, AT_LEAST_ONE, AT_LEAST_ONE_SEP, SUBRULE, CONSUME, OPTION }) => () => {
11032
+ impl: ({ ACTION, AT_LEAST_ONE, SUBRULE, CONSUME, OPTION }) => () => {
11010
11033
  const triples = [];
11011
11034
  let parsedDot = true;
11012
11035
  AT_LEAST_ONE({
11013
11036
  GATE: () => parsedDot,
11014
11037
  DEF: () => {
11015
11038
  parsedDot = false;
11016
- const template = SUBRULE(triplesSameSubject);
11039
+ const template = SUBRULE(triplesSameSubject, void 0);
11017
11040
  ACTION(() => {
11018
11041
  triples.push(...template);
11019
11042
  });
@@ -11029,644 +11052,271 @@ var triplesTemplate = {
11029
11052
  var verb = {
11030
11053
  name: "verb",
11031
11054
  impl: ({ SUBRULE, OR }) => () => OR([
11032
- { ALT: () => SUBRULE(varOrIri) },
11055
+ { ALT: () => SUBRULE(varOrIri, void 0) },
11033
11056
  {
11034
- ALT: () => SUBRULE(verbA)
11057
+ ALT: () => SUBRULE(verbA, void 0)
11035
11058
  }
11036
11059
  ])
11037
11060
  };
11038
11061
  var verbA = {
11039
11062
  name: "VerbA",
11040
- impl: ({ CONSUME, context }) => () => {
11063
+ impl: ({ ACTION, CONSUME }) => (C) => {
11041
11064
  CONSUME(a);
11042
- return context.dataFactory.namedNode("http://www.w3.org/1999/02/22-rdf-syntax-ns#type" /* TYPE */);
11065
+ return ACTION(() => C.dataFactory.namedNode("http://www.w3.org/1999/02/22-rdf-syntax-ns#type" /* TYPE */));
11043
11066
  }
11044
11067
  };
11045
11068
  var varOrTerm = {
11046
11069
  name: "varOrTerm",
11047
- impl: ({ SUBRULE, OR, context }) => () => OR([
11048
- { GATE: () => context.parseMode.has(canParseVars), ALT: () => SUBRULE(var_) },
11049
- { ALT: () => SUBRULE(graphTerm) }
11070
+ impl: ({ SUBRULE, OR }) => (C) => OR([
11071
+ { GATE: () => C.parseMode.has("canParseVars"), ALT: () => SUBRULE(var_, void 0) },
11072
+ { ALT: () => SUBRULE(graphTerm, void 0) }
11050
11073
  ])
11051
11074
  };
11052
11075
  var varOrIri = {
11053
11076
  name: "varOrIri",
11054
- impl: ({ SUBRULE, OR, context }) => () => OR([
11055
- { GATE: () => context.parseMode.has(canParseVars), ALT: () => SUBRULE(var_) },
11056
- { ALT: () => SUBRULE(iri2) }
11077
+ impl: ({ SUBRULE, OR }) => (C) => OR([
11078
+ { GATE: () => C.parseMode.has("canParseVars"), ALT: () => SUBRULE(var_, void 0) },
11079
+ { ALT: () => SUBRULE(iri2, void 0) }
11057
11080
  ])
11058
11081
  };
11059
- var canParseVars = Symbol("canParseVars");
11060
11082
  var var_ = {
11061
11083
  name: "var",
11062
- impl: ({ ACTION, CONSUME, OR, context }) => () => {
11063
- const result = OR([
11064
- { ALT: () => context.dataFactory.variable(CONSUME(terminals_exports.var1).image.slice(1)) },
11065
- { ALT: () => context.dataFactory.variable(CONSUME(terminals_exports.var2).image.slice(1)) }
11084
+ impl: ({ ACTION, CONSUME, OR }) => (C) => {
11085
+ const varVal = OR([
11086
+ { ALT: () => CONSUME(terminals_exports.var1).image.slice(1) },
11087
+ { ALT: () => CONSUME(terminals_exports.var2).image.slice(1) }
11066
11088
  ]);
11067
11089
  ACTION(() => {
11068
- if (!context.parseMode.has(canParseVars)) {
11090
+ if (!C.parseMode.has("canParseVars")) {
11069
11091
  throw new Error("Variables are not allowed here");
11070
11092
  }
11071
11093
  });
11072
- return result;
11094
+ return ACTION(() => C.dataFactory.variable(varVal));
11073
11095
  }
11074
11096
  };
11075
11097
  var graphTerm = {
11076
11098
  name: "graphTerm",
11077
- impl: ({ SUBRULE, CONSUME, OR, context }) => () => OR([
11078
- { ALT: () => SUBRULE(iri2) },
11079
- { ALT: () => SUBRULE(rdfLiteral) },
11080
- { ALT: () => SUBRULE(numericLiteral) },
11081
- { ALT: () => SUBRULE(booleanLiteral) },
11082
- { GATE: () => context.parseMode.has(canCreateBlankNodes), ALT: () => SUBRULE(blankNode) },
11099
+ impl: ({ ACTION, SUBRULE, CONSUME, OR }) => (C) => OR([
11100
+ { ALT: () => SUBRULE(iri2, void 0) },
11101
+ { ALT: () => SUBRULE(rdfLiteral, void 0) },
11102
+ { ALT: () => SUBRULE(numericLiteral, void 0) },
11103
+ { ALT: () => SUBRULE(booleanLiteral, void 0) },
11104
+ { GATE: () => C.parseMode.has("canCreateBlankNodes"), ALT: () => SUBRULE(blankNode, void 0) },
11083
11105
  {
11084
11106
  ALT: () => {
11085
11107
  CONSUME(terminals_exports.nil);
11086
- return context.dataFactory.namedNode("http://www.w3.org/1999/02/22-rdf-syntax-ns#nil" /* NIL */);
11108
+ return ACTION(() => C.dataFactory.namedNode("http://www.w3.org/1999/02/22-rdf-syntax-ns#nil" /* NIL */));
11087
11109
  }
11088
11110
  }
11089
11111
  ])
11090
11112
  };
11091
11113
 
11092
- // ../rules-sparql-1-1/lib/grammar/expression.ts
11093
- var argList = {
11094
- name: "argList",
11095
- impl: ({ CONSUME, SUBRULE1, OPTION, OR, MANY_SEP }) => () => OR([
11096
- {
11097
- ALT: () => {
11098
- CONSUME(terminals_exports.nil);
11099
- return {
11100
- type: "functionCall",
11101
- args: [],
11102
- distinct: false
11103
- };
11114
+ // ../rules-sparql-1-1/lib/utils.ts
11115
+ function deGroupSingle(group) {
11116
+ return group.patterns.length === 1 ? group.patterns[0] : group;
11117
+ }
11118
+ function isVariable(term) {
11119
+ return "termType" in term && term.termType === "Variable";
11120
+ }
11121
+
11122
+ // ../rules-sparql-1-1/lib/grammar/whereClause.ts
11123
+ var whereClause = {
11124
+ name: "whereClause",
11125
+ impl: ({ ACTION, SUBRULE, CONSUME, OPTION }) => () => {
11126
+ OPTION(() => {
11127
+ CONSUME(where);
11128
+ });
11129
+ const group = SUBRULE(groupGraphPattern, void 0);
11130
+ return ACTION(() => group.patterns);
11131
+ }
11132
+ };
11133
+ var groupGraphPattern = {
11134
+ name: "groupGraphPattern",
11135
+ impl: ({ SUBRULE, CONSUME, OR }) => () => {
11136
+ CONSUME(symbols_exports.LCurly);
11137
+ const patterns = OR([
11138
+ { ALT: () => [SUBRULE(subSelect, void 0)] },
11139
+ { ALT: () => SUBRULE(groupGraphPatternSub, void 0) }
11140
+ ]);
11141
+ CONSUME(symbols_exports.RCurly);
11142
+ return {
11143
+ type: "group",
11144
+ patterns
11145
+ };
11146
+ }
11147
+ };
11148
+ function findBoundVarsFromGroupGraphPattern(pattern, boundedVars) {
11149
+ if ("triples" in pattern) {
11150
+ for (const triple of pattern.triples) {
11151
+ if (isVariable(triple.subject)) {
11152
+ boundedVars.add(triple.subject.value);
11104
11153
  }
11105
- },
11106
- {
11107
- ALT: () => {
11108
- const args = [];
11109
- CONSUME(symbols_exports.LParen);
11110
- const distinct2 = OPTION(() => CONSUME(distinct)) && true;
11111
- MANY_SEP({
11112
- DEF: () => args.push(SUBRULE1(expression)),
11113
- SEP: symbols_exports.comma
11114
- });
11115
- CONSUME(symbols_exports.RParen);
11116
- return {
11117
- type: "functionCall",
11118
- args,
11119
- distinct: Boolean(distinct2)
11120
- };
11154
+ if (isVariable(triple.predicate)) {
11155
+ boundedVars.add(triple.predicate.value);
11156
+ }
11157
+ if (isVariable(triple.object)) {
11158
+ boundedVars.add(triple.object.value);
11121
11159
  }
11122
11160
  }
11123
- ])
11124
- };
11125
- var expressionList = {
11126
- name: "expressionList",
11127
- impl: ({ CONSUME, SUBRULE, MANY_SEP, OR }) => () => OR([
11128
- {
11129
- ALT: () => {
11130
- CONSUME(terminals_exports.nil);
11131
- return [];
11161
+ } else if ("patterns" in pattern) {
11162
+ for (const pat of pattern.patterns) {
11163
+ findBoundVarsFromGroupGraphPattern(pat, boundedVars);
11164
+ }
11165
+ }
11166
+ }
11167
+ var groupGraphPatternSub = {
11168
+ name: "groupGraphPatternSub",
11169
+ impl: ({ ACTION, SUBRULE, CONSUME, MANY, SUBRULE1, SUBRULE2, OPTION1, OPTION2, OPTION3 }) => () => {
11170
+ const patterns = [];
11171
+ const bgpPattern = OPTION1(() => SUBRULE1(triplesBlock, void 0));
11172
+ ACTION(() => {
11173
+ if (bgpPattern) {
11174
+ patterns.push(bgpPattern);
11132
11175
  }
11133
- },
11134
- {
11135
- ALT: () => {
11136
- const args = [];
11137
- CONSUME(symbols_exports.LParen);
11138
- MANY_SEP({
11139
- SEP: symbols_exports.comma,
11140
- DEF: () => {
11141
- args.push(SUBRULE(expression));
11176
+ });
11177
+ MANY(() => {
11178
+ const notTriples = SUBRULE(graphPatternNotTriples, void 0);
11179
+ patterns.push(notTriples);
11180
+ OPTION2(() => CONSUME(symbols_exports.dot));
11181
+ const moreTriples = OPTION3(() => SUBRULE2(triplesBlock, void 0));
11182
+ ACTION(() => {
11183
+ if (moreTriples) {
11184
+ patterns.push(moreTriples);
11185
+ }
11186
+ });
11187
+ });
11188
+ ACTION(() => {
11189
+ const boundedVars = /* @__PURE__ */ new Set();
11190
+ for (const pattern of patterns) {
11191
+ if (pattern.type === "bind") {
11192
+ if (boundedVars.has(pattern.variable.value)) {
11193
+ throw new Error(`Variable used to bind is already bound (?${pattern.variable.value})`);
11142
11194
  }
11143
- });
11144
- CONSUME(symbols_exports.RParen);
11145
- return args;
11195
+ } else if (pattern.type === "group" || pattern.type === "bgp") {
11196
+ findBoundVarsFromGroupGraphPattern(pattern, boundedVars);
11197
+ }
11146
11198
  }
11147
- }
11199
+ });
11200
+ return patterns;
11201
+ }
11202
+ };
11203
+ var graphPatternNotTriples = {
11204
+ name: "graphPatternNotTriples",
11205
+ impl: ({ SUBRULE, OR }) => () => OR([
11206
+ { ALT: () => SUBRULE(groupOrUnionGraphPattern, void 0) },
11207
+ { ALT: () => SUBRULE(optionalGraphPattern, void 0) },
11208
+ { ALT: () => SUBRULE(minusGraphPattern, void 0) },
11209
+ { ALT: () => SUBRULE(graphGraphPattern, void 0) },
11210
+ { ALT: () => SUBRULE(serviceGraphPattern, void 0) },
11211
+ { ALT: () => SUBRULE(filter3, void 0) },
11212
+ { ALT: () => SUBRULE(bind2, void 0) },
11213
+ { ALT: () => SUBRULE(inlineData, void 0) }
11148
11214
  ])
11149
11215
  };
11150
- var expression = {
11151
- name: "expression",
11152
- impl: ({ SUBRULE }) => () => SUBRULE(conditionalOrExpression)
11216
+ var optionalGraphPattern = {
11217
+ name: "optionalGraphPattern",
11218
+ impl: ({ ACTION, SUBRULE, CONSUME }) => () => {
11219
+ CONSUME(optional);
11220
+ const group = SUBRULE(groupGraphPattern, void 0);
11221
+ return ACTION(() => ({
11222
+ type: "optional",
11223
+ patterns: group.patterns
11224
+ }));
11225
+ }
11153
11226
  };
11154
- function constructLeftDeep(startGenerator, restGenerator, ACTION, MANY) {
11155
- let iterExpr = startGenerator();
11156
- MANY(() => {
11157
- const res = restGenerator();
11158
- ACTION(() => {
11159
- iterExpr = {
11160
- type: "operation",
11161
- operator: res.operator,
11162
- args: [iterExpr, res.expr]
11163
- };
11164
- });
11165
- });
11166
- return iterExpr;
11167
- }
11168
- var conditionalOrExpression = {
11169
- name: "conditionalOrExpression",
11170
- impl: ({ ACTION, MANY, CONSUME, SUBRULE1, SUBRULE2 }) => () => constructLeftDeep(() => SUBRULE1(conditionalAndExpression), () => {
11171
- CONSUME(symbols_exports.logicOr);
11227
+ var graphGraphPattern = {
11228
+ name: "graphGraphPattern",
11229
+ impl: ({ ACTION, SUBRULE, CONSUME }) => () => {
11230
+ CONSUME(graph_exports.graph);
11231
+ const name = SUBRULE(varOrIri, void 0);
11232
+ const group = SUBRULE(groupGraphPattern, void 0);
11233
+ return ACTION(() => ({
11234
+ type: "graph",
11235
+ name,
11236
+ patterns: group.patterns
11237
+ }));
11238
+ }
11239
+ };
11240
+ var serviceGraphPattern = {
11241
+ name: "serviceGraphPattern",
11242
+ impl: ({ SUBRULE, CONSUME, OPTION }) => () => {
11243
+ CONSUME(service);
11244
+ const silent2 = Boolean(OPTION(() => CONSUME(silent)));
11245
+ const name = SUBRULE(varOrIri, void 0);
11246
+ const group = SUBRULE(groupGraphPattern, void 0);
11172
11247
  return {
11173
- expr: SUBRULE2(conditionalAndExpression),
11174
- operator: "||"
11248
+ type: "service",
11249
+ name,
11250
+ silent: silent2,
11251
+ patterns: group.patterns
11175
11252
  };
11176
- }, ACTION, MANY)
11177
- };
11178
- var conditionalAndExpression = {
11179
- name: "conditionalAndExpression",
11180
- impl: ({ ACTION, MANY, SUBRULE1, SUBRULE2, CONSUME }) => () => constructLeftDeep(
11181
- () => SUBRULE1(valueLogical),
11182
- () => {
11183
- CONSUME(symbols_exports.logicAnd);
11184
- return {
11185
- expr: SUBRULE2(valueLogical),
11186
- operator: "&&"
11187
- };
11188
- },
11189
- ACTION,
11190
- MANY
11191
- )
11253
+ }
11192
11254
  };
11193
- var valueLogical = {
11194
- name: "valueLogical",
11195
- impl: ({ SUBRULE }) => () => SUBRULE(relationalExpression)
11255
+ var bind2 = {
11256
+ name: "bind",
11257
+ impl: ({ SUBRULE, CONSUME }) => () => {
11258
+ CONSUME(bind);
11259
+ CONSUME(symbols_exports.LParen);
11260
+ const expressionVal = SUBRULE(expression, void 0);
11261
+ CONSUME(as);
11262
+ const variable = SUBRULE(var_, void 0);
11263
+ CONSUME(symbols_exports.RParen);
11264
+ return {
11265
+ type: "bind",
11266
+ variable,
11267
+ expression: expressionVal
11268
+ };
11269
+ }
11196
11270
  };
11197
- var relationalExpression = {
11198
- name: "relationalExpression",
11199
- impl: ({ ACTION, CONSUME, SUBRULE1, SUBRULE2, OPTION, OR, SUBRULE3, SUBRULE4, SUBRULE5, SUBRULE6, SUBRULE7 }) => () => {
11200
- const args1 = SUBRULE1(numericExpression);
11201
- const arg2 = OPTION(() => OR([
11202
- {
11203
- ALT: () => {
11204
- CONSUME(symbols_exports.equal);
11205
- const expr = SUBRULE2(numericExpression);
11206
- return { operator: "=", args: expr };
11207
- }
11208
- },
11209
- {
11210
- ALT: () => {
11211
- CONSUME(symbols_exports.notEqual);
11212
- const expr = SUBRULE3(numericExpression);
11213
- return { operator: "!=", args: expr };
11214
- }
11215
- },
11216
- {
11217
- ALT: () => {
11218
- CONSUME(symbols_exports.lessThan);
11219
- const expr = SUBRULE4(numericExpression);
11220
- return { operator: "<", args: expr };
11221
- }
11222
- },
11223
- {
11224
- ALT: () => {
11225
- CONSUME(symbols_exports.greaterThan);
11226
- const expr = SUBRULE5(numericExpression);
11227
- return { operator: ">", args: expr };
11228
- }
11229
- },
11230
- {
11231
- ALT: () => {
11232
- CONSUME(symbols_exports.lessThanEqual);
11233
- const expr = SUBRULE6(numericExpression);
11234
- return { operator: "<=", args: expr };
11235
- }
11236
- },
11237
- {
11238
- ALT: () => {
11239
- CONSUME(symbols_exports.greaterThanEqual);
11240
- const expr = SUBRULE7(numericExpression);
11241
- return { operator: ">=", args: expr };
11242
- }
11243
- },
11244
- {
11245
- ALT: () => {
11246
- CONSUME(in_);
11247
- const args = SUBRULE1(expressionList);
11248
- return { operator: "in", args };
11249
- }
11250
- },
11251
- {
11252
- ALT: () => {
11253
- CONSUME(notIn);
11254
- const args = SUBRULE2(expressionList);
11255
- return { operator: "notin", args };
11256
- }
11257
- }
11258
- ]));
11259
- if (!arg2) {
11260
- return args1;
11261
- }
11262
- return ACTION(() => ({
11263
- type: "operation",
11264
- operator: arg2.operator,
11265
- args: [args1, arg2.args]
11266
- }));
11271
+ var inlineData = {
11272
+ name: "inlineData",
11273
+ impl: ({ SUBRULE, CONSUME }) => () => {
11274
+ CONSUME(values2);
11275
+ const values3 = SUBRULE(dataBlock, void 0);
11276
+ return {
11277
+ type: "values",
11278
+ values: values3
11279
+ };
11267
11280
  }
11268
11281
  };
11269
- var numericExpression = {
11270
- name: "numericExpression",
11271
- impl: ({ SUBRULE }) => () => SUBRULE(additiveExpression)
11272
- };
11273
- var additiveExpression = {
11274
- name: "additiveExpression",
11275
- impl: ({ ACTION, SUBRULE, CONSUME, SUBRULE1, SUBRULE2, SUBRULE3, MANY1, MANY2, OR1, OR2, OR3 }) => () => constructLeftDeep(
11276
- () => SUBRULE1(multiplicativeExpression),
11277
- () => OR1([
11278
- {
11279
- ALT: () => {
11280
- CONSUME(symbols_exports.opPlus);
11281
- return {
11282
- operator: "+",
11283
- expr: SUBRULE2(multiplicativeExpression)
11284
- };
11285
- }
11286
- },
11287
- {
11288
- ALT: () => {
11289
- CONSUME(symbols_exports.opMinus);
11290
- return {
11291
- operator: "-",
11292
- expr: SUBRULE3(multiplicativeExpression)
11293
- };
11294
- }
11295
- },
11296
- {
11297
- ALT: () => {
11298
- const { operator, args } = OR2([
11299
- {
11300
- ALT: () => {
11301
- const integer2 = SUBRULE(numericLiteralPositive);
11302
- return ACTION(() => {
11303
- integer2.value = integer2.value.replace(/^\+/u, "");
11304
- return {
11305
- operator: "+",
11306
- args: [integer2]
11307
- };
11308
- });
11309
- }
11310
- },
11311
- {
11312
- ALT: () => {
11313
- const integer2 = SUBRULE(numericLiteralNegative);
11314
- return ACTION(() => {
11315
- integer2.value = integer2.value.replace(/^-/u, "");
11316
- return {
11317
- operator: "-",
11318
- args: [integer2]
11319
- };
11320
- });
11321
- }
11322
- }
11323
- ]);
11324
- const expr = constructLeftDeep(
11325
- () => ACTION(() => args[0]),
11326
- () => OR3([
11327
- {
11328
- ALT: () => {
11329
- CONSUME(symbols_exports.star);
11330
- const expr2 = SUBRULE1(unaryExpression);
11331
- return {
11332
- operator: "*",
11333
- expr: expr2
11334
- };
11335
- }
11336
- },
11337
- {
11338
- ALT: () => {
11339
- CONSUME(symbols_exports.slash);
11340
- const expr2 = SUBRULE2(unaryExpression);
11341
- return {
11342
- operator: "/",
11343
- expr: expr2
11344
- };
11345
- }
11346
- }
11347
- ]),
11348
- ACTION,
11349
- MANY2
11350
- );
11351
- return {
11352
- operator,
11353
- expr
11354
- };
11355
- }
11356
- }
11357
- ]),
11358
- ACTION,
11359
- MANY1
11360
- )
11282
+ var dataBlock = {
11283
+ name: "dataBlock",
11284
+ impl: ({ SUBRULE, OR }) => () => OR([
11285
+ { ALT: () => SUBRULE(inlineDataOneVar, void 0) },
11286
+ { ALT: () => SUBRULE(inlineDataFull, void 0) }
11287
+ ])
11361
11288
  };
11362
- var multiplicativeExpression = {
11363
- name: "multiplicativeExpression",
11364
- impl: ({ ACTION, CONSUME, MANY, SUBRULE1, SUBRULE2, SUBRULE3, OR }) => () => constructLeftDeep(
11365
- () => SUBRULE1(unaryExpression),
11366
- () => OR([
11367
- {
11368
- ALT: () => {
11369
- CONSUME(symbols_exports.star);
11370
- const expr = SUBRULE2(unaryExpression);
11371
- return {
11372
- operator: "*",
11373
- expr
11374
- };
11375
- }
11376
- },
11377
- {
11378
- ALT: () => {
11379
- CONSUME(symbols_exports.slash);
11380
- const expr = SUBRULE3(unaryExpression);
11381
- return {
11382
- operator: "/",
11383
- expr
11384
- };
11385
- }
11386
- }
11387
- ]),
11388
- ACTION,
11389
- MANY
11390
- )
11289
+ var inlineDataOneVar = {
11290
+ name: "inlineDataOneVar",
11291
+ impl: ({ ACTION, SUBRULE, CONSUME, MANY }) => () => {
11292
+ const res = [];
11293
+ const varVal = SUBRULE(var_, void 0);
11294
+ CONSUME(symbols_exports.LCurly);
11295
+ MANY(() => {
11296
+ const value = SUBRULE(dataBlockValue, void 0);
11297
+ ACTION(() => res.push({
11298
+ [`?${varVal.value}`]: value
11299
+ }));
11300
+ });
11301
+ CONSUME(symbols_exports.RCurly);
11302
+ return res;
11303
+ }
11391
11304
  };
11392
- var unaryExpression = {
11393
- name: "unaryExpression",
11394
- impl: ({ CONSUME, SUBRULE1, SUBRULE2, SUBRULE3, SUBRULE4, OR }) => () => OR([
11395
- {
11396
- ALT: () => {
11397
- CONSUME(symbols_exports.exclamation);
11398
- const expr = SUBRULE1(primaryExpression);
11399
- return {
11400
- type: "operation",
11401
- operator: "!",
11402
- args: [expr]
11403
- };
11404
- }
11405
- },
11305
+ var inlineDataFull = {
11306
+ name: "inlineDataFull",
11307
+ impl: ({ ACTION, OR, MANY1, MANY2, MANY3, MANY4, SUBRULE, CONSUME1, CONSUME2 }) => () => OR([
11308
+ // Grammar rule 64 together with note 11 learns us that a nil should be followed by a nil in DataBlock.
11406
11309
  {
11407
11310
  ALT: () => {
11408
- CONSUME(symbols_exports.opPlus);
11409
- const expr = SUBRULE2(primaryExpression);
11410
- return {
11411
- type: "operation",
11412
- operator: "UPLUS",
11413
- args: [expr]
11414
- };
11415
- }
11416
- },
11417
- {
11418
- ALT: () => {
11419
- CONSUME(symbols_exports.opMinus);
11420
- const expr = SUBRULE3(primaryExpression);
11421
- return {
11422
- type: "operation",
11423
- operator: "UMINUS",
11424
- args: [expr]
11425
- };
11426
- }
11427
- },
11428
- { ALT: () => SUBRULE4(primaryExpression) }
11429
- ])
11430
- };
11431
- var primaryExpression = {
11432
- name: "primaryExpression",
11433
- impl: ({ SUBRULE, OR }) => () => OR([
11434
- { ALT: () => SUBRULE(brackettedExpression) },
11435
- { ALT: () => SUBRULE(builtInCall) },
11436
- { ALT: () => SUBRULE(iriOrFunction) },
11437
- { ALT: () => SUBRULE(rdfLiteral) },
11438
- { ALT: () => SUBRULE(numericLiteral) },
11439
- { ALT: () => SUBRULE(booleanLiteral) },
11440
- { ALT: () => SUBRULE(var_) }
11441
- ])
11442
- };
11443
- var brackettedExpression = {
11444
- name: "brackettedExpression",
11445
- impl: ({ SUBRULE, CONSUME }) => () => {
11446
- CONSUME(symbols_exports.LParen);
11447
- const expr = SUBRULE(expression);
11448
- CONSUME(symbols_exports.RParen);
11449
- return expr;
11450
- }
11451
- };
11452
- var iriOrFunction = {
11453
- name: "iriOrFunction",
11454
- impl: ({ SUBRULE, OPTION }) => () => {
11455
- const iriVal = SUBRULE(iri2);
11456
- const args = OPTION(() => SUBRULE(argList));
11457
- return args ? {
11458
- ...args,
11459
- function: iriVal
11460
- } : iriVal;
11461
- }
11462
- };
11463
-
11464
- // ../rules-sparql-1-1/lib/utils.ts
11465
- function deGroupSingle(group) {
11466
- return group.patterns.length === 1 ? group.patterns[0] : group;
11467
- }
11468
- function isVariable(term) {
11469
- return "termType" in term && term.termType === "Variable";
11470
- }
11471
-
11472
- // ../rules-sparql-1-1/lib/grammar/whereClause.ts
11473
- var whereClause = {
11474
- name: "whereClause",
11475
- impl: ({ ACTION, SUBRULE, CONSUME, OPTION }) => () => {
11476
- OPTION(() => {
11477
- CONSUME(where);
11478
- });
11479
- const group = SUBRULE(groupGraphPattern);
11480
- return ACTION(() => group.patterns);
11481
- }
11482
- };
11483
- var groupGraphPattern = {
11484
- name: "groupGraphPattern",
11485
- impl: ({ SUBRULE, CONSUME, OR }) => () => {
11486
- CONSUME(symbols_exports.LCurly);
11487
- const patterns = OR([
11488
- { ALT: () => [SUBRULE(subSelect)] },
11489
- { ALT: () => SUBRULE(groupGraphPatternSub) }
11490
- ]);
11491
- CONSUME(symbols_exports.RCurly);
11492
- return {
11493
- type: "group",
11494
- patterns
11495
- };
11496
- }
11497
- };
11498
- function findBoundVarsFromGroupGraphPattern(pattern, boundedVars) {
11499
- if ("triples" in pattern) {
11500
- for (const triple of pattern.triples) {
11501
- if (isVariable(triple.subject)) {
11502
- boundedVars.add(triple.subject.value);
11503
- }
11504
- if (isVariable(triple.predicate)) {
11505
- boundedVars.add(triple.predicate.value);
11506
- }
11507
- if (isVariable(triple.object)) {
11508
- boundedVars.add(triple.object.value);
11509
- }
11510
- }
11511
- } else if ("patterns" in pattern) {
11512
- for (const pat of pattern.patterns) {
11513
- findBoundVarsFromGroupGraphPattern(pat, boundedVars);
11514
- }
11515
- }
11516
- }
11517
- var groupGraphPatternSub = {
11518
- name: "groupGraphPatternSub",
11519
- impl: ({ ACTION, SUBRULE, CONSUME, MANY, SUBRULE1, SUBRULE2, OPTION1, OPTION2, OPTION3 }) => () => {
11520
- const patterns = [];
11521
- const bgpPattern = OPTION1(() => SUBRULE1(triplesBlock));
11522
- ACTION(() => {
11523
- if (bgpPattern) {
11524
- patterns.push(bgpPattern);
11525
- }
11526
- });
11527
- MANY(() => {
11528
- const notTriples = SUBRULE(graphPatternNotTriples);
11529
- patterns.push(notTriples);
11530
- OPTION2(() => CONSUME(symbols_exports.dot));
11531
- const moreTriples = OPTION3(() => SUBRULE2(triplesBlock));
11532
- ACTION(() => {
11533
- if (moreTriples) {
11534
- patterns.push(moreTriples);
11535
- }
11536
- });
11537
- });
11538
- ACTION(() => {
11539
- const boundedVars = /* @__PURE__ */ new Set();
11540
- for (const pattern of patterns) {
11541
- if (pattern.type === "bind") {
11542
- if (boundedVars.has(pattern.variable.value)) {
11543
- throw new Error(`Variable used to bind is already bound (?${pattern.variable.value})`);
11544
- }
11545
- } else if (pattern.type === "group" || pattern.type === "bgp") {
11546
- findBoundVarsFromGroupGraphPattern(pattern, boundedVars);
11547
- }
11548
- }
11549
- });
11550
- return patterns;
11551
- }
11552
- };
11553
- var graphPatternNotTriples = {
11554
- name: "graphPatternNotTriples",
11555
- impl: ({ SUBRULE, OR }) => () => OR([
11556
- { ALT: () => SUBRULE(groupOrUnionGraphPattern) },
11557
- { ALT: () => SUBRULE(optionalGraphPattern) },
11558
- { ALT: () => SUBRULE(minusGraphPattern) },
11559
- { ALT: () => SUBRULE(graphGraphPattern) },
11560
- { ALT: () => SUBRULE(serviceGraphPattern) },
11561
- { ALT: () => SUBRULE(filter3) },
11562
- { ALT: () => SUBRULE(bind2) },
11563
- { ALT: () => SUBRULE(inlineData) }
11564
- ])
11565
- };
11566
- var optionalGraphPattern = {
11567
- name: "optionalGraphPattern",
11568
- impl: ({ ACTION, SUBRULE, CONSUME }) => () => {
11569
- CONSUME(optional);
11570
- const group = SUBRULE(groupGraphPattern);
11571
- return ACTION(() => ({
11572
- type: "optional",
11573
- patterns: group.patterns
11574
- }));
11575
- }
11576
- };
11577
- var graphGraphPattern = {
11578
- name: "graphGraphPattern",
11579
- impl: ({ ACTION, SUBRULE, CONSUME }) => () => {
11580
- CONSUME(graph_exports.graph);
11581
- const name = SUBRULE(varOrIri);
11582
- const group = SUBRULE(groupGraphPattern);
11583
- return ACTION(() => ({
11584
- type: "graph",
11585
- name,
11586
- patterns: group.patterns
11587
- }));
11588
- }
11589
- };
11590
- var serviceGraphPattern = {
11591
- name: "serviceGraphPattern",
11592
- impl: ({ SUBRULE, CONSUME, OPTION }) => () => {
11593
- CONSUME(service);
11594
- const silent2 = Boolean(OPTION(() => CONSUME(silent)));
11595
- const name = SUBRULE(varOrIri);
11596
- const group = SUBRULE(groupGraphPattern);
11597
- return {
11598
- type: "service",
11599
- name,
11600
- silent: silent2,
11601
- patterns: group.patterns
11602
- };
11603
- }
11604
- };
11605
- var bind2 = {
11606
- name: "bind",
11607
- impl: ({ SUBRULE, CONSUME }) => () => {
11608
- CONSUME(bind);
11609
- CONSUME(symbols_exports.LParen);
11610
- const expressionVal = SUBRULE(expression);
11611
- CONSUME(as);
11612
- const variable = SUBRULE(var_);
11613
- CONSUME(symbols_exports.RParen);
11614
- return {
11615
- type: "bind",
11616
- variable,
11617
- expression: expressionVal
11618
- };
11619
- }
11620
- };
11621
- var inlineData = {
11622
- name: "inlineData",
11623
- impl: ({ SUBRULE, CONSUME }) => () => {
11624
- CONSUME(values2);
11625
- const values3 = SUBRULE(dataBlock);
11626
- return {
11627
- type: "values",
11628
- values: values3
11629
- };
11630
- }
11631
- };
11632
- var dataBlock = {
11633
- name: "dataBlock",
11634
- impl: ({ SUBRULE, OR }) => () => OR([
11635
- { ALT: () => SUBRULE(inlineDataOneVar) },
11636
- { ALT: () => SUBRULE(inlineDataFull) }
11637
- ])
11638
- };
11639
- var inlineDataOneVar = {
11640
- name: "inlineDataOneVar",
11641
- impl: ({ ACTION, SUBRULE, CONSUME, MANY }) => () => {
11642
- const res = [];
11643
- const varVal = SUBRULE(var_);
11644
- CONSUME(symbols_exports.LCurly);
11645
- MANY(() => {
11646
- const value = SUBRULE(dataBlockValue);
11647
- ACTION(() => res.push({
11648
- [`?${varVal.value}`]: value
11649
- }));
11650
- });
11651
- CONSUME(symbols_exports.RCurly);
11652
- return res;
11653
- }
11654
- };
11655
- var inlineDataFull = {
11656
- name: "inlineDataFull",
11657
- impl: ({ ACTION, OR, MANY1, MANY2, MANY3, MANY4, SUBRULE, CONSUME1, CONSUME2 }) => () => OR([
11658
- // Grammar rule 64 together with note 11 learns us that a nil should be followed by a nil in DataBlock.
11659
- {
11660
- ALT: () => {
11661
- const res = [];
11662
- CONSUME1(terminals_exports.nil);
11663
- CONSUME1(symbols_exports.LCurly);
11664
- MANY1(() => {
11665
- CONSUME2(terminals_exports.nil);
11666
- res.push({});
11667
- });
11668
- CONSUME1(symbols_exports.RCurly);
11669
- return res;
11311
+ const res = [];
11312
+ CONSUME1(terminals_exports.nil);
11313
+ CONSUME1(symbols_exports.LCurly);
11314
+ MANY1(() => {
11315
+ CONSUME2(terminals_exports.nil);
11316
+ res.push({});
11317
+ });
11318
+ CONSUME1(symbols_exports.RCurly);
11319
+ return res;
11670
11320
  }
11671
11321
  },
11672
11322
  {
@@ -11675,7 +11325,7 @@ var inlineDataFull = {
11675
11325
  const vars = [];
11676
11326
  CONSUME1(symbols_exports.LParen);
11677
11327
  MANY2(() => {
11678
- vars.push(SUBRULE(var_));
11328
+ vars.push(SUBRULE(var_, void 0));
11679
11329
  });
11680
11330
  CONSUME1(symbols_exports.RParen);
11681
11331
  CONSUME2(symbols_exports.LCurly);
@@ -11689,7 +11339,7 @@ var inlineDataFull = {
11689
11339
  throw new Error("Number of dataBlockValues does not match number of variables. Too much values.");
11690
11340
  }
11691
11341
  });
11692
- varBinds.push(SUBRULE(dataBlockValue));
11342
+ varBinds.push(SUBRULE(dataBlockValue, void 0));
11693
11343
  }
11694
11344
  });
11695
11345
  CONSUME2(symbols_exports.RParen);
@@ -11713,10 +11363,10 @@ var inlineDataFull = {
11713
11363
  var dataBlockValue = {
11714
11364
  name: "dataBlockValue",
11715
11365
  impl: ({ SUBRULE, CONSUME, OR }) => () => OR([
11716
- { ALT: () => SUBRULE(iri2) },
11717
- { ALT: () => SUBRULE(rdfLiteral) },
11718
- { ALT: () => SUBRULE(numericLiteral) },
11719
- { ALT: () => SUBRULE(booleanLiteral) },
11366
+ { ALT: () => SUBRULE(iri2, void 0) },
11367
+ { ALT: () => SUBRULE(rdfLiteral, void 0) },
11368
+ { ALT: () => SUBRULE(numericLiteral, void 0) },
11369
+ { ALT: () => SUBRULE(booleanLiteral, void 0) },
11720
11370
  {
11721
11371
  ALT: () => {
11722
11372
  CONSUME(undef);
@@ -11729,7 +11379,7 @@ var minusGraphPattern = {
11729
11379
  name: "minusGraphPattern",
11730
11380
  impl: ({ ACTION, SUBRULE, CONSUME }) => () => {
11731
11381
  CONSUME(minus);
11732
- const group = SUBRULE(groupGraphPattern);
11382
+ const group = SUBRULE(groupGraphPattern, void 0);
11733
11383
  return ACTION(() => ({
11734
11384
  type: "minus",
11735
11385
  patterns: group.patterns
@@ -11742,7 +11392,7 @@ var groupOrUnionGraphPattern = {
11742
11392
  const groups = [];
11743
11393
  AT_LEAST_ONE_SEP({
11744
11394
  DEF: () => {
11745
- const group = SUBRULE(groupGraphPattern);
11395
+ const group = SUBRULE(groupGraphPattern, void 0);
11746
11396
  groups.push(group);
11747
11397
  },
11748
11398
  SEP: union
@@ -11757,7 +11407,7 @@ var filter3 = {
11757
11407
  name: "filter",
11758
11408
  impl: ({ SUBRULE, CONSUME }) => () => {
11759
11409
  CONSUME(filter2);
11760
- const expression2 = SUBRULE(constraint);
11410
+ const expression2 = SUBRULE(constraint, void 0);
11761
11411
  return {
11762
11412
  type: "filter",
11763
11413
  expression: expression2
@@ -11767,16 +11417,16 @@ var filter3 = {
11767
11417
  var constraint = {
11768
11418
  name: "constraint",
11769
11419
  impl: ({ SUBRULE, OR }) => () => OR([
11770
- { ALT: () => SUBRULE(brackettedExpression) },
11771
- { ALT: () => SUBRULE(builtInCall) },
11772
- { ALT: () => SUBRULE(functionCall) }
11420
+ { ALT: () => SUBRULE(brackettedExpression, void 0) },
11421
+ { ALT: () => SUBRULE(builtInCall, void 0) },
11422
+ { ALT: () => SUBRULE(functionCall, void 0) }
11773
11423
  ])
11774
11424
  };
11775
11425
  var functionCall = {
11776
11426
  name: "functionCall",
11777
11427
  impl: ({ ACTION, SUBRULE }) => () => {
11778
- const func = SUBRULE(iri2);
11779
- const args = SUBRULE(argList);
11428
+ const func = SUBRULE(iri2, void 0);
11429
+ const args = SUBRULE(argList, void 0);
11780
11430
  return ACTION(() => ({
11781
11431
  ...args,
11782
11432
  function: func
@@ -11794,7 +11444,7 @@ function funcExpr1(func) {
11794
11444
  impl: ({ SUBRULE, CONSUME }) => () => {
11795
11445
  const operator = CONSUME(func);
11796
11446
  CONSUME(symbols_exports.LParen);
11797
- const arg = SUBRULE(expression);
11447
+ const arg = SUBRULE(expression, void 0);
11798
11448
  CONSUME(symbols_exports.RParen);
11799
11449
  return {
11800
11450
  type: "operation",
@@ -11810,9 +11460,9 @@ function funcExpr2(func) {
11810
11460
  impl: ({ SUBRULE1, SUBRULE2, CONSUME }) => () => {
11811
11461
  const operator = CONSUME(func);
11812
11462
  CONSUME(symbols_exports.LParen);
11813
- const arg1 = SUBRULE1(expression);
11463
+ const arg1 = SUBRULE1(expression, void 0);
11814
11464
  CONSUME(symbols_exports.comma);
11815
- const arg2 = SUBRULE2(expression);
11465
+ const arg2 = SUBRULE2(expression, void 0);
11816
11466
  CONSUME(symbols_exports.RParen);
11817
11467
  return {
11818
11468
  type: "operation",
@@ -11828,11 +11478,11 @@ function funcExpr3(func) {
11828
11478
  impl: ({ SUBRULE1, SUBRULE2, SUBRULE3, CONSUME, CONSUME1, CONSUME2 }) => () => {
11829
11479
  const operator = CONSUME(func);
11830
11480
  CONSUME(symbols_exports.LParen);
11831
- const arg1 = SUBRULE1(expression);
11481
+ const arg1 = SUBRULE1(expression, void 0);
11832
11482
  CONSUME1(symbols_exports.comma);
11833
- const arg2 = SUBRULE2(expression);
11483
+ const arg2 = SUBRULE2(expression, void 0);
11834
11484
  CONSUME2(symbols_exports.comma);
11835
- const arg3 = SUBRULE3(expression);
11485
+ const arg3 = SUBRULE3(expression, void 0);
11836
11486
  CONSUME(symbols_exports.RParen);
11837
11487
  return {
11838
11488
  type: "operation",
@@ -11848,7 +11498,7 @@ function funcVar1(func) {
11848
11498
  impl: ({ SUBRULE, CONSUME }) => () => {
11849
11499
  const operator = CONSUME(func);
11850
11500
  CONSUME(symbols_exports.LParen);
11851
- const arg = SUBRULE(var_);
11501
+ const arg = SUBRULE(var_, void 0);
11852
11502
  CONSUME(symbols_exports.RParen);
11853
11503
  return {
11854
11504
  type: "operation",
@@ -11867,7 +11517,7 @@ function funcExprOrNil1(func) {
11867
11517
  {
11868
11518
  ALT: () => {
11869
11519
  CONSUME(symbols_exports.LParen);
11870
- const arg = SUBRULE(expression);
11520
+ const arg = SUBRULE(expression, void 0);
11871
11521
  CONSUME(symbols_exports.RParen);
11872
11522
  return [arg];
11873
11523
  }
@@ -11906,7 +11556,7 @@ function funcExprList1(func) {
11906
11556
  name: unCapitalize(func.name),
11907
11557
  impl: ({ CONSUME, SUBRULE }) => () => {
11908
11558
  const operator = CONSUME(func);
11909
- const args = SUBRULE(expressionList);
11559
+ const args = SUBRULE(expressionList, void 0);
11910
11560
  return {
11911
11561
  type: "operation",
11912
11562
  operator: formatOperator(operator.image),
@@ -11921,12 +11571,12 @@ function funcExpr2or3(func) {
11921
11571
  impl: ({ CONSUME, SUBRULE1, SUBRULE2, SUBRULE3, CONSUME1, OPTION, CONSUME2 }) => () => {
11922
11572
  const operator = CONSUME(func);
11923
11573
  CONSUME(symbols_exports.LParen);
11924
- const arg1 = SUBRULE1(expression);
11574
+ const arg1 = SUBRULE1(expression, void 0);
11925
11575
  CONSUME1(symbols_exports.comma);
11926
- const arg2 = SUBRULE2(expression);
11576
+ const arg2 = SUBRULE2(expression, void 0);
11927
11577
  const arg3 = OPTION(() => {
11928
11578
  CONSUME2(symbols_exports.comma);
11929
- return SUBRULE3(expression);
11579
+ return SUBRULE3(expression, void 0);
11930
11580
  });
11931
11581
  CONSUME(symbols_exports.RParen);
11932
11582
  return {
@@ -11943,14 +11593,14 @@ function funcExpr3or4(func) {
11943
11593
  impl: ({ CONSUME, SUBRULE1, SUBRULE2, SUBRULE3, CONSUME1, OPTION, CONSUME2, SUBRULE4, CONSUME3 }) => () => {
11944
11594
  const operator = CONSUME(func);
11945
11595
  CONSUME(symbols_exports.LParen);
11946
- const arg1 = SUBRULE1(expression);
11596
+ const arg1 = SUBRULE1(expression, void 0);
11947
11597
  CONSUME1(symbols_exports.comma);
11948
- const arg2 = SUBRULE2(expression);
11598
+ const arg2 = SUBRULE2(expression, void 0);
11949
11599
  CONSUME2(symbols_exports.comma);
11950
- const arg3 = SUBRULE3(expression);
11600
+ const arg3 = SUBRULE3(expression, void 0);
11951
11601
  const arg4 = OPTION(() => {
11952
11602
  CONSUME3(symbols_exports.comma);
11953
- return SUBRULE4(expression);
11603
+ return SUBRULE4(expression, void 0);
11954
11604
  });
11955
11605
  CONSUME(symbols_exports.RParen);
11956
11606
  return {
@@ -11966,7 +11616,7 @@ function funcGroupGraphPattern(func) {
11966
11616
  name: unCapitalize(func.name),
11967
11617
  impl: ({ ACTION, SUBRULE, CONSUME }) => () => {
11968
11618
  const operator = CONSUME(func);
11969
- const group = SUBRULE(groupGraphPattern);
11619
+ const group = SUBRULE(groupGraphPattern, void 0);
11970
11620
  return ACTION(() => ({
11971
11621
  type: "operation",
11972
11622
  operator: formatOperator(operator.image),
@@ -11989,7 +11639,7 @@ function baseAggregateFunc(func) {
11989
11639
  return new Wildcard();
11990
11640
  }
11991
11641
  },
11992
- { ALT: () => SUBRULE(expression) }
11642
+ { ALT: () => SUBRULE(expression, void 0) }
11993
11643
  ]);
11994
11644
  CONSUME(symbols_exports.RParen);
11995
11645
  return {
@@ -12017,236 +11667,579 @@ var builtInBnodeSparqlJs = {
12017
11667
  const args = OR([
12018
11668
  {
12019
11669
  ALT: () => {
12020
- CONSUME(symbols_exports.LParen);
12021
- const arg = SUBRULE(expression);
12022
- CONSUME(symbols_exports.RParen);
12023
- return [arg];
11670
+ CONSUME(symbols_exports.LParen);
11671
+ const arg = SUBRULE(expression, void 0);
11672
+ CONSUME(symbols_exports.RParen);
11673
+ return [arg];
11674
+ }
11675
+ },
11676
+ {
11677
+ ALT: () => {
11678
+ CONSUME(terminals_exports.nil);
11679
+ return [];
11680
+ }
11681
+ }
11682
+ ]);
11683
+ return {
11684
+ type: "operation",
11685
+ operator: operator.image,
11686
+ args
11687
+ };
11688
+ }
11689
+ };
11690
+ var builtInRand = funcNil1(BuildinCalls_exports.rand);
11691
+ var builtInAbs = funcExpr1(BuildinCalls_exports.abs);
11692
+ var builtInCeil = funcExpr1(BuildinCalls_exports.ceil);
11693
+ var builtInFloor = funcExpr1(BuildinCalls_exports.floor);
11694
+ var builtInRound = funcExpr1(BuildinCalls_exports.round);
11695
+ var builtInConcat = funcExprList1(BuildinCalls_exports.concat);
11696
+ var builtInStrlen = funcExpr1(BuildinCalls_exports.strlen);
11697
+ var builtInUcase = funcExpr1(BuildinCalls_exports.ucase);
11698
+ var builtInLcase = funcExpr1(BuildinCalls_exports.lcase);
11699
+ var builtInEncode_for_uri = funcExpr1(BuildinCalls_exports.encode_for_uri);
11700
+ var builtInContains = funcExpr2(BuildinCalls_exports.contains);
11701
+ var builtInStrstarts = funcExpr2(BuildinCalls_exports.strstarts);
11702
+ var builtInStrends = funcExpr2(BuildinCalls_exports.strends);
11703
+ var builtInStrbefore = funcExpr2(BuildinCalls_exports.strbefore);
11704
+ var builtInStrafter = funcExpr2(BuildinCalls_exports.strafter);
11705
+ var builtInYear = funcExpr1(BuildinCalls_exports.year);
11706
+ var builtInMonth = funcExpr1(BuildinCalls_exports.month);
11707
+ var builtInDay = funcExpr1(BuildinCalls_exports.day);
11708
+ var builtInHours = funcExpr1(BuildinCalls_exports.hours);
11709
+ var builtInMinutes = funcExpr1(BuildinCalls_exports.minutes);
11710
+ var builtInSeconds = funcExpr1(BuildinCalls_exports.seconds);
11711
+ var builtInTimezone = funcExpr1(BuildinCalls_exports.timezone);
11712
+ var builtInTz = funcExpr1(BuildinCalls_exports.tz);
11713
+ var builtInNow = funcNil1(BuildinCalls_exports.now);
11714
+ var builtInUuid = funcNil1(BuildinCalls_exports.uuid);
11715
+ var builtInStruuid = funcNil1(BuildinCalls_exports.struuid);
11716
+ var builtInMd5 = funcExpr1(BuildinCalls_exports.md5);
11717
+ var builtInSha1 = funcExpr1(BuildinCalls_exports.sha1);
11718
+ var builtInSha256 = funcExpr1(BuildinCalls_exports.sha256);
11719
+ var builtInSha384 = funcExpr1(BuildinCalls_exports.sha384);
11720
+ var builtInSha512 = funcExpr1(BuildinCalls_exports.sha512);
11721
+ var builtInCoalesce = funcExprList1(BuildinCalls_exports.coalesce);
11722
+ var builtInIf = funcExpr3(BuildinCalls_exports.if_);
11723
+ var builtInStrlang = funcExpr2(BuildinCalls_exports.strlang);
11724
+ var builtInStrdt = funcExpr2(BuildinCalls_exports.strdt);
11725
+ var builtInSameterm = funcExpr2(BuildinCalls_exports.sameterm);
11726
+ var builtInIsiri = funcExpr1(BuildinCalls_exports.isiri);
11727
+ var builtInIsuri = funcExpr1(BuildinCalls_exports.isuri);
11728
+ var builtInIsblank = funcExpr1(BuildinCalls_exports.isblank);
11729
+ var builtInIsliteral = funcExpr1(BuildinCalls_exports.isliteral);
11730
+ var builtInIsnumeric = funcExpr1(BuildinCalls_exports.isnumeric);
11731
+ function builtInCallList(SUBRULE) {
11732
+ return [
11733
+ { ALT: () => SUBRULE(aggregate, void 0) },
11734
+ { ALT: () => SUBRULE(builtInStr, void 0) },
11735
+ { ALT: () => SUBRULE(builtInLang, void 0) },
11736
+ { ALT: () => SUBRULE(builtInLangmatches, void 0) },
11737
+ { ALT: () => SUBRULE(builtInDatatype, void 0) },
11738
+ { ALT: () => SUBRULE(builtInBound, void 0) },
11739
+ { ALT: () => SUBRULE(builtInIri, void 0) },
11740
+ { ALT: () => SUBRULE(builtInUri, void 0) },
11741
+ { ALT: () => SUBRULE(builtInBnodeSparqlJs, void 0) },
11742
+ { ALT: () => SUBRULE(builtInRand, void 0) },
11743
+ { ALT: () => SUBRULE(builtInAbs, void 0) },
11744
+ { ALT: () => SUBRULE(builtInCeil, void 0) },
11745
+ { ALT: () => SUBRULE(builtInFloor, void 0) },
11746
+ { ALT: () => SUBRULE(builtInRound, void 0) },
11747
+ { ALT: () => SUBRULE(builtInConcat, void 0) },
11748
+ { ALT: () => SUBRULE(substringExpression, void 0) },
11749
+ { ALT: () => SUBRULE(builtInStrlen, void 0) },
11750
+ { ALT: () => SUBRULE(strReplaceExpression, void 0) },
11751
+ { ALT: () => SUBRULE(builtInUcase, void 0) },
11752
+ { ALT: () => SUBRULE(builtInLcase, void 0) },
11753
+ { ALT: () => SUBRULE(builtInEncode_for_uri, void 0) },
11754
+ { ALT: () => SUBRULE(builtInContains, void 0) },
11755
+ { ALT: () => SUBRULE(builtInStrstarts, void 0) },
11756
+ { ALT: () => SUBRULE(builtInStrends, void 0) },
11757
+ { ALT: () => SUBRULE(builtInStrbefore, void 0) },
11758
+ { ALT: () => SUBRULE(builtInStrafter, void 0) },
11759
+ { ALT: () => SUBRULE(builtInYear, void 0) },
11760
+ { ALT: () => SUBRULE(builtInMonth, void 0) },
11761
+ { ALT: () => SUBRULE(builtInDay, void 0) },
11762
+ { ALT: () => SUBRULE(builtInHours, void 0) },
11763
+ { ALT: () => SUBRULE(builtInMinutes, void 0) },
11764
+ { ALT: () => SUBRULE(builtInSeconds, void 0) },
11765
+ { ALT: () => SUBRULE(builtInTimezone, void 0) },
11766
+ { ALT: () => SUBRULE(builtInTz, void 0) },
11767
+ { ALT: () => SUBRULE(builtInNow, void 0) },
11768
+ { ALT: () => SUBRULE(builtInUuid, void 0) },
11769
+ { ALT: () => SUBRULE(builtInStruuid, void 0) },
11770
+ { ALT: () => SUBRULE(builtInMd5, void 0) },
11771
+ { ALT: () => SUBRULE(builtInSha1, void 0) },
11772
+ { ALT: () => SUBRULE(builtInSha256, void 0) },
11773
+ { ALT: () => SUBRULE(builtInSha384, void 0) },
11774
+ { ALT: () => SUBRULE(builtInSha512, void 0) },
11775
+ { ALT: () => SUBRULE(builtInCoalesce, void 0) },
11776
+ { ALT: () => SUBRULE(builtInIf, void 0) },
11777
+ { ALT: () => SUBRULE(builtInStrlang, void 0) },
11778
+ { ALT: () => SUBRULE(builtInStrdt, void 0) },
11779
+ { ALT: () => SUBRULE(builtInSameterm, void 0) },
11780
+ { ALT: () => SUBRULE(builtInIsiri, void 0) },
11781
+ { ALT: () => SUBRULE(builtInIsuri, void 0) },
11782
+ { ALT: () => SUBRULE(builtInIsblank, void 0) },
11783
+ { ALT: () => SUBRULE(builtInIsliteral, void 0) },
11784
+ { ALT: () => SUBRULE(builtInIsnumeric, void 0) },
11785
+ { ALT: () => SUBRULE(regexExpression, void 0) },
11786
+ { ALT: () => SUBRULE(existsFunc, void 0) },
11787
+ { ALT: () => SUBRULE(notExistsFunc, void 0) }
11788
+ ];
11789
+ }
11790
+ var builtInCall = {
11791
+ name: "builtInCall",
11792
+ impl: ({ OR, SUBRULE, cache }) => () => {
11793
+ const cached = cache.get(builtInCall);
11794
+ if (cached) {
11795
+ return OR(cached);
11796
+ }
11797
+ const builtIns = builtInCallList(SUBRULE);
11798
+ cache.set(builtInCall, builtIns);
11799
+ return OR(builtIns);
11800
+ }
11801
+ };
11802
+ var regexExpression = funcExpr2or3(BuildinCalls_exports.regex);
11803
+ var substringExpression = funcExpr2or3(BuildinCalls_exports.substr);
11804
+ var strReplaceExpression = funcExpr3or4(BuildinCalls_exports.replace);
11805
+ var existsFunc = funcGroupGraphPattern(BuildinCalls_exports.exists);
11806
+ var notExistsFunc = funcGroupGraphPattern(BuildinCalls_exports.notexists);
11807
+ var aggregateCount = baseAggregateFunc(BuildinCalls_exports.count);
11808
+ var aggregateSum = baseAggregateFunc(BuildinCalls_exports.sum);
11809
+ var aggregateMin = baseAggregateFunc(BuildinCalls_exports.min);
11810
+ var aggregateMax = baseAggregateFunc(BuildinCalls_exports.max);
11811
+ var aggregateAvg = baseAggregateFunc(BuildinCalls_exports.avg);
11812
+ var aggregateSample = baseAggregateFunc(BuildinCalls_exports.sample);
11813
+ var aggregateGroup_concat = {
11814
+ name: unCapitalize(BuildinCalls_exports.groupConcat.name),
11815
+ impl: ({ CONSUME, OPTION1, SUBRULE, OPTION2 }) => () => {
11816
+ CONSUME(BuildinCalls_exports.groupConcat);
11817
+ CONSUME(symbols_exports.LParen);
11818
+ const distinct2 = OPTION1(() => CONSUME(distinct));
11819
+ const expr = SUBRULE(expression, void 0);
11820
+ const separator2 = OPTION2(() => {
11821
+ CONSUME(symbols_exports.semi);
11822
+ CONSUME(separator);
11823
+ CONSUME(symbols_exports.equal);
11824
+ return SUBRULE(string, void 0);
11825
+ }) ?? " ";
11826
+ CONSUME(symbols_exports.RParen);
11827
+ return {
11828
+ type: "aggregate",
11829
+ aggregation: "group_concat",
11830
+ expression: expr,
11831
+ distinct: Boolean(distinct2),
11832
+ separator: separator2
11833
+ };
11834
+ }
11835
+ };
11836
+ var aggregate = {
11837
+ name: "aggregate",
11838
+ impl: ({ ACTION, SUBRULE, OR }) => (C) => {
11839
+ const wasInAggregate = ACTION(() => C.parseMode.has("inAggregate"));
11840
+ ACTION(() => C.parseMode.add("inAggregate"));
11841
+ const result = OR([
11842
+ { ALT: () => SUBRULE(aggregateCount, void 0) },
11843
+ { ALT: () => SUBRULE(aggregateSum, void 0) },
11844
+ { ALT: () => SUBRULE(aggregateMin, void 0) },
11845
+ { ALT: () => SUBRULE(aggregateMax, void 0) },
11846
+ { ALT: () => SUBRULE(aggregateAvg, void 0) },
11847
+ { ALT: () => SUBRULE(aggregateSample, void 0) },
11848
+ { ALT: () => SUBRULE(aggregateGroup_concat, void 0) }
11849
+ ]);
11850
+ ACTION(() => !wasInAggregate && C.parseMode.delete("inAggregate"));
11851
+ ACTION(() => {
11852
+ if (!C.parseMode.has("canParseAggregate")) {
11853
+ throw new Error("Aggregates are only allowed in SELECT, HAVING, and ORDER BY clauses.");
11854
+ }
11855
+ if (C.parseMode.has("inAggregate")) {
11856
+ throw new Error("An aggregate function is not allowed within an aggregate function.");
11857
+ }
11858
+ });
11859
+ return result;
11860
+ }
11861
+ };
11862
+
11863
+ // ../rules-sparql-1-1/lib/grammar/expression.ts
11864
+ var argList = {
11865
+ name: "argList",
11866
+ impl: ({ CONSUME, SUBRULE1, OPTION, OR, MANY_SEP }) => () => OR([
11867
+ {
11868
+ ALT: () => {
11869
+ CONSUME(terminals_exports.nil);
11870
+ return {
11871
+ type: "functionCall",
11872
+ args: [],
11873
+ distinct: false
11874
+ };
11875
+ }
11876
+ },
11877
+ {
11878
+ ALT: () => {
11879
+ const args = [];
11880
+ CONSUME(symbols_exports.LParen);
11881
+ const distinct2 = OPTION(() => CONSUME(distinct)) && true;
11882
+ MANY_SEP({
11883
+ DEF: () => args.push(SUBRULE1(expression, void 0)),
11884
+ SEP: symbols_exports.comma
11885
+ });
11886
+ CONSUME(symbols_exports.RParen);
11887
+ return {
11888
+ type: "functionCall",
11889
+ args,
11890
+ distinct: Boolean(distinct2)
11891
+ };
11892
+ }
11893
+ }
11894
+ ])
11895
+ };
11896
+ var expressionList = {
11897
+ name: "expressionList",
11898
+ impl: ({ CONSUME, SUBRULE, MANY_SEP, OR }) => () => OR([
11899
+ {
11900
+ ALT: () => {
11901
+ CONSUME(terminals_exports.nil);
11902
+ return [];
11903
+ }
11904
+ },
11905
+ {
11906
+ ALT: () => {
11907
+ const args = [];
11908
+ CONSUME(symbols_exports.LParen);
11909
+ MANY_SEP({
11910
+ SEP: symbols_exports.comma,
11911
+ DEF: () => {
11912
+ args.push(SUBRULE(expression, void 0));
11913
+ }
11914
+ });
11915
+ CONSUME(symbols_exports.RParen);
11916
+ return args;
11917
+ }
11918
+ }
11919
+ ])
11920
+ };
11921
+ var expression = {
11922
+ name: "expression",
11923
+ impl: ({ SUBRULE }) => () => SUBRULE(conditionalOrExpression, void 0)
11924
+ };
11925
+ function constructLeftDeep(startGenerator, restGenerator, ACTION, MANY) {
11926
+ let iterExpr = startGenerator();
11927
+ MANY(() => {
11928
+ const res = restGenerator();
11929
+ ACTION(() => {
11930
+ iterExpr = {
11931
+ type: "operation",
11932
+ operator: res.operator,
11933
+ args: [iterExpr, res.expr]
11934
+ };
11935
+ });
11936
+ });
11937
+ return iterExpr;
11938
+ }
11939
+ var conditionalOrExpression = {
11940
+ name: "conditionalOrExpression",
11941
+ impl: ({ ACTION, MANY, CONSUME, SUBRULE1, SUBRULE2 }) => () => constructLeftDeep(() => SUBRULE1(conditionalAndExpression, void 0), () => {
11942
+ CONSUME(symbols_exports.logicOr);
11943
+ return {
11944
+ expr: SUBRULE2(conditionalAndExpression, void 0),
11945
+ operator: "||"
11946
+ };
11947
+ }, ACTION, MANY)
11948
+ };
11949
+ var conditionalAndExpression = {
11950
+ name: "conditionalAndExpression",
11951
+ impl: ({ ACTION, MANY, SUBRULE1, SUBRULE2, CONSUME }) => () => constructLeftDeep(
11952
+ () => SUBRULE1(valueLogical, void 0),
11953
+ () => {
11954
+ CONSUME(symbols_exports.logicAnd);
11955
+ return {
11956
+ expr: SUBRULE2(valueLogical, void 0),
11957
+ operator: "&&"
11958
+ };
11959
+ },
11960
+ ACTION,
11961
+ MANY
11962
+ )
11963
+ };
11964
+ var valueLogical = {
11965
+ name: "valueLogical",
11966
+ impl: ({ SUBRULE }) => () => SUBRULE(relationalExpression, void 0)
11967
+ };
11968
+ var relationalExpression = {
11969
+ name: "relationalExpression",
11970
+ impl: ({ ACTION, CONSUME, SUBRULE1, SUBRULE2, OPTION, OR, SUBRULE3, SUBRULE4, SUBRULE5, SUBRULE6, SUBRULE7 }) => () => {
11971
+ const args1 = SUBRULE1(numericExpression, void 0);
11972
+ const arg2 = OPTION(() => OR([
11973
+ {
11974
+ ALT: () => {
11975
+ CONSUME(symbols_exports.equal);
11976
+ const expr = SUBRULE2(numericExpression, void 0);
11977
+ return { operator: "=", args: expr };
11978
+ }
11979
+ },
11980
+ {
11981
+ ALT: () => {
11982
+ CONSUME(symbols_exports.notEqual);
11983
+ const expr = SUBRULE3(numericExpression, void 0);
11984
+ return { operator: "!=", args: expr };
11985
+ }
11986
+ },
11987
+ {
11988
+ ALT: () => {
11989
+ CONSUME(symbols_exports.lessThan);
11990
+ const expr = SUBRULE4(numericExpression, void 0);
11991
+ return { operator: "<", args: expr };
11992
+ }
11993
+ },
11994
+ {
11995
+ ALT: () => {
11996
+ CONSUME(symbols_exports.greaterThan);
11997
+ const expr = SUBRULE5(numericExpression, void 0);
11998
+ return { operator: ">", args: expr };
11999
+ }
12000
+ },
12001
+ {
12002
+ ALT: () => {
12003
+ CONSUME(symbols_exports.lessThanEqual);
12004
+ const expr = SUBRULE6(numericExpression, void 0);
12005
+ return { operator: "<=", args: expr };
12006
+ }
12007
+ },
12008
+ {
12009
+ ALT: () => {
12010
+ CONSUME(symbols_exports.greaterThanEqual);
12011
+ const expr = SUBRULE7(numericExpression, void 0);
12012
+ return { operator: ">=", args: expr };
12013
+ }
12014
+ },
12015
+ {
12016
+ ALT: () => {
12017
+ CONSUME(in_);
12018
+ const args = SUBRULE1(expressionList, void 0);
12019
+ return { operator: "in", args };
12020
+ }
12021
+ },
12022
+ {
12023
+ ALT: () => {
12024
+ CONSUME(notIn);
12025
+ const args = SUBRULE2(expressionList, void 0);
12026
+ return { operator: "notin", args };
12027
+ }
12028
+ }
12029
+ ]));
12030
+ if (!arg2) {
12031
+ return args1;
12032
+ }
12033
+ return ACTION(() => ({
12034
+ type: "operation",
12035
+ operator: arg2.operator,
12036
+ args: [args1, arg2.args]
12037
+ }));
12038
+ }
12039
+ };
12040
+ var numericExpression = {
12041
+ name: "numericExpression",
12042
+ impl: ({ SUBRULE }) => () => SUBRULE(additiveExpression, void 0)
12043
+ };
12044
+ var additiveExpression = {
12045
+ name: "additiveExpression",
12046
+ impl: ({ ACTION, SUBRULE, CONSUME, SUBRULE1, SUBRULE2, SUBRULE3, MANY1, MANY2, OR1, OR2, OR3 }) => () => constructLeftDeep(
12047
+ () => SUBRULE1(multiplicativeExpression, void 0),
12048
+ () => OR1([
12049
+ {
12050
+ ALT: () => {
12051
+ CONSUME(symbols_exports.opPlus);
12052
+ return {
12053
+ operator: "+",
12054
+ expr: SUBRULE2(multiplicativeExpression, void 0)
12055
+ };
12056
+ }
12057
+ },
12058
+ {
12059
+ ALT: () => {
12060
+ CONSUME(symbols_exports.opMinus);
12061
+ return {
12062
+ operator: "-",
12063
+ expr: SUBRULE3(multiplicativeExpression, void 0)
12064
+ };
12065
+ }
12066
+ },
12067
+ {
12068
+ ALT: () => {
12069
+ const { operator, args } = OR2([
12070
+ {
12071
+ ALT: () => {
12072
+ const integer2 = SUBRULE(numericLiteralPositive, void 0);
12073
+ return ACTION(() => {
12074
+ integer2.value = integer2.value.replace(/^\+/u, "");
12075
+ return {
12076
+ operator: "+",
12077
+ args: [integer2]
12078
+ };
12079
+ });
12080
+ }
12081
+ },
12082
+ {
12083
+ ALT: () => {
12084
+ const integer2 = SUBRULE(numericLiteralNegative, void 0);
12085
+ return ACTION(() => {
12086
+ integer2.value = integer2.value.replace(/^-/u, "");
12087
+ return {
12088
+ operator: "-",
12089
+ args: [integer2]
12090
+ };
12091
+ });
12092
+ }
12093
+ }
12094
+ ]);
12095
+ const expr = constructLeftDeep(
12096
+ () => ACTION(() => args[0]),
12097
+ () => OR3([
12098
+ {
12099
+ ALT: () => {
12100
+ CONSUME(symbols_exports.star);
12101
+ const expr2 = SUBRULE1(unaryExpression, void 0);
12102
+ return {
12103
+ operator: "*",
12104
+ expr: expr2
12105
+ };
12106
+ }
12107
+ },
12108
+ {
12109
+ ALT: () => {
12110
+ CONSUME(symbols_exports.slash);
12111
+ const expr2 = SUBRULE2(unaryExpression, void 0);
12112
+ return {
12113
+ operator: "/",
12114
+ expr: expr2
12115
+ };
12116
+ }
12117
+ }
12118
+ ]),
12119
+ ACTION,
12120
+ MANY2
12121
+ );
12122
+ return {
12123
+ operator,
12124
+ expr
12125
+ };
12126
+ }
12127
+ }
12128
+ ]),
12129
+ ACTION,
12130
+ MANY1
12131
+ )
12132
+ };
12133
+ var multiplicativeExpression = {
12134
+ name: "multiplicativeExpression",
12135
+ impl: ({ ACTION, CONSUME, MANY, SUBRULE1, SUBRULE2, SUBRULE3, OR }) => () => constructLeftDeep(
12136
+ () => SUBRULE1(unaryExpression, void 0),
12137
+ () => OR([
12138
+ {
12139
+ ALT: () => {
12140
+ CONSUME(symbols_exports.star);
12141
+ const expr = SUBRULE2(unaryExpression, void 0);
12142
+ return {
12143
+ operator: "*",
12144
+ expr
12145
+ };
12024
12146
  }
12025
12147
  },
12026
12148
  {
12027
12149
  ALT: () => {
12028
- CONSUME(terminals_exports.nil);
12029
- return [];
12150
+ CONSUME(symbols_exports.slash);
12151
+ const expr = SUBRULE3(unaryExpression, void 0);
12152
+ return {
12153
+ operator: "/",
12154
+ expr
12155
+ };
12030
12156
  }
12031
12157
  }
12032
- ]);
12033
- return {
12034
- type: "operation",
12035
- operator: operator.image,
12036
- args
12037
- };
12038
- }
12039
- };
12040
- var builtInRand = funcNil1(BuildinCalls_exports.rand);
12041
- var builtInAbs = funcExpr1(BuildinCalls_exports.abs);
12042
- var builtInCeil = funcExpr1(BuildinCalls_exports.ceil);
12043
- var builtInFloor = funcExpr1(BuildinCalls_exports.floor);
12044
- var builtInRound = funcExpr1(BuildinCalls_exports.round);
12045
- var builtInConcat = funcExprList1(BuildinCalls_exports.concat);
12046
- var builtInStrlen = funcExpr1(BuildinCalls_exports.strlen);
12047
- var builtInUcase = funcExpr1(BuildinCalls_exports.ucase);
12048
- var builtInLcase = funcExpr1(BuildinCalls_exports.lcase);
12049
- var builtInEncode_for_uri = funcExpr1(BuildinCalls_exports.encode_for_uri);
12050
- var builtInContains = funcExpr2(BuildinCalls_exports.contains);
12051
- var builtInStrstarts = funcExpr2(BuildinCalls_exports.strstarts);
12052
- var builtInStrends = funcExpr2(BuildinCalls_exports.strends);
12053
- var builtInStrbefore = funcExpr2(BuildinCalls_exports.strbefore);
12054
- var builtInStrafter = funcExpr2(BuildinCalls_exports.strafter);
12055
- var builtInYear = funcExpr1(BuildinCalls_exports.year);
12056
- var builtInMonth = funcExpr1(BuildinCalls_exports.month);
12057
- var builtInDay = funcExpr1(BuildinCalls_exports.day);
12058
- var builtInHours = funcExpr1(BuildinCalls_exports.hours);
12059
- var builtInMinutes = funcExpr1(BuildinCalls_exports.minutes);
12060
- var builtInSeconds = funcExpr1(BuildinCalls_exports.seconds);
12061
- var builtInTimezone = funcExpr1(BuildinCalls_exports.timezone);
12062
- var builtInTz = funcExpr1(BuildinCalls_exports.tz);
12063
- var builtInNow = funcNil1(BuildinCalls_exports.now);
12064
- var builtInUuid = funcNil1(BuildinCalls_exports.uuid);
12065
- var builtInStruuid = funcNil1(BuildinCalls_exports.struuid);
12066
- var builtInMd5 = funcExpr1(BuildinCalls_exports.md5);
12067
- var builtInSha1 = funcExpr1(BuildinCalls_exports.sha1);
12068
- var builtInSha256 = funcExpr1(BuildinCalls_exports.sha256);
12069
- var builtInSha384 = funcExpr1(BuildinCalls_exports.sha384);
12070
- var builtInSha512 = funcExpr1(BuildinCalls_exports.sha512);
12071
- var builtInCoalesce = funcExprList1(BuildinCalls_exports.coalesce);
12072
- var builtInIf = funcExpr3(BuildinCalls_exports.if_);
12073
- var builtInStrlang = funcExpr2(BuildinCalls_exports.strlang);
12074
- var builtInStrdt = funcExpr2(BuildinCalls_exports.strdt);
12075
- var builtInSameterm = funcExpr2(BuildinCalls_exports.sameterm);
12076
- var builtInIsiri = funcExpr1(BuildinCalls_exports.isiri);
12077
- var builtInIsuri = funcExpr1(BuildinCalls_exports.isuri);
12078
- var builtInIsblank = funcExpr1(BuildinCalls_exports.isblank);
12079
- var builtInIsliteral = funcExpr1(BuildinCalls_exports.isliteral);
12080
- var builtInIsnumeric = funcExpr1(BuildinCalls_exports.isnumeric);
12081
- function builtInCallList(SUBRULE) {
12082
- return [
12083
- { ALT: () => SUBRULE(aggregate) },
12084
- { ALT: () => SUBRULE(builtInStr) },
12085
- { ALT: () => SUBRULE(builtInLang) },
12086
- { ALT: () => SUBRULE(builtInLangmatches) },
12087
- { ALT: () => SUBRULE(builtInDatatype) },
12088
- { ALT: () => SUBRULE(builtInBound) },
12089
- { ALT: () => SUBRULE(builtInIri) },
12090
- { ALT: () => SUBRULE(builtInUri) },
12091
- { ALT: () => SUBRULE(builtInBnodeSparqlJs) },
12092
- { ALT: () => SUBRULE(builtInRand) },
12093
- { ALT: () => SUBRULE(builtInAbs) },
12094
- { ALT: () => SUBRULE(builtInCeil) },
12095
- { ALT: () => SUBRULE(builtInFloor) },
12096
- { ALT: () => SUBRULE(builtInRound) },
12097
- { ALT: () => SUBRULE(builtInConcat) },
12098
- { ALT: () => SUBRULE(substringExpression) },
12099
- { ALT: () => SUBRULE(builtInStrlen) },
12100
- { ALT: () => SUBRULE(strReplaceExpression) },
12101
- { ALT: () => SUBRULE(builtInUcase) },
12102
- { ALT: () => SUBRULE(builtInLcase) },
12103
- { ALT: () => SUBRULE(builtInEncode_for_uri) },
12104
- { ALT: () => SUBRULE(builtInContains) },
12105
- { ALT: () => SUBRULE(builtInStrstarts) },
12106
- { ALT: () => SUBRULE(builtInStrends) },
12107
- { ALT: () => SUBRULE(builtInStrbefore) },
12108
- { ALT: () => SUBRULE(builtInStrafter) },
12109
- { ALT: () => SUBRULE(builtInYear) },
12110
- { ALT: () => SUBRULE(builtInMonth) },
12111
- { ALT: () => SUBRULE(builtInDay) },
12112
- { ALT: () => SUBRULE(builtInHours) },
12113
- { ALT: () => SUBRULE(builtInMinutes) },
12114
- { ALT: () => SUBRULE(builtInSeconds) },
12115
- { ALT: () => SUBRULE(builtInTimezone) },
12116
- { ALT: () => SUBRULE(builtInTz) },
12117
- { ALT: () => SUBRULE(builtInNow) },
12118
- { ALT: () => SUBRULE(builtInUuid) },
12119
- { ALT: () => SUBRULE(builtInStruuid) },
12120
- { ALT: () => SUBRULE(builtInMd5) },
12121
- { ALT: () => SUBRULE(builtInSha1) },
12122
- { ALT: () => SUBRULE(builtInSha256) },
12123
- { ALT: () => SUBRULE(builtInSha384) },
12124
- { ALT: () => SUBRULE(builtInSha512) },
12125
- { ALT: () => SUBRULE(builtInCoalesce) },
12126
- { ALT: () => SUBRULE(builtInIf) },
12127
- { ALT: () => SUBRULE(builtInStrlang) },
12128
- { ALT: () => SUBRULE(builtInStrdt) },
12129
- { ALT: () => SUBRULE(builtInSameterm) },
12130
- { ALT: () => SUBRULE(builtInIsiri) },
12131
- { ALT: () => SUBRULE(builtInIsuri) },
12132
- { ALT: () => SUBRULE(builtInIsblank) },
12133
- { ALT: () => SUBRULE(builtInIsliteral) },
12134
- { ALT: () => SUBRULE(builtInIsnumeric) },
12135
- { ALT: () => SUBRULE(regexExpression) },
12136
- { ALT: () => SUBRULE(existsFunc) },
12137
- { ALT: () => SUBRULE(notExistsFunc) }
12138
- ];
12139
- }
12140
- var builtInCall = {
12141
- name: "builtInCall",
12142
- impl: ({ OR, SUBRULE, cache }) => () => {
12143
- const cached = cache.get(builtInCall);
12144
- if (cached) {
12145
- return OR(cached);
12146
- }
12147
- const builtIns = builtInCallList(SUBRULE);
12148
- cache.set(builtInCall, builtIns);
12149
- return OR(builtIns);
12150
- }
12151
- };
12152
- var regexExpression = funcExpr2or3(BuildinCalls_exports.regex);
12153
- var substringExpression = funcExpr2or3(BuildinCalls_exports.substr);
12154
- var strReplaceExpression = funcExpr3or4(BuildinCalls_exports.replace);
12155
- var existsFunc = funcGroupGraphPattern(BuildinCalls_exports.exists);
12156
- var notExistsFunc = funcGroupGraphPattern(BuildinCalls_exports.notexists);
12157
- var aggregateCount = baseAggregateFunc(BuildinCalls_exports.count);
12158
- var aggregateSum = baseAggregateFunc(BuildinCalls_exports.sum);
12159
- var aggregateMin = baseAggregateFunc(BuildinCalls_exports.min);
12160
- var aggregateMax = baseAggregateFunc(BuildinCalls_exports.max);
12161
- var aggregateAvg = baseAggregateFunc(BuildinCalls_exports.avg);
12162
- var aggregateSample = baseAggregateFunc(BuildinCalls_exports.sample);
12163
- var aggregateGroup_concat = {
12164
- name: unCapitalize(BuildinCalls_exports.groupConcat.name),
12165
- impl: ({ CONSUME, OPTION1, SUBRULE, OPTION2 }) => () => {
12166
- CONSUME(BuildinCalls_exports.groupConcat);
12167
- CONSUME(symbols_exports.LParen);
12168
- const distinct2 = OPTION1(() => CONSUME(distinct));
12169
- const expr = SUBRULE(expression);
12170
- const separator2 = OPTION2(() => {
12171
- CONSUME(symbols_exports.semi);
12172
- CONSUME(separator);
12173
- CONSUME(symbols_exports.equal);
12174
- return SUBRULE(string);
12175
- }) ?? " ";
12176
- CONSUME(symbols_exports.RParen);
12177
- return {
12178
- type: "aggregate",
12179
- aggregation: "group_concat",
12180
- expression: expr,
12181
- distinct: Boolean(distinct2),
12182
- separator: separator2
12183
- };
12184
- }
12158
+ ]),
12159
+ ACTION,
12160
+ MANY
12161
+ )
12185
12162
  };
12186
- var canParseAggregate = Symbol("canParseAggregate");
12187
- var inAggregate = Symbol("inAggregate");
12188
- var aggregate = {
12189
- name: "aggregate",
12190
- impl: ({ ACTION, SUBRULE, OR, context }) => () => {
12191
- const wasInAggregate = context.parseMode.has(inAggregate);
12192
- ACTION(() => context.parseMode.add(inAggregate));
12193
- const result = OR([
12194
- { ALT: () => SUBRULE(aggregateCount) },
12195
- { ALT: () => SUBRULE(aggregateSum) },
12196
- { ALT: () => SUBRULE(aggregateMin) },
12197
- { ALT: () => SUBRULE(aggregateMax) },
12198
- { ALT: () => SUBRULE(aggregateAvg) },
12199
- { ALT: () => SUBRULE(aggregateSample) },
12200
- { ALT: () => SUBRULE(aggregateGroup_concat) }
12201
- ]);
12202
- ACTION(() => !wasInAggregate && context.parseMode.delete(inAggregate));
12203
- ACTION(() => {
12204
- if (!context.parseMode.has(canParseAggregate)) {
12205
- throw new Error("Aggregates are only allowed in SELECT, HAVING, and ORDER BY clauses.");
12163
+ var unaryExpression = {
12164
+ name: "unaryExpression",
12165
+ impl: ({ CONSUME, SUBRULE1, SUBRULE2, SUBRULE3, SUBRULE4, OR }) => () => OR([
12166
+ {
12167
+ ALT: () => {
12168
+ CONSUME(symbols_exports.exclamation);
12169
+ const expr = SUBRULE1(primaryExpression, void 0);
12170
+ return {
12171
+ type: "operation",
12172
+ operator: "!",
12173
+ args: [expr]
12174
+ };
12206
12175
  }
12207
- if (context.parseMode.has(inAggregate)) {
12208
- throw new Error("An aggregate function is not allowed within an aggregate function.");
12176
+ },
12177
+ {
12178
+ ALT: () => {
12179
+ CONSUME(symbols_exports.opPlus);
12180
+ const expr = SUBRULE2(primaryExpression, void 0);
12181
+ return {
12182
+ type: "operation",
12183
+ operator: "UPLUS",
12184
+ args: [expr]
12185
+ };
12209
12186
  }
12210
- });
12211
- return result;
12212
- }
12213
- };
12214
-
12215
- // ../rules-sparql-1-1/lib/grammar/dataSetClause.ts
12216
- var datasetClause = {
12217
- name: "datasetClause",
12218
- impl: ({ SUBRULE, CONSUME, OR }) => () => {
12219
- CONSUME(from);
12220
- return OR([
12221
- { ALT: () => ({ value: SUBRULE(defaultGraphClause), type: "default" }) },
12222
- { ALT: () => ({ value: SUBRULE(namedGraphClause), type: "named" }) }
12223
- ]);
12224
- }
12187
+ },
12188
+ {
12189
+ ALT: () => {
12190
+ CONSUME(symbols_exports.opMinus);
12191
+ const expr = SUBRULE3(primaryExpression, void 0);
12192
+ return {
12193
+ type: "operation",
12194
+ operator: "UMINUS",
12195
+ args: [expr]
12196
+ };
12197
+ }
12198
+ },
12199
+ { ALT: () => SUBRULE4(primaryExpression, void 0) }
12200
+ ])
12225
12201
  };
12226
- var defaultGraphClause = {
12227
- name: "defaultGraphClause",
12228
- impl: ({ SUBRULE }) => () => SUBRULE(sourceSelector)
12202
+ var primaryExpression = {
12203
+ name: "primaryExpression",
12204
+ impl: ({ SUBRULE, OR }) => () => OR([
12205
+ { ALT: () => SUBRULE(brackettedExpression, void 0) },
12206
+ { ALT: () => SUBRULE(builtInCall, void 0) },
12207
+ { ALT: () => SUBRULE(iriOrFunction, void 0) },
12208
+ { ALT: () => SUBRULE(rdfLiteral, void 0) },
12209
+ { ALT: () => SUBRULE(numericLiteral, void 0) },
12210
+ { ALT: () => SUBRULE(booleanLiteral, void 0) },
12211
+ { ALT: () => SUBRULE(var_, void 0) }
12212
+ ])
12229
12213
  };
12230
- var namedGraphClause = {
12231
- name: "namedGraphClause",
12214
+ var brackettedExpression = {
12215
+ name: "brackettedExpression",
12232
12216
  impl: ({ SUBRULE, CONSUME }) => () => {
12233
- CONSUME(graph_exports.named);
12234
- return SUBRULE(sourceSelector);
12217
+ CONSUME(symbols_exports.LParen);
12218
+ const expr = SUBRULE(expression, void 0);
12219
+ CONSUME(symbols_exports.RParen);
12220
+ return expr;
12235
12221
  }
12236
12222
  };
12237
- var sourceSelector = {
12238
- name: "sourceSelector",
12239
- impl: ({ SUBRULE }) => () => SUBRULE(iri2)
12223
+ var iriOrFunction = {
12224
+ name: "iriOrFunction",
12225
+ impl: ({ SUBRULE, OPTION }) => () => {
12226
+ const iriVal = SUBRULE(iri2, void 0);
12227
+ const args = OPTION(() => SUBRULE(argList, void 0));
12228
+ return args ? {
12229
+ ...args,
12230
+ function: iriVal
12231
+ } : iriVal;
12232
+ }
12240
12233
  };
12241
12234
 
12242
12235
  // ../rules-sparql-1-1/lib/grammar/solutionModifier.ts
12243
12236
  var solutionModifier = {
12244
12237
  name: "solutionModifier",
12245
12238
  impl: ({ ACTION, SUBRULE, OPTION1, OPTION2, OPTION3, OPTION4 }) => () => {
12246
- const group = OPTION1(() => SUBRULE(groupClause));
12247
- const having2 = OPTION2(() => SUBRULE(havingClause));
12248
- const order2 = OPTION3(() => SUBRULE(orderClause));
12249
- const limitAndOffset = OPTION4(() => SUBRULE(limitOffsetClauses));
12239
+ const group = OPTION1(() => SUBRULE(groupClause, void 0));
12240
+ const having2 = OPTION2(() => SUBRULE(havingClause, void 0));
12241
+ const order2 = OPTION3(() => SUBRULE(orderClause, void 0));
12242
+ const limitAndOffset = OPTION4(() => SUBRULE(limitOffsetClauses, void 0));
12250
12243
  return ACTION(() => ({
12251
12244
  ...limitAndOffset,
12252
12245
  ...group && { group },
@@ -12261,7 +12254,7 @@ var groupClause = {
12261
12254
  const groupings = [];
12262
12255
  CONSUME(groupBy2);
12263
12256
  AT_LEAST_ONE(() => {
12264
- groupings.push(SUBRULE(groupCondition));
12257
+ groupings.push(SUBRULE(groupCondition, void 0));
12265
12258
  });
12266
12259
  return groupings;
12267
12260
  }
@@ -12270,13 +12263,13 @@ var groupCondition = {
12270
12263
  name: "groupCondition",
12271
12264
  impl: ({ SUBRULE, CONSUME, SUBRULE1, SUBRULE2, OPTION, OR }) => () => OR([
12272
12265
  { ALT: () => {
12273
- const expression2 = SUBRULE(builtInCall);
12266
+ const expression2 = SUBRULE(builtInCall, void 0);
12274
12267
  return {
12275
12268
  expression: expression2
12276
12269
  };
12277
12270
  } },
12278
12271
  { ALT: () => {
12279
- const expression2 = SUBRULE(functionCall);
12272
+ const expression2 = SUBRULE(functionCall, void 0);
12280
12273
  return {
12281
12274
  expression: expression2
12282
12275
  };
@@ -12284,10 +12277,10 @@ var groupCondition = {
12284
12277
  {
12285
12278
  ALT: () => {
12286
12279
  CONSUME(symbols_exports.LParen);
12287
- const expressionValue = SUBRULE(expression);
12280
+ const expressionValue = SUBRULE(expression, void 0);
12288
12281
  const variable = OPTION(() => {
12289
12282
  CONSUME(as);
12290
- return SUBRULE1(var_);
12283
+ return SUBRULE1(var_, void 0);
12291
12284
  });
12292
12285
  CONSUME(symbols_exports.RParen);
12293
12286
  return {
@@ -12297,7 +12290,7 @@ var groupCondition = {
12297
12290
  }
12298
12291
  },
12299
12292
  { ALT: () => {
12300
- const expression2 = SUBRULE2(var_);
12293
+ const expression2 = SUBRULE2(var_, void 0);
12301
12294
  return {
12302
12295
  expression: expression2
12303
12296
  };
@@ -12306,31 +12299,31 @@ var groupCondition = {
12306
12299
  };
12307
12300
  var havingClause = {
12308
12301
  name: "havingClause",
12309
- impl: ({ ACTION, AT_LEAST_ONE, SUBRULE, CONSUME, context }) => () => {
12302
+ impl: ({ ACTION, AT_LEAST_ONE, SUBRULE, CONSUME }) => (C) => {
12310
12303
  const expressions = [];
12311
12304
  CONSUME(having);
12312
- const couldParseAgg = ACTION(() => context.parseMode.has(canParseAggregate) || !context.parseMode.add(canParseAggregate));
12305
+ const couldParseAgg = ACTION(() => C.parseMode.has("canParseAggregate") || !C.parseMode.add("canParseAggregate"));
12313
12306
  AT_LEAST_ONE(() => {
12314
- expressions.push(SUBRULE(havingCondition));
12307
+ expressions.push(SUBRULE(havingCondition, void 0));
12315
12308
  });
12316
- ACTION(() => !couldParseAgg && context.parseMode.delete(canParseAggregate));
12309
+ ACTION(() => !couldParseAgg && C.parseMode.delete("canParseAggregate"));
12317
12310
  return expressions;
12318
12311
  }
12319
12312
  };
12320
12313
  var havingCondition = {
12321
12314
  name: "havingCondition",
12322
- impl: ({ SUBRULE }) => () => SUBRULE(constraint)
12315
+ impl: ({ SUBRULE }) => () => SUBRULE(constraint, void 0)
12323
12316
  };
12324
12317
  var orderClause = {
12325
12318
  name: "orderClause",
12326
- impl: ({ ACTION, AT_LEAST_ONE, SUBRULE, CONSUME, context }) => () => {
12319
+ impl: ({ ACTION, AT_LEAST_ONE, SUBRULE, CONSUME }) => (C) => {
12327
12320
  const orderings = [];
12328
12321
  CONSUME(order);
12329
- const couldParseAgg = ACTION(() => context.parseMode.has(canParseAggregate) || !context.parseMode.add(canParseAggregate));
12322
+ const couldParseAgg = ACTION(() => C.parseMode.has("canParseAggregate") || !C.parseMode.add("canParseAggregate"));
12330
12323
  AT_LEAST_ONE(() => {
12331
- orderings.push(SUBRULE(orderCondition));
12324
+ orderings.push(SUBRULE(orderCondition, void 0));
12332
12325
  });
12333
- ACTION(() => !couldParseAgg && context.parseMode.delete(canParseAggregate));
12326
+ ACTION(() => !couldParseAgg && C.parseMode.delete("canParseAggregate"));
12334
12327
  return orderings;
12335
12328
  }
12336
12329
  };
@@ -12349,7 +12342,7 @@ var orderCondition = {
12349
12342
  return true;
12350
12343
  } }
12351
12344
  ]);
12352
- const expr = SUBRULE(brackettedExpression);
12345
+ const expr = SUBRULE(brackettedExpression, void 0);
12353
12346
  return {
12354
12347
  expression: expr,
12355
12348
  descending
@@ -12357,13 +12350,13 @@ var orderCondition = {
12357
12350
  }
12358
12351
  },
12359
12352
  { ALT: () => {
12360
- const expr = SUBRULE(constraint);
12353
+ const expr = SUBRULE(constraint, void 0);
12361
12354
  return {
12362
12355
  expression: expr
12363
12356
  };
12364
12357
  } },
12365
12358
  { ALT: () => {
12366
- const expr = SUBRULE(var_);
12359
+ const expr = SUBRULE(var_, void 0);
12367
12360
  return {
12368
12361
  expression: expr
12369
12362
  };
@@ -12375,8 +12368,8 @@ var limitOffsetClauses = {
12375
12368
  impl: ({ SUBRULE1, SUBRULE2, OPTION1, OPTION2, OR }) => () => OR([
12376
12369
  {
12377
12370
  ALT: () => {
12378
- const limit2 = SUBRULE1(limitClause);
12379
- const offset2 = OPTION1(() => SUBRULE1(offsetClause));
12371
+ const limit2 = SUBRULE1(limitClause, void 0);
12372
+ const offset2 = OPTION1(() => SUBRULE1(offsetClause, void 0));
12380
12373
  return {
12381
12374
  limit: limit2,
12382
12375
  offset: offset2
@@ -12385,8 +12378,8 @@ var limitOffsetClauses = {
12385
12378
  },
12386
12379
  {
12387
12380
  ALT: () => {
12388
- const offset2 = SUBRULE2(offsetClause);
12389
- const limit2 = OPTION2(() => SUBRULE2(limitClause));
12381
+ const offset2 = SUBRULE2(offsetClause, void 0);
12382
+ const limit2 = OPTION2(() => SUBRULE2(limitClause, void 0));
12390
12383
  return {
12391
12384
  limit: limit2,
12392
12385
  offset: offset2
@@ -12413,19 +12406,19 @@ var offsetClause = {
12413
12406
  // ../rules-sparql-1-1/lib/grammar/queryUnit/queryUnit.ts
12414
12407
  var queryUnit = {
12415
12408
  name: "queryUnit",
12416
- impl: ({ SUBRULE }) => () => SUBRULE(query)
12409
+ impl: ({ SUBRULE }) => () => SUBRULE(query, void 0)
12417
12410
  };
12418
12411
  var query = {
12419
12412
  name: "query",
12420
12413
  impl: ({ ACTION, SUBRULE, OR }) => () => {
12421
- const prologueValues = SUBRULE(prologue);
12414
+ const prologueValues = SUBRULE(prologue, void 0);
12422
12415
  const queryType = OR([
12423
- { ALT: () => SUBRULE(selectQuery) },
12424
- { ALT: () => SUBRULE(constructQuery) },
12425
- { ALT: () => SUBRULE(describeQuery) },
12426
- { ALT: () => SUBRULE(askQuery) }
12416
+ { ALT: () => SUBRULE(selectQuery, void 0) },
12417
+ { ALT: () => SUBRULE(constructQuery, void 0) },
12418
+ { ALT: () => SUBRULE(describeQuery, void 0) },
12419
+ { ALT: () => SUBRULE(askQuery, void 0) }
12427
12420
  ]);
12428
- const values3 = SUBRULE(valuesClause);
12421
+ const values3 = SUBRULE(valuesClause, void 0);
12429
12422
  return ACTION(() => ({
12430
12423
  ...prologueValues,
12431
12424
  ...queryType,
@@ -12437,7 +12430,7 @@ var query = {
12437
12430
  function extractFromOfDataSetClauses(ACTION, MANY, SUBRULE) {
12438
12431
  const datasetClauses = [];
12439
12432
  MANY(() => {
12440
- datasetClauses.push(SUBRULE(datasetClause));
12433
+ datasetClauses.push(SUBRULE(datasetClause, void 0));
12441
12434
  });
12442
12435
  return ACTION(() => {
12443
12436
  const from2 = {
@@ -12497,11 +12490,11 @@ function getVariablesFromExpression(expression2) {
12497
12490
  }
12498
12491
  var selectQuery = {
12499
12492
  name: "selectQuery",
12500
- impl: ({ ACTION, SUBRULE, MANY, context }) => () => {
12501
- const selectVal = SUBRULE(selectClause);
12493
+ impl: ({ ACTION, SUBRULE, MANY }) => (C) => {
12494
+ const selectVal = SUBRULE(selectClause, void 0);
12502
12495
  const from2 = extractFromOfDataSetClauses(ACTION, MANY, SUBRULE);
12503
- const where2 = SUBRULE(whereClause);
12504
- const modifier = SUBRULE(solutionModifier);
12496
+ const where2 = SUBRULE(whereClause, void 0);
12497
+ const modifier = SUBRULE(solutionModifier, void 0);
12505
12498
  ACTION(() => {
12506
12499
  if (selectVal.variables.length === 1 && selectVal.variables[0] instanceof Wildcard) {
12507
12500
  if (modifier.group !== void 0) {
@@ -12510,7 +12503,7 @@ var selectQuery = {
12510
12503
  return;
12511
12504
  }
12512
12505
  const variables = selectVal.variables;
12513
- if (!context.skipValidation) {
12506
+ if (!C.skipValidation) {
12514
12507
  const hasCountAggregate = variables.flatMap(
12515
12508
  (varVal) => "termType" in varVal ? [] : getAggregatesOfExpression(varVal.expression)
12516
12509
  ).some((agg) => agg.aggregation === "count" && !(agg.expression instanceof Wildcard));
@@ -12560,10 +12553,10 @@ var selectQuery = {
12560
12553
  var subSelect = {
12561
12554
  name: "subSelect",
12562
12555
  impl: ({ ACTION, SUBRULE }) => () => {
12563
- const clause = SUBRULE(selectClause);
12564
- const where2 = SUBRULE(whereClause);
12565
- const modifiers = SUBRULE(solutionModifier);
12566
- const values3 = SUBRULE(valuesClause);
12556
+ const clause = SUBRULE(selectClause, void 0);
12557
+ const where2 = SUBRULE(whereClause, void 0);
12558
+ const modifiers = SUBRULE(solutionModifier, void 0);
12559
+ const values3 = SUBRULE(valuesClause, void 0);
12567
12560
  return ACTION(() => ({
12568
12561
  ...modifiers,
12569
12562
  ...clause,
@@ -12576,9 +12569,9 @@ var subSelect = {
12576
12569
  };
12577
12570
  var selectClause = {
12578
12571
  name: "selectClause",
12579
- impl: ({ ACTION, AT_LEAST_ONE, SUBRULE, CONSUME, SUBRULE1, SUBRULE2, OPTION, OR1, OR2, OR3, context }) => () => {
12572
+ impl: ({ ACTION, AT_LEAST_ONE, SUBRULE, CONSUME, SUBRULE1, SUBRULE2, OPTION, OR1, OR2, OR3 }) => (C) => {
12580
12573
  CONSUME(select);
12581
- const couldParseAgg = ACTION(() => context.parseMode.has(canParseAggregate) || !context.parseMode.add(canParseAggregate));
12574
+ const couldParseAgg = ACTION(() => C.parseMode.has("canParseAggregate") || !C.parseMode.add("canParseAggregate"));
12582
12575
  const distinctOrReduced = OPTION(() => OR1([
12583
12576
  { ALT: () => {
12584
12577
  CONSUME(distinct);
@@ -12599,7 +12592,7 @@ var selectClause = {
12599
12592
  const result = [];
12600
12593
  AT_LEAST_ONE(() => OR3([
12601
12594
  { ALT: () => {
12602
- const raw = SUBRULE1(var_);
12595
+ const raw = SUBRULE1(var_, void 0);
12603
12596
  ACTION(() => {
12604
12597
  if (usedVars.some((v) => v.equals(raw))) {
12605
12598
  throw new Error(`Variable ${raw.value} used more than once in SELECT clause`);
@@ -12610,9 +12603,9 @@ var selectClause = {
12610
12603
  } },
12611
12604
  { ALT: () => {
12612
12605
  CONSUME(symbols_exports.LParen);
12613
- const expr = SUBRULE(expression);
12606
+ const expr = SUBRULE(expression, void 0);
12614
12607
  CONSUME(as);
12615
- const variable = SUBRULE2(var_);
12608
+ const variable = SUBRULE2(var_, void 0);
12616
12609
  CONSUME(symbols_exports.RParen);
12617
12610
  ACTION(() => {
12618
12611
  if (usedVars.some((v) => v.equals(variable))) {
@@ -12629,7 +12622,7 @@ var selectClause = {
12629
12622
  return result;
12630
12623
  } }
12631
12624
  ]);
12632
- ACTION(() => !couldParseAgg && context.parseMode.delete(canParseAggregate));
12625
+ ACTION(() => !couldParseAgg && C.parseMode.delete("canParseAggregate"));
12633
12626
  return ACTION(() => ({
12634
12627
  ...distinctOrReduced,
12635
12628
  variables
@@ -12643,10 +12636,10 @@ var constructQuery = {
12643
12636
  return OR([
12644
12637
  {
12645
12638
  ALT: () => {
12646
- const template = SUBRULE(constructTemplate);
12639
+ const template = SUBRULE(constructTemplate, void 0);
12647
12640
  const from2 = extractFromOfDataSetClauses(ACTION, MANY1, SUBRULE1);
12648
- const where2 = SUBRULE(whereClause);
12649
- const modifiers = SUBRULE1(solutionModifier);
12641
+ const where2 = SUBRULE(whereClause, void 0);
12642
+ const modifiers = SUBRULE1(solutionModifier, void 0);
12650
12643
  return ACTION(() => ({
12651
12644
  ...modifiers,
12652
12645
  queryType: "CONSTRUCT",
@@ -12661,9 +12654,9 @@ var constructQuery = {
12661
12654
  const from2 = extractFromOfDataSetClauses(ACTION, MANY2, SUBRULE2);
12662
12655
  CONSUME(where);
12663
12656
  CONSUME(symbols_exports.LCurly);
12664
- const template = OPTION(() => SUBRULE(triplesTemplate));
12657
+ const template = OPTION(() => SUBRULE(triplesTemplate, void 0));
12665
12658
  CONSUME(symbols_exports.RCurly);
12666
- const modifiers = SUBRULE2(solutionModifier);
12659
+ const modifiers = SUBRULE2(solutionModifier, void 0);
12667
12660
  const where2 = template ? [{
12668
12661
  type: "bgp",
12669
12662
  triples: template
@@ -12688,7 +12681,7 @@ var describeQuery = {
12688
12681
  { ALT: () => {
12689
12682
  const variables2 = [];
12690
12683
  AT_LEAST_ONE(() => {
12691
- variables2.push(SUBRULE(varOrIri));
12684
+ variables2.push(SUBRULE(varOrIri, void 0));
12692
12685
  });
12693
12686
  return variables2;
12694
12687
  } },
@@ -12698,8 +12691,8 @@ var describeQuery = {
12698
12691
  } }
12699
12692
  ]);
12700
12693
  const from2 = extractFromOfDataSetClauses(ACTION, MANY, SUBRULE);
12701
- const where2 = OPTION(() => SUBRULE(whereClause));
12702
- const modifiers = SUBRULE(solutionModifier);
12694
+ const where2 = OPTION(() => SUBRULE(whereClause, void 0));
12695
+ const modifiers = SUBRULE(solutionModifier, void 0);
12703
12696
  return ACTION(() => ({
12704
12697
  ...modifiers,
12705
12698
  queryType: "DESCRIBE",
@@ -12714,8 +12707,8 @@ var askQuery = {
12714
12707
  impl: ({ ACTION, SUBRULE, CONSUME, MANY }) => () => {
12715
12708
  CONSUME(ask);
12716
12709
  const from2 = extractFromOfDataSetClauses(ACTION, MANY, SUBRULE);
12717
- const where2 = SUBRULE(whereClause);
12718
- const modifiers = SUBRULE(solutionModifier);
12710
+ const where2 = SUBRULE(whereClause, void 0);
12711
+ const modifiers = SUBRULE(solutionModifier, void 0);
12719
12712
  return ACTION(() => ({
12720
12713
  ...modifiers,
12721
12714
  queryType: "ASK",
@@ -12728,14 +12721,14 @@ var valuesClause = {
12728
12721
  name: "valuesClause",
12729
12722
  impl: ({ SUBRULE, CONSUME, OPTION }) => () => OPTION(() => {
12730
12723
  CONSUME(values2);
12731
- return SUBRULE(dataBlock);
12724
+ return SUBRULE(dataBlock, void 0);
12732
12725
  })
12733
12726
  };
12734
12727
  var constructTemplate = {
12735
12728
  name: "constructTemplate",
12736
12729
  impl: ({ SUBRULE, CONSUME, OPTION }) => () => {
12737
12730
  CONSUME(symbols_exports.LCurly);
12738
- const triples = OPTION(() => SUBRULE(constructTriples));
12731
+ const triples = OPTION(() => SUBRULE(constructTriples, void 0));
12739
12732
  CONSUME(symbols_exports.RCurly);
12740
12733
  return triples;
12741
12734
  }
@@ -12744,11 +12737,11 @@ var constructTriples = {
12744
12737
  name: "constructTriples",
12745
12738
  impl: ({ SUBRULE, CONSUME, OPTION1, OPTION2 }) => () => {
12746
12739
  const triples = [];
12747
- triples.push(SUBRULE(triplesSameSubject));
12740
+ triples.push(SUBRULE(triplesSameSubject, void 0));
12748
12741
  OPTION1(() => {
12749
12742
  CONSUME(symbols_exports.dot);
12750
12743
  OPTION2(() => {
12751
- triples.push(SUBRULE(constructTriples));
12744
+ triples.push(SUBRULE(constructTriples, void 0));
12752
12745
  });
12753
12746
  });
12754
12747
  return triples.flat(1);
@@ -12759,16 +12752,15 @@ var constructTriples = {
12759
12752
  var updateUnit = {
12760
12753
  name: "updateUnit",
12761
12754
  impl: ({ ACTION, SUBRULE }) => () => {
12762
- const data = SUBRULE(update);
12755
+ const data = SUBRULE(update, void 0);
12763
12756
  ACTION(() => data.updates.reverse());
12764
12757
  return data;
12765
12758
  }
12766
12759
  };
12767
12760
  var update = {
12768
12761
  name: "update",
12769
- impl: ({ ACTION, SUBRULE, CONSUME, OPTION1, OPTION2, context }) => () => {
12770
- const blankLabelsUsedInInsertData = /* @__PURE__ */ new Set();
12771
- const prologueValues = SUBRULE(prologue);
12762
+ impl: ({ ACTION, SUBRULE, CONSUME, OPTION1, OPTION2 }) => () => {
12763
+ const prologueValues = SUBRULE(prologue, void 0);
12772
12764
  const result = {
12773
12765
  type: "update",
12774
12766
  base: prologueValues.base,
@@ -12776,10 +12768,10 @@ var update = {
12776
12768
  updates: []
12777
12769
  };
12778
12770
  OPTION1(() => {
12779
- const updateOperation = SUBRULE(update1);
12771
+ const updateOperation = SUBRULE(update1, void 0);
12780
12772
  const recursiveRes = OPTION2(() => {
12781
12773
  CONSUME(symbols_exports.semi);
12782
- return SUBRULE(update);
12774
+ return SUBRULE(update, void 0);
12783
12775
  });
12784
12776
  return ACTION(() => {
12785
12777
  result.updates.push(updateOperation);
@@ -12796,17 +12788,17 @@ var update = {
12796
12788
  var update1 = {
12797
12789
  name: "update1",
12798
12790
  impl: ({ SUBRULE, OR }) => () => OR([
12799
- { ALT: () => SUBRULE(load2) },
12800
- { ALT: () => SUBRULE(clear2) },
12801
- { ALT: () => SUBRULE(drop3) },
12802
- { ALT: () => SUBRULE(add2) },
12803
- { ALT: () => SUBRULE(move2) },
12804
- { ALT: () => SUBRULE(copy2) },
12805
- { ALT: () => SUBRULE(create2) },
12806
- { ALT: () => SUBRULE(insertData) },
12807
- { ALT: () => SUBRULE(deleteData) },
12808
- { ALT: () => SUBRULE(deleteWhere) },
12809
- { ALT: () => SUBRULE(modify) }
12791
+ { ALT: () => SUBRULE(load2, void 0) },
12792
+ { ALT: () => SUBRULE(clear2, void 0) },
12793
+ { ALT: () => SUBRULE(drop3, void 0) },
12794
+ { ALT: () => SUBRULE(add2, void 0) },
12795
+ { ALT: () => SUBRULE(move2, void 0) },
12796
+ { ALT: () => SUBRULE(copy2, void 0) },
12797
+ { ALT: () => SUBRULE(create2, void 0) },
12798
+ { ALT: () => SUBRULE(insertData, void 0) },
12799
+ { ALT: () => SUBRULE(deleteData, void 0) },
12800
+ { ALT: () => SUBRULE(deleteWhere, void 0) },
12801
+ { ALT: () => SUBRULE(modify, void 0) }
12810
12802
  ])
12811
12803
  };
12812
12804
  var load2 = {
@@ -12814,10 +12806,10 @@ var load2 = {
12814
12806
  impl: ({ SUBRULE, CONSUME, OPTION1, OPTION2 }) => () => {
12815
12807
  CONSUME(load);
12816
12808
  const silent2 = Boolean(OPTION1(() => CONSUME(silent)));
12817
- const source = SUBRULE(iri2);
12809
+ const source = SUBRULE(iri2, void 0);
12818
12810
  const destination = OPTION2(() => {
12819
12811
  CONSUME(loadInto);
12820
- return SUBRULE(graphRef);
12812
+ return SUBRULE(graphRef, void 0);
12821
12813
  });
12822
12814
  return {
12823
12815
  type: "load",
@@ -12832,7 +12824,7 @@ var clear2 = {
12832
12824
  impl: ({ SUBRULE, CONSUME, OPTION }) => () => {
12833
12825
  CONSUME(clear);
12834
12826
  const silent2 = Boolean(OPTION(() => CONSUME(silent)));
12835
- const graph2 = SUBRULE(graphRefAll);
12827
+ const graph2 = SUBRULE(graphRefAll, void 0);
12836
12828
  return {
12837
12829
  type: "clear",
12838
12830
  silent: silent2,
@@ -12845,7 +12837,7 @@ var drop3 = {
12845
12837
  impl: ({ SUBRULE, CONSUME, OPTION }) => () => {
12846
12838
  CONSUME(drop2);
12847
12839
  const silent2 = Boolean(OPTION(() => CONSUME(silent)));
12848
- const graph2 = SUBRULE(graphRefAll);
12840
+ const graph2 = SUBRULE(graphRefAll, void 0);
12849
12841
  return {
12850
12842
  type: "drop",
12851
12843
  silent: silent2,
@@ -12858,7 +12850,7 @@ var create2 = {
12858
12850
  impl: ({ SUBRULE, CONSUME, OPTION }) => () => {
12859
12851
  CONSUME(create);
12860
12852
  const silent2 = Boolean(OPTION(() => CONSUME(silent)));
12861
- const graph2 = SUBRULE(graphRef);
12853
+ const graph2 = SUBRULE(graphRef, void 0);
12862
12854
  return {
12863
12855
  type: "create",
12864
12856
  silent: silent2,
@@ -12875,9 +12867,9 @@ function copyMoveAddOperation(operation) {
12875
12867
  impl: ({ CONSUME, SUBRULE1, SUBRULE2, OPTION }) => () => {
12876
12868
  CONSUME(operation);
12877
12869
  const silent2 = Boolean(OPTION(() => CONSUME(silent)));
12878
- const source = SUBRULE1(graphOrDefault);
12870
+ const source = SUBRULE1(graphOrDefault, void 0);
12879
12871
  CONSUME(to);
12880
- const destination = SUBRULE2(graphOrDefault);
12872
+ const destination = SUBRULE2(graphOrDefault, void 0);
12881
12873
  return {
12882
12874
  type: unCapitalize(operation.name),
12883
12875
  silent: silent2,
@@ -12895,7 +12887,7 @@ var insertData = {
12895
12887
  impl: ({ SUBRULE, CONSUME }) => () => {
12896
12888
  CONSUME(insertClause);
12897
12889
  CONSUME(dataClause);
12898
- const insert = SUBRULE(quadData);
12890
+ const insert = SUBRULE(quadData, void 0);
12899
12891
  return {
12900
12892
  updateType: "insert",
12901
12893
  insert
@@ -12904,12 +12896,12 @@ var insertData = {
12904
12896
  };
12905
12897
  var deleteData = {
12906
12898
  name: "deleteData",
12907
- impl: ({ ACTION, SUBRULE, CONSUME, context }) => () => {
12899
+ impl: ({ ACTION, SUBRULE, CONSUME }) => (C) => {
12908
12900
  CONSUME(deleteClause);
12909
12901
  CONSUME(dataClause);
12910
- const couldCreateBlankNodes = ACTION(() => context.parseMode.delete(canCreateBlankNodes));
12911
- const del = SUBRULE(quadData);
12912
- ACTION(() => couldCreateBlankNodes && context.parseMode.add(canCreateBlankNodes));
12902
+ const couldCreateBlankNodes = ACTION(() => C.parseMode.delete("canCreateBlankNodes"));
12903
+ const del = SUBRULE(quadData, void 0);
12904
+ ACTION(() => couldCreateBlankNodes && C.parseMode.add("canCreateBlankNodes"));
12913
12905
  return {
12914
12906
  updateType: "delete",
12915
12907
  delete: del
@@ -12918,12 +12910,12 @@ var deleteData = {
12918
12910
  };
12919
12911
  var deleteWhere = {
12920
12912
  name: "deleteWhere",
12921
- impl: ({ ACTION, SUBRULE, CONSUME, context }) => () => {
12913
+ impl: ({ ACTION, SUBRULE, CONSUME }) => (C) => {
12922
12914
  CONSUME(deleteClause);
12923
12915
  CONSUME(where);
12924
- const couldCreateBlankNodes = ACTION(() => context.parseMode.delete(canCreateBlankNodes));
12925
- const del = SUBRULE(quadPattern);
12926
- ACTION(() => couldCreateBlankNodes && context.parseMode.add(canCreateBlankNodes));
12916
+ const couldCreateBlankNodes = ACTION(() => C.parseMode.delete("canCreateBlankNodes"));
12917
+ const del = SUBRULE(quadPattern, void 0);
12918
+ ACTION(() => couldCreateBlankNodes && C.parseMode.add("canCreateBlankNodes"));
12927
12919
  return {
12928
12920
  updateType: "deletewhere",
12929
12921
  delete: del
@@ -12935,27 +12927,27 @@ var modify = {
12935
12927
  impl: ({ ACTION, SUBRULE, CONSUME, MANY, SUBRULE1, SUBRULE2, OPTION1, OPTION2, OR }) => () => {
12936
12928
  const graph2 = OPTION1(() => {
12937
12929
  CONSUME(modifyWith);
12938
- return SUBRULE(iri2);
12930
+ return SUBRULE(iri2, void 0);
12939
12931
  });
12940
12932
  const { insert, delete: del } = OR([
12941
12933
  {
12942
12934
  ALT: () => {
12943
- const del2 = SUBRULE(deleteClause2);
12944
- const insert2 = OPTION2(() => SUBRULE1(insertClause2)) ?? [];
12935
+ const del2 = SUBRULE(deleteClause2, void 0);
12936
+ const insert2 = OPTION2(() => SUBRULE1(insertClause2, void 0)) ?? [];
12945
12937
  return { delete: del2, insert: insert2 };
12946
12938
  }
12947
12939
  },
12948
12940
  { ALT: () => {
12949
- const insert2 = SUBRULE2(insertClause2);
12941
+ const insert2 = SUBRULE2(insertClause2, void 0);
12950
12942
  return { insert: insert2, delete: [] };
12951
12943
  } }
12952
12944
  ]);
12953
12945
  const usingArr = [];
12954
12946
  MANY(() => {
12955
- usingArr.push(SUBRULE(usingClause2));
12947
+ usingArr.push(SUBRULE(usingClause2, void 0));
12956
12948
  });
12957
12949
  CONSUME(where);
12958
- const where2 = SUBRULE(groupGraphPattern);
12950
+ const where2 = SUBRULE(groupGraphPattern, void 0);
12959
12951
  return ACTION(() => {
12960
12952
  const def = [];
12961
12953
  const named2 = [];
@@ -12979,11 +12971,11 @@ var modify = {
12979
12971
  };
12980
12972
  var deleteClause2 = {
12981
12973
  name: "deleteClause",
12982
- impl: ({ ACTION, SUBRULE, CONSUME, context }) => () => {
12974
+ impl: ({ ACTION, SUBRULE, CONSUME }) => (C) => {
12983
12975
  CONSUME(deleteClause);
12984
- const couldCreateBlankNodes = ACTION(() => context.parseMode.delete(canCreateBlankNodes));
12985
- const del = SUBRULE(quadPattern);
12986
- ACTION(() => couldCreateBlankNodes && context.parseMode.add(canCreateBlankNodes));
12976
+ const couldCreateBlankNodes = ACTION(() => C.parseMode.delete("canCreateBlankNodes"));
12977
+ const del = SUBRULE(quadPattern, void 0);
12978
+ ACTION(() => couldCreateBlankNodes && C.parseMode.add("canCreateBlankNodes"));
12987
12979
  return del;
12988
12980
  }
12989
12981
  };
@@ -12991,7 +12983,7 @@ var insertClause2 = {
12991
12983
  name: "insertClause",
12992
12984
  impl: ({ SUBRULE, CONSUME }) => () => {
12993
12985
  CONSUME(insertClause);
12994
- return SUBRULE(quadPattern);
12986
+ return SUBRULE(quadPattern, void 0);
12995
12987
  }
12996
12988
  };
12997
12989
  var usingClause2 = {
@@ -13000,13 +12992,13 @@ var usingClause2 = {
13000
12992
  CONSUME(usingClause);
13001
12993
  return OR([
13002
12994
  { ALT: () => {
13003
- const value = SUBRULE1(iri2);
12995
+ const value = SUBRULE1(iri2, void 0);
13004
12996
  return { value, type: "default" };
13005
12997
  } },
13006
12998
  {
13007
12999
  ALT: () => {
13008
13000
  CONSUME(graph_exports.named);
13009
- const value = SUBRULE2(iri2);
13001
+ const value = SUBRULE2(iri2, void 0);
13010
13002
  return { value, type: "named" };
13011
13003
  }
13012
13004
  }
@@ -13023,7 +13015,7 @@ var graphOrDefault = {
13023
13015
  {
13024
13016
  ALT: () => {
13025
13017
  OPTION(() => CONSUME(graph_exports.graph));
13026
- const name = SUBRULE(iri2);
13018
+ const name = SUBRULE(iri2, void 0);
13027
13019
  return {
13028
13020
  type: "graph",
13029
13021
  name
@@ -13036,14 +13028,14 @@ var graphRef = {
13036
13028
  name: "graphRef",
13037
13029
  impl: ({ SUBRULE, CONSUME }) => () => {
13038
13030
  CONSUME(graph_exports.graph);
13039
- return SUBRULE(iri2);
13031
+ return SUBRULE(iri2, void 0);
13040
13032
  }
13041
13033
  };
13042
13034
  var graphRefAll = {
13043
13035
  name: "graphRefAll",
13044
13036
  impl: ({ SUBRULE, CONSUME, OR }) => () => OR([
13045
13037
  { ALT: () => {
13046
- const name = SUBRULE(graphRef);
13038
+ const name = SUBRULE(graphRef, void 0);
13047
13039
  return { type: "graph", name };
13048
13040
  } },
13049
13041
  { ALT: () => {
@@ -13064,18 +13056,18 @@ var quadPattern = {
13064
13056
  name: "quadPattern",
13065
13057
  impl: ({ SUBRULE, CONSUME }) => () => {
13066
13058
  CONSUME(symbols_exports.LCurly);
13067
- const val = SUBRULE(quads);
13059
+ const val = SUBRULE(quads, void 0);
13068
13060
  CONSUME(symbols_exports.RCurly);
13069
13061
  return val;
13070
13062
  }
13071
13063
  };
13072
13064
  var quadData = {
13073
13065
  name: "quadData",
13074
- impl: ({ ACTION, SUBRULE, CONSUME, context }) => () => {
13066
+ impl: ({ ACTION, SUBRULE, CONSUME }) => (C) => {
13075
13067
  CONSUME(symbols_exports.LCurly);
13076
- const couldParseVars = ACTION(() => context.parseMode.delete(canParseVars));
13077
- const val = SUBRULE(quads);
13078
- ACTION(() => couldParseVars && context.parseMode.add(canParseVars));
13068
+ const couldParseVars = ACTION(() => C.parseMode.delete("canParseVars"));
13069
+ const val = SUBRULE(quads, void 0);
13070
+ ACTION(() => couldParseVars && C.parseMode.add("canParseVars"));
13079
13071
  CONSUME(symbols_exports.RCurly);
13080
13072
  return val;
13081
13073
  }
@@ -13085,17 +13077,17 @@ var quads = {
13085
13077
  impl: ({ SUBRULE, CONSUME, MANY, SUBRULE1, SUBRULE2, OPTION1, OPTION2, OPTION3 }) => () => {
13086
13078
  const quads2 = [];
13087
13079
  OPTION1(() => {
13088
- const triples = SUBRULE1(triplesTemplate);
13080
+ const triples = SUBRULE1(triplesTemplate, void 0);
13089
13081
  quads2.push({
13090
13082
  type: "bgp",
13091
13083
  triples
13092
13084
  });
13093
13085
  });
13094
13086
  MANY(() => {
13095
- quads2.push(SUBRULE(quadsNotTriples));
13087
+ quads2.push(SUBRULE(quadsNotTriples, void 0));
13096
13088
  OPTION2(() => CONSUME(symbols_exports.dot));
13097
13089
  OPTION3(() => {
13098
- const triples = SUBRULE2(triplesTemplate);
13090
+ const triples = SUBRULE2(triplesTemplate, void 0);
13099
13091
  quads2.push({
13100
13092
  type: "bgp",
13101
13093
  triples
@@ -13109,9 +13101,9 @@ var quadsNotTriples = {
13109
13101
  name: "quadsNotTriples",
13110
13102
  impl: ({ SUBRULE, CONSUME, OPTION }) => () => {
13111
13103
  CONSUME(graph_exports.graph);
13112
- const name = SUBRULE(varOrIri);
13104
+ const name = SUBRULE(varOrIri, void 0);
13113
13105
  CONSUME(symbols_exports.LCurly);
13114
- const triples = OPTION(() => SUBRULE(triplesTemplate)) ?? [];
13106
+ const triples = OPTION(() => SUBRULE(triplesTemplate, void 0)) ?? [];
13115
13107
  CONSUME(symbols_exports.RCurly);
13116
13108
  return {
13117
13109
  type: "graph",
@@ -13178,8 +13170,8 @@ function reifiedTripleBlockImpl(name, allowPath) {
13178
13170
  return {
13179
13171
  name,
13180
13172
  impl: ({ ACTION, SUBRULE }) => () => {
13181
- const triple = SUBRULE(reifiedTriple);
13182
- const properties = SUBRULE(allowPath ? grammar_exports.propertyListPath : grammar_exports.propertyList, triple.node);
13173
+ const triple = SUBRULE(reifiedTriple, void 0);
13174
+ const properties = SUBRULE(allowPath ? grammar_exports.propertyListPath : grammar_exports.propertyList, { subject: triple.node });
13183
13175
  return ACTION(() => [
13184
13176
  ...triple.triples,
13185
13177
  ...properties
@@ -13191,38 +13183,38 @@ var reifiedTripleBlock = reifiedTripleBlockImpl("reifiedTripleBlock", false);
13191
13183
  var reifiedTripleBlockPath = reifiedTripleBlockImpl("reifiedTripleBlockPath", true);
13192
13184
  var dataBlockValue2 = {
13193
13185
  name: "dataBlockValue",
13194
- impl: ($) => () => $.OR2([
13195
- { ALT: () => grammar_exports.dataBlockValue.impl($)() },
13196
- { ALT: () => $.SUBRULE(tripleTermData) }
13186
+ impl: ($) => (C) => $.OR2([
13187
+ { ALT: () => grammar_exports.dataBlockValue.impl($)(C, void 0) },
13188
+ { ALT: () => $.SUBRULE(tripleTermData, void 0) }
13197
13189
  ])
13198
13190
  };
13199
13191
  var reifier = {
13200
13192
  name: "reifier",
13201
- impl: ({ ACTION, CONSUME, SUBRULE, OPTION, context }) => () => {
13193
+ impl: ({ ACTION, CONSUME, SUBRULE, OPTION }) => (C) => {
13202
13194
  CONSUME(tilde);
13203
- const reifier2 = OPTION(() => SUBRULE(varOrReifierId));
13195
+ const reifier2 = OPTION(() => SUBRULE(varOrReifierId, void 0));
13204
13196
  return ACTION(() => {
13205
- if (reifier2 === void 0 && !context.parseMode.has(grammar_exports.canCreateBlankNodes)) {
13197
+ if (reifier2 === void 0 && !C.parseMode.has("canCreateBlankNodes")) {
13206
13198
  throw new Error("Cannot create blanknodes in current parse mode");
13207
13199
  }
13208
- return reifier2 ?? context.dataFactory.blankNode();
13200
+ return reifier2 ?? C.dataFactory.blankNode();
13209
13201
  });
13210
13202
  }
13211
13203
  };
13212
13204
  var varOrReifierId = {
13213
13205
  name: "varOrReifierId",
13214
13206
  impl: ({ SUBRULE, OR }) => () => OR([
13215
- { ALT: () => SUBRULE(grammar_exports.var_) },
13216
- { ALT: () => SUBRULE(grammar_exports.iri) },
13217
- { ALT: () => SUBRULE(grammar_exports.blankNode) }
13207
+ { ALT: () => SUBRULE(grammar_exports.var_, void 0) },
13208
+ { ALT: () => SUBRULE(grammar_exports.iri, void 0) },
13209
+ { ALT: () => SUBRULE(grammar_exports.blankNode, void 0) }
13218
13210
  ])
13219
13211
  };
13220
13212
  function triplesSameSubjectImpl2(name, allowPaths) {
13221
13213
  return {
13222
13214
  name,
13223
- impl: ($) => () => $.OR2([
13224
- { ALT: () => allowPaths ? grammar_exports.triplesSameSubjectPath.impl($)() : grammar_exports.triplesSameSubject.impl($)() },
13225
- { ALT: () => $.SUBRULE(allowPaths ? reifiedTripleBlockPath : reifiedTripleBlock) }
13215
+ impl: ($) => (C) => $.OR2([
13216
+ { ALT: () => allowPaths ? grammar_exports.triplesSameSubjectPath.impl($)(C, void 0) : grammar_exports.triplesSameSubject.impl($)(C, void 0) },
13217
+ { ALT: () => $.SUBRULE(allowPaths ? reifiedTripleBlockPath : reifiedTripleBlock, void 0) }
13226
13218
  ])
13227
13219
  };
13228
13220
  }
@@ -13231,10 +13223,11 @@ var triplesSameSubjectPath2 = triplesSameSubjectImpl2("triplesSameSubjectPath",
13231
13223
  function objectImpl2(name, allowPaths) {
13232
13224
  return {
13233
13225
  name,
13234
- impl: ({ ACTION, SUBRULE, context }) => (subject, predicate) => {
13235
- const objectVal = SUBRULE(allowPaths ? graphNodePath2 : graphNode2);
13236
- const annotationVal = SUBRULE(allowPaths ? annotationPath : annotation);
13226
+ impl: ({ ACTION, SUBRULE }) => (C, arg) => {
13227
+ const objectVal = SUBRULE(allowPaths ? graphNodePath2 : graphNode2, void 0);
13228
+ const annotationVal = SUBRULE(allowPaths ? annotationPath : annotation, void 0);
13237
13229
  return ACTION(() => {
13230
+ const { subject, predicate } = arg;
13238
13231
  if ("type" in predicate && predicate.type === "path" && annotationVal.length > 0) {
13239
13232
  throw new Error("Note 17 violation");
13240
13233
  }
@@ -13245,10 +13238,10 @@ function objectImpl2(name, allowPaths) {
13245
13238
  ...objectVal.triples
13246
13239
  ];
13247
13240
  for (const annotation2 of annotationVal) {
13248
- result.push(context.dataFactory.quad(
13241
+ result.push(C.dataFactory.quad(
13249
13242
  annotation2.node,
13250
- context.dataFactory.namedNode("http://www.w3.org/1999/02/22-rdf-syntax-ns#reifies" /* REIFIES */),
13251
- context.dataFactory.quad(
13243
+ C.dataFactory.namedNode("http://www.w3.org/1999/02/22-rdf-syntax-ns#reifies" /* REIFIES */),
13244
+ C.dataFactory.quad(
13252
13245
  subject,
13253
13246
  predicate,
13254
13247
  objectVal.node
@@ -13266,7 +13259,7 @@ var objectPath2 = objectImpl2("objectPath", true);
13266
13259
  function annotationImpl(name, allowPaths) {
13267
13260
  return {
13268
13261
  name,
13269
- impl: ({ ACTION, SUBRULE, OR, MANY, context }) => () => {
13262
+ impl: ({ ACTION, SUBRULE, OR, MANY }) => (C) => {
13270
13263
  const annotations = [];
13271
13264
  let currentReifier;
13272
13265
  function flush() {
@@ -13278,7 +13271,7 @@ function annotationImpl(name, allowPaths) {
13278
13271
  MANY(() => {
13279
13272
  OR([
13280
13273
  { ALT: () => {
13281
- const node = SUBRULE(reifier);
13274
+ const node = SUBRULE(reifier, void 0);
13282
13275
  ACTION(() => flush());
13283
13276
  currentReifier = node;
13284
13277
  } },
@@ -13286,13 +13279,13 @@ function annotationImpl(name, allowPaths) {
13286
13279
  let node;
13287
13280
  const block = SUBRULE(
13288
13281
  allowPaths ? annotationBlockPath : annotationBlock,
13289
- ACTION(() => {
13290
- if (currentReifier === void 0 && !context.parseMode.has(grammar_exports.canCreateBlankNodes)) {
13282
+ { subject: ACTION(() => {
13283
+ if (currentReifier === void 0 && !C.parseMode.has("canCreateBlankNodes")) {
13291
13284
  throw new Error("Cannot create blanknodes in current parse mode");
13292
13285
  }
13293
- node = currentReifier ?? context.dataFactory.blankNode();
13286
+ node = currentReifier ?? C.dataFactory.blankNode();
13294
13287
  return node;
13295
- })
13288
+ }) }
13296
13289
  );
13297
13290
  ACTION(() => {
13298
13291
  annotations.push({
@@ -13316,9 +13309,9 @@ var annotation = annotationImpl("annotation", false);
13316
13309
  function annotationBlockImpl(name, allowPaths) {
13317
13310
  return {
13318
13311
  name,
13319
- impl: ({ SUBRULE, CONSUME }) => (subject) => {
13312
+ impl: ({ ACTION, SUBRULE, CONSUME }) => (_, arg) => {
13320
13313
  CONSUME(annotationOpen);
13321
- const res = SUBRULE(allowPaths ? grammar_exports.propertyListPathNotEmpty : grammar_exports.propertyListNotEmpty, subject);
13314
+ const res = SUBRULE(allowPaths ? grammar_exports.propertyListPathNotEmpty : grammar_exports.propertyListNotEmpty, { subject: ACTION(() => arg.subject) });
13322
13315
  CONSUME(annotationClose);
13323
13316
  return res;
13324
13317
  }
@@ -13328,54 +13321,54 @@ var annotationBlockPath = annotationBlockImpl("annotationBlockPath", true);
13328
13321
  var annotationBlock = annotationBlockImpl("annotationBlock", false);
13329
13322
  var graphNode2 = {
13330
13323
  name: "graphNode",
13331
- impl: ($) => () => $.OR2([
13332
- { ALT: () => grammar_exports.graphNode.impl($)() },
13333
- { ALT: () => $.SUBRULE(reifiedTriple) }
13324
+ impl: ($) => (C) => $.OR2([
13325
+ { ALT: () => grammar_exports.graphNode.impl($)(C, void 0) },
13326
+ { ALT: () => $.SUBRULE(reifiedTriple, void 0) }
13334
13327
  ])
13335
13328
  };
13336
13329
  var graphNodePath2 = {
13337
13330
  name: "graphNodePath",
13338
- impl: ($) => () => $.OR2([
13339
- { ALT: () => grammar_exports.graphNodePath.impl($)() },
13340
- { ALT: () => $.SUBRULE(reifiedTriple) }
13331
+ impl: ($) => (C) => $.OR2([
13332
+ { ALT: () => grammar_exports.graphNodePath.impl($)(C, void 0) },
13333
+ { ALT: () => $.SUBRULE(reifiedTriple, void 0) }
13341
13334
  ])
13342
13335
  };
13343
13336
  var varOrTerm2 = {
13344
13337
  name: "varOrTerm",
13345
- impl: ({ SUBRULE, OR, CONSUME, context }) => () => OR([
13346
- { ALT: () => SUBRULE(grammar_exports.var_) },
13347
- { ALT: () => SUBRULE(grammar_exports.iri) },
13348
- { ALT: () => SUBRULE(rdfLiteral2) },
13349
- { ALT: () => SUBRULE(grammar_exports.numericLiteral) },
13350
- { ALT: () => SUBRULE(grammar_exports.booleanLiteral) },
13351
- { ALT: () => SUBRULE(grammar_exports.blankNode) },
13338
+ impl: ({ ACTION, SUBRULE, OR, CONSUME }) => (C) => OR([
13339
+ { ALT: () => SUBRULE(grammar_exports.var_, void 0) },
13340
+ { ALT: () => SUBRULE(grammar_exports.iri, void 0) },
13341
+ { ALT: () => SUBRULE(rdfLiteral2, void 0) },
13342
+ { ALT: () => SUBRULE(grammar_exports.numericLiteral, void 0) },
13343
+ { ALT: () => SUBRULE(grammar_exports.booleanLiteral, void 0) },
13344
+ { ALT: () => SUBRULE(grammar_exports.blankNode, void 0) },
13352
13345
  { ALT: () => {
13353
13346
  CONSUME(lexer_exports.terminals.nil);
13354
- return context.dataFactory.namedNode("http://www.w3.org/1999/02/22-rdf-syntax-ns#nil" /* NIL */);
13347
+ return ACTION(() => C.dataFactory.namedNode("http://www.w3.org/1999/02/22-rdf-syntax-ns#nil" /* NIL */));
13355
13348
  } },
13356
- { ALT: () => SUBRULE(tripleTerm) }
13349
+ { ALT: () => SUBRULE(tripleTerm, void 0) }
13357
13350
  ])
13358
13351
  };
13359
13352
  var reifiedTriple = {
13360
13353
  name: "reifiedTriple",
13361
- impl: ({ ACTION, CONSUME, SUBRULE, OPTION, context }) => () => {
13354
+ impl: ({ ACTION, CONSUME, SUBRULE, OPTION }) => (C) => {
13362
13355
  CONSUME(reificationOpen);
13363
- const subject = SUBRULE(reifiedTripleSubject);
13364
- const predicate = SUBRULE(grammar_exports.verb);
13365
- const object3 = SUBRULE(reifiedTripleObject);
13366
- const reifierVal = OPTION(() => SUBRULE(reifier));
13356
+ const subject = SUBRULE(reifiedTripleSubject, void 0);
13357
+ const predicate = SUBRULE(grammar_exports.verb, void 0);
13358
+ const object3 = SUBRULE(reifiedTripleObject, void 0);
13359
+ const reifierVal = OPTION(() => SUBRULE(reifier, void 0));
13367
13360
  CONSUME(reificationClose);
13368
13361
  return ACTION(() => {
13369
- if (reifierVal === void 0 && !context.parseMode.has(grammar_exports.canCreateBlankNodes)) {
13362
+ if (reifierVal === void 0 && !C.parseMode.has("canCreateBlankNodes")) {
13370
13363
  throw new Error("Cannot create blanknodes in current parse mode");
13371
13364
  }
13372
- const reifier2 = reifierVal ?? context.dataFactory.blankNode();
13373
- const tripleTerm2 = context.dataFactory.quad(subject.node, predicate, object3.node);
13365
+ const reifier2 = reifierVal ?? C.dataFactory.blankNode();
13366
+ const tripleTerm2 = C.dataFactory.quad(subject.node, predicate, object3.node);
13374
13367
  return {
13375
13368
  node: reifier2,
13376
13369
  triples: [
13377
13370
  ...subject.triples,
13378
- context.dataFactory.quad(reifier2, context.dataFactory.namedNode("http://www.w3.org/1999/02/22-rdf-syntax-ns#reifies" /* REIFIES */), tripleTerm2),
13371
+ C.dataFactory.quad(reifier2, C.dataFactory.namedNode("http://www.w3.org/1999/02/22-rdf-syntax-ns#reifies" /* REIFIES */), tripleTerm2),
13379
13372
  ...object3.triples
13380
13373
  ]
13381
13374
  };
@@ -13385,117 +13378,117 @@ var reifiedTriple = {
13385
13378
  var reifiedTripleSubject = {
13386
13379
  name: "reifiedTripleSubject",
13387
13380
  impl: ({ OR, SUBRULE }) => () => OR([
13388
- { ALT: () => ({ node: SUBRULE(grammar_exports.var_), triples: [] }) },
13389
- { ALT: () => ({ node: SUBRULE(grammar_exports.iri), triples: [] }) },
13390
- { ALT: () => ({ node: SUBRULE(rdfLiteral2), triples: [] }) },
13391
- { ALT: () => ({ node: SUBRULE(grammar_exports.numericLiteral), triples: [] }) },
13392
- { ALT: () => ({ node: SUBRULE(grammar_exports.booleanLiteral), triples: [] }) },
13393
- { ALT: () => ({ node: SUBRULE(grammar_exports.blankNode), triples: [] }) },
13394
- { ALT: () => SUBRULE(reifiedTriple) }
13381
+ { ALT: () => ({ node: SUBRULE(grammar_exports.var_, void 0), triples: [] }) },
13382
+ { ALT: () => ({ node: SUBRULE(grammar_exports.iri, void 0), triples: [] }) },
13383
+ { ALT: () => ({ node: SUBRULE(rdfLiteral2, void 0), triples: [] }) },
13384
+ { ALT: () => ({ node: SUBRULE(grammar_exports.numericLiteral, void 0), triples: [] }) },
13385
+ { ALT: () => ({ node: SUBRULE(grammar_exports.booleanLiteral, void 0), triples: [] }) },
13386
+ { ALT: () => ({ node: SUBRULE(grammar_exports.blankNode, void 0), triples: [] }) },
13387
+ { ALT: () => SUBRULE(reifiedTriple, void 0) }
13395
13388
  ])
13396
13389
  };
13397
13390
  var reifiedTripleObject = {
13398
13391
  name: "reifiedTripleObject",
13399
- impl: ($) => () => $.OR2([
13400
- { ALT: () => reifiedTripleSubject.impl($)() },
13401
- { ALT: () => ({ node: $.SUBRULE(tripleTerm), triples: [] }) }
13392
+ impl: ($) => (C) => $.OR2([
13393
+ { ALT: () => reifiedTripleSubject.impl($)(C, void 0) },
13394
+ { ALT: () => ({ node: $.SUBRULE(tripleTerm, void 0), triples: [] }) }
13402
13395
  ])
13403
13396
  };
13404
13397
  var tripleTerm = {
13405
13398
  name: "tripleTerm",
13406
- impl: ({ CONSUME, SUBRULE, context }) => () => {
13399
+ impl: ({ ACTION, CONSUME, SUBRULE }) => (C) => {
13407
13400
  CONSUME(tripleTermOpen);
13408
- const subject = SUBRULE(tripleTermSubject);
13409
- const predicate = SUBRULE(grammar_exports.verb);
13410
- const object3 = SUBRULE(tripleTermObject);
13401
+ const subject = SUBRULE(tripleTermSubject, void 0);
13402
+ const predicate = SUBRULE(grammar_exports.verb, void 0);
13403
+ const object3 = SUBRULE(tripleTermObject, void 0);
13411
13404
  CONSUME(tripleTermClose);
13412
- return context.dataFactory.quad(subject, predicate, object3);
13405
+ return ACTION(() => C.dataFactory.quad(subject, predicate, object3));
13413
13406
  }
13414
13407
  };
13415
13408
  var tripleTermSubject = {
13416
13409
  name: "tripleTermSubject",
13417
13410
  impl: ({ SUBRULE, OR }) => () => OR([
13418
- { ALT: () => SUBRULE(grammar_exports.var_) },
13419
- { ALT: () => SUBRULE(grammar_exports.iri) },
13420
- { ALT: () => SUBRULE(rdfLiteral2) },
13421
- { ALT: () => SUBRULE(grammar_exports.numericLiteral) },
13422
- { ALT: () => SUBRULE(grammar_exports.booleanLiteral) },
13423
- { ALT: () => SUBRULE(grammar_exports.blankNode) }
13411
+ { ALT: () => SUBRULE(grammar_exports.var_, void 0) },
13412
+ { ALT: () => SUBRULE(grammar_exports.iri, void 0) },
13413
+ { ALT: () => SUBRULE(rdfLiteral2, void 0) },
13414
+ { ALT: () => SUBRULE(grammar_exports.numericLiteral, void 0) },
13415
+ { ALT: () => SUBRULE(grammar_exports.booleanLiteral, void 0) },
13416
+ { ALT: () => SUBRULE(grammar_exports.blankNode, void 0) }
13424
13417
  ])
13425
13418
  };
13426
13419
  var tripleTermObject = {
13427
13420
  name: "tripleTermObject",
13428
- impl: ($) => () => $.OR2([
13429
- { ALT: () => tripleTermSubject.impl($)() },
13430
- { ALT: () => $.SUBRULE(tripleTerm) }
13421
+ impl: ($) => (C) => $.OR2([
13422
+ { ALT: () => tripleTermSubject.impl($)(C, void 0) },
13423
+ { ALT: () => $.SUBRULE(tripleTerm, void 0) }
13431
13424
  ])
13432
13425
  };
13433
13426
  var tripleTermData = {
13434
13427
  name: "tripleTermData",
13435
- impl: ({ ACTION, CONSUME, OR, SUBRULE, context }) => () => {
13428
+ impl: ({ ACTION, CONSUME, OR, SUBRULE }) => (C) => {
13436
13429
  CONSUME(tripleTermOpen);
13437
- const subject = SUBRULE(tripleTermDataSubject);
13430
+ const subject = SUBRULE(tripleTermDataSubject, void 0);
13438
13431
  const predicate = OR([
13439
- { ALT: () => SUBRULE(grammar_exports.iri) },
13432
+ { ALT: () => SUBRULE(grammar_exports.iri, void 0) },
13440
13433
  { ALT: () => {
13441
13434
  CONSUME(lexer_exports.a);
13442
- return ACTION(() => context.dataFactory.namedNode("http://www.w3.org/1999/02/22-rdf-syntax-ns#type" /* TYPE */));
13435
+ return ACTION(() => C.dataFactory.namedNode("http://www.w3.org/1999/02/22-rdf-syntax-ns#type" /* TYPE */));
13443
13436
  } }
13444
13437
  ]);
13445
- const object3 = SUBRULE(tripleTermDataObject);
13438
+ const object3 = SUBRULE(tripleTermDataObject, void 0);
13446
13439
  CONSUME(tripleTermClose);
13447
- return ACTION(() => context.dataFactory.quad(subject, predicate, object3));
13440
+ return ACTION(() => C.dataFactory.quad(subject, predicate, object3));
13448
13441
  }
13449
13442
  };
13450
13443
  var tripleTermDataSubject = {
13451
13444
  name: "tripleTermDataSubject",
13452
13445
  impl: ({ OR, SUBRULE }) => () => OR([
13453
- { ALT: () => SUBRULE(grammar_exports.iri) },
13454
- { ALT: () => SUBRULE(rdfLiteral2) },
13455
- { ALT: () => SUBRULE(grammar_exports.numericLiteral) },
13456
- { ALT: () => SUBRULE(grammar_exports.booleanLiteral) }
13446
+ { ALT: () => SUBRULE(grammar_exports.iri, void 0) },
13447
+ { ALT: () => SUBRULE(rdfLiteral2, void 0) },
13448
+ { ALT: () => SUBRULE(grammar_exports.numericLiteral, void 0) },
13449
+ { ALT: () => SUBRULE(grammar_exports.booleanLiteral, void 0) }
13457
13450
  ])
13458
13451
  };
13459
13452
  var tripleTermDataObject = {
13460
13453
  name: "tripleTermDataObject",
13461
- impl: ($) => () => $.OR2([
13462
- { ALT: () => tripleTermDataSubject.impl($)() },
13463
- { ALT: () => $.SUBRULE(tripleTermData) }
13454
+ impl: ($) => (C) => $.OR2([
13455
+ { ALT: () => tripleTermDataSubject.impl($)(C, void 0) },
13456
+ { ALT: () => $.SUBRULE(tripleTermData, void 0) }
13464
13457
  ])
13465
13458
  };
13466
13459
  var primaryExpression2 = {
13467
13460
  name: "primaryExpression",
13468
- impl: ($) => () => $.OR2([
13469
- { ALT: () => grammar_exports.primaryExpression.impl($)() },
13470
- { ALT: () => $.SUBRULE(exprTripleTerm) }
13461
+ impl: ($) => (C) => $.OR2([
13462
+ { ALT: () => grammar_exports.primaryExpression.impl($)(C, void 0) },
13463
+ { ALT: () => $.SUBRULE(exprTripleTerm, void 0) }
13471
13464
  ])
13472
13465
  };
13473
13466
  var exprTripleTerm = {
13474
13467
  name: "exprTripleTerm",
13475
- impl: ({ ACTION, CONSUME, SUBRULE, context }) => () => {
13468
+ impl: ({ ACTION, CONSUME, SUBRULE }) => (C) => {
13476
13469
  CONSUME(tripleTermOpen);
13477
- const subject = SUBRULE(exprTripleTermSubject);
13478
- const predicate = SUBRULE(grammar_exports.verb);
13479
- const object3 = SUBRULE(exprTripleTermObject);
13470
+ const subject = SUBRULE(exprTripleTermSubject, void 0);
13471
+ const predicate = SUBRULE(grammar_exports.verb, void 0);
13472
+ const object3 = SUBRULE(exprTripleTermObject, void 0);
13480
13473
  CONSUME(tripleTermClose);
13481
- return ACTION(() => context.dataFactory.quad(subject, predicate, object3));
13474
+ return ACTION(() => C.dataFactory.quad(subject, predicate, object3));
13482
13475
  }
13483
13476
  };
13484
13477
  var exprTripleTermSubject = {
13485
13478
  name: "exprTripleTermSubject",
13486
13479
  impl: ({ OR, SUBRULE }) => () => OR([
13487
- { ALT: () => SUBRULE(grammar_exports.iri) },
13488
- { ALT: () => SUBRULE(rdfLiteral2) },
13489
- { ALT: () => SUBRULE(grammar_exports.numericLiteral) },
13490
- { ALT: () => SUBRULE(grammar_exports.booleanLiteral) },
13491
- { ALT: () => SUBRULE(grammar_exports.var_) }
13480
+ { ALT: () => SUBRULE(grammar_exports.iri, void 0) },
13481
+ { ALT: () => SUBRULE(rdfLiteral2, void 0) },
13482
+ { ALT: () => SUBRULE(grammar_exports.numericLiteral, void 0) },
13483
+ { ALT: () => SUBRULE(grammar_exports.booleanLiteral, void 0) },
13484
+ { ALT: () => SUBRULE(grammar_exports.var_, void 0) }
13492
13485
  ])
13493
13486
  };
13494
13487
  var exprTripleTermObject = {
13495
13488
  name: "exprTripleTermObject",
13496
- impl: ($) => () => $.OR2([
13497
- { ALT: () => exprTripleTermSubject.impl($)() },
13498
- { ALT: () => $.SUBRULE(exprTripleTerm) }
13489
+ impl: ($) => (C) => $.OR2([
13490
+ { ALT: () => exprTripleTermSubject.impl($)(C, void 0) },
13491
+ { ALT: () => $.SUBRULE(exprTripleTerm, void 0) }
13499
13492
  ])
13500
13493
  };
13501
13494
  var builtinLangDir2 = funcExpr1(builtinLangDir);
@@ -13509,17 +13502,17 @@ var builtinPredicate = funcExpr1(builtinPREDICATE);
13509
13502
  var builtinObject = funcExpr1(builtinOBJECT);
13510
13503
  var builtInCall2 = {
13511
13504
  name: "builtInCall",
13512
- impl: ($) => () => $.OR2([
13513
- { ALT: () => grammar_exports.builtInCall.impl($)() },
13514
- { ALT: () => $.SUBRULE(builtinLangDir2) },
13515
- { ALT: () => $.SUBRULE(builtinLangStrDir) },
13516
- { ALT: () => $.SUBRULE(builtinHasLang2) },
13517
- { ALT: () => $.SUBRULE(builtinHasLangDir2) },
13518
- { ALT: () => $.SUBRULE(builtinIsTriple) },
13519
- { ALT: () => $.SUBRULE(builtinTriple) },
13520
- { ALT: () => $.SUBRULE(builtinSubject) },
13521
- { ALT: () => $.SUBRULE(builtinPredicate) },
13522
- { ALT: () => $.SUBRULE(builtinObject) }
13505
+ impl: ($) => (C) => $.OR2([
13506
+ { ALT: () => grammar_exports.builtInCall.impl($)(C, void 0) },
13507
+ { ALT: () => $.SUBRULE(builtinLangDir2, void 0) },
13508
+ { ALT: () => $.SUBRULE(builtinLangStrDir, void 0) },
13509
+ { ALT: () => $.SUBRULE(builtinHasLang2, void 0) },
13510
+ { ALT: () => $.SUBRULE(builtinHasLangDir2, void 0) },
13511
+ { ALT: () => $.SUBRULE(builtinIsTriple, void 0) },
13512
+ { ALT: () => $.SUBRULE(builtinTriple, void 0) },
13513
+ { ALT: () => $.SUBRULE(builtinSubject, void 0) },
13514
+ { ALT: () => $.SUBRULE(builtinPredicate, void 0) },
13515
+ { ALT: () => $.SUBRULE(builtinObject, void 0) }
13523
13516
  ])
13524
13517
  };
13525
13518
  function isLangDir(dir) {
@@ -13527,8 +13520,8 @@ function isLangDir(dir) {
13527
13520
  }
13528
13521
  var rdfLiteral2 = {
13529
13522
  name: "rdfLiteral",
13530
- impl: ({ ACTION, SUBRULE, OPTION, CONSUME, OR, context }) => () => {
13531
- const value = SUBRULE(grammar_exports.string);
13523
+ impl: ({ ACTION, SUBRULE, OPTION, CONSUME, OR }) => (C) => {
13524
+ const value = SUBRULE(grammar_exports.string, void 0);
13532
13525
  const langOrDataType = OPTION(() => OR([
13533
13526
  { ALT: () => {
13534
13527
  const langTag2 = CONSUME(LANG_DIR).image.slice(1);
@@ -13549,10 +13542,10 @@ var rdfLiteral2 = {
13549
13542
  } },
13550
13543
  { ALT: () => {
13551
13544
  CONSUME(lexer_exports.symbols.hathat);
13552
- return SUBRULE(grammar_exports.iri);
13545
+ return SUBRULE(grammar_exports.iri, void 0);
13553
13546
  } }
13554
13547
  ]));
13555
- return context.dataFactory.literal(value, langOrDataType);
13548
+ return ACTION(() => C.dataFactory.literal(value, langOrDataType));
13556
13549
  }
13557
13550
  };
13558
13551
  /*! Bundled license information: