@traqula/rules-sparql-1-2 0.0.2 → 0.0.4
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/README.md +0 -2
- package/lib/grammar.d.ts +30 -30
- package/lib/grammar.js +128 -135
- package/lib/grammar.js.map +1 -1
- package/lib/index.cjs +1563 -1560
- package/lib/lexer.d.ts +1 -1
- package/lib/sparql12HelperTypes.d.ts +3 -3
- package/lib/sparql12HelperTypes.js.map +1 -1
- package/lib/sparql12Types.d.ts +2 -2
- package/lib/sparql12Types.js.map +1 -1
- package/lib/validator.d.ts +1 -1
- package/lib/validator.js +1 -1
- package/lib/validator.js.map +1 -1
- package/package.json +4 -4
package/lib/index.cjs
CHANGED
|
@@ -11441,7 +11441,7 @@ function stringEscapedLexical(str2) {
|
|
|
11441
11441
|
var rdfLiteral = {
|
|
11442
11442
|
name: "rdfLiteral",
|
|
11443
11443
|
impl: ({ ACTION, SUBRULE1, CONSUME, OPTION, OR }) => (C) => {
|
|
11444
|
-
const value = SUBRULE1(string
|
|
11444
|
+
const value = SUBRULE1(string);
|
|
11445
11445
|
return OPTION(() => OR([
|
|
11446
11446
|
{ ALT: () => {
|
|
11447
11447
|
const lang2 = CONSUME(terminals_exports.langTag);
|
|
@@ -11453,7 +11453,7 @@ var rdfLiteral = {
|
|
|
11453
11453
|
} },
|
|
11454
11454
|
{ ALT: () => {
|
|
11455
11455
|
CONSUME(symbols_exports.hathat);
|
|
11456
|
-
const iriVal = SUBRULE1(iri2
|
|
11456
|
+
const iriVal = SUBRULE1(iri2);
|
|
11457
11457
|
return ACTION(() => C.factory.literalTerm(
|
|
11458
11458
|
C.factory.sourceLocation(value, iriVal),
|
|
11459
11459
|
value.value,
|
|
@@ -11469,7 +11469,7 @@ var rdfLiteral = {
|
|
|
11469
11469
|
factory.printFilter(ast, () => PRINT("@", ast.langOrIri));
|
|
11470
11470
|
} else {
|
|
11471
11471
|
factory.printFilter(ast, () => PRINT("^^"));
|
|
11472
|
-
SUBRULE(iri2, ast.langOrIri
|
|
11472
|
+
SUBRULE(iri2, ast.langOrIri);
|
|
11473
11473
|
}
|
|
11474
11474
|
}
|
|
11475
11475
|
}
|
|
@@ -11477,9 +11477,9 @@ var rdfLiteral = {
|
|
|
11477
11477
|
var numericLiteral = {
|
|
11478
11478
|
name: "numericLiteral",
|
|
11479
11479
|
impl: ({ SUBRULE, OR }) => () => OR([
|
|
11480
|
-
{ ALT: () => SUBRULE(numericLiteralUnsigned
|
|
11481
|
-
{ ALT: () => SUBRULE(numericLiteralPositive
|
|
11482
|
-
{ ALT: () => SUBRULE(numericLiteralNegative
|
|
11480
|
+
{ ALT: () => SUBRULE(numericLiteralUnsigned) },
|
|
11481
|
+
{ ALT: () => SUBRULE(numericLiteralPositive) },
|
|
11482
|
+
{ ALT: () => SUBRULE(numericLiteralNegative) }
|
|
11483
11483
|
])
|
|
11484
11484
|
};
|
|
11485
11485
|
var numericLiteralUnsigned = {
|
|
@@ -11587,10 +11587,10 @@ var string = {
|
|
|
11587
11587
|
var iri2 = {
|
|
11588
11588
|
name: "iri",
|
|
11589
11589
|
impl: ({ SUBRULE, OR }) => () => OR([
|
|
11590
|
-
{ ALT: () => SUBRULE(iriFull
|
|
11591
|
-
{ ALT: () => SUBRULE(prefixedName
|
|
11590
|
+
{ ALT: () => SUBRULE(iriFull) },
|
|
11591
|
+
{ ALT: () => SUBRULE(prefixedName) }
|
|
11592
11592
|
]),
|
|
11593
|
-
gImpl: ({ SUBRULE }) => (ast, { factory: F3 }) => F3.isTermNamedPrefixed(ast) ? SUBRULE(prefixedName, ast
|
|
11593
|
+
gImpl: ({ SUBRULE }) => (ast, { factory: F3 }) => F3.isTermNamedPrefixed(ast) ? SUBRULE(prefixedName, ast) : SUBRULE(iriFull, ast)
|
|
11594
11594
|
};
|
|
11595
11595
|
var iriFull = {
|
|
11596
11596
|
name: "iriFull",
|
|
@@ -11662,11 +11662,11 @@ function datasetClauseUsing(name, token) {
|
|
|
11662
11662
|
const start = CONSUME(token);
|
|
11663
11663
|
return OR([
|
|
11664
11664
|
{ ALT: () => {
|
|
11665
|
-
const iri3 = SUBRULE(defaultGraphClause
|
|
11665
|
+
const iri3 = SUBRULE(defaultGraphClause);
|
|
11666
11666
|
return ACTION(() => C.factory.wrap({ clauseType: "default", value: iri3 }, C.factory.sourceLocation(start, iri3)));
|
|
11667
11667
|
} },
|
|
11668
11668
|
{ ALT: () => {
|
|
11669
|
-
const namedClause = SUBRULE(namedGraphClause
|
|
11669
|
+
const namedClause = SUBRULE(namedGraphClause);
|
|
11670
11670
|
return ACTION(() => C.factory.wrap({
|
|
11671
11671
|
clauseType: "named",
|
|
11672
11672
|
value: namedClause.val
|
|
@@ -11679,7 +11679,7 @@ function datasetClauseUsing(name, token) {
|
|
|
11679
11679
|
var datasetClause = datasetClauseUsing("datasetClause", from);
|
|
11680
11680
|
var defaultGraphClause = {
|
|
11681
11681
|
name: "defaultGraphClause",
|
|
11682
|
-
impl: ({ SUBRULE }) => () => SUBRULE(sourceSelector
|
|
11682
|
+
impl: ({ SUBRULE }) => () => SUBRULE(sourceSelector)
|
|
11683
11683
|
};
|
|
11684
11684
|
var usingClause2 = datasetClauseUsing("usingClause", usingClause);
|
|
11685
11685
|
function datasetClauseUsingStar(name, subRule, fromUsing) {
|
|
@@ -11688,7 +11688,7 @@ function datasetClauseUsingStar(name, subRule, fromUsing) {
|
|
|
11688
11688
|
impl: ({ ACTION, MANY, SUBRULE }) => (C) => {
|
|
11689
11689
|
const clauses = [];
|
|
11690
11690
|
MANY(() => {
|
|
11691
|
-
const clause = SUBRULE(subRule
|
|
11691
|
+
const clause = SUBRULE(subRule);
|
|
11692
11692
|
clauses.push(clause);
|
|
11693
11693
|
});
|
|
11694
11694
|
return ACTION(() => C.factory.datasetClauses(
|
|
@@ -11702,7 +11702,7 @@ function datasetClauseUsingStar(name, subRule, fromUsing) {
|
|
|
11702
11702
|
if (clause.clauseType === "named") {
|
|
11703
11703
|
F3.printFilter(ast, () => PRINT_WORD("NAMED"));
|
|
11704
11704
|
}
|
|
11705
|
-
SUBRULE(iri2, clause.value
|
|
11705
|
+
SUBRULE(iri2, clause.value);
|
|
11706
11706
|
}
|
|
11707
11707
|
}
|
|
11708
11708
|
};
|
|
@@ -11713,1389 +11713,1390 @@ var namedGraphClause = {
|
|
|
11713
11713
|
name: "namedGraphClause",
|
|
11714
11714
|
impl: ({ ACTION, SUBRULE, CONSUME }) => (C) => {
|
|
11715
11715
|
const named2 = CONSUME(graph_exports.named);
|
|
11716
|
-
const iri3 = SUBRULE(sourceSelector
|
|
11716
|
+
const iri3 = SUBRULE(sourceSelector);
|
|
11717
11717
|
return ACTION(() => C.factory.wrap(iri3, C.factory.sourceLocation(named2, iri3)));
|
|
11718
11718
|
}
|
|
11719
11719
|
};
|
|
11720
11720
|
var sourceSelector = {
|
|
11721
11721
|
name: "sourceSelector",
|
|
11722
|
-
impl: ({ SUBRULE }) => () => SUBRULE(iri2
|
|
11722
|
+
impl: ({ SUBRULE }) => () => SUBRULE(iri2)
|
|
11723
11723
|
};
|
|
11724
11724
|
|
|
11725
|
-
// ../rules-sparql-1-1/lib/
|
|
11726
|
-
|
|
11727
|
-
name: "prologue",
|
|
11728
|
-
impl: ({ SUBRULE, MANY, OR }) => () => {
|
|
11729
|
-
const result = [];
|
|
11730
|
-
MANY(() => OR([
|
|
11731
|
-
{ ALT: () => result.push(SUBRULE(baseDecl2, void 0)) },
|
|
11732
|
-
// TODO: the [spec](https://www.w3.org/TR/sparql11-query/#iriRefs) says you cannot redefine prefixes.
|
|
11733
|
-
// We might need to check this.
|
|
11734
|
-
{ ALT: () => result.push(SUBRULE(prefixDecl2, void 0)) }
|
|
11735
|
-
]));
|
|
11736
|
-
return result;
|
|
11737
|
-
},
|
|
11738
|
-
gImpl: ({ SUBRULE }) => (ast, { factory: F3 }) => {
|
|
11739
|
-
for (const context of ast) {
|
|
11740
|
-
if (F3.isContextDefinitionBase(context)) {
|
|
11741
|
-
SUBRULE(baseDecl2, context, void 0);
|
|
11742
|
-
} else if (F3.isContextDefinitionPrefix(context)) {
|
|
11743
|
-
SUBRULE(prefixDecl2, context, void 0);
|
|
11744
|
-
}
|
|
11745
|
-
}
|
|
11746
|
-
}
|
|
11747
|
-
};
|
|
11748
|
-
var baseDecl2 = {
|
|
11749
|
-
name: "baseDecl",
|
|
11750
|
-
impl: ({ ACTION, CONSUME, SUBRULE }) => (C) => {
|
|
11751
|
-
const base = CONSUME(baseDecl);
|
|
11752
|
-
const val = SUBRULE(iriFull, void 0);
|
|
11753
|
-
return ACTION(() => C.factory.contextDefinitionBase(C.factory.sourceLocation(base, val), val));
|
|
11754
|
-
},
|
|
11755
|
-
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { factory: F3 }) => {
|
|
11756
|
-
F3.printFilter(ast, () => PRINT_WORD("BASE"));
|
|
11757
|
-
SUBRULE(iri2, ast.value, void 0);
|
|
11758
|
-
}
|
|
11759
|
-
};
|
|
11760
|
-
var prefixDecl2 = {
|
|
11761
|
-
name: "prefixDecl",
|
|
11762
|
-
impl: ({ ACTION, CONSUME, SUBRULE }) => (C) => {
|
|
11763
|
-
const prefix = CONSUME(prefixDecl);
|
|
11764
|
-
const name = CONSUME(terminals_exports.pNameNs).image.slice(0, -1);
|
|
11765
|
-
const value = SUBRULE(iriFull, void 0);
|
|
11766
|
-
return ACTION(() => C.factory.contextDefinitionPrefix(C.factory.sourceLocation(prefix, value), name, value));
|
|
11767
|
-
},
|
|
11768
|
-
gImpl: ({ SUBRULE, PRINT_WORDS }) => (ast, { factory: F3 }) => {
|
|
11769
|
-
F3.printFilter(ast, () => {
|
|
11770
|
-
PRINT_WORDS("PREFIX", `${ast.key}:`);
|
|
11771
|
-
});
|
|
11772
|
-
SUBRULE(iri2, ast.value, void 0);
|
|
11773
|
-
}
|
|
11774
|
-
};
|
|
11775
|
-
var verb = {
|
|
11776
|
-
name: "verb",
|
|
11777
|
-
impl: ({ SUBRULE, OR }) => () => OR([
|
|
11778
|
-
{ ALT: () => SUBRULE(varOrIri, void 0) },
|
|
11779
|
-
{ ALT: () => SUBRULE(verbA, void 0) }
|
|
11780
|
-
])
|
|
11781
|
-
};
|
|
11782
|
-
var varOrTerm = {
|
|
11783
|
-
name: "varOrTerm",
|
|
11784
|
-
impl: ({ SUBRULE, OR }) => (C) => OR([
|
|
11785
|
-
{ GATE: () => C.parseMode.has("canParseVars"), ALT: () => SUBRULE(var_, void 0) },
|
|
11786
|
-
{ ALT: () => SUBRULE(graphTerm, void 0) }
|
|
11787
|
-
]),
|
|
11788
|
-
gImpl: ({ SUBRULE }) => (ast, { factory: F3 }) => {
|
|
11789
|
-
if (F3.isTermVariable(ast)) {
|
|
11790
|
-
return SUBRULE(var_, ast, void 0);
|
|
11791
|
-
}
|
|
11792
|
-
return SUBRULE(graphTerm, ast, void 0);
|
|
11793
|
-
}
|
|
11794
|
-
};
|
|
11795
|
-
var varOrIri = {
|
|
11796
|
-
name: "varOrIri",
|
|
11797
|
-
impl: ({ SUBRULE, OR }) => (C) => OR([
|
|
11798
|
-
{ GATE: () => C.parseMode.has("canParseVars"), ALT: () => SUBRULE(var_, void 0) },
|
|
11799
|
-
{ ALT: () => SUBRULE(iri2, void 0) }
|
|
11800
|
-
])
|
|
11801
|
-
};
|
|
11802
|
-
var var_ = {
|
|
11803
|
-
name: "var",
|
|
11804
|
-
impl: ({ ACTION, CONSUME, OR }) => (C) => {
|
|
11805
|
-
const varToken = OR([
|
|
11806
|
-
{ ALT: () => CONSUME(terminals_exports.var1) },
|
|
11807
|
-
{ ALT: () => CONSUME(terminals_exports.var2) }
|
|
11808
|
-
]);
|
|
11809
|
-
return ACTION(() => C.factory.variable(varToken.image.slice(1), C.factory.sourceLocation(varToken)));
|
|
11810
|
-
},
|
|
11811
|
-
gImpl: ({ PRINT_WORD }) => (ast, { factory: F3 }) => {
|
|
11812
|
-
F3.printFilter(ast, () => PRINT_WORD(`?${ast.value}`));
|
|
11813
|
-
}
|
|
11814
|
-
};
|
|
11815
|
-
var graphTerm = {
|
|
11816
|
-
name: "graphTerm",
|
|
11817
|
-
impl: ({ ACTION, SUBRULE, CONSUME, OR }) => (C) => OR([
|
|
11818
|
-
{ ALT: () => SUBRULE(iri2, void 0) },
|
|
11819
|
-
{ ALT: () => SUBRULE(rdfLiteral, void 0) },
|
|
11820
|
-
{ ALT: () => SUBRULE(numericLiteral, void 0) },
|
|
11821
|
-
{ ALT: () => SUBRULE(booleanLiteral, void 0) },
|
|
11822
|
-
{ GATE: () => C.parseMode.has("canCreateBlankNodes"), ALT: () => SUBRULE(blankNode, void 0) },
|
|
11823
|
-
{ ALT: () => {
|
|
11824
|
-
const tokenNil = CONSUME(terminals_exports.nil);
|
|
11825
|
-
return ACTION(() => C.factory.namedNode(C.factory.sourceLocation(tokenNil), "http://www.w3.org/1999/02/22-rdf-syntax-ns#nil" /* NIL */));
|
|
11826
|
-
} }
|
|
11827
|
-
]),
|
|
11828
|
-
gImpl: ({ SUBRULE }) => (ast, { factory: F3 }) => {
|
|
11829
|
-
if (F3.isTermNamed(ast)) {
|
|
11830
|
-
SUBRULE(iri2, ast, void 0);
|
|
11831
|
-
} else if (F3.isTermLiteral(ast)) {
|
|
11832
|
-
SUBRULE(rdfLiteral, ast, void 0);
|
|
11833
|
-
} else if (F3.isTermBlank(ast)) {
|
|
11834
|
-
SUBRULE(blankNode, ast, void 0);
|
|
11835
|
-
}
|
|
11836
|
-
}
|
|
11837
|
-
};
|
|
11838
|
-
|
|
11839
|
-
// ../rules-sparql-1-1/lib/grammar/propertyPaths.ts
|
|
11840
|
-
var path = {
|
|
11841
|
-
name: "path",
|
|
11842
|
-
impl: ({ SUBRULE }) => () => SUBRULE(pathAlternative, void 0)
|
|
11843
|
-
};
|
|
11844
|
-
var pathGenerator = {
|
|
11845
|
-
name: "path",
|
|
11846
|
-
gImpl: ({ PRINT, SUBRULE }) => (ast, { factory: F3 }, braces = true) => {
|
|
11847
|
-
if (F3.isTerm(ast) && F3.isTermNamed(ast)) {
|
|
11848
|
-
SUBRULE(iri2, ast, void 0);
|
|
11849
|
-
} else {
|
|
11850
|
-
F3.printFilter(ast, () => braces && PRINT("("));
|
|
11851
|
-
switch (ast.subType) {
|
|
11852
|
-
case "|":
|
|
11853
|
-
case "/": {
|
|
11854
|
-
const [head2, ...tail] = ast.items;
|
|
11855
|
-
SUBRULE(pathGenerator, head2, braces);
|
|
11856
|
-
for (const val of tail) {
|
|
11857
|
-
F3.printFilter(ast, () => PRINT(ast.subType));
|
|
11858
|
-
SUBRULE(pathGenerator, val, braces);
|
|
11859
|
-
}
|
|
11860
|
-
break;
|
|
11861
|
-
}
|
|
11862
|
-
case "^":
|
|
11863
|
-
F3.printFilter(ast, () => PRINT("^"));
|
|
11864
|
-
SUBRULE(pathGenerator, ast.items[0], braces);
|
|
11865
|
-
break;
|
|
11866
|
-
case "?":
|
|
11867
|
-
case "*":
|
|
11868
|
-
case "+":
|
|
11869
|
-
SUBRULE(pathGenerator, ast.items[0], braces);
|
|
11870
|
-
F3.printFilter(ast, () => PRINT(ast.subType));
|
|
11871
|
-
break;
|
|
11872
|
-
case "!":
|
|
11873
|
-
F3.printFilter(ast, () => PRINT("!"));
|
|
11874
|
-
F3.printFilter(ast, () => PRINT("("));
|
|
11875
|
-
SUBRULE(pathGenerator, ast.items[0], false);
|
|
11876
|
-
F3.printFilter(ast, () => PRINT(")"));
|
|
11877
|
-
break;
|
|
11878
|
-
}
|
|
11879
|
-
F3.printFilter(ast, () => braces && PRINT(")"));
|
|
11880
|
-
}
|
|
11881
|
-
}
|
|
11882
|
-
};
|
|
11883
|
-
function pathChainHelper(name, SEP, subType, subRule) {
|
|
11725
|
+
// ../rules-sparql-1-1/lib/expressionHelpers.ts
|
|
11726
|
+
function funcExpr1(func) {
|
|
11884
11727
|
return {
|
|
11885
|
-
name,
|
|
11886
|
-
impl: ({ ACTION,
|
|
11887
|
-
const
|
|
11888
|
-
|
|
11889
|
-
const
|
|
11890
|
-
|
|
11891
|
-
|
|
11892
|
-
tailEnd = SUBRULE2(subRule, void 0);
|
|
11893
|
-
tail.push(tailEnd);
|
|
11894
|
-
});
|
|
11895
|
-
return ACTION(() => tail.length === 0 ? head2 : C.factory.path(subType, [head2, ...tail], C.factory.sourceLocation(head2, tailEnd)));
|
|
11728
|
+
name: unCapitalize(func.name),
|
|
11729
|
+
impl: ({ ACTION, SUBRULE, CONSUME }) => (C) => {
|
|
11730
|
+
const operator = CONSUME(func);
|
|
11731
|
+
CONSUME(symbols_exports.LParen);
|
|
11732
|
+
const arg = SUBRULE(expression);
|
|
11733
|
+
const close = CONSUME(symbols_exports.RParen);
|
|
11734
|
+
return ACTION(() => C.factory.expressionOperation(operator.image, [arg], C.factory.sourceLocation(operator, close)));
|
|
11896
11735
|
}
|
|
11897
11736
|
};
|
|
11898
11737
|
}
|
|
11899
|
-
|
|
11900
|
-
|
|
11901
|
-
|
|
11902
|
-
|
|
11903
|
-
|
|
11904
|
-
const hat2 = CONSUME(symbols_exports.hat);
|
|
11905
|
-
const item = SUBRULE2(pathElt, void 0);
|
|
11906
|
-
return ACTION(() => C.factory.path("^", [item], C.factory.sourceLocation(hat2, item)));
|
|
11907
|
-
} }
|
|
11908
|
-
])
|
|
11909
|
-
};
|
|
11910
|
-
var pathSequence = pathChainHelper("pathSequence", symbols_exports.slash, "/", pathEltOrInverse);
|
|
11911
|
-
var pathAlternative = pathChainHelper("pathAlternative", symbols_exports.pipe, "|", pathSequence);
|
|
11912
|
-
var pathElt = {
|
|
11913
|
-
name: "pathElt",
|
|
11914
|
-
impl: ({ ACTION, SUBRULE, OPTION }) => (C) => {
|
|
11915
|
-
const item = SUBRULE(pathPrimary, void 0);
|
|
11916
|
-
const modification = OPTION(() => SUBRULE(pathMod, void 0));
|
|
11917
|
-
return ACTION(() => modification === void 0 ? item : C.factory.path(modification.image, [item], C.factory.sourceLocation(item, modification)));
|
|
11918
|
-
}
|
|
11919
|
-
};
|
|
11920
|
-
var pathMod = {
|
|
11921
|
-
name: "pathMod",
|
|
11922
|
-
impl: ({ CONSUME, OR }) => () => OR([
|
|
11923
|
-
{ ALT: () => CONSUME(symbols_exports.question) },
|
|
11924
|
-
{ ALT: () => CONSUME(symbols_exports.star) },
|
|
11925
|
-
{ ALT: () => CONSUME(symbols_exports.opPlus) }
|
|
11926
|
-
])
|
|
11927
|
-
};
|
|
11928
|
-
var pathPrimary = {
|
|
11929
|
-
name: "pathPrimary",
|
|
11930
|
-
impl: ({ SUBRULE, CONSUME, OR }) => () => OR([
|
|
11931
|
-
{ ALT: () => SUBRULE(iri2, void 0) },
|
|
11932
|
-
{ ALT: () => SUBRULE(verbA, void 0) },
|
|
11933
|
-
{ ALT: () => SUBRULE(pathNegatedPropertySet, void 0) },
|
|
11934
|
-
{ ALT: () => {
|
|
11738
|
+
function funcExpr2(func) {
|
|
11739
|
+
return {
|
|
11740
|
+
name: unCapitalize(func.name),
|
|
11741
|
+
impl: ({ ACTION, CONSUME, SUBRULE1, SUBRULE2 }) => (C) => {
|
|
11742
|
+
const operator = CONSUME(func);
|
|
11935
11743
|
CONSUME(symbols_exports.LParen);
|
|
11936
|
-
const
|
|
11937
|
-
CONSUME(symbols_exports.
|
|
11938
|
-
|
|
11939
|
-
|
|
11940
|
-
|
|
11941
|
-
};
|
|
11942
|
-
var pathNegatedPropertySet = {
|
|
11943
|
-
name: "pathNegatedPropertySet",
|
|
11944
|
-
impl: ({ ACTION, CONSUME, SUBRULE1, SUBRULE2, SUBRULE3, OR, MANY }) => (C) => {
|
|
11945
|
-
const exclamation2 = CONSUME(symbols_exports.exclamation);
|
|
11946
|
-
return OR([
|
|
11947
|
-
{ ALT: () => {
|
|
11948
|
-
const noAlternative = SUBRULE1(pathOneInPropertySet, void 0);
|
|
11949
|
-
return ACTION(() => C.factory.path("!", [noAlternative], C.factory.sourceLocation(exclamation2, noAlternative)));
|
|
11950
|
-
} },
|
|
11951
|
-
{ ALT: () => {
|
|
11952
|
-
const open = CONSUME(symbols_exports.LParen);
|
|
11953
|
-
const head2 = SUBRULE2(pathOneInPropertySet, void 0);
|
|
11954
|
-
const tail = [];
|
|
11955
|
-
MANY(() => {
|
|
11956
|
-
CONSUME(symbols_exports.pipe);
|
|
11957
|
-
const item = SUBRULE3(pathOneInPropertySet, void 0);
|
|
11958
|
-
tail.push(item);
|
|
11959
|
-
});
|
|
11960
|
-
const close = CONSUME(symbols_exports.RParen);
|
|
11961
|
-
return ACTION(() => {
|
|
11962
|
-
const F3 = C.factory;
|
|
11963
|
-
if (tail.length === 0) {
|
|
11964
|
-
return F3.path("!", [head2], F3.sourceLocation(exclamation2, close));
|
|
11965
|
-
}
|
|
11966
|
-
return F3.path(
|
|
11967
|
-
"!",
|
|
11968
|
-
[F3.path("|", [head2, ...tail], F3.sourceLocation(open, close))],
|
|
11969
|
-
F3.sourceLocation(exclamation2, close)
|
|
11970
|
-
);
|
|
11971
|
-
});
|
|
11972
|
-
} }
|
|
11973
|
-
]);
|
|
11974
|
-
}
|
|
11975
|
-
};
|
|
11976
|
-
var pathOneInPropertySet = {
|
|
11977
|
-
name: "pathOneInPropertySet",
|
|
11978
|
-
impl: ({ ACTION, CONSUME, SUBRULE1, SUBRULE2, OR1, OR2 }) => (C) => OR1([
|
|
11979
|
-
{ ALT: () => SUBRULE1(iri2, void 0) },
|
|
11980
|
-
{ ALT: () => SUBRULE1(verbA, void 0) },
|
|
11981
|
-
{ ALT: () => {
|
|
11982
|
-
const hat2 = CONSUME(symbols_exports.hat);
|
|
11983
|
-
const item = OR2([
|
|
11984
|
-
{ ALT: () => SUBRULE2(iri2, void 0) },
|
|
11985
|
-
{ ALT: () => SUBRULE2(verbA, void 0) }
|
|
11986
|
-
]);
|
|
11987
|
-
return ACTION(() => C.factory.path("^", [item], C.factory.sourceLocation(hat2, item)));
|
|
11988
|
-
} }
|
|
11989
|
-
])
|
|
11990
|
-
};
|
|
11991
|
-
|
|
11992
|
-
// ../rules-sparql-1-1/lib/grammar/tripleBlock.ts
|
|
11993
|
-
function triplesDotSeperated(triplesSameSubjectSubrule) {
|
|
11994
|
-
return ({ ACTION, AT_LEAST_ONE, SUBRULE, CONSUME, OPTION }) => (C) => {
|
|
11995
|
-
const triples = [];
|
|
11996
|
-
let parsedDot = true;
|
|
11997
|
-
let dotToken;
|
|
11998
|
-
AT_LEAST_ONE({
|
|
11999
|
-
GATE: () => parsedDot,
|
|
12000
|
-
DEF: () => {
|
|
12001
|
-
parsedDot = false;
|
|
12002
|
-
const template = SUBRULE(triplesSameSubjectSubrule, void 0);
|
|
12003
|
-
ACTION(() => {
|
|
12004
|
-
triples.push(...template);
|
|
12005
|
-
});
|
|
12006
|
-
OPTION(() => {
|
|
12007
|
-
dotToken = CONSUME(symbols_exports.dot);
|
|
12008
|
-
parsedDot = true;
|
|
12009
|
-
});
|
|
12010
|
-
}
|
|
12011
|
-
});
|
|
12012
|
-
return ACTION(() => C.factory.patternBgp(triples, C.factory.sourceLocation(...triples, dotToken)));
|
|
12013
|
-
};
|
|
12014
|
-
}
|
|
12015
|
-
var triplesBlock = {
|
|
12016
|
-
name: "triplesBlock",
|
|
12017
|
-
impl: (implArgs) => (C) => triplesDotSeperated(triplesSameSubjectPath)(implArgs)(C, void 0),
|
|
12018
|
-
gImpl: ({ SUBRULE, PRINT_WORD, HANDLE_LOC }) => (ast, { factory: F3 }) => {
|
|
12019
|
-
for (const [index, triple] of ast.triples.entries()) {
|
|
12020
|
-
HANDLE_LOC(triple, () => {
|
|
12021
|
-
const nextTriple = ast.triples.at(index);
|
|
12022
|
-
if (F3.isTripleCollection(triple)) {
|
|
12023
|
-
SUBRULE(graphNodePath, triple, void 0);
|
|
12024
|
-
F3.printFilter(triple, () => PRINT_WORD("."));
|
|
12025
|
-
} else {
|
|
12026
|
-
SUBRULE(graphNodePath, triple.subject, void 0);
|
|
12027
|
-
if (F3.isTerm(triple.predicate) && F3.isTermVariable(triple.predicate)) {
|
|
12028
|
-
SUBRULE(varOrTerm, triple.predicate, void 0);
|
|
12029
|
-
} else {
|
|
12030
|
-
SUBRULE(pathGenerator, triple.predicate, void 0);
|
|
12031
|
-
}
|
|
12032
|
-
SUBRULE(graphNodePath, triple.object, void 0);
|
|
12033
|
-
if (nextTriple === void 0 || F3.isTripleCollection(nextTriple) || !F3.isSourceLocationNoMaterialize(nextTriple.subject.loc)) {
|
|
12034
|
-
F3.printFilter(ast, () => PRINT_WORD("."));
|
|
12035
|
-
} else if (F3.isSourceLocationNoMaterialize(nextTriple.predicate.loc)) {
|
|
12036
|
-
F3.printFilter(ast, () => PRINT_WORD(","));
|
|
12037
|
-
} else {
|
|
12038
|
-
F3.printFilter(ast, () => PRINT_WORD(";"));
|
|
12039
|
-
}
|
|
12040
|
-
}
|
|
12041
|
-
});
|
|
11744
|
+
const arg1 = SUBRULE1(expression);
|
|
11745
|
+
CONSUME(symbols_exports.comma);
|
|
11746
|
+
const arg2 = SUBRULE2(expression);
|
|
11747
|
+
const close = CONSUME(symbols_exports.RParen);
|
|
11748
|
+
return ACTION(() => C.factory.expressionOperation(operator.image, [arg1, arg2], C.factory.sourceLocation(operator, close)));
|
|
12042
11749
|
}
|
|
12043
|
-
}
|
|
12044
|
-
};
|
|
12045
|
-
function triplesSameSubjectImpl(name, allowPaths) {
|
|
12046
|
-
return {
|
|
12047
|
-
name,
|
|
12048
|
-
impl: ({ ACTION, SUBRULE, OR }) => (C) => OR([
|
|
12049
|
-
{ ALT: () => {
|
|
12050
|
-
const subject = SUBRULE(varOrTerm, void 0);
|
|
12051
|
-
const res = SUBRULE(
|
|
12052
|
-
allowPaths ? propertyListPathNotEmpty : propertyListNotEmpty,
|
|
12053
|
-
{ subject: ACTION(() => C.factory.dematerialized(subject)) }
|
|
12054
|
-
);
|
|
12055
|
-
return ACTION(() => {
|
|
12056
|
-
if (res.length > 0) {
|
|
12057
|
-
res[0].subject = subject;
|
|
12058
|
-
res[0].loc = C.factory.sourceLocation(subject, res[0]);
|
|
12059
|
-
}
|
|
12060
|
-
return res;
|
|
12061
|
-
});
|
|
12062
|
-
} },
|
|
12063
|
-
{ ALT: () => {
|
|
12064
|
-
const subjectNode = SUBRULE(allowPaths ? triplesNodePath : triplesNode, void 0);
|
|
12065
|
-
const restNode = SUBRULE(
|
|
12066
|
-
allowPaths ? propertyListPath : propertyList,
|
|
12067
|
-
{ subject: ACTION(() => C.factory.graphNodeIdentifier(subjectNode)) }
|
|
12068
|
-
);
|
|
12069
|
-
return ACTION(() => {
|
|
12070
|
-
if (restNode.length === 0) {
|
|
12071
|
-
return [subjectNode];
|
|
12072
|
-
}
|
|
12073
|
-
restNode[0].subject = subjectNode;
|
|
12074
|
-
restNode[0].loc = C.factory.sourceLocation(subjectNode, restNode[0]);
|
|
12075
|
-
return restNode;
|
|
12076
|
-
});
|
|
12077
|
-
} }
|
|
12078
|
-
])
|
|
12079
11750
|
};
|
|
12080
11751
|
}
|
|
12081
|
-
|
|
12082
|
-
var triplesSameSubjectPath = triplesSameSubjectImpl("triplesSameSubjectPath", true);
|
|
12083
|
-
var triplesTemplate = {
|
|
12084
|
-
name: "triplesTemplate",
|
|
12085
|
-
impl: triplesDotSeperated(triplesSameSubject)
|
|
12086
|
-
};
|
|
12087
|
-
function propertyListImpl(name, allowPaths) {
|
|
11752
|
+
function funcExpr3(func) {
|
|
12088
11753
|
return {
|
|
12089
|
-
name,
|
|
12090
|
-
impl: ({
|
|
11754
|
+
name: unCapitalize(func.name),
|
|
11755
|
+
impl: ({ ACTION, CONSUME, CONSUME1, CONSUME2, SUBRULE1, SUBRULE2, SUBRULE3 }) => (C) => {
|
|
11756
|
+
const operator = CONSUME(func);
|
|
11757
|
+
CONSUME(symbols_exports.LParen);
|
|
11758
|
+
const arg1 = SUBRULE1(expression);
|
|
11759
|
+
CONSUME1(symbols_exports.comma);
|
|
11760
|
+
const arg2 = SUBRULE2(expression);
|
|
11761
|
+
CONSUME2(symbols_exports.comma);
|
|
11762
|
+
const arg3 = SUBRULE3(expression);
|
|
11763
|
+
const close = CONSUME(symbols_exports.RParen);
|
|
11764
|
+
return ACTION(() => C.factory.expressionOperation(operator.image, [arg1, arg2, arg3], C.factory.sourceLocation(operator, close)));
|
|
11765
|
+
}
|
|
12091
11766
|
};
|
|
12092
11767
|
}
|
|
12093
|
-
|
|
12094
|
-
var propertyListPath = propertyListImpl("propertyListPath", true);
|
|
12095
|
-
function propertyListNotEmptyImplementation(name, allowPaths) {
|
|
11768
|
+
function funcVar1(func) {
|
|
12096
11769
|
return {
|
|
12097
|
-
name,
|
|
12098
|
-
impl: ({ ACTION,
|
|
12099
|
-
const
|
|
12100
|
-
|
|
12101
|
-
|
|
12102
|
-
|
|
12103
|
-
|
|
12104
|
-
parsedSemi = false;
|
|
12105
|
-
const predicate = allowPaths ? OR1([
|
|
12106
|
-
{ ALT: () => SUBRULE1(verbPath, void 0) },
|
|
12107
|
-
{ ALT: () => SUBRULE1(verbSimple, void 0) }
|
|
12108
|
-
]) : SUBRULE1(verb, void 0);
|
|
12109
|
-
const triples = SUBRULE1(
|
|
12110
|
-
allowPaths ? objectListPath : objectList,
|
|
12111
|
-
ACTION(() => ({ subject: arg.subject, predicate }))
|
|
12112
|
-
);
|
|
12113
|
-
MANY2(() => {
|
|
12114
|
-
CONSUME(symbols_exports.semi);
|
|
12115
|
-
parsedSemi = true;
|
|
12116
|
-
});
|
|
12117
|
-
ACTION(() => {
|
|
12118
|
-
result.push(...triples);
|
|
12119
|
-
});
|
|
12120
|
-
}
|
|
12121
|
-
});
|
|
12122
|
-
return result;
|
|
11770
|
+
name: unCapitalize(func.name),
|
|
11771
|
+
impl: ({ ACTION, SUBRULE, CONSUME }) => (C) => {
|
|
11772
|
+
const operator = CONSUME(func);
|
|
11773
|
+
CONSUME(symbols_exports.LParen);
|
|
11774
|
+
const arg = SUBRULE(var_);
|
|
11775
|
+
const close = CONSUME(symbols_exports.RParen);
|
|
11776
|
+
return ACTION(() => C.factory.expressionOperation(operator.image, [arg], C.factory.sourceLocation(operator, close)));
|
|
12123
11777
|
}
|
|
12124
11778
|
};
|
|
12125
11779
|
}
|
|
12126
|
-
|
|
12127
|
-
var propertyListPathNotEmpty = propertyListNotEmptyImplementation("propertyListPathNotEmpty", true);
|
|
12128
|
-
var verbPath = {
|
|
12129
|
-
name: "verbPath",
|
|
12130
|
-
impl: ({ SUBRULE }) => () => SUBRULE(path, void 0)
|
|
12131
|
-
};
|
|
12132
|
-
var verbSimple = {
|
|
12133
|
-
name: "verbSimple",
|
|
12134
|
-
impl: ({ SUBRULE }) => () => SUBRULE(var_, void 0)
|
|
12135
|
-
};
|
|
12136
|
-
function objectListImpl(name, allowPaths) {
|
|
11780
|
+
function funcExprOrNil1(func) {
|
|
12137
11781
|
return {
|
|
12138
|
-
name,
|
|
12139
|
-
impl: ({ ACTION,
|
|
12140
|
-
const
|
|
12141
|
-
|
|
12142
|
-
|
|
12143
|
-
|
|
12144
|
-
const
|
|
12145
|
-
|
|
12146
|
-
|
|
12147
|
-
|
|
12148
|
-
|
|
12149
|
-
|
|
12150
|
-
|
|
11782
|
+
name: unCapitalize(func.name),
|
|
11783
|
+
impl: ({ ACTION, CONSUME, OR, SUBRULE }) => (C) => {
|
|
11784
|
+
const operator = CONSUME(func);
|
|
11785
|
+
return OR([
|
|
11786
|
+
{ ALT: () => {
|
|
11787
|
+
CONSUME(symbols_exports.LParen);
|
|
11788
|
+
const arg = SUBRULE(expression);
|
|
11789
|
+
const close = CONSUME(symbols_exports.RParen);
|
|
11790
|
+
return ACTION(() => C.factory.expressionOperation(operator.image, [arg], C.factory.sourceLocation(operator, close)));
|
|
11791
|
+
} },
|
|
11792
|
+
{ ALT: () => {
|
|
11793
|
+
const nil2 = CONSUME(terminals_exports.nil);
|
|
11794
|
+
return ACTION(() => C.factory.expressionOperation(operator.image, [], C.factory.sourceLocation(operator, nil2)));
|
|
11795
|
+
} }
|
|
11796
|
+
]);
|
|
12151
11797
|
}
|
|
12152
11798
|
};
|
|
12153
11799
|
}
|
|
12154
|
-
|
|
12155
|
-
var objectListPath = objectListImpl("objectListPath", true);
|
|
12156
|
-
function objectImpl(name, allowPaths) {
|
|
11800
|
+
function funcNil1(func) {
|
|
12157
11801
|
return {
|
|
12158
|
-
name,
|
|
12159
|
-
impl: ({ ACTION,
|
|
12160
|
-
const
|
|
12161
|
-
|
|
11802
|
+
name: unCapitalize(func.name),
|
|
11803
|
+
impl: ({ ACTION, CONSUME }) => (C) => {
|
|
11804
|
+
const operator = CONSUME(func);
|
|
11805
|
+
const nil2 = CONSUME(terminals_exports.nil);
|
|
11806
|
+
return ACTION(() => C.factory.expressionOperation(operator.image, [], C.factory.sourceLocation(operator, nil2)));
|
|
12162
11807
|
}
|
|
12163
11808
|
};
|
|
12164
11809
|
}
|
|
12165
|
-
|
|
12166
|
-
var objectPath = objectImpl("objectPath", true);
|
|
12167
|
-
function collectionImpl(name, allowPaths) {
|
|
11810
|
+
function funcExprList1(func) {
|
|
12168
11811
|
return {
|
|
12169
|
-
name,
|
|
12170
|
-
impl: ({ ACTION,
|
|
12171
|
-
const
|
|
12172
|
-
const
|
|
12173
|
-
|
|
12174
|
-
|
|
12175
|
-
|
|
12176
|
-
|
|
12177
|
-
|
|
12178
|
-
|
|
12179
|
-
|
|
12180
|
-
|
|
12181
|
-
|
|
12182
|
-
|
|
12183
|
-
|
|
12184
|
-
|
|
12185
|
-
|
|
12186
|
-
|
|
12187
|
-
|
|
12188
|
-
|
|
12189
|
-
predFirst,
|
|
12190
|
-
term
|
|
12191
|
-
);
|
|
12192
|
-
triples.push(headTriple);
|
|
12193
|
-
if (lastInList) {
|
|
12194
|
-
const nilTriple = F3.triple(iterHead, predRest, predNil);
|
|
12195
|
-
triples.push(nilTriple);
|
|
12196
|
-
} else {
|
|
12197
|
-
const tail = F3.blankNode(void 0, F3.sourceLocationNoMaterialize());
|
|
12198
|
-
const linkTriple = F3.triple(iterHead, predRest, tail);
|
|
12199
|
-
triples.push(linkTriple);
|
|
12200
|
-
iterHead = tail;
|
|
12201
|
-
}
|
|
12202
|
-
}
|
|
12203
|
-
return F3.tripleCollectionList(listHead, triples, F3.sourceLocation(startToken, endToken));
|
|
11812
|
+
name: unCapitalize(func.name),
|
|
11813
|
+
impl: ({ ACTION, CONSUME, SUBRULE }) => (C) => {
|
|
11814
|
+
const operator = CONSUME(func);
|
|
11815
|
+
const args = SUBRULE(expressionList);
|
|
11816
|
+
return ACTION(() => C.factory.expressionOperation(operator.image, args.val, C.factory.sourceLocation(operator, args)));
|
|
11817
|
+
}
|
|
11818
|
+
};
|
|
11819
|
+
}
|
|
11820
|
+
function funcExpr2or3(func) {
|
|
11821
|
+
return {
|
|
11822
|
+
name: unCapitalize(func.name),
|
|
11823
|
+
impl: ({ ACTION, CONSUME, SUBRULE1, SUBRULE2, SUBRULE3, CONSUME1, OPTION, CONSUME2 }) => (C) => {
|
|
11824
|
+
const operator = CONSUME(func);
|
|
11825
|
+
CONSUME(symbols_exports.LParen);
|
|
11826
|
+
const arg1 = SUBRULE1(expression);
|
|
11827
|
+
CONSUME1(symbols_exports.comma);
|
|
11828
|
+
const arg2 = SUBRULE2(expression);
|
|
11829
|
+
const arg3 = OPTION(() => {
|
|
11830
|
+
CONSUME2(symbols_exports.comma);
|
|
11831
|
+
return SUBRULE3(expression);
|
|
12204
11832
|
});
|
|
12205
|
-
|
|
12206
|
-
|
|
12207
|
-
|
|
12208
|
-
|
|
12209
|
-
|
|
12210
|
-
|
|
12211
|
-
}
|
|
12212
|
-
}
|
|
12213
|
-
F3.printFilter(ast, () => PRINT_WORD(")"));
|
|
11833
|
+
const close = CONSUME(symbols_exports.RParen);
|
|
11834
|
+
return ACTION(() => C.factory.expressionOperation(
|
|
11835
|
+
operator.image,
|
|
11836
|
+
arg3 ? [arg1, arg2, arg3] : [arg1, arg2],
|
|
11837
|
+
C.factory.sourceLocation(operator, close)
|
|
11838
|
+
));
|
|
12214
11839
|
}
|
|
12215
11840
|
};
|
|
12216
11841
|
}
|
|
12217
|
-
|
|
12218
|
-
var collectionPath = collectionImpl("collectionPath", true);
|
|
12219
|
-
function triplesNodeImpl(name, allowPaths) {
|
|
11842
|
+
function funcExpr3or4(func) {
|
|
12220
11843
|
return {
|
|
12221
|
-
name,
|
|
12222
|
-
impl: ({
|
|
12223
|
-
|
|
12224
|
-
|
|
12225
|
-
|
|
12226
|
-
|
|
11844
|
+
name: unCapitalize(func.name),
|
|
11845
|
+
impl: ({
|
|
11846
|
+
ACTION,
|
|
11847
|
+
CONSUME,
|
|
11848
|
+
SUBRULE1,
|
|
11849
|
+
SUBRULE2,
|
|
11850
|
+
SUBRULE3,
|
|
11851
|
+
SUBRULE4,
|
|
11852
|
+
CONSUME1,
|
|
11853
|
+
OPTION,
|
|
11854
|
+
CONSUME2,
|
|
11855
|
+
CONSUME3
|
|
11856
|
+
}) => (C) => {
|
|
11857
|
+
const operator = CONSUME(func);
|
|
11858
|
+
CONSUME(symbols_exports.LParen);
|
|
11859
|
+
const arg1 = SUBRULE1(expression);
|
|
11860
|
+
CONSUME1(symbols_exports.comma);
|
|
11861
|
+
const arg2 = SUBRULE2(expression);
|
|
11862
|
+
CONSUME2(symbols_exports.comma);
|
|
11863
|
+
const arg3 = SUBRULE3(expression);
|
|
11864
|
+
const arg4 = OPTION(() => {
|
|
11865
|
+
CONSUME3(symbols_exports.comma);
|
|
11866
|
+
return SUBRULE4(expression);
|
|
11867
|
+
});
|
|
11868
|
+
const close = CONSUME(symbols_exports.RParen);
|
|
11869
|
+
return ACTION(() => C.factory.expressionOperation(
|
|
11870
|
+
operator.image,
|
|
11871
|
+
arg4 ? [arg1, arg2, arg3, arg4] : [arg1, arg2, arg3],
|
|
11872
|
+
C.factory.sourceLocation(operator, close)
|
|
11873
|
+
));
|
|
11874
|
+
}
|
|
12227
11875
|
};
|
|
12228
11876
|
}
|
|
12229
|
-
|
|
12230
|
-
var triplesNodePath = triplesNodeImpl("triplesNodePath", true);
|
|
12231
|
-
function blankNodePropertyListImpl(name, allowPaths) {
|
|
12232
|
-
const propertyPathNotEmptyImpl = allowPaths ? propertyListPathNotEmpty : propertyListNotEmpty;
|
|
11877
|
+
function funcGroupGraphPattern(func) {
|
|
12233
11878
|
return {
|
|
12234
|
-
name,
|
|
11879
|
+
name: unCapitalize(func.name),
|
|
12235
11880
|
impl: ({ ACTION, SUBRULE, CONSUME }) => (C) => {
|
|
12236
|
-
const
|
|
12237
|
-
const
|
|
12238
|
-
|
|
12239
|
-
|
|
12240
|
-
|
|
12241
|
-
|
|
12242
|
-
propList,
|
|
12243
|
-
C.factory.sourceLocation(startToken, endToken)
|
|
11881
|
+
const operator = CONSUME(func);
|
|
11882
|
+
const group = SUBRULE(groupGraphPattern);
|
|
11883
|
+
return ACTION(() => C.factory.expressionPatternOperation(
|
|
11884
|
+
operator.image,
|
|
11885
|
+
group,
|
|
11886
|
+
C.factory.sourceLocation(operator, group)
|
|
12244
11887
|
));
|
|
12245
|
-
},
|
|
12246
|
-
gImpl: ({ SUBRULE, PRINT, PRINT_WORD, HANDLE_LOC }) => (ast, { factory: F3 }) => {
|
|
12247
|
-
F3.printFilter(ast, () => PRINT("["));
|
|
12248
|
-
for (const triple of ast.triples) {
|
|
12249
|
-
HANDLE_LOC(triple, () => {
|
|
12250
|
-
if (F3.isTerm(triple.predicate) && F3.isTermVariable(triple.predicate)) {
|
|
12251
|
-
SUBRULE(varOrTerm, triple.predicate, void 0);
|
|
12252
|
-
} else {
|
|
12253
|
-
SUBRULE(pathGenerator, triple.predicate, void 0);
|
|
12254
|
-
}
|
|
12255
|
-
SUBRULE(graphNodePath, triple.object, void 0);
|
|
12256
|
-
F3.printFilter(ast, () => PRINT_WORD(";"));
|
|
12257
|
-
});
|
|
12258
|
-
}
|
|
12259
|
-
F3.printFilter(ast, () => PRINT("]"));
|
|
12260
11888
|
}
|
|
12261
11889
|
};
|
|
12262
11890
|
}
|
|
12263
|
-
|
|
12264
|
-
var blankNodePropertyListPath = blankNodePropertyListImpl("blankNodePropertyListPath", true);
|
|
12265
|
-
function graphNodeImpl(name, allowPaths) {
|
|
12266
|
-
const triplesNodeRule = allowPaths ? triplesNodePath : triplesNode;
|
|
11891
|
+
function baseAggregateFunc(func) {
|
|
12267
11892
|
return {
|
|
12268
|
-
name,
|
|
12269
|
-
impl: ({ SUBRULE,
|
|
12270
|
-
|
|
12271
|
-
|
|
12272
|
-
|
|
12273
|
-
|
|
12274
|
-
|
|
12275
|
-
|
|
12276
|
-
|
|
12277
|
-
|
|
12278
|
-
|
|
12279
|
-
|
|
12280
|
-
|
|
12281
|
-
|
|
11893
|
+
name: unCapitalize(func.name),
|
|
11894
|
+
impl: ({ ACTION, CONSUME, SUBRULE, OPTION }) => (C) => {
|
|
11895
|
+
const operator = CONSUME(func);
|
|
11896
|
+
CONSUME(symbols_exports.LParen);
|
|
11897
|
+
const distinct2 = OPTION(() => CONSUME(distinct));
|
|
11898
|
+
const expr1 = SUBRULE(expression);
|
|
11899
|
+
const close = CONSUME(symbols_exports.RParen);
|
|
11900
|
+
return ACTION(() => C.factory.aggregate(
|
|
11901
|
+
operator.image,
|
|
11902
|
+
distinct2 !== void 0,
|
|
11903
|
+
expr1,
|
|
11904
|
+
void 0,
|
|
11905
|
+
C.factory.sourceLocation(operator, close)
|
|
11906
|
+
));
|
|
12282
11907
|
}
|
|
12283
11908
|
};
|
|
12284
11909
|
}
|
|
12285
|
-
var graphNode = graphNodeImpl("graphNode", false);
|
|
12286
|
-
var graphNodePath = graphNodeImpl("graphNodePath", true);
|
|
12287
11910
|
|
|
12288
|
-
// ../rules-sparql-1-1/lib/grammar/
|
|
12289
|
-
var
|
|
12290
|
-
|
|
12291
|
-
|
|
12292
|
-
|
|
12293
|
-
|
|
12294
|
-
|
|
12295
|
-
|
|
12296
|
-
|
|
12297
|
-
|
|
12298
|
-
|
|
11911
|
+
// ../rules-sparql-1-1/lib/grammar/builtIn.ts
|
|
11912
|
+
var builtInStr = funcExpr1(BuildinCalls_exports.str);
|
|
11913
|
+
var builtInLang = funcExpr1(BuildinCalls_exports.lang);
|
|
11914
|
+
var builtInLangmatches = funcExpr2(BuildinCalls_exports.langmatches);
|
|
11915
|
+
var builtInDatatype = funcExpr1(BuildinCalls_exports.datatype);
|
|
11916
|
+
var builtInBound = funcVar1(BuildinCalls_exports.bound);
|
|
11917
|
+
var builtInIri = funcExpr1(BuildinCalls_exports.iri);
|
|
11918
|
+
var builtInUri = funcExpr1(BuildinCalls_exports.uri);
|
|
11919
|
+
var builtInBnodeSparqlJs = funcExprOrNil1(BuildinCalls_exports.bnode);
|
|
11920
|
+
var builtInRand = funcNil1(BuildinCalls_exports.rand);
|
|
11921
|
+
var builtInAbs = funcExpr1(BuildinCalls_exports.abs);
|
|
11922
|
+
var builtInCeil = funcExpr1(BuildinCalls_exports.ceil);
|
|
11923
|
+
var builtInFloor = funcExpr1(BuildinCalls_exports.floor);
|
|
11924
|
+
var builtInRound = funcExpr1(BuildinCalls_exports.round);
|
|
11925
|
+
var builtInConcat = funcExprList1(BuildinCalls_exports.concat);
|
|
11926
|
+
var builtInStrlen = funcExpr1(BuildinCalls_exports.strlen);
|
|
11927
|
+
var builtInUcase = funcExpr1(BuildinCalls_exports.ucase);
|
|
11928
|
+
var builtInLcase = funcExpr1(BuildinCalls_exports.lcase);
|
|
11929
|
+
var builtInEncode_for_uri = funcExpr1(BuildinCalls_exports.encode_for_uri);
|
|
11930
|
+
var builtInContains = funcExpr2(BuildinCalls_exports.contains);
|
|
11931
|
+
var builtInStrstarts = funcExpr2(BuildinCalls_exports.strstarts);
|
|
11932
|
+
var builtInStrends = funcExpr2(BuildinCalls_exports.strends);
|
|
11933
|
+
var builtInStrbefore = funcExpr2(BuildinCalls_exports.strbefore);
|
|
11934
|
+
var builtInStrafter = funcExpr2(BuildinCalls_exports.strafter);
|
|
11935
|
+
var builtInYear = funcExpr1(BuildinCalls_exports.year);
|
|
11936
|
+
var builtInMonth = funcExpr1(BuildinCalls_exports.month);
|
|
11937
|
+
var builtInDay = funcExpr1(BuildinCalls_exports.day);
|
|
11938
|
+
var builtInHours = funcExpr1(BuildinCalls_exports.hours);
|
|
11939
|
+
var builtInMinutes = funcExpr1(BuildinCalls_exports.minutes);
|
|
11940
|
+
var builtInSeconds = funcExpr1(BuildinCalls_exports.seconds);
|
|
11941
|
+
var builtInTimezone = funcExpr1(BuildinCalls_exports.timezone);
|
|
11942
|
+
var builtInTz = funcExpr1(BuildinCalls_exports.tz);
|
|
11943
|
+
var builtInNow = funcNil1(BuildinCalls_exports.now);
|
|
11944
|
+
var builtInUuid = funcNil1(BuildinCalls_exports.uuid);
|
|
11945
|
+
var builtInStruuid = funcNil1(BuildinCalls_exports.struuid);
|
|
11946
|
+
var builtInMd5 = funcExpr1(BuildinCalls_exports.md5);
|
|
11947
|
+
var builtInSha1 = funcExpr1(BuildinCalls_exports.sha1);
|
|
11948
|
+
var builtInSha256 = funcExpr1(BuildinCalls_exports.sha256);
|
|
11949
|
+
var builtInSha384 = funcExpr1(BuildinCalls_exports.sha384);
|
|
11950
|
+
var builtInSha512 = funcExpr1(BuildinCalls_exports.sha512);
|
|
11951
|
+
var builtInCoalesce = funcExprList1(BuildinCalls_exports.coalesce);
|
|
11952
|
+
var builtInIf = funcExpr3(BuildinCalls_exports.if_);
|
|
11953
|
+
var builtInStrlang = funcExpr2(BuildinCalls_exports.strlang);
|
|
11954
|
+
var builtInStrdt = funcExpr2(BuildinCalls_exports.strdt);
|
|
11955
|
+
var builtInSameterm = funcExpr2(BuildinCalls_exports.sameterm);
|
|
11956
|
+
var builtInIsiri = funcExpr1(BuildinCalls_exports.isiri);
|
|
11957
|
+
var builtInIsuri = funcExpr1(BuildinCalls_exports.isuri);
|
|
11958
|
+
var builtInIsblank = funcExpr1(BuildinCalls_exports.isblank);
|
|
11959
|
+
var builtInIsliteral = funcExpr1(BuildinCalls_exports.isliteral);
|
|
11960
|
+
var builtInIsnumeric = funcExpr1(BuildinCalls_exports.isnumeric);
|
|
11961
|
+
function builtInCallList(SUBRULE) {
|
|
11962
|
+
return [
|
|
11963
|
+
{ ALT: () => SUBRULE(aggregate) },
|
|
11964
|
+
{ ALT: () => SUBRULE(builtInStr) },
|
|
11965
|
+
{ ALT: () => SUBRULE(builtInLang) },
|
|
11966
|
+
{ ALT: () => SUBRULE(builtInLangmatches) },
|
|
11967
|
+
{ ALT: () => SUBRULE(builtInDatatype) },
|
|
11968
|
+
{ ALT: () => SUBRULE(builtInBound) },
|
|
11969
|
+
{ ALT: () => SUBRULE(builtInIri) },
|
|
11970
|
+
{ ALT: () => SUBRULE(builtInUri) },
|
|
11971
|
+
{ ALT: () => SUBRULE(builtInBnodeSparqlJs) },
|
|
11972
|
+
{ ALT: () => SUBRULE(builtInRand) },
|
|
11973
|
+
{ ALT: () => SUBRULE(builtInAbs) },
|
|
11974
|
+
{ ALT: () => SUBRULE(builtInCeil) },
|
|
11975
|
+
{ ALT: () => SUBRULE(builtInFloor) },
|
|
11976
|
+
{ ALT: () => SUBRULE(builtInRound) },
|
|
11977
|
+
{ ALT: () => SUBRULE(builtInConcat) },
|
|
11978
|
+
{ ALT: () => SUBRULE(substringExpression) },
|
|
11979
|
+
{ ALT: () => SUBRULE(builtInStrlen) },
|
|
11980
|
+
{ ALT: () => SUBRULE(strReplaceExpression) },
|
|
11981
|
+
{ ALT: () => SUBRULE(builtInUcase) },
|
|
11982
|
+
{ ALT: () => SUBRULE(builtInLcase) },
|
|
11983
|
+
{ ALT: () => SUBRULE(builtInEncode_for_uri) },
|
|
11984
|
+
{ ALT: () => SUBRULE(builtInContains) },
|
|
11985
|
+
{ ALT: () => SUBRULE(builtInStrstarts) },
|
|
11986
|
+
{ ALT: () => SUBRULE(builtInStrends) },
|
|
11987
|
+
{ ALT: () => SUBRULE(builtInStrbefore) },
|
|
11988
|
+
{ ALT: () => SUBRULE(builtInStrafter) },
|
|
11989
|
+
{ ALT: () => SUBRULE(builtInYear) },
|
|
11990
|
+
{ ALT: () => SUBRULE(builtInMonth) },
|
|
11991
|
+
{ ALT: () => SUBRULE(builtInDay) },
|
|
11992
|
+
{ ALT: () => SUBRULE(builtInHours) },
|
|
11993
|
+
{ ALT: () => SUBRULE(builtInMinutes) },
|
|
11994
|
+
{ ALT: () => SUBRULE(builtInSeconds) },
|
|
11995
|
+
{ ALT: () => SUBRULE(builtInTimezone) },
|
|
11996
|
+
{ ALT: () => SUBRULE(builtInTz) },
|
|
11997
|
+
{ ALT: () => SUBRULE(builtInNow) },
|
|
11998
|
+
{ ALT: () => SUBRULE(builtInUuid) },
|
|
11999
|
+
{ ALT: () => SUBRULE(builtInStruuid) },
|
|
12000
|
+
{ ALT: () => SUBRULE(builtInMd5) },
|
|
12001
|
+
{ ALT: () => SUBRULE(builtInSha1) },
|
|
12002
|
+
{ ALT: () => SUBRULE(builtInSha256) },
|
|
12003
|
+
{ ALT: () => SUBRULE(builtInSha384) },
|
|
12004
|
+
{ ALT: () => SUBRULE(builtInSha512) },
|
|
12005
|
+
{ ALT: () => SUBRULE(builtInCoalesce) },
|
|
12006
|
+
{ ALT: () => SUBRULE(builtInIf) },
|
|
12007
|
+
{ ALT: () => SUBRULE(builtInStrlang) },
|
|
12008
|
+
{ ALT: () => SUBRULE(builtInStrdt) },
|
|
12009
|
+
{ ALT: () => SUBRULE(builtInSameterm) },
|
|
12010
|
+
{ ALT: () => SUBRULE(builtInIsiri) },
|
|
12011
|
+
{ ALT: () => SUBRULE(builtInIsuri) },
|
|
12012
|
+
{ ALT: () => SUBRULE(builtInIsblank) },
|
|
12013
|
+
{ ALT: () => SUBRULE(builtInIsliteral) },
|
|
12014
|
+
{ ALT: () => SUBRULE(builtInIsnumeric) },
|
|
12015
|
+
{ ALT: () => SUBRULE(regexExpression) },
|
|
12016
|
+
{ ALT: () => SUBRULE(existsFunc) },
|
|
12017
|
+
{ ALT: () => SUBRULE(notExistsFunc) }
|
|
12018
|
+
];
|
|
12019
|
+
}
|
|
12020
|
+
var builtInCall = {
|
|
12021
|
+
name: "builtInCall",
|
|
12022
|
+
impl: ({ OR, SUBRULE, cache }) => () => {
|
|
12023
|
+
const cached = cache.get(builtInCall);
|
|
12024
|
+
if (cached) {
|
|
12025
|
+
return OR(cached);
|
|
12026
|
+
}
|
|
12027
|
+
const builtIns = builtInCallList(SUBRULE);
|
|
12028
|
+
cache.set(builtInCall, builtIns);
|
|
12029
|
+
return OR(builtIns);
|
|
12030
|
+
}
|
|
12031
|
+
};
|
|
12032
|
+
var regexExpression = funcExpr2or3(BuildinCalls_exports.regex);
|
|
12033
|
+
var substringExpression = funcExpr2or3(BuildinCalls_exports.substr);
|
|
12034
|
+
var strReplaceExpression = funcExpr3or4(BuildinCalls_exports.replace);
|
|
12035
|
+
var existsFunc = funcGroupGraphPattern(BuildinCalls_exports.exists);
|
|
12036
|
+
var notExistsFunc = funcGroupGraphPattern(BuildinCalls_exports.notexists);
|
|
12037
|
+
var aggregateCount = {
|
|
12038
|
+
name: unCapitalize(BuildinCalls_exports.count.name),
|
|
12039
|
+
impl: ({ ACTION, CONSUME, SUBRULE, OR, OPTION }) => (C) => {
|
|
12040
|
+
const operatorToken = CONSUME(BuildinCalls_exports.count);
|
|
12041
|
+
CONSUME(symbols_exports.LParen);
|
|
12042
|
+
const distinctToken = OPTION(() => CONSUME(distinct));
|
|
12043
|
+
const expressionVal = OR([
|
|
12044
|
+
{ ALT: () => {
|
|
12045
|
+
const starToken = CONSUME(symbols_exports.star);
|
|
12046
|
+
return ACTION(() => C.factory.wildcard(C.factory.sourceLocation(starToken)));
|
|
12047
|
+
} },
|
|
12048
|
+
{ ALT: () => SUBRULE(expression) }
|
|
12049
|
+
]);
|
|
12050
|
+
const closeToken = CONSUME(symbols_exports.RParen);
|
|
12051
|
+
return ACTION(() => {
|
|
12052
|
+
const F3 = C.factory;
|
|
12053
|
+
if (C.factory.isWildcard(expressionVal)) {
|
|
12054
|
+
return F3.aggregate(
|
|
12055
|
+
operatorToken.image,
|
|
12056
|
+
Boolean(distinctToken),
|
|
12057
|
+
expressionVal,
|
|
12058
|
+
void 0,
|
|
12059
|
+
C.factory.sourceLocation(operatorToken, closeToken)
|
|
12060
|
+
);
|
|
12061
|
+
}
|
|
12062
|
+
return F3.aggregate(
|
|
12063
|
+
operatorToken.image,
|
|
12064
|
+
Boolean(distinctToken),
|
|
12065
|
+
expressionVal,
|
|
12066
|
+
void 0,
|
|
12067
|
+
C.factory.sourceLocation(operatorToken, closeToken)
|
|
12068
|
+
);
|
|
12069
|
+
});
|
|
12070
|
+
}
|
|
12071
|
+
};
|
|
12072
|
+
var aggregateSum = baseAggregateFunc(BuildinCalls_exports.sum);
|
|
12073
|
+
var aggregateMin = baseAggregateFunc(BuildinCalls_exports.min);
|
|
12074
|
+
var aggregateMax = baseAggregateFunc(BuildinCalls_exports.max);
|
|
12075
|
+
var aggregateAvg = baseAggregateFunc(BuildinCalls_exports.avg);
|
|
12076
|
+
var aggregateSample = baseAggregateFunc(BuildinCalls_exports.sample);
|
|
12077
|
+
var aggregateGroup_concat = {
|
|
12078
|
+
name: unCapitalize(BuildinCalls_exports.groupConcat.name),
|
|
12079
|
+
impl: ({ ACTION, CONSUME, OPTION1, SUBRULE, OPTION2 }) => (C) => {
|
|
12080
|
+
const operatorToken = CONSUME(BuildinCalls_exports.groupConcat);
|
|
12081
|
+
CONSUME(symbols_exports.LParen);
|
|
12082
|
+
const distinctToken = OPTION1(() => CONSUME(distinct));
|
|
12083
|
+
const expr = SUBRULE(expression);
|
|
12084
|
+
const sep = OPTION2(() => {
|
|
12085
|
+
CONSUME(symbols_exports.semi);
|
|
12086
|
+
CONSUME(separator);
|
|
12087
|
+
CONSUME(symbols_exports.equal);
|
|
12088
|
+
return SUBRULE(string);
|
|
12089
|
+
});
|
|
12090
|
+
const closeToken = CONSUME(symbols_exports.RParen);
|
|
12091
|
+
return ACTION(() => {
|
|
12092
|
+
const F3 = C.factory;
|
|
12093
|
+
return F3.aggregate(
|
|
12094
|
+
operatorToken.image,
|
|
12095
|
+
Boolean(distinctToken),
|
|
12096
|
+
expr,
|
|
12097
|
+
sep?.value ?? " ",
|
|
12098
|
+
F3.sourceLocation(operatorToken, closeToken)
|
|
12099
|
+
);
|
|
12100
|
+
});
|
|
12299
12101
|
}
|
|
12300
12102
|
};
|
|
12301
|
-
var
|
|
12302
|
-
name: "
|
|
12303
|
-
impl: ({ ACTION, SUBRULE,
|
|
12304
|
-
const
|
|
12305
|
-
|
|
12306
|
-
|
|
12307
|
-
{ ALT: () => SUBRULE(
|
|
12103
|
+
var aggregate = {
|
|
12104
|
+
name: "aggregate",
|
|
12105
|
+
impl: ({ ACTION, SUBRULE, OR }) => (C) => {
|
|
12106
|
+
const wasInAggregate = ACTION(() => C.parseMode.has("inAggregate"));
|
|
12107
|
+
ACTION(() => C.parseMode.add("inAggregate"));
|
|
12108
|
+
const result = OR([
|
|
12109
|
+
{ ALT: () => SUBRULE(aggregateCount) },
|
|
12110
|
+
{ ALT: () => SUBRULE(aggregateSum) },
|
|
12111
|
+
{ ALT: () => SUBRULE(aggregateMin) },
|
|
12112
|
+
{ ALT: () => SUBRULE(aggregateMax) },
|
|
12113
|
+
{ ALT: () => SUBRULE(aggregateAvg) },
|
|
12114
|
+
{ ALT: () => SUBRULE(aggregateSample) },
|
|
12115
|
+
{ ALT: () => SUBRULE(aggregateGroup_concat) }
|
|
12308
12116
|
]);
|
|
12309
|
-
|
|
12310
|
-
|
|
12117
|
+
ACTION(() => !wasInAggregate && C.parseMode.delete("inAggregate"));
|
|
12118
|
+
ACTION(() => {
|
|
12119
|
+
if (!C.parseMode.has("canParseAggregate")) {
|
|
12120
|
+
throw new Error("Aggregates are only allowed in SELECT, HAVING, and ORDER BY clauses.");
|
|
12121
|
+
}
|
|
12122
|
+
if (C.parseMode.has("inAggregate")) {
|
|
12123
|
+
throw new Error("An aggregate function is not allowed within an aggregate function.");
|
|
12124
|
+
}
|
|
12125
|
+
});
|
|
12126
|
+
return result;
|
|
12311
12127
|
},
|
|
12312
12128
|
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { factory: F3 }) => {
|
|
12313
|
-
F3.printFilter(ast, () =>
|
|
12314
|
-
|
|
12315
|
-
|
|
12129
|
+
F3.printFilter(ast, () => {
|
|
12130
|
+
PRINT_WORD(ast.aggregation, "(");
|
|
12131
|
+
if (ast.distinct) {
|
|
12132
|
+
PRINT_WORD("DISTINCT");
|
|
12133
|
+
}
|
|
12134
|
+
});
|
|
12135
|
+
const arg = ast.expression[0];
|
|
12136
|
+
if (F3.isWildcard(arg)) {
|
|
12137
|
+
F3.printFilter(ast, () => PRINT_WORD("*"));
|
|
12138
|
+
} else {
|
|
12139
|
+
SUBRULE(expression, arg);
|
|
12316
12140
|
}
|
|
12317
|
-
F3.
|
|
12141
|
+
if (F3.isExpressionAggregateSeparator(ast)) {
|
|
12142
|
+
F3.printFilter(ast, () => PRINT_WORD(";", "SEPARATOR", "=", stringEscapedLexical(ast.separator)));
|
|
12143
|
+
}
|
|
12144
|
+
F3.printFilter(ast, () => PRINT_WORD(")"));
|
|
12318
12145
|
}
|
|
12319
12146
|
};
|
|
12320
|
-
|
|
12321
|
-
|
|
12147
|
+
|
|
12148
|
+
// ../rules-sparql-1-1/lib/grammar/general.ts
|
|
12149
|
+
var prologue = {
|
|
12150
|
+
name: "prologue",
|
|
12151
|
+
impl: ({ SUBRULE, MANY, OR }) => () => {
|
|
12152
|
+
const result = [];
|
|
12153
|
+
MANY(() => OR([
|
|
12154
|
+
{ ALT: () => result.push(SUBRULE(baseDecl2)) },
|
|
12155
|
+
// TODO: the [spec](https://www.w3.org/TR/sparql11-query/#iriRefs) says you cannot redefine prefixes.
|
|
12156
|
+
// We might need to check this.
|
|
12157
|
+
{ ALT: () => result.push(SUBRULE(prefixDecl2)) }
|
|
12158
|
+
]));
|
|
12159
|
+
return result;
|
|
12160
|
+
},
|
|
12322
12161
|
gImpl: ({ SUBRULE }) => (ast, { factory: F3 }) => {
|
|
12323
|
-
|
|
12324
|
-
|
|
12325
|
-
context
|
|
12326
|
-
|
|
12327
|
-
|
|
12328
|
-
|
|
12329
|
-
solutionModifiers: ast.solutionModifiers,
|
|
12330
|
-
values: ast.values,
|
|
12331
|
-
distinct: ast.distinct,
|
|
12332
|
-
reduced: ast.reduced
|
|
12333
|
-
}, ast.loc), void 0);
|
|
12334
|
-
} else if (ast.subType === "group") {
|
|
12335
|
-
SUBRULE(groupGraphPattern, ast, void 0);
|
|
12336
|
-
} else if (ast.subType === "bgp") {
|
|
12337
|
-
SUBRULE(triplesBlock, ast, void 0);
|
|
12338
|
-
} else {
|
|
12339
|
-
SUBRULE(graphPatternNotTriples, ast, void 0);
|
|
12162
|
+
for (const context of ast) {
|
|
12163
|
+
if (F3.isContextDefinitionBase(context)) {
|
|
12164
|
+
SUBRULE(baseDecl2, context);
|
|
12165
|
+
} else if (F3.isContextDefinitionPrefix(context)) {
|
|
12166
|
+
SUBRULE(prefixDecl2, context);
|
|
12167
|
+
}
|
|
12340
12168
|
}
|
|
12341
12169
|
}
|
|
12342
12170
|
};
|
|
12343
|
-
var
|
|
12344
|
-
name: "
|
|
12345
|
-
impl: ({ ACTION,
|
|
12346
|
-
const
|
|
12347
|
-
const
|
|
12348
|
-
|
|
12349
|
-
|
|
12350
|
-
|
|
12351
|
-
|
|
12352
|
-
|
|
12353
|
-
|
|
12354
|
-
|
|
12355
|
-
|
|
12356
|
-
|
|
12357
|
-
|
|
12358
|
-
|
|
12171
|
+
var baseDecl2 = {
|
|
12172
|
+
name: "baseDecl",
|
|
12173
|
+
impl: ({ ACTION, CONSUME, SUBRULE }) => (C) => {
|
|
12174
|
+
const base = CONSUME(baseDecl);
|
|
12175
|
+
const val = SUBRULE(iriFull);
|
|
12176
|
+
return ACTION(() => C.factory.contextDefinitionBase(C.factory.sourceLocation(base, val), val));
|
|
12177
|
+
},
|
|
12178
|
+
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { factory: F3 }) => {
|
|
12179
|
+
F3.printFilter(ast, () => PRINT_WORD("BASE"));
|
|
12180
|
+
SUBRULE(iri2, ast.value);
|
|
12181
|
+
}
|
|
12182
|
+
};
|
|
12183
|
+
var prefixDecl2 = {
|
|
12184
|
+
name: "prefixDecl",
|
|
12185
|
+
impl: ({ ACTION, CONSUME, SUBRULE }) => (C) => {
|
|
12186
|
+
const prefix = CONSUME(prefixDecl);
|
|
12187
|
+
const name = CONSUME(terminals_exports.pNameNs).image.slice(0, -1);
|
|
12188
|
+
const value = SUBRULE(iriFull);
|
|
12189
|
+
return ACTION(() => C.factory.contextDefinitionPrefix(C.factory.sourceLocation(prefix, value), name, value));
|
|
12190
|
+
},
|
|
12191
|
+
gImpl: ({ SUBRULE, PRINT_WORDS }) => (ast, { factory: F3 }) => {
|
|
12192
|
+
F3.printFilter(ast, () => {
|
|
12193
|
+
PRINT_WORDS("PREFIX", `${ast.key}:`);
|
|
12359
12194
|
});
|
|
12360
|
-
|
|
12361
|
-
return patterns;
|
|
12195
|
+
SUBRULE(iri2, ast.value);
|
|
12362
12196
|
}
|
|
12363
12197
|
};
|
|
12364
|
-
var
|
|
12365
|
-
name: "
|
|
12198
|
+
var verb = {
|
|
12199
|
+
name: "verb",
|
|
12366
12200
|
impl: ({ SUBRULE, OR }) => () => OR([
|
|
12367
|
-
{ ALT: () => SUBRULE(
|
|
12368
|
-
{ ALT: () => SUBRULE(
|
|
12369
|
-
|
|
12370
|
-
|
|
12371
|
-
|
|
12372
|
-
|
|
12373
|
-
|
|
12374
|
-
{
|
|
12201
|
+
{ ALT: () => SUBRULE(varOrIri) },
|
|
12202
|
+
{ ALT: () => SUBRULE(verbA) }
|
|
12203
|
+
])
|
|
12204
|
+
};
|
|
12205
|
+
var varOrTerm = {
|
|
12206
|
+
name: "varOrTerm",
|
|
12207
|
+
impl: ({ SUBRULE, OR }) => (C) => OR([
|
|
12208
|
+
{ GATE: () => C.parseMode.has("canParseVars"), ALT: () => SUBRULE(var_) },
|
|
12209
|
+
{ ALT: () => SUBRULE(graphTerm) }
|
|
12375
12210
|
]),
|
|
12376
|
-
gImpl: ({ SUBRULE }) => (ast) => {
|
|
12377
|
-
|
|
12378
|
-
|
|
12379
|
-
case "union":
|
|
12380
|
-
SUBRULE(groupOrUnionGraphPattern, ast, void 0);
|
|
12381
|
-
break;
|
|
12382
|
-
case "optional":
|
|
12383
|
-
SUBRULE(optionalGraphPattern, ast, void 0);
|
|
12384
|
-
break;
|
|
12385
|
-
case "minus":
|
|
12386
|
-
SUBRULE(minusGraphPattern, ast, void 0);
|
|
12387
|
-
break;
|
|
12388
|
-
case "graph":
|
|
12389
|
-
SUBRULE(graphGraphPattern, ast, void 0);
|
|
12390
|
-
break;
|
|
12391
|
-
case "service":
|
|
12392
|
-
SUBRULE(serviceGraphPattern, ast, void 0);
|
|
12393
|
-
break;
|
|
12394
|
-
case "filter":
|
|
12395
|
-
SUBRULE(filter3, ast, void 0);
|
|
12396
|
-
break;
|
|
12397
|
-
case "bind":
|
|
12398
|
-
SUBRULE(bind2, ast, void 0);
|
|
12399
|
-
break;
|
|
12400
|
-
case "values":
|
|
12401
|
-
SUBRULE(inlineData, ast, void 0);
|
|
12402
|
-
break;
|
|
12211
|
+
gImpl: ({ SUBRULE }) => (ast, { factory: F3 }) => {
|
|
12212
|
+
if (F3.isTermVariable(ast)) {
|
|
12213
|
+
return SUBRULE(var_, ast);
|
|
12403
12214
|
}
|
|
12215
|
+
return SUBRULE(graphTerm, ast);
|
|
12404
12216
|
}
|
|
12405
12217
|
};
|
|
12406
|
-
var
|
|
12407
|
-
name: "
|
|
12408
|
-
impl: ({
|
|
12409
|
-
|
|
12410
|
-
|
|
12411
|
-
|
|
12412
|
-
},
|
|
12413
|
-
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { factory: F3 }) => {
|
|
12414
|
-
F3.printFilter(ast, () => PRINT_WORD("OPTIONAL"));
|
|
12415
|
-
SUBRULE(groupGraphPattern, F3.patternGroup(ast.patterns, ast.loc), void 0);
|
|
12416
|
-
}
|
|
12218
|
+
var varOrIri = {
|
|
12219
|
+
name: "varOrIri",
|
|
12220
|
+
impl: ({ SUBRULE, OR }) => (C) => OR([
|
|
12221
|
+
{ GATE: () => C.parseMode.has("canParseVars"), ALT: () => SUBRULE(var_) },
|
|
12222
|
+
{ ALT: () => SUBRULE(iri2) }
|
|
12223
|
+
])
|
|
12417
12224
|
};
|
|
12418
|
-
var
|
|
12419
|
-
name: "
|
|
12420
|
-
impl: ({ ACTION,
|
|
12421
|
-
const
|
|
12422
|
-
|
|
12423
|
-
|
|
12424
|
-
|
|
12225
|
+
var var_ = {
|
|
12226
|
+
name: "var",
|
|
12227
|
+
impl: ({ ACTION, CONSUME, OR }) => (C) => {
|
|
12228
|
+
const varToken = OR([
|
|
12229
|
+
{ ALT: () => CONSUME(terminals_exports.var1) },
|
|
12230
|
+
{ ALT: () => CONSUME(terminals_exports.var2) }
|
|
12231
|
+
]);
|
|
12232
|
+
return ACTION(() => C.factory.variable(varToken.image.slice(1), C.factory.sourceLocation(varToken)));
|
|
12425
12233
|
},
|
|
12426
|
-
gImpl: ({
|
|
12427
|
-
F3.printFilter(ast, () => PRINT_WORD(
|
|
12428
|
-
SUBRULE(varOrTerm, ast.name, void 0);
|
|
12429
|
-
SUBRULE(groupGraphPattern, F3.patternGroup(ast.patterns, ast.loc), void 0);
|
|
12234
|
+
gImpl: ({ PRINT_WORD }) => (ast, { factory: F3 }) => {
|
|
12235
|
+
F3.printFilter(ast, () => PRINT_WORD(`?${ast.value}`));
|
|
12430
12236
|
}
|
|
12431
12237
|
};
|
|
12432
|
-
var
|
|
12433
|
-
name: "
|
|
12434
|
-
impl: ({ ACTION,
|
|
12435
|
-
|
|
12436
|
-
|
|
12437
|
-
|
|
12438
|
-
|
|
12439
|
-
|
|
12440
|
-
|
|
12441
|
-
|
|
12442
|
-
|
|
12443
|
-
|
|
12444
|
-
|
|
12445
|
-
|
|
12446
|
-
|
|
12447
|
-
|
|
12448
|
-
|
|
12449
|
-
|
|
12450
|
-
})
|
|
12451
|
-
|
|
12452
|
-
|
|
12238
|
+
var graphTerm = {
|
|
12239
|
+
name: "graphTerm",
|
|
12240
|
+
impl: ({ ACTION, SUBRULE, CONSUME, OR }) => (C) => OR([
|
|
12241
|
+
{ ALT: () => SUBRULE(iri2) },
|
|
12242
|
+
{ ALT: () => SUBRULE(rdfLiteral) },
|
|
12243
|
+
{ ALT: () => SUBRULE(numericLiteral) },
|
|
12244
|
+
{ ALT: () => SUBRULE(booleanLiteral) },
|
|
12245
|
+
{ GATE: () => C.parseMode.has("canCreateBlankNodes"), ALT: () => SUBRULE(blankNode) },
|
|
12246
|
+
{ ALT: () => {
|
|
12247
|
+
const tokenNil = CONSUME(terminals_exports.nil);
|
|
12248
|
+
return ACTION(() => C.factory.namedNode(C.factory.sourceLocation(tokenNil), "http://www.w3.org/1999/02/22-rdf-syntax-ns#nil" /* NIL */));
|
|
12249
|
+
} }
|
|
12250
|
+
]),
|
|
12251
|
+
gImpl: ({ SUBRULE }) => (ast, { factory: F3 }) => {
|
|
12252
|
+
if (F3.isTermNamed(ast)) {
|
|
12253
|
+
SUBRULE(iri2, ast);
|
|
12254
|
+
} else if (F3.isTermLiteral(ast)) {
|
|
12255
|
+
SUBRULE(rdfLiteral, ast);
|
|
12256
|
+
} else if (F3.isTermBlank(ast)) {
|
|
12257
|
+
SUBRULE(blankNode, ast);
|
|
12258
|
+
}
|
|
12453
12259
|
}
|
|
12454
12260
|
};
|
|
12455
|
-
|
|
12456
|
-
|
|
12457
|
-
|
|
12458
|
-
|
|
12459
|
-
|
|
12460
|
-
const expressionVal = SUBRULE(expression, void 0);
|
|
12461
|
-
CONSUME(as);
|
|
12462
|
-
const variable = SUBRULE(var_, void 0);
|
|
12463
|
-
const close = CONSUME(symbols_exports.RParen);
|
|
12464
|
-
return ACTION(() => C.factory.patternBind(expressionVal, variable, C.factory.sourceLocation(bind3, close)));
|
|
12465
|
-
},
|
|
12466
|
-
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { factory: F3 }) => {
|
|
12467
|
-
F3.printFilter(ast, () => PRINT_WORD("BIND", "("));
|
|
12468
|
-
SUBRULE(expression, ast.expression, void 0);
|
|
12469
|
-
F3.printFilter(ast, () => PRINT_WORD("AS"));
|
|
12470
|
-
SUBRULE(var_, ast.variable, void 0);
|
|
12471
|
-
F3.printFilter(ast, () => PRINT_WORD(")"));
|
|
12472
|
-
}
|
|
12261
|
+
|
|
12262
|
+
// ../rules-sparql-1-1/lib/grammar/propertyPaths.ts
|
|
12263
|
+
var path = {
|
|
12264
|
+
name: "path",
|
|
12265
|
+
impl: ({ SUBRULE }) => () => SUBRULE(pathAlternative)
|
|
12473
12266
|
};
|
|
12474
|
-
var
|
|
12475
|
-
name: "
|
|
12476
|
-
|
|
12477
|
-
|
|
12478
|
-
|
|
12479
|
-
|
|
12480
|
-
|
|
12481
|
-
|
|
12482
|
-
|
|
12483
|
-
|
|
12484
|
-
|
|
12485
|
-
|
|
12486
|
-
|
|
12487
|
-
|
|
12488
|
-
|
|
12489
|
-
|
|
12490
|
-
|
|
12491
|
-
F3.printFilter(ast, () => PRINT_WORD("("));
|
|
12492
|
-
for (const variable of variables) {
|
|
12493
|
-
if (mapping[variable] === void 0) {
|
|
12494
|
-
F3.printFilter(ast, () => PRINT_WORD("UNDEF"));
|
|
12495
|
-
} else {
|
|
12496
|
-
SUBRULE(graphNodePath, mapping[variable], void 0);
|
|
12267
|
+
var pathGenerator = {
|
|
12268
|
+
name: "path",
|
|
12269
|
+
gImpl: ({ PRINT, SUBRULE }) => (ast, { factory: F3 }, braces = true) => {
|
|
12270
|
+
if (F3.isTerm(ast) && F3.isTermNamed(ast)) {
|
|
12271
|
+
SUBRULE(iri2, ast);
|
|
12272
|
+
} else {
|
|
12273
|
+
F3.printFilter(ast, () => braces && PRINT("("));
|
|
12274
|
+
switch (ast.subType) {
|
|
12275
|
+
case "|":
|
|
12276
|
+
case "/": {
|
|
12277
|
+
const [head2, ...tail] = ast.items;
|
|
12278
|
+
SUBRULE(pathGenerator, head2, braces);
|
|
12279
|
+
for (const val of tail) {
|
|
12280
|
+
F3.printFilter(ast, () => PRINT(ast.subType));
|
|
12281
|
+
SUBRULE(pathGenerator, val, braces);
|
|
12282
|
+
}
|
|
12283
|
+
break;
|
|
12497
12284
|
}
|
|
12285
|
+
case "^":
|
|
12286
|
+
F3.printFilter(ast, () => PRINT("^"));
|
|
12287
|
+
SUBRULE(pathGenerator, ast.items[0], braces);
|
|
12288
|
+
break;
|
|
12289
|
+
case "?":
|
|
12290
|
+
case "*":
|
|
12291
|
+
case "+":
|
|
12292
|
+
SUBRULE(pathGenerator, ast.items[0], braces);
|
|
12293
|
+
F3.printFilter(ast, () => PRINT(ast.subType));
|
|
12294
|
+
break;
|
|
12295
|
+
case "!":
|
|
12296
|
+
F3.printFilter(ast, () => PRINT("!"));
|
|
12297
|
+
F3.printFilter(ast, () => PRINT("("));
|
|
12298
|
+
SUBRULE(pathGenerator, ast.items[0], false);
|
|
12299
|
+
F3.printFilter(ast, () => PRINT(")"));
|
|
12300
|
+
break;
|
|
12498
12301
|
}
|
|
12499
|
-
F3.printFilter(ast, () =>
|
|
12302
|
+
F3.printFilter(ast, () => braces && PRINT(")"));
|
|
12500
12303
|
}
|
|
12501
|
-
F3.printFilter(ast, () => PRINT_WORD("}"));
|
|
12502
12304
|
}
|
|
12503
12305
|
};
|
|
12504
|
-
|
|
12505
|
-
|
|
12506
|
-
|
|
12507
|
-
{
|
|
12508
|
-
|
|
12306
|
+
function pathChainHelper(name, SEP, subType, subRule) {
|
|
12307
|
+
return {
|
|
12308
|
+
name,
|
|
12309
|
+
impl: ({ ACTION, CONSUME, SUBRULE1, SUBRULE2, MANY }) => (C) => {
|
|
12310
|
+
const head2 = SUBRULE1(subRule);
|
|
12311
|
+
let tailEnd = head2;
|
|
12312
|
+
const tail = [];
|
|
12313
|
+
MANY(() => {
|
|
12314
|
+
CONSUME(SEP);
|
|
12315
|
+
tailEnd = SUBRULE2(subRule);
|
|
12316
|
+
tail.push(tailEnd);
|
|
12317
|
+
});
|
|
12318
|
+
return ACTION(() => tail.length === 0 ? head2 : C.factory.path(subType, [head2, ...tail], C.factory.sourceLocation(head2, tailEnd)));
|
|
12319
|
+
}
|
|
12320
|
+
};
|
|
12321
|
+
}
|
|
12322
|
+
var pathEltOrInverse = {
|
|
12323
|
+
name: "pathEltOrInverse",
|
|
12324
|
+
impl: ({ ACTION, CONSUME, SUBRULE1, SUBRULE2, OR }) => (C) => OR([
|
|
12325
|
+
{ ALT: () => SUBRULE1(pathElt) },
|
|
12326
|
+
{ ALT: () => {
|
|
12327
|
+
const hat2 = CONSUME(symbols_exports.hat);
|
|
12328
|
+
const item = SUBRULE2(pathElt);
|
|
12329
|
+
return ACTION(() => C.factory.path("^", [item], C.factory.sourceLocation(hat2, item)));
|
|
12330
|
+
} }
|
|
12509
12331
|
])
|
|
12510
12332
|
};
|
|
12511
|
-
var
|
|
12512
|
-
|
|
12513
|
-
|
|
12514
|
-
|
|
12515
|
-
|
|
12516
|
-
|
|
12517
|
-
|
|
12518
|
-
|
|
12519
|
-
ACTION(() => {
|
|
12520
|
-
res.push({ [varVal.value]: value });
|
|
12521
|
-
});
|
|
12522
|
-
});
|
|
12523
|
-
const close = CONSUME(symbols_exports.RCurly);
|
|
12524
|
-
return ACTION(() => C.factory.wrap(res, C.factory.sourceLocation(varVal, close)));
|
|
12333
|
+
var pathSequence = pathChainHelper("pathSequence", symbols_exports.slash, "/", pathEltOrInverse);
|
|
12334
|
+
var pathAlternative = pathChainHelper("pathAlternative", symbols_exports.pipe, "|", pathSequence);
|
|
12335
|
+
var pathElt = {
|
|
12336
|
+
name: "pathElt",
|
|
12337
|
+
impl: ({ ACTION, SUBRULE, OPTION }) => (C) => {
|
|
12338
|
+
const item = SUBRULE(pathPrimary);
|
|
12339
|
+
const modification = OPTION(() => SUBRULE(pathMod));
|
|
12340
|
+
return ACTION(() => modification === void 0 ? item : C.factory.path(modification.image, [item], C.factory.sourceLocation(item, modification)));
|
|
12525
12341
|
}
|
|
12526
12342
|
};
|
|
12527
|
-
var
|
|
12528
|
-
name: "
|
|
12529
|
-
impl: ({
|
|
12530
|
-
|
|
12531
|
-
|
|
12532
|
-
|
|
12533
|
-
|
|
12534
|
-
|
|
12535
|
-
|
|
12536
|
-
|
|
12537
|
-
|
|
12538
|
-
|
|
12539
|
-
|
|
12540
|
-
|
|
12541
|
-
|
|
12343
|
+
var pathMod = {
|
|
12344
|
+
name: "pathMod",
|
|
12345
|
+
impl: ({ CONSUME, OR }) => () => OR([
|
|
12346
|
+
{ ALT: () => CONSUME(symbols_exports.question) },
|
|
12347
|
+
{ ALT: () => CONSUME(symbols_exports.star) },
|
|
12348
|
+
{ ALT: () => CONSUME(symbols_exports.opPlus) }
|
|
12349
|
+
])
|
|
12350
|
+
};
|
|
12351
|
+
var pathPrimary = {
|
|
12352
|
+
name: "pathPrimary",
|
|
12353
|
+
impl: ({ SUBRULE, CONSUME, OR }) => () => OR([
|
|
12354
|
+
{ ALT: () => SUBRULE(iri2) },
|
|
12355
|
+
{ ALT: () => SUBRULE(verbA) },
|
|
12356
|
+
{ ALT: () => SUBRULE(pathNegatedPropertySet) },
|
|
12357
|
+
{ ALT: () => {
|
|
12358
|
+
CONSUME(symbols_exports.LParen);
|
|
12359
|
+
const resRecursive = SUBRULE(path);
|
|
12360
|
+
CONSUME(symbols_exports.RParen);
|
|
12361
|
+
return resRecursive;
|
|
12362
|
+
} }
|
|
12363
|
+
])
|
|
12364
|
+
};
|
|
12365
|
+
var pathNegatedPropertySet = {
|
|
12366
|
+
name: "pathNegatedPropertySet",
|
|
12367
|
+
impl: ({ ACTION, CONSUME, SUBRULE1, SUBRULE2, SUBRULE3, OR, MANY }) => (C) => {
|
|
12368
|
+
const exclamation2 = CONSUME(symbols_exports.exclamation);
|
|
12542
12369
|
return OR([
|
|
12543
12370
|
{ ALT: () => {
|
|
12544
|
-
const
|
|
12545
|
-
|
|
12546
|
-
MANY1(() => {
|
|
12547
|
-
CONSUME2(terminals_exports.nil);
|
|
12548
|
-
res.push({});
|
|
12549
|
-
});
|
|
12550
|
-
const close = CONSUME1(symbols_exports.RCurly);
|
|
12551
|
-
return ACTION(() => C.factory.wrap(res, C.factory.sourceLocation(nil2, close)));
|
|
12371
|
+
const noAlternative = SUBRULE1(pathOneInPropertySet);
|
|
12372
|
+
return ACTION(() => C.factory.path("!", [noAlternative], C.factory.sourceLocation(exclamation2, noAlternative)));
|
|
12552
12373
|
} },
|
|
12553
12374
|
{ ALT: () => {
|
|
12554
|
-
const open =
|
|
12555
|
-
|
|
12556
|
-
|
|
12375
|
+
const open = CONSUME(symbols_exports.LParen);
|
|
12376
|
+
const head2 = SUBRULE2(pathOneInPropertySet);
|
|
12377
|
+
const tail = [];
|
|
12378
|
+
MANY(() => {
|
|
12379
|
+
CONSUME(symbols_exports.pipe);
|
|
12380
|
+
const item = SUBRULE3(pathOneInPropertySet);
|
|
12381
|
+
tail.push(item);
|
|
12557
12382
|
});
|
|
12558
|
-
|
|
12559
|
-
|
|
12560
|
-
|
|
12561
|
-
|
|
12562
|
-
|
|
12563
|
-
|
|
12564
|
-
|
|
12565
|
-
|
|
12566
|
-
|
|
12567
|
-
|
|
12568
|
-
|
|
12569
|
-
ACTION(() => {
|
|
12570
|
-
currentRow[vars[parsedValues].value] = value;
|
|
12571
|
-
parsedValues++;
|
|
12572
|
-
});
|
|
12573
|
-
});
|
|
12574
|
-
CONSUME2(symbols_exports.RParen);
|
|
12575
|
-
ACTION(() => {
|
|
12576
|
-
res.push(currentRow);
|
|
12577
|
-
if (vars.length !== parsedValues) {
|
|
12578
|
-
throw new Error("Number of dataBlockValues does not match number of variables. Too few values.");
|
|
12579
|
-
}
|
|
12580
|
-
});
|
|
12383
|
+
const close = CONSUME(symbols_exports.RParen);
|
|
12384
|
+
return ACTION(() => {
|
|
12385
|
+
const F3 = C.factory;
|
|
12386
|
+
if (tail.length === 0) {
|
|
12387
|
+
return F3.path("!", [head2], F3.sourceLocation(exclamation2, close));
|
|
12388
|
+
}
|
|
12389
|
+
return F3.path(
|
|
12390
|
+
"!",
|
|
12391
|
+
[F3.path("|", [head2, ...tail], F3.sourceLocation(open, close))],
|
|
12392
|
+
F3.sourceLocation(exclamation2, close)
|
|
12393
|
+
);
|
|
12581
12394
|
});
|
|
12582
|
-
const close = CONSUME2(symbols_exports.RCurly);
|
|
12583
|
-
return ACTION(() => C.factory.wrap(res, C.factory.sourceLocation(open, close)));
|
|
12584
12395
|
} }
|
|
12585
12396
|
]);
|
|
12586
12397
|
}
|
|
12587
12398
|
};
|
|
12588
|
-
var
|
|
12589
|
-
name: "
|
|
12590
|
-
impl: ({
|
|
12591
|
-
{ ALT: () =>
|
|
12592
|
-
{ ALT: () =>
|
|
12593
|
-
{ ALT: () => SUBRULE(numericLiteral, void 0) },
|
|
12594
|
-
{ ALT: () => SUBRULE(booleanLiteral, void 0) },
|
|
12399
|
+
var pathOneInPropertySet = {
|
|
12400
|
+
name: "pathOneInPropertySet",
|
|
12401
|
+
impl: ({ ACTION, CONSUME, SUBRULE1, SUBRULE2, OR1, OR2 }) => (C) => OR1([
|
|
12402
|
+
{ ALT: () => SUBRULE1(iri2) },
|
|
12403
|
+
{ ALT: () => SUBRULE1(verbA) },
|
|
12595
12404
|
{ ALT: () => {
|
|
12596
|
-
CONSUME(
|
|
12597
|
-
|
|
12405
|
+
const hat2 = CONSUME(symbols_exports.hat);
|
|
12406
|
+
const item = OR2([
|
|
12407
|
+
{ ALT: () => SUBRULE2(iri2) },
|
|
12408
|
+
{ ALT: () => SUBRULE2(verbA) }
|
|
12409
|
+
]);
|
|
12410
|
+
return ACTION(() => C.factory.path("^", [item], C.factory.sourceLocation(hat2, item)));
|
|
12598
12411
|
} }
|
|
12599
12412
|
])
|
|
12600
12413
|
};
|
|
12601
|
-
var minusGraphPattern = {
|
|
12602
|
-
name: "minusGraphPattern",
|
|
12603
|
-
impl: ({ ACTION, SUBRULE, CONSUME }) => (C) => {
|
|
12604
|
-
const minus2 = CONSUME(minus);
|
|
12605
|
-
const group = SUBRULE(groupGraphPattern, void 0);
|
|
12606
|
-
return ACTION(() => C.factory.patternMinus(group.patterns, C.factory.sourceLocation(minus2, group)));
|
|
12607
|
-
},
|
|
12608
|
-
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { factory: F3 }) => {
|
|
12609
|
-
F3.printFilter(ast, () => PRINT_WORD("MINUS"));
|
|
12610
|
-
SUBRULE(groupGraphPattern, F3.patternGroup(ast.patterns, ast.loc), void 0);
|
|
12611
|
-
}
|
|
12612
|
-
};
|
|
12613
|
-
var groupOrUnionGraphPattern = {
|
|
12614
|
-
name: "groupOrUnionGraphPattern",
|
|
12615
|
-
impl: ({ ACTION, MANY, SUBRULE1, SUBRULE2, CONSUME }) => (C) => {
|
|
12616
|
-
const groups = [];
|
|
12617
|
-
const group = SUBRULE1(groupGraphPattern, void 0);
|
|
12618
|
-
groups.push(group);
|
|
12619
|
-
MANY(() => {
|
|
12620
|
-
CONSUME(union);
|
|
12621
|
-
const group2 = SUBRULE2(groupGraphPattern, void 0);
|
|
12622
|
-
groups.push(group2);
|
|
12623
|
-
});
|
|
12624
|
-
return ACTION(() => groups.length === 1 ? groups[0] : C.factory.patternUnion(
|
|
12625
|
-
groups,
|
|
12626
|
-
C.factory.sourceLocation(group, groups.at(-1))
|
|
12627
|
-
));
|
|
12628
|
-
},
|
|
12629
|
-
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { factory: F3 }) => {
|
|
12630
|
-
if (F3.isPatternUnion(ast)) {
|
|
12631
|
-
const [head2, ...tail] = ast.patterns;
|
|
12632
|
-
SUBRULE(groupGraphPattern, head2, void 0);
|
|
12633
|
-
for (const pattern of tail) {
|
|
12634
|
-
F3.printFilter(ast, () => PRINT_WORD("UNION"));
|
|
12635
|
-
SUBRULE(groupGraphPattern, pattern, void 0);
|
|
12636
|
-
}
|
|
12637
|
-
} else {
|
|
12638
|
-
SUBRULE(groupGraphPattern, ast, void 0);
|
|
12639
|
-
}
|
|
12640
|
-
}
|
|
12641
|
-
};
|
|
12642
|
-
var filter3 = {
|
|
12643
|
-
name: "filter",
|
|
12644
|
-
impl: ({ ACTION, SUBRULE, CONSUME }) => (C) => {
|
|
12645
|
-
const filterToken = CONSUME(filter2);
|
|
12646
|
-
const expression2 = SUBRULE(constraint, void 0);
|
|
12647
|
-
return ACTION(() => C.factory.patternFilter(expression2, C.factory.sourceLocation(filterToken, expression2)));
|
|
12648
|
-
},
|
|
12649
|
-
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { factory: F3 }) => {
|
|
12650
|
-
F3.printFilter(ast, () => PRINT_WORD("FILTER ("));
|
|
12651
|
-
SUBRULE(expression, ast.expression, void 0);
|
|
12652
|
-
F3.printFilter(ast, () => PRINT_WORD(")"));
|
|
12653
|
-
}
|
|
12654
|
-
};
|
|
12655
|
-
var constraint = {
|
|
12656
|
-
name: "constraint",
|
|
12657
|
-
impl: ({ SUBRULE, OR }) => () => OR([
|
|
12658
|
-
{ ALT: () => SUBRULE(brackettedExpression, void 0) },
|
|
12659
|
-
{ ALT: () => SUBRULE(builtInCall, void 0) },
|
|
12660
|
-
{ ALT: () => SUBRULE(functionCall, void 0) }
|
|
12661
|
-
])
|
|
12662
|
-
};
|
|
12663
|
-
var functionCall = {
|
|
12664
|
-
name: "functionCall",
|
|
12665
|
-
impl: ({ ACTION, SUBRULE }) => (C) => {
|
|
12666
|
-
const func = SUBRULE(iri2, void 0);
|
|
12667
|
-
const args = SUBRULE(argList, void 0);
|
|
12668
|
-
return ACTION(() => C.factory.expressionFunctionCall(
|
|
12669
|
-
func,
|
|
12670
|
-
args.val.args,
|
|
12671
|
-
args.val.distinct,
|
|
12672
|
-
C.factory.sourceLocation(func, args)
|
|
12673
|
-
));
|
|
12674
|
-
}
|
|
12675
|
-
};
|
|
12676
12414
|
|
|
12677
|
-
// ../rules-sparql-1-1/lib/
|
|
12678
|
-
function
|
|
12679
|
-
return {
|
|
12680
|
-
|
|
12681
|
-
|
|
12682
|
-
|
|
12683
|
-
|
|
12684
|
-
|
|
12685
|
-
|
|
12686
|
-
|
|
12687
|
-
|
|
12415
|
+
// ../rules-sparql-1-1/lib/grammar/tripleBlock.ts
|
|
12416
|
+
function triplesDotSeperated(triplesSameSubjectSubrule) {
|
|
12417
|
+
return ({ ACTION, AT_LEAST_ONE, SUBRULE, CONSUME, OPTION }) => (C) => {
|
|
12418
|
+
const triples = [];
|
|
12419
|
+
let parsedDot = true;
|
|
12420
|
+
let dotToken;
|
|
12421
|
+
AT_LEAST_ONE({
|
|
12422
|
+
GATE: () => parsedDot,
|
|
12423
|
+
DEF: () => {
|
|
12424
|
+
parsedDot = false;
|
|
12425
|
+
const template = SUBRULE(triplesSameSubjectSubrule);
|
|
12426
|
+
ACTION(() => {
|
|
12427
|
+
triples.push(...template);
|
|
12428
|
+
});
|
|
12429
|
+
OPTION(() => {
|
|
12430
|
+
dotToken = CONSUME(symbols_exports.dot);
|
|
12431
|
+
parsedDot = true;
|
|
12432
|
+
});
|
|
12433
|
+
}
|
|
12434
|
+
});
|
|
12435
|
+
return ACTION(() => C.factory.patternBgp(triples, C.factory.sourceLocation(...triples, dotToken)));
|
|
12688
12436
|
};
|
|
12689
12437
|
}
|
|
12690
|
-
|
|
12691
|
-
|
|
12692
|
-
|
|
12693
|
-
|
|
12694
|
-
|
|
12695
|
-
|
|
12696
|
-
|
|
12697
|
-
|
|
12698
|
-
|
|
12699
|
-
|
|
12700
|
-
|
|
12438
|
+
var triplesBlock = {
|
|
12439
|
+
name: "triplesBlock",
|
|
12440
|
+
impl: (implArgs) => (C) => triplesDotSeperated(triplesSameSubjectPath)(implArgs)(C),
|
|
12441
|
+
gImpl: ({ SUBRULE, PRINT_WORD, HANDLE_LOC }) => (ast, { factory: F3 }) => {
|
|
12442
|
+
for (const [index, triple] of ast.triples.entries()) {
|
|
12443
|
+
HANDLE_LOC(triple, () => {
|
|
12444
|
+
const nextTriple = ast.triples.at(index);
|
|
12445
|
+
if (F3.isTripleCollection(triple)) {
|
|
12446
|
+
SUBRULE(graphNodePath, triple);
|
|
12447
|
+
F3.printFilter(triple, () => PRINT_WORD("."));
|
|
12448
|
+
} else {
|
|
12449
|
+
SUBRULE(graphNodePath, triple.subject);
|
|
12450
|
+
if (F3.isTerm(triple.predicate) && F3.isTermVariable(triple.predicate)) {
|
|
12451
|
+
SUBRULE(varOrTerm, triple.predicate);
|
|
12452
|
+
} else {
|
|
12453
|
+
SUBRULE(pathGenerator, triple.predicate, void 0);
|
|
12454
|
+
}
|
|
12455
|
+
SUBRULE(graphNodePath, triple.object);
|
|
12456
|
+
if (nextTriple === void 0 || F3.isTripleCollection(nextTriple) || !F3.isSourceLocationNoMaterialize(nextTriple.subject.loc)) {
|
|
12457
|
+
F3.printFilter(ast, () => PRINT_WORD("."));
|
|
12458
|
+
} else if (F3.isSourceLocationNoMaterialize(nextTriple.predicate.loc)) {
|
|
12459
|
+
F3.printFilter(ast, () => PRINT_WORD(","));
|
|
12460
|
+
} else {
|
|
12461
|
+
F3.printFilter(ast, () => PRINT_WORD(";"));
|
|
12462
|
+
}
|
|
12463
|
+
}
|
|
12464
|
+
});
|
|
12701
12465
|
}
|
|
12702
|
-
}
|
|
12703
|
-
}
|
|
12704
|
-
function
|
|
12466
|
+
}
|
|
12467
|
+
};
|
|
12468
|
+
function triplesSameSubjectImpl(name, allowPaths) {
|
|
12705
12469
|
return {
|
|
12706
|
-
name
|
|
12707
|
-
impl: ({ ACTION,
|
|
12708
|
-
|
|
12709
|
-
|
|
12710
|
-
|
|
12711
|
-
|
|
12712
|
-
|
|
12713
|
-
|
|
12714
|
-
|
|
12715
|
-
|
|
12716
|
-
|
|
12717
|
-
|
|
12470
|
+
name,
|
|
12471
|
+
impl: ({ ACTION, SUBRULE, OR }) => (C) => OR([
|
|
12472
|
+
{ ALT: () => {
|
|
12473
|
+
const subject = SUBRULE(varOrTerm);
|
|
12474
|
+
const res = SUBRULE(
|
|
12475
|
+
allowPaths ? propertyListPathNotEmpty : propertyListNotEmpty,
|
|
12476
|
+
ACTION(() => C.factory.dematerialized(subject))
|
|
12477
|
+
);
|
|
12478
|
+
return ACTION(() => {
|
|
12479
|
+
if (res.length > 0) {
|
|
12480
|
+
res[0].subject = subject;
|
|
12481
|
+
res[0].loc = C.factory.sourceLocation(subject, res[0]);
|
|
12482
|
+
}
|
|
12483
|
+
return res;
|
|
12484
|
+
});
|
|
12485
|
+
} },
|
|
12486
|
+
{ ALT: () => {
|
|
12487
|
+
const subjectNode = SUBRULE(allowPaths ? triplesNodePath : triplesNode);
|
|
12488
|
+
const restNode = SUBRULE(
|
|
12489
|
+
allowPaths ? propertyListPath : propertyList,
|
|
12490
|
+
ACTION(() => C.factory.graphNodeIdentifier(subjectNode))
|
|
12491
|
+
);
|
|
12492
|
+
return ACTION(() => {
|
|
12493
|
+
if (restNode.length === 0) {
|
|
12494
|
+
return [subjectNode];
|
|
12495
|
+
}
|
|
12496
|
+
restNode[0].subject = subjectNode;
|
|
12497
|
+
restNode[0].loc = C.factory.sourceLocation(subjectNode, restNode[0]);
|
|
12498
|
+
return restNode;
|
|
12499
|
+
});
|
|
12500
|
+
} }
|
|
12501
|
+
])
|
|
12718
12502
|
};
|
|
12719
12503
|
}
|
|
12720
|
-
|
|
12504
|
+
var triplesSameSubject = triplesSameSubjectImpl("triplesSameSubject", false);
|
|
12505
|
+
var triplesSameSubjectPath = triplesSameSubjectImpl("triplesSameSubjectPath", true);
|
|
12506
|
+
var triplesTemplate = {
|
|
12507
|
+
name: "triplesTemplate",
|
|
12508
|
+
impl: triplesDotSeperated(triplesSameSubject)
|
|
12509
|
+
};
|
|
12510
|
+
function propertyListImpl(name, allowPaths) {
|
|
12721
12511
|
return {
|
|
12722
|
-
name
|
|
12723
|
-
impl: ({
|
|
12724
|
-
const operator = CONSUME(func);
|
|
12725
|
-
CONSUME(symbols_exports.LParen);
|
|
12726
|
-
const arg = SUBRULE(var_, void 0);
|
|
12727
|
-
const close = CONSUME(symbols_exports.RParen);
|
|
12728
|
-
return ACTION(() => C.factory.expressionOperation(operator.image, [arg], C.factory.sourceLocation(operator, close)));
|
|
12729
|
-
}
|
|
12512
|
+
name,
|
|
12513
|
+
impl: ({ SUBRULE, OPTION }) => (_, subject) => OPTION(() => SUBRULE(allowPaths ? propertyListPathNotEmpty : propertyListNotEmpty, subject)) ?? []
|
|
12730
12514
|
};
|
|
12731
12515
|
}
|
|
12732
|
-
|
|
12516
|
+
var propertyList = propertyListImpl("propertyList", false);
|
|
12517
|
+
var propertyListPath = propertyListImpl("propertyListPath", true);
|
|
12518
|
+
function propertyListNotEmptyImplementation(name, allowPaths) {
|
|
12733
12519
|
return {
|
|
12734
|
-
name
|
|
12735
|
-
impl: ({ ACTION, CONSUME,
|
|
12736
|
-
const
|
|
12737
|
-
|
|
12738
|
-
|
|
12739
|
-
|
|
12740
|
-
|
|
12741
|
-
|
|
12742
|
-
|
|
12743
|
-
|
|
12744
|
-
|
|
12745
|
-
|
|
12746
|
-
|
|
12747
|
-
|
|
12748
|
-
|
|
12520
|
+
name,
|
|
12521
|
+
impl: ({ ACTION, CONSUME, AT_LEAST_ONE, SUBRULE1, MANY2, OR1 }) => (_, subject) => {
|
|
12522
|
+
const result = [];
|
|
12523
|
+
let parsedSemi = true;
|
|
12524
|
+
AT_LEAST_ONE({
|
|
12525
|
+
GATE: () => parsedSemi,
|
|
12526
|
+
DEF: () => {
|
|
12527
|
+
parsedSemi = false;
|
|
12528
|
+
const predicate = allowPaths ? OR1([
|
|
12529
|
+
{ ALT: () => SUBRULE1(verbPath) },
|
|
12530
|
+
{ ALT: () => SUBRULE1(verbSimple) }
|
|
12531
|
+
]) : SUBRULE1(verb);
|
|
12532
|
+
const triples = SUBRULE1(
|
|
12533
|
+
allowPaths ? objectListPath : objectList,
|
|
12534
|
+
subject,
|
|
12535
|
+
predicate
|
|
12536
|
+
);
|
|
12537
|
+
MANY2(() => {
|
|
12538
|
+
CONSUME(symbols_exports.semi);
|
|
12539
|
+
parsedSemi = true;
|
|
12540
|
+
});
|
|
12541
|
+
ACTION(() => {
|
|
12542
|
+
result.push(...triples);
|
|
12543
|
+
});
|
|
12544
|
+
}
|
|
12545
|
+
});
|
|
12546
|
+
return result;
|
|
12749
12547
|
}
|
|
12750
12548
|
};
|
|
12751
12549
|
}
|
|
12752
|
-
|
|
12550
|
+
var propertyListNotEmpty = propertyListNotEmptyImplementation("propertyListNotEmpty", false);
|
|
12551
|
+
var propertyListPathNotEmpty = propertyListNotEmptyImplementation("propertyListPathNotEmpty", true);
|
|
12552
|
+
var verbPath = {
|
|
12553
|
+
name: "verbPath",
|
|
12554
|
+
impl: ({ SUBRULE }) => () => SUBRULE(path)
|
|
12555
|
+
};
|
|
12556
|
+
var verbSimple = {
|
|
12557
|
+
name: "verbSimple",
|
|
12558
|
+
impl: ({ SUBRULE }) => () => SUBRULE(var_)
|
|
12559
|
+
};
|
|
12560
|
+
function objectListImpl(name, allowPaths) {
|
|
12753
12561
|
return {
|
|
12754
|
-
name
|
|
12755
|
-
impl: ({ ACTION,
|
|
12756
|
-
const
|
|
12757
|
-
|
|
12758
|
-
|
|
12562
|
+
name,
|
|
12563
|
+
impl: ({ ACTION, SUBRULE, AT_LEAST_ONE_SEP }) => (_, subj, pred) => {
|
|
12564
|
+
const objects = [];
|
|
12565
|
+
AT_LEAST_ONE_SEP({
|
|
12566
|
+
SEP: symbols_exports.comma,
|
|
12567
|
+
DEF: () => {
|
|
12568
|
+
const objectTriple = SUBRULE(allowPaths ? objectPath : object, subj, pred);
|
|
12569
|
+
ACTION(() => {
|
|
12570
|
+
objects.push(objectTriple);
|
|
12571
|
+
});
|
|
12572
|
+
}
|
|
12573
|
+
});
|
|
12574
|
+
return objects;
|
|
12759
12575
|
}
|
|
12760
12576
|
};
|
|
12761
12577
|
}
|
|
12762
|
-
|
|
12578
|
+
var objectList = objectListImpl("objectList", false);
|
|
12579
|
+
var objectListPath = objectListImpl("objectListPath", true);
|
|
12580
|
+
function objectImpl(name, allowPaths) {
|
|
12763
12581
|
return {
|
|
12764
|
-
name
|
|
12765
|
-
impl: ({ ACTION,
|
|
12766
|
-
const
|
|
12767
|
-
|
|
12768
|
-
return ACTION(() => C.factory.expressionOperation(operator.image, args.val, C.factory.sourceLocation(operator, args)));
|
|
12582
|
+
name,
|
|
12583
|
+
impl: ({ ACTION, SUBRULE }) => (C, subject, predicate) => {
|
|
12584
|
+
const node = SUBRULE(allowPaths ? graphNodePath : graphNode);
|
|
12585
|
+
return ACTION(() => C.factory.triple(subject, predicate, node));
|
|
12769
12586
|
}
|
|
12770
12587
|
};
|
|
12771
12588
|
}
|
|
12772
|
-
|
|
12589
|
+
var object = objectImpl("object", false);
|
|
12590
|
+
var objectPath = objectImpl("objectPath", true);
|
|
12591
|
+
function collectionImpl(name, allowPaths) {
|
|
12773
12592
|
return {
|
|
12774
|
-
name
|
|
12775
|
-
impl: ({ ACTION,
|
|
12776
|
-
const
|
|
12777
|
-
CONSUME(symbols_exports.LParen);
|
|
12778
|
-
|
|
12779
|
-
|
|
12780
|
-
const arg2 = SUBRULE2(expression, void 0);
|
|
12781
|
-
const arg3 = OPTION(() => {
|
|
12782
|
-
CONSUME2(symbols_exports.comma);
|
|
12783
|
-
return SUBRULE3(expression, void 0);
|
|
12593
|
+
name,
|
|
12594
|
+
impl: ({ ACTION, AT_LEAST_ONE, SUBRULE, CONSUME }) => (C) => {
|
|
12595
|
+
const terms = [];
|
|
12596
|
+
const startToken = CONSUME(symbols_exports.LParen);
|
|
12597
|
+
AT_LEAST_ONE(() => {
|
|
12598
|
+
terms.push(SUBRULE(allowPaths ? graphNodePath : graphNode));
|
|
12784
12599
|
});
|
|
12785
|
-
const
|
|
12786
|
-
return ACTION(() =>
|
|
12787
|
-
|
|
12788
|
-
|
|
12789
|
-
|
|
12790
|
-
|
|
12600
|
+
const endToken = CONSUME(symbols_exports.RParen);
|
|
12601
|
+
return ACTION(() => {
|
|
12602
|
+
const F3 = C.factory;
|
|
12603
|
+
const triples = [];
|
|
12604
|
+
const predFirst = F3.namedNode(F3.sourceLocationNoMaterialize(), "http://www.w3.org/1999/02/22-rdf-syntax-ns#first" /* FIRST */, void 0);
|
|
12605
|
+
const predRest = F3.namedNode(F3.sourceLocationNoMaterialize(), "http://www.w3.org/1999/02/22-rdf-syntax-ns#rest" /* REST */, void 0);
|
|
12606
|
+
const predNil = F3.namedNode(F3.sourceLocationNoMaterialize(), "http://www.w3.org/1999/02/22-rdf-syntax-ns#nil" /* NIL */, void 0);
|
|
12607
|
+
const listHead = F3.blankNode(void 0, F3.sourceLocationNoMaterialize());
|
|
12608
|
+
let iterHead = listHead;
|
|
12609
|
+
for (const [index, term] of terms.entries()) {
|
|
12610
|
+
const lastInList = index === terms.length - 1;
|
|
12611
|
+
const headTriple = F3.triple(
|
|
12612
|
+
iterHead,
|
|
12613
|
+
predFirst,
|
|
12614
|
+
term
|
|
12615
|
+
);
|
|
12616
|
+
triples.push(headTriple);
|
|
12617
|
+
if (lastInList) {
|
|
12618
|
+
const nilTriple = F3.triple(iterHead, predRest, predNil);
|
|
12619
|
+
triples.push(nilTriple);
|
|
12620
|
+
} else {
|
|
12621
|
+
const tail = F3.blankNode(void 0, F3.sourceLocationNoMaterialize());
|
|
12622
|
+
const linkTriple = F3.triple(iterHead, predRest, tail);
|
|
12623
|
+
triples.push(linkTriple);
|
|
12624
|
+
iterHead = tail;
|
|
12625
|
+
}
|
|
12626
|
+
}
|
|
12627
|
+
return F3.tripleCollectionList(listHead, triples, F3.sourceLocation(startToken, endToken));
|
|
12628
|
+
});
|
|
12629
|
+
},
|
|
12630
|
+
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { factory: F3 }) => {
|
|
12631
|
+
F3.printFilter(ast, () => PRINT_WORD("("));
|
|
12632
|
+
for (const [idx, triple] of ast.triples.entries()) {
|
|
12633
|
+
if (idx % 2 === 0) {
|
|
12634
|
+
SUBRULE(allowPaths ? graphNodePath : graphNode, triple.object);
|
|
12635
|
+
}
|
|
12636
|
+
}
|
|
12637
|
+
F3.printFilter(ast, () => PRINT_WORD(")"));
|
|
12791
12638
|
}
|
|
12792
12639
|
};
|
|
12793
12640
|
}
|
|
12794
|
-
|
|
12641
|
+
var collection = collectionImpl("collection", false);
|
|
12642
|
+
var collectionPath = collectionImpl("collectionPath", true);
|
|
12643
|
+
function triplesNodeImpl(name, allowPaths) {
|
|
12795
12644
|
return {
|
|
12796
|
-
name
|
|
12797
|
-
impl: ({
|
|
12798
|
-
|
|
12799
|
-
|
|
12800
|
-
|
|
12801
|
-
|
|
12802
|
-
SUBRULE3,
|
|
12803
|
-
SUBRULE4,
|
|
12804
|
-
CONSUME1,
|
|
12805
|
-
OPTION,
|
|
12806
|
-
CONSUME2,
|
|
12807
|
-
CONSUME3
|
|
12808
|
-
}) => (C) => {
|
|
12809
|
-
const operator = CONSUME(func);
|
|
12810
|
-
CONSUME(symbols_exports.LParen);
|
|
12811
|
-
const arg1 = SUBRULE1(expression, void 0);
|
|
12812
|
-
CONSUME1(symbols_exports.comma);
|
|
12813
|
-
const arg2 = SUBRULE2(expression, void 0);
|
|
12814
|
-
CONSUME2(symbols_exports.comma);
|
|
12815
|
-
const arg3 = SUBRULE3(expression, void 0);
|
|
12816
|
-
const arg4 = OPTION(() => {
|
|
12817
|
-
CONSUME3(symbols_exports.comma);
|
|
12818
|
-
return SUBRULE4(expression, void 0);
|
|
12819
|
-
});
|
|
12820
|
-
const close = CONSUME(symbols_exports.RParen);
|
|
12821
|
-
return ACTION(() => C.factory.expressionOperation(
|
|
12822
|
-
operator.image,
|
|
12823
|
-
arg4 ? [arg1, arg2, arg3, arg4] : [arg1, arg2, arg3],
|
|
12824
|
-
C.factory.sourceLocation(operator, close)
|
|
12825
|
-
));
|
|
12826
|
-
}
|
|
12645
|
+
name,
|
|
12646
|
+
impl: ({ SUBRULE, OR }) => () => OR([
|
|
12647
|
+
{ ALT: () => SUBRULE(allowPaths ? collectionPath : collection) },
|
|
12648
|
+
{ ALT: () => SUBRULE(allowPaths ? blankNodePropertyListPath : blankNodePropertyList) }
|
|
12649
|
+
]),
|
|
12650
|
+
gImpl: ({ SUBRULE }) => (ast) => ast.subType === "list" ? SUBRULE(allowPaths ? collectionPath : collection, ast) : SUBRULE(allowPaths ? blankNodePropertyListPath : blankNodePropertyList, ast)
|
|
12827
12651
|
};
|
|
12828
12652
|
}
|
|
12829
|
-
|
|
12653
|
+
var triplesNode = triplesNodeImpl("triplesNode", false);
|
|
12654
|
+
var triplesNodePath = triplesNodeImpl("triplesNodePath", true);
|
|
12655
|
+
function blankNodePropertyListImpl(name, allowPaths) {
|
|
12656
|
+
const propertyPathNotEmptyImpl = allowPaths ? propertyListPathNotEmpty : propertyListNotEmpty;
|
|
12830
12657
|
return {
|
|
12831
|
-
name
|
|
12658
|
+
name,
|
|
12832
12659
|
impl: ({ ACTION, SUBRULE, CONSUME }) => (C) => {
|
|
12833
|
-
const
|
|
12834
|
-
const
|
|
12835
|
-
|
|
12836
|
-
|
|
12837
|
-
|
|
12838
|
-
|
|
12660
|
+
const startToken = CONSUME(symbols_exports.LSquare);
|
|
12661
|
+
const blankNode2 = ACTION(() => C.factory.blankNode(void 0, C.factory.sourceLocationNoMaterialize()));
|
|
12662
|
+
const propList = SUBRULE(propertyPathNotEmptyImpl, blankNode2);
|
|
12663
|
+
const endToken = CONSUME(symbols_exports.RSquare);
|
|
12664
|
+
return ACTION(() => C.factory.tripleCollectionBlankNodeProperties(
|
|
12665
|
+
blankNode2,
|
|
12666
|
+
propList,
|
|
12667
|
+
C.factory.sourceLocation(startToken, endToken)
|
|
12839
12668
|
));
|
|
12669
|
+
},
|
|
12670
|
+
gImpl: ({ SUBRULE, PRINT, PRINT_WORD, HANDLE_LOC }) => (ast, { factory: F3 }) => {
|
|
12671
|
+
F3.printFilter(ast, () => PRINT("["));
|
|
12672
|
+
for (const triple of ast.triples) {
|
|
12673
|
+
HANDLE_LOC(triple, () => {
|
|
12674
|
+
if (F3.isTerm(triple.predicate) && F3.isTermVariable(triple.predicate)) {
|
|
12675
|
+
SUBRULE(varOrTerm, triple.predicate);
|
|
12676
|
+
} else {
|
|
12677
|
+
SUBRULE(pathGenerator, triple.predicate, void 0);
|
|
12678
|
+
}
|
|
12679
|
+
SUBRULE(graphNodePath, triple.object);
|
|
12680
|
+
F3.printFilter(ast, () => PRINT_WORD(";"));
|
|
12681
|
+
});
|
|
12682
|
+
}
|
|
12683
|
+
F3.printFilter(ast, () => PRINT("]"));
|
|
12840
12684
|
}
|
|
12841
12685
|
};
|
|
12842
12686
|
}
|
|
12843
|
-
|
|
12687
|
+
var blankNodePropertyList = blankNodePropertyListImpl("blankNodePropertyList", false);
|
|
12688
|
+
var blankNodePropertyListPath = blankNodePropertyListImpl("blankNodePropertyListPath", true);
|
|
12689
|
+
function graphNodeImpl(name, allowPaths) {
|
|
12690
|
+
const triplesNodeRule = allowPaths ? triplesNodePath : triplesNode;
|
|
12844
12691
|
return {
|
|
12845
|
-
name
|
|
12846
|
-
impl: ({
|
|
12847
|
-
|
|
12848
|
-
|
|
12849
|
-
|
|
12850
|
-
|
|
12851
|
-
|
|
12852
|
-
|
|
12853
|
-
|
|
12854
|
-
|
|
12855
|
-
|
|
12856
|
-
|
|
12857
|
-
|
|
12858
|
-
|
|
12692
|
+
name,
|
|
12693
|
+
impl: ({ SUBRULE, OR }) => (C) => OR([
|
|
12694
|
+
{ ALT: () => SUBRULE(varOrTerm) },
|
|
12695
|
+
{
|
|
12696
|
+
GATE: () => C.parseMode.has("canCreateBlankNodes"),
|
|
12697
|
+
ALT: () => SUBRULE(triplesNodeRule)
|
|
12698
|
+
}
|
|
12699
|
+
]),
|
|
12700
|
+
gImpl: ({ SUBRULE }) => (ast, { factory: F3 }) => {
|
|
12701
|
+
if (F3.isTerm(ast)) {
|
|
12702
|
+
SUBRULE(varOrTerm, ast);
|
|
12703
|
+
} else {
|
|
12704
|
+
SUBRULE(triplesNodeRule, ast);
|
|
12705
|
+
}
|
|
12859
12706
|
}
|
|
12860
12707
|
};
|
|
12861
12708
|
}
|
|
12709
|
+
var graphNode = graphNodeImpl("graphNode", false);
|
|
12710
|
+
var graphNodePath = graphNodeImpl("graphNodePath", true);
|
|
12862
12711
|
|
|
12863
|
-
// ../rules-sparql-1-1/lib/grammar/
|
|
12864
|
-
var
|
|
12865
|
-
|
|
12866
|
-
|
|
12867
|
-
|
|
12868
|
-
|
|
12869
|
-
|
|
12870
|
-
|
|
12871
|
-
|
|
12872
|
-
|
|
12873
|
-
|
|
12874
|
-
var builtInCeil = funcExpr1(BuildinCalls_exports.ceil);
|
|
12875
|
-
var builtInFloor = funcExpr1(BuildinCalls_exports.floor);
|
|
12876
|
-
var builtInRound = funcExpr1(BuildinCalls_exports.round);
|
|
12877
|
-
var builtInConcat = funcExprList1(BuildinCalls_exports.concat);
|
|
12878
|
-
var builtInStrlen = funcExpr1(BuildinCalls_exports.strlen);
|
|
12879
|
-
var builtInUcase = funcExpr1(BuildinCalls_exports.ucase);
|
|
12880
|
-
var builtInLcase = funcExpr1(BuildinCalls_exports.lcase);
|
|
12881
|
-
var builtInEncode_for_uri = funcExpr1(BuildinCalls_exports.encode_for_uri);
|
|
12882
|
-
var builtInContains = funcExpr2(BuildinCalls_exports.contains);
|
|
12883
|
-
var builtInStrstarts = funcExpr2(BuildinCalls_exports.strstarts);
|
|
12884
|
-
var builtInStrends = funcExpr2(BuildinCalls_exports.strends);
|
|
12885
|
-
var builtInStrbefore = funcExpr2(BuildinCalls_exports.strbefore);
|
|
12886
|
-
var builtInStrafter = funcExpr2(BuildinCalls_exports.strafter);
|
|
12887
|
-
var builtInYear = funcExpr1(BuildinCalls_exports.year);
|
|
12888
|
-
var builtInMonth = funcExpr1(BuildinCalls_exports.month);
|
|
12889
|
-
var builtInDay = funcExpr1(BuildinCalls_exports.day);
|
|
12890
|
-
var builtInHours = funcExpr1(BuildinCalls_exports.hours);
|
|
12891
|
-
var builtInMinutes = funcExpr1(BuildinCalls_exports.minutes);
|
|
12892
|
-
var builtInSeconds = funcExpr1(BuildinCalls_exports.seconds);
|
|
12893
|
-
var builtInTimezone = funcExpr1(BuildinCalls_exports.timezone);
|
|
12894
|
-
var builtInTz = funcExpr1(BuildinCalls_exports.tz);
|
|
12895
|
-
var builtInNow = funcNil1(BuildinCalls_exports.now);
|
|
12896
|
-
var builtInUuid = funcNil1(BuildinCalls_exports.uuid);
|
|
12897
|
-
var builtInStruuid = funcNil1(BuildinCalls_exports.struuid);
|
|
12898
|
-
var builtInMd5 = funcExpr1(BuildinCalls_exports.md5);
|
|
12899
|
-
var builtInSha1 = funcExpr1(BuildinCalls_exports.sha1);
|
|
12900
|
-
var builtInSha256 = funcExpr1(BuildinCalls_exports.sha256);
|
|
12901
|
-
var builtInSha384 = funcExpr1(BuildinCalls_exports.sha384);
|
|
12902
|
-
var builtInSha512 = funcExpr1(BuildinCalls_exports.sha512);
|
|
12903
|
-
var builtInCoalesce = funcExprList1(BuildinCalls_exports.coalesce);
|
|
12904
|
-
var builtInIf = funcExpr3(BuildinCalls_exports.if_);
|
|
12905
|
-
var builtInStrlang = funcExpr2(BuildinCalls_exports.strlang);
|
|
12906
|
-
var builtInStrdt = funcExpr2(BuildinCalls_exports.strdt);
|
|
12907
|
-
var builtInSameterm = funcExpr2(BuildinCalls_exports.sameterm);
|
|
12908
|
-
var builtInIsiri = funcExpr1(BuildinCalls_exports.isiri);
|
|
12909
|
-
var builtInIsuri = funcExpr1(BuildinCalls_exports.isuri);
|
|
12910
|
-
var builtInIsblank = funcExpr1(BuildinCalls_exports.isblank);
|
|
12911
|
-
var builtInIsliteral = funcExpr1(BuildinCalls_exports.isliteral);
|
|
12912
|
-
var builtInIsnumeric = funcExpr1(BuildinCalls_exports.isnumeric);
|
|
12913
|
-
function builtInCallList(SUBRULE) {
|
|
12914
|
-
return [
|
|
12915
|
-
{ ALT: () => SUBRULE(aggregate, void 0) },
|
|
12916
|
-
{ ALT: () => SUBRULE(builtInStr, void 0) },
|
|
12917
|
-
{ ALT: () => SUBRULE(builtInLang, void 0) },
|
|
12918
|
-
{ ALT: () => SUBRULE(builtInLangmatches, void 0) },
|
|
12919
|
-
{ ALT: () => SUBRULE(builtInDatatype, void 0) },
|
|
12920
|
-
{ ALT: () => SUBRULE(builtInBound, void 0) },
|
|
12921
|
-
{ ALT: () => SUBRULE(builtInIri, void 0) },
|
|
12922
|
-
{ ALT: () => SUBRULE(builtInUri, void 0) },
|
|
12923
|
-
{ ALT: () => SUBRULE(builtInBnodeSparqlJs, void 0) },
|
|
12924
|
-
{ ALT: () => SUBRULE(builtInRand, void 0) },
|
|
12925
|
-
{ ALT: () => SUBRULE(builtInAbs, void 0) },
|
|
12926
|
-
{ ALT: () => SUBRULE(builtInCeil, void 0) },
|
|
12927
|
-
{ ALT: () => SUBRULE(builtInFloor, void 0) },
|
|
12928
|
-
{ ALT: () => SUBRULE(builtInRound, void 0) },
|
|
12929
|
-
{ ALT: () => SUBRULE(builtInConcat, void 0) },
|
|
12930
|
-
{ ALT: () => SUBRULE(substringExpression, void 0) },
|
|
12931
|
-
{ ALT: () => SUBRULE(builtInStrlen, void 0) },
|
|
12932
|
-
{ ALT: () => SUBRULE(strReplaceExpression, void 0) },
|
|
12933
|
-
{ ALT: () => SUBRULE(builtInUcase, void 0) },
|
|
12934
|
-
{ ALT: () => SUBRULE(builtInLcase, void 0) },
|
|
12935
|
-
{ ALT: () => SUBRULE(builtInEncode_for_uri, void 0) },
|
|
12936
|
-
{ ALT: () => SUBRULE(builtInContains, void 0) },
|
|
12937
|
-
{ ALT: () => SUBRULE(builtInStrstarts, void 0) },
|
|
12938
|
-
{ ALT: () => SUBRULE(builtInStrends, void 0) },
|
|
12939
|
-
{ ALT: () => SUBRULE(builtInStrbefore, void 0) },
|
|
12940
|
-
{ ALT: () => SUBRULE(builtInStrafter, void 0) },
|
|
12941
|
-
{ ALT: () => SUBRULE(builtInYear, void 0) },
|
|
12942
|
-
{ ALT: () => SUBRULE(builtInMonth, void 0) },
|
|
12943
|
-
{ ALT: () => SUBRULE(builtInDay, void 0) },
|
|
12944
|
-
{ ALT: () => SUBRULE(builtInHours, void 0) },
|
|
12945
|
-
{ ALT: () => SUBRULE(builtInMinutes, void 0) },
|
|
12946
|
-
{ ALT: () => SUBRULE(builtInSeconds, void 0) },
|
|
12947
|
-
{ ALT: () => SUBRULE(builtInTimezone, void 0) },
|
|
12948
|
-
{ ALT: () => SUBRULE(builtInTz, void 0) },
|
|
12949
|
-
{ ALT: () => SUBRULE(builtInNow, void 0) },
|
|
12950
|
-
{ ALT: () => SUBRULE(builtInUuid, void 0) },
|
|
12951
|
-
{ ALT: () => SUBRULE(builtInStruuid, void 0) },
|
|
12952
|
-
{ ALT: () => SUBRULE(builtInMd5, void 0) },
|
|
12953
|
-
{ ALT: () => SUBRULE(builtInSha1, void 0) },
|
|
12954
|
-
{ ALT: () => SUBRULE(builtInSha256, void 0) },
|
|
12955
|
-
{ ALT: () => SUBRULE(builtInSha384, void 0) },
|
|
12956
|
-
{ ALT: () => SUBRULE(builtInSha512, void 0) },
|
|
12957
|
-
{ ALT: () => SUBRULE(builtInCoalesce, void 0) },
|
|
12958
|
-
{ ALT: () => SUBRULE(builtInIf, void 0) },
|
|
12959
|
-
{ ALT: () => SUBRULE(builtInStrlang, void 0) },
|
|
12960
|
-
{ ALT: () => SUBRULE(builtInStrdt, void 0) },
|
|
12961
|
-
{ ALT: () => SUBRULE(builtInSameterm, void 0) },
|
|
12962
|
-
{ ALT: () => SUBRULE(builtInIsiri, void 0) },
|
|
12963
|
-
{ ALT: () => SUBRULE(builtInIsuri, void 0) },
|
|
12964
|
-
{ ALT: () => SUBRULE(builtInIsblank, void 0) },
|
|
12965
|
-
{ ALT: () => SUBRULE(builtInIsliteral, void 0) },
|
|
12966
|
-
{ ALT: () => SUBRULE(builtInIsnumeric, void 0) },
|
|
12967
|
-
{ ALT: () => SUBRULE(regexExpression, void 0) },
|
|
12968
|
-
{ ALT: () => SUBRULE(existsFunc, void 0) },
|
|
12969
|
-
{ ALT: () => SUBRULE(notExistsFunc, void 0) }
|
|
12970
|
-
];
|
|
12971
|
-
}
|
|
12972
|
-
var builtInCall = {
|
|
12973
|
-
name: "builtInCall",
|
|
12974
|
-
impl: ({ OR, SUBRULE, cache }) => () => {
|
|
12975
|
-
const cached = cache.get(builtInCall);
|
|
12976
|
-
if (cached) {
|
|
12977
|
-
return OR(cached);
|
|
12978
|
-
}
|
|
12979
|
-
const builtIns = builtInCallList(SUBRULE);
|
|
12980
|
-
cache.set(builtInCall, builtIns);
|
|
12981
|
-
return OR(builtIns);
|
|
12712
|
+
// ../rules-sparql-1-1/lib/grammar/whereClause.ts
|
|
12713
|
+
var whereClause = {
|
|
12714
|
+
name: "whereClause",
|
|
12715
|
+
impl: ({ ACTION, SUBRULE, CONSUME, OPTION }) => (C) => {
|
|
12716
|
+
const where2 = OPTION(() => CONSUME(where));
|
|
12717
|
+
const group = SUBRULE(groupGraphPattern);
|
|
12718
|
+
return ACTION(() => C.factory.wrap(group, C.factory.sourceLocation(where2, group)));
|
|
12719
|
+
},
|
|
12720
|
+
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { factory: F3 }) => {
|
|
12721
|
+
F3.printFilter(ast, () => PRINT_WORD("WHERE"));
|
|
12722
|
+
SUBRULE(groupGraphPattern, ast.val);
|
|
12982
12723
|
}
|
|
12983
12724
|
};
|
|
12984
|
-
var
|
|
12985
|
-
|
|
12986
|
-
|
|
12987
|
-
|
|
12988
|
-
|
|
12989
|
-
|
|
12990
|
-
|
|
12991
|
-
impl: ({ ACTION, CONSUME, SUBRULE, OR, OPTION }) => (C) => {
|
|
12992
|
-
const operatorToken = CONSUME(BuildinCalls_exports.count);
|
|
12993
|
-
CONSUME(symbols_exports.LParen);
|
|
12994
|
-
const distinctToken = OPTION(() => CONSUME(distinct));
|
|
12995
|
-
const expressionVal = OR([
|
|
12996
|
-
{ ALT: () => {
|
|
12997
|
-
const starToken = CONSUME(symbols_exports.star);
|
|
12998
|
-
return ACTION(() => C.factory.wildcard(C.factory.sourceLocation(starToken)));
|
|
12999
|
-
} },
|
|
13000
|
-
{ ALT: () => SUBRULE(expression, void 0) }
|
|
12725
|
+
var groupGraphPattern = {
|
|
12726
|
+
name: "groupGraphPattern",
|
|
12727
|
+
impl: ({ ACTION, SUBRULE, CONSUME, OR }) => (C) => {
|
|
12728
|
+
const open = CONSUME(symbols_exports.LCurly);
|
|
12729
|
+
const patterns = OR([
|
|
12730
|
+
{ ALT: () => [SUBRULE(subSelect)] },
|
|
12731
|
+
{ ALT: () => SUBRULE(groupGraphPatternSub) }
|
|
13001
12732
|
]);
|
|
13002
|
-
const
|
|
13003
|
-
return ACTION(() =>
|
|
13004
|
-
|
|
13005
|
-
|
|
13006
|
-
|
|
13007
|
-
|
|
13008
|
-
|
|
13009
|
-
|
|
13010
|
-
|
|
13011
|
-
|
|
13012
|
-
|
|
12733
|
+
const close = CONSUME(symbols_exports.RCurly);
|
|
12734
|
+
return ACTION(() => C.factory.patternGroup(patterns, C.factory.sourceLocation(open, close)));
|
|
12735
|
+
},
|
|
12736
|
+
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { factory: F3 }) => {
|
|
12737
|
+
F3.printFilter(ast, () => PRINT_WORD("{"));
|
|
12738
|
+
for (const pattern of ast.patterns) {
|
|
12739
|
+
SUBRULE(generatePattern, pattern);
|
|
12740
|
+
}
|
|
12741
|
+
F3.printFilter(ast, () => PRINT_WORD("}"));
|
|
12742
|
+
}
|
|
12743
|
+
};
|
|
12744
|
+
var generatePattern = {
|
|
12745
|
+
name: "generatePattern",
|
|
12746
|
+
gImpl: ({ SUBRULE }) => (ast, { factory: F3 }) => {
|
|
12747
|
+
if (ast.type === "query") {
|
|
12748
|
+
SUBRULE(query, F3.querySelect({
|
|
12749
|
+
context: [],
|
|
12750
|
+
datasets: F3.datasetClauses([], F3.sourceLocation()),
|
|
12751
|
+
where: ast.where,
|
|
12752
|
+
variables: ast.variables,
|
|
12753
|
+
solutionModifiers: ast.solutionModifiers,
|
|
12754
|
+
values: ast.values,
|
|
12755
|
+
distinct: ast.distinct,
|
|
12756
|
+
reduced: ast.reduced
|
|
12757
|
+
}, ast.loc));
|
|
12758
|
+
} else if (ast.subType === "group") {
|
|
12759
|
+
SUBRULE(groupGraphPattern, ast);
|
|
12760
|
+
} else if (ast.subType === "bgp") {
|
|
12761
|
+
SUBRULE(triplesBlock, ast);
|
|
12762
|
+
} else {
|
|
12763
|
+
SUBRULE(graphPatternNotTriples, ast);
|
|
12764
|
+
}
|
|
12765
|
+
}
|
|
12766
|
+
};
|
|
12767
|
+
var groupGraphPatternSub = {
|
|
12768
|
+
name: "groupGraphPatternSub",
|
|
12769
|
+
impl: ({ ACTION, SUBRULE, CONSUME, MANY, SUBRULE1, SUBRULE2, OPTION1, OPTION2, OPTION3 }) => () => {
|
|
12770
|
+
const patterns = [];
|
|
12771
|
+
const bgpPattern = OPTION1(() => SUBRULE1(triplesBlock));
|
|
12772
|
+
if (bgpPattern) {
|
|
12773
|
+
patterns.push(bgpPattern);
|
|
12774
|
+
}
|
|
12775
|
+
MANY(() => {
|
|
12776
|
+
const notTriples = SUBRULE(graphPatternNotTriples);
|
|
12777
|
+
patterns.push(notTriples);
|
|
12778
|
+
OPTION2(() => CONSUME(symbols_exports.dot));
|
|
12779
|
+
const moreTriples = OPTION3(() => SUBRULE2(triplesBlock));
|
|
12780
|
+
if (moreTriples) {
|
|
12781
|
+
patterns.push(moreTriples);
|
|
12782
|
+
}
|
|
12783
|
+
});
|
|
12784
|
+
ACTION(() => checkNote13(patterns));
|
|
12785
|
+
return patterns;
|
|
12786
|
+
}
|
|
12787
|
+
};
|
|
12788
|
+
var graphPatternNotTriples = {
|
|
12789
|
+
name: "graphPatternNotTriples",
|
|
12790
|
+
impl: ({ SUBRULE, OR }) => () => OR([
|
|
12791
|
+
{ ALT: () => SUBRULE(groupOrUnionGraphPattern) },
|
|
12792
|
+
{ ALT: () => SUBRULE(optionalGraphPattern) },
|
|
12793
|
+
{ ALT: () => SUBRULE(minusGraphPattern) },
|
|
12794
|
+
{ ALT: () => SUBRULE(graphGraphPattern) },
|
|
12795
|
+
{ ALT: () => SUBRULE(serviceGraphPattern) },
|
|
12796
|
+
{ ALT: () => SUBRULE(filter3) },
|
|
12797
|
+
{ ALT: () => SUBRULE(bind2) },
|
|
12798
|
+
{ ALT: () => SUBRULE(inlineData) }
|
|
12799
|
+
]),
|
|
12800
|
+
gImpl: ({ SUBRULE }) => (ast) => {
|
|
12801
|
+
switch (ast.subType) {
|
|
12802
|
+
case "group":
|
|
12803
|
+
case "union":
|
|
12804
|
+
SUBRULE(groupOrUnionGraphPattern, ast);
|
|
12805
|
+
break;
|
|
12806
|
+
case "optional":
|
|
12807
|
+
SUBRULE(optionalGraphPattern, ast);
|
|
12808
|
+
break;
|
|
12809
|
+
case "minus":
|
|
12810
|
+
SUBRULE(minusGraphPattern, ast);
|
|
12811
|
+
break;
|
|
12812
|
+
case "graph":
|
|
12813
|
+
SUBRULE(graphGraphPattern, ast);
|
|
12814
|
+
break;
|
|
12815
|
+
case "service":
|
|
12816
|
+
SUBRULE(serviceGraphPattern, ast);
|
|
12817
|
+
break;
|
|
12818
|
+
case "filter":
|
|
12819
|
+
SUBRULE(filter3, ast);
|
|
12820
|
+
break;
|
|
12821
|
+
case "bind":
|
|
12822
|
+
SUBRULE(bind2, ast);
|
|
12823
|
+
break;
|
|
12824
|
+
case "values":
|
|
12825
|
+
SUBRULE(inlineData, ast);
|
|
12826
|
+
break;
|
|
12827
|
+
}
|
|
12828
|
+
}
|
|
12829
|
+
};
|
|
12830
|
+
var optionalGraphPattern = {
|
|
12831
|
+
name: "optionalGraphPattern",
|
|
12832
|
+
impl: ({ ACTION, SUBRULE, CONSUME }) => (C) => {
|
|
12833
|
+
const optional2 = CONSUME(optional);
|
|
12834
|
+
const group = SUBRULE(groupGraphPattern);
|
|
12835
|
+
return ACTION(() => C.factory.patternOptional(group.patterns, C.factory.sourceLocation(optional2, group)));
|
|
12836
|
+
},
|
|
12837
|
+
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { factory: F3 }) => {
|
|
12838
|
+
F3.printFilter(ast, () => PRINT_WORD("OPTIONAL"));
|
|
12839
|
+
SUBRULE(groupGraphPattern, F3.patternGroup(ast.patterns, ast.loc));
|
|
12840
|
+
}
|
|
12841
|
+
};
|
|
12842
|
+
var graphGraphPattern = {
|
|
12843
|
+
name: "graphGraphPattern",
|
|
12844
|
+
impl: ({ ACTION, SUBRULE, CONSUME }) => (C) => {
|
|
12845
|
+
const graph2 = CONSUME(graph_exports.graph);
|
|
12846
|
+
const name = SUBRULE(varOrIri);
|
|
12847
|
+
const group = SUBRULE(groupGraphPattern);
|
|
12848
|
+
return ACTION(() => C.factory.patternGraph(name, group.patterns, C.factory.sourceLocation(graph2, group)));
|
|
12849
|
+
},
|
|
12850
|
+
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { factory: F3 }) => {
|
|
12851
|
+
F3.printFilter(ast, () => PRINT_WORD("GRAPH"));
|
|
12852
|
+
SUBRULE(varOrTerm, ast.name);
|
|
12853
|
+
SUBRULE(groupGraphPattern, F3.patternGroup(ast.patterns, ast.loc));
|
|
12854
|
+
}
|
|
12855
|
+
};
|
|
12856
|
+
var serviceGraphPattern = {
|
|
12857
|
+
name: "serviceGraphPattern",
|
|
12858
|
+
impl: ({ ACTION, SUBRULE1, CONSUME, OPTION }) => (C) => {
|
|
12859
|
+
const service2 = CONSUME(service);
|
|
12860
|
+
const silent2 = OPTION(() => {
|
|
12861
|
+
CONSUME(silent);
|
|
12862
|
+
return true;
|
|
12863
|
+
}) ?? false;
|
|
12864
|
+
const name = SUBRULE1(varOrIri);
|
|
12865
|
+
const group = SUBRULE1(groupGraphPattern);
|
|
12866
|
+
return ACTION(() => C.factory.patternService(name, group.patterns, silent2, C.factory.sourceLocation(service2, group)));
|
|
12867
|
+
},
|
|
12868
|
+
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { factory: F3 }) => {
|
|
12869
|
+
F3.printFilter(ast, () => {
|
|
12870
|
+
PRINT_WORD("SERVICE");
|
|
12871
|
+
if (ast.silent) {
|
|
12872
|
+
PRINT_WORD("SILENT");
|
|
13013
12873
|
}
|
|
13014
|
-
return F3.aggregate(
|
|
13015
|
-
operatorToken.image,
|
|
13016
|
-
Boolean(distinctToken),
|
|
13017
|
-
expressionVal,
|
|
13018
|
-
void 0,
|
|
13019
|
-
C.factory.sourceLocation(operatorToken, closeToken)
|
|
13020
|
-
);
|
|
13021
12874
|
});
|
|
12875
|
+
SUBRULE(varOrTerm, ast.name);
|
|
12876
|
+
SUBRULE(groupGraphPattern, F3.patternGroup(ast.patterns, ast.loc));
|
|
13022
12877
|
}
|
|
13023
12878
|
};
|
|
13024
|
-
var
|
|
13025
|
-
|
|
13026
|
-
|
|
13027
|
-
|
|
13028
|
-
var aggregateSample = baseAggregateFunc(BuildinCalls_exports.sample);
|
|
13029
|
-
var aggregateGroup_concat = {
|
|
13030
|
-
name: unCapitalize(BuildinCalls_exports.groupConcat.name),
|
|
13031
|
-
impl: ({ ACTION, CONSUME, OPTION1, SUBRULE, OPTION2 }) => (C) => {
|
|
13032
|
-
const operatorToken = CONSUME(BuildinCalls_exports.groupConcat);
|
|
12879
|
+
var bind2 = {
|
|
12880
|
+
name: "bind",
|
|
12881
|
+
impl: ({ ACTION, SUBRULE, CONSUME }) => (C) => {
|
|
12882
|
+
const bind3 = CONSUME(bind);
|
|
13033
12883
|
CONSUME(symbols_exports.LParen);
|
|
13034
|
-
const
|
|
13035
|
-
|
|
13036
|
-
const
|
|
13037
|
-
|
|
13038
|
-
|
|
13039
|
-
|
|
13040
|
-
|
|
12884
|
+
const expressionVal = SUBRULE(expression);
|
|
12885
|
+
CONSUME(as);
|
|
12886
|
+
const variable = SUBRULE(var_);
|
|
12887
|
+
const close = CONSUME(symbols_exports.RParen);
|
|
12888
|
+
return ACTION(() => C.factory.patternBind(expressionVal, variable, C.factory.sourceLocation(bind3, close)));
|
|
12889
|
+
},
|
|
12890
|
+
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { factory: F3 }) => {
|
|
12891
|
+
F3.printFilter(ast, () => PRINT_WORD("BIND", "("));
|
|
12892
|
+
SUBRULE(expression, ast.expression);
|
|
12893
|
+
F3.printFilter(ast, () => PRINT_WORD("AS"));
|
|
12894
|
+
SUBRULE(var_, ast.variable);
|
|
12895
|
+
F3.printFilter(ast, () => PRINT_WORD(")"));
|
|
12896
|
+
}
|
|
12897
|
+
};
|
|
12898
|
+
var inlineData = {
|
|
12899
|
+
name: "inlineData",
|
|
12900
|
+
impl: ({ ACTION, SUBRULE, CONSUME }) => (C) => {
|
|
12901
|
+
const values3 = CONSUME(values2);
|
|
12902
|
+
const datablock = SUBRULE(dataBlock);
|
|
12903
|
+
return ACTION(() => C.factory.patternValues(datablock.val, C.factory.sourceLocation(values3, datablock)));
|
|
12904
|
+
},
|
|
12905
|
+
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { factory: F3 }) => {
|
|
12906
|
+
const variables = Object.keys(ast.values[0]);
|
|
12907
|
+
F3.printFilter(ast, () => {
|
|
12908
|
+
PRINT_WORD("VALUES", "(");
|
|
12909
|
+
for (const variable of variables) {
|
|
12910
|
+
PRINT_WORD(`?${variable}`);
|
|
12911
|
+
}
|
|
12912
|
+
PRINT_WORD(")", "{");
|
|
13041
12913
|
});
|
|
13042
|
-
const
|
|
13043
|
-
|
|
13044
|
-
const
|
|
13045
|
-
|
|
13046
|
-
|
|
13047
|
-
|
|
13048
|
-
|
|
13049
|
-
|
|
13050
|
-
|
|
13051
|
-
);
|
|
12914
|
+
for (const mapping of ast.values) {
|
|
12915
|
+
F3.printFilter(ast, () => PRINT_WORD("("));
|
|
12916
|
+
for (const variable of variables) {
|
|
12917
|
+
if (mapping[variable] === void 0) {
|
|
12918
|
+
F3.printFilter(ast, () => PRINT_WORD("UNDEF"));
|
|
12919
|
+
} else {
|
|
12920
|
+
SUBRULE(graphNodePath, mapping[variable]);
|
|
12921
|
+
}
|
|
12922
|
+
}
|
|
12923
|
+
F3.printFilter(ast, () => PRINT_WORD(")"));
|
|
12924
|
+
}
|
|
12925
|
+
F3.printFilter(ast, () => PRINT_WORD("}"));
|
|
12926
|
+
}
|
|
12927
|
+
};
|
|
12928
|
+
var dataBlock = {
|
|
12929
|
+
name: "dataBlock",
|
|
12930
|
+
impl: ({ SUBRULE, OR }) => () => OR([
|
|
12931
|
+
{ ALT: () => SUBRULE(inlineDataOneVar) },
|
|
12932
|
+
{ ALT: () => SUBRULE(inlineDataFull) }
|
|
12933
|
+
])
|
|
12934
|
+
};
|
|
12935
|
+
var inlineDataOneVar = {
|
|
12936
|
+
name: "inlineDataOneVar",
|
|
12937
|
+
impl: ({ ACTION, SUBRULE, CONSUME, MANY }) => (C) => {
|
|
12938
|
+
const res = [];
|
|
12939
|
+
const varVal = SUBRULE(var_);
|
|
12940
|
+
CONSUME(symbols_exports.LCurly);
|
|
12941
|
+
MANY(() => {
|
|
12942
|
+
const value = SUBRULE(dataBlockValue);
|
|
12943
|
+
ACTION(() => {
|
|
12944
|
+
res.push({ [varVal.value]: value });
|
|
12945
|
+
});
|
|
13052
12946
|
});
|
|
12947
|
+
const close = CONSUME(symbols_exports.RCurly);
|
|
12948
|
+
return ACTION(() => C.factory.wrap(res, C.factory.sourceLocation(varVal, close)));
|
|
13053
12949
|
}
|
|
13054
12950
|
};
|
|
13055
|
-
var
|
|
13056
|
-
name: "
|
|
13057
|
-
impl: ({
|
|
13058
|
-
|
|
13059
|
-
|
|
13060
|
-
|
|
13061
|
-
|
|
13062
|
-
|
|
13063
|
-
|
|
13064
|
-
|
|
13065
|
-
|
|
13066
|
-
|
|
13067
|
-
|
|
12951
|
+
var inlineDataFull = {
|
|
12952
|
+
name: "inlineDataFull",
|
|
12953
|
+
impl: ({
|
|
12954
|
+
ACTION,
|
|
12955
|
+
OR,
|
|
12956
|
+
MANY1,
|
|
12957
|
+
MANY2,
|
|
12958
|
+
MANY3,
|
|
12959
|
+
MANY4,
|
|
12960
|
+
SUBRULE,
|
|
12961
|
+
CONSUME1,
|
|
12962
|
+
CONSUME2
|
|
12963
|
+
}) => (C) => {
|
|
12964
|
+
const res = [];
|
|
12965
|
+
const vars = [];
|
|
12966
|
+
return OR([
|
|
12967
|
+
{ ALT: () => {
|
|
12968
|
+
const nil2 = CONSUME1(terminals_exports.nil);
|
|
12969
|
+
CONSUME1(symbols_exports.LCurly);
|
|
12970
|
+
MANY1(() => {
|
|
12971
|
+
CONSUME2(terminals_exports.nil);
|
|
12972
|
+
res.push({});
|
|
12973
|
+
});
|
|
12974
|
+
const close = CONSUME1(symbols_exports.RCurly);
|
|
12975
|
+
return ACTION(() => C.factory.wrap(res, C.factory.sourceLocation(nil2, close)));
|
|
12976
|
+
} },
|
|
12977
|
+
{ ALT: () => {
|
|
12978
|
+
const open = CONSUME1(symbols_exports.LParen);
|
|
12979
|
+
MANY2(() => {
|
|
12980
|
+
vars.push(SUBRULE(var_));
|
|
12981
|
+
});
|
|
12982
|
+
CONSUME1(symbols_exports.RParen);
|
|
12983
|
+
CONSUME2(symbols_exports.LCurly);
|
|
12984
|
+
MANY3(() => {
|
|
12985
|
+
let parsedValues = 0;
|
|
12986
|
+
const currentRow = {};
|
|
12987
|
+
CONSUME2(symbols_exports.LParen);
|
|
12988
|
+
MANY4(() => {
|
|
12989
|
+
if (parsedValues >= vars.length) {
|
|
12990
|
+
throw new Error("Number of dataBlockValues does not match number of variables. Too much values.");
|
|
12991
|
+
}
|
|
12992
|
+
const value = SUBRULE(dataBlockValue);
|
|
12993
|
+
ACTION(() => {
|
|
12994
|
+
currentRow[vars[parsedValues].value] = value;
|
|
12995
|
+
parsedValues++;
|
|
12996
|
+
});
|
|
12997
|
+
});
|
|
12998
|
+
CONSUME2(symbols_exports.RParen);
|
|
12999
|
+
ACTION(() => {
|
|
13000
|
+
res.push(currentRow);
|
|
13001
|
+
if (vars.length !== parsedValues) {
|
|
13002
|
+
throw new Error("Number of dataBlockValues does not match number of variables. Too few values.");
|
|
13003
|
+
}
|
|
13004
|
+
});
|
|
13005
|
+
});
|
|
13006
|
+
const close = CONSUME2(symbols_exports.RCurly);
|
|
13007
|
+
return ACTION(() => C.factory.wrap(res, C.factory.sourceLocation(open, close)));
|
|
13008
|
+
} }
|
|
13068
13009
|
]);
|
|
13069
|
-
|
|
13070
|
-
|
|
13071
|
-
|
|
13072
|
-
|
|
13073
|
-
|
|
13074
|
-
|
|
13075
|
-
|
|
13076
|
-
|
|
13010
|
+
}
|
|
13011
|
+
};
|
|
13012
|
+
var dataBlockValue = {
|
|
13013
|
+
name: "dataBlockValue",
|
|
13014
|
+
impl: ({ SUBRULE, CONSUME, OR }) => () => OR([
|
|
13015
|
+
{ ALT: () => SUBRULE(iri2) },
|
|
13016
|
+
{ ALT: () => SUBRULE(rdfLiteral) },
|
|
13017
|
+
{ ALT: () => SUBRULE(numericLiteral) },
|
|
13018
|
+
{ ALT: () => SUBRULE(booleanLiteral) },
|
|
13019
|
+
{ ALT: () => {
|
|
13020
|
+
CONSUME(undef);
|
|
13021
|
+
return void 0;
|
|
13022
|
+
} }
|
|
13023
|
+
])
|
|
13024
|
+
};
|
|
13025
|
+
var minusGraphPattern = {
|
|
13026
|
+
name: "minusGraphPattern",
|
|
13027
|
+
impl: ({ ACTION, SUBRULE, CONSUME }) => (C) => {
|
|
13028
|
+
const minus2 = CONSUME(minus);
|
|
13029
|
+
const group = SUBRULE(groupGraphPattern);
|
|
13030
|
+
return ACTION(() => C.factory.patternMinus(group.patterns, C.factory.sourceLocation(minus2, group)));
|
|
13031
|
+
},
|
|
13032
|
+
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { factory: F3 }) => {
|
|
13033
|
+
F3.printFilter(ast, () => PRINT_WORD("MINUS"));
|
|
13034
|
+
SUBRULE(groupGraphPattern, F3.patternGroup(ast.patterns, ast.loc));
|
|
13035
|
+
}
|
|
13036
|
+
};
|
|
13037
|
+
var groupOrUnionGraphPattern = {
|
|
13038
|
+
name: "groupOrUnionGraphPattern",
|
|
13039
|
+
impl: ({ ACTION, MANY, SUBRULE1, SUBRULE2, CONSUME }) => (C) => {
|
|
13040
|
+
const groups = [];
|
|
13041
|
+
const group = SUBRULE1(groupGraphPattern);
|
|
13042
|
+
groups.push(group);
|
|
13043
|
+
MANY(() => {
|
|
13044
|
+
CONSUME(union);
|
|
13045
|
+
const group2 = SUBRULE2(groupGraphPattern);
|
|
13046
|
+
groups.push(group2);
|
|
13077
13047
|
});
|
|
13078
|
-
return
|
|
13048
|
+
return ACTION(() => groups.length === 1 ? groups[0] : C.factory.patternUnion(
|
|
13049
|
+
groups,
|
|
13050
|
+
C.factory.sourceLocation(group, groups.at(-1))
|
|
13051
|
+
));
|
|
13079
13052
|
},
|
|
13080
13053
|
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { factory: F3 }) => {
|
|
13081
|
-
F3.
|
|
13082
|
-
|
|
13083
|
-
|
|
13084
|
-
|
|
13054
|
+
if (F3.isPatternUnion(ast)) {
|
|
13055
|
+
const [head2, ...tail] = ast.patterns;
|
|
13056
|
+
SUBRULE(groupGraphPattern, head2);
|
|
13057
|
+
for (const pattern of tail) {
|
|
13058
|
+
F3.printFilter(ast, () => PRINT_WORD("UNION"));
|
|
13059
|
+
SUBRULE(groupGraphPattern, pattern);
|
|
13085
13060
|
}
|
|
13086
|
-
});
|
|
13087
|
-
const arg = ast.expression[0];
|
|
13088
|
-
if (F3.isWildcard(arg)) {
|
|
13089
|
-
F3.printFilter(ast, () => PRINT_WORD("*"));
|
|
13090
13061
|
} else {
|
|
13091
|
-
SUBRULE(
|
|
13092
|
-
}
|
|
13093
|
-
if (F3.isExpressionAggregateSeparator(ast)) {
|
|
13094
|
-
F3.printFilter(ast, () => PRINT_WORD(";", "SEPARATOR", "=", stringEscapedLexical(ast.separator)));
|
|
13062
|
+
SUBRULE(groupGraphPattern, ast);
|
|
13095
13063
|
}
|
|
13064
|
+
}
|
|
13065
|
+
};
|
|
13066
|
+
var filter3 = {
|
|
13067
|
+
name: "filter",
|
|
13068
|
+
impl: ({ ACTION, SUBRULE, CONSUME }) => (C) => {
|
|
13069
|
+
const filterToken = CONSUME(filter2);
|
|
13070
|
+
const expression2 = SUBRULE(constraint);
|
|
13071
|
+
return ACTION(() => C.factory.patternFilter(expression2, C.factory.sourceLocation(filterToken, expression2)));
|
|
13072
|
+
},
|
|
13073
|
+
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { factory: F3 }) => {
|
|
13074
|
+
F3.printFilter(ast, () => PRINT_WORD("FILTER ("));
|
|
13075
|
+
SUBRULE(expression, ast.expression);
|
|
13096
13076
|
F3.printFilter(ast, () => PRINT_WORD(")"));
|
|
13097
13077
|
}
|
|
13098
13078
|
};
|
|
13079
|
+
var constraint = {
|
|
13080
|
+
name: "constraint",
|
|
13081
|
+
impl: ({ SUBRULE, OR }) => () => OR([
|
|
13082
|
+
{ ALT: () => SUBRULE(brackettedExpression) },
|
|
13083
|
+
{ ALT: () => SUBRULE(builtInCall) },
|
|
13084
|
+
{ ALT: () => SUBRULE(functionCall) }
|
|
13085
|
+
])
|
|
13086
|
+
};
|
|
13087
|
+
var functionCall = {
|
|
13088
|
+
name: "functionCall",
|
|
13089
|
+
impl: ({ ACTION, SUBRULE }) => (C) => {
|
|
13090
|
+
const func = SUBRULE(iri2);
|
|
13091
|
+
const args = SUBRULE(argList);
|
|
13092
|
+
return ACTION(() => C.factory.expressionFunctionCall(
|
|
13093
|
+
func,
|
|
13094
|
+
args.val.args,
|
|
13095
|
+
args.val.distinct,
|
|
13096
|
+
C.factory.sourceLocation(func, args)
|
|
13097
|
+
));
|
|
13098
|
+
}
|
|
13099
|
+
};
|
|
13099
13100
|
|
|
13100
13101
|
// ../rules-sparql-1-1/lib/grammar/expression.ts
|
|
13101
13102
|
var argList = {
|
|
@@ -13115,7 +13116,7 @@ var argList = {
|
|
|
13115
13116
|
AT_LEAST_ONE_SEP({
|
|
13116
13117
|
SEP: symbols_exports.comma,
|
|
13117
13118
|
DEF: () => {
|
|
13118
|
-
const arg = SUBRULE1(expression
|
|
13119
|
+
const arg = SUBRULE1(expression);
|
|
13119
13120
|
args.push(arg);
|
|
13120
13121
|
}
|
|
13121
13122
|
});
|
|
@@ -13132,11 +13133,11 @@ var argList = {
|
|
|
13132
13133
|
});
|
|
13133
13134
|
const [head2, ...tail] = ast.val.args;
|
|
13134
13135
|
if (head2) {
|
|
13135
|
-
SUBRULE(expression, head2
|
|
13136
|
+
SUBRULE(expression, head2);
|
|
13136
13137
|
}
|
|
13137
13138
|
for (const expr of tail) {
|
|
13138
13139
|
F3.printFilter(ast, () => PRINT_WORD(","));
|
|
13139
|
-
SUBRULE(expression, expr
|
|
13140
|
+
SUBRULE(expression, expr);
|
|
13140
13141
|
}
|
|
13141
13142
|
F3.printFilter(ast, () => PRINT_WORD(")"));
|
|
13142
13143
|
}
|
|
@@ -13150,11 +13151,11 @@ var expressionList = {
|
|
|
13150
13151
|
} },
|
|
13151
13152
|
{ ALT: () => {
|
|
13152
13153
|
const open = CONSUME(symbols_exports.LParen);
|
|
13153
|
-
const expr1 = SUBRULE1(expression
|
|
13154
|
+
const expr1 = SUBRULE1(expression);
|
|
13154
13155
|
const args = [expr1];
|
|
13155
13156
|
MANY(() => {
|
|
13156
13157
|
CONSUME(symbols_exports.comma);
|
|
13157
|
-
const expr = SUBRULE2(expression
|
|
13158
|
+
const expr = SUBRULE2(expression);
|
|
13158
13159
|
args.push(expr);
|
|
13159
13160
|
});
|
|
13160
13161
|
const close = CONSUME(symbols_exports.RParen);
|
|
@@ -13166,15 +13167,15 @@ var infixOperators = /* @__PURE__ */ new Set(["in", "notin", "||", "&&", "=", "!
|
|
|
13166
13167
|
var prefixOperator = /* @__PURE__ */ new Set(["!", "UPLUS", "UMINUS"]);
|
|
13167
13168
|
var expression = {
|
|
13168
13169
|
name: "expression",
|
|
13169
|
-
impl: ({ SUBRULE }) => () => SUBRULE(conditionalOrExpression
|
|
13170
|
+
impl: ({ SUBRULE }) => () => SUBRULE(conditionalOrExpression),
|
|
13170
13171
|
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { factory: F3 }) => {
|
|
13171
13172
|
if (F3.isTerm(ast)) {
|
|
13172
|
-
SUBRULE(varOrTerm, ast
|
|
13173
|
+
SUBRULE(varOrTerm, ast);
|
|
13173
13174
|
} else if (F3.isExpressionOperator(ast)) {
|
|
13174
13175
|
if (infixOperators.has(ast.operator)) {
|
|
13175
13176
|
const [left, ...right] = ast.args;
|
|
13176
13177
|
F3.printFilter(ast, () => PRINT_WORD("("));
|
|
13177
|
-
SUBRULE(expression, left
|
|
13178
|
+
SUBRULE(expression, left);
|
|
13178
13179
|
F3.printFilter(ast, () => {
|
|
13179
13180
|
if (ast.operator === "notin") {
|
|
13180
13181
|
PRINT_WORD("NOT IN");
|
|
@@ -13185,35 +13186,35 @@ var expression = {
|
|
|
13185
13186
|
}
|
|
13186
13187
|
});
|
|
13187
13188
|
if (right.length === 1) {
|
|
13188
|
-
SUBRULE(expression, right[0]
|
|
13189
|
+
SUBRULE(expression, right[0]);
|
|
13189
13190
|
} else {
|
|
13190
|
-
SUBRULE(argList, F3.wrap({ args: right, distinct: false }, ast.loc)
|
|
13191
|
+
SUBRULE(argList, F3.wrap({ args: right, distinct: false }, ast.loc));
|
|
13191
13192
|
}
|
|
13192
13193
|
F3.printFilter(ast, () => PRINT_WORD(")"));
|
|
13193
13194
|
} else if (prefixOperator.has(ast.operator)) {
|
|
13194
13195
|
const [expr] = ast.args;
|
|
13195
13196
|
F3.printFilter(ast, () => PRINT_WORD(ast.operator));
|
|
13196
|
-
SUBRULE(expression, expr
|
|
13197
|
+
SUBRULE(expression, expr);
|
|
13197
13198
|
} else {
|
|
13198
13199
|
F3.printFilter(ast, () => PRINT_WORD(ast.operator, "("));
|
|
13199
13200
|
const [head2, ...tail] = ast.args;
|
|
13200
13201
|
if (head2) {
|
|
13201
|
-
SUBRULE(expression, head2
|
|
13202
|
+
SUBRULE(expression, head2);
|
|
13202
13203
|
}
|
|
13203
13204
|
for (const arg of tail) {
|
|
13204
13205
|
F3.printFilter(ast, () => PRINT_WORD(","));
|
|
13205
|
-
SUBRULE(expression, arg
|
|
13206
|
+
SUBRULE(expression, arg);
|
|
13206
13207
|
}
|
|
13207
13208
|
F3.printFilter(ast, () => PRINT_WORD(")"));
|
|
13208
13209
|
}
|
|
13209
13210
|
} else if (F3.isExpressionPatternOperation(ast)) {
|
|
13210
13211
|
const patterns = ast.args;
|
|
13211
13212
|
F3.printFilter(ast, () => PRINT_WORD(ast.operator === "exists" ? "EXISTS" : "NOT EXISTS"));
|
|
13212
|
-
SUBRULE(groupGraphPattern, patterns
|
|
13213
|
+
SUBRULE(groupGraphPattern, patterns);
|
|
13213
13214
|
} else if (F3.isExpressionFunctionCall(ast)) {
|
|
13214
|
-
SUBRULE(iriOrFunction, ast
|
|
13215
|
+
SUBRULE(iriOrFunction, ast);
|
|
13215
13216
|
} else if (F3.isExpressionAggregate(ast)) {
|
|
13216
|
-
SUBRULE(aggregate, ast
|
|
13217
|
+
SUBRULE(aggregate, ast);
|
|
13217
13218
|
}
|
|
13218
13219
|
}
|
|
13219
13220
|
};
|
|
@@ -13230,10 +13231,10 @@ function constructLeftDeep(startGenerator, restGenerator, ACTION, MANY) {
|
|
|
13230
13231
|
var conditionalOrExpression = {
|
|
13231
13232
|
name: "conditionalOrExpression",
|
|
13232
13233
|
impl: ({ ACTION, MANY, CONSUME, SUBRULE1, SUBRULE2 }) => (C) => constructLeftDeep(
|
|
13233
|
-
() => SUBRULE1(conditionalAndExpression
|
|
13234
|
+
() => SUBRULE1(conditionalAndExpression),
|
|
13234
13235
|
() => {
|
|
13235
13236
|
CONSUME(symbols_exports.logicOr);
|
|
13236
|
-
const args = SUBRULE2(conditionalAndExpression
|
|
13237
|
+
const args = SUBRULE2(conditionalAndExpression);
|
|
13237
13238
|
return (left) => ACTION(() => C.factory.expressionOperation("||", [left, args], C.factory.sourceLocation(left, args)));
|
|
13238
13239
|
},
|
|
13239
13240
|
ACTION,
|
|
@@ -13243,10 +13244,10 @@ var conditionalOrExpression = {
|
|
|
13243
13244
|
var conditionalAndExpression = {
|
|
13244
13245
|
name: "conditionalAndExpression",
|
|
13245
13246
|
impl: ({ ACTION, MANY, SUBRULE1, SUBRULE2, CONSUME }) => (C) => constructLeftDeep(
|
|
13246
|
-
() => SUBRULE1(valueLogical
|
|
13247
|
+
() => SUBRULE1(valueLogical),
|
|
13247
13248
|
() => {
|
|
13248
13249
|
CONSUME(symbols_exports.logicAnd);
|
|
13249
|
-
const arg = SUBRULE2(valueLogical
|
|
13250
|
+
const arg = SUBRULE2(valueLogical);
|
|
13250
13251
|
return (left) => ACTION(() => C.factory.expressionOperation("&&", [left, arg], C.factory.sourceLocation(left, arg)));
|
|
13251
13252
|
},
|
|
13252
13253
|
ACTION,
|
|
@@ -13255,12 +13256,12 @@ var conditionalAndExpression = {
|
|
|
13255
13256
|
};
|
|
13256
13257
|
var valueLogical = {
|
|
13257
13258
|
name: "valueLogical",
|
|
13258
|
-
impl: ({ SUBRULE }) => () => SUBRULE(relationalExpression
|
|
13259
|
+
impl: ({ SUBRULE }) => () => SUBRULE(relationalExpression)
|
|
13259
13260
|
};
|
|
13260
13261
|
var relationalExpression = {
|
|
13261
13262
|
name: "relationalExpression",
|
|
13262
13263
|
impl: ({ ACTION, CONSUME, SUBRULE1, SUBRULE2, OPTION, OR1, OR2, OR3 }) => (C) => {
|
|
13263
|
-
const args1 = SUBRULE1(numericExpression
|
|
13264
|
+
const args1 = SUBRULE1(numericExpression);
|
|
13264
13265
|
const expression2 = OPTION(() => OR1([
|
|
13265
13266
|
{ ALT: () => {
|
|
13266
13267
|
const operator = OR2([
|
|
@@ -13271,7 +13272,7 @@ var relationalExpression = {
|
|
|
13271
13272
|
{ ALT: () => CONSUME(symbols_exports.lessThanEqual) },
|
|
13272
13273
|
{ ALT: () => CONSUME(symbols_exports.greaterThanEqual) }
|
|
13273
13274
|
]);
|
|
13274
|
-
const expr = SUBRULE2(numericExpression
|
|
13275
|
+
const expr = SUBRULE2(numericExpression);
|
|
13275
13276
|
return ACTION(() => C.factory.expressionOperation(
|
|
13276
13277
|
operator.image,
|
|
13277
13278
|
[args1, expr],
|
|
@@ -13283,7 +13284,7 @@ var relationalExpression = {
|
|
|
13283
13284
|
{ ALT: () => CONSUME(in_) },
|
|
13284
13285
|
{ ALT: () => CONSUME(notIn) }
|
|
13285
13286
|
]);
|
|
13286
|
-
const args = SUBRULE1(expressionList
|
|
13287
|
+
const args = SUBRULE1(expressionList);
|
|
13287
13288
|
return ACTION(() => C.factory.expressionOperation(
|
|
13288
13289
|
operator.image,
|
|
13289
13290
|
[args1, ...args.val],
|
|
@@ -13296,25 +13297,25 @@ var relationalExpression = {
|
|
|
13296
13297
|
};
|
|
13297
13298
|
var numericExpression = {
|
|
13298
13299
|
name: "numericExpression",
|
|
13299
|
-
impl: ({ SUBRULE }) => () => SUBRULE(additiveExpression
|
|
13300
|
+
impl: ({ SUBRULE }) => () => SUBRULE(additiveExpression)
|
|
13300
13301
|
};
|
|
13301
13302
|
var additiveExpression = {
|
|
13302
13303
|
name: "additiveExpression",
|
|
13303
13304
|
impl: ({ ACTION, SUBRULE, CONSUME, SUBRULE1, SUBRULE2, MANY1, MANY2, OR1, OR2, OR3, OR4 }) => (C) => constructLeftDeep(
|
|
13304
|
-
() => SUBRULE1(multiplicativeExpression
|
|
13305
|
+
() => SUBRULE1(multiplicativeExpression),
|
|
13305
13306
|
() => OR1([
|
|
13306
13307
|
{ ALT: () => {
|
|
13307
13308
|
const operator = OR2([
|
|
13308
13309
|
{ ALT: () => CONSUME(symbols_exports.opPlus) },
|
|
13309
13310
|
{ ALT: () => CONSUME(symbols_exports.opMinus) }
|
|
13310
13311
|
]);
|
|
13311
|
-
const arg = SUBRULE2(multiplicativeExpression
|
|
13312
|
+
const arg = SUBRULE2(multiplicativeExpression);
|
|
13312
13313
|
return ACTION(() => (left) => C.factory.expressionOperation(operator.image, [left, arg], C.factory.sourceLocation(left, arg)));
|
|
13313
13314
|
} },
|
|
13314
13315
|
{ ALT: () => {
|
|
13315
13316
|
const { operator, startInt } = OR3([
|
|
13316
13317
|
{ ALT: () => {
|
|
13317
|
-
const integer2 = SUBRULE(numericLiteralPositive
|
|
13318
|
+
const integer2 = SUBRULE(numericLiteralPositive);
|
|
13318
13319
|
return ACTION(() => {
|
|
13319
13320
|
integer2.value = integer2.value.replace(/^\+/u, "");
|
|
13320
13321
|
return {
|
|
@@ -13324,7 +13325,7 @@ var additiveExpression = {
|
|
|
13324
13325
|
});
|
|
13325
13326
|
} },
|
|
13326
13327
|
{ ALT: () => {
|
|
13327
|
-
const integer2 = SUBRULE(numericLiteralNegative
|
|
13328
|
+
const integer2 = SUBRULE(numericLiteralNegative);
|
|
13328
13329
|
return ACTION(() => {
|
|
13329
13330
|
integer2.value = integer2.value.replace(/^-/u, "");
|
|
13330
13331
|
return {
|
|
@@ -13341,7 +13342,7 @@ var additiveExpression = {
|
|
|
13341
13342
|
{ ALT: () => CONSUME(symbols_exports.star) },
|
|
13342
13343
|
{ ALT: () => CONSUME(symbols_exports.slash) }
|
|
13343
13344
|
]);
|
|
13344
|
-
const innerExpr = SUBRULE1(unaryExpression
|
|
13345
|
+
const innerExpr = SUBRULE1(unaryExpression);
|
|
13345
13346
|
return ACTION(() => (leftInner) => C.factory.expressionOperation(
|
|
13346
13347
|
innerOperator.image,
|
|
13347
13348
|
[leftInner, innerExpr],
|
|
@@ -13365,13 +13366,13 @@ var additiveExpression = {
|
|
|
13365
13366
|
var multiplicativeExpression = {
|
|
13366
13367
|
name: "multiplicativeExpression",
|
|
13367
13368
|
impl: ({ ACTION, CONSUME, MANY, SUBRULE1, SUBRULE2, OR }) => (C) => constructLeftDeep(
|
|
13368
|
-
() => SUBRULE1(unaryExpression
|
|
13369
|
+
() => SUBRULE1(unaryExpression),
|
|
13369
13370
|
() => {
|
|
13370
13371
|
const operator = OR([
|
|
13371
13372
|
{ ALT: () => CONSUME(symbols_exports.star) },
|
|
13372
13373
|
{ ALT: () => CONSUME(symbols_exports.slash) }
|
|
13373
13374
|
]);
|
|
13374
|
-
const expr = SUBRULE2(unaryExpression
|
|
13375
|
+
const expr = SUBRULE2(unaryExpression);
|
|
13375
13376
|
return (left) => ({
|
|
13376
13377
|
type: "expression",
|
|
13377
13378
|
subType: "operation",
|
|
@@ -13387,14 +13388,14 @@ var multiplicativeExpression = {
|
|
|
13387
13388
|
var unaryExpression = {
|
|
13388
13389
|
name: "unaryExpression",
|
|
13389
13390
|
impl: ({ ACTION, CONSUME, SUBRULE1, SUBRULE2, OR1, OR2 }) => (C) => OR1([
|
|
13390
|
-
{ ALT: () => SUBRULE1(primaryExpression
|
|
13391
|
+
{ ALT: () => SUBRULE1(primaryExpression) },
|
|
13391
13392
|
{ ALT: () => {
|
|
13392
13393
|
const operator = OR2([
|
|
13393
13394
|
{ ALT: () => CONSUME(symbols_exports.exclamation) },
|
|
13394
13395
|
{ ALT: () => CONSUME(symbols_exports.opPlus) },
|
|
13395
13396
|
{ ALT: () => CONSUME(symbols_exports.opMinus) }
|
|
13396
13397
|
]);
|
|
13397
|
-
const expr = SUBRULE2(primaryExpression
|
|
13398
|
+
const expr = SUBRULE2(primaryExpression);
|
|
13398
13399
|
return ACTION(() => ({
|
|
13399
13400
|
type: "expression",
|
|
13400
13401
|
subType: "operation",
|
|
@@ -13408,20 +13409,20 @@ var unaryExpression = {
|
|
|
13408
13409
|
var primaryExpression = {
|
|
13409
13410
|
name: "primaryExpression",
|
|
13410
13411
|
impl: ({ SUBRULE, OR }) => () => OR([
|
|
13411
|
-
{ ALT: () => SUBRULE(brackettedExpression
|
|
13412
|
-
{ ALT: () => SUBRULE(builtInCall
|
|
13413
|
-
{ ALT: () => SUBRULE(iriOrFunction
|
|
13414
|
-
{ ALT: () => SUBRULE(rdfLiteral
|
|
13415
|
-
{ ALT: () => SUBRULE(numericLiteral
|
|
13416
|
-
{ ALT: () => SUBRULE(booleanLiteral
|
|
13417
|
-
{ ALT: () => SUBRULE(var_
|
|
13412
|
+
{ ALT: () => SUBRULE(brackettedExpression) },
|
|
13413
|
+
{ ALT: () => SUBRULE(builtInCall) },
|
|
13414
|
+
{ ALT: () => SUBRULE(iriOrFunction) },
|
|
13415
|
+
{ ALT: () => SUBRULE(rdfLiteral) },
|
|
13416
|
+
{ ALT: () => SUBRULE(numericLiteral) },
|
|
13417
|
+
{ ALT: () => SUBRULE(booleanLiteral) },
|
|
13418
|
+
{ ALT: () => SUBRULE(var_) }
|
|
13418
13419
|
])
|
|
13419
13420
|
};
|
|
13420
13421
|
var brackettedExpression = {
|
|
13421
13422
|
name: "brackettedExpression",
|
|
13422
13423
|
impl: ({ ACTION, SUBRULE, CONSUME }) => (C) => {
|
|
13423
13424
|
const open = CONSUME(symbols_exports.LParen);
|
|
13424
|
-
const expr = SUBRULE(expression
|
|
13425
|
+
const expr = SUBRULE(expression);
|
|
13425
13426
|
const close = CONSUME(symbols_exports.RParen);
|
|
13426
13427
|
return ACTION(() => {
|
|
13427
13428
|
expr.loc = C.factory.sourceLocation(open, close);
|
|
@@ -13432,9 +13433,9 @@ var brackettedExpression = {
|
|
|
13432
13433
|
var iriOrFunction = {
|
|
13433
13434
|
name: "iriOrFunction",
|
|
13434
13435
|
impl: ({ ACTION, SUBRULE, OPTION }) => (C) => {
|
|
13435
|
-
const iriVal = SUBRULE(iri2
|
|
13436
|
+
const iriVal = SUBRULE(iri2);
|
|
13436
13437
|
const functionCall2 = OPTION(() => {
|
|
13437
|
-
const args = SUBRULE(argList
|
|
13438
|
+
const args = SUBRULE(argList);
|
|
13438
13439
|
return ACTION(() => {
|
|
13439
13440
|
const distinct2 = args.val.distinct;
|
|
13440
13441
|
if (!C.parseMode.has("canParseAggregate") && distinct2) {
|
|
@@ -13454,10 +13455,10 @@ var iriOrFunction = {
|
|
|
13454
13455
|
},
|
|
13455
13456
|
gImpl: ({ SUBRULE }) => (ast, { factory: F3 }) => {
|
|
13456
13457
|
if (F3.isTermNamed(ast)) {
|
|
13457
|
-
SUBRULE(iri2, ast
|
|
13458
|
+
SUBRULE(iri2, ast);
|
|
13458
13459
|
} else {
|
|
13459
|
-
SUBRULE(iri2, ast.function
|
|
13460
|
-
SUBRULE(argList, F3.wrap({ args: ast.args, distinct: ast.distinct }, ast.loc)
|
|
13460
|
+
SUBRULE(iri2, ast.function);
|
|
13461
|
+
SUBRULE(argList, F3.wrap({ args: ast.args, distinct: ast.distinct }, ast.loc));
|
|
13461
13462
|
}
|
|
13462
13463
|
}
|
|
13463
13464
|
};
|
|
@@ -13466,10 +13467,10 @@ var iriOrFunction = {
|
|
|
13466
13467
|
var solutionModifier = {
|
|
13467
13468
|
name: "solutionModifier",
|
|
13468
13469
|
impl: ({ ACTION, SUBRULE, OPTION1, OPTION2, OPTION3, OPTION4 }) => () => {
|
|
13469
|
-
const group = OPTION1(() => SUBRULE(groupClause
|
|
13470
|
-
const having2 = OPTION2(() => SUBRULE(havingClause
|
|
13471
|
-
const order2 = OPTION3(() => SUBRULE(orderClause
|
|
13472
|
-
const limitOffset = OPTION4(() => SUBRULE(limitOffsetClauses
|
|
13470
|
+
const group = OPTION1(() => SUBRULE(groupClause));
|
|
13471
|
+
const having2 = OPTION2(() => SUBRULE(havingClause));
|
|
13472
|
+
const order2 = OPTION3(() => SUBRULE(orderClause));
|
|
13473
|
+
const limitOffset = OPTION4(() => SUBRULE(limitOffsetClauses));
|
|
13473
13474
|
return ACTION(() => ({
|
|
13474
13475
|
...limitOffset && { limitOffset },
|
|
13475
13476
|
...group && { group },
|
|
@@ -13479,16 +13480,16 @@ var solutionModifier = {
|
|
|
13479
13480
|
},
|
|
13480
13481
|
gImpl: ({ SUBRULE }) => (ast) => {
|
|
13481
13482
|
if (ast.group) {
|
|
13482
|
-
SUBRULE(groupClause, ast.group
|
|
13483
|
+
SUBRULE(groupClause, ast.group);
|
|
13483
13484
|
}
|
|
13484
13485
|
if (ast.having) {
|
|
13485
|
-
SUBRULE(havingClause, ast.having
|
|
13486
|
+
SUBRULE(havingClause, ast.having);
|
|
13486
13487
|
}
|
|
13487
13488
|
if (ast.order) {
|
|
13488
|
-
SUBRULE(orderClause, ast.order
|
|
13489
|
+
SUBRULE(orderClause, ast.order);
|
|
13489
13490
|
}
|
|
13490
13491
|
if (ast.limitOffset) {
|
|
13491
|
-
SUBRULE(limitOffsetClauses, ast.limitOffset
|
|
13492
|
+
SUBRULE(limitOffsetClauses, ast.limitOffset);
|
|
13492
13493
|
}
|
|
13493
13494
|
}
|
|
13494
13495
|
};
|
|
@@ -13499,7 +13500,7 @@ var groupClause = {
|
|
|
13499
13500
|
const start = CONSUME(groupByGroup);
|
|
13500
13501
|
CONSUME(by);
|
|
13501
13502
|
AT_LEAST_ONE(() => {
|
|
13502
|
-
groupings.push(SUBRULE1(groupCondition
|
|
13503
|
+
groupings.push(SUBRULE1(groupCondition));
|
|
13503
13504
|
});
|
|
13504
13505
|
return ACTION(() => ({
|
|
13505
13506
|
type: "solutionModifier",
|
|
@@ -13512,12 +13513,12 @@ var groupClause = {
|
|
|
13512
13513
|
F3.printFilter(ast, () => PRINT_WORDS("GROUP", "BY"));
|
|
13513
13514
|
for (const grouping of ast.groupings) {
|
|
13514
13515
|
if (F3.isExpression(grouping)) {
|
|
13515
|
-
SUBRULE(expression, grouping
|
|
13516
|
+
SUBRULE(expression, grouping);
|
|
13516
13517
|
} else {
|
|
13517
13518
|
F3.printFilter(ast, () => PRINT_WORDS("("));
|
|
13518
|
-
SUBRULE(expression, grouping.value
|
|
13519
|
+
SUBRULE(expression, grouping.value);
|
|
13519
13520
|
F3.printFilter(ast, () => PRINT_WORDS("AS"));
|
|
13520
|
-
SUBRULE(var_, grouping.variable
|
|
13521
|
+
SUBRULE(var_, grouping.variable);
|
|
13521
13522
|
F3.printFilter(ast, () => PRINT_WORDS(")"));
|
|
13522
13523
|
}
|
|
13523
13524
|
}
|
|
@@ -13526,16 +13527,16 @@ var groupClause = {
|
|
|
13526
13527
|
var groupCondition = {
|
|
13527
13528
|
name: "groupCondition",
|
|
13528
13529
|
impl: ({ ACTION, SUBRULE, CONSUME, SUBRULE1, SUBRULE2, OPTION, OR }) => (C) => OR([
|
|
13529
|
-
{ ALT: () => SUBRULE(builtInCall
|
|
13530
|
-
{ ALT: () => SUBRULE(functionCall
|
|
13531
|
-
{ ALT: () => SUBRULE2(var_
|
|
13530
|
+
{ ALT: () => SUBRULE(builtInCall) },
|
|
13531
|
+
{ ALT: () => SUBRULE(functionCall) },
|
|
13532
|
+
{ ALT: () => SUBRULE2(var_) },
|
|
13532
13533
|
{
|
|
13533
13534
|
ALT: () => {
|
|
13534
13535
|
const open = CONSUME(symbols_exports.LParen);
|
|
13535
|
-
const expressionValue = SUBRULE(expression
|
|
13536
|
+
const expressionValue = SUBRULE(expression);
|
|
13536
13537
|
const variable = OPTION(() => {
|
|
13537
13538
|
CONSUME(as);
|
|
13538
|
-
return SUBRULE1(var_
|
|
13539
|
+
return SUBRULE1(var_);
|
|
13539
13540
|
});
|
|
13540
13541
|
const close = CONSUME(symbols_exports.RParen);
|
|
13541
13542
|
return ACTION(() => {
|
|
@@ -13559,7 +13560,7 @@ var havingClause = {
|
|
|
13559
13560
|
const expressions = [];
|
|
13560
13561
|
const couldParseAgg = ACTION(() => C.parseMode.has("canParseAggregate") || !C.parseMode.add("canParseAggregate"));
|
|
13561
13562
|
AT_LEAST_ONE(() => {
|
|
13562
|
-
expressions.push(SUBRULE(havingCondition
|
|
13563
|
+
expressions.push(SUBRULE(havingCondition));
|
|
13563
13564
|
});
|
|
13564
13565
|
ACTION(() => !couldParseAgg && C.parseMode.delete("canParseAggregate"));
|
|
13565
13566
|
return ACTION(() => C.factory.solutionModifierHaving(expressions, C.factory.sourceLocation(having2, expressions.at(-1))));
|
|
@@ -13567,13 +13568,13 @@ var havingClause = {
|
|
|
13567
13568
|
gImpl: ({ PRINT_WORD, SUBRULE }) => (ast, { factory: F3 }) => {
|
|
13568
13569
|
F3.printFilter(ast, () => PRINT_WORD("HAVING"));
|
|
13569
13570
|
for (const having2 of ast.having) {
|
|
13570
|
-
SUBRULE(expression, having2
|
|
13571
|
+
SUBRULE(expression, having2);
|
|
13571
13572
|
}
|
|
13572
13573
|
}
|
|
13573
13574
|
};
|
|
13574
13575
|
var havingCondition = {
|
|
13575
13576
|
name: "havingCondition",
|
|
13576
|
-
impl: ({ SUBRULE }) => () => SUBRULE(constraint
|
|
13577
|
+
impl: ({ SUBRULE }) => () => SUBRULE(constraint)
|
|
13577
13578
|
};
|
|
13578
13579
|
var orderClause = {
|
|
13579
13580
|
name: "orderClause",
|
|
@@ -13583,7 +13584,7 @@ var orderClause = {
|
|
|
13583
13584
|
const orderings = [];
|
|
13584
13585
|
const couldParseAgg = ACTION(() => C.parseMode.has("canParseAggregate") || !C.parseMode.add("canParseAggregate"));
|
|
13585
13586
|
AT_LEAST_ONE(() => {
|
|
13586
|
-
orderings.push(SUBRULE1(orderCondition
|
|
13587
|
+
orderings.push(SUBRULE1(orderCondition));
|
|
13587
13588
|
});
|
|
13588
13589
|
ACTION(() => !couldParseAgg && C.parseMode.delete("canParseAggregate"));
|
|
13589
13590
|
return ACTION(() => C.factory.solutionModifierOrder(orderings, C.factory.sourceLocation(order2, orderings.at(-1))));
|
|
@@ -13597,7 +13598,7 @@ var orderClause = {
|
|
|
13597
13598
|
F3.printFilter(ast, () => PRINT_WORDS("ASC"));
|
|
13598
13599
|
}
|
|
13599
13600
|
F3.printFilter(ast, () => PRINT_WORDS("("));
|
|
13600
|
-
SUBRULE(expression, ordering.expression
|
|
13601
|
+
SUBRULE(expression, ordering.expression);
|
|
13601
13602
|
F3.printFilter(ast, () => PRINT_WORDS(")"));
|
|
13602
13603
|
}
|
|
13603
13604
|
}
|
|
@@ -13616,7 +13617,7 @@ var orderCondition = {
|
|
|
13616
13617
|
return [true, token];
|
|
13617
13618
|
} }
|
|
13618
13619
|
]);
|
|
13619
|
-
const expr = SUBRULE(brackettedExpression
|
|
13620
|
+
const expr = SUBRULE(brackettedExpression);
|
|
13620
13621
|
return ACTION(() => ({
|
|
13621
13622
|
expression: expr,
|
|
13622
13623
|
descending: descending[0],
|
|
@@ -13624,11 +13625,11 @@ var orderCondition = {
|
|
|
13624
13625
|
}));
|
|
13625
13626
|
} },
|
|
13626
13627
|
{ ALT: () => {
|
|
13627
|
-
const expr = SUBRULE(constraint
|
|
13628
|
+
const expr = SUBRULE(constraint);
|
|
13628
13629
|
return ACTION(() => ({ expression: expr, descending: false, loc: expr.loc }));
|
|
13629
13630
|
} },
|
|
13630
13631
|
{ ALT: () => {
|
|
13631
|
-
const expr = SUBRULE(var_
|
|
13632
|
+
const expr = SUBRULE(var_);
|
|
13632
13633
|
return ACTION(() => ({ expression: expr, descending: false, loc: expr.loc }));
|
|
13633
13634
|
} }
|
|
13634
13635
|
])
|
|
@@ -13637,8 +13638,8 @@ var limitOffsetClauses = {
|
|
|
13637
13638
|
name: "limitOffsetClauses",
|
|
13638
13639
|
impl: ({ ACTION, SUBRULE1, SUBRULE2, OPTION1, OPTION2, OR }) => (C) => OR([
|
|
13639
13640
|
{ ALT: () => {
|
|
13640
|
-
const limit2 = SUBRULE1(limitClause
|
|
13641
|
-
const offset2 = OPTION1(() => SUBRULE1(offsetClause
|
|
13641
|
+
const limit2 = SUBRULE1(limitClause);
|
|
13642
|
+
const offset2 = OPTION1(() => SUBRULE1(offsetClause));
|
|
13642
13643
|
return ACTION(() => C.factory.solutionModifierLimitOffset(
|
|
13643
13644
|
limit2.val,
|
|
13644
13645
|
offset2?.val,
|
|
@@ -13646,8 +13647,8 @@ var limitOffsetClauses = {
|
|
|
13646
13647
|
));
|
|
13647
13648
|
} },
|
|
13648
13649
|
{ ALT: () => {
|
|
13649
|
-
const offset2 = SUBRULE2(offsetClause
|
|
13650
|
-
const limit2 = OPTION2(() => SUBRULE2(limitClause
|
|
13650
|
+
const offset2 = SUBRULE2(offsetClause);
|
|
13651
|
+
const limit2 = OPTION2(() => SUBRULE2(limitClause));
|
|
13651
13652
|
return ACTION(() => C.factory.solutionModifierLimitOffset(
|
|
13652
13653
|
limit2?.val,
|
|
13653
13654
|
offset2.val,
|
|
@@ -13685,22 +13686,22 @@ var offsetClause = {
|
|
|
13685
13686
|
}
|
|
13686
13687
|
};
|
|
13687
13688
|
|
|
13688
|
-
// ../rules-sparql-1-1/lib/grammar/queryUnit
|
|
13689
|
+
// ../rules-sparql-1-1/lib/grammar/queryUnit.ts
|
|
13689
13690
|
var queryUnit = {
|
|
13690
13691
|
name: "queryUnit",
|
|
13691
|
-
impl: ({ SUBRULE }) => () => SUBRULE(query
|
|
13692
|
+
impl: ({ SUBRULE }) => () => SUBRULE(query)
|
|
13692
13693
|
};
|
|
13693
13694
|
var query = {
|
|
13694
13695
|
name: "query",
|
|
13695
13696
|
impl: ({ ACTION, SUBRULE, OR }) => (C) => {
|
|
13696
|
-
const prologueValues = SUBRULE(prologue
|
|
13697
|
+
const prologueValues = SUBRULE(prologue);
|
|
13697
13698
|
const subType = OR([
|
|
13698
|
-
{ ALT: () => SUBRULE(selectQuery
|
|
13699
|
-
{ ALT: () => SUBRULE(constructQuery
|
|
13700
|
-
{ ALT: () => SUBRULE(describeQuery
|
|
13701
|
-
{ ALT: () => SUBRULE(askQuery
|
|
13699
|
+
{ ALT: () => SUBRULE(selectQuery) },
|
|
13700
|
+
{ ALT: () => SUBRULE(constructQuery) },
|
|
13701
|
+
{ ALT: () => SUBRULE(describeQuery) },
|
|
13702
|
+
{ ALT: () => SUBRULE(askQuery) }
|
|
13702
13703
|
]);
|
|
13703
|
-
const values3 = SUBRULE(valuesClause
|
|
13704
|
+
const values3 = SUBRULE(valuesClause);
|
|
13704
13705
|
return ACTION(() => ({
|
|
13705
13706
|
context: prologueValues,
|
|
13706
13707
|
...subType,
|
|
@@ -13714,28 +13715,28 @@ var query = {
|
|
|
13714
13715
|
}));
|
|
13715
13716
|
},
|
|
13716
13717
|
gImpl: ({ SUBRULE }) => (ast, { factory: F3 }) => {
|
|
13717
|
-
SUBRULE(prologue, ast.context
|
|
13718
|
+
SUBRULE(prologue, ast.context);
|
|
13718
13719
|
if (F3.isQuerySelect(ast)) {
|
|
13719
|
-
SUBRULE(selectQuery, ast
|
|
13720
|
+
SUBRULE(selectQuery, ast);
|
|
13720
13721
|
} else if (F3.isQueryConstruct(ast)) {
|
|
13721
|
-
SUBRULE(constructQuery, ast
|
|
13722
|
+
SUBRULE(constructQuery, ast);
|
|
13722
13723
|
} else if (F3.isQueryDescribe(ast)) {
|
|
13723
|
-
SUBRULE(describeQuery, ast
|
|
13724
|
+
SUBRULE(describeQuery, ast);
|
|
13724
13725
|
} else if (F3.isQueryAsk(ast)) {
|
|
13725
|
-
SUBRULE(askQuery, ast
|
|
13726
|
+
SUBRULE(askQuery, ast);
|
|
13726
13727
|
}
|
|
13727
13728
|
if (ast.values) {
|
|
13728
|
-
SUBRULE(inlineData, ast.values
|
|
13729
|
+
SUBRULE(inlineData, ast.values);
|
|
13729
13730
|
}
|
|
13730
13731
|
}
|
|
13731
13732
|
};
|
|
13732
13733
|
var selectQuery = {
|
|
13733
13734
|
name: "selectQuery",
|
|
13734
13735
|
impl: ({ ACTION, SUBRULE }) => (C) => {
|
|
13735
|
-
const selectVal = SUBRULE(selectClause
|
|
13736
|
-
const from2 = SUBRULE(datasetClauseStar
|
|
13737
|
-
const where2 = SUBRULE(whereClause
|
|
13738
|
-
const modifiers = SUBRULE(solutionModifier
|
|
13736
|
+
const selectVal = SUBRULE(selectClause);
|
|
13737
|
+
const from2 = SUBRULE(datasetClauseStar);
|
|
13738
|
+
const where2 = SUBRULE(whereClause);
|
|
13739
|
+
const modifiers = SUBRULE(solutionModifier);
|
|
13739
13740
|
return ACTION(() => {
|
|
13740
13741
|
const ret = {
|
|
13741
13742
|
subType: "select",
|
|
@@ -13761,19 +13762,19 @@ var selectQuery = {
|
|
|
13761
13762
|
variables: ast.variables,
|
|
13762
13763
|
distinct: ast.distinct,
|
|
13763
13764
|
reduced: ast.reduced
|
|
13764
|
-
}, F3.sourceLocation(...ast.variables))
|
|
13765
|
-
SUBRULE(datasetClauseStar, ast.datasets
|
|
13766
|
-
SUBRULE(whereClause, F3.wrap(ast.where, ast.where.loc)
|
|
13767
|
-
SUBRULE(solutionModifier, ast.solutionModifiers
|
|
13765
|
+
}, F3.sourceLocation(...ast.variables)));
|
|
13766
|
+
SUBRULE(datasetClauseStar, ast.datasets);
|
|
13767
|
+
SUBRULE(whereClause, F3.wrap(ast.where, ast.where.loc));
|
|
13768
|
+
SUBRULE(solutionModifier, ast.solutionModifiers);
|
|
13768
13769
|
}
|
|
13769
13770
|
};
|
|
13770
13771
|
var subSelect = {
|
|
13771
13772
|
name: "subSelect",
|
|
13772
13773
|
impl: ({ ACTION, SUBRULE }) => (C) => {
|
|
13773
|
-
const selectVal = SUBRULE(selectClause
|
|
13774
|
-
const where2 = SUBRULE(whereClause
|
|
13775
|
-
const modifiers = SUBRULE(solutionModifier
|
|
13776
|
-
const values3 = SUBRULE(valuesClause
|
|
13774
|
+
const selectVal = SUBRULE(selectClause);
|
|
13775
|
+
const where2 = SUBRULE(whereClause);
|
|
13776
|
+
const modifiers = SUBRULE(solutionModifier);
|
|
13777
|
+
const values3 = SUBRULE(valuesClause);
|
|
13777
13778
|
return ACTION(() => C.factory.querySelect({
|
|
13778
13779
|
where: where2.val,
|
|
13779
13780
|
datasets: C.factory.datasetClauses([], C.factory.sourceLocation()),
|
|
@@ -13838,7 +13839,7 @@ var selectClause = {
|
|
|
13838
13839
|
const variables = [];
|
|
13839
13840
|
AT_LEAST_ONE(() => OR3([
|
|
13840
13841
|
{ ALT: () => {
|
|
13841
|
-
const raw = SUBRULE1(var_
|
|
13842
|
+
const raw = SUBRULE1(var_);
|
|
13842
13843
|
ACTION(() => {
|
|
13843
13844
|
if (usedVars.some((v) => v.value === raw.value)) {
|
|
13844
13845
|
throw new Error(`Variable ${raw.value} used more than once in SELECT clause`);
|
|
@@ -13850,9 +13851,9 @@ var selectClause = {
|
|
|
13850
13851
|
} },
|
|
13851
13852
|
{ ALT: () => {
|
|
13852
13853
|
const open = CONSUME(symbols_exports.LParen);
|
|
13853
|
-
const expr = SUBRULE1(expression
|
|
13854
|
+
const expr = SUBRULE1(expression);
|
|
13854
13855
|
CONSUME(as);
|
|
13855
|
-
const variable = SUBRULE2(var_
|
|
13856
|
+
const variable = SUBRULE2(var_);
|
|
13856
13857
|
const close = CONSUME(symbols_exports.RParen);
|
|
13857
13858
|
ACTION(() => {
|
|
13858
13859
|
last2 = close;
|
|
@@ -13883,12 +13884,12 @@ var selectClause = {
|
|
|
13883
13884
|
if (F3.isWildcard(variable)) {
|
|
13884
13885
|
F3.printFilter(ast, () => PRINT_WORD("*"));
|
|
13885
13886
|
} else if (F3.isTerm(variable)) {
|
|
13886
|
-
SUBRULE(var_, variable
|
|
13887
|
+
SUBRULE(var_, variable);
|
|
13887
13888
|
} else {
|
|
13888
13889
|
F3.printFilter(ast, () => PRINT_WORD("("));
|
|
13889
|
-
SUBRULE(expression, variable.expression
|
|
13890
|
+
SUBRULE(expression, variable.expression);
|
|
13890
13891
|
F3.printFilter(ast, () => PRINT_WORD("AS"));
|
|
13891
|
-
SUBRULE(var_, variable.variable
|
|
13892
|
+
SUBRULE(var_, variable.variable);
|
|
13892
13893
|
F3.printFilter(ast, () => PRINT_WORD(")"));
|
|
13893
13894
|
}
|
|
13894
13895
|
}
|
|
@@ -13900,10 +13901,10 @@ var constructQuery = {
|
|
|
13900
13901
|
const construct2 = CONSUME(construct);
|
|
13901
13902
|
return OR([
|
|
13902
13903
|
{ ALT: () => {
|
|
13903
|
-
const template = SUBRULE1(constructTemplate
|
|
13904
|
-
const from2 = SUBRULE1(datasetClauseStar
|
|
13905
|
-
const where2 = SUBRULE1(whereClause
|
|
13906
|
-
const modifiers = SUBRULE1(solutionModifier
|
|
13904
|
+
const template = SUBRULE1(constructTemplate);
|
|
13905
|
+
const from2 = SUBRULE1(datasetClauseStar);
|
|
13906
|
+
const where2 = SUBRULE1(whereClause);
|
|
13907
|
+
const modifiers = SUBRULE1(solutionModifier);
|
|
13907
13908
|
return ACTION(() => ({
|
|
13908
13909
|
subType: "construct",
|
|
13909
13910
|
template: template.val,
|
|
@@ -13921,10 +13922,10 @@ var constructQuery = {
|
|
|
13921
13922
|
}));
|
|
13922
13923
|
} },
|
|
13923
13924
|
{ ALT: () => {
|
|
13924
|
-
const from2 = SUBRULE2(datasetClauseStar
|
|
13925
|
+
const from2 = SUBRULE2(datasetClauseStar);
|
|
13925
13926
|
CONSUME(where);
|
|
13926
|
-
const template = SUBRULE2(constructTemplate
|
|
13927
|
-
const modifiers = SUBRULE2(solutionModifier
|
|
13927
|
+
const template = SUBRULE2(constructTemplate);
|
|
13928
|
+
const modifiers = SUBRULE2(solutionModifier);
|
|
13928
13929
|
return ACTION(() => ({
|
|
13929
13930
|
subType: "construct",
|
|
13930
13931
|
template: template.val,
|
|
@@ -13947,16 +13948,16 @@ var constructQuery = {
|
|
|
13947
13948
|
F3.printFilter(ast, () => PRINT_WORD("CONSTRUCT"));
|
|
13948
13949
|
if (!F3.isSourceLocationNoMaterialize(ast.where.loc)) {
|
|
13949
13950
|
F3.printFilter(ast, () => PRINT_WORD("{"));
|
|
13950
|
-
SUBRULE(triplesBlock, ast.template
|
|
13951
|
+
SUBRULE(triplesBlock, ast.template);
|
|
13951
13952
|
F3.printFilter(ast, () => PRINT_WORD("}"));
|
|
13952
13953
|
}
|
|
13953
|
-
SUBRULE(datasetClauseStar, ast.datasets
|
|
13954
|
+
SUBRULE(datasetClauseStar, ast.datasets);
|
|
13954
13955
|
if (F3.isSourceLocationNoMaterialize(ast.where.loc)) {
|
|
13955
|
-
SUBRULE(whereClause, F3.wrap(F3.patternGroup([ast.template], ast.template.loc), ast.template.loc)
|
|
13956
|
+
SUBRULE(whereClause, F3.wrap(F3.patternGroup([ast.template], ast.template.loc), ast.template.loc));
|
|
13956
13957
|
} else {
|
|
13957
|
-
SUBRULE(whereClause, F3.wrap(ast.where, ast.where.loc)
|
|
13958
|
+
SUBRULE(whereClause, F3.wrap(ast.where, ast.where.loc));
|
|
13958
13959
|
}
|
|
13959
|
-
SUBRULE(solutionModifier, ast.solutionModifiers
|
|
13960
|
+
SUBRULE(solutionModifier, ast.solutionModifiers);
|
|
13960
13961
|
}
|
|
13961
13962
|
};
|
|
13962
13963
|
var describeQuery = {
|
|
@@ -13967,7 +13968,7 @@ var describeQuery = {
|
|
|
13967
13968
|
{ ALT: () => {
|
|
13968
13969
|
const variables2 = [];
|
|
13969
13970
|
AT_LEAST_ONE(() => {
|
|
13970
|
-
variables2.push(SUBRULE1(varOrIri
|
|
13971
|
+
variables2.push(SUBRULE1(varOrIri));
|
|
13971
13972
|
});
|
|
13972
13973
|
return variables2;
|
|
13973
13974
|
} },
|
|
@@ -13976,9 +13977,9 @@ var describeQuery = {
|
|
|
13976
13977
|
return [ACTION(() => C.factory.wildcard(C.factory.sourceLocation(star2)))];
|
|
13977
13978
|
} }
|
|
13978
13979
|
]);
|
|
13979
|
-
const from2 = SUBRULE1(datasetClauseStar
|
|
13980
|
-
const where2 = OPTION(() => SUBRULE1(whereClause
|
|
13981
|
-
const modifiers = SUBRULE1(solutionModifier
|
|
13980
|
+
const from2 = SUBRULE1(datasetClauseStar);
|
|
13981
|
+
const where2 = OPTION(() => SUBRULE1(whereClause));
|
|
13982
|
+
const modifiers = SUBRULE1(solutionModifier);
|
|
13982
13983
|
return ACTION(() => ({
|
|
13983
13984
|
subType: "describe",
|
|
13984
13985
|
variables,
|
|
@@ -14003,23 +14004,23 @@ var describeQuery = {
|
|
|
14003
14004
|
F3.printFilter(ast, () => PRINT_WORD("*"));
|
|
14004
14005
|
} else {
|
|
14005
14006
|
for (const variable of ast.variables) {
|
|
14006
|
-
SUBRULE(varOrTerm, variable
|
|
14007
|
+
SUBRULE(varOrTerm, variable);
|
|
14007
14008
|
}
|
|
14008
14009
|
}
|
|
14009
|
-
SUBRULE(datasetClauseStar, ast.datasets
|
|
14010
|
+
SUBRULE(datasetClauseStar, ast.datasets);
|
|
14010
14011
|
if (ast.where) {
|
|
14011
|
-
SUBRULE(whereClause, F3.wrap(ast.where, ast.loc)
|
|
14012
|
+
SUBRULE(whereClause, F3.wrap(ast.where, ast.loc));
|
|
14012
14013
|
}
|
|
14013
|
-
SUBRULE(solutionModifier, ast.solutionModifiers
|
|
14014
|
+
SUBRULE(solutionModifier, ast.solutionModifiers);
|
|
14014
14015
|
}
|
|
14015
14016
|
};
|
|
14016
14017
|
var askQuery = {
|
|
14017
14018
|
name: "askQuery",
|
|
14018
14019
|
impl: ({ ACTION, SUBRULE, CONSUME }) => (C) => {
|
|
14019
14020
|
const ask2 = CONSUME(ask);
|
|
14020
|
-
const from2 = SUBRULE(datasetClauseStar
|
|
14021
|
-
const where2 = SUBRULE(whereClause
|
|
14022
|
-
const modifiers = SUBRULE(solutionModifier
|
|
14021
|
+
const from2 = SUBRULE(datasetClauseStar);
|
|
14022
|
+
const where2 = SUBRULE(whereClause);
|
|
14023
|
+
const modifiers = SUBRULE(solutionModifier);
|
|
14023
14024
|
return ACTION(() => ({
|
|
14024
14025
|
subType: "ask",
|
|
14025
14026
|
datasets: from2,
|
|
@@ -14038,20 +14039,20 @@ var askQuery = {
|
|
|
14038
14039
|
},
|
|
14039
14040
|
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { factory: F3 }) => {
|
|
14040
14041
|
F3.printFilter(ast, () => PRINT_WORD("ASK"));
|
|
14041
|
-
SUBRULE(datasetClauseStar, ast.datasets
|
|
14042
|
-
SUBRULE(whereClause, F3.wrap(ast.where, ast.loc)
|
|
14043
|
-
SUBRULE(solutionModifier, ast.solutionModifiers
|
|
14042
|
+
SUBRULE(datasetClauseStar, ast.datasets);
|
|
14043
|
+
SUBRULE(whereClause, F3.wrap(ast.where, ast.loc));
|
|
14044
|
+
SUBRULE(solutionModifier, ast.solutionModifiers);
|
|
14044
14045
|
}
|
|
14045
14046
|
};
|
|
14046
14047
|
var valuesClause = {
|
|
14047
14048
|
name: "valuesClause",
|
|
14048
|
-
impl: ({ OPTION, SUBRULE }) => () => OPTION(() => SUBRULE(inlineData
|
|
14049
|
+
impl: ({ OPTION, SUBRULE }) => () => OPTION(() => SUBRULE(inlineData))
|
|
14049
14050
|
};
|
|
14050
14051
|
var constructTemplate = {
|
|
14051
14052
|
name: "constructTemplate",
|
|
14052
14053
|
impl: ({ ACTION, SUBRULE1, CONSUME, OPTION }) => (C) => {
|
|
14053
14054
|
const open = CONSUME(symbols_exports.LCurly);
|
|
14054
|
-
const triples = OPTION(() => SUBRULE1(constructTriples
|
|
14055
|
+
const triples = OPTION(() => SUBRULE1(constructTriples));
|
|
14055
14056
|
const close = CONSUME(symbols_exports.RCurly);
|
|
14056
14057
|
return ACTION(() => C.factory.wrap(
|
|
14057
14058
|
triples ?? C.factory.patternBgp([], C.factory.sourceLocation()),
|
|
@@ -14064,27 +14065,27 @@ var constructTriples = {
|
|
|
14064
14065
|
impl: triplesTemplate.impl
|
|
14065
14066
|
};
|
|
14066
14067
|
|
|
14067
|
-
// ../rules-sparql-1-1/lib/grammar/updateUnit
|
|
14068
|
+
// ../rules-sparql-1-1/lib/grammar/updateUnit.ts
|
|
14068
14069
|
var updateUnit = {
|
|
14069
14070
|
name: "updateUnit",
|
|
14070
|
-
impl: ({ SUBRULE }) => () => SUBRULE(update
|
|
14071
|
+
impl: ({ SUBRULE }) => () => SUBRULE(update)
|
|
14071
14072
|
};
|
|
14072
14073
|
var update = {
|
|
14073
14074
|
name: "update",
|
|
14074
14075
|
impl: ({ ACTION, SUBRULE, SUBRULE1, SUBRULE2, CONSUME, OPTION1, MANY }) => (C) => {
|
|
14075
14076
|
const updates = [];
|
|
14076
|
-
const prologueValues = SUBRULE1(prologue
|
|
14077
|
+
const prologueValues = SUBRULE1(prologue);
|
|
14077
14078
|
updates.push({ context: prologueValues });
|
|
14078
14079
|
let parsedSemi = true;
|
|
14079
14080
|
MANY({
|
|
14080
14081
|
GATE: () => parsedSemi,
|
|
14081
14082
|
DEF: () => {
|
|
14082
14083
|
parsedSemi = false;
|
|
14083
|
-
updates.at(-1).operation = SUBRULE(update1
|
|
14084
|
+
updates.at(-1).operation = SUBRULE(update1);
|
|
14084
14085
|
OPTION1(() => {
|
|
14085
14086
|
CONSUME(symbols_exports.semi);
|
|
14086
14087
|
parsedSemi = true;
|
|
14087
|
-
const innerPrologue = SUBRULE2(prologue
|
|
14088
|
+
const innerPrologue = SUBRULE2(prologue);
|
|
14088
14089
|
updates.push({ context: innerPrologue });
|
|
14089
14090
|
});
|
|
14090
14091
|
}
|
|
@@ -14106,9 +14107,9 @@ var update = {
|
|
|
14106
14107
|
},
|
|
14107
14108
|
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { factory: F3 }) => {
|
|
14108
14109
|
for (const update2 of ast.updates) {
|
|
14109
|
-
SUBRULE(prologue, update2.context
|
|
14110
|
+
SUBRULE(prologue, update2.context);
|
|
14110
14111
|
if (update2.operation) {
|
|
14111
|
-
SUBRULE(update1, update2.operation
|
|
14112
|
+
SUBRULE(update1, update2.operation);
|
|
14112
14113
|
F3.printFilter(ast, () => PRINT_WORD(" ;\n"));
|
|
14113
14114
|
}
|
|
14114
14115
|
}
|
|
@@ -14117,52 +14118,52 @@ var update = {
|
|
|
14117
14118
|
var update1 = {
|
|
14118
14119
|
name: "update1",
|
|
14119
14120
|
impl: ({ SUBRULE, OR }) => () => OR([
|
|
14120
|
-
{ ALT: () => SUBRULE(load2
|
|
14121
|
-
{ ALT: () => SUBRULE(clear2
|
|
14122
|
-
{ ALT: () => SUBRULE(drop3
|
|
14123
|
-
{ ALT: () => SUBRULE(add2
|
|
14124
|
-
{ ALT: () => SUBRULE(move2
|
|
14125
|
-
{ ALT: () => SUBRULE(copy2
|
|
14126
|
-
{ ALT: () => SUBRULE(create2
|
|
14127
|
-
{ ALT: () => SUBRULE(insertData
|
|
14128
|
-
{ ALT: () => SUBRULE(deleteData
|
|
14129
|
-
{ ALT: () => SUBRULE(deleteWhere
|
|
14130
|
-
{ ALT: () => SUBRULE(modify
|
|
14121
|
+
{ ALT: () => SUBRULE(load2) },
|
|
14122
|
+
{ ALT: () => SUBRULE(clear2) },
|
|
14123
|
+
{ ALT: () => SUBRULE(drop3) },
|
|
14124
|
+
{ ALT: () => SUBRULE(add2) },
|
|
14125
|
+
{ ALT: () => SUBRULE(move2) },
|
|
14126
|
+
{ ALT: () => SUBRULE(copy2) },
|
|
14127
|
+
{ ALT: () => SUBRULE(create2) },
|
|
14128
|
+
{ ALT: () => SUBRULE(insertData) },
|
|
14129
|
+
{ ALT: () => SUBRULE(deleteData) },
|
|
14130
|
+
{ ALT: () => SUBRULE(deleteWhere) },
|
|
14131
|
+
{ ALT: () => SUBRULE(modify) }
|
|
14131
14132
|
]),
|
|
14132
14133
|
gImpl: ({ SUBRULE }) => (ast) => {
|
|
14133
14134
|
switch (ast.subType) {
|
|
14134
14135
|
case "load":
|
|
14135
|
-
SUBRULE(load2, ast
|
|
14136
|
+
SUBRULE(load2, ast);
|
|
14136
14137
|
break;
|
|
14137
14138
|
case "clear":
|
|
14138
|
-
SUBRULE(clear2, ast
|
|
14139
|
+
SUBRULE(clear2, ast);
|
|
14139
14140
|
break;
|
|
14140
14141
|
case "drop":
|
|
14141
|
-
SUBRULE(drop3, ast
|
|
14142
|
+
SUBRULE(drop3, ast);
|
|
14142
14143
|
break;
|
|
14143
14144
|
case "add":
|
|
14144
|
-
SUBRULE(add2, ast
|
|
14145
|
+
SUBRULE(add2, ast);
|
|
14145
14146
|
break;
|
|
14146
14147
|
case "move":
|
|
14147
|
-
SUBRULE(move2, ast
|
|
14148
|
+
SUBRULE(move2, ast);
|
|
14148
14149
|
break;
|
|
14149
14150
|
case "copy":
|
|
14150
|
-
SUBRULE(copy2, ast
|
|
14151
|
+
SUBRULE(copy2, ast);
|
|
14151
14152
|
break;
|
|
14152
14153
|
case "create":
|
|
14153
|
-
SUBRULE(create2, ast
|
|
14154
|
+
SUBRULE(create2, ast);
|
|
14154
14155
|
break;
|
|
14155
14156
|
case "insertdata":
|
|
14156
|
-
SUBRULE(insertData, ast
|
|
14157
|
+
SUBRULE(insertData, ast);
|
|
14157
14158
|
break;
|
|
14158
14159
|
case "deletedata":
|
|
14159
|
-
SUBRULE(deleteData, ast
|
|
14160
|
+
SUBRULE(deleteData, ast);
|
|
14160
14161
|
break;
|
|
14161
14162
|
case "deletewhere":
|
|
14162
|
-
SUBRULE(deleteWhere, ast
|
|
14163
|
+
SUBRULE(deleteWhere, ast);
|
|
14163
14164
|
break;
|
|
14164
14165
|
case "modify":
|
|
14165
|
-
SUBRULE(modify, ast
|
|
14166
|
+
SUBRULE(modify, ast);
|
|
14166
14167
|
break;
|
|
14167
14168
|
}
|
|
14168
14169
|
}
|
|
@@ -14172,10 +14173,10 @@ var load2 = {
|
|
|
14172
14173
|
impl: ({ ACTION, SUBRULE1, CONSUME, OPTION1, OPTION2 }) => (C) => {
|
|
14173
14174
|
const loadToken = CONSUME(load);
|
|
14174
14175
|
const silent2 = OPTION1(() => CONSUME(silent));
|
|
14175
|
-
const source = SUBRULE1(iri2
|
|
14176
|
+
const source = SUBRULE1(iri2);
|
|
14176
14177
|
const destination = OPTION2(() => {
|
|
14177
14178
|
CONSUME(loadInto);
|
|
14178
|
-
return SUBRULE1(graphRef
|
|
14179
|
+
return SUBRULE1(graphRef);
|
|
14179
14180
|
});
|
|
14180
14181
|
return ACTION(() => C.factory.updateOperationLoad(
|
|
14181
14182
|
C.factory.sourceLocation(loadToken, source, destination),
|
|
@@ -14191,10 +14192,10 @@ var load2 = {
|
|
|
14191
14192
|
PRINT_WORD("SILENT");
|
|
14192
14193
|
}
|
|
14193
14194
|
});
|
|
14194
|
-
SUBRULE(iri2, ast.source
|
|
14195
|
+
SUBRULE(iri2, ast.source);
|
|
14195
14196
|
if (ast.destination) {
|
|
14196
14197
|
F3.printFilter(ast, () => PRINT_WORD("INTO"));
|
|
14197
|
-
SUBRULE(graphRefAll, ast.destination
|
|
14198
|
+
SUBRULE(graphRefAll, ast.destination);
|
|
14198
14199
|
}
|
|
14199
14200
|
}
|
|
14200
14201
|
};
|
|
@@ -14204,7 +14205,7 @@ function clearOrDrop(operation) {
|
|
|
14204
14205
|
impl: ({ ACTION, SUBRULE1, CONSUME, OPTION }) => (C) => {
|
|
14205
14206
|
const opToken = CONSUME(operation);
|
|
14206
14207
|
const silent2 = OPTION(() => CONSUME(silent));
|
|
14207
|
-
const destination = SUBRULE1(graphRefAll
|
|
14208
|
+
const destination = SUBRULE1(graphRefAll);
|
|
14208
14209
|
return ACTION(() => C.factory.updateOperationClearDrop(
|
|
14209
14210
|
unCapitalize(operation.name),
|
|
14210
14211
|
Boolean(silent2),
|
|
@@ -14219,7 +14220,7 @@ function clearOrDrop(operation) {
|
|
|
14219
14220
|
PRINT_WORD("SILENT");
|
|
14220
14221
|
}
|
|
14221
14222
|
});
|
|
14222
|
-
SUBRULE(graphRefAll, ast.destination
|
|
14223
|
+
SUBRULE(graphRefAll, ast.destination);
|
|
14223
14224
|
}
|
|
14224
14225
|
};
|
|
14225
14226
|
}
|
|
@@ -14230,7 +14231,7 @@ var create2 = {
|
|
|
14230
14231
|
impl: ({ ACTION, SUBRULE1, CONSUME, OPTION }) => (C) => {
|
|
14231
14232
|
const createToken3 = CONSUME(create);
|
|
14232
14233
|
const silent2 = OPTION(() => CONSUME(silent));
|
|
14233
|
-
const destination = SUBRULE1(graphRef
|
|
14234
|
+
const destination = SUBRULE1(graphRef);
|
|
14234
14235
|
return ACTION(() => C.factory.updateOperationCreate(
|
|
14235
14236
|
destination,
|
|
14236
14237
|
Boolean(silent2),
|
|
@@ -14244,7 +14245,7 @@ var create2 = {
|
|
|
14244
14245
|
PRINT_WORD("SILENT");
|
|
14245
14246
|
}
|
|
14246
14247
|
});
|
|
14247
|
-
SUBRULE(graphRefAll, ast.destination
|
|
14248
|
+
SUBRULE(graphRefAll, ast.destination);
|
|
14248
14249
|
}
|
|
14249
14250
|
};
|
|
14250
14251
|
function copyMoveAddOperation(operation) {
|
|
@@ -14253,9 +14254,9 @@ function copyMoveAddOperation(operation) {
|
|
|
14253
14254
|
impl: ({ ACTION, CONSUME, SUBRULE1, SUBRULE2, OPTION }) => (C) => {
|
|
14254
14255
|
const op = CONSUME(operation);
|
|
14255
14256
|
const silent2 = OPTION(() => CONSUME(silent));
|
|
14256
|
-
const source = SUBRULE1(graphOrDefault
|
|
14257
|
+
const source = SUBRULE1(graphOrDefault);
|
|
14257
14258
|
CONSUME(to);
|
|
14258
|
-
const destination = SUBRULE2(graphOrDefault
|
|
14259
|
+
const destination = SUBRULE2(graphOrDefault);
|
|
14259
14260
|
return ACTION(() => C.factory.updateOperationAddMoveCopy(
|
|
14260
14261
|
unCapitalize(operation.name),
|
|
14261
14262
|
source,
|
|
@@ -14271,9 +14272,9 @@ function copyMoveAddOperation(operation) {
|
|
|
14271
14272
|
PRINT_WORD("SILENT");
|
|
14272
14273
|
}
|
|
14273
14274
|
});
|
|
14274
|
-
SUBRULE(graphRefAll, ast.source
|
|
14275
|
+
SUBRULE(graphRefAll, ast.source);
|
|
14275
14276
|
F3.printFilter(ast, () => PRINT_WORD("TO"));
|
|
14276
|
-
SUBRULE(graphRefAll, ast.destination
|
|
14277
|
+
SUBRULE(graphRefAll, ast.destination);
|
|
14277
14278
|
}
|
|
14278
14279
|
};
|
|
14279
14280
|
}
|
|
@@ -14284,7 +14285,7 @@ var quadPattern = {
|
|
|
14284
14285
|
name: "quadPattern",
|
|
14285
14286
|
impl: ({ ACTION, SUBRULE1, CONSUME }) => (C) => {
|
|
14286
14287
|
const open = CONSUME(symbols_exports.LCurly);
|
|
14287
|
-
const val = SUBRULE1(quads
|
|
14288
|
+
const val = SUBRULE1(quads);
|
|
14288
14289
|
const close = CONSUME(symbols_exports.RCurly);
|
|
14289
14290
|
return ACTION(() => C.factory.wrap(val.val, C.factory.sourceLocation(open, close)));
|
|
14290
14291
|
}
|
|
@@ -14294,7 +14295,7 @@ var quadData = {
|
|
|
14294
14295
|
impl: ({ ACTION, SUBRULE1, CONSUME }) => (C) => {
|
|
14295
14296
|
const open = CONSUME(symbols_exports.LCurly);
|
|
14296
14297
|
const couldParseVars = ACTION(() => C.parseMode.delete("canParseVars"));
|
|
14297
|
-
const val = SUBRULE1(quads
|
|
14298
|
+
const val = SUBRULE1(quads);
|
|
14298
14299
|
ACTION(() => couldParseVars && C.parseMode.add("canParseVars"));
|
|
14299
14300
|
const close = CONSUME(symbols_exports.RCurly);
|
|
14300
14301
|
return ACTION(() => C.factory.wrap(val.val, C.factory.sourceLocation(open, close)));
|
|
@@ -14310,7 +14311,7 @@ function insertDeleteDelWhere(name, subType, cons1, cons2, dataRule) {
|
|
|
14310
14311
|
if (name !== "insertData") {
|
|
14311
14312
|
couldCreateBlankNodes = ACTION(() => C.parseMode.delete("canCreateBlankNodes"));
|
|
14312
14313
|
}
|
|
14313
|
-
const data = SUBRULE1(dataRule
|
|
14314
|
+
const data = SUBRULE1(dataRule);
|
|
14314
14315
|
if (name !== "insertData") {
|
|
14315
14316
|
ACTION(() => couldCreateBlankNodes && C.parseMode.add("canCreateBlankNodes"));
|
|
14316
14317
|
}
|
|
@@ -14321,7 +14322,7 @@ function insertDeleteDelWhere(name, subType, cons1, cons2, dataRule) {
|
|
|
14321
14322
|
subType === "insertdata" ? "INSERT DATA" : subType === "deletedata" ? "DELETE DATA" : "DELETE WHERE",
|
|
14322
14323
|
"{"
|
|
14323
14324
|
));
|
|
14324
|
-
SUBRULE(quads, F3.wrap(ast.data, ast.loc)
|
|
14325
|
+
SUBRULE(quads, F3.wrap(ast.data, ast.loc));
|
|
14325
14326
|
F3.printFilter(ast, () => PRINT_WORD("}"));
|
|
14326
14327
|
}
|
|
14327
14328
|
};
|
|
@@ -14334,23 +14335,23 @@ var modify = {
|
|
|
14334
14335
|
impl: ({ ACTION, CONSUME, SUBRULE1, SUBRULE2, OPTION1, OPTION2, OR }) => (C) => {
|
|
14335
14336
|
const graph2 = OPTION1(() => {
|
|
14336
14337
|
const withToken = CONSUME(modifyWith);
|
|
14337
|
-
const graph3 = SUBRULE1(iri2
|
|
14338
|
+
const graph3 = SUBRULE1(iri2);
|
|
14338
14339
|
return { withToken, graph: graph3 };
|
|
14339
14340
|
});
|
|
14340
14341
|
const { insert, del } = OR([
|
|
14341
14342
|
{ ALT: () => {
|
|
14342
|
-
const del2 = SUBRULE1(deleteClause2
|
|
14343
|
-
const insert2 = OPTION2(() => SUBRULE1(insertClause2
|
|
14343
|
+
const del2 = SUBRULE1(deleteClause2);
|
|
14344
|
+
const insert2 = OPTION2(() => SUBRULE1(insertClause2));
|
|
14344
14345
|
return { del: del2, insert: insert2 };
|
|
14345
14346
|
} },
|
|
14346
14347
|
{ ALT: () => {
|
|
14347
|
-
const insert2 = SUBRULE2(insertClause2
|
|
14348
|
+
const insert2 = SUBRULE2(insertClause2);
|
|
14348
14349
|
return { insert: insert2, del: void 0 };
|
|
14349
14350
|
} }
|
|
14350
14351
|
]);
|
|
14351
|
-
const using = SUBRULE1(usingClauseStar
|
|
14352
|
+
const using = SUBRULE1(usingClauseStar);
|
|
14352
14353
|
CONSUME(where);
|
|
14353
|
-
const where2 = SUBRULE1(groupGraphPattern
|
|
14354
|
+
const where2 = SUBRULE1(groupGraphPattern);
|
|
14354
14355
|
return ACTION(() => C.factory.updateOperationModify(
|
|
14355
14356
|
C.factory.sourceLocation(graph2?.withToken, del, insert, where2),
|
|
14356
14357
|
insert?.val ?? [],
|
|
@@ -14363,21 +14364,21 @@ var modify = {
|
|
|
14363
14364
|
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { factory: F3 }) => {
|
|
14364
14365
|
if (ast.graph) {
|
|
14365
14366
|
F3.printFilter(ast, () => PRINT_WORD("WITH"));
|
|
14366
|
-
SUBRULE(iri2, ast.graph
|
|
14367
|
+
SUBRULE(iri2, ast.graph);
|
|
14367
14368
|
}
|
|
14368
14369
|
if (ast.delete.length > 0) {
|
|
14369
14370
|
F3.printFilter(ast, () => PRINT_WORD("DELETE", "{"));
|
|
14370
|
-
SUBRULE(quads, F3.wrap(ast.delete, ast.loc)
|
|
14371
|
+
SUBRULE(quads, F3.wrap(ast.delete, ast.loc));
|
|
14371
14372
|
F3.printFilter(ast, () => PRINT_WORD("}"));
|
|
14372
14373
|
}
|
|
14373
14374
|
if (ast.insert.length > 0) {
|
|
14374
14375
|
F3.printFilter(ast, () => PRINT_WORD("INSERT", "{"));
|
|
14375
|
-
SUBRULE(quads, F3.wrap(ast.insert, ast.loc)
|
|
14376
|
+
SUBRULE(quads, F3.wrap(ast.insert, ast.loc));
|
|
14376
14377
|
F3.printFilter(ast, () => PRINT_WORD("}"));
|
|
14377
14378
|
}
|
|
14378
|
-
SUBRULE(usingClauseStar, ast.from
|
|
14379
|
+
SUBRULE(usingClauseStar, ast.from);
|
|
14379
14380
|
F3.printFilter(ast, () => PRINT_WORD("WHERE"));
|
|
14380
|
-
SUBRULE(groupGraphPattern, ast.where
|
|
14381
|
+
SUBRULE(groupGraphPattern, ast.where);
|
|
14381
14382
|
}
|
|
14382
14383
|
};
|
|
14383
14384
|
var deleteClause2 = {
|
|
@@ -14385,7 +14386,7 @@ var deleteClause2 = {
|
|
|
14385
14386
|
impl: ({ ACTION, SUBRULE, CONSUME }) => (C) => {
|
|
14386
14387
|
const delToken = CONSUME(deleteClause);
|
|
14387
14388
|
const couldCreateBlankNodes = ACTION(() => C.parseMode.delete("canCreateBlankNodes"));
|
|
14388
|
-
const del = SUBRULE(quadPattern
|
|
14389
|
+
const del = SUBRULE(quadPattern);
|
|
14389
14390
|
ACTION(() => couldCreateBlankNodes && C.parseMode.add("canCreateBlankNodes"));
|
|
14390
14391
|
return ACTION(() => C.factory.wrap(del.val, C.factory.sourceLocation(delToken, del)));
|
|
14391
14392
|
}
|
|
@@ -14394,7 +14395,7 @@ var insertClause2 = {
|
|
|
14394
14395
|
name: "insertClause",
|
|
14395
14396
|
impl: ({ ACTION, SUBRULE, CONSUME }) => (C) => {
|
|
14396
14397
|
const insertToken = CONSUME(insertClause);
|
|
14397
|
-
const insert = SUBRULE(quadPattern
|
|
14398
|
+
const insert = SUBRULE(quadPattern);
|
|
14398
14399
|
return ACTION(() => C.factory.wrap(insert.val, C.factory.sourceLocation(insertToken, insert)));
|
|
14399
14400
|
}
|
|
14400
14401
|
};
|
|
@@ -14407,7 +14408,7 @@ var graphOrDefault = {
|
|
|
14407
14408
|
} },
|
|
14408
14409
|
{ ALT: () => {
|
|
14409
14410
|
const graph2 = OPTION(() => CONSUME(graph_exports.graph));
|
|
14410
|
-
const name = SUBRULE1(iri2
|
|
14411
|
+
const name = SUBRULE1(iri2);
|
|
14411
14412
|
return ACTION(() => C.factory.graphRefSpecific(name, C.factory.sourceLocation(graph2, name)));
|
|
14412
14413
|
} }
|
|
14413
14414
|
])
|
|
@@ -14416,18 +14417,18 @@ var graphRef = {
|
|
|
14416
14417
|
name: "graphRef",
|
|
14417
14418
|
impl: ({ ACTION, SUBRULE, CONSUME }) => (C) => {
|
|
14418
14419
|
const graph2 = CONSUME(graph_exports.graph);
|
|
14419
|
-
const val = SUBRULE(iri2
|
|
14420
|
+
const val = SUBRULE(iri2);
|
|
14420
14421
|
return ACTION(() => C.factory.graphRefSpecific(val, C.factory.sourceLocation(graph2, val)));
|
|
14421
14422
|
},
|
|
14422
14423
|
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { factory: F3 }) => {
|
|
14423
14424
|
F3.printFilter(ast, () => PRINT_WORD("GRAPH"));
|
|
14424
|
-
SUBRULE(iri2, ast.graph
|
|
14425
|
+
SUBRULE(iri2, ast.graph);
|
|
14425
14426
|
}
|
|
14426
14427
|
};
|
|
14427
14428
|
var graphRefAll = {
|
|
14428
14429
|
name: "graphRefAll",
|
|
14429
14430
|
impl: ({ ACTION, SUBRULE, CONSUME, OR }) => (C) => OR([
|
|
14430
|
-
{ ALT: () => SUBRULE(graphRef
|
|
14431
|
+
{ ALT: () => SUBRULE(graphRef) },
|
|
14431
14432
|
{ ALT: () => {
|
|
14432
14433
|
const def = CONSUME(graph_exports.default_);
|
|
14433
14434
|
return ACTION(() => C.factory.graphRefDefault(C.factory.sourceLocation(def)));
|
|
@@ -14443,7 +14444,7 @@ var graphRefAll = {
|
|
|
14443
14444
|
]),
|
|
14444
14445
|
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { factory: F3 }) => {
|
|
14445
14446
|
if (F3.isGraphRefSpecific(ast)) {
|
|
14446
|
-
SUBRULE(graphRef, ast
|
|
14447
|
+
SUBRULE(graphRef, ast);
|
|
14447
14448
|
} else if (F3.isGraphRefDefault(ast)) {
|
|
14448
14449
|
F3.printFilter(ast, () => PRINT_WORD("DEFAULT"));
|
|
14449
14450
|
} else if (F3.isGraphRefNamed(ast)) {
|
|
@@ -14459,12 +14460,12 @@ var quads = {
|
|
|
14459
14460
|
const quads2 = [];
|
|
14460
14461
|
let last2;
|
|
14461
14462
|
OPTION1(() => {
|
|
14462
|
-
const triples = SUBRULE1(triplesTemplate
|
|
14463
|
+
const triples = SUBRULE1(triplesTemplate);
|
|
14463
14464
|
last2 = triples;
|
|
14464
14465
|
ACTION(() => quads2.push(triples));
|
|
14465
14466
|
});
|
|
14466
14467
|
MANY(() => {
|
|
14467
|
-
const notTriples = SUBRULE(quadsNotTriples
|
|
14468
|
+
const notTriples = SUBRULE(quadsNotTriples);
|
|
14468
14469
|
last2 = notTriples;
|
|
14469
14470
|
quads2.push(notTriples);
|
|
14470
14471
|
OPTION2(() => {
|
|
@@ -14473,7 +14474,7 @@ var quads = {
|
|
|
14473
14474
|
return dotToken;
|
|
14474
14475
|
});
|
|
14475
14476
|
OPTION3(() => {
|
|
14476
|
-
const triples = SUBRULE2(triplesTemplate
|
|
14477
|
+
const triples = SUBRULE2(triplesTemplate);
|
|
14477
14478
|
last2 = triples;
|
|
14478
14479
|
ACTION(() => quads2.push(triples));
|
|
14479
14480
|
});
|
|
@@ -14483,9 +14484,9 @@ var quads = {
|
|
|
14483
14484
|
gImpl: ({ SUBRULE }) => (ast, { factory: F3 }) => {
|
|
14484
14485
|
for (const quad of ast.val) {
|
|
14485
14486
|
if (F3.isPattern(quad)) {
|
|
14486
|
-
SUBRULE(triplesBlock, quad
|
|
14487
|
+
SUBRULE(triplesBlock, quad);
|
|
14487
14488
|
} else {
|
|
14488
|
-
SUBRULE(quadsNotTriples, quad
|
|
14489
|
+
SUBRULE(quadsNotTriples, quad);
|
|
14489
14490
|
}
|
|
14490
14491
|
}
|
|
14491
14492
|
}
|
|
@@ -14494,9 +14495,9 @@ var quadsNotTriples = {
|
|
|
14494
14495
|
name: "quadsNotTriples",
|
|
14495
14496
|
impl: ({ ACTION, SUBRULE1, CONSUME, OPTION }) => (C) => {
|
|
14496
14497
|
const graph2 = CONSUME(graph_exports.graph);
|
|
14497
|
-
const name = SUBRULE1(varOrIri
|
|
14498
|
+
const name = SUBRULE1(varOrIri);
|
|
14498
14499
|
CONSUME(symbols_exports.LCurly);
|
|
14499
|
-
const triples = OPTION(() => SUBRULE1(triplesTemplate
|
|
14500
|
+
const triples = OPTION(() => SUBRULE1(triplesTemplate));
|
|
14500
14501
|
const close = CONSUME(symbols_exports.RCurly);
|
|
14501
14502
|
return ACTION(() => C.factory.graphQuads(
|
|
14502
14503
|
name,
|
|
@@ -14506,9 +14507,9 @@ var quadsNotTriples = {
|
|
|
14506
14507
|
},
|
|
14507
14508
|
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { factory: F3 }) => {
|
|
14508
14509
|
F3.printFilter(ast, () => PRINT_WORD("GRAPH"));
|
|
14509
|
-
SUBRULE(varOrTerm, ast.graph
|
|
14510
|
+
SUBRULE(varOrTerm, ast.graph);
|
|
14510
14511
|
F3.printFilter(ast, () => PRINT_WORD("{"));
|
|
14511
|
-
SUBRULE(triplesBlock, ast.triples
|
|
14512
|
+
SUBRULE(triplesBlock, ast.triples);
|
|
14512
14513
|
F3.printFilter(ast, () => PRINT_WORD("}"));
|
|
14513
14514
|
}
|
|
14514
14515
|
};
|
|
@@ -14594,7 +14595,7 @@ var F2 = new Factory();
|
|
|
14594
14595
|
function isLangDir(dir) {
|
|
14595
14596
|
return dir === "ltr" || dir === "rtl";
|
|
14596
14597
|
}
|
|
14597
|
-
function
|
|
14598
|
+
function langTagHasCorrectRange(literal) {
|
|
14598
14599
|
if (F2.isTermLiteralLangStr(literal)) {
|
|
14599
14600
|
const dirSplit = literal.langOrIri.split("--");
|
|
14600
14601
|
if (dirSplit.length > 1) {
|
|
@@ -14611,7 +14612,7 @@ var versionDecl = {
|
|
|
14611
14612
|
name: "versionDecl",
|
|
14612
14613
|
impl: ({ ACTION, SUBRULE, CONSUME }) => (C) => {
|
|
14613
14614
|
const versionToken = CONSUME(version);
|
|
14614
|
-
const identifier = SUBRULE(versionSpecifier
|
|
14615
|
+
const identifier = SUBRULE(versionSpecifier);
|
|
14615
14616
|
return ACTION(() => C.factory.contextDefinitionVersion(identifier.val, C.factory.sourceLocation(versionToken, identifier)));
|
|
14616
14617
|
},
|
|
14617
14618
|
gImpl: ({ PRINT_WORDS }) => (ast, { factory: F3 }) => {
|
|
@@ -14635,22 +14636,22 @@ var prologue2 = {
|
|
|
14635
14636
|
impl: ({ SUBRULE, MANY, OR }) => () => {
|
|
14636
14637
|
const result = [];
|
|
14637
14638
|
MANY(() => OR([
|
|
14638
|
-
{ ALT: () => result.push(SUBRULE(grammar_exports.baseDecl
|
|
14639
|
+
{ ALT: () => result.push(SUBRULE(grammar_exports.baseDecl)) },
|
|
14639
14640
|
// TODO: the [spec](https://www.w3.org/TR/sparql11-query/#iriRefs) says you cannot redefine prefixes.
|
|
14640
14641
|
// We might need to check this.
|
|
14641
|
-
{ ALT: () => result.push(SUBRULE(grammar_exports.prefixDecl
|
|
14642
|
-
{ ALT: () => result.push(SUBRULE(versionDecl
|
|
14642
|
+
{ ALT: () => result.push(SUBRULE(grammar_exports.prefixDecl)) },
|
|
14643
|
+
{ ALT: () => result.push(SUBRULE(versionDecl)) }
|
|
14643
14644
|
]));
|
|
14644
14645
|
return result;
|
|
14645
14646
|
},
|
|
14646
14647
|
gImpl: ({ SUBRULE }) => (ast, { factory: F3 }) => {
|
|
14647
14648
|
for (const context of ast) {
|
|
14648
14649
|
if (F3.isContextDefinitionBase(context)) {
|
|
14649
|
-
SUBRULE(grammar_exports.baseDecl, context
|
|
14650
|
+
SUBRULE(grammar_exports.baseDecl, context);
|
|
14650
14651
|
} else if (F3.isContextDefinitionPrefix(context)) {
|
|
14651
|
-
SUBRULE(grammar_exports.prefixDecl, context
|
|
14652
|
+
SUBRULE(grammar_exports.prefixDecl, context);
|
|
14652
14653
|
} else if (F3.isContextDefinitionVersion(context)) {
|
|
14653
|
-
SUBRULE(versionDecl, context
|
|
14654
|
+
SUBRULE(versionDecl, context);
|
|
14654
14655
|
}
|
|
14655
14656
|
}
|
|
14656
14657
|
}
|
|
@@ -14659,10 +14660,10 @@ function reifiedTripleBlockImpl(name, allowPath) {
|
|
|
14659
14660
|
return {
|
|
14660
14661
|
name,
|
|
14661
14662
|
impl: ({ ACTION, SUBRULE }) => (C) => {
|
|
14662
|
-
const triple = SUBRULE(reifiedTriple
|
|
14663
|
+
const triple = SUBRULE(reifiedTriple);
|
|
14663
14664
|
const properties = SUBRULE(
|
|
14664
14665
|
allowPath ? grammar_exports.propertyListPath : grammar_exports.propertyList,
|
|
14665
|
-
|
|
14666
|
+
ACTION(() => C.factory.dematerialized(triple.identifier))
|
|
14666
14667
|
);
|
|
14667
14668
|
return ACTION(() => [triple, ...properties]);
|
|
14668
14669
|
}
|
|
@@ -14673,37 +14674,40 @@ var reifiedTripleBlockPath = reifiedTripleBlockImpl("reifiedTripleBlockPath", tr
|
|
|
14673
14674
|
var dataBlockValue2 = {
|
|
14674
14675
|
name: "dataBlockValue",
|
|
14675
14676
|
impl: ($) => (C) => $.OR2([
|
|
14676
|
-
{ ALT: () => grammar_exports.dataBlockValue.impl($)(C
|
|
14677
|
-
{ ALT: () => $.SUBRULE(tripleTermData
|
|
14677
|
+
{ ALT: () => grammar_exports.dataBlockValue.impl($)(C) },
|
|
14678
|
+
{ ALT: () => $.SUBRULE(tripleTermData) }
|
|
14678
14679
|
])
|
|
14679
14680
|
};
|
|
14680
14681
|
var reifier = {
|
|
14681
14682
|
name: "reifier",
|
|
14682
14683
|
impl: ({ ACTION, CONSUME, SUBRULE, OPTION }) => (C) => {
|
|
14683
|
-
CONSUME(tilde);
|
|
14684
|
-
const reifier2 = OPTION(() => SUBRULE(varOrReifierId
|
|
14684
|
+
const tildeToken = CONSUME(tilde);
|
|
14685
|
+
const reifier2 = OPTION(() => SUBRULE(varOrReifierId));
|
|
14685
14686
|
return ACTION(() => {
|
|
14686
14687
|
if (reifier2 === void 0 && !C.parseMode.has("canCreateBlankNodes")) {
|
|
14687
14688
|
throw new Error("Cannot create blanknodes in current parse mode");
|
|
14688
14689
|
}
|
|
14689
|
-
return
|
|
14690
|
+
return C.factory.wrap(
|
|
14691
|
+
reifier2 ?? C.factory.blankNode(void 0, C.factory.sourceLocation()),
|
|
14692
|
+
C.factory.sourceLocation(tildeToken, reifier2)
|
|
14693
|
+
);
|
|
14690
14694
|
});
|
|
14691
14695
|
}
|
|
14692
14696
|
};
|
|
14693
14697
|
var varOrReifierId = {
|
|
14694
14698
|
name: "varOrReifierId",
|
|
14695
14699
|
impl: ({ SUBRULE, OR }) => (C) => OR([
|
|
14696
|
-
{ GATE: () => C.parseMode.has("canParseVars"), ALT: () => SUBRULE(grammar_exports.var_
|
|
14697
|
-
{ ALT: () => SUBRULE(grammar_exports.iri
|
|
14698
|
-
{ ALT: () => SUBRULE(grammar_exports.blankNode
|
|
14700
|
+
{ GATE: () => C.parseMode.has("canParseVars"), ALT: () => SUBRULE(grammar_exports.var_) },
|
|
14701
|
+
{ ALT: () => SUBRULE(grammar_exports.iri) },
|
|
14702
|
+
{ ALT: () => SUBRULE(grammar_exports.blankNode) }
|
|
14699
14703
|
])
|
|
14700
14704
|
};
|
|
14701
14705
|
function triplesSameSubjectImpl2(name, allowPaths) {
|
|
14702
14706
|
return {
|
|
14703
14707
|
name,
|
|
14704
14708
|
impl: ($) => (C) => $.OR2([
|
|
14705
|
-
{ ALT: () => allowPaths ? grammar_exports.triplesSameSubjectPath.impl($)(C
|
|
14706
|
-
{ ALT: () => $.SUBRULE(allowPaths ? reifiedTripleBlockPath : reifiedTripleBlock
|
|
14709
|
+
{ ALT: () => allowPaths ? grammar_exports.triplesSameSubjectPath.impl($)(C) : grammar_exports.triplesSameSubject.impl($)(C) },
|
|
14710
|
+
{ ALT: () => $.SUBRULE(allowPaths ? reifiedTripleBlockPath : reifiedTripleBlock) }
|
|
14707
14711
|
])
|
|
14708
14712
|
};
|
|
14709
14713
|
}
|
|
@@ -14712,11 +14716,10 @@ var triplesSameSubjectPath2 = triplesSameSubjectImpl2("triplesSameSubjectPath",
|
|
|
14712
14716
|
function objectImpl2(name, allowPaths) {
|
|
14713
14717
|
return {
|
|
14714
14718
|
name,
|
|
14715
|
-
impl: ({ ACTION, SUBRULE }) => (C,
|
|
14716
|
-
const objectVal = SUBRULE(allowPaths ? graphNodePath2 : graphNode2
|
|
14717
|
-
const annotationVal = SUBRULE(allowPaths ? annotationPath : annotation
|
|
14719
|
+
impl: ({ ACTION, SUBRULE }) => (C, subject, predicate) => {
|
|
14720
|
+
const objectVal = SUBRULE(allowPaths ? graphNodePath2 : graphNode2);
|
|
14721
|
+
const annotationVal = SUBRULE(allowPaths ? annotationPath : annotation);
|
|
14718
14722
|
return ACTION(() => {
|
|
14719
|
-
const { subject, predicate } = arg;
|
|
14720
14723
|
const F3 = C.factory;
|
|
14721
14724
|
if (F3.isPathPure(predicate) && annotationVal.length > 0) {
|
|
14722
14725
|
throw new Error("Note 17 violation");
|
|
@@ -14742,9 +14745,9 @@ function annotationImpl(name, allowPaths) {
|
|
|
14742
14745
|
MANY(() => {
|
|
14743
14746
|
OR([
|
|
14744
14747
|
{ ALT: () => {
|
|
14745
|
-
const node = SUBRULE(reifier
|
|
14748
|
+
const node = SUBRULE(reifier);
|
|
14746
14749
|
annotations.push(node);
|
|
14747
|
-
currentReifier = node;
|
|
14750
|
+
currentReifier = node.val;
|
|
14748
14751
|
} },
|
|
14749
14752
|
{ ALT: () => {
|
|
14750
14753
|
ACTION(() => {
|
|
@@ -14768,11 +14771,11 @@ function annotationImpl(name, allowPaths) {
|
|
|
14768
14771
|
},
|
|
14769
14772
|
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { factory: F3 }) => {
|
|
14770
14773
|
for (const annotation2 of ast) {
|
|
14771
|
-
if (F3.
|
|
14772
|
-
|
|
14773
|
-
SUBRULE(graphNodePath2, annotation2, void 0);
|
|
14774
|
+
if (F3.isTripleCollectionBlankNodeProperties(annotation2)) {
|
|
14775
|
+
SUBRULE(annotationBlockPath, annotation2);
|
|
14774
14776
|
} else {
|
|
14775
|
-
|
|
14777
|
+
F3.printFilter(annotation2, () => PRINT_WORD("~"));
|
|
14778
|
+
SUBRULE(graphNodePath2, annotation2.val);
|
|
14776
14779
|
}
|
|
14777
14780
|
}
|
|
14778
14781
|
}
|
|
@@ -14787,7 +14790,7 @@ function annotationBlockImpl(name, allowPaths) {
|
|
|
14787
14790
|
const open = CONSUME(annotationOpen);
|
|
14788
14791
|
const res = SUBRULE(
|
|
14789
14792
|
allowPaths ? grammar_exports.propertyListPathNotEmpty : grammar_exports.propertyListNotEmpty,
|
|
14790
|
-
|
|
14793
|
+
arg
|
|
14791
14794
|
);
|
|
14792
14795
|
const close = CONSUME(annotationClose);
|
|
14793
14796
|
return ACTION(() => C.factory.tripleCollectionBlankNodeProperties(
|
|
@@ -14801,11 +14804,11 @@ function annotationBlockImpl(name, allowPaths) {
|
|
|
14801
14804
|
for (const triple of ast.triples) {
|
|
14802
14805
|
HANDLE_LOC(triple, () => {
|
|
14803
14806
|
if (F3.isTerm(triple.predicate)) {
|
|
14804
|
-
SUBRULE(graphNodePath2, triple.predicate
|
|
14807
|
+
SUBRULE(graphNodePath2, triple.predicate);
|
|
14805
14808
|
} else {
|
|
14806
14809
|
SUBRULE(grammar_exports.pathGenerator, triple.predicate, void 0);
|
|
14807
14810
|
}
|
|
14808
|
-
SUBRULE(graphNodePath2, triple.object
|
|
14811
|
+
SUBRULE(graphNodePath2, triple.object);
|
|
14809
14812
|
F3.printFilter(ast, () => PRINT_WORD(";"));
|
|
14810
14813
|
});
|
|
14811
14814
|
}
|
|
@@ -14818,38 +14821,38 @@ var annotationBlock = annotationBlockImpl("annotationBlock", false);
|
|
|
14818
14821
|
var graphNode2 = {
|
|
14819
14822
|
name: "graphNode",
|
|
14820
14823
|
impl: ($) => (C) => $.OR2([
|
|
14821
|
-
{ ALT: () => grammar_exports.graphNode.impl($)(C
|
|
14822
|
-
{ ALT: () => $.SUBRULE(reifiedTriple
|
|
14824
|
+
{ ALT: () => grammar_exports.graphNode.impl($)(C) },
|
|
14825
|
+
{ ALT: () => $.SUBRULE(reifiedTriple) }
|
|
14823
14826
|
])
|
|
14824
14827
|
};
|
|
14825
14828
|
var graphNodePath2 = {
|
|
14826
14829
|
name: "graphNodePath",
|
|
14827
14830
|
impl: ($) => (C) => $.OR2([
|
|
14828
|
-
{ ALT: () => grammar_exports.graphNodePath.impl($)(C
|
|
14829
|
-
{ ALT: () => $.SUBRULE(reifiedTriple
|
|
14831
|
+
{ ALT: () => grammar_exports.graphNodePath.impl($)(C) },
|
|
14832
|
+
{ ALT: () => $.SUBRULE(reifiedTriple) }
|
|
14830
14833
|
]),
|
|
14831
|
-
gImpl: ($) => (ast, C
|
|
14834
|
+
gImpl: ($) => (ast, C) => {
|
|
14832
14835
|
if (C.factory.isTripleCollectionReifiedTriple(ast)) {
|
|
14833
|
-
$.SUBRULE(reifiedTriple, ast
|
|
14836
|
+
$.SUBRULE(reifiedTriple, ast);
|
|
14834
14837
|
} else {
|
|
14835
|
-
grammar_exports.graphNodePath.gImpl($)(ast, C
|
|
14838
|
+
grammar_exports.graphNodePath.gImpl($)(ast, C);
|
|
14836
14839
|
}
|
|
14837
14840
|
}
|
|
14838
14841
|
};
|
|
14839
14842
|
var varOrTerm2 = {
|
|
14840
14843
|
name: "varOrTerm",
|
|
14841
14844
|
impl: ({ ACTION, SUBRULE, OR, CONSUME }) => (C) => OR([
|
|
14842
|
-
{ GATE: () => C.parseMode.has("canParseVars"), ALT: () => SUBRULE(grammar_exports.var_
|
|
14843
|
-
{ ALT: () => SUBRULE(grammar_exports.iri
|
|
14844
|
-
{ ALT: () => SUBRULE(rdfLiteral2
|
|
14845
|
-
{ ALT: () => SUBRULE(grammar_exports.numericLiteral
|
|
14846
|
-
{ ALT: () => SUBRULE(grammar_exports.booleanLiteral
|
|
14847
|
-
{ ALT: () => SUBRULE(grammar_exports.blankNode
|
|
14845
|
+
{ GATE: () => C.parseMode.has("canParseVars"), ALT: () => SUBRULE(grammar_exports.var_) },
|
|
14846
|
+
{ ALT: () => SUBRULE(grammar_exports.iri) },
|
|
14847
|
+
{ ALT: () => SUBRULE(rdfLiteral2) },
|
|
14848
|
+
{ ALT: () => SUBRULE(grammar_exports.numericLiteral) },
|
|
14849
|
+
{ ALT: () => SUBRULE(grammar_exports.booleanLiteral) },
|
|
14850
|
+
{ ALT: () => SUBRULE(grammar_exports.blankNode) },
|
|
14848
14851
|
{ ALT: () => {
|
|
14849
14852
|
const token = CONSUME(lexer_exports.terminals.nil);
|
|
14850
14853
|
return ACTION(() => C.factory.namedNode(C.factory.sourceLocation(token), "http://www.w3.org/1999/02/22-rdf-syntax-ns#nil" /* NIL */));
|
|
14851
14854
|
} },
|
|
14852
|
-
{ ALT: () => SUBRULE(tripleTerm
|
|
14855
|
+
{ ALT: () => SUBRULE(tripleTerm) }
|
|
14853
14856
|
])
|
|
14854
14857
|
// Generation remains untouched - go through graphTerm
|
|
14855
14858
|
};
|
|
@@ -14857,10 +14860,10 @@ var reifiedTriple = {
|
|
|
14857
14860
|
name: "reifiedTriple",
|
|
14858
14861
|
impl: ({ ACTION, CONSUME, SUBRULE, OPTION }) => (C) => {
|
|
14859
14862
|
const open = CONSUME(reificationOpen);
|
|
14860
|
-
const subject = SUBRULE(reifiedTripleSubject
|
|
14861
|
-
const predicate = SUBRULE(grammar_exports.verb
|
|
14862
|
-
const object3 = SUBRULE(reifiedTripleObject
|
|
14863
|
-
const reifierVal = OPTION(() => SUBRULE(reifier
|
|
14863
|
+
const subject = SUBRULE(reifiedTripleSubject);
|
|
14864
|
+
const predicate = SUBRULE(grammar_exports.verb);
|
|
14865
|
+
const object3 = SUBRULE(reifiedTripleObject);
|
|
14866
|
+
const reifierVal = OPTION(() => SUBRULE(reifier));
|
|
14864
14867
|
const close = CONSUME(reificationClose);
|
|
14865
14868
|
return ACTION(() => {
|
|
14866
14869
|
if (reifierVal === void 0 && !C.parseMode.has("canCreateBlankNodes")) {
|
|
@@ -14871,35 +14874,35 @@ var reifiedTriple = {
|
|
|
14871
14874
|
subject,
|
|
14872
14875
|
predicate,
|
|
14873
14876
|
object3,
|
|
14874
|
-
reifierVal
|
|
14877
|
+
reifierVal?.val
|
|
14875
14878
|
);
|
|
14876
14879
|
});
|
|
14877
14880
|
},
|
|
14878
14881
|
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { factory: F3 }) => {
|
|
14879
14882
|
F3.printFilter(ast, () => PRINT_WORD("<<"));
|
|
14880
14883
|
const triple = ast.triples[0];
|
|
14881
|
-
SUBRULE(graphNodePath2, triple.subject
|
|
14884
|
+
SUBRULE(graphNodePath2, triple.subject);
|
|
14882
14885
|
if (F3.isPathPure(triple.predicate)) {
|
|
14883
14886
|
SUBRULE(grammar_exports.pathGenerator, triple.predicate, void 0);
|
|
14884
14887
|
} else {
|
|
14885
|
-
SUBRULE(graphNodePath2, triple.predicate
|
|
14888
|
+
SUBRULE(graphNodePath2, triple.predicate);
|
|
14886
14889
|
}
|
|
14887
|
-
SUBRULE(graphNodePath2, triple.object
|
|
14888
|
-
SUBRULE(annotationPath, [ast.identifier
|
|
14890
|
+
SUBRULE(graphNodePath2, triple.object);
|
|
14891
|
+
SUBRULE(annotationPath, [F3.wrap(ast.identifier, ast.identifier.loc)]);
|
|
14889
14892
|
F3.printFilter(ast, () => PRINT_WORD(">>"));
|
|
14890
14893
|
}
|
|
14891
14894
|
};
|
|
14892
14895
|
var reifiedTripleSubject = {
|
|
14893
14896
|
name: "reifiedTripleSubject",
|
|
14894
14897
|
impl: ({ OR, SUBRULE }) => (C) => OR([
|
|
14895
|
-
{ GATE: () => C.parseMode.has("canParseVars"), ALT: () => SUBRULE(grammar_exports.var_
|
|
14896
|
-
{ ALT: () => SUBRULE(grammar_exports.iri
|
|
14897
|
-
{ ALT: () => SUBRULE(rdfLiteral2
|
|
14898
|
-
{ ALT: () => SUBRULE(grammar_exports.numericLiteral
|
|
14899
|
-
{ ALT: () => SUBRULE(grammar_exports.booleanLiteral
|
|
14900
|
-
{ ALT: () => SUBRULE(grammar_exports.blankNode
|
|
14901
|
-
{ ALT: () => SUBRULE(reifiedTriple
|
|
14902
|
-
{ ALT: () => SUBRULE(tripleTerm
|
|
14898
|
+
{ GATE: () => C.parseMode.has("canParseVars"), ALT: () => SUBRULE(grammar_exports.var_) },
|
|
14899
|
+
{ ALT: () => SUBRULE(grammar_exports.iri) },
|
|
14900
|
+
{ ALT: () => SUBRULE(rdfLiteral2) },
|
|
14901
|
+
{ ALT: () => SUBRULE(grammar_exports.numericLiteral) },
|
|
14902
|
+
{ ALT: () => SUBRULE(grammar_exports.booleanLiteral) },
|
|
14903
|
+
{ ALT: () => SUBRULE(grammar_exports.blankNode) },
|
|
14904
|
+
{ ALT: () => SUBRULE(reifiedTriple) },
|
|
14905
|
+
{ ALT: () => SUBRULE(tripleTerm) }
|
|
14903
14906
|
])
|
|
14904
14907
|
};
|
|
14905
14908
|
var reifiedTripleObject = {
|
|
@@ -14910,30 +14913,30 @@ var tripleTerm = {
|
|
|
14910
14913
|
name: "tripleTerm",
|
|
14911
14914
|
impl: ({ ACTION, CONSUME, SUBRULE }) => (C) => {
|
|
14912
14915
|
const open = CONSUME(tripleTermOpen);
|
|
14913
|
-
const subject = SUBRULE(tripleTermSubject
|
|
14914
|
-
const predicate = SUBRULE(grammar_exports.verb
|
|
14915
|
-
const object3 = SUBRULE(tripleTermObject
|
|
14916
|
+
const subject = SUBRULE(tripleTermSubject);
|
|
14917
|
+
const predicate = SUBRULE(grammar_exports.verb);
|
|
14918
|
+
const object3 = SUBRULE(tripleTermObject);
|
|
14916
14919
|
const close = CONSUME(tripleTermClose);
|
|
14917
14920
|
return ACTION(() => C.factory.termTriple(subject, predicate, object3, C.factory.sourceLocation(open, close)));
|
|
14918
14921
|
},
|
|
14919
14922
|
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { factory: F3 }) => {
|
|
14920
14923
|
F3.printFilter(ast, () => PRINT_WORD("<<("));
|
|
14921
|
-
SUBRULE(graphNodePath2, ast.subject
|
|
14922
|
-
SUBRULE(graphNodePath2, ast.predicate
|
|
14923
|
-
SUBRULE(graphNodePath2, ast.object
|
|
14924
|
+
SUBRULE(graphNodePath2, ast.subject);
|
|
14925
|
+
SUBRULE(graphNodePath2, ast.predicate);
|
|
14926
|
+
SUBRULE(graphNodePath2, ast.object);
|
|
14924
14927
|
F3.printFilter(ast, () => PRINT_WORD(")>>"));
|
|
14925
14928
|
}
|
|
14926
14929
|
};
|
|
14927
14930
|
var tripleTermSubject = {
|
|
14928
14931
|
name: "tripleTermSubject",
|
|
14929
14932
|
impl: ({ SUBRULE, OR }) => (C) => OR([
|
|
14930
|
-
{ GATE: () => C.parseMode.has("canParseVars"), ALT: () => SUBRULE(grammar_exports.var_
|
|
14931
|
-
{ ALT: () => SUBRULE(grammar_exports.iri
|
|
14932
|
-
{ ALT: () => SUBRULE(rdfLiteral2
|
|
14933
|
-
{ ALT: () => SUBRULE(grammar_exports.numericLiteral
|
|
14934
|
-
{ ALT: () => SUBRULE(grammar_exports.booleanLiteral
|
|
14935
|
-
{ ALT: () => SUBRULE(grammar_exports.blankNode
|
|
14936
|
-
{ ALT: () => SUBRULE(tripleTerm
|
|
14933
|
+
{ GATE: () => C.parseMode.has("canParseVars"), ALT: () => SUBRULE(grammar_exports.var_) },
|
|
14934
|
+
{ ALT: () => SUBRULE(grammar_exports.iri) },
|
|
14935
|
+
{ ALT: () => SUBRULE(rdfLiteral2) },
|
|
14936
|
+
{ ALT: () => SUBRULE(grammar_exports.numericLiteral) },
|
|
14937
|
+
{ ALT: () => SUBRULE(grammar_exports.booleanLiteral) },
|
|
14938
|
+
{ ALT: () => SUBRULE(grammar_exports.blankNode) },
|
|
14939
|
+
{ ALT: () => SUBRULE(tripleTerm) }
|
|
14937
14940
|
])
|
|
14938
14941
|
};
|
|
14939
14942
|
var tripleTermObject = {
|
|
@@ -14944,15 +14947,15 @@ var tripleTermData = {
|
|
|
14944
14947
|
name: "tripleTermData",
|
|
14945
14948
|
impl: ({ ACTION, CONSUME, OR, SUBRULE }) => (C) => {
|
|
14946
14949
|
const open = CONSUME(tripleTermOpen);
|
|
14947
|
-
const subject = SUBRULE(tripleTermDataSubject
|
|
14950
|
+
const subject = SUBRULE(tripleTermDataSubject);
|
|
14948
14951
|
const predicate = OR([
|
|
14949
|
-
{ ALT: () => SUBRULE(grammar_exports.iri
|
|
14952
|
+
{ ALT: () => SUBRULE(grammar_exports.iri) },
|
|
14950
14953
|
{ ALT: () => {
|
|
14951
14954
|
const token = CONSUME(lexer_exports.a);
|
|
14952
14955
|
return ACTION(() => C.factory.namedNode(C.factory.sourceLocation(token), "http://www.w3.org/1999/02/22-rdf-syntax-ns#type" /* TYPE */));
|
|
14953
14956
|
} }
|
|
14954
14957
|
]);
|
|
14955
|
-
const object3 = SUBRULE(tripleTermDataObject
|
|
14958
|
+
const object3 = SUBRULE(tripleTermDataObject);
|
|
14956
14959
|
const close = CONSUME(tripleTermClose);
|
|
14957
14960
|
return ACTION(() => C.factory.termTriple(subject, predicate, object3, C.factory.sourceLocation(open, close)));
|
|
14958
14961
|
}
|
|
@@ -14960,11 +14963,11 @@ var tripleTermData = {
|
|
|
14960
14963
|
var tripleTermDataSubject = {
|
|
14961
14964
|
name: "tripleTermDataSubject",
|
|
14962
14965
|
impl: ({ OR, SUBRULE }) => () => OR([
|
|
14963
|
-
{ ALT: () => SUBRULE(grammar_exports.iri
|
|
14964
|
-
{ ALT: () => SUBRULE(rdfLiteral2
|
|
14965
|
-
{ ALT: () => SUBRULE(grammar_exports.numericLiteral
|
|
14966
|
-
{ ALT: () => SUBRULE(grammar_exports.booleanLiteral
|
|
14967
|
-
{ ALT: () => SUBRULE(tripleTermData
|
|
14966
|
+
{ ALT: () => SUBRULE(grammar_exports.iri) },
|
|
14967
|
+
{ ALT: () => SUBRULE(rdfLiteral2) },
|
|
14968
|
+
{ ALT: () => SUBRULE(grammar_exports.numericLiteral) },
|
|
14969
|
+
{ ALT: () => SUBRULE(grammar_exports.booleanLiteral) },
|
|
14970
|
+
{ ALT: () => SUBRULE(tripleTermData) }
|
|
14968
14971
|
])
|
|
14969
14972
|
};
|
|
14970
14973
|
var tripleTermDataObject = {
|
|
@@ -14974,17 +14977,17 @@ var tripleTermDataObject = {
|
|
|
14974
14977
|
var primaryExpression2 = {
|
|
14975
14978
|
name: "primaryExpression",
|
|
14976
14979
|
impl: ($) => (C) => $.OR2([
|
|
14977
|
-
{ ALT: () => grammar_exports.primaryExpression.impl($)(C
|
|
14978
|
-
{ ALT: () => $.SUBRULE(exprTripleTerm
|
|
14980
|
+
{ ALT: () => grammar_exports.primaryExpression.impl($)(C) },
|
|
14981
|
+
{ ALT: () => $.SUBRULE(exprTripleTerm) }
|
|
14979
14982
|
])
|
|
14980
14983
|
};
|
|
14981
14984
|
var exprTripleTerm = {
|
|
14982
14985
|
name: "exprTripleTerm",
|
|
14983
14986
|
impl: ({ ACTION, CONSUME, SUBRULE }) => (C) => {
|
|
14984
14987
|
const open = CONSUME(tripleTermOpen);
|
|
14985
|
-
const subject = SUBRULE(exprTripleTermSubject
|
|
14986
|
-
const predicate = SUBRULE(grammar_exports.verb
|
|
14987
|
-
const object3 = SUBRULE(exprTripleTermObject
|
|
14988
|
+
const subject = SUBRULE(exprTripleTermSubject);
|
|
14989
|
+
const predicate = SUBRULE(grammar_exports.verb);
|
|
14990
|
+
const object3 = SUBRULE(exprTripleTermObject);
|
|
14988
14991
|
const close = CONSUME(tripleTermClose);
|
|
14989
14992
|
return ACTION(() => C.factory.termTriple(
|
|
14990
14993
|
subject,
|
|
@@ -14997,12 +15000,12 @@ var exprTripleTerm = {
|
|
|
14997
15000
|
var exprTripleTermSubject = {
|
|
14998
15001
|
name: "exprTripleTermSubject",
|
|
14999
15002
|
impl: ({ OR, SUBRULE }) => (C) => OR([
|
|
15000
|
-
{ ALT: () => SUBRULE(grammar_exports.iri
|
|
15001
|
-
{ ALT: () => SUBRULE(rdfLiteral2
|
|
15002
|
-
{ ALT: () => SUBRULE(grammar_exports.numericLiteral
|
|
15003
|
-
{ ALT: () => SUBRULE(grammar_exports.booleanLiteral
|
|
15004
|
-
{ GATE: () => C.parseMode.has("canParseVars"), ALT: () => SUBRULE(grammar_exports.var_
|
|
15005
|
-
{ ALT: () => SUBRULE(exprTripleTerm
|
|
15003
|
+
{ ALT: () => SUBRULE(grammar_exports.iri) },
|
|
15004
|
+
{ ALT: () => SUBRULE(rdfLiteral2) },
|
|
15005
|
+
{ ALT: () => SUBRULE(grammar_exports.numericLiteral) },
|
|
15006
|
+
{ ALT: () => SUBRULE(grammar_exports.booleanLiteral) },
|
|
15007
|
+
{ GATE: () => C.parseMode.has("canParseVars"), ALT: () => SUBRULE(grammar_exports.var_) },
|
|
15008
|
+
{ ALT: () => SUBRULE(exprTripleTerm) }
|
|
15006
15009
|
])
|
|
15007
15010
|
};
|
|
15008
15011
|
var exprTripleTermObject = {
|
|
@@ -15021,22 +15024,22 @@ var builtinObject = funcExpr1(builtinOBJECT);
|
|
|
15021
15024
|
var builtInCall2 = {
|
|
15022
15025
|
name: "builtInCall",
|
|
15023
15026
|
impl: ($) => (C) => $.OR2([
|
|
15024
|
-
{ ALT: () => grammar_exports.builtInCall.impl($)(C
|
|
15025
|
-
{ ALT: () => $.SUBRULE(builtinLangDir2
|
|
15026
|
-
{ ALT: () => $.SUBRULE(builtinLangStrDir
|
|
15027
|
-
{ ALT: () => $.SUBRULE(builtinHasLang2
|
|
15028
|
-
{ ALT: () => $.SUBRULE(builtinHasLangDir2
|
|
15029
|
-
{ ALT: () => $.SUBRULE(builtinIsTriple
|
|
15030
|
-
{ ALT: () => $.SUBRULE(builtinTriple
|
|
15031
|
-
{ ALT: () => $.SUBRULE(builtinSubject
|
|
15032
|
-
{ ALT: () => $.SUBRULE(builtinPredicate
|
|
15033
|
-
{ ALT: () => $.SUBRULE(builtinObject
|
|
15027
|
+
{ ALT: () => grammar_exports.builtInCall.impl($)(C) },
|
|
15028
|
+
{ ALT: () => $.SUBRULE(builtinLangDir2) },
|
|
15029
|
+
{ ALT: () => $.SUBRULE(builtinLangStrDir) },
|
|
15030
|
+
{ ALT: () => $.SUBRULE(builtinHasLang2) },
|
|
15031
|
+
{ ALT: () => $.SUBRULE(builtinHasLangDir2) },
|
|
15032
|
+
{ ALT: () => $.SUBRULE(builtinIsTriple) },
|
|
15033
|
+
{ ALT: () => $.SUBRULE(builtinTriple) },
|
|
15034
|
+
{ ALT: () => $.SUBRULE(builtinSubject) },
|
|
15035
|
+
{ ALT: () => $.SUBRULE(builtinPredicate) },
|
|
15036
|
+
{ ALT: () => $.SUBRULE(builtinObject) }
|
|
15034
15037
|
])
|
|
15035
15038
|
};
|
|
15036
15039
|
var rdfLiteral2 = {
|
|
15037
15040
|
name: "rdfLiteral",
|
|
15038
15041
|
impl: ({ ACTION, SUBRULE, OPTION, CONSUME, OR }) => (C) => {
|
|
15039
|
-
const value = SUBRULE(grammar_exports.string
|
|
15042
|
+
const value = SUBRULE(grammar_exports.string);
|
|
15040
15043
|
return OPTION(() => OR([
|
|
15041
15044
|
{ ALT: () => {
|
|
15042
15045
|
const langTag2 = CONSUME(LANG_DIR);
|
|
@@ -15046,13 +15049,13 @@ var rdfLiteral2 = {
|
|
|
15046
15049
|
value.value,
|
|
15047
15050
|
langTag2.image.slice(1).toLowerCase()
|
|
15048
15051
|
);
|
|
15049
|
-
|
|
15052
|
+
langTagHasCorrectRange(literal);
|
|
15050
15053
|
return literal;
|
|
15051
15054
|
});
|
|
15052
15055
|
} },
|
|
15053
15056
|
{ ALT: () => {
|
|
15054
15057
|
CONSUME(lexer_exports.symbols.hathat);
|
|
15055
|
-
const iriVal = SUBRULE(grammar_exports.iri
|
|
15058
|
+
const iriVal = SUBRULE(grammar_exports.iri);
|
|
15056
15059
|
return ACTION(() => C.factory.literalTerm(
|
|
15057
15060
|
C.factory.sourceLocation(value, iriVal),
|
|
15058
15061
|
value.value,
|
|
@@ -15069,17 +15072,17 @@ var generateTriplesBlock = {
|
|
|
15069
15072
|
HANDLE_LOC(triple, () => {
|
|
15070
15073
|
const nextTriple = ast.triples.at(index);
|
|
15071
15074
|
if (F3.isTripleCollection(triple)) {
|
|
15072
|
-
SUBRULE(graphNodePath2, triple
|
|
15075
|
+
SUBRULE(graphNodePath2, triple);
|
|
15073
15076
|
F3.printFilter(triple, () => PRINT_WORD("."));
|
|
15074
15077
|
} else {
|
|
15075
|
-
SUBRULE(graphNodePath2, triple.subject
|
|
15078
|
+
SUBRULE(graphNodePath2, triple.subject);
|
|
15076
15079
|
if (F3.isPathPure(triple.predicate)) {
|
|
15077
15080
|
SUBRULE(grammar_exports.pathGenerator, triple.predicate, void 0);
|
|
15078
15081
|
} else {
|
|
15079
|
-
SUBRULE(graphNodePath2, triple.predicate
|
|
15082
|
+
SUBRULE(graphNodePath2, triple.predicate);
|
|
15080
15083
|
}
|
|
15081
|
-
SUBRULE(graphNodePath2, triple.object
|
|
15082
|
-
SUBRULE(annotationPath, triple.annotations ?? []
|
|
15084
|
+
SUBRULE(graphNodePath2, triple.object);
|
|
15085
|
+
SUBRULE(annotationPath, triple.annotations ?? []);
|
|
15083
15086
|
if (nextTriple === void 0 || F3.isTripleCollection(nextTriple) || !F3.isSourceLocationNoMaterialize(nextTriple.subject.loc)) {
|
|
15084
15087
|
F3.printFilter(ast, () => PRINT_WORD("."));
|
|
15085
15088
|
} else if (F3.isSourceLocationNoMaterialize(nextTriple.predicate.loc)) {
|
|
@@ -15094,11 +15097,11 @@ var generateTriplesBlock = {
|
|
|
15094
15097
|
};
|
|
15095
15098
|
var generateGraphTerm = {
|
|
15096
15099
|
name: "graphTerm",
|
|
15097
|
-
gImpl: ($) => (ast, C
|
|
15100
|
+
gImpl: ($) => (ast, C) => {
|
|
15098
15101
|
if (C.factory.isTermTriple(ast)) {
|
|
15099
|
-
$.SUBRULE(tripleTerm, ast
|
|
15102
|
+
$.SUBRULE(tripleTerm, ast);
|
|
15100
15103
|
} else {
|
|
15101
|
-
grammar_exports.graphTerm.gImpl($)(ast, C
|
|
15104
|
+
grammar_exports.graphTerm.gImpl($)(ast, C);
|
|
15102
15105
|
}
|
|
15103
15106
|
}
|
|
15104
15107
|
};
|