@traqula/rules-sparql-1-2 0.0.1-alpha.143 → 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,17 +10763,16 @@ function triplesSameSubjectImpl(name, allowPaths) {
10739
10763
  impl: ({ ACTION, SUBRULE, OR }) => () => OR([
10740
10764
  {
10741
10765
  ALT: () => {
10742
- const subject = SUBRULE(varOrTerm);
10743
- const propNotEmpty = SUBRULE(allowPaths ? propertyListPathNotEmpty : propertyListNotEmpty);
10744
- return ACTION(() => propNotEmpty.map((partial) => partial({ subject })));
10766
+ const subject = SUBRULE(varOrTerm, void 0);
10767
+ return SUBRULE(allowPaths ? propertyListPathNotEmpty : propertyListNotEmpty, { subject });
10745
10768
  }
10746
10769
  },
10747
10770
  {
10748
10771
  ALT: () => {
10749
- const subjectNode = SUBRULE(allowPaths ? triplesNodePath : triplesNode);
10750
- const restNode = SUBRULE(allowPaths ? propertyListPath : propertyList);
10772
+ const subjectNode = SUBRULE(allowPaths ? triplesNodePath : triplesNode, void 0);
10773
+ const restNode = SUBRULE(allowPaths ? propertyListPath : propertyList, { subject: subjectNode.node });
10751
10774
  return ACTION(() => [
10752
- ...restNode.map((partial) => partial({ subject: subjectNode.node })),
10775
+ ...restNode,
10753
10776
  ...subjectNode.triples
10754
10777
  ]);
10755
10778
  }
@@ -10762,7 +10785,7 @@ var triplesSameSubjectPath = triplesSameSubjectImpl("triplesSameSubjectPath", tr
10762
10785
  function propertyListImpl(name, allowPaths) {
10763
10786
  return {
10764
10787
  name,
10765
- impl: ({ SUBRULE, OPTION }) => () => OPTION(() => SUBRULE(allowPaths ? propertyListPathNotEmpty : propertyListNotEmpty)) ?? []
10788
+ impl: ({ SUBRULE, OPTION }) => (_, arg) => OPTION(() => SUBRULE(allowPaths ? propertyListPathNotEmpty : propertyListNotEmpty, arg)) ?? []
10766
10789
  };
10767
10790
  }
10768
10791
  var propertyList = propertyListImpl("propertyList", false);
@@ -10770,42 +10793,29 @@ var propertyListPath = propertyListImpl("propertyListPath", true);
10770
10793
  function propertyListNotEmptyImplementation(name, allowPaths) {
10771
10794
  return {
10772
10795
  name,
10773
- impl: ({ ACTION, CONSUME, MANY, SUBRULE1, SUBRULE2, OPTION, OR1, OR2, context }) => () => {
10796
+ impl: ({ ACTION, CONSUME, AT_LEAST_ONE, SUBRULE1, MANY2, OR1 }) => (_, arg) => {
10774
10797
  const result = [];
10775
- const resultAppendage = [];
10776
- const firstProperty = allowPaths ? OR1([
10777
- { ALT: () => SUBRULE1(verbPath) },
10778
- { ALT: () => SUBRULE1(verbSimple) }
10779
- ]) : SUBRULE1(verb);
10780
- const firstObjects = SUBRULE1(allowPaths ? objectListPath : objectList);
10781
- ACTION(() => {
10782
- const filterSubject = context.dataFactory.namedNode("internal:filterSubject");
10783
- for (const cObject of firstObjects) {
10784
- const triple = cObject({ subject: filterSubject, predicate: firstProperty });
10785
- const generator = (rest) => cObject({ ...rest, predicate: firstProperty });
10786
- if (triple.subject === filterSubject) {
10787
- result.push(generator);
10788
- } else {
10789
- resultAppendage.push(generator);
10790
- }
10791
- }
10792
- });
10793
- MANY(() => {
10794
- CONSUME(symbols_exports.semi);
10795
- OPTION(() => {
10796
- const predicate = allowPaths ? OR2([
10797
- { ALT: () => SUBRULE2(verbPath) },
10798
- { ALT: () => SUBRULE2(verbSimple) }
10799
- ]) : SUBRULE2(verb);
10800
- const objects = SUBRULE2(allowPaths ? objectListPath : objectList);
10801
- ACTION(() => {
10802
- result.push(
10803
- ...objects.map((object3) => (partS) => object3({ ...partS, predicate }))
10804
- );
10798
+ let parsedSemi = true;
10799
+ AT_LEAST_ONE({
10800
+ GATE: () => parsedSemi,
10801
+ DEF: () => {
10802
+ parsedSemi = false;
10803
+ const predicate = allowPaths ? OR1([
10804
+ { ALT: () => SUBRULE1(verbPath, void 0) },
10805
+ { ALT: () => SUBRULE1(verbSimple, void 0) }
10806
+ ]) : SUBRULE1(verb, void 0);
10807
+ const triples = SUBRULE1(
10808
+ allowPaths ? objectListPath : objectList,
10809
+ ACTION(() => ({ subject: arg.subject, predicate }))
10810
+ );
10811
+ ACTION(() => result.push(...triples));
10812
+ MANY2(() => {
10813
+ CONSUME(symbols_exports.semi);
10814
+ parsedSemi = true;
10805
10815
  });
10806
- });
10816
+ }
10807
10817
  });
10808
- return [...result, ...resultAppendage];
10818
+ return result;
10809
10819
  }
10810
10820
  };
10811
10821
  }
@@ -10813,20 +10823,20 @@ var propertyListNotEmpty = propertyListNotEmptyImplementation("propertyListNotEm
10813
10823
  var propertyListPathNotEmpty = propertyListNotEmptyImplementation("propertyListPathNotEmpty", true);
10814
10824
  var verbPath = {
10815
10825
  name: "verbPath",
10816
- impl: ({ SUBRULE }) => () => SUBRULE(path)
10826
+ impl: ({ SUBRULE }) => () => SUBRULE(path, void 0)
10817
10827
  };
10818
10828
  var verbSimple = {
10819
10829
  name: "verbSimple",
10820
- impl: ({ SUBRULE }) => () => SUBRULE(var_)
10830
+ impl: ({ SUBRULE }) => () => SUBRULE(var_, void 0)
10821
10831
  };
10822
10832
  function objectListImpl(name, allowPaths) {
10823
10833
  return {
10824
10834
  name,
10825
- impl: ({ ACTION, SUBRULE, AT_LEAST_ONE_SEP }) => () => {
10835
+ impl: ({ ACTION, SUBRULE, AT_LEAST_ONE_SEP }) => (_, arg) => {
10826
10836
  const objects = [];
10827
10837
  AT_LEAST_ONE_SEP({
10828
10838
  DEF: () => {
10829
- const objectTriples = SUBRULE(allowPaths ? objectPath : object);
10839
+ const objectTriples = SUBRULE(allowPaths ? objectPath : object, arg);
10830
10840
  ACTION(() => objects.push(...objectTriples));
10831
10841
  },
10832
10842
  SEP: symbols_exports.comma
@@ -10840,11 +10850,11 @@ var objectListPath = objectListImpl("objectListPath", true);
10840
10850
  function objectImpl(name, allowPaths) {
10841
10851
  return {
10842
10852
  name,
10843
- impl: ({ ACTION, SUBRULE }) => () => {
10844
- const node = SUBRULE(allowPaths ? graphNodePath : graphNode);
10853
+ impl: ({ ACTION, SUBRULE }) => (_, arg) => {
10854
+ const node = SUBRULE(allowPaths ? graphNodePath : graphNode, void 0);
10845
10855
  return ACTION(() => [
10846
- (part) => ({ ...part, object: node.node }),
10847
- ...node.triples.map((val) => () => val)
10856
+ { subject: arg.subject, predicate: arg.predicate, object: node.node },
10857
+ ...node.triples
10848
10858
  ]);
10849
10859
  }
10850
10860
  };
@@ -10854,29 +10864,32 @@ var objectPath = objectImpl("objectPath", true);
10854
10864
  var triplesNode = {
10855
10865
  name: "triplesNode",
10856
10866
  impl: ({ SUBRULE, OR }) => () => OR([
10857
- { ALT: () => SUBRULE(collection) },
10858
- { ALT: () => SUBRULE(blankNodePropertyList) }
10867
+ { ALT: () => SUBRULE(collection, void 0) },
10868
+ { ALT: () => SUBRULE(blankNodePropertyList, void 0) }
10859
10869
  ])
10860
10870
  };
10861
10871
  var triplesNodePath = {
10862
10872
  name: "triplesNodePath",
10863
10873
  impl: ({ SUBRULE, OR }) => () => OR([
10864
- { ALT: () => SUBRULE(collectionPath) },
10865
- { ALT: () => SUBRULE(blankNodePropertyListPath) }
10874
+ { ALT: () => SUBRULE(collectionPath, void 0) },
10875
+ { ALT: () => SUBRULE(blankNodePropertyListPath, void 0) }
10866
10876
  ])
10867
10877
  };
10868
10878
  function blankNodePropertyListImpl(name, allowPaths) {
10869
10879
  return {
10870
10880
  name,
10871
- impl: ({ ACTION, SUBRULE, CONSUME, context }) => () => {
10881
+ impl: ({ ACTION, SUBRULE, CONSUME }) => (C) => {
10872
10882
  CONSUME(symbols_exports.LSquare);
10873
- const propList = SUBRULE(allowPaths ? propertyListPathNotEmpty : propertyListNotEmpty);
10883
+ let blankNode2;
10884
+ const propList = SUBRULE(
10885
+ allowPaths ? propertyListPathNotEmpty : propertyListNotEmpty,
10886
+ { subject: ACTION(() => blankNode2 = C.dataFactory.blankNode()) }
10887
+ );
10874
10888
  CONSUME(symbols_exports.RSquare);
10875
10889
  return ACTION(() => {
10876
- const subject = context.dataFactory.blankNode();
10877
10890
  return {
10878
- node: subject,
10879
- triples: propList.map((part) => part({ subject }))
10891
+ node: blankNode2,
10892
+ triples: propList
10880
10893
  };
10881
10894
  });
10882
10895
  }
@@ -10887,21 +10900,20 @@ var blankNodePropertyListPath = blankNodePropertyListImpl("blankNodePropertyList
10887
10900
  function collectionImpl(name, allowPaths) {
10888
10901
  return {
10889
10902
  name,
10890
- impl: ({ ACTION, AT_LEAST_ONE, SUBRULE, CONSUME, context }) => () => {
10903
+ impl: ({ ACTION, AT_LEAST_ONE, SUBRULE, CONSUME }) => (C) => {
10891
10904
  const terms = [];
10892
- const dataFactory = context.dataFactory;
10893
10905
  CONSUME(symbols_exports.LParen);
10894
10906
  AT_LEAST_ONE(() => {
10895
- terms.push(SUBRULE(allowPaths ? graphNodePath : graphNode));
10907
+ terms.push(SUBRULE(allowPaths ? graphNodePath : graphNode, void 0));
10896
10908
  });
10897
10909
  CONSUME(symbols_exports.RParen);
10898
10910
  return ACTION(() => {
10899
10911
  const triples = [];
10900
10912
  const appendTriples = [];
10901
- const listHead = dataFactory.blankNode();
10913
+ const listHead = C.dataFactory.blankNode();
10902
10914
  let iterHead = listHead;
10903
- const predFirst = dataFactory.namedNode("http://www.w3.org/1999/02/22-rdf-syntax-ns#first" /* FIRST */);
10904
- 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 */);
10905
10917
  for (const [index, term] of terms.entries()) {
10906
10918
  const headTriple = {
10907
10919
  subject: iterHead,
@@ -10914,11 +10926,11 @@ function collectionImpl(name, allowPaths) {
10914
10926
  const nilTriple = {
10915
10927
  subject: iterHead,
10916
10928
  predicate: predRest,
10917
- 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 */)
10918
10930
  };
10919
10931
  triples.push(nilTriple);
10920
10932
  } else {
10921
- const tail = dataFactory.blankNode();
10933
+ const tail = C.dataFactory.blankNode();
10922
10934
  const linkTriple = {
10923
10935
  subject: iterHead,
10924
10936
  predicate: predRest,
@@ -10941,10 +10953,10 @@ var collectionPath = collectionImpl("collectionPath", true);
10941
10953
  function graphNodeImpl(name, allowPaths) {
10942
10954
  return {
10943
10955
  name,
10944
- impl: ({ SUBRULE, OR, context }) => () => OR([
10956
+ impl: ({ SUBRULE, OR }) => (C) => OR([
10945
10957
  {
10946
10958
  ALT: () => {
10947
- const val = SUBRULE(varOrTerm);
10959
+ const val = SUBRULE(varOrTerm, void 0);
10948
10960
  return {
10949
10961
  node: val,
10950
10962
  triples: []
@@ -10952,8 +10964,8 @@ function graphNodeImpl(name, allowPaths) {
10952
10964
  }
10953
10965
  },
10954
10966
  {
10955
- GATE: () => context.parseMode.has(canCreateBlankNodes),
10956
- ALT: () => SUBRULE(allowPaths ? triplesNodePath : triplesNode)
10967
+ GATE: () => C.parseMode.has("canCreateBlankNodes"),
10968
+ ALT: () => SUBRULE(allowPaths ? triplesNodePath : triplesNode, void 0)
10957
10969
  }
10958
10970
  ])
10959
10971
  };
@@ -10964,21 +10976,22 @@ var graphNodePath = graphNodeImpl("graphNodePath", true);
10964
10976
  // ../rules-sparql-1-1/lib/grammar/general.ts
10965
10977
  var prologue = {
10966
10978
  name: "prologue",
10967
- impl: ({ ACTION, SUBRULE, MANY, OR, context }) => () => {
10968
- const result = {
10979
+ impl: ({ ACTION, SUBRULE, MANY, OR }) => (C) => {
10980
+ const result = ACTION(() => ({
10969
10981
  prefixes: {},
10970
- ...context.baseIRI && { base: context.baseIRI }
10971
- };
10982
+ ...C.baseIRI && { base: C.baseIRI }
10983
+ }));
10972
10984
  MANY(() => {
10973
10985
  OR([
10974
10986
  {
10975
10987
  ALT: () => {
10976
- result.base = SUBRULE(baseDecl2);
10988
+ const base = SUBRULE(baseDecl2, void 0);
10989
+ ACTION(() => result.base = base);
10977
10990
  }
10978
10991
  },
10979
10992
  {
10980
10993
  ALT: () => {
10981
- const pref = SUBRULE(prefixDecl2);
10994
+ const pref = SUBRULE(prefixDecl2, void 0);
10982
10995
  ACTION(() => {
10983
10996
  const [name, value] = pref;
10984
10997
  result.prefixes[name] = value;
@@ -10992,683 +11005,318 @@ var prologue = {
10992
11005
  };
10993
11006
  var baseDecl2 = {
10994
11007
  name: "baseDecl",
10995
- impl: ({ CONSUME, ACTION, context }) => () => {
11008
+ impl: ({ CONSUME, ACTION }) => (C) => {
10996
11009
  CONSUME(baseDecl);
10997
11010
  const base = CONSUME(terminals_exports.iriRef).image.slice(1, -1);
10998
11011
  return ACTION(() => {
10999
- context.baseIRI = base;
11012
+ C.baseIRI = base;
11000
11013
  return base;
11001
11014
  });
11002
11015
  }
11003
11016
  };
11004
11017
  var prefixDecl2 = {
11005
11018
  name: "prefixDecl",
11006
- impl: ({ CONSUME, ACTION, context }) => () => {
11019
+ impl: ({ CONSUME, ACTION }) => (C) => {
11007
11020
  CONSUME(prefixDecl);
11008
11021
  const name = CONSUME(terminals_exports.pNameNs).image.slice(0, -1);
11009
11022
  const value = CONSUME(terminals_exports.iriRef).image.slice(1, -1);
11010
11023
  return ACTION(() => {
11011
- const fullIri = resolveIRI(value, context.baseIRI);
11012
- context.prefixes[name] = fullIri;
11024
+ const fullIri = resolveIRI(value, C.baseIRI);
11025
+ C.prefixes[name] = fullIri;
11013
11026
  return [name, fullIri];
11014
11027
  });
11015
11028
  }
11016
11029
  };
11017
11030
  var triplesTemplate = {
11018
11031
  name: "triplesTemplate",
11019
- impl: ({ SUBRULE, CONSUME, OPTION1, OPTION2 }) => () => {
11032
+ impl: ({ ACTION, AT_LEAST_ONE, SUBRULE, CONSUME, OPTION }) => () => {
11020
11033
  const triples = [];
11021
- triples.push(SUBRULE(triplesSameSubject));
11022
- OPTION1(() => {
11023
- CONSUME(symbols_exports.dot);
11024
- OPTION2(() => {
11025
- triples.push(SUBRULE(triplesTemplate));
11026
- });
11034
+ let parsedDot = true;
11035
+ AT_LEAST_ONE({
11036
+ GATE: () => parsedDot,
11037
+ DEF: () => {
11038
+ parsedDot = false;
11039
+ const template = SUBRULE(triplesSameSubject, void 0);
11040
+ ACTION(() => {
11041
+ triples.push(...template);
11042
+ });
11043
+ OPTION(() => {
11044
+ CONSUME(symbols_exports.dot);
11045
+ parsedDot = true;
11046
+ });
11047
+ }
11027
11048
  });
11028
- return triples.flat(1);
11049
+ return triples;
11029
11050
  }
11030
11051
  };
11031
11052
  var verb = {
11032
11053
  name: "verb",
11033
11054
  impl: ({ SUBRULE, OR }) => () => OR([
11034
- { ALT: () => SUBRULE(varOrIri) },
11055
+ { ALT: () => SUBRULE(varOrIri, void 0) },
11035
11056
  {
11036
- ALT: () => SUBRULE(verbA)
11057
+ ALT: () => SUBRULE(verbA, void 0)
11037
11058
  }
11038
11059
  ])
11039
11060
  };
11040
11061
  var verbA = {
11041
11062
  name: "VerbA",
11042
- impl: ({ CONSUME, context }) => () => {
11063
+ impl: ({ ACTION, CONSUME }) => (C) => {
11043
11064
  CONSUME(a);
11044
- 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 */));
11045
11066
  }
11046
11067
  };
11047
11068
  var varOrTerm = {
11048
11069
  name: "varOrTerm",
11049
- impl: ({ SUBRULE, OR, context }) => () => OR([
11050
- { GATE: () => context.parseMode.has(canParseVars), ALT: () => SUBRULE(var_) },
11051
- { 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) }
11052
11073
  ])
11053
11074
  };
11054
11075
  var varOrIri = {
11055
11076
  name: "varOrIri",
11056
- impl: ({ SUBRULE, OR, context }) => () => OR([
11057
- { GATE: () => context.parseMode.has(canParseVars), ALT: () => SUBRULE(var_) },
11058
- { 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) }
11059
11080
  ])
11060
11081
  };
11061
- var canParseVars = Symbol("canParseVars");
11062
11082
  var var_ = {
11063
11083
  name: "var",
11064
- impl: ({ ACTION, CONSUME, OR, context }) => () => {
11065
- const result = OR([
11066
- { ALT: () => context.dataFactory.variable(CONSUME(terminals_exports.var1).image.slice(1)) },
11067
- { 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) }
11068
11088
  ]);
11069
11089
  ACTION(() => {
11070
- if (!context.parseMode.has(canParseVars)) {
11090
+ if (!C.parseMode.has("canParseVars")) {
11071
11091
  throw new Error("Variables are not allowed here");
11072
11092
  }
11073
11093
  });
11074
- return result;
11094
+ return ACTION(() => C.dataFactory.variable(varVal));
11075
11095
  }
11076
11096
  };
11077
11097
  var graphTerm = {
11078
11098
  name: "graphTerm",
11079
- impl: ({ SUBRULE, CONSUME, OR, context }) => () => OR([
11080
- { ALT: () => SUBRULE(iri2) },
11081
- { ALT: () => SUBRULE(rdfLiteral) },
11082
- { ALT: () => SUBRULE(numericLiteral) },
11083
- { ALT: () => SUBRULE(booleanLiteral) },
11084
- { 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) },
11085
11105
  {
11086
11106
  ALT: () => {
11087
11107
  CONSUME(terminals_exports.nil);
11088
- 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 */));
11089
11109
  }
11090
11110
  }
11091
11111
  ])
11092
11112
  };
11093
11113
 
11094
- // ../rules-sparql-1-1/lib/grammar/expression.ts
11095
- var argList = {
11096
- name: "argList",
11097
- impl: ({ CONSUME, SUBRULE1, OPTION, OR, MANY_SEP }) => () => OR([
11098
- {
11099
- ALT: () => {
11100
- CONSUME(terminals_exports.nil);
11101
- return {
11102
- type: "functionCall",
11103
- args: [],
11104
- distinct: false
11105
- };
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);
11106
11153
  }
11107
- },
11108
- {
11109
- ALT: () => {
11110
- const args = [];
11111
- CONSUME(symbols_exports.LParen);
11112
- const distinct2 = OPTION(() => CONSUME(distinct)) && true;
11113
- MANY_SEP({
11114
- DEF: () => args.push(SUBRULE1(expression)),
11115
- SEP: symbols_exports.comma
11116
- });
11117
- CONSUME(symbols_exports.RParen);
11118
- return {
11119
- type: "functionCall",
11120
- args,
11121
- distinct: Boolean(distinct2)
11122
- };
11154
+ if (isVariable(triple.predicate)) {
11155
+ boundedVars.add(triple.predicate.value);
11156
+ }
11157
+ if (isVariable(triple.object)) {
11158
+ boundedVars.add(triple.object.value);
11123
11159
  }
11124
11160
  }
11125
- ])
11126
- };
11127
- var expressionList = {
11128
- name: "expressionList",
11129
- impl: ({ CONSUME, SUBRULE, MANY_SEP, OR }) => () => OR([
11130
- {
11131
- ALT: () => {
11132
- CONSUME(terminals_exports.nil);
11133
- 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);
11134
11175
  }
11135
- },
11136
- {
11137
- ALT: () => {
11138
- const args = [];
11139
- CONSUME(symbols_exports.LParen);
11140
- MANY_SEP({
11141
- SEP: symbols_exports.comma,
11142
- DEF: () => {
11143
- 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})`);
11144
11194
  }
11145
- });
11146
- CONSUME(symbols_exports.RParen);
11147
- return args;
11195
+ } else if (pattern.type === "group" || pattern.type === "bgp") {
11196
+ findBoundVarsFromGroupGraphPattern(pattern, boundedVars);
11197
+ }
11148
11198
  }
11149
- }
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) }
11150
11214
  ])
11151
11215
  };
11152
- var expression = {
11153
- name: "expression",
11154
- 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
+ }
11155
11226
  };
11156
- function constructLeftDeep(startGenerator, restGenerator, ACTION, MANY) {
11157
- let iterExpr = startGenerator();
11158
- MANY(() => {
11159
- const res = restGenerator();
11160
- ACTION(() => {
11161
- iterExpr = {
11162
- type: "operation",
11163
- operator: res.operator,
11164
- args: [iterExpr, res.expr]
11165
- };
11166
- });
11167
- });
11168
- return iterExpr;
11169
- }
11170
- var conditionalOrExpression = {
11171
- name: "conditionalOrExpression",
11172
- impl: ({ ACTION, MANY, CONSUME, SUBRULE1, SUBRULE2 }) => () => constructLeftDeep(() => SUBRULE1(conditionalAndExpression), () => {
11173
- 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);
11174
11247
  return {
11175
- expr: SUBRULE2(conditionalAndExpression),
11176
- operator: "||"
11248
+ type: "service",
11249
+ name,
11250
+ silent: silent2,
11251
+ patterns: group.patterns
11177
11252
  };
11178
- }, ACTION, MANY)
11179
- };
11180
- var conditionalAndExpression = {
11181
- name: "conditionalAndExpression",
11182
- impl: ({ ACTION, MANY, SUBRULE1, SUBRULE2, CONSUME }) => () => constructLeftDeep(
11183
- () => SUBRULE1(valueLogical),
11184
- () => {
11185
- CONSUME(symbols_exports.logicAnd);
11186
- return {
11187
- expr: SUBRULE2(valueLogical),
11188
- operator: "&&"
11189
- };
11190
- },
11191
- ACTION,
11192
- MANY
11193
- )
11194
- };
11195
- var valueLogical = {
11196
- name: "valueLogical",
11197
- impl: ({ SUBRULE }) => () => SUBRULE(relationalExpression)
11253
+ }
11198
11254
  };
11199
- var relationalExpression = {
11200
- name: "relationalExpression",
11201
- impl: ({ ACTION, CONSUME, SUBRULE1, SUBRULE2, OPTION, OR, SUBRULE3, SUBRULE4, SUBRULE5, SUBRULE6, SUBRULE7 }) => () => {
11202
- const args1 = SUBRULE1(numericExpression);
11203
- const arg2 = OPTION(() => OR([
11204
- {
11205
- ALT: () => {
11206
- CONSUME(symbols_exports.equal);
11207
- const expr = SUBRULE2(numericExpression);
11208
- return { operator: "=", args: expr };
11209
- }
11210
- },
11211
- {
11212
- ALT: () => {
11213
- CONSUME(symbols_exports.notEqual);
11214
- const expr = SUBRULE3(numericExpression);
11215
- return { operator: "!=", args: expr };
11216
- }
11217
- },
11218
- {
11219
- ALT: () => {
11220
- CONSUME(symbols_exports.lessThan);
11221
- const expr = SUBRULE4(numericExpression);
11222
- return { operator: "<", args: expr };
11223
- }
11224
- },
11225
- {
11226
- ALT: () => {
11227
- CONSUME(symbols_exports.greaterThan);
11228
- const expr = SUBRULE5(numericExpression);
11229
- return { operator: ">", args: expr };
11230
- }
11231
- },
11232
- {
11233
- ALT: () => {
11234
- CONSUME(symbols_exports.lessThanEqual);
11235
- const expr = SUBRULE6(numericExpression);
11236
- return { operator: "<=", args: expr };
11237
- }
11238
- },
11239
- {
11240
- ALT: () => {
11241
- CONSUME(symbols_exports.greaterThanEqual);
11242
- const expr = SUBRULE7(numericExpression);
11243
- return { operator: ">=", args: expr };
11244
- }
11245
- },
11246
- {
11247
- ALT: () => {
11248
- CONSUME(in_);
11249
- const args = SUBRULE1(expressionList);
11250
- return { operator: "in", args };
11251
- }
11252
- },
11253
- {
11254
- ALT: () => {
11255
- CONSUME(notIn);
11256
- const args = SUBRULE2(expressionList);
11257
- return { operator: "notin", args };
11258
- }
11259
- }
11260
- ]));
11261
- if (!arg2) {
11262
- return args1;
11263
- }
11264
- return ACTION(() => ({
11265
- type: "operation",
11266
- operator: arg2.operator,
11267
- args: [args1, arg2.args]
11268
- }));
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
11269
  }
11270
11270
  };
11271
- var numericExpression = {
11272
- name: "numericExpression",
11273
- impl: ({ SUBRULE }) => () => SUBRULE(additiveExpression)
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
+ };
11280
+ }
11274
11281
  };
11275
- var additiveExpression = {
11276
- name: "additiveExpression",
11277
- impl: ({ ACTION, SUBRULE, CONSUME, SUBRULE1, SUBRULE2, SUBRULE3, MANY1, MANY2, OR1, OR2, OR3 }) => () => constructLeftDeep(
11278
- () => SUBRULE1(multiplicativeExpression),
11279
- () => OR1([
11280
- {
11281
- ALT: () => {
11282
- CONSUME(symbols_exports.opPlus);
11283
- return {
11284
- operator: "+",
11285
- expr: SUBRULE2(multiplicativeExpression)
11286
- };
11287
- }
11288
- },
11289
- {
11290
- ALT: () => {
11291
- CONSUME(symbols_exports.opMinus);
11292
- return {
11293
- operator: "-",
11294
- expr: SUBRULE3(multiplicativeExpression)
11295
- };
11296
- }
11297
- },
11298
- {
11299
- ALT: () => {
11300
- const { operator, args } = OR2([
11301
- {
11302
- ALT: () => {
11303
- const integer2 = SUBRULE(numericLiteralPositive);
11304
- return ACTION(() => {
11305
- integer2.value = integer2.value.replace(/^\+/u, "");
11306
- return {
11307
- operator: "+",
11308
- args: [integer2]
11309
- };
11310
- });
11311
- }
11312
- },
11313
- {
11314
- ALT: () => {
11315
- const integer2 = SUBRULE(numericLiteralNegative);
11316
- return ACTION(() => {
11317
- integer2.value = integer2.value.replace(/^-/u, "");
11318
- return {
11319
- operator: "-",
11320
- args: [integer2]
11321
- };
11322
- });
11323
- }
11324
- }
11325
- ]);
11326
- const expr = constructLeftDeep(
11327
- () => ACTION(() => args[0]),
11328
- () => OR3([
11329
- {
11330
- ALT: () => {
11331
- CONSUME(symbols_exports.star);
11332
- const expr2 = SUBRULE1(unaryExpression);
11333
- return {
11334
- operator: "*",
11335
- expr: expr2
11336
- };
11337
- }
11338
- },
11339
- {
11340
- ALT: () => {
11341
- CONSUME(symbols_exports.slash);
11342
- const expr2 = SUBRULE2(unaryExpression);
11343
- return {
11344
- operator: "/",
11345
- expr: expr2
11346
- };
11347
- }
11348
- }
11349
- ]),
11350
- ACTION,
11351
- MANY2
11352
- );
11353
- return {
11354
- operator,
11355
- expr
11356
- };
11357
- }
11358
- }
11359
- ]),
11360
- ACTION,
11361
- MANY1
11362
- )
11282
+ var dataBlock = {
11283
+ name: "dataBlock",
11284
+ impl: ({ SUBRULE, OR }) => () => OR([
11285
+ { ALT: () => SUBRULE(inlineDataOneVar, void 0) },
11286
+ { ALT: () => SUBRULE(inlineDataFull, void 0) }
11287
+ ])
11363
11288
  };
11364
- var multiplicativeExpression = {
11365
- name: "multiplicativeExpression",
11366
- impl: ({ ACTION, CONSUME, MANY, SUBRULE1, SUBRULE2, SUBRULE3, OR }) => () => constructLeftDeep(
11367
- () => SUBRULE1(unaryExpression),
11368
- () => OR([
11369
- {
11370
- ALT: () => {
11371
- CONSUME(symbols_exports.star);
11372
- const expr = SUBRULE2(unaryExpression);
11373
- return {
11374
- operator: "*",
11375
- expr
11376
- };
11377
- }
11378
- },
11379
- {
11380
- ALT: () => {
11381
- CONSUME(symbols_exports.slash);
11382
- const expr = SUBRULE3(unaryExpression);
11383
- return {
11384
- operator: "/",
11385
- expr
11386
- };
11387
- }
11388
- }
11389
- ]),
11390
- ACTION,
11391
- MANY
11392
- )
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
+ }
11393
11304
  };
11394
- var unaryExpression = {
11395
- name: "unaryExpression",
11396
- impl: ({ CONSUME, SUBRULE1, SUBRULE2, SUBRULE3, SUBRULE4, OR }) => () => OR([
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.
11397
11309
  {
11398
11310
  ALT: () => {
11399
- CONSUME(symbols_exports.exclamation);
11400
- const expr = SUBRULE1(primaryExpression);
11401
- return {
11402
- type: "operation",
11403
- operator: "!",
11404
- args: [expr]
11405
- };
11406
- }
11407
- },
11408
- {
11409
- ALT: () => {
11410
- CONSUME(symbols_exports.opPlus);
11411
- const expr = SUBRULE2(primaryExpression);
11412
- return {
11413
- type: "operation",
11414
- operator: "UPLUS",
11415
- args: [expr]
11416
- };
11417
- }
11418
- },
11419
- {
11420
- ALT: () => {
11421
- CONSUME(symbols_exports.opMinus);
11422
- const expr = SUBRULE3(primaryExpression);
11423
- return {
11424
- type: "operation",
11425
- operator: "UMINUS",
11426
- args: [expr]
11427
- };
11428
- }
11429
- },
11430
- { ALT: () => SUBRULE4(primaryExpression) }
11431
- ])
11432
- };
11433
- var primaryExpression = {
11434
- name: "primaryExpression",
11435
- impl: ({ SUBRULE, OR }) => () => OR([
11436
- { ALT: () => SUBRULE(brackettedExpression) },
11437
- { ALT: () => SUBRULE(builtInCall) },
11438
- { ALT: () => SUBRULE(iriOrFunction) },
11439
- { ALT: () => SUBRULE(rdfLiteral) },
11440
- { ALT: () => SUBRULE(numericLiteral) },
11441
- { ALT: () => SUBRULE(booleanLiteral) },
11442
- { ALT: () => SUBRULE(var_) }
11443
- ])
11444
- };
11445
- var brackettedExpression = {
11446
- name: "brackettedExpression",
11447
- impl: ({ SUBRULE, CONSUME }) => () => {
11448
- CONSUME(symbols_exports.LParen);
11449
- const expr = SUBRULE(expression);
11450
- CONSUME(symbols_exports.RParen);
11451
- return expr;
11452
- }
11453
- };
11454
- var iriOrFunction = {
11455
- name: "iriOrFunction",
11456
- impl: ({ SUBRULE, OPTION }) => () => {
11457
- const iriVal = SUBRULE(iri2);
11458
- const args = OPTION(() => SUBRULE(argList));
11459
- return args ? {
11460
- ...args,
11461
- function: iriVal
11462
- } : iriVal;
11463
- }
11464
- };
11465
-
11466
- // ../rules-sparql-1-1/lib/utils.ts
11467
- function deGroupSingle(group) {
11468
- return group.patterns.length === 1 ? group.patterns[0] : group;
11469
- }
11470
- function isVariable(term) {
11471
- return "termType" in term && term.termType === "Variable";
11472
- }
11473
-
11474
- // ../rules-sparql-1-1/lib/grammar/whereClause.ts
11475
- var whereClause = {
11476
- name: "whereClause",
11477
- impl: ({ ACTION, SUBRULE, CONSUME, OPTION }) => () => {
11478
- OPTION(() => {
11479
- CONSUME(where);
11480
- });
11481
- const group = SUBRULE(groupGraphPattern);
11482
- return ACTION(() => group.patterns);
11483
- }
11484
- };
11485
- var groupGraphPattern = {
11486
- name: "groupGraphPattern",
11487
- impl: ({ SUBRULE, CONSUME, OR }) => () => {
11488
- CONSUME(symbols_exports.LCurly);
11489
- const patterns = OR([
11490
- { ALT: () => [SUBRULE(subSelect)] },
11491
- { ALT: () => SUBRULE(groupGraphPatternSub) }
11492
- ]);
11493
- CONSUME(symbols_exports.RCurly);
11494
- return {
11495
- type: "group",
11496
- patterns
11497
- };
11498
- }
11499
- };
11500
- function findBoundVarsFromGroupGraphPattern(pattern, boundedVars) {
11501
- if ("triples" in pattern) {
11502
- for (const triple of pattern.triples) {
11503
- if (isVariable(triple.subject)) {
11504
- boundedVars.add(triple.subject.value);
11505
- }
11506
- if (isVariable(triple.predicate)) {
11507
- boundedVars.add(triple.predicate.value);
11508
- }
11509
- if (isVariable(triple.object)) {
11510
- boundedVars.add(triple.object.value);
11511
- }
11512
- }
11513
- } else if ("patterns" in pattern) {
11514
- for (const pat of pattern.patterns) {
11515
- findBoundVarsFromGroupGraphPattern(pat, boundedVars);
11516
- }
11517
- }
11518
- }
11519
- var groupGraphPatternSub = {
11520
- name: "groupGraphPatternSub",
11521
- impl: ({ ACTION, SUBRULE, CONSUME, MANY, SUBRULE1, SUBRULE2, OPTION1, OPTION2, OPTION3 }) => () => {
11522
- const patterns = [];
11523
- const bgpPattern = OPTION1(() => SUBRULE1(triplesBlock));
11524
- ACTION(() => {
11525
- if (bgpPattern) {
11526
- patterns.push(bgpPattern);
11527
- }
11528
- });
11529
- MANY(() => {
11530
- const notTriples = SUBRULE(graphPatternNotTriples);
11531
- patterns.push(notTriples);
11532
- OPTION2(() => CONSUME(symbols_exports.dot));
11533
- const moreTriples = OPTION3(() => SUBRULE2(triplesBlock));
11534
- ACTION(() => {
11535
- if (moreTriples) {
11536
- patterns.push(moreTriples);
11537
- }
11538
- });
11539
- });
11540
- ACTION(() => {
11541
- const boundedVars = /* @__PURE__ */ new Set();
11542
- for (const pattern of patterns) {
11543
- if (pattern.type === "bind") {
11544
- if (boundedVars.has(pattern.variable.value)) {
11545
- throw new Error(`Variable used to bind is already bound (?${pattern.variable.value})`);
11546
- }
11547
- } else if (pattern.type === "group" || pattern.type === "bgp") {
11548
- findBoundVarsFromGroupGraphPattern(pattern, boundedVars);
11549
- }
11550
- }
11551
- });
11552
- return patterns;
11553
- }
11554
- };
11555
- var graphPatternNotTriples = {
11556
- name: "graphPatternNotTriples",
11557
- impl: ({ SUBRULE, OR }) => () => OR([
11558
- { ALT: () => SUBRULE(groupOrUnionGraphPattern) },
11559
- { ALT: () => SUBRULE(optionalGraphPattern) },
11560
- { ALT: () => SUBRULE(minusGraphPattern) },
11561
- { ALT: () => SUBRULE(graphGraphPattern) },
11562
- { ALT: () => SUBRULE(serviceGraphPattern) },
11563
- { ALT: () => SUBRULE(filter3) },
11564
- { ALT: () => SUBRULE(bind2) },
11565
- { ALT: () => SUBRULE(inlineData) }
11566
- ])
11567
- };
11568
- var optionalGraphPattern = {
11569
- name: "optionalGraphPattern",
11570
- impl: ({ ACTION, SUBRULE, CONSUME }) => () => {
11571
- CONSUME(optional);
11572
- const group = SUBRULE(groupGraphPattern);
11573
- return ACTION(() => ({
11574
- type: "optional",
11575
- patterns: group.patterns
11576
- }));
11577
- }
11578
- };
11579
- var graphGraphPattern = {
11580
- name: "graphGraphPattern",
11581
- impl: ({ ACTION, SUBRULE, CONSUME }) => () => {
11582
- CONSUME(graph_exports.graph);
11583
- const name = SUBRULE(varOrIri);
11584
- const group = SUBRULE(groupGraphPattern);
11585
- return ACTION(() => ({
11586
- type: "graph",
11587
- name,
11588
- patterns: group.patterns
11589
- }));
11590
- }
11591
- };
11592
- var serviceGraphPattern = {
11593
- name: "serviceGraphPattern",
11594
- impl: ({ SUBRULE, CONSUME, OPTION }) => () => {
11595
- CONSUME(service);
11596
- const silent2 = Boolean(OPTION(() => CONSUME(silent)));
11597
- const name = SUBRULE(varOrIri);
11598
- const group = SUBRULE(groupGraphPattern);
11599
- return {
11600
- type: "service",
11601
- name,
11602
- silent: silent2,
11603
- patterns: group.patterns
11604
- };
11605
- }
11606
- };
11607
- var bind2 = {
11608
- name: "bind",
11609
- impl: ({ SUBRULE, CONSUME }) => () => {
11610
- CONSUME(bind);
11611
- CONSUME(symbols_exports.LParen);
11612
- const expressionVal = SUBRULE(expression);
11613
- CONSUME(as);
11614
- const variable = SUBRULE(var_);
11615
- CONSUME(symbols_exports.RParen);
11616
- return {
11617
- type: "bind",
11618
- variable,
11619
- expression: expressionVal
11620
- };
11621
- }
11622
- };
11623
- var inlineData = {
11624
- name: "inlineData",
11625
- impl: ({ SUBRULE, CONSUME }) => () => {
11626
- CONSUME(values2);
11627
- const values3 = SUBRULE(dataBlock);
11628
- return {
11629
- type: "values",
11630
- values: values3
11631
- };
11632
- }
11633
- };
11634
- var dataBlock = {
11635
- name: "dataBlock",
11636
- impl: ({ SUBRULE, OR }) => () => OR([
11637
- { ALT: () => SUBRULE(inlineDataOneVar) },
11638
- { ALT: () => SUBRULE(inlineDataFull) }
11639
- ])
11640
- };
11641
- var inlineDataOneVar = {
11642
- name: "inlineDataOneVar",
11643
- impl: ({ ACTION, SUBRULE, CONSUME, MANY }) => () => {
11644
- const res = [];
11645
- const varVal = SUBRULE(var_);
11646
- CONSUME(symbols_exports.LCurly);
11647
- MANY(() => {
11648
- const value = SUBRULE(dataBlockValue);
11649
- ACTION(() => res.push({
11650
- [`?${varVal.value}`]: value
11651
- }));
11652
- });
11653
- CONSUME(symbols_exports.RCurly);
11654
- return res;
11655
- }
11656
- };
11657
- var inlineDataFull = {
11658
- name: "inlineDataFull",
11659
- impl: ({ ACTION, OR, MANY1, MANY2, MANY3, MANY4, SUBRULE, CONSUME1, CONSUME2 }) => () => OR([
11660
- // Grammar rule 64 together with note 11 learns us that a nil should be followed by a nil in DataBlock.
11661
- {
11662
- ALT: () => {
11663
- const res = [];
11664
- CONSUME1(terminals_exports.nil);
11665
- CONSUME1(symbols_exports.LCurly);
11666
- MANY1(() => {
11667
- CONSUME2(terminals_exports.nil);
11668
- res.push({});
11669
- });
11670
- CONSUME1(symbols_exports.RCurly);
11671
- 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;
11672
11320
  }
11673
11321
  },
11674
11322
  {
@@ -11677,7 +11325,7 @@ var inlineDataFull = {
11677
11325
  const vars = [];
11678
11326
  CONSUME1(symbols_exports.LParen);
11679
11327
  MANY2(() => {
11680
- vars.push(SUBRULE(var_));
11328
+ vars.push(SUBRULE(var_, void 0));
11681
11329
  });
11682
11330
  CONSUME1(symbols_exports.RParen);
11683
11331
  CONSUME2(symbols_exports.LCurly);
@@ -11691,7 +11339,7 @@ var inlineDataFull = {
11691
11339
  throw new Error("Number of dataBlockValues does not match number of variables. Too much values.");
11692
11340
  }
11693
11341
  });
11694
- varBinds.push(SUBRULE(dataBlockValue));
11342
+ varBinds.push(SUBRULE(dataBlockValue, void 0));
11695
11343
  }
11696
11344
  });
11697
11345
  CONSUME2(symbols_exports.RParen);
@@ -11715,10 +11363,10 @@ var inlineDataFull = {
11715
11363
  var dataBlockValue = {
11716
11364
  name: "dataBlockValue",
11717
11365
  impl: ({ SUBRULE, CONSUME, OR }) => () => OR([
11718
- { ALT: () => SUBRULE(iri2) },
11719
- { ALT: () => SUBRULE(rdfLiteral) },
11720
- { ALT: () => SUBRULE(numericLiteral) },
11721
- { 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) },
11722
11370
  {
11723
11371
  ALT: () => {
11724
11372
  CONSUME(undef);
@@ -11731,7 +11379,7 @@ var minusGraphPattern = {
11731
11379
  name: "minusGraphPattern",
11732
11380
  impl: ({ ACTION, SUBRULE, CONSUME }) => () => {
11733
11381
  CONSUME(minus);
11734
- const group = SUBRULE(groupGraphPattern);
11382
+ const group = SUBRULE(groupGraphPattern, void 0);
11735
11383
  return ACTION(() => ({
11736
11384
  type: "minus",
11737
11385
  patterns: group.patterns
@@ -11744,7 +11392,7 @@ var groupOrUnionGraphPattern = {
11744
11392
  const groups = [];
11745
11393
  AT_LEAST_ONE_SEP({
11746
11394
  DEF: () => {
11747
- const group = SUBRULE(groupGraphPattern);
11395
+ const group = SUBRULE(groupGraphPattern, void 0);
11748
11396
  groups.push(group);
11749
11397
  },
11750
11398
  SEP: union
@@ -11759,7 +11407,7 @@ var filter3 = {
11759
11407
  name: "filter",
11760
11408
  impl: ({ SUBRULE, CONSUME }) => () => {
11761
11409
  CONSUME(filter2);
11762
- const expression2 = SUBRULE(constraint);
11410
+ const expression2 = SUBRULE(constraint, void 0);
11763
11411
  return {
11764
11412
  type: "filter",
11765
11413
  expression: expression2
@@ -11769,16 +11417,16 @@ var filter3 = {
11769
11417
  var constraint = {
11770
11418
  name: "constraint",
11771
11419
  impl: ({ SUBRULE, OR }) => () => OR([
11772
- { ALT: () => SUBRULE(brackettedExpression) },
11773
- { ALT: () => SUBRULE(builtInCall) },
11774
- { ALT: () => SUBRULE(functionCall) }
11420
+ { ALT: () => SUBRULE(brackettedExpression, void 0) },
11421
+ { ALT: () => SUBRULE(builtInCall, void 0) },
11422
+ { ALT: () => SUBRULE(functionCall, void 0) }
11775
11423
  ])
11776
11424
  };
11777
11425
  var functionCall = {
11778
11426
  name: "functionCall",
11779
11427
  impl: ({ ACTION, SUBRULE }) => () => {
11780
- const func = SUBRULE(iri2);
11781
- const args = SUBRULE(argList);
11428
+ const func = SUBRULE(iri2, void 0);
11429
+ const args = SUBRULE(argList, void 0);
11782
11430
  return ACTION(() => ({
11783
11431
  ...args,
11784
11432
  function: func
@@ -11796,7 +11444,7 @@ function funcExpr1(func) {
11796
11444
  impl: ({ SUBRULE, CONSUME }) => () => {
11797
11445
  const operator = CONSUME(func);
11798
11446
  CONSUME(symbols_exports.LParen);
11799
- const arg = SUBRULE(expression);
11447
+ const arg = SUBRULE(expression, void 0);
11800
11448
  CONSUME(symbols_exports.RParen);
11801
11449
  return {
11802
11450
  type: "operation",
@@ -11812,9 +11460,9 @@ function funcExpr2(func) {
11812
11460
  impl: ({ SUBRULE1, SUBRULE2, CONSUME }) => () => {
11813
11461
  const operator = CONSUME(func);
11814
11462
  CONSUME(symbols_exports.LParen);
11815
- const arg1 = SUBRULE1(expression);
11463
+ const arg1 = SUBRULE1(expression, void 0);
11816
11464
  CONSUME(symbols_exports.comma);
11817
- const arg2 = SUBRULE2(expression);
11465
+ const arg2 = SUBRULE2(expression, void 0);
11818
11466
  CONSUME(symbols_exports.RParen);
11819
11467
  return {
11820
11468
  type: "operation",
@@ -11830,11 +11478,11 @@ function funcExpr3(func) {
11830
11478
  impl: ({ SUBRULE1, SUBRULE2, SUBRULE3, CONSUME, CONSUME1, CONSUME2 }) => () => {
11831
11479
  const operator = CONSUME(func);
11832
11480
  CONSUME(symbols_exports.LParen);
11833
- const arg1 = SUBRULE1(expression);
11481
+ const arg1 = SUBRULE1(expression, void 0);
11834
11482
  CONSUME1(symbols_exports.comma);
11835
- const arg2 = SUBRULE2(expression);
11483
+ const arg2 = SUBRULE2(expression, void 0);
11836
11484
  CONSUME2(symbols_exports.comma);
11837
- const arg3 = SUBRULE3(expression);
11485
+ const arg3 = SUBRULE3(expression, void 0);
11838
11486
  CONSUME(symbols_exports.RParen);
11839
11487
  return {
11840
11488
  type: "operation",
@@ -11850,7 +11498,7 @@ function funcVar1(func) {
11850
11498
  impl: ({ SUBRULE, CONSUME }) => () => {
11851
11499
  const operator = CONSUME(func);
11852
11500
  CONSUME(symbols_exports.LParen);
11853
- const arg = SUBRULE(var_);
11501
+ const arg = SUBRULE(var_, void 0);
11854
11502
  CONSUME(symbols_exports.RParen);
11855
11503
  return {
11856
11504
  type: "operation",
@@ -11869,7 +11517,7 @@ function funcExprOrNil1(func) {
11869
11517
  {
11870
11518
  ALT: () => {
11871
11519
  CONSUME(symbols_exports.LParen);
11872
- const arg = SUBRULE(expression);
11520
+ const arg = SUBRULE(expression, void 0);
11873
11521
  CONSUME(symbols_exports.RParen);
11874
11522
  return [arg];
11875
11523
  }
@@ -11908,7 +11556,7 @@ function funcExprList1(func) {
11908
11556
  name: unCapitalize(func.name),
11909
11557
  impl: ({ CONSUME, SUBRULE }) => () => {
11910
11558
  const operator = CONSUME(func);
11911
- const args = SUBRULE(expressionList);
11559
+ const args = SUBRULE(expressionList, void 0);
11912
11560
  return {
11913
11561
  type: "operation",
11914
11562
  operator: formatOperator(operator.image),
@@ -11923,12 +11571,12 @@ function funcExpr2or3(func) {
11923
11571
  impl: ({ CONSUME, SUBRULE1, SUBRULE2, SUBRULE3, CONSUME1, OPTION, CONSUME2 }) => () => {
11924
11572
  const operator = CONSUME(func);
11925
11573
  CONSUME(symbols_exports.LParen);
11926
- const arg1 = SUBRULE1(expression);
11574
+ const arg1 = SUBRULE1(expression, void 0);
11927
11575
  CONSUME1(symbols_exports.comma);
11928
- const arg2 = SUBRULE2(expression);
11576
+ const arg2 = SUBRULE2(expression, void 0);
11929
11577
  const arg3 = OPTION(() => {
11930
11578
  CONSUME2(symbols_exports.comma);
11931
- return SUBRULE3(expression);
11579
+ return SUBRULE3(expression, void 0);
11932
11580
  });
11933
11581
  CONSUME(symbols_exports.RParen);
11934
11582
  return {
@@ -11945,14 +11593,14 @@ function funcExpr3or4(func) {
11945
11593
  impl: ({ CONSUME, SUBRULE1, SUBRULE2, SUBRULE3, CONSUME1, OPTION, CONSUME2, SUBRULE4, CONSUME3 }) => () => {
11946
11594
  const operator = CONSUME(func);
11947
11595
  CONSUME(symbols_exports.LParen);
11948
- const arg1 = SUBRULE1(expression);
11596
+ const arg1 = SUBRULE1(expression, void 0);
11949
11597
  CONSUME1(symbols_exports.comma);
11950
- const arg2 = SUBRULE2(expression);
11598
+ const arg2 = SUBRULE2(expression, void 0);
11951
11599
  CONSUME2(symbols_exports.comma);
11952
- const arg3 = SUBRULE3(expression);
11600
+ const arg3 = SUBRULE3(expression, void 0);
11953
11601
  const arg4 = OPTION(() => {
11954
11602
  CONSUME3(symbols_exports.comma);
11955
- return SUBRULE4(expression);
11603
+ return SUBRULE4(expression, void 0);
11956
11604
  });
11957
11605
  CONSUME(symbols_exports.RParen);
11958
11606
  return {
@@ -11968,7 +11616,7 @@ function funcGroupGraphPattern(func) {
11968
11616
  name: unCapitalize(func.name),
11969
11617
  impl: ({ ACTION, SUBRULE, CONSUME }) => () => {
11970
11618
  const operator = CONSUME(func);
11971
- const group = SUBRULE(groupGraphPattern);
11619
+ const group = SUBRULE(groupGraphPattern, void 0);
11972
11620
  return ACTION(() => ({
11973
11621
  type: "operation",
11974
11622
  operator: formatOperator(operator.image),
@@ -11991,7 +11639,7 @@ function baseAggregateFunc(func) {
11991
11639
  return new Wildcard();
11992
11640
  }
11993
11641
  },
11994
- { ALT: () => SUBRULE(expression) }
11642
+ { ALT: () => SUBRULE(expression, void 0) }
11995
11643
  ]);
11996
11644
  CONSUME(symbols_exports.RParen);
11997
11645
  return {
@@ -12019,236 +11667,579 @@ var builtInBnodeSparqlJs = {
12019
11667
  const args = OR([
12020
11668
  {
12021
11669
  ALT: () => {
12022
- CONSUME(symbols_exports.LParen);
12023
- const arg = SUBRULE(expression);
12024
- CONSUME(symbols_exports.RParen);
12025
- 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
+ };
12026
12146
  }
12027
12147
  },
12028
12148
  {
12029
12149
  ALT: () => {
12030
- CONSUME(terminals_exports.nil);
12031
- return [];
12150
+ CONSUME(symbols_exports.slash);
12151
+ const expr = SUBRULE3(unaryExpression, void 0);
12152
+ return {
12153
+ operator: "/",
12154
+ expr
12155
+ };
12032
12156
  }
12033
12157
  }
12034
- ]);
12035
- return {
12036
- type: "operation",
12037
- operator: operator.image,
12038
- args
12039
- };
12040
- }
12041
- };
12042
- var builtInRand = funcNil1(BuildinCalls_exports.rand);
12043
- var builtInAbs = funcExpr1(BuildinCalls_exports.abs);
12044
- var builtInCeil = funcExpr1(BuildinCalls_exports.ceil);
12045
- var builtInFloor = funcExpr1(BuildinCalls_exports.floor);
12046
- var builtInRound = funcExpr1(BuildinCalls_exports.round);
12047
- var builtInConcat = funcExprList1(BuildinCalls_exports.concat);
12048
- var builtInStrlen = funcExpr1(BuildinCalls_exports.strlen);
12049
- var builtInUcase = funcExpr1(BuildinCalls_exports.ucase);
12050
- var builtInLcase = funcExpr1(BuildinCalls_exports.lcase);
12051
- var builtInEncode_for_uri = funcExpr1(BuildinCalls_exports.encode_for_uri);
12052
- var builtInContains = funcExpr2(BuildinCalls_exports.contains);
12053
- var builtInStrstarts = funcExpr2(BuildinCalls_exports.strstarts);
12054
- var builtInStrends = funcExpr2(BuildinCalls_exports.strends);
12055
- var builtInStrbefore = funcExpr2(BuildinCalls_exports.strbefore);
12056
- var builtInStrafter = funcExpr2(BuildinCalls_exports.strafter);
12057
- var builtInYear = funcExpr1(BuildinCalls_exports.year);
12058
- var builtInMonth = funcExpr1(BuildinCalls_exports.month);
12059
- var builtInDay = funcExpr1(BuildinCalls_exports.day);
12060
- var builtInHours = funcExpr1(BuildinCalls_exports.hours);
12061
- var builtInMinutes = funcExpr1(BuildinCalls_exports.minutes);
12062
- var builtInSeconds = funcExpr1(BuildinCalls_exports.seconds);
12063
- var builtInTimezone = funcExpr1(BuildinCalls_exports.timezone);
12064
- var builtInTz = funcExpr1(BuildinCalls_exports.tz);
12065
- var builtInNow = funcNil1(BuildinCalls_exports.now);
12066
- var builtInUuid = funcNil1(BuildinCalls_exports.uuid);
12067
- var builtInStruuid = funcNil1(BuildinCalls_exports.struuid);
12068
- var builtInMd5 = funcExpr1(BuildinCalls_exports.md5);
12069
- var builtInSha1 = funcExpr1(BuildinCalls_exports.sha1);
12070
- var builtInSha256 = funcExpr1(BuildinCalls_exports.sha256);
12071
- var builtInSha384 = funcExpr1(BuildinCalls_exports.sha384);
12072
- var builtInSha512 = funcExpr1(BuildinCalls_exports.sha512);
12073
- var builtInCoalesce = funcExprList1(BuildinCalls_exports.coalesce);
12074
- var builtInIf = funcExpr3(BuildinCalls_exports.if_);
12075
- var builtInStrlang = funcExpr2(BuildinCalls_exports.strlang);
12076
- var builtInStrdt = funcExpr2(BuildinCalls_exports.strdt);
12077
- var builtInSameterm = funcExpr2(BuildinCalls_exports.sameterm);
12078
- var builtInIsiri = funcExpr1(BuildinCalls_exports.isiri);
12079
- var builtInIsuri = funcExpr1(BuildinCalls_exports.isuri);
12080
- var builtInIsblank = funcExpr1(BuildinCalls_exports.isblank);
12081
- var builtInIsliteral = funcExpr1(BuildinCalls_exports.isliteral);
12082
- var builtInIsnumeric = funcExpr1(BuildinCalls_exports.isnumeric);
12083
- function builtInCallList(SUBRULE) {
12084
- return [
12085
- { ALT: () => SUBRULE(aggregate) },
12086
- { ALT: () => SUBRULE(builtInStr) },
12087
- { ALT: () => SUBRULE(builtInLang) },
12088
- { ALT: () => SUBRULE(builtInLangmatches) },
12089
- { ALT: () => SUBRULE(builtInDatatype) },
12090
- { ALT: () => SUBRULE(builtInBound) },
12091
- { ALT: () => SUBRULE(builtInIri) },
12092
- { ALT: () => SUBRULE(builtInUri) },
12093
- { ALT: () => SUBRULE(builtInBnodeSparqlJs) },
12094
- { ALT: () => SUBRULE(builtInRand) },
12095
- { ALT: () => SUBRULE(builtInAbs) },
12096
- { ALT: () => SUBRULE(builtInCeil) },
12097
- { ALT: () => SUBRULE(builtInFloor) },
12098
- { ALT: () => SUBRULE(builtInRound) },
12099
- { ALT: () => SUBRULE(builtInConcat) },
12100
- { ALT: () => SUBRULE(substringExpression) },
12101
- { ALT: () => SUBRULE(builtInStrlen) },
12102
- { ALT: () => SUBRULE(strReplaceExpression) },
12103
- { ALT: () => SUBRULE(builtInUcase) },
12104
- { ALT: () => SUBRULE(builtInLcase) },
12105
- { ALT: () => SUBRULE(builtInEncode_for_uri) },
12106
- { ALT: () => SUBRULE(builtInContains) },
12107
- { ALT: () => SUBRULE(builtInStrstarts) },
12108
- { ALT: () => SUBRULE(builtInStrends) },
12109
- { ALT: () => SUBRULE(builtInStrbefore) },
12110
- { ALT: () => SUBRULE(builtInStrafter) },
12111
- { ALT: () => SUBRULE(builtInYear) },
12112
- { ALT: () => SUBRULE(builtInMonth) },
12113
- { ALT: () => SUBRULE(builtInDay) },
12114
- { ALT: () => SUBRULE(builtInHours) },
12115
- { ALT: () => SUBRULE(builtInMinutes) },
12116
- { ALT: () => SUBRULE(builtInSeconds) },
12117
- { ALT: () => SUBRULE(builtInTimezone) },
12118
- { ALT: () => SUBRULE(builtInTz) },
12119
- { ALT: () => SUBRULE(builtInNow) },
12120
- { ALT: () => SUBRULE(builtInUuid) },
12121
- { ALT: () => SUBRULE(builtInStruuid) },
12122
- { ALT: () => SUBRULE(builtInMd5) },
12123
- { ALT: () => SUBRULE(builtInSha1) },
12124
- { ALT: () => SUBRULE(builtInSha256) },
12125
- { ALT: () => SUBRULE(builtInSha384) },
12126
- { ALT: () => SUBRULE(builtInSha512) },
12127
- { ALT: () => SUBRULE(builtInCoalesce) },
12128
- { ALT: () => SUBRULE(builtInIf) },
12129
- { ALT: () => SUBRULE(builtInStrlang) },
12130
- { ALT: () => SUBRULE(builtInStrdt) },
12131
- { ALT: () => SUBRULE(builtInSameterm) },
12132
- { ALT: () => SUBRULE(builtInIsiri) },
12133
- { ALT: () => SUBRULE(builtInIsuri) },
12134
- { ALT: () => SUBRULE(builtInIsblank) },
12135
- { ALT: () => SUBRULE(builtInIsliteral) },
12136
- { ALT: () => SUBRULE(builtInIsnumeric) },
12137
- { ALT: () => SUBRULE(regexExpression) },
12138
- { ALT: () => SUBRULE(existsFunc) },
12139
- { ALT: () => SUBRULE(notExistsFunc) }
12140
- ];
12141
- }
12142
- var builtInCall = {
12143
- name: "builtInCall",
12144
- impl: ({ OR, SUBRULE, cache }) => () => {
12145
- const cached = cache.get(builtInCall);
12146
- if (cached) {
12147
- return OR(cached);
12148
- }
12149
- const builtIns = builtInCallList(SUBRULE);
12150
- cache.set(builtInCall, builtIns);
12151
- return OR(builtIns);
12152
- }
12153
- };
12154
- var regexExpression = funcExpr2or3(BuildinCalls_exports.regex);
12155
- var substringExpression = funcExpr2or3(BuildinCalls_exports.substr);
12156
- var strReplaceExpression = funcExpr3or4(BuildinCalls_exports.replace);
12157
- var existsFunc = funcGroupGraphPattern(BuildinCalls_exports.exists);
12158
- var notExistsFunc = funcGroupGraphPattern(BuildinCalls_exports.notexists);
12159
- var aggregateCount = baseAggregateFunc(BuildinCalls_exports.count);
12160
- var aggregateSum = baseAggregateFunc(BuildinCalls_exports.sum);
12161
- var aggregateMin = baseAggregateFunc(BuildinCalls_exports.min);
12162
- var aggregateMax = baseAggregateFunc(BuildinCalls_exports.max);
12163
- var aggregateAvg = baseAggregateFunc(BuildinCalls_exports.avg);
12164
- var aggregateSample = baseAggregateFunc(BuildinCalls_exports.sample);
12165
- var aggregateGroup_concat = {
12166
- name: unCapitalize(BuildinCalls_exports.groupConcat.name),
12167
- impl: ({ CONSUME, OPTION1, SUBRULE, OPTION2 }) => () => {
12168
- CONSUME(BuildinCalls_exports.groupConcat);
12169
- CONSUME(symbols_exports.LParen);
12170
- const distinct2 = OPTION1(() => CONSUME(distinct));
12171
- const expr = SUBRULE(expression);
12172
- const separator2 = OPTION2(() => {
12173
- CONSUME(symbols_exports.semi);
12174
- CONSUME(separator);
12175
- CONSUME(symbols_exports.equal);
12176
- return SUBRULE(string);
12177
- }) ?? " ";
12178
- CONSUME(symbols_exports.RParen);
12179
- return {
12180
- type: "aggregate",
12181
- aggregation: "group_concat",
12182
- expression: expr,
12183
- distinct: Boolean(distinct2),
12184
- separator: separator2
12185
- };
12186
- }
12158
+ ]),
12159
+ ACTION,
12160
+ MANY
12161
+ )
12187
12162
  };
12188
- var canParseAggregate = Symbol("canParseAggregate");
12189
- var inAggregate = Symbol("inAggregate");
12190
- var aggregate = {
12191
- name: "aggregate",
12192
- impl: ({ ACTION, SUBRULE, OR, context }) => () => {
12193
- const wasInAggregate = context.parseMode.has(inAggregate);
12194
- ACTION(() => context.parseMode.add(inAggregate));
12195
- const result = OR([
12196
- { ALT: () => SUBRULE(aggregateCount) },
12197
- { ALT: () => SUBRULE(aggregateSum) },
12198
- { ALT: () => SUBRULE(aggregateMin) },
12199
- { ALT: () => SUBRULE(aggregateMax) },
12200
- { ALT: () => SUBRULE(aggregateAvg) },
12201
- { ALT: () => SUBRULE(aggregateSample) },
12202
- { ALT: () => SUBRULE(aggregateGroup_concat) }
12203
- ]);
12204
- ACTION(() => !wasInAggregate && context.parseMode.delete(inAggregate));
12205
- ACTION(() => {
12206
- if (!context.parseMode.has(canParseAggregate)) {
12207
- 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
+ };
12208
12175
  }
12209
- if (context.parseMode.has(inAggregate)) {
12210
- 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
+ };
12211
12186
  }
12212
- });
12213
- return result;
12214
- }
12215
- };
12216
-
12217
- // ../rules-sparql-1-1/lib/grammar/dataSetClause.ts
12218
- var datasetClause = {
12219
- name: "datasetClause",
12220
- impl: ({ SUBRULE, CONSUME, OR }) => () => {
12221
- CONSUME(from);
12222
- return OR([
12223
- { ALT: () => ({ value: SUBRULE(defaultGraphClause), type: "default" }) },
12224
- { ALT: () => ({ value: SUBRULE(namedGraphClause), type: "named" }) }
12225
- ]);
12226
- }
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
+ ])
12227
12201
  };
12228
- var defaultGraphClause = {
12229
- name: "defaultGraphClause",
12230
- 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
+ ])
12231
12213
  };
12232
- var namedGraphClause = {
12233
- name: "namedGraphClause",
12214
+ var brackettedExpression = {
12215
+ name: "brackettedExpression",
12234
12216
  impl: ({ SUBRULE, CONSUME }) => () => {
12235
- CONSUME(graph_exports.named);
12236
- return SUBRULE(sourceSelector);
12217
+ CONSUME(symbols_exports.LParen);
12218
+ const expr = SUBRULE(expression, void 0);
12219
+ CONSUME(symbols_exports.RParen);
12220
+ return expr;
12237
12221
  }
12238
12222
  };
12239
- var sourceSelector = {
12240
- name: "sourceSelector",
12241
- 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
+ }
12242
12233
  };
12243
12234
 
12244
12235
  // ../rules-sparql-1-1/lib/grammar/solutionModifier.ts
12245
12236
  var solutionModifier = {
12246
12237
  name: "solutionModifier",
12247
12238
  impl: ({ ACTION, SUBRULE, OPTION1, OPTION2, OPTION3, OPTION4 }) => () => {
12248
- const group = OPTION1(() => SUBRULE(groupClause));
12249
- const having2 = OPTION2(() => SUBRULE(havingClause));
12250
- const order2 = OPTION3(() => SUBRULE(orderClause));
12251
- 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));
12252
12243
  return ACTION(() => ({
12253
12244
  ...limitAndOffset,
12254
12245
  ...group && { group },
@@ -12263,7 +12254,7 @@ var groupClause = {
12263
12254
  const groupings = [];
12264
12255
  CONSUME(groupBy2);
12265
12256
  AT_LEAST_ONE(() => {
12266
- groupings.push(SUBRULE(groupCondition));
12257
+ groupings.push(SUBRULE(groupCondition, void 0));
12267
12258
  });
12268
12259
  return groupings;
12269
12260
  }
@@ -12272,13 +12263,13 @@ var groupCondition = {
12272
12263
  name: "groupCondition",
12273
12264
  impl: ({ SUBRULE, CONSUME, SUBRULE1, SUBRULE2, OPTION, OR }) => () => OR([
12274
12265
  { ALT: () => {
12275
- const expression2 = SUBRULE(builtInCall);
12266
+ const expression2 = SUBRULE(builtInCall, void 0);
12276
12267
  return {
12277
12268
  expression: expression2
12278
12269
  };
12279
12270
  } },
12280
12271
  { ALT: () => {
12281
- const expression2 = SUBRULE(functionCall);
12272
+ const expression2 = SUBRULE(functionCall, void 0);
12282
12273
  return {
12283
12274
  expression: expression2
12284
12275
  };
@@ -12286,10 +12277,10 @@ var groupCondition = {
12286
12277
  {
12287
12278
  ALT: () => {
12288
12279
  CONSUME(symbols_exports.LParen);
12289
- const expressionValue = SUBRULE(expression);
12280
+ const expressionValue = SUBRULE(expression, void 0);
12290
12281
  const variable = OPTION(() => {
12291
12282
  CONSUME(as);
12292
- return SUBRULE1(var_);
12283
+ return SUBRULE1(var_, void 0);
12293
12284
  });
12294
12285
  CONSUME(symbols_exports.RParen);
12295
12286
  return {
@@ -12299,7 +12290,7 @@ var groupCondition = {
12299
12290
  }
12300
12291
  },
12301
12292
  { ALT: () => {
12302
- const expression2 = SUBRULE2(var_);
12293
+ const expression2 = SUBRULE2(var_, void 0);
12303
12294
  return {
12304
12295
  expression: expression2
12305
12296
  };
@@ -12308,31 +12299,31 @@ var groupCondition = {
12308
12299
  };
12309
12300
  var havingClause = {
12310
12301
  name: "havingClause",
12311
- impl: ({ ACTION, AT_LEAST_ONE, SUBRULE, CONSUME, context }) => () => {
12302
+ impl: ({ ACTION, AT_LEAST_ONE, SUBRULE, CONSUME }) => (C) => {
12312
12303
  const expressions = [];
12313
12304
  CONSUME(having);
12314
- const couldParseAgg = ACTION(() => context.parseMode.has(canParseAggregate) || !context.parseMode.add(canParseAggregate));
12305
+ const couldParseAgg = ACTION(() => C.parseMode.has("canParseAggregate") || !C.parseMode.add("canParseAggregate"));
12315
12306
  AT_LEAST_ONE(() => {
12316
- expressions.push(SUBRULE(havingCondition));
12307
+ expressions.push(SUBRULE(havingCondition, void 0));
12317
12308
  });
12318
- ACTION(() => !couldParseAgg && context.parseMode.delete(canParseAggregate));
12309
+ ACTION(() => !couldParseAgg && C.parseMode.delete("canParseAggregate"));
12319
12310
  return expressions;
12320
12311
  }
12321
12312
  };
12322
12313
  var havingCondition = {
12323
12314
  name: "havingCondition",
12324
- impl: ({ SUBRULE }) => () => SUBRULE(constraint)
12315
+ impl: ({ SUBRULE }) => () => SUBRULE(constraint, void 0)
12325
12316
  };
12326
12317
  var orderClause = {
12327
12318
  name: "orderClause",
12328
- impl: ({ ACTION, AT_LEAST_ONE, SUBRULE, CONSUME, context }) => () => {
12319
+ impl: ({ ACTION, AT_LEAST_ONE, SUBRULE, CONSUME }) => (C) => {
12329
12320
  const orderings = [];
12330
12321
  CONSUME(order);
12331
- const couldParseAgg = ACTION(() => context.parseMode.has(canParseAggregate) || !context.parseMode.add(canParseAggregate));
12322
+ const couldParseAgg = ACTION(() => C.parseMode.has("canParseAggregate") || !C.parseMode.add("canParseAggregate"));
12332
12323
  AT_LEAST_ONE(() => {
12333
- orderings.push(SUBRULE(orderCondition));
12324
+ orderings.push(SUBRULE(orderCondition, void 0));
12334
12325
  });
12335
- ACTION(() => !couldParseAgg && context.parseMode.delete(canParseAggregate));
12326
+ ACTION(() => !couldParseAgg && C.parseMode.delete("canParseAggregate"));
12336
12327
  return orderings;
12337
12328
  }
12338
12329
  };
@@ -12351,7 +12342,7 @@ var orderCondition = {
12351
12342
  return true;
12352
12343
  } }
12353
12344
  ]);
12354
- const expr = SUBRULE(brackettedExpression);
12345
+ const expr = SUBRULE(brackettedExpression, void 0);
12355
12346
  return {
12356
12347
  expression: expr,
12357
12348
  descending
@@ -12359,13 +12350,13 @@ var orderCondition = {
12359
12350
  }
12360
12351
  },
12361
12352
  { ALT: () => {
12362
- const expr = SUBRULE(constraint);
12353
+ const expr = SUBRULE(constraint, void 0);
12363
12354
  return {
12364
12355
  expression: expr
12365
12356
  };
12366
12357
  } },
12367
12358
  { ALT: () => {
12368
- const expr = SUBRULE(var_);
12359
+ const expr = SUBRULE(var_, void 0);
12369
12360
  return {
12370
12361
  expression: expr
12371
12362
  };
@@ -12377,8 +12368,8 @@ var limitOffsetClauses = {
12377
12368
  impl: ({ SUBRULE1, SUBRULE2, OPTION1, OPTION2, OR }) => () => OR([
12378
12369
  {
12379
12370
  ALT: () => {
12380
- const limit2 = SUBRULE1(limitClause);
12381
- const offset2 = OPTION1(() => SUBRULE1(offsetClause));
12371
+ const limit2 = SUBRULE1(limitClause, void 0);
12372
+ const offset2 = OPTION1(() => SUBRULE1(offsetClause, void 0));
12382
12373
  return {
12383
12374
  limit: limit2,
12384
12375
  offset: offset2
@@ -12387,8 +12378,8 @@ var limitOffsetClauses = {
12387
12378
  },
12388
12379
  {
12389
12380
  ALT: () => {
12390
- const offset2 = SUBRULE2(offsetClause);
12391
- const limit2 = OPTION2(() => SUBRULE2(limitClause));
12381
+ const offset2 = SUBRULE2(offsetClause, void 0);
12382
+ const limit2 = OPTION2(() => SUBRULE2(limitClause, void 0));
12392
12383
  return {
12393
12384
  limit: limit2,
12394
12385
  offset: offset2
@@ -12415,19 +12406,19 @@ var offsetClause = {
12415
12406
  // ../rules-sparql-1-1/lib/grammar/queryUnit/queryUnit.ts
12416
12407
  var queryUnit = {
12417
12408
  name: "queryUnit",
12418
- impl: ({ SUBRULE }) => () => SUBRULE(query)
12409
+ impl: ({ SUBRULE }) => () => SUBRULE(query, void 0)
12419
12410
  };
12420
12411
  var query = {
12421
12412
  name: "query",
12422
12413
  impl: ({ ACTION, SUBRULE, OR }) => () => {
12423
- const prologueValues = SUBRULE(prologue);
12414
+ const prologueValues = SUBRULE(prologue, void 0);
12424
12415
  const queryType = OR([
12425
- { ALT: () => SUBRULE(selectQuery) },
12426
- { ALT: () => SUBRULE(constructQuery) },
12427
- { ALT: () => SUBRULE(describeQuery) },
12428
- { 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) }
12429
12420
  ]);
12430
- const values3 = SUBRULE(valuesClause);
12421
+ const values3 = SUBRULE(valuesClause, void 0);
12431
12422
  return ACTION(() => ({
12432
12423
  ...prologueValues,
12433
12424
  ...queryType,
@@ -12439,7 +12430,7 @@ var query = {
12439
12430
  function extractFromOfDataSetClauses(ACTION, MANY, SUBRULE) {
12440
12431
  const datasetClauses = [];
12441
12432
  MANY(() => {
12442
- datasetClauses.push(SUBRULE(datasetClause));
12433
+ datasetClauses.push(SUBRULE(datasetClause, void 0));
12443
12434
  });
12444
12435
  return ACTION(() => {
12445
12436
  const from2 = {
@@ -12499,11 +12490,11 @@ function getVariablesFromExpression(expression2) {
12499
12490
  }
12500
12491
  var selectQuery = {
12501
12492
  name: "selectQuery",
12502
- impl: ({ ACTION, SUBRULE, MANY, context }) => () => {
12503
- const selectVal = SUBRULE(selectClause);
12493
+ impl: ({ ACTION, SUBRULE, MANY }) => (C) => {
12494
+ const selectVal = SUBRULE(selectClause, void 0);
12504
12495
  const from2 = extractFromOfDataSetClauses(ACTION, MANY, SUBRULE);
12505
- const where2 = SUBRULE(whereClause);
12506
- const modifier = SUBRULE(solutionModifier);
12496
+ const where2 = SUBRULE(whereClause, void 0);
12497
+ const modifier = SUBRULE(solutionModifier, void 0);
12507
12498
  ACTION(() => {
12508
12499
  if (selectVal.variables.length === 1 && selectVal.variables[0] instanceof Wildcard) {
12509
12500
  if (modifier.group !== void 0) {
@@ -12512,7 +12503,7 @@ var selectQuery = {
12512
12503
  return;
12513
12504
  }
12514
12505
  const variables = selectVal.variables;
12515
- if (!context.skipValidation) {
12506
+ if (!C.skipValidation) {
12516
12507
  const hasCountAggregate = variables.flatMap(
12517
12508
  (varVal) => "termType" in varVal ? [] : getAggregatesOfExpression(varVal.expression)
12518
12509
  ).some((agg) => agg.aggregation === "count" && !(agg.expression instanceof Wildcard));
@@ -12562,10 +12553,10 @@ var selectQuery = {
12562
12553
  var subSelect = {
12563
12554
  name: "subSelect",
12564
12555
  impl: ({ ACTION, SUBRULE }) => () => {
12565
- const clause = SUBRULE(selectClause);
12566
- const where2 = SUBRULE(whereClause);
12567
- const modifiers = SUBRULE(solutionModifier);
12568
- 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);
12569
12560
  return ACTION(() => ({
12570
12561
  ...modifiers,
12571
12562
  ...clause,
@@ -12578,9 +12569,9 @@ var subSelect = {
12578
12569
  };
12579
12570
  var selectClause = {
12580
12571
  name: "selectClause",
12581
- 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) => {
12582
12573
  CONSUME(select);
12583
- const couldParseAgg = ACTION(() => context.parseMode.has(canParseAggregate) || !context.parseMode.add(canParseAggregate));
12574
+ const couldParseAgg = ACTION(() => C.parseMode.has("canParseAggregate") || !C.parseMode.add("canParseAggregate"));
12584
12575
  const distinctOrReduced = OPTION(() => OR1([
12585
12576
  { ALT: () => {
12586
12577
  CONSUME(distinct);
@@ -12601,7 +12592,7 @@ var selectClause = {
12601
12592
  const result = [];
12602
12593
  AT_LEAST_ONE(() => OR3([
12603
12594
  { ALT: () => {
12604
- const raw = SUBRULE1(var_);
12595
+ const raw = SUBRULE1(var_, void 0);
12605
12596
  ACTION(() => {
12606
12597
  if (usedVars.some((v) => v.equals(raw))) {
12607
12598
  throw new Error(`Variable ${raw.value} used more than once in SELECT clause`);
@@ -12612,9 +12603,9 @@ var selectClause = {
12612
12603
  } },
12613
12604
  { ALT: () => {
12614
12605
  CONSUME(symbols_exports.LParen);
12615
- const expr = SUBRULE(expression);
12606
+ const expr = SUBRULE(expression, void 0);
12616
12607
  CONSUME(as);
12617
- const variable = SUBRULE2(var_);
12608
+ const variable = SUBRULE2(var_, void 0);
12618
12609
  CONSUME(symbols_exports.RParen);
12619
12610
  ACTION(() => {
12620
12611
  if (usedVars.some((v) => v.equals(variable))) {
@@ -12631,7 +12622,7 @@ var selectClause = {
12631
12622
  return result;
12632
12623
  } }
12633
12624
  ]);
12634
- ACTION(() => !couldParseAgg && context.parseMode.delete(canParseAggregate));
12625
+ ACTION(() => !couldParseAgg && C.parseMode.delete("canParseAggregate"));
12635
12626
  return ACTION(() => ({
12636
12627
  ...distinctOrReduced,
12637
12628
  variables
@@ -12645,10 +12636,10 @@ var constructQuery = {
12645
12636
  return OR([
12646
12637
  {
12647
12638
  ALT: () => {
12648
- const template = SUBRULE(constructTemplate);
12639
+ const template = SUBRULE(constructTemplate, void 0);
12649
12640
  const from2 = extractFromOfDataSetClauses(ACTION, MANY1, SUBRULE1);
12650
- const where2 = SUBRULE(whereClause);
12651
- const modifiers = SUBRULE1(solutionModifier);
12641
+ const where2 = SUBRULE(whereClause, void 0);
12642
+ const modifiers = SUBRULE1(solutionModifier, void 0);
12652
12643
  return ACTION(() => ({
12653
12644
  ...modifiers,
12654
12645
  queryType: "CONSTRUCT",
@@ -12663,9 +12654,9 @@ var constructQuery = {
12663
12654
  const from2 = extractFromOfDataSetClauses(ACTION, MANY2, SUBRULE2);
12664
12655
  CONSUME(where);
12665
12656
  CONSUME(symbols_exports.LCurly);
12666
- const template = OPTION(() => SUBRULE(triplesTemplate));
12657
+ const template = OPTION(() => SUBRULE(triplesTemplate, void 0));
12667
12658
  CONSUME(symbols_exports.RCurly);
12668
- const modifiers = SUBRULE2(solutionModifier);
12659
+ const modifiers = SUBRULE2(solutionModifier, void 0);
12669
12660
  const where2 = template ? [{
12670
12661
  type: "bgp",
12671
12662
  triples: template
@@ -12690,7 +12681,7 @@ var describeQuery = {
12690
12681
  { ALT: () => {
12691
12682
  const variables2 = [];
12692
12683
  AT_LEAST_ONE(() => {
12693
- variables2.push(SUBRULE(varOrIri));
12684
+ variables2.push(SUBRULE(varOrIri, void 0));
12694
12685
  });
12695
12686
  return variables2;
12696
12687
  } },
@@ -12700,8 +12691,8 @@ var describeQuery = {
12700
12691
  } }
12701
12692
  ]);
12702
12693
  const from2 = extractFromOfDataSetClauses(ACTION, MANY, SUBRULE);
12703
- const where2 = OPTION(() => SUBRULE(whereClause));
12704
- const modifiers = SUBRULE(solutionModifier);
12694
+ const where2 = OPTION(() => SUBRULE(whereClause, void 0));
12695
+ const modifiers = SUBRULE(solutionModifier, void 0);
12705
12696
  return ACTION(() => ({
12706
12697
  ...modifiers,
12707
12698
  queryType: "DESCRIBE",
@@ -12716,8 +12707,8 @@ var askQuery = {
12716
12707
  impl: ({ ACTION, SUBRULE, CONSUME, MANY }) => () => {
12717
12708
  CONSUME(ask);
12718
12709
  const from2 = extractFromOfDataSetClauses(ACTION, MANY, SUBRULE);
12719
- const where2 = SUBRULE(whereClause);
12720
- const modifiers = SUBRULE(solutionModifier);
12710
+ const where2 = SUBRULE(whereClause, void 0);
12711
+ const modifiers = SUBRULE(solutionModifier, void 0);
12721
12712
  return ACTION(() => ({
12722
12713
  ...modifiers,
12723
12714
  queryType: "ASK",
@@ -12730,14 +12721,14 @@ var valuesClause = {
12730
12721
  name: "valuesClause",
12731
12722
  impl: ({ SUBRULE, CONSUME, OPTION }) => () => OPTION(() => {
12732
12723
  CONSUME(values2);
12733
- return SUBRULE(dataBlock);
12724
+ return SUBRULE(dataBlock, void 0);
12734
12725
  })
12735
12726
  };
12736
12727
  var constructTemplate = {
12737
12728
  name: "constructTemplate",
12738
12729
  impl: ({ SUBRULE, CONSUME, OPTION }) => () => {
12739
12730
  CONSUME(symbols_exports.LCurly);
12740
- const triples = OPTION(() => SUBRULE(constructTriples));
12731
+ const triples = OPTION(() => SUBRULE(constructTriples, void 0));
12741
12732
  CONSUME(symbols_exports.RCurly);
12742
12733
  return triples;
12743
12734
  }
@@ -12746,11 +12737,11 @@ var constructTriples = {
12746
12737
  name: "constructTriples",
12747
12738
  impl: ({ SUBRULE, CONSUME, OPTION1, OPTION2 }) => () => {
12748
12739
  const triples = [];
12749
- triples.push(SUBRULE(triplesSameSubject));
12740
+ triples.push(SUBRULE(triplesSameSubject, void 0));
12750
12741
  OPTION1(() => {
12751
12742
  CONSUME(symbols_exports.dot);
12752
12743
  OPTION2(() => {
12753
- triples.push(SUBRULE(constructTriples));
12744
+ triples.push(SUBRULE(constructTriples, void 0));
12754
12745
  });
12755
12746
  });
12756
12747
  return triples.flat(1);
@@ -12761,16 +12752,15 @@ var constructTriples = {
12761
12752
  var updateUnit = {
12762
12753
  name: "updateUnit",
12763
12754
  impl: ({ ACTION, SUBRULE }) => () => {
12764
- const data = SUBRULE(update);
12755
+ const data = SUBRULE(update, void 0);
12765
12756
  ACTION(() => data.updates.reverse());
12766
12757
  return data;
12767
12758
  }
12768
12759
  };
12769
12760
  var update = {
12770
12761
  name: "update",
12771
- impl: ({ ACTION, SUBRULE, CONSUME, OPTION1, OPTION2, context }) => () => {
12772
- const blankLabelsUsedInInsertData = /* @__PURE__ */ new Set();
12773
- const prologueValues = SUBRULE(prologue);
12762
+ impl: ({ ACTION, SUBRULE, CONSUME, OPTION1, OPTION2 }) => () => {
12763
+ const prologueValues = SUBRULE(prologue, void 0);
12774
12764
  const result = {
12775
12765
  type: "update",
12776
12766
  base: prologueValues.base,
@@ -12778,10 +12768,10 @@ var update = {
12778
12768
  updates: []
12779
12769
  };
12780
12770
  OPTION1(() => {
12781
- const updateOperation = SUBRULE(update1);
12771
+ const updateOperation = SUBRULE(update1, void 0);
12782
12772
  const recursiveRes = OPTION2(() => {
12783
12773
  CONSUME(symbols_exports.semi);
12784
- return SUBRULE(update);
12774
+ return SUBRULE(update, void 0);
12785
12775
  });
12786
12776
  return ACTION(() => {
12787
12777
  result.updates.push(updateOperation);
@@ -12798,17 +12788,17 @@ var update = {
12798
12788
  var update1 = {
12799
12789
  name: "update1",
12800
12790
  impl: ({ SUBRULE, OR }) => () => OR([
12801
- { ALT: () => SUBRULE(load2) },
12802
- { ALT: () => SUBRULE(clear2) },
12803
- { ALT: () => SUBRULE(drop3) },
12804
- { ALT: () => SUBRULE(add2) },
12805
- { ALT: () => SUBRULE(move2) },
12806
- { ALT: () => SUBRULE(copy2) },
12807
- { ALT: () => SUBRULE(create2) },
12808
- { ALT: () => SUBRULE(insertData) },
12809
- { ALT: () => SUBRULE(deleteData) },
12810
- { ALT: () => SUBRULE(deleteWhere) },
12811
- { 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) }
12812
12802
  ])
12813
12803
  };
12814
12804
  var load2 = {
@@ -12816,10 +12806,10 @@ var load2 = {
12816
12806
  impl: ({ SUBRULE, CONSUME, OPTION1, OPTION2 }) => () => {
12817
12807
  CONSUME(load);
12818
12808
  const silent2 = Boolean(OPTION1(() => CONSUME(silent)));
12819
- const source = SUBRULE(iri2);
12809
+ const source = SUBRULE(iri2, void 0);
12820
12810
  const destination = OPTION2(() => {
12821
12811
  CONSUME(loadInto);
12822
- return SUBRULE(graphRef);
12812
+ return SUBRULE(graphRef, void 0);
12823
12813
  });
12824
12814
  return {
12825
12815
  type: "load",
@@ -12834,7 +12824,7 @@ var clear2 = {
12834
12824
  impl: ({ SUBRULE, CONSUME, OPTION }) => () => {
12835
12825
  CONSUME(clear);
12836
12826
  const silent2 = Boolean(OPTION(() => CONSUME(silent)));
12837
- const graph2 = SUBRULE(graphRefAll);
12827
+ const graph2 = SUBRULE(graphRefAll, void 0);
12838
12828
  return {
12839
12829
  type: "clear",
12840
12830
  silent: silent2,
@@ -12847,7 +12837,7 @@ var drop3 = {
12847
12837
  impl: ({ SUBRULE, CONSUME, OPTION }) => () => {
12848
12838
  CONSUME(drop2);
12849
12839
  const silent2 = Boolean(OPTION(() => CONSUME(silent)));
12850
- const graph2 = SUBRULE(graphRefAll);
12840
+ const graph2 = SUBRULE(graphRefAll, void 0);
12851
12841
  return {
12852
12842
  type: "drop",
12853
12843
  silent: silent2,
@@ -12860,7 +12850,7 @@ var create2 = {
12860
12850
  impl: ({ SUBRULE, CONSUME, OPTION }) => () => {
12861
12851
  CONSUME(create);
12862
12852
  const silent2 = Boolean(OPTION(() => CONSUME(silent)));
12863
- const graph2 = SUBRULE(graphRef);
12853
+ const graph2 = SUBRULE(graphRef, void 0);
12864
12854
  return {
12865
12855
  type: "create",
12866
12856
  silent: silent2,
@@ -12877,9 +12867,9 @@ function copyMoveAddOperation(operation) {
12877
12867
  impl: ({ CONSUME, SUBRULE1, SUBRULE2, OPTION }) => () => {
12878
12868
  CONSUME(operation);
12879
12869
  const silent2 = Boolean(OPTION(() => CONSUME(silent)));
12880
- const source = SUBRULE1(graphOrDefault);
12870
+ const source = SUBRULE1(graphOrDefault, void 0);
12881
12871
  CONSUME(to);
12882
- const destination = SUBRULE2(graphOrDefault);
12872
+ const destination = SUBRULE2(graphOrDefault, void 0);
12883
12873
  return {
12884
12874
  type: unCapitalize(operation.name),
12885
12875
  silent: silent2,
@@ -12897,7 +12887,7 @@ var insertData = {
12897
12887
  impl: ({ SUBRULE, CONSUME }) => () => {
12898
12888
  CONSUME(insertClause);
12899
12889
  CONSUME(dataClause);
12900
- const insert = SUBRULE(quadData);
12890
+ const insert = SUBRULE(quadData, void 0);
12901
12891
  return {
12902
12892
  updateType: "insert",
12903
12893
  insert
@@ -12906,12 +12896,12 @@ var insertData = {
12906
12896
  };
12907
12897
  var deleteData = {
12908
12898
  name: "deleteData",
12909
- impl: ({ ACTION, SUBRULE, CONSUME, context }) => () => {
12899
+ impl: ({ ACTION, SUBRULE, CONSUME }) => (C) => {
12910
12900
  CONSUME(deleteClause);
12911
12901
  CONSUME(dataClause);
12912
- const couldCreateBlankNodes = ACTION(() => context.parseMode.delete(canCreateBlankNodes));
12913
- const del = SUBRULE(quadData);
12914
- 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"));
12915
12905
  return {
12916
12906
  updateType: "delete",
12917
12907
  delete: del
@@ -12920,12 +12910,12 @@ var deleteData = {
12920
12910
  };
12921
12911
  var deleteWhere = {
12922
12912
  name: "deleteWhere",
12923
- impl: ({ ACTION, SUBRULE, CONSUME, context }) => () => {
12913
+ impl: ({ ACTION, SUBRULE, CONSUME }) => (C) => {
12924
12914
  CONSUME(deleteClause);
12925
12915
  CONSUME(where);
12926
- const couldCreateBlankNodes = ACTION(() => context.parseMode.delete(canCreateBlankNodes));
12927
- const del = SUBRULE(quadPattern);
12928
- 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"));
12929
12919
  return {
12930
12920
  updateType: "deletewhere",
12931
12921
  delete: del
@@ -12937,27 +12927,27 @@ var modify = {
12937
12927
  impl: ({ ACTION, SUBRULE, CONSUME, MANY, SUBRULE1, SUBRULE2, OPTION1, OPTION2, OR }) => () => {
12938
12928
  const graph2 = OPTION1(() => {
12939
12929
  CONSUME(modifyWith);
12940
- return SUBRULE(iri2);
12930
+ return SUBRULE(iri2, void 0);
12941
12931
  });
12942
12932
  const { insert, delete: del } = OR([
12943
12933
  {
12944
12934
  ALT: () => {
12945
- const del2 = SUBRULE(deleteClause2);
12946
- const insert2 = OPTION2(() => SUBRULE1(insertClause2)) ?? [];
12935
+ const del2 = SUBRULE(deleteClause2, void 0);
12936
+ const insert2 = OPTION2(() => SUBRULE1(insertClause2, void 0)) ?? [];
12947
12937
  return { delete: del2, insert: insert2 };
12948
12938
  }
12949
12939
  },
12950
12940
  { ALT: () => {
12951
- const insert2 = SUBRULE2(insertClause2);
12941
+ const insert2 = SUBRULE2(insertClause2, void 0);
12952
12942
  return { insert: insert2, delete: [] };
12953
12943
  } }
12954
12944
  ]);
12955
12945
  const usingArr = [];
12956
12946
  MANY(() => {
12957
- usingArr.push(SUBRULE(usingClause2));
12947
+ usingArr.push(SUBRULE(usingClause2, void 0));
12958
12948
  });
12959
12949
  CONSUME(where);
12960
- const where2 = SUBRULE(groupGraphPattern);
12950
+ const where2 = SUBRULE(groupGraphPattern, void 0);
12961
12951
  return ACTION(() => {
12962
12952
  const def = [];
12963
12953
  const named2 = [];
@@ -12981,11 +12971,11 @@ var modify = {
12981
12971
  };
12982
12972
  var deleteClause2 = {
12983
12973
  name: "deleteClause",
12984
- impl: ({ ACTION, SUBRULE, CONSUME, context }) => () => {
12974
+ impl: ({ ACTION, SUBRULE, CONSUME }) => (C) => {
12985
12975
  CONSUME(deleteClause);
12986
- const couldCreateBlankNodes = ACTION(() => context.parseMode.delete(canCreateBlankNodes));
12987
- const del = SUBRULE(quadPattern);
12988
- 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"));
12989
12979
  return del;
12990
12980
  }
12991
12981
  };
@@ -12993,7 +12983,7 @@ var insertClause2 = {
12993
12983
  name: "insertClause",
12994
12984
  impl: ({ SUBRULE, CONSUME }) => () => {
12995
12985
  CONSUME(insertClause);
12996
- return SUBRULE(quadPattern);
12986
+ return SUBRULE(quadPattern, void 0);
12997
12987
  }
12998
12988
  };
12999
12989
  var usingClause2 = {
@@ -13002,13 +12992,13 @@ var usingClause2 = {
13002
12992
  CONSUME(usingClause);
13003
12993
  return OR([
13004
12994
  { ALT: () => {
13005
- const value = SUBRULE1(iri2);
12995
+ const value = SUBRULE1(iri2, void 0);
13006
12996
  return { value, type: "default" };
13007
12997
  } },
13008
12998
  {
13009
12999
  ALT: () => {
13010
13000
  CONSUME(graph_exports.named);
13011
- const value = SUBRULE2(iri2);
13001
+ const value = SUBRULE2(iri2, void 0);
13012
13002
  return { value, type: "named" };
13013
13003
  }
13014
13004
  }
@@ -13025,7 +13015,7 @@ var graphOrDefault = {
13025
13015
  {
13026
13016
  ALT: () => {
13027
13017
  OPTION(() => CONSUME(graph_exports.graph));
13028
- const name = SUBRULE(iri2);
13018
+ const name = SUBRULE(iri2, void 0);
13029
13019
  return {
13030
13020
  type: "graph",
13031
13021
  name
@@ -13038,14 +13028,14 @@ var graphRef = {
13038
13028
  name: "graphRef",
13039
13029
  impl: ({ SUBRULE, CONSUME }) => () => {
13040
13030
  CONSUME(graph_exports.graph);
13041
- return SUBRULE(iri2);
13031
+ return SUBRULE(iri2, void 0);
13042
13032
  }
13043
13033
  };
13044
13034
  var graphRefAll = {
13045
13035
  name: "graphRefAll",
13046
13036
  impl: ({ SUBRULE, CONSUME, OR }) => () => OR([
13047
13037
  { ALT: () => {
13048
- const name = SUBRULE(graphRef);
13038
+ const name = SUBRULE(graphRef, void 0);
13049
13039
  return { type: "graph", name };
13050
13040
  } },
13051
13041
  { ALT: () => {
@@ -13066,18 +13056,18 @@ var quadPattern = {
13066
13056
  name: "quadPattern",
13067
13057
  impl: ({ SUBRULE, CONSUME }) => () => {
13068
13058
  CONSUME(symbols_exports.LCurly);
13069
- const val = SUBRULE(quads);
13059
+ const val = SUBRULE(quads, void 0);
13070
13060
  CONSUME(symbols_exports.RCurly);
13071
13061
  return val;
13072
13062
  }
13073
13063
  };
13074
13064
  var quadData = {
13075
13065
  name: "quadData",
13076
- impl: ({ ACTION, SUBRULE, CONSUME, context }) => () => {
13066
+ impl: ({ ACTION, SUBRULE, CONSUME }) => (C) => {
13077
13067
  CONSUME(symbols_exports.LCurly);
13078
- const couldParseVars = ACTION(() => context.parseMode.delete(canParseVars));
13079
- const val = SUBRULE(quads);
13080
- 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"));
13081
13071
  CONSUME(symbols_exports.RCurly);
13082
13072
  return val;
13083
13073
  }
@@ -13087,17 +13077,17 @@ var quads = {
13087
13077
  impl: ({ SUBRULE, CONSUME, MANY, SUBRULE1, SUBRULE2, OPTION1, OPTION2, OPTION3 }) => () => {
13088
13078
  const quads2 = [];
13089
13079
  OPTION1(() => {
13090
- const triples = SUBRULE1(triplesTemplate);
13080
+ const triples = SUBRULE1(triplesTemplate, void 0);
13091
13081
  quads2.push({
13092
13082
  type: "bgp",
13093
13083
  triples
13094
13084
  });
13095
13085
  });
13096
13086
  MANY(() => {
13097
- quads2.push(SUBRULE(quadsNotTriples));
13087
+ quads2.push(SUBRULE(quadsNotTriples, void 0));
13098
13088
  OPTION2(() => CONSUME(symbols_exports.dot));
13099
13089
  OPTION3(() => {
13100
- const triples = SUBRULE2(triplesTemplate);
13090
+ const triples = SUBRULE2(triplesTemplate, void 0);
13101
13091
  quads2.push({
13102
13092
  type: "bgp",
13103
13093
  triples
@@ -13111,9 +13101,9 @@ var quadsNotTriples = {
13111
13101
  name: "quadsNotTriples",
13112
13102
  impl: ({ SUBRULE, CONSUME, OPTION }) => () => {
13113
13103
  CONSUME(graph_exports.graph);
13114
- const name = SUBRULE(varOrIri);
13104
+ const name = SUBRULE(varOrIri, void 0);
13115
13105
  CONSUME(symbols_exports.LCurly);
13116
- const triples = OPTION(() => SUBRULE(triplesTemplate)) ?? [];
13106
+ const triples = OPTION(() => SUBRULE(triplesTemplate, void 0)) ?? [];
13117
13107
  CONSUME(symbols_exports.RCurly);
13118
13108
  return {
13119
13109
  type: "graph",
@@ -13180,11 +13170,11 @@ function reifiedTripleBlockImpl(name, allowPath) {
13180
13170
  return {
13181
13171
  name,
13182
13172
  impl: ({ ACTION, SUBRULE }) => () => {
13183
- const triple = SUBRULE(reifiedTriple);
13184
- const properties = SUBRULE(allowPath ? grammar_exports.propertyListPath : grammar_exports.propertyList);
13173
+ const triple = SUBRULE(reifiedTriple, void 0);
13174
+ const properties = SUBRULE(allowPath ? grammar_exports.propertyListPath : grammar_exports.propertyList, { subject: triple.node });
13185
13175
  return ACTION(() => [
13186
13176
  ...triple.triples,
13187
- ...properties.map((partial) => partial({ subject: triple.node }))
13177
+ ...properties
13188
13178
  ]);
13189
13179
  }
13190
13180
  };
@@ -13193,38 +13183,38 @@ var reifiedTripleBlock = reifiedTripleBlockImpl("reifiedTripleBlock", false);
13193
13183
  var reifiedTripleBlockPath = reifiedTripleBlockImpl("reifiedTripleBlockPath", true);
13194
13184
  var dataBlockValue2 = {
13195
13185
  name: "dataBlockValue",
13196
- impl: ($) => () => $.OR2([
13197
- { ALT: () => grammar_exports.dataBlockValue.impl($)() },
13198
- { ALT: () => $.SUBRULE(tripleTermData) }
13186
+ impl: ($) => (C) => $.OR2([
13187
+ { ALT: () => grammar_exports.dataBlockValue.impl($)(C, void 0) },
13188
+ { ALT: () => $.SUBRULE(tripleTermData, void 0) }
13199
13189
  ])
13200
13190
  };
13201
13191
  var reifier = {
13202
13192
  name: "reifier",
13203
- impl: ({ ACTION, CONSUME, SUBRULE, OPTION, context }) => () => {
13193
+ impl: ({ ACTION, CONSUME, SUBRULE, OPTION }) => (C) => {
13204
13194
  CONSUME(tilde);
13205
- const reifier2 = OPTION(() => SUBRULE(varOrReifierId));
13195
+ const reifier2 = OPTION(() => SUBRULE(varOrReifierId, void 0));
13206
13196
  return ACTION(() => {
13207
- if (reifier2 === void 0 && !context.parseMode.has(grammar_exports.canCreateBlankNodes)) {
13197
+ if (reifier2 === void 0 && !C.parseMode.has("canCreateBlankNodes")) {
13208
13198
  throw new Error("Cannot create blanknodes in current parse mode");
13209
13199
  }
13210
- return reifier2 ?? context.dataFactory.blankNode();
13200
+ return reifier2 ?? C.dataFactory.blankNode();
13211
13201
  });
13212
13202
  }
13213
13203
  };
13214
13204
  var varOrReifierId = {
13215
13205
  name: "varOrReifierId",
13216
13206
  impl: ({ SUBRULE, OR }) => () => OR([
13217
- { ALT: () => SUBRULE(grammar_exports.var_) },
13218
- { ALT: () => SUBRULE(grammar_exports.iri) },
13219
- { 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) }
13220
13210
  ])
13221
13211
  };
13222
13212
  function triplesSameSubjectImpl2(name, allowPaths) {
13223
13213
  return {
13224
13214
  name,
13225
- impl: ($) => () => $.OR2([
13226
- { ALT: () => allowPaths ? grammar_exports.triplesSameSubjectPath.impl($)() : grammar_exports.triplesSameSubject.impl($)() },
13227
- { 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) }
13228
13218
  ])
13229
13219
  };
13230
13220
  }
@@ -13233,32 +13223,31 @@ var triplesSameSubjectPath2 = triplesSameSubjectImpl2("triplesSameSubjectPath",
13233
13223
  function objectImpl2(name, allowPaths) {
13234
13224
  return {
13235
13225
  name,
13236
- impl: ({ ACTION, SUBRULE, context }) => () => {
13237
- const objectVal = SUBRULE(allowPaths ? graphNodePath2 : graphNode2);
13238
- 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);
13239
13229
  return ACTION(() => {
13230
+ const { subject, predicate } = arg;
13231
+ if ("type" in predicate && predicate.type === "path" && annotationVal.length > 0) {
13232
+ throw new Error("Note 17 violation");
13233
+ }
13240
13234
  const result = [
13241
13235
  // You parse the object
13242
- ({ subject, predicate }) => ({ subject, predicate, object: objectVal.node }),
13236
+ { subject, predicate, object: objectVal.node },
13243
13237
  // You might get some additional triples from parsing the object (like when it's a collection)
13244
- ...objectVal.triples.map((triple) => () => triple)
13238
+ ...objectVal.triples
13245
13239
  ];
13246
13240
  for (const annotation2 of annotationVal) {
13247
- result.push(({ subject, predicate }) => {
13248
- if ("type" in predicate && predicate.type === "path") {
13249
- throw new Error("Note 17 violation");
13250
- }
13251
- return context.dataFactory.quad(
13252
- annotation2.node,
13253
- context.dataFactory.namedNode("http://www.w3.org/1999/02/22-rdf-syntax-ns#reifies" /* REIFIES */),
13254
- context.dataFactory.quad(
13255
- subject,
13256
- predicate,
13257
- objectVal.node
13258
- )
13259
- );
13260
- });
13261
- result.push(...annotation2.triples.map((triple) => () => triple));
13241
+ result.push(C.dataFactory.quad(
13242
+ annotation2.node,
13243
+ C.dataFactory.namedNode("http://www.w3.org/1999/02/22-rdf-syntax-ns#reifies" /* REIFIES */),
13244
+ C.dataFactory.quad(
13245
+ subject,
13246
+ predicate,
13247
+ objectVal.node
13248
+ )
13249
+ ));
13250
+ result.push(...annotation2.triples);
13262
13251
  }
13263
13252
  return result;
13264
13253
  });
@@ -13270,7 +13259,7 @@ var objectPath2 = objectImpl2("objectPath", true);
13270
13259
  function annotationImpl(name, allowPaths) {
13271
13260
  return {
13272
13261
  name,
13273
- impl: ({ ACTION, SUBRULE, OR, MANY, context }) => () => {
13262
+ impl: ({ ACTION, SUBRULE, OR, MANY }) => (C) => {
13274
13263
  const annotations = [];
13275
13264
  let currentReifier;
13276
13265
  function flush() {
@@ -13282,20 +13271,26 @@ function annotationImpl(name, allowPaths) {
13282
13271
  MANY(() => {
13283
13272
  OR([
13284
13273
  { ALT: () => {
13285
- const node = SUBRULE(reifier);
13274
+ const node = SUBRULE(reifier, void 0);
13286
13275
  ACTION(() => flush());
13287
13276
  currentReifier = node;
13288
13277
  } },
13289
13278
  { ALT: () => {
13290
- const block = SUBRULE(allowPaths ? annotationBlockPath : annotationBlock);
13279
+ let node;
13280
+ const block = SUBRULE(
13281
+ allowPaths ? annotationBlockPath : annotationBlock,
13282
+ { subject: ACTION(() => {
13283
+ if (currentReifier === void 0 && !C.parseMode.has("canCreateBlankNodes")) {
13284
+ throw new Error("Cannot create blanknodes in current parse mode");
13285
+ }
13286
+ node = currentReifier ?? C.dataFactory.blankNode();
13287
+ return node;
13288
+ }) }
13289
+ );
13291
13290
  ACTION(() => {
13292
- if (currentReifier === void 0 && !context.parseMode.has(grammar_exports.canCreateBlankNodes)) {
13293
- throw new Error("Cannot create blanknodes in current parse mode");
13294
- }
13295
- const node = currentReifier ?? context.dataFactory.blankNode();
13296
13291
  annotations.push({
13297
13292
  node,
13298
- triples: block.map((partial) => partial({ subject: node }))
13293
+ triples: block
13299
13294
  });
13300
13295
  currentReifier = void 0;
13301
13296
  });
@@ -13314,9 +13309,9 @@ var annotation = annotationImpl("annotation", false);
13314
13309
  function annotationBlockImpl(name, allowPaths) {
13315
13310
  return {
13316
13311
  name,
13317
- impl: ({ SUBRULE, CONSUME }) => () => {
13312
+ impl: ({ ACTION, SUBRULE, CONSUME }) => (_, arg) => {
13318
13313
  CONSUME(annotationOpen);
13319
- const res = SUBRULE(allowPaths ? grammar_exports.propertyListPathNotEmpty : grammar_exports.propertyListNotEmpty);
13314
+ const res = SUBRULE(allowPaths ? grammar_exports.propertyListPathNotEmpty : grammar_exports.propertyListNotEmpty, { subject: ACTION(() => arg.subject) });
13320
13315
  CONSUME(annotationClose);
13321
13316
  return res;
13322
13317
  }
@@ -13326,54 +13321,54 @@ var annotationBlockPath = annotationBlockImpl("annotationBlockPath", true);
13326
13321
  var annotationBlock = annotationBlockImpl("annotationBlock", false);
13327
13322
  var graphNode2 = {
13328
13323
  name: "graphNode",
13329
- impl: ($) => () => $.OR2([
13330
- { ALT: () => grammar_exports.graphNode.impl($)() },
13331
- { ALT: () => $.SUBRULE(reifiedTriple) }
13324
+ impl: ($) => (C) => $.OR2([
13325
+ { ALT: () => grammar_exports.graphNode.impl($)(C, void 0) },
13326
+ { ALT: () => $.SUBRULE(reifiedTriple, void 0) }
13332
13327
  ])
13333
13328
  };
13334
13329
  var graphNodePath2 = {
13335
13330
  name: "graphNodePath",
13336
- impl: ($) => () => $.OR2([
13337
- { ALT: () => grammar_exports.graphNodePath.impl($)() },
13338
- { ALT: () => $.SUBRULE(reifiedTriple) }
13331
+ impl: ($) => (C) => $.OR2([
13332
+ { ALT: () => grammar_exports.graphNodePath.impl($)(C, void 0) },
13333
+ { ALT: () => $.SUBRULE(reifiedTriple, void 0) }
13339
13334
  ])
13340
13335
  };
13341
13336
  var varOrTerm2 = {
13342
13337
  name: "varOrTerm",
13343
- impl: ({ SUBRULE, OR, CONSUME, context }) => () => OR([
13344
- { ALT: () => SUBRULE(grammar_exports.var_) },
13345
- { ALT: () => SUBRULE(grammar_exports.iri) },
13346
- { ALT: () => SUBRULE(rdfLiteral2) },
13347
- { ALT: () => SUBRULE(grammar_exports.numericLiteral) },
13348
- { ALT: () => SUBRULE(grammar_exports.booleanLiteral) },
13349
- { 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) },
13350
13345
  { ALT: () => {
13351
13346
  CONSUME(lexer_exports.terminals.nil);
13352
- 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 */));
13353
13348
  } },
13354
- { ALT: () => SUBRULE(tripleTerm) }
13349
+ { ALT: () => SUBRULE(tripleTerm, void 0) }
13355
13350
  ])
13356
13351
  };
13357
13352
  var reifiedTriple = {
13358
13353
  name: "reifiedTriple",
13359
- impl: ({ ACTION, CONSUME, SUBRULE, OPTION, context }) => () => {
13354
+ impl: ({ ACTION, CONSUME, SUBRULE, OPTION }) => (C) => {
13360
13355
  CONSUME(reificationOpen);
13361
- const subject = SUBRULE(reifiedTripleSubject);
13362
- const predicate = SUBRULE(grammar_exports.verb);
13363
- const object3 = SUBRULE(reifiedTripleObject);
13364
- 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));
13365
13360
  CONSUME(reificationClose);
13366
13361
  return ACTION(() => {
13367
- if (reifierVal === void 0 && !context.parseMode.has(grammar_exports.canCreateBlankNodes)) {
13362
+ if (reifierVal === void 0 && !C.parseMode.has("canCreateBlankNodes")) {
13368
13363
  throw new Error("Cannot create blanknodes in current parse mode");
13369
13364
  }
13370
- const reifier2 = reifierVal ?? context.dataFactory.blankNode();
13371
- 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);
13372
13367
  return {
13373
13368
  node: reifier2,
13374
13369
  triples: [
13375
13370
  ...subject.triples,
13376
- 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),
13377
13372
  ...object3.triples
13378
13373
  ]
13379
13374
  };
@@ -13383,117 +13378,117 @@ var reifiedTriple = {
13383
13378
  var reifiedTripleSubject = {
13384
13379
  name: "reifiedTripleSubject",
13385
13380
  impl: ({ OR, SUBRULE }) => () => OR([
13386
- { ALT: () => ({ node: SUBRULE(grammar_exports.var_), triples: [] }) },
13387
- { ALT: () => ({ node: SUBRULE(grammar_exports.iri), triples: [] }) },
13388
- { ALT: () => ({ node: SUBRULE(rdfLiteral2), triples: [] }) },
13389
- { ALT: () => ({ node: SUBRULE(grammar_exports.numericLiteral), triples: [] }) },
13390
- { ALT: () => ({ node: SUBRULE(grammar_exports.booleanLiteral), triples: [] }) },
13391
- { ALT: () => ({ node: SUBRULE(grammar_exports.blankNode), triples: [] }) },
13392
- { 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) }
13393
13388
  ])
13394
13389
  };
13395
13390
  var reifiedTripleObject = {
13396
13391
  name: "reifiedTripleObject",
13397
- impl: ($) => () => $.OR2([
13398
- { ALT: () => reifiedTripleSubject.impl($)() },
13399
- { ALT: () => ({ node: $.SUBRULE(tripleTerm), triples: [] }) }
13392
+ impl: ($) => (C) => $.OR2([
13393
+ { ALT: () => reifiedTripleSubject.impl($)(C, void 0) },
13394
+ { ALT: () => ({ node: $.SUBRULE(tripleTerm, void 0), triples: [] }) }
13400
13395
  ])
13401
13396
  };
13402
13397
  var tripleTerm = {
13403
13398
  name: "tripleTerm",
13404
- impl: ({ CONSUME, SUBRULE, context }) => () => {
13399
+ impl: ({ ACTION, CONSUME, SUBRULE }) => (C) => {
13405
13400
  CONSUME(tripleTermOpen);
13406
- const subject = SUBRULE(tripleTermSubject);
13407
- const predicate = SUBRULE(grammar_exports.verb);
13408
- 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);
13409
13404
  CONSUME(tripleTermClose);
13410
- return context.dataFactory.quad(subject, predicate, object3);
13405
+ return ACTION(() => C.dataFactory.quad(subject, predicate, object3));
13411
13406
  }
13412
13407
  };
13413
13408
  var tripleTermSubject = {
13414
13409
  name: "tripleTermSubject",
13415
13410
  impl: ({ SUBRULE, OR }) => () => OR([
13416
- { ALT: () => SUBRULE(grammar_exports.var_) },
13417
- { ALT: () => SUBRULE(grammar_exports.iri) },
13418
- { ALT: () => SUBRULE(rdfLiteral2) },
13419
- { ALT: () => SUBRULE(grammar_exports.numericLiteral) },
13420
- { ALT: () => SUBRULE(grammar_exports.booleanLiteral) },
13421
- { 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) }
13422
13417
  ])
13423
13418
  };
13424
13419
  var tripleTermObject = {
13425
13420
  name: "tripleTermObject",
13426
- impl: ($) => () => $.OR2([
13427
- { ALT: () => tripleTermSubject.impl($)() },
13428
- { ALT: () => $.SUBRULE(tripleTerm) }
13421
+ impl: ($) => (C) => $.OR2([
13422
+ { ALT: () => tripleTermSubject.impl($)(C, void 0) },
13423
+ { ALT: () => $.SUBRULE(tripleTerm, void 0) }
13429
13424
  ])
13430
13425
  };
13431
13426
  var tripleTermData = {
13432
13427
  name: "tripleTermData",
13433
- impl: ({ ACTION, CONSUME, OR, SUBRULE, context }) => () => {
13428
+ impl: ({ ACTION, CONSUME, OR, SUBRULE }) => (C) => {
13434
13429
  CONSUME(tripleTermOpen);
13435
- const subject = SUBRULE(tripleTermDataSubject);
13430
+ const subject = SUBRULE(tripleTermDataSubject, void 0);
13436
13431
  const predicate = OR([
13437
- { ALT: () => SUBRULE(grammar_exports.iri) },
13432
+ { ALT: () => SUBRULE(grammar_exports.iri, void 0) },
13438
13433
  { ALT: () => {
13439
13434
  CONSUME(lexer_exports.a);
13440
- 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 */));
13441
13436
  } }
13442
13437
  ]);
13443
- const object3 = SUBRULE(tripleTermDataObject);
13438
+ const object3 = SUBRULE(tripleTermDataObject, void 0);
13444
13439
  CONSUME(tripleTermClose);
13445
- return ACTION(() => context.dataFactory.quad(subject, predicate, object3));
13440
+ return ACTION(() => C.dataFactory.quad(subject, predicate, object3));
13446
13441
  }
13447
13442
  };
13448
13443
  var tripleTermDataSubject = {
13449
13444
  name: "tripleTermDataSubject",
13450
13445
  impl: ({ OR, SUBRULE }) => () => OR([
13451
- { ALT: () => SUBRULE(grammar_exports.iri) },
13452
- { ALT: () => SUBRULE(rdfLiteral2) },
13453
- { ALT: () => SUBRULE(grammar_exports.numericLiteral) },
13454
- { 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) }
13455
13450
  ])
13456
13451
  };
13457
13452
  var tripleTermDataObject = {
13458
13453
  name: "tripleTermDataObject",
13459
- impl: ($) => () => $.OR2([
13460
- { ALT: () => tripleTermDataSubject.impl($)() },
13461
- { ALT: () => $.SUBRULE(tripleTermData) }
13454
+ impl: ($) => (C) => $.OR2([
13455
+ { ALT: () => tripleTermDataSubject.impl($)(C, void 0) },
13456
+ { ALT: () => $.SUBRULE(tripleTermData, void 0) }
13462
13457
  ])
13463
13458
  };
13464
13459
  var primaryExpression2 = {
13465
13460
  name: "primaryExpression",
13466
- impl: ($) => () => $.OR2([
13467
- { ALT: () => grammar_exports.primaryExpression.impl($)() },
13468
- { ALT: () => $.SUBRULE(exprTripleTerm) }
13461
+ impl: ($) => (C) => $.OR2([
13462
+ { ALT: () => grammar_exports.primaryExpression.impl($)(C, void 0) },
13463
+ { ALT: () => $.SUBRULE(exprTripleTerm, void 0) }
13469
13464
  ])
13470
13465
  };
13471
13466
  var exprTripleTerm = {
13472
13467
  name: "exprTripleTerm",
13473
- impl: ({ ACTION, CONSUME, SUBRULE, context }) => () => {
13468
+ impl: ({ ACTION, CONSUME, SUBRULE }) => (C) => {
13474
13469
  CONSUME(tripleTermOpen);
13475
- const subject = SUBRULE(exprTripleTermSubject);
13476
- const predicate = SUBRULE(grammar_exports.verb);
13477
- 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);
13478
13473
  CONSUME(tripleTermClose);
13479
- return ACTION(() => context.dataFactory.quad(subject, predicate, object3));
13474
+ return ACTION(() => C.dataFactory.quad(subject, predicate, object3));
13480
13475
  }
13481
13476
  };
13482
13477
  var exprTripleTermSubject = {
13483
13478
  name: "exprTripleTermSubject",
13484
13479
  impl: ({ OR, SUBRULE }) => () => OR([
13485
- { ALT: () => SUBRULE(grammar_exports.iri) },
13486
- { ALT: () => SUBRULE(rdfLiteral2) },
13487
- { ALT: () => SUBRULE(grammar_exports.numericLiteral) },
13488
- { ALT: () => SUBRULE(grammar_exports.booleanLiteral) },
13489
- { 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) }
13490
13485
  ])
13491
13486
  };
13492
13487
  var exprTripleTermObject = {
13493
13488
  name: "exprTripleTermObject",
13494
- impl: ($) => () => $.OR2([
13495
- { ALT: () => exprTripleTermSubject.impl($)() },
13496
- { ALT: () => $.SUBRULE(exprTripleTerm) }
13489
+ impl: ($) => (C) => $.OR2([
13490
+ { ALT: () => exprTripleTermSubject.impl($)(C, void 0) },
13491
+ { ALT: () => $.SUBRULE(exprTripleTerm, void 0) }
13497
13492
  ])
13498
13493
  };
13499
13494
  var builtinLangDir2 = funcExpr1(builtinLangDir);
@@ -13507,17 +13502,17 @@ var builtinPredicate = funcExpr1(builtinPREDICATE);
13507
13502
  var builtinObject = funcExpr1(builtinOBJECT);
13508
13503
  var builtInCall2 = {
13509
13504
  name: "builtInCall",
13510
- impl: ($) => () => $.OR2([
13511
- { ALT: () => grammar_exports.builtInCall.impl($)() },
13512
- { ALT: () => $.SUBRULE(builtinLangDir2) },
13513
- { ALT: () => $.SUBRULE(builtinLangStrDir) },
13514
- { ALT: () => $.SUBRULE(builtinHasLang2) },
13515
- { ALT: () => $.SUBRULE(builtinHasLangDir2) },
13516
- { ALT: () => $.SUBRULE(builtinIsTriple) },
13517
- { ALT: () => $.SUBRULE(builtinTriple) },
13518
- { ALT: () => $.SUBRULE(builtinSubject) },
13519
- { ALT: () => $.SUBRULE(builtinPredicate) },
13520
- { 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) }
13521
13516
  ])
13522
13517
  };
13523
13518
  function isLangDir(dir) {
@@ -13525,8 +13520,8 @@ function isLangDir(dir) {
13525
13520
  }
13526
13521
  var rdfLiteral2 = {
13527
13522
  name: "rdfLiteral",
13528
- impl: ({ ACTION, SUBRULE, OPTION, CONSUME, OR, context }) => () => {
13529
- const value = SUBRULE(grammar_exports.string);
13523
+ impl: ({ ACTION, SUBRULE, OPTION, CONSUME, OR }) => (C) => {
13524
+ const value = SUBRULE(grammar_exports.string, void 0);
13530
13525
  const langOrDataType = OPTION(() => OR([
13531
13526
  { ALT: () => {
13532
13527
  const langTag2 = CONSUME(LANG_DIR).image.slice(1);
@@ -13547,10 +13542,10 @@ var rdfLiteral2 = {
13547
13542
  } },
13548
13543
  { ALT: () => {
13549
13544
  CONSUME(lexer_exports.symbols.hathat);
13550
- return SUBRULE(grammar_exports.iri);
13545
+ return SUBRULE(grammar_exports.iri, void 0);
13551
13546
  } }
13552
13547
  ]));
13553
- return context.dataFactory.literal(value, langOrDataType);
13548
+ return ACTION(() => C.dataFactory.literal(value, langOrDataType));
13554
13549
  }
13555
13550
  };
13556
13551
  /*! Bundled license information: