@traqula/generator-sparql-1-1 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/index.cjs +1449 -1448
- package/lib/index.d.ts +65 -65
- package/lib/index.js +4 -4
- package/lib/index.js.map +1 -1
- package/package.json +6 -6
package/lib/index.cjs
CHANGED
|
@@ -161,7 +161,7 @@ var DynamicGenerator = class {
|
|
|
161
161
|
this.origSource = "";
|
|
162
162
|
this.generatedUntil = 0;
|
|
163
163
|
this.stringBuilder = [];
|
|
164
|
-
this.subrule = (cstDef, ast, arg) => {
|
|
164
|
+
this.subrule = (cstDef, ast, ...arg) => {
|
|
165
165
|
const def = this.rules[cstDef.name];
|
|
166
166
|
if (!def) {
|
|
167
167
|
throw new Error(`Rule ${cstDef.name} not found`);
|
|
@@ -174,7 +174,7 @@ var DynamicGenerator = class {
|
|
|
174
174
|
PRINT_WORDS: this.printWords,
|
|
175
175
|
CATCHUP: this.catchup,
|
|
176
176
|
HANDLE_LOC: this.handleLoc
|
|
177
|
-
})(ast, this.getSafeContext(), arg);
|
|
177
|
+
})(ast, this.getSafeContext(), ...arg);
|
|
178
178
|
if (this.factory.isLocalized(ast)) {
|
|
179
179
|
this.handleLoc(ast, generate);
|
|
180
180
|
} else {
|
|
@@ -11533,7 +11533,7 @@ function stringEscapedLexical(str2) {
|
|
|
11533
11533
|
var rdfLiteral = {
|
|
11534
11534
|
name: "rdfLiteral",
|
|
11535
11535
|
impl: ({ ACTION, SUBRULE1, CONSUME, OPTION, OR }) => (C) => {
|
|
11536
|
-
const value = SUBRULE1(string
|
|
11536
|
+
const value = SUBRULE1(string);
|
|
11537
11537
|
return OPTION(() => OR([
|
|
11538
11538
|
{ ALT: () => {
|
|
11539
11539
|
const lang2 = CONSUME(terminals_exports.langTag);
|
|
@@ -11545,7 +11545,7 @@ var rdfLiteral = {
|
|
|
11545
11545
|
} },
|
|
11546
11546
|
{ ALT: () => {
|
|
11547
11547
|
CONSUME(symbols_exports.hathat);
|
|
11548
|
-
const iriVal = SUBRULE1(iri2
|
|
11548
|
+
const iriVal = SUBRULE1(iri2);
|
|
11549
11549
|
return ACTION(() => C.factory.literalTerm(
|
|
11550
11550
|
C.factory.sourceLocation(value, iriVal),
|
|
11551
11551
|
value.value,
|
|
@@ -11561,7 +11561,7 @@ var rdfLiteral = {
|
|
|
11561
11561
|
factory.printFilter(ast, () => PRINT("@", ast.langOrIri));
|
|
11562
11562
|
} else {
|
|
11563
11563
|
factory.printFilter(ast, () => PRINT("^^"));
|
|
11564
|
-
SUBRULE(iri2, ast.langOrIri
|
|
11564
|
+
SUBRULE(iri2, ast.langOrIri);
|
|
11565
11565
|
}
|
|
11566
11566
|
}
|
|
11567
11567
|
}
|
|
@@ -11569,9 +11569,9 @@ var rdfLiteral = {
|
|
|
11569
11569
|
var numericLiteral = {
|
|
11570
11570
|
name: "numericLiteral",
|
|
11571
11571
|
impl: ({ SUBRULE, OR }) => () => OR([
|
|
11572
|
-
{ ALT: () => SUBRULE(numericLiteralUnsigned
|
|
11573
|
-
{ ALT: () => SUBRULE(numericLiteralPositive
|
|
11574
|
-
{ ALT: () => SUBRULE(numericLiteralNegative
|
|
11572
|
+
{ ALT: () => SUBRULE(numericLiteralUnsigned) },
|
|
11573
|
+
{ ALT: () => SUBRULE(numericLiteralPositive) },
|
|
11574
|
+
{ ALT: () => SUBRULE(numericLiteralNegative) }
|
|
11575
11575
|
])
|
|
11576
11576
|
};
|
|
11577
11577
|
var numericLiteralUnsigned = {
|
|
@@ -11679,10 +11679,10 @@ var string = {
|
|
|
11679
11679
|
var iri2 = {
|
|
11680
11680
|
name: "iri",
|
|
11681
11681
|
impl: ({ SUBRULE, OR }) => () => OR([
|
|
11682
|
-
{ ALT: () => SUBRULE(iriFull
|
|
11683
|
-
{ ALT: () => SUBRULE(prefixedName
|
|
11682
|
+
{ ALT: () => SUBRULE(iriFull) },
|
|
11683
|
+
{ ALT: () => SUBRULE(prefixedName) }
|
|
11684
11684
|
]),
|
|
11685
|
-
gImpl: ({ SUBRULE }) => (ast, { factory: F2 }) => F2.isTermNamedPrefixed(ast) ? SUBRULE(prefixedName, ast
|
|
11685
|
+
gImpl: ({ SUBRULE }) => (ast, { factory: F2 }) => F2.isTermNamedPrefixed(ast) ? SUBRULE(prefixedName, ast) : SUBRULE(iriFull, ast)
|
|
11686
11686
|
};
|
|
11687
11687
|
var iriFull = {
|
|
11688
11688
|
name: "iriFull",
|
|
@@ -11754,11 +11754,11 @@ function datasetClauseUsing(name, token) {
|
|
|
11754
11754
|
const start = CONSUME(token);
|
|
11755
11755
|
return OR([
|
|
11756
11756
|
{ ALT: () => {
|
|
11757
|
-
const iri3 = SUBRULE(defaultGraphClause
|
|
11757
|
+
const iri3 = SUBRULE(defaultGraphClause);
|
|
11758
11758
|
return ACTION(() => C.factory.wrap({ clauseType: "default", value: iri3 }, C.factory.sourceLocation(start, iri3)));
|
|
11759
11759
|
} },
|
|
11760
11760
|
{ ALT: () => {
|
|
11761
|
-
const namedClause = SUBRULE(namedGraphClause
|
|
11761
|
+
const namedClause = SUBRULE(namedGraphClause);
|
|
11762
11762
|
return ACTION(() => C.factory.wrap({
|
|
11763
11763
|
clauseType: "named",
|
|
11764
11764
|
value: namedClause.val
|
|
@@ -11771,7 +11771,7 @@ function datasetClauseUsing(name, token) {
|
|
|
11771
11771
|
var datasetClause = datasetClauseUsing("datasetClause", from);
|
|
11772
11772
|
var defaultGraphClause = {
|
|
11773
11773
|
name: "defaultGraphClause",
|
|
11774
|
-
impl: ({ SUBRULE }) => () => SUBRULE(sourceSelector
|
|
11774
|
+
impl: ({ SUBRULE }) => () => SUBRULE(sourceSelector)
|
|
11775
11775
|
};
|
|
11776
11776
|
var usingClause2 = datasetClauseUsing("usingClause", usingClause);
|
|
11777
11777
|
function datasetClauseUsingStar(name, subRule, fromUsing) {
|
|
@@ -11780,7 +11780,7 @@ function datasetClauseUsingStar(name, subRule, fromUsing) {
|
|
|
11780
11780
|
impl: ({ ACTION, MANY, SUBRULE }) => (C) => {
|
|
11781
11781
|
const clauses = [];
|
|
11782
11782
|
MANY(() => {
|
|
11783
|
-
const clause = SUBRULE(subRule
|
|
11783
|
+
const clause = SUBRULE(subRule);
|
|
11784
11784
|
clauses.push(clause);
|
|
11785
11785
|
});
|
|
11786
11786
|
return ACTION(() => C.factory.datasetClauses(
|
|
@@ -11794,7 +11794,7 @@ function datasetClauseUsingStar(name, subRule, fromUsing) {
|
|
|
11794
11794
|
if (clause.clauseType === "named") {
|
|
11795
11795
|
F2.printFilter(ast, () => PRINT_WORD("NAMED"));
|
|
11796
11796
|
}
|
|
11797
|
-
SUBRULE(iri2, clause.value
|
|
11797
|
+
SUBRULE(iri2, clause.value);
|
|
11798
11798
|
}
|
|
11799
11799
|
}
|
|
11800
11800
|
};
|
|
@@ -11805,1389 +11805,1390 @@ var namedGraphClause = {
|
|
|
11805
11805
|
name: "namedGraphClause",
|
|
11806
11806
|
impl: ({ ACTION, SUBRULE, CONSUME }) => (C) => {
|
|
11807
11807
|
const named2 = CONSUME(graph_exports.named);
|
|
11808
|
-
const iri3 = SUBRULE(sourceSelector
|
|
11808
|
+
const iri3 = SUBRULE(sourceSelector);
|
|
11809
11809
|
return ACTION(() => C.factory.wrap(iri3, C.factory.sourceLocation(named2, iri3)));
|
|
11810
11810
|
}
|
|
11811
11811
|
};
|
|
11812
11812
|
var sourceSelector = {
|
|
11813
11813
|
name: "sourceSelector",
|
|
11814
|
-
impl: ({ SUBRULE }) => () => SUBRULE(iri2
|
|
11814
|
+
impl: ({ SUBRULE }) => () => SUBRULE(iri2)
|
|
11815
11815
|
};
|
|
11816
11816
|
|
|
11817
|
-
// ../../packages/rules-sparql-1-1/lib/
|
|
11818
|
-
|
|
11819
|
-
name: "prologue",
|
|
11820
|
-
impl: ({ SUBRULE, MANY, OR }) => () => {
|
|
11821
|
-
const result = [];
|
|
11822
|
-
MANY(() => OR([
|
|
11823
|
-
{ ALT: () => result.push(SUBRULE(baseDecl2, void 0)) },
|
|
11824
|
-
// TODO: the [spec](https://www.w3.org/TR/sparql11-query/#iriRefs) says you cannot redefine prefixes.
|
|
11825
|
-
// We might need to check this.
|
|
11826
|
-
{ ALT: () => result.push(SUBRULE(prefixDecl2, void 0)) }
|
|
11827
|
-
]));
|
|
11828
|
-
return result;
|
|
11829
|
-
},
|
|
11830
|
-
gImpl: ({ SUBRULE }) => (ast, { factory: F2 }) => {
|
|
11831
|
-
for (const context of ast) {
|
|
11832
|
-
if (F2.isContextDefinitionBase(context)) {
|
|
11833
|
-
SUBRULE(baseDecl2, context, void 0);
|
|
11834
|
-
} else if (F2.isContextDefinitionPrefix(context)) {
|
|
11835
|
-
SUBRULE(prefixDecl2, context, void 0);
|
|
11836
|
-
}
|
|
11837
|
-
}
|
|
11838
|
-
}
|
|
11839
|
-
};
|
|
11840
|
-
var baseDecl2 = {
|
|
11841
|
-
name: "baseDecl",
|
|
11842
|
-
impl: ({ ACTION, CONSUME, SUBRULE }) => (C) => {
|
|
11843
|
-
const base = CONSUME(baseDecl);
|
|
11844
|
-
const val = SUBRULE(iriFull, void 0);
|
|
11845
|
-
return ACTION(() => C.factory.contextDefinitionBase(C.factory.sourceLocation(base, val), val));
|
|
11846
|
-
},
|
|
11847
|
-
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { factory: F2 }) => {
|
|
11848
|
-
F2.printFilter(ast, () => PRINT_WORD("BASE"));
|
|
11849
|
-
SUBRULE(iri2, ast.value, void 0);
|
|
11850
|
-
}
|
|
11851
|
-
};
|
|
11852
|
-
var prefixDecl2 = {
|
|
11853
|
-
name: "prefixDecl",
|
|
11854
|
-
impl: ({ ACTION, CONSUME, SUBRULE }) => (C) => {
|
|
11855
|
-
const prefix = CONSUME(prefixDecl);
|
|
11856
|
-
const name = CONSUME(terminals_exports.pNameNs).image.slice(0, -1);
|
|
11857
|
-
const value = SUBRULE(iriFull, void 0);
|
|
11858
|
-
return ACTION(() => C.factory.contextDefinitionPrefix(C.factory.sourceLocation(prefix, value), name, value));
|
|
11859
|
-
},
|
|
11860
|
-
gImpl: ({ SUBRULE, PRINT_WORDS }) => (ast, { factory: F2 }) => {
|
|
11861
|
-
F2.printFilter(ast, () => {
|
|
11862
|
-
PRINT_WORDS("PREFIX", `${ast.key}:`);
|
|
11863
|
-
});
|
|
11864
|
-
SUBRULE(iri2, ast.value, void 0);
|
|
11865
|
-
}
|
|
11866
|
-
};
|
|
11867
|
-
var verb = {
|
|
11868
|
-
name: "verb",
|
|
11869
|
-
impl: ({ SUBRULE, OR }) => () => OR([
|
|
11870
|
-
{ ALT: () => SUBRULE(varOrIri, void 0) },
|
|
11871
|
-
{ ALT: () => SUBRULE(verbA, void 0) }
|
|
11872
|
-
])
|
|
11873
|
-
};
|
|
11874
|
-
var varOrTerm = {
|
|
11875
|
-
name: "varOrTerm",
|
|
11876
|
-
impl: ({ SUBRULE, OR }) => (C) => OR([
|
|
11877
|
-
{ GATE: () => C.parseMode.has("canParseVars"), ALT: () => SUBRULE(var_, void 0) },
|
|
11878
|
-
{ ALT: () => SUBRULE(graphTerm, void 0) }
|
|
11879
|
-
]),
|
|
11880
|
-
gImpl: ({ SUBRULE }) => (ast, { factory: F2 }) => {
|
|
11881
|
-
if (F2.isTermVariable(ast)) {
|
|
11882
|
-
return SUBRULE(var_, ast, void 0);
|
|
11883
|
-
}
|
|
11884
|
-
return SUBRULE(graphTerm, ast, void 0);
|
|
11885
|
-
}
|
|
11886
|
-
};
|
|
11887
|
-
var varOrIri = {
|
|
11888
|
-
name: "varOrIri",
|
|
11889
|
-
impl: ({ SUBRULE, OR }) => (C) => OR([
|
|
11890
|
-
{ GATE: () => C.parseMode.has("canParseVars"), ALT: () => SUBRULE(var_, void 0) },
|
|
11891
|
-
{ ALT: () => SUBRULE(iri2, void 0) }
|
|
11892
|
-
])
|
|
11893
|
-
};
|
|
11894
|
-
var var_ = {
|
|
11895
|
-
name: "var",
|
|
11896
|
-
impl: ({ ACTION, CONSUME, OR }) => (C) => {
|
|
11897
|
-
const varToken = OR([
|
|
11898
|
-
{ ALT: () => CONSUME(terminals_exports.var1) },
|
|
11899
|
-
{ ALT: () => CONSUME(terminals_exports.var2) }
|
|
11900
|
-
]);
|
|
11901
|
-
return ACTION(() => C.factory.variable(varToken.image.slice(1), C.factory.sourceLocation(varToken)));
|
|
11902
|
-
},
|
|
11903
|
-
gImpl: ({ PRINT_WORD }) => (ast, { factory: F2 }) => {
|
|
11904
|
-
F2.printFilter(ast, () => PRINT_WORD(`?${ast.value}`));
|
|
11905
|
-
}
|
|
11906
|
-
};
|
|
11907
|
-
var graphTerm = {
|
|
11908
|
-
name: "graphTerm",
|
|
11909
|
-
impl: ({ ACTION, SUBRULE, CONSUME, OR }) => (C) => OR([
|
|
11910
|
-
{ ALT: () => SUBRULE(iri2, void 0) },
|
|
11911
|
-
{ ALT: () => SUBRULE(rdfLiteral, void 0) },
|
|
11912
|
-
{ ALT: () => SUBRULE(numericLiteral, void 0) },
|
|
11913
|
-
{ ALT: () => SUBRULE(booleanLiteral, void 0) },
|
|
11914
|
-
{ GATE: () => C.parseMode.has("canCreateBlankNodes"), ALT: () => SUBRULE(blankNode, void 0) },
|
|
11915
|
-
{ ALT: () => {
|
|
11916
|
-
const tokenNil = CONSUME(terminals_exports.nil);
|
|
11917
|
-
return ACTION(() => C.factory.namedNode(C.factory.sourceLocation(tokenNil), "http://www.w3.org/1999/02/22-rdf-syntax-ns#nil" /* NIL */));
|
|
11918
|
-
} }
|
|
11919
|
-
]),
|
|
11920
|
-
gImpl: ({ SUBRULE }) => (ast, { factory: F2 }) => {
|
|
11921
|
-
if (F2.isTermNamed(ast)) {
|
|
11922
|
-
SUBRULE(iri2, ast, void 0);
|
|
11923
|
-
} else if (F2.isTermLiteral(ast)) {
|
|
11924
|
-
SUBRULE(rdfLiteral, ast, void 0);
|
|
11925
|
-
} else if (F2.isTermBlank(ast)) {
|
|
11926
|
-
SUBRULE(blankNode, ast, void 0);
|
|
11927
|
-
}
|
|
11928
|
-
}
|
|
11929
|
-
};
|
|
11930
|
-
|
|
11931
|
-
// ../../packages/rules-sparql-1-1/lib/grammar/propertyPaths.ts
|
|
11932
|
-
var path = {
|
|
11933
|
-
name: "path",
|
|
11934
|
-
impl: ({ SUBRULE }) => () => SUBRULE(pathAlternative, void 0)
|
|
11935
|
-
};
|
|
11936
|
-
var pathGenerator = {
|
|
11937
|
-
name: "path",
|
|
11938
|
-
gImpl: ({ PRINT, SUBRULE }) => (ast, { factory: F2 }, braces = true) => {
|
|
11939
|
-
if (F2.isTerm(ast) && F2.isTermNamed(ast)) {
|
|
11940
|
-
SUBRULE(iri2, ast, void 0);
|
|
11941
|
-
} else {
|
|
11942
|
-
F2.printFilter(ast, () => braces && PRINT("("));
|
|
11943
|
-
switch (ast.subType) {
|
|
11944
|
-
case "|":
|
|
11945
|
-
case "/": {
|
|
11946
|
-
const [head2, ...tail] = ast.items;
|
|
11947
|
-
SUBRULE(pathGenerator, head2, braces);
|
|
11948
|
-
for (const val of tail) {
|
|
11949
|
-
F2.printFilter(ast, () => PRINT(ast.subType));
|
|
11950
|
-
SUBRULE(pathGenerator, val, braces);
|
|
11951
|
-
}
|
|
11952
|
-
break;
|
|
11953
|
-
}
|
|
11954
|
-
case "^":
|
|
11955
|
-
F2.printFilter(ast, () => PRINT("^"));
|
|
11956
|
-
SUBRULE(pathGenerator, ast.items[0], braces);
|
|
11957
|
-
break;
|
|
11958
|
-
case "?":
|
|
11959
|
-
case "*":
|
|
11960
|
-
case "+":
|
|
11961
|
-
SUBRULE(pathGenerator, ast.items[0], braces);
|
|
11962
|
-
F2.printFilter(ast, () => PRINT(ast.subType));
|
|
11963
|
-
break;
|
|
11964
|
-
case "!":
|
|
11965
|
-
F2.printFilter(ast, () => PRINT("!"));
|
|
11966
|
-
F2.printFilter(ast, () => PRINT("("));
|
|
11967
|
-
SUBRULE(pathGenerator, ast.items[0], false);
|
|
11968
|
-
F2.printFilter(ast, () => PRINT(")"));
|
|
11969
|
-
break;
|
|
11970
|
-
}
|
|
11971
|
-
F2.printFilter(ast, () => braces && PRINT(")"));
|
|
11972
|
-
}
|
|
11973
|
-
}
|
|
11974
|
-
};
|
|
11975
|
-
function pathChainHelper(name, SEP, subType, subRule) {
|
|
11817
|
+
// ../../packages/rules-sparql-1-1/lib/expressionHelpers.ts
|
|
11818
|
+
function funcExpr1(func) {
|
|
11976
11819
|
return {
|
|
11977
|
-
name,
|
|
11978
|
-
impl: ({ ACTION,
|
|
11979
|
-
const
|
|
11980
|
-
|
|
11981
|
-
const
|
|
11982
|
-
|
|
11983
|
-
|
|
11984
|
-
tailEnd = SUBRULE2(subRule, void 0);
|
|
11985
|
-
tail.push(tailEnd);
|
|
11986
|
-
});
|
|
11987
|
-
return ACTION(() => tail.length === 0 ? head2 : C.factory.path(subType, [head2, ...tail], C.factory.sourceLocation(head2, tailEnd)));
|
|
11820
|
+
name: unCapitalize(func.name),
|
|
11821
|
+
impl: ({ ACTION, SUBRULE, CONSUME }) => (C) => {
|
|
11822
|
+
const operator = CONSUME(func);
|
|
11823
|
+
CONSUME(symbols_exports.LParen);
|
|
11824
|
+
const arg = SUBRULE(expression);
|
|
11825
|
+
const close = CONSUME(symbols_exports.RParen);
|
|
11826
|
+
return ACTION(() => C.factory.expressionOperation(operator.image, [arg], C.factory.sourceLocation(operator, close)));
|
|
11988
11827
|
}
|
|
11989
11828
|
};
|
|
11990
11829
|
}
|
|
11991
|
-
|
|
11992
|
-
|
|
11993
|
-
|
|
11994
|
-
|
|
11995
|
-
|
|
11996
|
-
const hat2 = CONSUME(symbols_exports.hat);
|
|
11997
|
-
const item = SUBRULE2(pathElt, void 0);
|
|
11998
|
-
return ACTION(() => C.factory.path("^", [item], C.factory.sourceLocation(hat2, item)));
|
|
11999
|
-
} }
|
|
12000
|
-
])
|
|
12001
|
-
};
|
|
12002
|
-
var pathSequence = pathChainHelper("pathSequence", symbols_exports.slash, "/", pathEltOrInverse);
|
|
12003
|
-
var pathAlternative = pathChainHelper("pathAlternative", symbols_exports.pipe, "|", pathSequence);
|
|
12004
|
-
var pathElt = {
|
|
12005
|
-
name: "pathElt",
|
|
12006
|
-
impl: ({ ACTION, SUBRULE, OPTION }) => (C) => {
|
|
12007
|
-
const item = SUBRULE(pathPrimary, void 0);
|
|
12008
|
-
const modification = OPTION(() => SUBRULE(pathMod, void 0));
|
|
12009
|
-
return ACTION(() => modification === void 0 ? item : C.factory.path(modification.image, [item], C.factory.sourceLocation(item, modification)));
|
|
12010
|
-
}
|
|
12011
|
-
};
|
|
12012
|
-
var pathMod = {
|
|
12013
|
-
name: "pathMod",
|
|
12014
|
-
impl: ({ CONSUME, OR }) => () => OR([
|
|
12015
|
-
{ ALT: () => CONSUME(symbols_exports.question) },
|
|
12016
|
-
{ ALT: () => CONSUME(symbols_exports.star) },
|
|
12017
|
-
{ ALT: () => CONSUME(symbols_exports.opPlus) }
|
|
12018
|
-
])
|
|
12019
|
-
};
|
|
12020
|
-
var pathPrimary = {
|
|
12021
|
-
name: "pathPrimary",
|
|
12022
|
-
impl: ({ SUBRULE, CONSUME, OR }) => () => OR([
|
|
12023
|
-
{ ALT: () => SUBRULE(iri2, void 0) },
|
|
12024
|
-
{ ALT: () => SUBRULE(verbA, void 0) },
|
|
12025
|
-
{ ALT: () => SUBRULE(pathNegatedPropertySet, void 0) },
|
|
12026
|
-
{ ALT: () => {
|
|
11830
|
+
function funcExpr2(func) {
|
|
11831
|
+
return {
|
|
11832
|
+
name: unCapitalize(func.name),
|
|
11833
|
+
impl: ({ ACTION, CONSUME, SUBRULE1, SUBRULE2 }) => (C) => {
|
|
11834
|
+
const operator = CONSUME(func);
|
|
12027
11835
|
CONSUME(symbols_exports.LParen);
|
|
12028
|
-
const
|
|
12029
|
-
CONSUME(symbols_exports.
|
|
12030
|
-
|
|
12031
|
-
|
|
12032
|
-
|
|
12033
|
-
};
|
|
12034
|
-
var pathNegatedPropertySet = {
|
|
12035
|
-
name: "pathNegatedPropertySet",
|
|
12036
|
-
impl: ({ ACTION, CONSUME, SUBRULE1, SUBRULE2, SUBRULE3, OR, MANY }) => (C) => {
|
|
12037
|
-
const exclamation2 = CONSUME(symbols_exports.exclamation);
|
|
12038
|
-
return OR([
|
|
12039
|
-
{ ALT: () => {
|
|
12040
|
-
const noAlternative = SUBRULE1(pathOneInPropertySet, void 0);
|
|
12041
|
-
return ACTION(() => C.factory.path("!", [noAlternative], C.factory.sourceLocation(exclamation2, noAlternative)));
|
|
12042
|
-
} },
|
|
12043
|
-
{ ALT: () => {
|
|
12044
|
-
const open = CONSUME(symbols_exports.LParen);
|
|
12045
|
-
const head2 = SUBRULE2(pathOneInPropertySet, void 0);
|
|
12046
|
-
const tail = [];
|
|
12047
|
-
MANY(() => {
|
|
12048
|
-
CONSUME(symbols_exports.pipe);
|
|
12049
|
-
const item = SUBRULE3(pathOneInPropertySet, void 0);
|
|
12050
|
-
tail.push(item);
|
|
12051
|
-
});
|
|
12052
|
-
const close = CONSUME(symbols_exports.RParen);
|
|
12053
|
-
return ACTION(() => {
|
|
12054
|
-
const F2 = C.factory;
|
|
12055
|
-
if (tail.length === 0) {
|
|
12056
|
-
return F2.path("!", [head2], F2.sourceLocation(exclamation2, close));
|
|
12057
|
-
}
|
|
12058
|
-
return F2.path(
|
|
12059
|
-
"!",
|
|
12060
|
-
[F2.path("|", [head2, ...tail], F2.sourceLocation(open, close))],
|
|
12061
|
-
F2.sourceLocation(exclamation2, close)
|
|
12062
|
-
);
|
|
12063
|
-
});
|
|
12064
|
-
} }
|
|
12065
|
-
]);
|
|
12066
|
-
}
|
|
12067
|
-
};
|
|
12068
|
-
var pathOneInPropertySet = {
|
|
12069
|
-
name: "pathOneInPropertySet",
|
|
12070
|
-
impl: ({ ACTION, CONSUME, SUBRULE1, SUBRULE2, OR1, OR2 }) => (C) => OR1([
|
|
12071
|
-
{ ALT: () => SUBRULE1(iri2, void 0) },
|
|
12072
|
-
{ ALT: () => SUBRULE1(verbA, void 0) },
|
|
12073
|
-
{ ALT: () => {
|
|
12074
|
-
const hat2 = CONSUME(symbols_exports.hat);
|
|
12075
|
-
const item = OR2([
|
|
12076
|
-
{ ALT: () => SUBRULE2(iri2, void 0) },
|
|
12077
|
-
{ ALT: () => SUBRULE2(verbA, void 0) }
|
|
12078
|
-
]);
|
|
12079
|
-
return ACTION(() => C.factory.path("^", [item], C.factory.sourceLocation(hat2, item)));
|
|
12080
|
-
} }
|
|
12081
|
-
])
|
|
12082
|
-
};
|
|
12083
|
-
|
|
12084
|
-
// ../../packages/rules-sparql-1-1/lib/grammar/tripleBlock.ts
|
|
12085
|
-
function triplesDotSeperated(triplesSameSubjectSubrule) {
|
|
12086
|
-
return ({ ACTION, AT_LEAST_ONE, SUBRULE, CONSUME, OPTION }) => (C) => {
|
|
12087
|
-
const triples = [];
|
|
12088
|
-
let parsedDot = true;
|
|
12089
|
-
let dotToken;
|
|
12090
|
-
AT_LEAST_ONE({
|
|
12091
|
-
GATE: () => parsedDot,
|
|
12092
|
-
DEF: () => {
|
|
12093
|
-
parsedDot = false;
|
|
12094
|
-
const template = SUBRULE(triplesSameSubjectSubrule, void 0);
|
|
12095
|
-
ACTION(() => {
|
|
12096
|
-
triples.push(...template);
|
|
12097
|
-
});
|
|
12098
|
-
OPTION(() => {
|
|
12099
|
-
dotToken = CONSUME(symbols_exports.dot);
|
|
12100
|
-
parsedDot = true;
|
|
12101
|
-
});
|
|
12102
|
-
}
|
|
12103
|
-
});
|
|
12104
|
-
return ACTION(() => C.factory.patternBgp(triples, C.factory.sourceLocation(...triples, dotToken)));
|
|
12105
|
-
};
|
|
12106
|
-
}
|
|
12107
|
-
var triplesBlock = {
|
|
12108
|
-
name: "triplesBlock",
|
|
12109
|
-
impl: (implArgs) => (C) => triplesDotSeperated(triplesSameSubjectPath)(implArgs)(C, void 0),
|
|
12110
|
-
gImpl: ({ SUBRULE, PRINT_WORD, HANDLE_LOC }) => (ast, { factory: F2 }) => {
|
|
12111
|
-
for (const [index, triple] of ast.triples.entries()) {
|
|
12112
|
-
HANDLE_LOC(triple, () => {
|
|
12113
|
-
const nextTriple = ast.triples.at(index);
|
|
12114
|
-
if (F2.isTripleCollection(triple)) {
|
|
12115
|
-
SUBRULE(graphNodePath, triple, void 0);
|
|
12116
|
-
F2.printFilter(triple, () => PRINT_WORD("."));
|
|
12117
|
-
} else {
|
|
12118
|
-
SUBRULE(graphNodePath, triple.subject, void 0);
|
|
12119
|
-
if (F2.isTerm(triple.predicate) && F2.isTermVariable(triple.predicate)) {
|
|
12120
|
-
SUBRULE(varOrTerm, triple.predicate, void 0);
|
|
12121
|
-
} else {
|
|
12122
|
-
SUBRULE(pathGenerator, triple.predicate, void 0);
|
|
12123
|
-
}
|
|
12124
|
-
SUBRULE(graphNodePath, triple.object, void 0);
|
|
12125
|
-
if (nextTriple === void 0 || F2.isTripleCollection(nextTriple) || !F2.isSourceLocationNoMaterialize(nextTriple.subject.loc)) {
|
|
12126
|
-
F2.printFilter(ast, () => PRINT_WORD("."));
|
|
12127
|
-
} else if (F2.isSourceLocationNoMaterialize(nextTriple.predicate.loc)) {
|
|
12128
|
-
F2.printFilter(ast, () => PRINT_WORD(","));
|
|
12129
|
-
} else {
|
|
12130
|
-
F2.printFilter(ast, () => PRINT_WORD(";"));
|
|
12131
|
-
}
|
|
12132
|
-
}
|
|
12133
|
-
});
|
|
11836
|
+
const arg1 = SUBRULE1(expression);
|
|
11837
|
+
CONSUME(symbols_exports.comma);
|
|
11838
|
+
const arg2 = SUBRULE2(expression);
|
|
11839
|
+
const close = CONSUME(symbols_exports.RParen);
|
|
11840
|
+
return ACTION(() => C.factory.expressionOperation(operator.image, [arg1, arg2], C.factory.sourceLocation(operator, close)));
|
|
12134
11841
|
}
|
|
12135
|
-
}
|
|
12136
|
-
};
|
|
12137
|
-
function triplesSameSubjectImpl(name, allowPaths) {
|
|
12138
|
-
return {
|
|
12139
|
-
name,
|
|
12140
|
-
impl: ({ ACTION, SUBRULE, OR }) => (C) => OR([
|
|
12141
|
-
{ ALT: () => {
|
|
12142
|
-
const subject = SUBRULE(varOrTerm, void 0);
|
|
12143
|
-
const res = SUBRULE(
|
|
12144
|
-
allowPaths ? propertyListPathNotEmpty : propertyListNotEmpty,
|
|
12145
|
-
{ subject: ACTION(() => C.factory.dematerialized(subject)) }
|
|
12146
|
-
);
|
|
12147
|
-
return ACTION(() => {
|
|
12148
|
-
if (res.length > 0) {
|
|
12149
|
-
res[0].subject = subject;
|
|
12150
|
-
res[0].loc = C.factory.sourceLocation(subject, res[0]);
|
|
12151
|
-
}
|
|
12152
|
-
return res;
|
|
12153
|
-
});
|
|
12154
|
-
} },
|
|
12155
|
-
{ ALT: () => {
|
|
12156
|
-
const subjectNode = SUBRULE(allowPaths ? triplesNodePath : triplesNode, void 0);
|
|
12157
|
-
const restNode = SUBRULE(
|
|
12158
|
-
allowPaths ? propertyListPath : propertyList,
|
|
12159
|
-
{ subject: ACTION(() => C.factory.graphNodeIdentifier(subjectNode)) }
|
|
12160
|
-
);
|
|
12161
|
-
return ACTION(() => {
|
|
12162
|
-
if (restNode.length === 0) {
|
|
12163
|
-
return [subjectNode];
|
|
12164
|
-
}
|
|
12165
|
-
restNode[0].subject = subjectNode;
|
|
12166
|
-
restNode[0].loc = C.factory.sourceLocation(subjectNode, restNode[0]);
|
|
12167
|
-
return restNode;
|
|
12168
|
-
});
|
|
12169
|
-
} }
|
|
12170
|
-
])
|
|
12171
11842
|
};
|
|
12172
11843
|
}
|
|
12173
|
-
|
|
12174
|
-
var triplesSameSubjectPath = triplesSameSubjectImpl("triplesSameSubjectPath", true);
|
|
12175
|
-
var triplesTemplate = {
|
|
12176
|
-
name: "triplesTemplate",
|
|
12177
|
-
impl: triplesDotSeperated(triplesSameSubject)
|
|
12178
|
-
};
|
|
12179
|
-
function propertyListImpl(name, allowPaths) {
|
|
11844
|
+
function funcExpr3(func) {
|
|
12180
11845
|
return {
|
|
12181
|
-
name,
|
|
12182
|
-
impl: ({
|
|
11846
|
+
name: unCapitalize(func.name),
|
|
11847
|
+
impl: ({ ACTION, CONSUME, CONSUME1, CONSUME2, SUBRULE1, SUBRULE2, SUBRULE3 }) => (C) => {
|
|
11848
|
+
const operator = CONSUME(func);
|
|
11849
|
+
CONSUME(symbols_exports.LParen);
|
|
11850
|
+
const arg1 = SUBRULE1(expression);
|
|
11851
|
+
CONSUME1(symbols_exports.comma);
|
|
11852
|
+
const arg2 = SUBRULE2(expression);
|
|
11853
|
+
CONSUME2(symbols_exports.comma);
|
|
11854
|
+
const arg3 = SUBRULE3(expression);
|
|
11855
|
+
const close = CONSUME(symbols_exports.RParen);
|
|
11856
|
+
return ACTION(() => C.factory.expressionOperation(operator.image, [arg1, arg2, arg3], C.factory.sourceLocation(operator, close)));
|
|
11857
|
+
}
|
|
12183
11858
|
};
|
|
12184
11859
|
}
|
|
12185
|
-
|
|
12186
|
-
var propertyListPath = propertyListImpl("propertyListPath", true);
|
|
12187
|
-
function propertyListNotEmptyImplementation(name, allowPaths) {
|
|
11860
|
+
function funcVar1(func) {
|
|
12188
11861
|
return {
|
|
12189
|
-
name,
|
|
12190
|
-
impl: ({ ACTION,
|
|
12191
|
-
const
|
|
12192
|
-
|
|
12193
|
-
|
|
12194
|
-
|
|
12195
|
-
|
|
12196
|
-
parsedSemi = false;
|
|
12197
|
-
const predicate = allowPaths ? OR1([
|
|
12198
|
-
{ ALT: () => SUBRULE1(verbPath, void 0) },
|
|
12199
|
-
{ ALT: () => SUBRULE1(verbSimple, void 0) }
|
|
12200
|
-
]) : SUBRULE1(verb, void 0);
|
|
12201
|
-
const triples = SUBRULE1(
|
|
12202
|
-
allowPaths ? objectListPath : objectList,
|
|
12203
|
-
ACTION(() => ({ subject: arg.subject, predicate }))
|
|
12204
|
-
);
|
|
12205
|
-
MANY2(() => {
|
|
12206
|
-
CONSUME(symbols_exports.semi);
|
|
12207
|
-
parsedSemi = true;
|
|
12208
|
-
});
|
|
12209
|
-
ACTION(() => {
|
|
12210
|
-
result.push(...triples);
|
|
12211
|
-
});
|
|
12212
|
-
}
|
|
12213
|
-
});
|
|
12214
|
-
return result;
|
|
11862
|
+
name: unCapitalize(func.name),
|
|
11863
|
+
impl: ({ ACTION, SUBRULE, CONSUME }) => (C) => {
|
|
11864
|
+
const operator = CONSUME(func);
|
|
11865
|
+
CONSUME(symbols_exports.LParen);
|
|
11866
|
+
const arg = SUBRULE(var_);
|
|
11867
|
+
const close = CONSUME(symbols_exports.RParen);
|
|
11868
|
+
return ACTION(() => C.factory.expressionOperation(operator.image, [arg], C.factory.sourceLocation(operator, close)));
|
|
12215
11869
|
}
|
|
12216
11870
|
};
|
|
12217
11871
|
}
|
|
12218
|
-
|
|
12219
|
-
var propertyListPathNotEmpty = propertyListNotEmptyImplementation("propertyListPathNotEmpty", true);
|
|
12220
|
-
var verbPath = {
|
|
12221
|
-
name: "verbPath",
|
|
12222
|
-
impl: ({ SUBRULE }) => () => SUBRULE(path, void 0)
|
|
12223
|
-
};
|
|
12224
|
-
var verbSimple = {
|
|
12225
|
-
name: "verbSimple",
|
|
12226
|
-
impl: ({ SUBRULE }) => () => SUBRULE(var_, void 0)
|
|
12227
|
-
};
|
|
12228
|
-
function objectListImpl(name, allowPaths) {
|
|
11872
|
+
function funcExprOrNil1(func) {
|
|
12229
11873
|
return {
|
|
12230
|
-
name,
|
|
12231
|
-
impl: ({ ACTION,
|
|
12232
|
-
const
|
|
12233
|
-
|
|
12234
|
-
|
|
12235
|
-
|
|
12236
|
-
const
|
|
12237
|
-
|
|
12238
|
-
|
|
12239
|
-
|
|
12240
|
-
|
|
12241
|
-
|
|
12242
|
-
|
|
11874
|
+
name: unCapitalize(func.name),
|
|
11875
|
+
impl: ({ ACTION, CONSUME, OR, SUBRULE }) => (C) => {
|
|
11876
|
+
const operator = CONSUME(func);
|
|
11877
|
+
return OR([
|
|
11878
|
+
{ ALT: () => {
|
|
11879
|
+
CONSUME(symbols_exports.LParen);
|
|
11880
|
+
const arg = SUBRULE(expression);
|
|
11881
|
+
const close = CONSUME(symbols_exports.RParen);
|
|
11882
|
+
return ACTION(() => C.factory.expressionOperation(operator.image, [arg], C.factory.sourceLocation(operator, close)));
|
|
11883
|
+
} },
|
|
11884
|
+
{ ALT: () => {
|
|
11885
|
+
const nil2 = CONSUME(terminals_exports.nil);
|
|
11886
|
+
return ACTION(() => C.factory.expressionOperation(operator.image, [], C.factory.sourceLocation(operator, nil2)));
|
|
11887
|
+
} }
|
|
11888
|
+
]);
|
|
12243
11889
|
}
|
|
12244
11890
|
};
|
|
12245
11891
|
}
|
|
12246
|
-
|
|
12247
|
-
var objectListPath = objectListImpl("objectListPath", true);
|
|
12248
|
-
function objectImpl(name, allowPaths) {
|
|
11892
|
+
function funcNil1(func) {
|
|
12249
11893
|
return {
|
|
12250
|
-
name,
|
|
12251
|
-
impl: ({ ACTION,
|
|
12252
|
-
const
|
|
12253
|
-
|
|
11894
|
+
name: unCapitalize(func.name),
|
|
11895
|
+
impl: ({ ACTION, CONSUME }) => (C) => {
|
|
11896
|
+
const operator = CONSUME(func);
|
|
11897
|
+
const nil2 = CONSUME(terminals_exports.nil);
|
|
11898
|
+
return ACTION(() => C.factory.expressionOperation(operator.image, [], C.factory.sourceLocation(operator, nil2)));
|
|
12254
11899
|
}
|
|
12255
11900
|
};
|
|
12256
11901
|
}
|
|
12257
|
-
|
|
12258
|
-
var objectPath = objectImpl("objectPath", true);
|
|
12259
|
-
function collectionImpl(name, allowPaths) {
|
|
11902
|
+
function funcExprList1(func) {
|
|
12260
11903
|
return {
|
|
12261
|
-
name,
|
|
12262
|
-
impl: ({ ACTION,
|
|
12263
|
-
const
|
|
12264
|
-
const
|
|
12265
|
-
|
|
12266
|
-
|
|
12267
|
-
|
|
12268
|
-
|
|
12269
|
-
|
|
12270
|
-
|
|
12271
|
-
|
|
12272
|
-
|
|
12273
|
-
|
|
12274
|
-
|
|
12275
|
-
|
|
12276
|
-
|
|
12277
|
-
|
|
12278
|
-
|
|
12279
|
-
|
|
12280
|
-
|
|
12281
|
-
predFirst,
|
|
12282
|
-
term
|
|
12283
|
-
);
|
|
12284
|
-
triples.push(headTriple);
|
|
12285
|
-
if (lastInList) {
|
|
12286
|
-
const nilTriple = F2.triple(iterHead, predRest, predNil);
|
|
12287
|
-
triples.push(nilTriple);
|
|
12288
|
-
} else {
|
|
12289
|
-
const tail = F2.blankNode(void 0, F2.sourceLocationNoMaterialize());
|
|
12290
|
-
const linkTriple = F2.triple(iterHead, predRest, tail);
|
|
12291
|
-
triples.push(linkTriple);
|
|
12292
|
-
iterHead = tail;
|
|
12293
|
-
}
|
|
12294
|
-
}
|
|
12295
|
-
return F2.tripleCollectionList(listHead, triples, F2.sourceLocation(startToken, endToken));
|
|
11904
|
+
name: unCapitalize(func.name),
|
|
11905
|
+
impl: ({ ACTION, CONSUME, SUBRULE }) => (C) => {
|
|
11906
|
+
const operator = CONSUME(func);
|
|
11907
|
+
const args = SUBRULE(expressionList);
|
|
11908
|
+
return ACTION(() => C.factory.expressionOperation(operator.image, args.val, C.factory.sourceLocation(operator, args)));
|
|
11909
|
+
}
|
|
11910
|
+
};
|
|
11911
|
+
}
|
|
11912
|
+
function funcExpr2or3(func) {
|
|
11913
|
+
return {
|
|
11914
|
+
name: unCapitalize(func.name),
|
|
11915
|
+
impl: ({ ACTION, CONSUME, SUBRULE1, SUBRULE2, SUBRULE3, CONSUME1, OPTION, CONSUME2 }) => (C) => {
|
|
11916
|
+
const operator = CONSUME(func);
|
|
11917
|
+
CONSUME(symbols_exports.LParen);
|
|
11918
|
+
const arg1 = SUBRULE1(expression);
|
|
11919
|
+
CONSUME1(symbols_exports.comma);
|
|
11920
|
+
const arg2 = SUBRULE2(expression);
|
|
11921
|
+
const arg3 = OPTION(() => {
|
|
11922
|
+
CONSUME2(symbols_exports.comma);
|
|
11923
|
+
return SUBRULE3(expression);
|
|
12296
11924
|
});
|
|
12297
|
-
|
|
12298
|
-
|
|
12299
|
-
|
|
12300
|
-
|
|
12301
|
-
|
|
12302
|
-
|
|
12303
|
-
}
|
|
12304
|
-
}
|
|
12305
|
-
F2.printFilter(ast, () => PRINT_WORD(")"));
|
|
11925
|
+
const close = CONSUME(symbols_exports.RParen);
|
|
11926
|
+
return ACTION(() => C.factory.expressionOperation(
|
|
11927
|
+
operator.image,
|
|
11928
|
+
arg3 ? [arg1, arg2, arg3] : [arg1, arg2],
|
|
11929
|
+
C.factory.sourceLocation(operator, close)
|
|
11930
|
+
));
|
|
12306
11931
|
}
|
|
12307
11932
|
};
|
|
12308
11933
|
}
|
|
12309
|
-
|
|
12310
|
-
var collectionPath = collectionImpl("collectionPath", true);
|
|
12311
|
-
function triplesNodeImpl(name, allowPaths) {
|
|
11934
|
+
function funcExpr3or4(func) {
|
|
12312
11935
|
return {
|
|
12313
|
-
name,
|
|
12314
|
-
impl: ({
|
|
12315
|
-
|
|
12316
|
-
|
|
12317
|
-
|
|
12318
|
-
|
|
11936
|
+
name: unCapitalize(func.name),
|
|
11937
|
+
impl: ({
|
|
11938
|
+
ACTION,
|
|
11939
|
+
CONSUME,
|
|
11940
|
+
SUBRULE1,
|
|
11941
|
+
SUBRULE2,
|
|
11942
|
+
SUBRULE3,
|
|
11943
|
+
SUBRULE4,
|
|
11944
|
+
CONSUME1,
|
|
11945
|
+
OPTION,
|
|
11946
|
+
CONSUME2,
|
|
11947
|
+
CONSUME3
|
|
11948
|
+
}) => (C) => {
|
|
11949
|
+
const operator = CONSUME(func);
|
|
11950
|
+
CONSUME(symbols_exports.LParen);
|
|
11951
|
+
const arg1 = SUBRULE1(expression);
|
|
11952
|
+
CONSUME1(symbols_exports.comma);
|
|
11953
|
+
const arg2 = SUBRULE2(expression);
|
|
11954
|
+
CONSUME2(symbols_exports.comma);
|
|
11955
|
+
const arg3 = SUBRULE3(expression);
|
|
11956
|
+
const arg4 = OPTION(() => {
|
|
11957
|
+
CONSUME3(symbols_exports.comma);
|
|
11958
|
+
return SUBRULE4(expression);
|
|
11959
|
+
});
|
|
11960
|
+
const close = CONSUME(symbols_exports.RParen);
|
|
11961
|
+
return ACTION(() => C.factory.expressionOperation(
|
|
11962
|
+
operator.image,
|
|
11963
|
+
arg4 ? [arg1, arg2, arg3, arg4] : [arg1, arg2, arg3],
|
|
11964
|
+
C.factory.sourceLocation(operator, close)
|
|
11965
|
+
));
|
|
11966
|
+
}
|
|
12319
11967
|
};
|
|
12320
11968
|
}
|
|
12321
|
-
|
|
12322
|
-
var triplesNodePath = triplesNodeImpl("triplesNodePath", true);
|
|
12323
|
-
function blankNodePropertyListImpl(name, allowPaths) {
|
|
12324
|
-
const propertyPathNotEmptyImpl = allowPaths ? propertyListPathNotEmpty : propertyListNotEmpty;
|
|
11969
|
+
function funcGroupGraphPattern(func) {
|
|
12325
11970
|
return {
|
|
12326
|
-
name,
|
|
11971
|
+
name: unCapitalize(func.name),
|
|
12327
11972
|
impl: ({ ACTION, SUBRULE, CONSUME }) => (C) => {
|
|
12328
|
-
const
|
|
12329
|
-
const
|
|
12330
|
-
|
|
12331
|
-
|
|
12332
|
-
|
|
12333
|
-
|
|
12334
|
-
propList,
|
|
12335
|
-
C.factory.sourceLocation(startToken, endToken)
|
|
11973
|
+
const operator = CONSUME(func);
|
|
11974
|
+
const group = SUBRULE(groupGraphPattern);
|
|
11975
|
+
return ACTION(() => C.factory.expressionPatternOperation(
|
|
11976
|
+
operator.image,
|
|
11977
|
+
group,
|
|
11978
|
+
C.factory.sourceLocation(operator, group)
|
|
12336
11979
|
));
|
|
12337
|
-
},
|
|
12338
|
-
gImpl: ({ SUBRULE, PRINT, PRINT_WORD, HANDLE_LOC }) => (ast, { factory: F2 }) => {
|
|
12339
|
-
F2.printFilter(ast, () => PRINT("["));
|
|
12340
|
-
for (const triple of ast.triples) {
|
|
12341
|
-
HANDLE_LOC(triple, () => {
|
|
12342
|
-
if (F2.isTerm(triple.predicate) && F2.isTermVariable(triple.predicate)) {
|
|
12343
|
-
SUBRULE(varOrTerm, triple.predicate, void 0);
|
|
12344
|
-
} else {
|
|
12345
|
-
SUBRULE(pathGenerator, triple.predicate, void 0);
|
|
12346
|
-
}
|
|
12347
|
-
SUBRULE(graphNodePath, triple.object, void 0);
|
|
12348
|
-
F2.printFilter(ast, () => PRINT_WORD(";"));
|
|
12349
|
-
});
|
|
12350
|
-
}
|
|
12351
|
-
F2.printFilter(ast, () => PRINT("]"));
|
|
12352
11980
|
}
|
|
12353
11981
|
};
|
|
12354
11982
|
}
|
|
12355
|
-
|
|
12356
|
-
var blankNodePropertyListPath = blankNodePropertyListImpl("blankNodePropertyListPath", true);
|
|
12357
|
-
function graphNodeImpl(name, allowPaths) {
|
|
12358
|
-
const triplesNodeRule = allowPaths ? triplesNodePath : triplesNode;
|
|
11983
|
+
function baseAggregateFunc(func) {
|
|
12359
11984
|
return {
|
|
12360
|
-
name,
|
|
12361
|
-
impl: ({ SUBRULE,
|
|
12362
|
-
|
|
12363
|
-
|
|
12364
|
-
|
|
12365
|
-
|
|
12366
|
-
|
|
12367
|
-
|
|
12368
|
-
|
|
12369
|
-
|
|
12370
|
-
|
|
12371
|
-
|
|
12372
|
-
|
|
12373
|
-
|
|
11985
|
+
name: unCapitalize(func.name),
|
|
11986
|
+
impl: ({ ACTION, CONSUME, SUBRULE, OPTION }) => (C) => {
|
|
11987
|
+
const operator = CONSUME(func);
|
|
11988
|
+
CONSUME(symbols_exports.LParen);
|
|
11989
|
+
const distinct2 = OPTION(() => CONSUME(distinct));
|
|
11990
|
+
const expr1 = SUBRULE(expression);
|
|
11991
|
+
const close = CONSUME(symbols_exports.RParen);
|
|
11992
|
+
return ACTION(() => C.factory.aggregate(
|
|
11993
|
+
operator.image,
|
|
11994
|
+
distinct2 !== void 0,
|
|
11995
|
+
expr1,
|
|
11996
|
+
void 0,
|
|
11997
|
+
C.factory.sourceLocation(operator, close)
|
|
11998
|
+
));
|
|
12374
11999
|
}
|
|
12375
12000
|
};
|
|
12376
12001
|
}
|
|
12377
|
-
var graphNode = graphNodeImpl("graphNode", false);
|
|
12378
|
-
var graphNodePath = graphNodeImpl("graphNodePath", true);
|
|
12379
12002
|
|
|
12380
|
-
// ../../packages/rules-sparql-1-1/lib/grammar/
|
|
12381
|
-
var
|
|
12382
|
-
|
|
12383
|
-
|
|
12384
|
-
|
|
12385
|
-
|
|
12386
|
-
|
|
12387
|
-
|
|
12388
|
-
|
|
12389
|
-
|
|
12390
|
-
|
|
12003
|
+
// ../../packages/rules-sparql-1-1/lib/grammar/builtIn.ts
|
|
12004
|
+
var builtInStr = funcExpr1(BuildinCalls_exports.str);
|
|
12005
|
+
var builtInLang = funcExpr1(BuildinCalls_exports.lang);
|
|
12006
|
+
var builtInLangmatches = funcExpr2(BuildinCalls_exports.langmatches);
|
|
12007
|
+
var builtInDatatype = funcExpr1(BuildinCalls_exports.datatype);
|
|
12008
|
+
var builtInBound = funcVar1(BuildinCalls_exports.bound);
|
|
12009
|
+
var builtInIri = funcExpr1(BuildinCalls_exports.iri);
|
|
12010
|
+
var builtInUri = funcExpr1(BuildinCalls_exports.uri);
|
|
12011
|
+
var builtInBnodeSparqlJs = funcExprOrNil1(BuildinCalls_exports.bnode);
|
|
12012
|
+
var builtInRand = funcNil1(BuildinCalls_exports.rand);
|
|
12013
|
+
var builtInAbs = funcExpr1(BuildinCalls_exports.abs);
|
|
12014
|
+
var builtInCeil = funcExpr1(BuildinCalls_exports.ceil);
|
|
12015
|
+
var builtInFloor = funcExpr1(BuildinCalls_exports.floor);
|
|
12016
|
+
var builtInRound = funcExpr1(BuildinCalls_exports.round);
|
|
12017
|
+
var builtInConcat = funcExprList1(BuildinCalls_exports.concat);
|
|
12018
|
+
var builtInStrlen = funcExpr1(BuildinCalls_exports.strlen);
|
|
12019
|
+
var builtInUcase = funcExpr1(BuildinCalls_exports.ucase);
|
|
12020
|
+
var builtInLcase = funcExpr1(BuildinCalls_exports.lcase);
|
|
12021
|
+
var builtInEncode_for_uri = funcExpr1(BuildinCalls_exports.encode_for_uri);
|
|
12022
|
+
var builtInContains = funcExpr2(BuildinCalls_exports.contains);
|
|
12023
|
+
var builtInStrstarts = funcExpr2(BuildinCalls_exports.strstarts);
|
|
12024
|
+
var builtInStrends = funcExpr2(BuildinCalls_exports.strends);
|
|
12025
|
+
var builtInStrbefore = funcExpr2(BuildinCalls_exports.strbefore);
|
|
12026
|
+
var builtInStrafter = funcExpr2(BuildinCalls_exports.strafter);
|
|
12027
|
+
var builtInYear = funcExpr1(BuildinCalls_exports.year);
|
|
12028
|
+
var builtInMonth = funcExpr1(BuildinCalls_exports.month);
|
|
12029
|
+
var builtInDay = funcExpr1(BuildinCalls_exports.day);
|
|
12030
|
+
var builtInHours = funcExpr1(BuildinCalls_exports.hours);
|
|
12031
|
+
var builtInMinutes = funcExpr1(BuildinCalls_exports.minutes);
|
|
12032
|
+
var builtInSeconds = funcExpr1(BuildinCalls_exports.seconds);
|
|
12033
|
+
var builtInTimezone = funcExpr1(BuildinCalls_exports.timezone);
|
|
12034
|
+
var builtInTz = funcExpr1(BuildinCalls_exports.tz);
|
|
12035
|
+
var builtInNow = funcNil1(BuildinCalls_exports.now);
|
|
12036
|
+
var builtInUuid = funcNil1(BuildinCalls_exports.uuid);
|
|
12037
|
+
var builtInStruuid = funcNil1(BuildinCalls_exports.struuid);
|
|
12038
|
+
var builtInMd5 = funcExpr1(BuildinCalls_exports.md5);
|
|
12039
|
+
var builtInSha1 = funcExpr1(BuildinCalls_exports.sha1);
|
|
12040
|
+
var builtInSha256 = funcExpr1(BuildinCalls_exports.sha256);
|
|
12041
|
+
var builtInSha384 = funcExpr1(BuildinCalls_exports.sha384);
|
|
12042
|
+
var builtInSha512 = funcExpr1(BuildinCalls_exports.sha512);
|
|
12043
|
+
var builtInCoalesce = funcExprList1(BuildinCalls_exports.coalesce);
|
|
12044
|
+
var builtInIf = funcExpr3(BuildinCalls_exports.if_);
|
|
12045
|
+
var builtInStrlang = funcExpr2(BuildinCalls_exports.strlang);
|
|
12046
|
+
var builtInStrdt = funcExpr2(BuildinCalls_exports.strdt);
|
|
12047
|
+
var builtInSameterm = funcExpr2(BuildinCalls_exports.sameterm);
|
|
12048
|
+
var builtInIsiri = funcExpr1(BuildinCalls_exports.isiri);
|
|
12049
|
+
var builtInIsuri = funcExpr1(BuildinCalls_exports.isuri);
|
|
12050
|
+
var builtInIsblank = funcExpr1(BuildinCalls_exports.isblank);
|
|
12051
|
+
var builtInIsliteral = funcExpr1(BuildinCalls_exports.isliteral);
|
|
12052
|
+
var builtInIsnumeric = funcExpr1(BuildinCalls_exports.isnumeric);
|
|
12053
|
+
function builtInCallList(SUBRULE) {
|
|
12054
|
+
return [
|
|
12055
|
+
{ ALT: () => SUBRULE(aggregate) },
|
|
12056
|
+
{ ALT: () => SUBRULE(builtInStr) },
|
|
12057
|
+
{ ALT: () => SUBRULE(builtInLang) },
|
|
12058
|
+
{ ALT: () => SUBRULE(builtInLangmatches) },
|
|
12059
|
+
{ ALT: () => SUBRULE(builtInDatatype) },
|
|
12060
|
+
{ ALT: () => SUBRULE(builtInBound) },
|
|
12061
|
+
{ ALT: () => SUBRULE(builtInIri) },
|
|
12062
|
+
{ ALT: () => SUBRULE(builtInUri) },
|
|
12063
|
+
{ ALT: () => SUBRULE(builtInBnodeSparqlJs) },
|
|
12064
|
+
{ ALT: () => SUBRULE(builtInRand) },
|
|
12065
|
+
{ ALT: () => SUBRULE(builtInAbs) },
|
|
12066
|
+
{ ALT: () => SUBRULE(builtInCeil) },
|
|
12067
|
+
{ ALT: () => SUBRULE(builtInFloor) },
|
|
12068
|
+
{ ALT: () => SUBRULE(builtInRound) },
|
|
12069
|
+
{ ALT: () => SUBRULE(builtInConcat) },
|
|
12070
|
+
{ ALT: () => SUBRULE(substringExpression) },
|
|
12071
|
+
{ ALT: () => SUBRULE(builtInStrlen) },
|
|
12072
|
+
{ ALT: () => SUBRULE(strReplaceExpression) },
|
|
12073
|
+
{ ALT: () => SUBRULE(builtInUcase) },
|
|
12074
|
+
{ ALT: () => SUBRULE(builtInLcase) },
|
|
12075
|
+
{ ALT: () => SUBRULE(builtInEncode_for_uri) },
|
|
12076
|
+
{ ALT: () => SUBRULE(builtInContains) },
|
|
12077
|
+
{ ALT: () => SUBRULE(builtInStrstarts) },
|
|
12078
|
+
{ ALT: () => SUBRULE(builtInStrends) },
|
|
12079
|
+
{ ALT: () => SUBRULE(builtInStrbefore) },
|
|
12080
|
+
{ ALT: () => SUBRULE(builtInStrafter) },
|
|
12081
|
+
{ ALT: () => SUBRULE(builtInYear) },
|
|
12082
|
+
{ ALT: () => SUBRULE(builtInMonth) },
|
|
12083
|
+
{ ALT: () => SUBRULE(builtInDay) },
|
|
12084
|
+
{ ALT: () => SUBRULE(builtInHours) },
|
|
12085
|
+
{ ALT: () => SUBRULE(builtInMinutes) },
|
|
12086
|
+
{ ALT: () => SUBRULE(builtInSeconds) },
|
|
12087
|
+
{ ALT: () => SUBRULE(builtInTimezone) },
|
|
12088
|
+
{ ALT: () => SUBRULE(builtInTz) },
|
|
12089
|
+
{ ALT: () => SUBRULE(builtInNow) },
|
|
12090
|
+
{ ALT: () => SUBRULE(builtInUuid) },
|
|
12091
|
+
{ ALT: () => SUBRULE(builtInStruuid) },
|
|
12092
|
+
{ ALT: () => SUBRULE(builtInMd5) },
|
|
12093
|
+
{ ALT: () => SUBRULE(builtInSha1) },
|
|
12094
|
+
{ ALT: () => SUBRULE(builtInSha256) },
|
|
12095
|
+
{ ALT: () => SUBRULE(builtInSha384) },
|
|
12096
|
+
{ ALT: () => SUBRULE(builtInSha512) },
|
|
12097
|
+
{ ALT: () => SUBRULE(builtInCoalesce) },
|
|
12098
|
+
{ ALT: () => SUBRULE(builtInIf) },
|
|
12099
|
+
{ ALT: () => SUBRULE(builtInStrlang) },
|
|
12100
|
+
{ ALT: () => SUBRULE(builtInStrdt) },
|
|
12101
|
+
{ ALT: () => SUBRULE(builtInSameterm) },
|
|
12102
|
+
{ ALT: () => SUBRULE(builtInIsiri) },
|
|
12103
|
+
{ ALT: () => SUBRULE(builtInIsuri) },
|
|
12104
|
+
{ ALT: () => SUBRULE(builtInIsblank) },
|
|
12105
|
+
{ ALT: () => SUBRULE(builtInIsliteral) },
|
|
12106
|
+
{ ALT: () => SUBRULE(builtInIsnumeric) },
|
|
12107
|
+
{ ALT: () => SUBRULE(regexExpression) },
|
|
12108
|
+
{ ALT: () => SUBRULE(existsFunc) },
|
|
12109
|
+
{ ALT: () => SUBRULE(notExistsFunc) }
|
|
12110
|
+
];
|
|
12111
|
+
}
|
|
12112
|
+
var builtInCall = {
|
|
12113
|
+
name: "builtInCall",
|
|
12114
|
+
impl: ({ OR, SUBRULE, cache }) => () => {
|
|
12115
|
+
const cached = cache.get(builtInCall);
|
|
12116
|
+
if (cached) {
|
|
12117
|
+
return OR(cached);
|
|
12118
|
+
}
|
|
12119
|
+
const builtIns = builtInCallList(SUBRULE);
|
|
12120
|
+
cache.set(builtInCall, builtIns);
|
|
12121
|
+
return OR(builtIns);
|
|
12122
|
+
}
|
|
12123
|
+
};
|
|
12124
|
+
var regexExpression = funcExpr2or3(BuildinCalls_exports.regex);
|
|
12125
|
+
var substringExpression = funcExpr2or3(BuildinCalls_exports.substr);
|
|
12126
|
+
var strReplaceExpression = funcExpr3or4(BuildinCalls_exports.replace);
|
|
12127
|
+
var existsFunc = funcGroupGraphPattern(BuildinCalls_exports.exists);
|
|
12128
|
+
var notExistsFunc = funcGroupGraphPattern(BuildinCalls_exports.notexists);
|
|
12129
|
+
var aggregateCount = {
|
|
12130
|
+
name: unCapitalize(BuildinCalls_exports.count.name),
|
|
12131
|
+
impl: ({ ACTION, CONSUME, SUBRULE, OR, OPTION }) => (C) => {
|
|
12132
|
+
const operatorToken = CONSUME(BuildinCalls_exports.count);
|
|
12133
|
+
CONSUME(symbols_exports.LParen);
|
|
12134
|
+
const distinctToken = OPTION(() => CONSUME(distinct));
|
|
12135
|
+
const expressionVal = OR([
|
|
12136
|
+
{ ALT: () => {
|
|
12137
|
+
const starToken = CONSUME(symbols_exports.star);
|
|
12138
|
+
return ACTION(() => C.factory.wildcard(C.factory.sourceLocation(starToken)));
|
|
12139
|
+
} },
|
|
12140
|
+
{ ALT: () => SUBRULE(expression) }
|
|
12141
|
+
]);
|
|
12142
|
+
const closeToken = CONSUME(symbols_exports.RParen);
|
|
12143
|
+
return ACTION(() => {
|
|
12144
|
+
const F2 = C.factory;
|
|
12145
|
+
if (C.factory.isWildcard(expressionVal)) {
|
|
12146
|
+
return F2.aggregate(
|
|
12147
|
+
operatorToken.image,
|
|
12148
|
+
Boolean(distinctToken),
|
|
12149
|
+
expressionVal,
|
|
12150
|
+
void 0,
|
|
12151
|
+
C.factory.sourceLocation(operatorToken, closeToken)
|
|
12152
|
+
);
|
|
12153
|
+
}
|
|
12154
|
+
return F2.aggregate(
|
|
12155
|
+
operatorToken.image,
|
|
12156
|
+
Boolean(distinctToken),
|
|
12157
|
+
expressionVal,
|
|
12158
|
+
void 0,
|
|
12159
|
+
C.factory.sourceLocation(operatorToken, closeToken)
|
|
12160
|
+
);
|
|
12161
|
+
});
|
|
12162
|
+
}
|
|
12163
|
+
};
|
|
12164
|
+
var aggregateSum = baseAggregateFunc(BuildinCalls_exports.sum);
|
|
12165
|
+
var aggregateMin = baseAggregateFunc(BuildinCalls_exports.min);
|
|
12166
|
+
var aggregateMax = baseAggregateFunc(BuildinCalls_exports.max);
|
|
12167
|
+
var aggregateAvg = baseAggregateFunc(BuildinCalls_exports.avg);
|
|
12168
|
+
var aggregateSample = baseAggregateFunc(BuildinCalls_exports.sample);
|
|
12169
|
+
var aggregateGroup_concat = {
|
|
12170
|
+
name: unCapitalize(BuildinCalls_exports.groupConcat.name),
|
|
12171
|
+
impl: ({ ACTION, CONSUME, OPTION1, SUBRULE, OPTION2 }) => (C) => {
|
|
12172
|
+
const operatorToken = CONSUME(BuildinCalls_exports.groupConcat);
|
|
12173
|
+
CONSUME(symbols_exports.LParen);
|
|
12174
|
+
const distinctToken = OPTION1(() => CONSUME(distinct));
|
|
12175
|
+
const expr = SUBRULE(expression);
|
|
12176
|
+
const sep = OPTION2(() => {
|
|
12177
|
+
CONSUME(symbols_exports.semi);
|
|
12178
|
+
CONSUME(separator);
|
|
12179
|
+
CONSUME(symbols_exports.equal);
|
|
12180
|
+
return SUBRULE(string);
|
|
12181
|
+
});
|
|
12182
|
+
const closeToken = CONSUME(symbols_exports.RParen);
|
|
12183
|
+
return ACTION(() => {
|
|
12184
|
+
const F2 = C.factory;
|
|
12185
|
+
return F2.aggregate(
|
|
12186
|
+
operatorToken.image,
|
|
12187
|
+
Boolean(distinctToken),
|
|
12188
|
+
expr,
|
|
12189
|
+
sep?.value ?? " ",
|
|
12190
|
+
F2.sourceLocation(operatorToken, closeToken)
|
|
12191
|
+
);
|
|
12192
|
+
});
|
|
12391
12193
|
}
|
|
12392
12194
|
};
|
|
12393
|
-
var
|
|
12394
|
-
name: "
|
|
12395
|
-
impl: ({ ACTION, SUBRULE,
|
|
12396
|
-
const
|
|
12397
|
-
|
|
12398
|
-
|
|
12399
|
-
{ ALT: () => SUBRULE(
|
|
12195
|
+
var aggregate = {
|
|
12196
|
+
name: "aggregate",
|
|
12197
|
+
impl: ({ ACTION, SUBRULE, OR }) => (C) => {
|
|
12198
|
+
const wasInAggregate = ACTION(() => C.parseMode.has("inAggregate"));
|
|
12199
|
+
ACTION(() => C.parseMode.add("inAggregate"));
|
|
12200
|
+
const result = OR([
|
|
12201
|
+
{ ALT: () => SUBRULE(aggregateCount) },
|
|
12202
|
+
{ ALT: () => SUBRULE(aggregateSum) },
|
|
12203
|
+
{ ALT: () => SUBRULE(aggregateMin) },
|
|
12204
|
+
{ ALT: () => SUBRULE(aggregateMax) },
|
|
12205
|
+
{ ALT: () => SUBRULE(aggregateAvg) },
|
|
12206
|
+
{ ALT: () => SUBRULE(aggregateSample) },
|
|
12207
|
+
{ ALT: () => SUBRULE(aggregateGroup_concat) }
|
|
12400
12208
|
]);
|
|
12401
|
-
|
|
12402
|
-
|
|
12209
|
+
ACTION(() => !wasInAggregate && C.parseMode.delete("inAggregate"));
|
|
12210
|
+
ACTION(() => {
|
|
12211
|
+
if (!C.parseMode.has("canParseAggregate")) {
|
|
12212
|
+
throw new Error("Aggregates are only allowed in SELECT, HAVING, and ORDER BY clauses.");
|
|
12213
|
+
}
|
|
12214
|
+
if (C.parseMode.has("inAggregate")) {
|
|
12215
|
+
throw new Error("An aggregate function is not allowed within an aggregate function.");
|
|
12216
|
+
}
|
|
12217
|
+
});
|
|
12218
|
+
return result;
|
|
12403
12219
|
},
|
|
12404
12220
|
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { factory: F2 }) => {
|
|
12405
|
-
F2.printFilter(ast, () =>
|
|
12406
|
-
|
|
12407
|
-
|
|
12221
|
+
F2.printFilter(ast, () => {
|
|
12222
|
+
PRINT_WORD(ast.aggregation, "(");
|
|
12223
|
+
if (ast.distinct) {
|
|
12224
|
+
PRINT_WORD("DISTINCT");
|
|
12225
|
+
}
|
|
12226
|
+
});
|
|
12227
|
+
const arg = ast.expression[0];
|
|
12228
|
+
if (F2.isWildcard(arg)) {
|
|
12229
|
+
F2.printFilter(ast, () => PRINT_WORD("*"));
|
|
12230
|
+
} else {
|
|
12231
|
+
SUBRULE(expression, arg);
|
|
12408
12232
|
}
|
|
12409
|
-
F2.
|
|
12233
|
+
if (F2.isExpressionAggregateSeparator(ast)) {
|
|
12234
|
+
F2.printFilter(ast, () => PRINT_WORD(";", "SEPARATOR", "=", stringEscapedLexical(ast.separator)));
|
|
12235
|
+
}
|
|
12236
|
+
F2.printFilter(ast, () => PRINT_WORD(")"));
|
|
12410
12237
|
}
|
|
12411
12238
|
};
|
|
12412
|
-
|
|
12413
|
-
|
|
12239
|
+
|
|
12240
|
+
// ../../packages/rules-sparql-1-1/lib/grammar/general.ts
|
|
12241
|
+
var prologue = {
|
|
12242
|
+
name: "prologue",
|
|
12243
|
+
impl: ({ SUBRULE, MANY, OR }) => () => {
|
|
12244
|
+
const result = [];
|
|
12245
|
+
MANY(() => OR([
|
|
12246
|
+
{ ALT: () => result.push(SUBRULE(baseDecl2)) },
|
|
12247
|
+
// TODO: the [spec](https://www.w3.org/TR/sparql11-query/#iriRefs) says you cannot redefine prefixes.
|
|
12248
|
+
// We might need to check this.
|
|
12249
|
+
{ ALT: () => result.push(SUBRULE(prefixDecl2)) }
|
|
12250
|
+
]));
|
|
12251
|
+
return result;
|
|
12252
|
+
},
|
|
12414
12253
|
gImpl: ({ SUBRULE }) => (ast, { factory: F2 }) => {
|
|
12415
|
-
|
|
12416
|
-
|
|
12417
|
-
context
|
|
12418
|
-
|
|
12419
|
-
|
|
12420
|
-
|
|
12421
|
-
solutionModifiers: ast.solutionModifiers,
|
|
12422
|
-
values: ast.values,
|
|
12423
|
-
distinct: ast.distinct,
|
|
12424
|
-
reduced: ast.reduced
|
|
12425
|
-
}, ast.loc), void 0);
|
|
12426
|
-
} else if (ast.subType === "group") {
|
|
12427
|
-
SUBRULE(groupGraphPattern, ast, void 0);
|
|
12428
|
-
} else if (ast.subType === "bgp") {
|
|
12429
|
-
SUBRULE(triplesBlock, ast, void 0);
|
|
12430
|
-
} else {
|
|
12431
|
-
SUBRULE(graphPatternNotTriples, ast, void 0);
|
|
12254
|
+
for (const context of ast) {
|
|
12255
|
+
if (F2.isContextDefinitionBase(context)) {
|
|
12256
|
+
SUBRULE(baseDecl2, context);
|
|
12257
|
+
} else if (F2.isContextDefinitionPrefix(context)) {
|
|
12258
|
+
SUBRULE(prefixDecl2, context);
|
|
12259
|
+
}
|
|
12432
12260
|
}
|
|
12433
12261
|
}
|
|
12434
12262
|
};
|
|
12435
|
-
var
|
|
12436
|
-
name: "
|
|
12437
|
-
impl: ({ ACTION,
|
|
12438
|
-
const
|
|
12439
|
-
const
|
|
12440
|
-
|
|
12441
|
-
|
|
12442
|
-
|
|
12443
|
-
|
|
12444
|
-
|
|
12445
|
-
|
|
12446
|
-
|
|
12447
|
-
|
|
12448
|
-
|
|
12449
|
-
|
|
12450
|
-
|
|
12263
|
+
var baseDecl2 = {
|
|
12264
|
+
name: "baseDecl",
|
|
12265
|
+
impl: ({ ACTION, CONSUME, SUBRULE }) => (C) => {
|
|
12266
|
+
const base = CONSUME(baseDecl);
|
|
12267
|
+
const val = SUBRULE(iriFull);
|
|
12268
|
+
return ACTION(() => C.factory.contextDefinitionBase(C.factory.sourceLocation(base, val), val));
|
|
12269
|
+
},
|
|
12270
|
+
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { factory: F2 }) => {
|
|
12271
|
+
F2.printFilter(ast, () => PRINT_WORD("BASE"));
|
|
12272
|
+
SUBRULE(iri2, ast.value);
|
|
12273
|
+
}
|
|
12274
|
+
};
|
|
12275
|
+
var prefixDecl2 = {
|
|
12276
|
+
name: "prefixDecl",
|
|
12277
|
+
impl: ({ ACTION, CONSUME, SUBRULE }) => (C) => {
|
|
12278
|
+
const prefix = CONSUME(prefixDecl);
|
|
12279
|
+
const name = CONSUME(terminals_exports.pNameNs).image.slice(0, -1);
|
|
12280
|
+
const value = SUBRULE(iriFull);
|
|
12281
|
+
return ACTION(() => C.factory.contextDefinitionPrefix(C.factory.sourceLocation(prefix, value), name, value));
|
|
12282
|
+
},
|
|
12283
|
+
gImpl: ({ SUBRULE, PRINT_WORDS }) => (ast, { factory: F2 }) => {
|
|
12284
|
+
F2.printFilter(ast, () => {
|
|
12285
|
+
PRINT_WORDS("PREFIX", `${ast.key}:`);
|
|
12451
12286
|
});
|
|
12452
|
-
|
|
12453
|
-
return patterns;
|
|
12287
|
+
SUBRULE(iri2, ast.value);
|
|
12454
12288
|
}
|
|
12455
12289
|
};
|
|
12456
|
-
var
|
|
12457
|
-
name: "
|
|
12290
|
+
var verb = {
|
|
12291
|
+
name: "verb",
|
|
12458
12292
|
impl: ({ SUBRULE, OR }) => () => OR([
|
|
12459
|
-
{ ALT: () => SUBRULE(
|
|
12460
|
-
{ ALT: () => SUBRULE(
|
|
12461
|
-
|
|
12462
|
-
|
|
12463
|
-
|
|
12464
|
-
|
|
12465
|
-
|
|
12466
|
-
{
|
|
12293
|
+
{ ALT: () => SUBRULE(varOrIri) },
|
|
12294
|
+
{ ALT: () => SUBRULE(verbA) }
|
|
12295
|
+
])
|
|
12296
|
+
};
|
|
12297
|
+
var varOrTerm = {
|
|
12298
|
+
name: "varOrTerm",
|
|
12299
|
+
impl: ({ SUBRULE, OR }) => (C) => OR([
|
|
12300
|
+
{ GATE: () => C.parseMode.has("canParseVars"), ALT: () => SUBRULE(var_) },
|
|
12301
|
+
{ ALT: () => SUBRULE(graphTerm) }
|
|
12467
12302
|
]),
|
|
12468
|
-
gImpl: ({ SUBRULE }) => (ast) => {
|
|
12469
|
-
|
|
12470
|
-
|
|
12471
|
-
case "union":
|
|
12472
|
-
SUBRULE(groupOrUnionGraphPattern, ast, void 0);
|
|
12473
|
-
break;
|
|
12474
|
-
case "optional":
|
|
12475
|
-
SUBRULE(optionalGraphPattern, ast, void 0);
|
|
12476
|
-
break;
|
|
12477
|
-
case "minus":
|
|
12478
|
-
SUBRULE(minusGraphPattern, ast, void 0);
|
|
12479
|
-
break;
|
|
12480
|
-
case "graph":
|
|
12481
|
-
SUBRULE(graphGraphPattern, ast, void 0);
|
|
12482
|
-
break;
|
|
12483
|
-
case "service":
|
|
12484
|
-
SUBRULE(serviceGraphPattern, ast, void 0);
|
|
12485
|
-
break;
|
|
12486
|
-
case "filter":
|
|
12487
|
-
SUBRULE(filter3, ast, void 0);
|
|
12488
|
-
break;
|
|
12489
|
-
case "bind":
|
|
12490
|
-
SUBRULE(bind2, ast, void 0);
|
|
12491
|
-
break;
|
|
12492
|
-
case "values":
|
|
12493
|
-
SUBRULE(inlineData, ast, void 0);
|
|
12494
|
-
break;
|
|
12303
|
+
gImpl: ({ SUBRULE }) => (ast, { factory: F2 }) => {
|
|
12304
|
+
if (F2.isTermVariable(ast)) {
|
|
12305
|
+
return SUBRULE(var_, ast);
|
|
12495
12306
|
}
|
|
12307
|
+
return SUBRULE(graphTerm, ast);
|
|
12496
12308
|
}
|
|
12497
12309
|
};
|
|
12498
|
-
var
|
|
12499
|
-
name: "
|
|
12500
|
-
impl: ({
|
|
12501
|
-
|
|
12502
|
-
|
|
12503
|
-
|
|
12504
|
-
},
|
|
12505
|
-
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { factory: F2 }) => {
|
|
12506
|
-
F2.printFilter(ast, () => PRINT_WORD("OPTIONAL"));
|
|
12507
|
-
SUBRULE(groupGraphPattern, F2.patternGroup(ast.patterns, ast.loc), void 0);
|
|
12508
|
-
}
|
|
12310
|
+
var varOrIri = {
|
|
12311
|
+
name: "varOrIri",
|
|
12312
|
+
impl: ({ SUBRULE, OR }) => (C) => OR([
|
|
12313
|
+
{ GATE: () => C.parseMode.has("canParseVars"), ALT: () => SUBRULE(var_) },
|
|
12314
|
+
{ ALT: () => SUBRULE(iri2) }
|
|
12315
|
+
])
|
|
12509
12316
|
};
|
|
12510
|
-
var
|
|
12511
|
-
name: "
|
|
12512
|
-
impl: ({ ACTION,
|
|
12513
|
-
const
|
|
12514
|
-
|
|
12515
|
-
|
|
12516
|
-
|
|
12317
|
+
var var_ = {
|
|
12318
|
+
name: "var",
|
|
12319
|
+
impl: ({ ACTION, CONSUME, OR }) => (C) => {
|
|
12320
|
+
const varToken = OR([
|
|
12321
|
+
{ ALT: () => CONSUME(terminals_exports.var1) },
|
|
12322
|
+
{ ALT: () => CONSUME(terminals_exports.var2) }
|
|
12323
|
+
]);
|
|
12324
|
+
return ACTION(() => C.factory.variable(varToken.image.slice(1), C.factory.sourceLocation(varToken)));
|
|
12517
12325
|
},
|
|
12518
|
-
gImpl: ({
|
|
12519
|
-
F2.printFilter(ast, () => PRINT_WORD(
|
|
12520
|
-
SUBRULE(varOrTerm, ast.name, void 0);
|
|
12521
|
-
SUBRULE(groupGraphPattern, F2.patternGroup(ast.patterns, ast.loc), void 0);
|
|
12326
|
+
gImpl: ({ PRINT_WORD }) => (ast, { factory: F2 }) => {
|
|
12327
|
+
F2.printFilter(ast, () => PRINT_WORD(`?${ast.value}`));
|
|
12522
12328
|
}
|
|
12523
12329
|
};
|
|
12524
|
-
var
|
|
12525
|
-
name: "
|
|
12526
|
-
impl: ({ ACTION,
|
|
12527
|
-
|
|
12528
|
-
|
|
12529
|
-
|
|
12530
|
-
|
|
12531
|
-
|
|
12532
|
-
|
|
12533
|
-
|
|
12534
|
-
|
|
12535
|
-
|
|
12536
|
-
|
|
12537
|
-
|
|
12538
|
-
|
|
12539
|
-
|
|
12540
|
-
|
|
12541
|
-
|
|
12542
|
-
})
|
|
12543
|
-
|
|
12544
|
-
|
|
12330
|
+
var graphTerm = {
|
|
12331
|
+
name: "graphTerm",
|
|
12332
|
+
impl: ({ ACTION, SUBRULE, CONSUME, OR }) => (C) => OR([
|
|
12333
|
+
{ ALT: () => SUBRULE(iri2) },
|
|
12334
|
+
{ ALT: () => SUBRULE(rdfLiteral) },
|
|
12335
|
+
{ ALT: () => SUBRULE(numericLiteral) },
|
|
12336
|
+
{ ALT: () => SUBRULE(booleanLiteral) },
|
|
12337
|
+
{ GATE: () => C.parseMode.has("canCreateBlankNodes"), ALT: () => SUBRULE(blankNode) },
|
|
12338
|
+
{ ALT: () => {
|
|
12339
|
+
const tokenNil = CONSUME(terminals_exports.nil);
|
|
12340
|
+
return ACTION(() => C.factory.namedNode(C.factory.sourceLocation(tokenNil), "http://www.w3.org/1999/02/22-rdf-syntax-ns#nil" /* NIL */));
|
|
12341
|
+
} }
|
|
12342
|
+
]),
|
|
12343
|
+
gImpl: ({ SUBRULE }) => (ast, { factory: F2 }) => {
|
|
12344
|
+
if (F2.isTermNamed(ast)) {
|
|
12345
|
+
SUBRULE(iri2, ast);
|
|
12346
|
+
} else if (F2.isTermLiteral(ast)) {
|
|
12347
|
+
SUBRULE(rdfLiteral, ast);
|
|
12348
|
+
} else if (F2.isTermBlank(ast)) {
|
|
12349
|
+
SUBRULE(blankNode, ast);
|
|
12350
|
+
}
|
|
12545
12351
|
}
|
|
12546
12352
|
};
|
|
12547
|
-
|
|
12548
|
-
|
|
12549
|
-
|
|
12550
|
-
|
|
12551
|
-
|
|
12552
|
-
const expressionVal = SUBRULE(expression, void 0);
|
|
12553
|
-
CONSUME(as);
|
|
12554
|
-
const variable = SUBRULE(var_, void 0);
|
|
12555
|
-
const close = CONSUME(symbols_exports.RParen);
|
|
12556
|
-
return ACTION(() => C.factory.patternBind(expressionVal, variable, C.factory.sourceLocation(bind3, close)));
|
|
12557
|
-
},
|
|
12558
|
-
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { factory: F2 }) => {
|
|
12559
|
-
F2.printFilter(ast, () => PRINT_WORD("BIND", "("));
|
|
12560
|
-
SUBRULE(expression, ast.expression, void 0);
|
|
12561
|
-
F2.printFilter(ast, () => PRINT_WORD("AS"));
|
|
12562
|
-
SUBRULE(var_, ast.variable, void 0);
|
|
12563
|
-
F2.printFilter(ast, () => PRINT_WORD(")"));
|
|
12564
|
-
}
|
|
12353
|
+
|
|
12354
|
+
// ../../packages/rules-sparql-1-1/lib/grammar/propertyPaths.ts
|
|
12355
|
+
var path = {
|
|
12356
|
+
name: "path",
|
|
12357
|
+
impl: ({ SUBRULE }) => () => SUBRULE(pathAlternative)
|
|
12565
12358
|
};
|
|
12566
|
-
var
|
|
12567
|
-
name: "
|
|
12568
|
-
|
|
12569
|
-
|
|
12570
|
-
|
|
12571
|
-
|
|
12572
|
-
|
|
12573
|
-
|
|
12574
|
-
|
|
12575
|
-
|
|
12576
|
-
|
|
12577
|
-
|
|
12578
|
-
|
|
12579
|
-
|
|
12580
|
-
|
|
12581
|
-
|
|
12582
|
-
|
|
12583
|
-
F2.printFilter(ast, () => PRINT_WORD("("));
|
|
12584
|
-
for (const variable of variables) {
|
|
12585
|
-
if (mapping[variable] === void 0) {
|
|
12586
|
-
F2.printFilter(ast, () => PRINT_WORD("UNDEF"));
|
|
12587
|
-
} else {
|
|
12588
|
-
SUBRULE(graphNodePath, mapping[variable], void 0);
|
|
12359
|
+
var pathGenerator = {
|
|
12360
|
+
name: "path",
|
|
12361
|
+
gImpl: ({ PRINT, SUBRULE }) => (ast, { factory: F2 }, braces = true) => {
|
|
12362
|
+
if (F2.isTerm(ast) && F2.isTermNamed(ast)) {
|
|
12363
|
+
SUBRULE(iri2, ast);
|
|
12364
|
+
} else {
|
|
12365
|
+
F2.printFilter(ast, () => braces && PRINT("("));
|
|
12366
|
+
switch (ast.subType) {
|
|
12367
|
+
case "|":
|
|
12368
|
+
case "/": {
|
|
12369
|
+
const [head2, ...tail] = ast.items;
|
|
12370
|
+
SUBRULE(pathGenerator, head2, braces);
|
|
12371
|
+
for (const val of tail) {
|
|
12372
|
+
F2.printFilter(ast, () => PRINT(ast.subType));
|
|
12373
|
+
SUBRULE(pathGenerator, val, braces);
|
|
12374
|
+
}
|
|
12375
|
+
break;
|
|
12589
12376
|
}
|
|
12377
|
+
case "^":
|
|
12378
|
+
F2.printFilter(ast, () => PRINT("^"));
|
|
12379
|
+
SUBRULE(pathGenerator, ast.items[0], braces);
|
|
12380
|
+
break;
|
|
12381
|
+
case "?":
|
|
12382
|
+
case "*":
|
|
12383
|
+
case "+":
|
|
12384
|
+
SUBRULE(pathGenerator, ast.items[0], braces);
|
|
12385
|
+
F2.printFilter(ast, () => PRINT(ast.subType));
|
|
12386
|
+
break;
|
|
12387
|
+
case "!":
|
|
12388
|
+
F2.printFilter(ast, () => PRINT("!"));
|
|
12389
|
+
F2.printFilter(ast, () => PRINT("("));
|
|
12390
|
+
SUBRULE(pathGenerator, ast.items[0], false);
|
|
12391
|
+
F2.printFilter(ast, () => PRINT(")"));
|
|
12392
|
+
break;
|
|
12590
12393
|
}
|
|
12591
|
-
F2.printFilter(ast, () =>
|
|
12394
|
+
F2.printFilter(ast, () => braces && PRINT(")"));
|
|
12592
12395
|
}
|
|
12593
|
-
F2.printFilter(ast, () => PRINT_WORD("}"));
|
|
12594
12396
|
}
|
|
12595
12397
|
};
|
|
12596
|
-
|
|
12597
|
-
|
|
12598
|
-
|
|
12599
|
-
{
|
|
12600
|
-
|
|
12398
|
+
function pathChainHelper(name, SEP, subType, subRule) {
|
|
12399
|
+
return {
|
|
12400
|
+
name,
|
|
12401
|
+
impl: ({ ACTION, CONSUME, SUBRULE1, SUBRULE2, MANY }) => (C) => {
|
|
12402
|
+
const head2 = SUBRULE1(subRule);
|
|
12403
|
+
let tailEnd = head2;
|
|
12404
|
+
const tail = [];
|
|
12405
|
+
MANY(() => {
|
|
12406
|
+
CONSUME(SEP);
|
|
12407
|
+
tailEnd = SUBRULE2(subRule);
|
|
12408
|
+
tail.push(tailEnd);
|
|
12409
|
+
});
|
|
12410
|
+
return ACTION(() => tail.length === 0 ? head2 : C.factory.path(subType, [head2, ...tail], C.factory.sourceLocation(head2, tailEnd)));
|
|
12411
|
+
}
|
|
12412
|
+
};
|
|
12413
|
+
}
|
|
12414
|
+
var pathEltOrInverse = {
|
|
12415
|
+
name: "pathEltOrInverse",
|
|
12416
|
+
impl: ({ ACTION, CONSUME, SUBRULE1, SUBRULE2, OR }) => (C) => OR([
|
|
12417
|
+
{ ALT: () => SUBRULE1(pathElt) },
|
|
12418
|
+
{ ALT: () => {
|
|
12419
|
+
const hat2 = CONSUME(symbols_exports.hat);
|
|
12420
|
+
const item = SUBRULE2(pathElt);
|
|
12421
|
+
return ACTION(() => C.factory.path("^", [item], C.factory.sourceLocation(hat2, item)));
|
|
12422
|
+
} }
|
|
12601
12423
|
])
|
|
12602
12424
|
};
|
|
12603
|
-
var
|
|
12604
|
-
|
|
12605
|
-
|
|
12606
|
-
|
|
12607
|
-
|
|
12608
|
-
|
|
12609
|
-
|
|
12610
|
-
|
|
12611
|
-
ACTION(() => {
|
|
12612
|
-
res.push({ [varVal.value]: value });
|
|
12613
|
-
});
|
|
12614
|
-
});
|
|
12615
|
-
const close = CONSUME(symbols_exports.RCurly);
|
|
12616
|
-
return ACTION(() => C.factory.wrap(res, C.factory.sourceLocation(varVal, close)));
|
|
12425
|
+
var pathSequence = pathChainHelper("pathSequence", symbols_exports.slash, "/", pathEltOrInverse);
|
|
12426
|
+
var pathAlternative = pathChainHelper("pathAlternative", symbols_exports.pipe, "|", pathSequence);
|
|
12427
|
+
var pathElt = {
|
|
12428
|
+
name: "pathElt",
|
|
12429
|
+
impl: ({ ACTION, SUBRULE, OPTION }) => (C) => {
|
|
12430
|
+
const item = SUBRULE(pathPrimary);
|
|
12431
|
+
const modification = OPTION(() => SUBRULE(pathMod));
|
|
12432
|
+
return ACTION(() => modification === void 0 ? item : C.factory.path(modification.image, [item], C.factory.sourceLocation(item, modification)));
|
|
12617
12433
|
}
|
|
12618
12434
|
};
|
|
12619
|
-
var
|
|
12620
|
-
name: "
|
|
12621
|
-
impl: ({
|
|
12622
|
-
|
|
12623
|
-
|
|
12624
|
-
|
|
12625
|
-
|
|
12626
|
-
|
|
12627
|
-
|
|
12628
|
-
|
|
12629
|
-
|
|
12630
|
-
|
|
12631
|
-
|
|
12632
|
-
|
|
12633
|
-
|
|
12435
|
+
var pathMod = {
|
|
12436
|
+
name: "pathMod",
|
|
12437
|
+
impl: ({ CONSUME, OR }) => () => OR([
|
|
12438
|
+
{ ALT: () => CONSUME(symbols_exports.question) },
|
|
12439
|
+
{ ALT: () => CONSUME(symbols_exports.star) },
|
|
12440
|
+
{ ALT: () => CONSUME(symbols_exports.opPlus) }
|
|
12441
|
+
])
|
|
12442
|
+
};
|
|
12443
|
+
var pathPrimary = {
|
|
12444
|
+
name: "pathPrimary",
|
|
12445
|
+
impl: ({ SUBRULE, CONSUME, OR }) => () => OR([
|
|
12446
|
+
{ ALT: () => SUBRULE(iri2) },
|
|
12447
|
+
{ ALT: () => SUBRULE(verbA) },
|
|
12448
|
+
{ ALT: () => SUBRULE(pathNegatedPropertySet) },
|
|
12449
|
+
{ ALT: () => {
|
|
12450
|
+
CONSUME(symbols_exports.LParen);
|
|
12451
|
+
const resRecursive = SUBRULE(path);
|
|
12452
|
+
CONSUME(symbols_exports.RParen);
|
|
12453
|
+
return resRecursive;
|
|
12454
|
+
} }
|
|
12455
|
+
])
|
|
12456
|
+
};
|
|
12457
|
+
var pathNegatedPropertySet = {
|
|
12458
|
+
name: "pathNegatedPropertySet",
|
|
12459
|
+
impl: ({ ACTION, CONSUME, SUBRULE1, SUBRULE2, SUBRULE3, OR, MANY }) => (C) => {
|
|
12460
|
+
const exclamation2 = CONSUME(symbols_exports.exclamation);
|
|
12634
12461
|
return OR([
|
|
12635
12462
|
{ ALT: () => {
|
|
12636
|
-
const
|
|
12637
|
-
|
|
12638
|
-
MANY1(() => {
|
|
12639
|
-
CONSUME2(terminals_exports.nil);
|
|
12640
|
-
res.push({});
|
|
12641
|
-
});
|
|
12642
|
-
const close = CONSUME1(symbols_exports.RCurly);
|
|
12643
|
-
return ACTION(() => C.factory.wrap(res, C.factory.sourceLocation(nil2, close)));
|
|
12463
|
+
const noAlternative = SUBRULE1(pathOneInPropertySet);
|
|
12464
|
+
return ACTION(() => C.factory.path("!", [noAlternative], C.factory.sourceLocation(exclamation2, noAlternative)));
|
|
12644
12465
|
} },
|
|
12645
12466
|
{ ALT: () => {
|
|
12646
|
-
const open =
|
|
12647
|
-
|
|
12648
|
-
|
|
12467
|
+
const open = CONSUME(symbols_exports.LParen);
|
|
12468
|
+
const head2 = SUBRULE2(pathOneInPropertySet);
|
|
12469
|
+
const tail = [];
|
|
12470
|
+
MANY(() => {
|
|
12471
|
+
CONSUME(symbols_exports.pipe);
|
|
12472
|
+
const item = SUBRULE3(pathOneInPropertySet);
|
|
12473
|
+
tail.push(item);
|
|
12649
12474
|
});
|
|
12650
|
-
|
|
12651
|
-
|
|
12652
|
-
|
|
12653
|
-
|
|
12654
|
-
|
|
12655
|
-
|
|
12656
|
-
|
|
12657
|
-
|
|
12658
|
-
|
|
12659
|
-
|
|
12660
|
-
|
|
12661
|
-
ACTION(() => {
|
|
12662
|
-
currentRow[vars[parsedValues].value] = value;
|
|
12663
|
-
parsedValues++;
|
|
12664
|
-
});
|
|
12665
|
-
});
|
|
12666
|
-
CONSUME2(symbols_exports.RParen);
|
|
12667
|
-
ACTION(() => {
|
|
12668
|
-
res.push(currentRow);
|
|
12669
|
-
if (vars.length !== parsedValues) {
|
|
12670
|
-
throw new Error("Number of dataBlockValues does not match number of variables. Too few values.");
|
|
12671
|
-
}
|
|
12672
|
-
});
|
|
12475
|
+
const close = CONSUME(symbols_exports.RParen);
|
|
12476
|
+
return ACTION(() => {
|
|
12477
|
+
const F2 = C.factory;
|
|
12478
|
+
if (tail.length === 0) {
|
|
12479
|
+
return F2.path("!", [head2], F2.sourceLocation(exclamation2, close));
|
|
12480
|
+
}
|
|
12481
|
+
return F2.path(
|
|
12482
|
+
"!",
|
|
12483
|
+
[F2.path("|", [head2, ...tail], F2.sourceLocation(open, close))],
|
|
12484
|
+
F2.sourceLocation(exclamation2, close)
|
|
12485
|
+
);
|
|
12673
12486
|
});
|
|
12674
|
-
const close = CONSUME2(symbols_exports.RCurly);
|
|
12675
|
-
return ACTION(() => C.factory.wrap(res, C.factory.sourceLocation(open, close)));
|
|
12676
12487
|
} }
|
|
12677
12488
|
]);
|
|
12678
12489
|
}
|
|
12679
12490
|
};
|
|
12680
|
-
var
|
|
12681
|
-
name: "
|
|
12682
|
-
impl: ({
|
|
12683
|
-
{ ALT: () =>
|
|
12684
|
-
{ ALT: () =>
|
|
12685
|
-
{ ALT: () => SUBRULE(numericLiteral, void 0) },
|
|
12686
|
-
{ ALT: () => SUBRULE(booleanLiteral, void 0) },
|
|
12491
|
+
var pathOneInPropertySet = {
|
|
12492
|
+
name: "pathOneInPropertySet",
|
|
12493
|
+
impl: ({ ACTION, CONSUME, SUBRULE1, SUBRULE2, OR1, OR2 }) => (C) => OR1([
|
|
12494
|
+
{ ALT: () => SUBRULE1(iri2) },
|
|
12495
|
+
{ ALT: () => SUBRULE1(verbA) },
|
|
12687
12496
|
{ ALT: () => {
|
|
12688
|
-
CONSUME(
|
|
12689
|
-
|
|
12497
|
+
const hat2 = CONSUME(symbols_exports.hat);
|
|
12498
|
+
const item = OR2([
|
|
12499
|
+
{ ALT: () => SUBRULE2(iri2) },
|
|
12500
|
+
{ ALT: () => SUBRULE2(verbA) }
|
|
12501
|
+
]);
|
|
12502
|
+
return ACTION(() => C.factory.path("^", [item], C.factory.sourceLocation(hat2, item)));
|
|
12690
12503
|
} }
|
|
12691
12504
|
])
|
|
12692
12505
|
};
|
|
12693
|
-
var minusGraphPattern = {
|
|
12694
|
-
name: "minusGraphPattern",
|
|
12695
|
-
impl: ({ ACTION, SUBRULE, CONSUME }) => (C) => {
|
|
12696
|
-
const minus2 = CONSUME(minus);
|
|
12697
|
-
const group = SUBRULE(groupGraphPattern, void 0);
|
|
12698
|
-
return ACTION(() => C.factory.patternMinus(group.patterns, C.factory.sourceLocation(minus2, group)));
|
|
12699
|
-
},
|
|
12700
|
-
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { factory: F2 }) => {
|
|
12701
|
-
F2.printFilter(ast, () => PRINT_WORD("MINUS"));
|
|
12702
|
-
SUBRULE(groupGraphPattern, F2.patternGroup(ast.patterns, ast.loc), void 0);
|
|
12703
|
-
}
|
|
12704
|
-
};
|
|
12705
|
-
var groupOrUnionGraphPattern = {
|
|
12706
|
-
name: "groupOrUnionGraphPattern",
|
|
12707
|
-
impl: ({ ACTION, MANY, SUBRULE1, SUBRULE2, CONSUME }) => (C) => {
|
|
12708
|
-
const groups = [];
|
|
12709
|
-
const group = SUBRULE1(groupGraphPattern, void 0);
|
|
12710
|
-
groups.push(group);
|
|
12711
|
-
MANY(() => {
|
|
12712
|
-
CONSUME(union);
|
|
12713
|
-
const group2 = SUBRULE2(groupGraphPattern, void 0);
|
|
12714
|
-
groups.push(group2);
|
|
12715
|
-
});
|
|
12716
|
-
return ACTION(() => groups.length === 1 ? groups[0] : C.factory.patternUnion(
|
|
12717
|
-
groups,
|
|
12718
|
-
C.factory.sourceLocation(group, groups.at(-1))
|
|
12719
|
-
));
|
|
12720
|
-
},
|
|
12721
|
-
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { factory: F2 }) => {
|
|
12722
|
-
if (F2.isPatternUnion(ast)) {
|
|
12723
|
-
const [head2, ...tail] = ast.patterns;
|
|
12724
|
-
SUBRULE(groupGraphPattern, head2, void 0);
|
|
12725
|
-
for (const pattern of tail) {
|
|
12726
|
-
F2.printFilter(ast, () => PRINT_WORD("UNION"));
|
|
12727
|
-
SUBRULE(groupGraphPattern, pattern, void 0);
|
|
12728
|
-
}
|
|
12729
|
-
} else {
|
|
12730
|
-
SUBRULE(groupGraphPattern, ast, void 0);
|
|
12731
|
-
}
|
|
12732
|
-
}
|
|
12733
|
-
};
|
|
12734
|
-
var filter3 = {
|
|
12735
|
-
name: "filter",
|
|
12736
|
-
impl: ({ ACTION, SUBRULE, CONSUME }) => (C) => {
|
|
12737
|
-
const filterToken = CONSUME(filter2);
|
|
12738
|
-
const expression2 = SUBRULE(constraint, void 0);
|
|
12739
|
-
return ACTION(() => C.factory.patternFilter(expression2, C.factory.sourceLocation(filterToken, expression2)));
|
|
12740
|
-
},
|
|
12741
|
-
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { factory: F2 }) => {
|
|
12742
|
-
F2.printFilter(ast, () => PRINT_WORD("FILTER ("));
|
|
12743
|
-
SUBRULE(expression, ast.expression, void 0);
|
|
12744
|
-
F2.printFilter(ast, () => PRINT_WORD(")"));
|
|
12745
|
-
}
|
|
12746
|
-
};
|
|
12747
|
-
var constraint = {
|
|
12748
|
-
name: "constraint",
|
|
12749
|
-
impl: ({ SUBRULE, OR }) => () => OR([
|
|
12750
|
-
{ ALT: () => SUBRULE(brackettedExpression, void 0) },
|
|
12751
|
-
{ ALT: () => SUBRULE(builtInCall, void 0) },
|
|
12752
|
-
{ ALT: () => SUBRULE(functionCall, void 0) }
|
|
12753
|
-
])
|
|
12754
|
-
};
|
|
12755
|
-
var functionCall = {
|
|
12756
|
-
name: "functionCall",
|
|
12757
|
-
impl: ({ ACTION, SUBRULE }) => (C) => {
|
|
12758
|
-
const func = SUBRULE(iri2, void 0);
|
|
12759
|
-
const args = SUBRULE(argList, void 0);
|
|
12760
|
-
return ACTION(() => C.factory.expressionFunctionCall(
|
|
12761
|
-
func,
|
|
12762
|
-
args.val.args,
|
|
12763
|
-
args.val.distinct,
|
|
12764
|
-
C.factory.sourceLocation(func, args)
|
|
12765
|
-
));
|
|
12766
|
-
}
|
|
12767
|
-
};
|
|
12768
12506
|
|
|
12769
|
-
// ../../packages/rules-sparql-1-1/lib/
|
|
12770
|
-
function
|
|
12771
|
-
return {
|
|
12772
|
-
|
|
12773
|
-
|
|
12774
|
-
|
|
12775
|
-
|
|
12776
|
-
|
|
12777
|
-
|
|
12778
|
-
|
|
12779
|
-
|
|
12507
|
+
// ../../packages/rules-sparql-1-1/lib/grammar/tripleBlock.ts
|
|
12508
|
+
function triplesDotSeperated(triplesSameSubjectSubrule) {
|
|
12509
|
+
return ({ ACTION, AT_LEAST_ONE, SUBRULE, CONSUME, OPTION }) => (C) => {
|
|
12510
|
+
const triples = [];
|
|
12511
|
+
let parsedDot = true;
|
|
12512
|
+
let dotToken;
|
|
12513
|
+
AT_LEAST_ONE({
|
|
12514
|
+
GATE: () => parsedDot,
|
|
12515
|
+
DEF: () => {
|
|
12516
|
+
parsedDot = false;
|
|
12517
|
+
const template = SUBRULE(triplesSameSubjectSubrule);
|
|
12518
|
+
ACTION(() => {
|
|
12519
|
+
triples.push(...template);
|
|
12520
|
+
});
|
|
12521
|
+
OPTION(() => {
|
|
12522
|
+
dotToken = CONSUME(symbols_exports.dot);
|
|
12523
|
+
parsedDot = true;
|
|
12524
|
+
});
|
|
12525
|
+
}
|
|
12526
|
+
});
|
|
12527
|
+
return ACTION(() => C.factory.patternBgp(triples, C.factory.sourceLocation(...triples, dotToken)));
|
|
12780
12528
|
};
|
|
12781
12529
|
}
|
|
12782
|
-
|
|
12783
|
-
|
|
12784
|
-
|
|
12785
|
-
|
|
12786
|
-
|
|
12787
|
-
|
|
12788
|
-
|
|
12789
|
-
|
|
12790
|
-
|
|
12791
|
-
|
|
12792
|
-
|
|
12530
|
+
var triplesBlock = {
|
|
12531
|
+
name: "triplesBlock",
|
|
12532
|
+
impl: (implArgs) => (C) => triplesDotSeperated(triplesSameSubjectPath)(implArgs)(C),
|
|
12533
|
+
gImpl: ({ SUBRULE, PRINT_WORD, HANDLE_LOC }) => (ast, { factory: F2 }) => {
|
|
12534
|
+
for (const [index, triple] of ast.triples.entries()) {
|
|
12535
|
+
HANDLE_LOC(triple, () => {
|
|
12536
|
+
const nextTriple = ast.triples.at(index);
|
|
12537
|
+
if (F2.isTripleCollection(triple)) {
|
|
12538
|
+
SUBRULE(graphNodePath, triple);
|
|
12539
|
+
F2.printFilter(triple, () => PRINT_WORD("."));
|
|
12540
|
+
} else {
|
|
12541
|
+
SUBRULE(graphNodePath, triple.subject);
|
|
12542
|
+
if (F2.isTerm(triple.predicate) && F2.isTermVariable(triple.predicate)) {
|
|
12543
|
+
SUBRULE(varOrTerm, triple.predicate);
|
|
12544
|
+
} else {
|
|
12545
|
+
SUBRULE(pathGenerator, triple.predicate, void 0);
|
|
12546
|
+
}
|
|
12547
|
+
SUBRULE(graphNodePath, triple.object);
|
|
12548
|
+
if (nextTriple === void 0 || F2.isTripleCollection(nextTriple) || !F2.isSourceLocationNoMaterialize(nextTriple.subject.loc)) {
|
|
12549
|
+
F2.printFilter(ast, () => PRINT_WORD("."));
|
|
12550
|
+
} else if (F2.isSourceLocationNoMaterialize(nextTriple.predicate.loc)) {
|
|
12551
|
+
F2.printFilter(ast, () => PRINT_WORD(","));
|
|
12552
|
+
} else {
|
|
12553
|
+
F2.printFilter(ast, () => PRINT_WORD(";"));
|
|
12554
|
+
}
|
|
12555
|
+
}
|
|
12556
|
+
});
|
|
12793
12557
|
}
|
|
12794
|
-
}
|
|
12795
|
-
}
|
|
12796
|
-
function
|
|
12558
|
+
}
|
|
12559
|
+
};
|
|
12560
|
+
function triplesSameSubjectImpl(name, allowPaths) {
|
|
12797
12561
|
return {
|
|
12798
|
-
name
|
|
12799
|
-
impl: ({ ACTION,
|
|
12800
|
-
|
|
12801
|
-
|
|
12802
|
-
|
|
12803
|
-
|
|
12804
|
-
|
|
12805
|
-
|
|
12806
|
-
|
|
12807
|
-
|
|
12808
|
-
|
|
12809
|
-
|
|
12562
|
+
name,
|
|
12563
|
+
impl: ({ ACTION, SUBRULE, OR }) => (C) => OR([
|
|
12564
|
+
{ ALT: () => {
|
|
12565
|
+
const subject = SUBRULE(varOrTerm);
|
|
12566
|
+
const res = SUBRULE(
|
|
12567
|
+
allowPaths ? propertyListPathNotEmpty : propertyListNotEmpty,
|
|
12568
|
+
ACTION(() => C.factory.dematerialized(subject))
|
|
12569
|
+
);
|
|
12570
|
+
return ACTION(() => {
|
|
12571
|
+
if (res.length > 0) {
|
|
12572
|
+
res[0].subject = subject;
|
|
12573
|
+
res[0].loc = C.factory.sourceLocation(subject, res[0]);
|
|
12574
|
+
}
|
|
12575
|
+
return res;
|
|
12576
|
+
});
|
|
12577
|
+
} },
|
|
12578
|
+
{ ALT: () => {
|
|
12579
|
+
const subjectNode = SUBRULE(allowPaths ? triplesNodePath : triplesNode);
|
|
12580
|
+
const restNode = SUBRULE(
|
|
12581
|
+
allowPaths ? propertyListPath : propertyList,
|
|
12582
|
+
ACTION(() => C.factory.graphNodeIdentifier(subjectNode))
|
|
12583
|
+
);
|
|
12584
|
+
return ACTION(() => {
|
|
12585
|
+
if (restNode.length === 0) {
|
|
12586
|
+
return [subjectNode];
|
|
12587
|
+
}
|
|
12588
|
+
restNode[0].subject = subjectNode;
|
|
12589
|
+
restNode[0].loc = C.factory.sourceLocation(subjectNode, restNode[0]);
|
|
12590
|
+
return restNode;
|
|
12591
|
+
});
|
|
12592
|
+
} }
|
|
12593
|
+
])
|
|
12810
12594
|
};
|
|
12811
12595
|
}
|
|
12812
|
-
|
|
12596
|
+
var triplesSameSubject = triplesSameSubjectImpl("triplesSameSubject", false);
|
|
12597
|
+
var triplesSameSubjectPath = triplesSameSubjectImpl("triplesSameSubjectPath", true);
|
|
12598
|
+
var triplesTemplate = {
|
|
12599
|
+
name: "triplesTemplate",
|
|
12600
|
+
impl: triplesDotSeperated(triplesSameSubject)
|
|
12601
|
+
};
|
|
12602
|
+
function propertyListImpl(name, allowPaths) {
|
|
12813
12603
|
return {
|
|
12814
|
-
name
|
|
12815
|
-
impl: ({
|
|
12816
|
-
const operator = CONSUME(func);
|
|
12817
|
-
CONSUME(symbols_exports.LParen);
|
|
12818
|
-
const arg = SUBRULE(var_, void 0);
|
|
12819
|
-
const close = CONSUME(symbols_exports.RParen);
|
|
12820
|
-
return ACTION(() => C.factory.expressionOperation(operator.image, [arg], C.factory.sourceLocation(operator, close)));
|
|
12821
|
-
}
|
|
12604
|
+
name,
|
|
12605
|
+
impl: ({ SUBRULE, OPTION }) => (_, subject) => OPTION(() => SUBRULE(allowPaths ? propertyListPathNotEmpty : propertyListNotEmpty, subject)) ?? []
|
|
12822
12606
|
};
|
|
12823
12607
|
}
|
|
12824
|
-
|
|
12608
|
+
var propertyList = propertyListImpl("propertyList", false);
|
|
12609
|
+
var propertyListPath = propertyListImpl("propertyListPath", true);
|
|
12610
|
+
function propertyListNotEmptyImplementation(name, allowPaths) {
|
|
12825
12611
|
return {
|
|
12826
|
-
name
|
|
12827
|
-
impl: ({ ACTION, CONSUME,
|
|
12828
|
-
const
|
|
12829
|
-
|
|
12830
|
-
|
|
12831
|
-
|
|
12832
|
-
|
|
12833
|
-
|
|
12834
|
-
|
|
12835
|
-
|
|
12836
|
-
|
|
12837
|
-
|
|
12838
|
-
|
|
12839
|
-
|
|
12840
|
-
|
|
12612
|
+
name,
|
|
12613
|
+
impl: ({ ACTION, CONSUME, AT_LEAST_ONE, SUBRULE1, MANY2, OR1 }) => (_, subject) => {
|
|
12614
|
+
const result = [];
|
|
12615
|
+
let parsedSemi = true;
|
|
12616
|
+
AT_LEAST_ONE({
|
|
12617
|
+
GATE: () => parsedSemi,
|
|
12618
|
+
DEF: () => {
|
|
12619
|
+
parsedSemi = false;
|
|
12620
|
+
const predicate = allowPaths ? OR1([
|
|
12621
|
+
{ ALT: () => SUBRULE1(verbPath) },
|
|
12622
|
+
{ ALT: () => SUBRULE1(verbSimple) }
|
|
12623
|
+
]) : SUBRULE1(verb);
|
|
12624
|
+
const triples = SUBRULE1(
|
|
12625
|
+
allowPaths ? objectListPath : objectList,
|
|
12626
|
+
subject,
|
|
12627
|
+
predicate
|
|
12628
|
+
);
|
|
12629
|
+
MANY2(() => {
|
|
12630
|
+
CONSUME(symbols_exports.semi);
|
|
12631
|
+
parsedSemi = true;
|
|
12632
|
+
});
|
|
12633
|
+
ACTION(() => {
|
|
12634
|
+
result.push(...triples);
|
|
12635
|
+
});
|
|
12636
|
+
}
|
|
12637
|
+
});
|
|
12638
|
+
return result;
|
|
12841
12639
|
}
|
|
12842
12640
|
};
|
|
12843
12641
|
}
|
|
12844
|
-
|
|
12642
|
+
var propertyListNotEmpty = propertyListNotEmptyImplementation("propertyListNotEmpty", false);
|
|
12643
|
+
var propertyListPathNotEmpty = propertyListNotEmptyImplementation("propertyListPathNotEmpty", true);
|
|
12644
|
+
var verbPath = {
|
|
12645
|
+
name: "verbPath",
|
|
12646
|
+
impl: ({ SUBRULE }) => () => SUBRULE(path)
|
|
12647
|
+
};
|
|
12648
|
+
var verbSimple = {
|
|
12649
|
+
name: "verbSimple",
|
|
12650
|
+
impl: ({ SUBRULE }) => () => SUBRULE(var_)
|
|
12651
|
+
};
|
|
12652
|
+
function objectListImpl(name, allowPaths) {
|
|
12845
12653
|
return {
|
|
12846
|
-
name
|
|
12847
|
-
impl: ({ ACTION,
|
|
12848
|
-
const
|
|
12849
|
-
|
|
12850
|
-
|
|
12654
|
+
name,
|
|
12655
|
+
impl: ({ ACTION, SUBRULE, AT_LEAST_ONE_SEP }) => (_, subj, pred) => {
|
|
12656
|
+
const objects = [];
|
|
12657
|
+
AT_LEAST_ONE_SEP({
|
|
12658
|
+
SEP: symbols_exports.comma,
|
|
12659
|
+
DEF: () => {
|
|
12660
|
+
const objectTriple = SUBRULE(allowPaths ? objectPath : object, subj, pred);
|
|
12661
|
+
ACTION(() => {
|
|
12662
|
+
objects.push(objectTriple);
|
|
12663
|
+
});
|
|
12664
|
+
}
|
|
12665
|
+
});
|
|
12666
|
+
return objects;
|
|
12851
12667
|
}
|
|
12852
12668
|
};
|
|
12853
12669
|
}
|
|
12854
|
-
|
|
12670
|
+
var objectList = objectListImpl("objectList", false);
|
|
12671
|
+
var objectListPath = objectListImpl("objectListPath", true);
|
|
12672
|
+
function objectImpl(name, allowPaths) {
|
|
12855
12673
|
return {
|
|
12856
|
-
name
|
|
12857
|
-
impl: ({ ACTION,
|
|
12858
|
-
const
|
|
12859
|
-
|
|
12860
|
-
return ACTION(() => C.factory.expressionOperation(operator.image, args.val, C.factory.sourceLocation(operator, args)));
|
|
12674
|
+
name,
|
|
12675
|
+
impl: ({ ACTION, SUBRULE }) => (C, subject, predicate) => {
|
|
12676
|
+
const node = SUBRULE(allowPaths ? graphNodePath : graphNode);
|
|
12677
|
+
return ACTION(() => C.factory.triple(subject, predicate, node));
|
|
12861
12678
|
}
|
|
12862
12679
|
};
|
|
12863
12680
|
}
|
|
12864
|
-
|
|
12681
|
+
var object = objectImpl("object", false);
|
|
12682
|
+
var objectPath = objectImpl("objectPath", true);
|
|
12683
|
+
function collectionImpl(name, allowPaths) {
|
|
12865
12684
|
return {
|
|
12866
|
-
name
|
|
12867
|
-
impl: ({ ACTION,
|
|
12868
|
-
const
|
|
12869
|
-
CONSUME(symbols_exports.LParen);
|
|
12870
|
-
|
|
12871
|
-
|
|
12872
|
-
const arg2 = SUBRULE2(expression, void 0);
|
|
12873
|
-
const arg3 = OPTION(() => {
|
|
12874
|
-
CONSUME2(symbols_exports.comma);
|
|
12875
|
-
return SUBRULE3(expression, void 0);
|
|
12685
|
+
name,
|
|
12686
|
+
impl: ({ ACTION, AT_LEAST_ONE, SUBRULE, CONSUME }) => (C) => {
|
|
12687
|
+
const terms = [];
|
|
12688
|
+
const startToken = CONSUME(symbols_exports.LParen);
|
|
12689
|
+
AT_LEAST_ONE(() => {
|
|
12690
|
+
terms.push(SUBRULE(allowPaths ? graphNodePath : graphNode));
|
|
12876
12691
|
});
|
|
12877
|
-
const
|
|
12878
|
-
return ACTION(() =>
|
|
12879
|
-
|
|
12880
|
-
|
|
12881
|
-
|
|
12882
|
-
|
|
12692
|
+
const endToken = CONSUME(symbols_exports.RParen);
|
|
12693
|
+
return ACTION(() => {
|
|
12694
|
+
const F2 = C.factory;
|
|
12695
|
+
const triples = [];
|
|
12696
|
+
const predFirst = F2.namedNode(F2.sourceLocationNoMaterialize(), "http://www.w3.org/1999/02/22-rdf-syntax-ns#first" /* FIRST */, void 0);
|
|
12697
|
+
const predRest = F2.namedNode(F2.sourceLocationNoMaterialize(), "http://www.w3.org/1999/02/22-rdf-syntax-ns#rest" /* REST */, void 0);
|
|
12698
|
+
const predNil = F2.namedNode(F2.sourceLocationNoMaterialize(), "http://www.w3.org/1999/02/22-rdf-syntax-ns#nil" /* NIL */, void 0);
|
|
12699
|
+
const listHead = F2.blankNode(void 0, F2.sourceLocationNoMaterialize());
|
|
12700
|
+
let iterHead = listHead;
|
|
12701
|
+
for (const [index, term] of terms.entries()) {
|
|
12702
|
+
const lastInList = index === terms.length - 1;
|
|
12703
|
+
const headTriple = F2.triple(
|
|
12704
|
+
iterHead,
|
|
12705
|
+
predFirst,
|
|
12706
|
+
term
|
|
12707
|
+
);
|
|
12708
|
+
triples.push(headTriple);
|
|
12709
|
+
if (lastInList) {
|
|
12710
|
+
const nilTriple = F2.triple(iterHead, predRest, predNil);
|
|
12711
|
+
triples.push(nilTriple);
|
|
12712
|
+
} else {
|
|
12713
|
+
const tail = F2.blankNode(void 0, F2.sourceLocationNoMaterialize());
|
|
12714
|
+
const linkTriple = F2.triple(iterHead, predRest, tail);
|
|
12715
|
+
triples.push(linkTriple);
|
|
12716
|
+
iterHead = tail;
|
|
12717
|
+
}
|
|
12718
|
+
}
|
|
12719
|
+
return F2.tripleCollectionList(listHead, triples, F2.sourceLocation(startToken, endToken));
|
|
12720
|
+
});
|
|
12721
|
+
},
|
|
12722
|
+
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { factory: F2 }) => {
|
|
12723
|
+
F2.printFilter(ast, () => PRINT_WORD("("));
|
|
12724
|
+
for (const [idx, triple] of ast.triples.entries()) {
|
|
12725
|
+
if (idx % 2 === 0) {
|
|
12726
|
+
SUBRULE(allowPaths ? graphNodePath : graphNode, triple.object);
|
|
12727
|
+
}
|
|
12728
|
+
}
|
|
12729
|
+
F2.printFilter(ast, () => PRINT_WORD(")"));
|
|
12883
12730
|
}
|
|
12884
12731
|
};
|
|
12885
12732
|
}
|
|
12886
|
-
|
|
12733
|
+
var collection = collectionImpl("collection", false);
|
|
12734
|
+
var collectionPath = collectionImpl("collectionPath", true);
|
|
12735
|
+
function triplesNodeImpl(name, allowPaths) {
|
|
12887
12736
|
return {
|
|
12888
|
-
name
|
|
12889
|
-
impl: ({
|
|
12890
|
-
|
|
12891
|
-
|
|
12892
|
-
|
|
12893
|
-
|
|
12894
|
-
SUBRULE3,
|
|
12895
|
-
SUBRULE4,
|
|
12896
|
-
CONSUME1,
|
|
12897
|
-
OPTION,
|
|
12898
|
-
CONSUME2,
|
|
12899
|
-
CONSUME3
|
|
12900
|
-
}) => (C) => {
|
|
12901
|
-
const operator = CONSUME(func);
|
|
12902
|
-
CONSUME(symbols_exports.LParen);
|
|
12903
|
-
const arg1 = SUBRULE1(expression, void 0);
|
|
12904
|
-
CONSUME1(symbols_exports.comma);
|
|
12905
|
-
const arg2 = SUBRULE2(expression, void 0);
|
|
12906
|
-
CONSUME2(symbols_exports.comma);
|
|
12907
|
-
const arg3 = SUBRULE3(expression, void 0);
|
|
12908
|
-
const arg4 = OPTION(() => {
|
|
12909
|
-
CONSUME3(symbols_exports.comma);
|
|
12910
|
-
return SUBRULE4(expression, void 0);
|
|
12911
|
-
});
|
|
12912
|
-
const close = CONSUME(symbols_exports.RParen);
|
|
12913
|
-
return ACTION(() => C.factory.expressionOperation(
|
|
12914
|
-
operator.image,
|
|
12915
|
-
arg4 ? [arg1, arg2, arg3, arg4] : [arg1, arg2, arg3],
|
|
12916
|
-
C.factory.sourceLocation(operator, close)
|
|
12917
|
-
));
|
|
12918
|
-
}
|
|
12737
|
+
name,
|
|
12738
|
+
impl: ({ SUBRULE, OR }) => () => OR([
|
|
12739
|
+
{ ALT: () => SUBRULE(allowPaths ? collectionPath : collection) },
|
|
12740
|
+
{ ALT: () => SUBRULE(allowPaths ? blankNodePropertyListPath : blankNodePropertyList) }
|
|
12741
|
+
]),
|
|
12742
|
+
gImpl: ({ SUBRULE }) => (ast) => ast.subType === "list" ? SUBRULE(allowPaths ? collectionPath : collection, ast) : SUBRULE(allowPaths ? blankNodePropertyListPath : blankNodePropertyList, ast)
|
|
12919
12743
|
};
|
|
12920
12744
|
}
|
|
12921
|
-
|
|
12745
|
+
var triplesNode = triplesNodeImpl("triplesNode", false);
|
|
12746
|
+
var triplesNodePath = triplesNodeImpl("triplesNodePath", true);
|
|
12747
|
+
function blankNodePropertyListImpl(name, allowPaths) {
|
|
12748
|
+
const propertyPathNotEmptyImpl = allowPaths ? propertyListPathNotEmpty : propertyListNotEmpty;
|
|
12922
12749
|
return {
|
|
12923
|
-
name
|
|
12750
|
+
name,
|
|
12924
12751
|
impl: ({ ACTION, SUBRULE, CONSUME }) => (C) => {
|
|
12925
|
-
const
|
|
12926
|
-
const
|
|
12927
|
-
|
|
12928
|
-
|
|
12929
|
-
|
|
12930
|
-
|
|
12752
|
+
const startToken = CONSUME(symbols_exports.LSquare);
|
|
12753
|
+
const blankNode2 = ACTION(() => C.factory.blankNode(void 0, C.factory.sourceLocationNoMaterialize()));
|
|
12754
|
+
const propList = SUBRULE(propertyPathNotEmptyImpl, blankNode2);
|
|
12755
|
+
const endToken = CONSUME(symbols_exports.RSquare);
|
|
12756
|
+
return ACTION(() => C.factory.tripleCollectionBlankNodeProperties(
|
|
12757
|
+
blankNode2,
|
|
12758
|
+
propList,
|
|
12759
|
+
C.factory.sourceLocation(startToken, endToken)
|
|
12931
12760
|
));
|
|
12761
|
+
},
|
|
12762
|
+
gImpl: ({ SUBRULE, PRINT, PRINT_WORD, HANDLE_LOC }) => (ast, { factory: F2 }) => {
|
|
12763
|
+
F2.printFilter(ast, () => PRINT("["));
|
|
12764
|
+
for (const triple of ast.triples) {
|
|
12765
|
+
HANDLE_LOC(triple, () => {
|
|
12766
|
+
if (F2.isTerm(triple.predicate) && F2.isTermVariable(triple.predicate)) {
|
|
12767
|
+
SUBRULE(varOrTerm, triple.predicate);
|
|
12768
|
+
} else {
|
|
12769
|
+
SUBRULE(pathGenerator, triple.predicate, void 0);
|
|
12770
|
+
}
|
|
12771
|
+
SUBRULE(graphNodePath, triple.object);
|
|
12772
|
+
F2.printFilter(ast, () => PRINT_WORD(";"));
|
|
12773
|
+
});
|
|
12774
|
+
}
|
|
12775
|
+
F2.printFilter(ast, () => PRINT("]"));
|
|
12932
12776
|
}
|
|
12933
12777
|
};
|
|
12934
12778
|
}
|
|
12935
|
-
|
|
12779
|
+
var blankNodePropertyList = blankNodePropertyListImpl("blankNodePropertyList", false);
|
|
12780
|
+
var blankNodePropertyListPath = blankNodePropertyListImpl("blankNodePropertyListPath", true);
|
|
12781
|
+
function graphNodeImpl(name, allowPaths) {
|
|
12782
|
+
const triplesNodeRule = allowPaths ? triplesNodePath : triplesNode;
|
|
12936
12783
|
return {
|
|
12937
|
-
name
|
|
12938
|
-
impl: ({
|
|
12939
|
-
|
|
12940
|
-
|
|
12941
|
-
|
|
12942
|
-
|
|
12943
|
-
|
|
12944
|
-
|
|
12945
|
-
|
|
12946
|
-
|
|
12947
|
-
|
|
12948
|
-
|
|
12949
|
-
|
|
12950
|
-
|
|
12784
|
+
name,
|
|
12785
|
+
impl: ({ SUBRULE, OR }) => (C) => OR([
|
|
12786
|
+
{ ALT: () => SUBRULE(varOrTerm) },
|
|
12787
|
+
{
|
|
12788
|
+
GATE: () => C.parseMode.has("canCreateBlankNodes"),
|
|
12789
|
+
ALT: () => SUBRULE(triplesNodeRule)
|
|
12790
|
+
}
|
|
12791
|
+
]),
|
|
12792
|
+
gImpl: ({ SUBRULE }) => (ast, { factory: F2 }) => {
|
|
12793
|
+
if (F2.isTerm(ast)) {
|
|
12794
|
+
SUBRULE(varOrTerm, ast);
|
|
12795
|
+
} else {
|
|
12796
|
+
SUBRULE(triplesNodeRule, ast);
|
|
12797
|
+
}
|
|
12951
12798
|
}
|
|
12952
12799
|
};
|
|
12953
12800
|
}
|
|
12801
|
+
var graphNode = graphNodeImpl("graphNode", false);
|
|
12802
|
+
var graphNodePath = graphNodeImpl("graphNodePath", true);
|
|
12954
12803
|
|
|
12955
|
-
// ../../packages/rules-sparql-1-1/lib/grammar/
|
|
12956
|
-
var
|
|
12957
|
-
|
|
12958
|
-
|
|
12959
|
-
|
|
12960
|
-
|
|
12961
|
-
|
|
12962
|
-
|
|
12963
|
-
|
|
12964
|
-
|
|
12965
|
-
|
|
12966
|
-
var builtInCeil = funcExpr1(BuildinCalls_exports.ceil);
|
|
12967
|
-
var builtInFloor = funcExpr1(BuildinCalls_exports.floor);
|
|
12968
|
-
var builtInRound = funcExpr1(BuildinCalls_exports.round);
|
|
12969
|
-
var builtInConcat = funcExprList1(BuildinCalls_exports.concat);
|
|
12970
|
-
var builtInStrlen = funcExpr1(BuildinCalls_exports.strlen);
|
|
12971
|
-
var builtInUcase = funcExpr1(BuildinCalls_exports.ucase);
|
|
12972
|
-
var builtInLcase = funcExpr1(BuildinCalls_exports.lcase);
|
|
12973
|
-
var builtInEncode_for_uri = funcExpr1(BuildinCalls_exports.encode_for_uri);
|
|
12974
|
-
var builtInContains = funcExpr2(BuildinCalls_exports.contains);
|
|
12975
|
-
var builtInStrstarts = funcExpr2(BuildinCalls_exports.strstarts);
|
|
12976
|
-
var builtInStrends = funcExpr2(BuildinCalls_exports.strends);
|
|
12977
|
-
var builtInStrbefore = funcExpr2(BuildinCalls_exports.strbefore);
|
|
12978
|
-
var builtInStrafter = funcExpr2(BuildinCalls_exports.strafter);
|
|
12979
|
-
var builtInYear = funcExpr1(BuildinCalls_exports.year);
|
|
12980
|
-
var builtInMonth = funcExpr1(BuildinCalls_exports.month);
|
|
12981
|
-
var builtInDay = funcExpr1(BuildinCalls_exports.day);
|
|
12982
|
-
var builtInHours = funcExpr1(BuildinCalls_exports.hours);
|
|
12983
|
-
var builtInMinutes = funcExpr1(BuildinCalls_exports.minutes);
|
|
12984
|
-
var builtInSeconds = funcExpr1(BuildinCalls_exports.seconds);
|
|
12985
|
-
var builtInTimezone = funcExpr1(BuildinCalls_exports.timezone);
|
|
12986
|
-
var builtInTz = funcExpr1(BuildinCalls_exports.tz);
|
|
12987
|
-
var builtInNow = funcNil1(BuildinCalls_exports.now);
|
|
12988
|
-
var builtInUuid = funcNil1(BuildinCalls_exports.uuid);
|
|
12989
|
-
var builtInStruuid = funcNil1(BuildinCalls_exports.struuid);
|
|
12990
|
-
var builtInMd5 = funcExpr1(BuildinCalls_exports.md5);
|
|
12991
|
-
var builtInSha1 = funcExpr1(BuildinCalls_exports.sha1);
|
|
12992
|
-
var builtInSha256 = funcExpr1(BuildinCalls_exports.sha256);
|
|
12993
|
-
var builtInSha384 = funcExpr1(BuildinCalls_exports.sha384);
|
|
12994
|
-
var builtInSha512 = funcExpr1(BuildinCalls_exports.sha512);
|
|
12995
|
-
var builtInCoalesce = funcExprList1(BuildinCalls_exports.coalesce);
|
|
12996
|
-
var builtInIf = funcExpr3(BuildinCalls_exports.if_);
|
|
12997
|
-
var builtInStrlang = funcExpr2(BuildinCalls_exports.strlang);
|
|
12998
|
-
var builtInStrdt = funcExpr2(BuildinCalls_exports.strdt);
|
|
12999
|
-
var builtInSameterm = funcExpr2(BuildinCalls_exports.sameterm);
|
|
13000
|
-
var builtInIsiri = funcExpr1(BuildinCalls_exports.isiri);
|
|
13001
|
-
var builtInIsuri = funcExpr1(BuildinCalls_exports.isuri);
|
|
13002
|
-
var builtInIsblank = funcExpr1(BuildinCalls_exports.isblank);
|
|
13003
|
-
var builtInIsliteral = funcExpr1(BuildinCalls_exports.isliteral);
|
|
13004
|
-
var builtInIsnumeric = funcExpr1(BuildinCalls_exports.isnumeric);
|
|
13005
|
-
function builtInCallList(SUBRULE) {
|
|
13006
|
-
return [
|
|
13007
|
-
{ ALT: () => SUBRULE(aggregate, void 0) },
|
|
13008
|
-
{ ALT: () => SUBRULE(builtInStr, void 0) },
|
|
13009
|
-
{ ALT: () => SUBRULE(builtInLang, void 0) },
|
|
13010
|
-
{ ALT: () => SUBRULE(builtInLangmatches, void 0) },
|
|
13011
|
-
{ ALT: () => SUBRULE(builtInDatatype, void 0) },
|
|
13012
|
-
{ ALT: () => SUBRULE(builtInBound, void 0) },
|
|
13013
|
-
{ ALT: () => SUBRULE(builtInIri, void 0) },
|
|
13014
|
-
{ ALT: () => SUBRULE(builtInUri, void 0) },
|
|
13015
|
-
{ ALT: () => SUBRULE(builtInBnodeSparqlJs, void 0) },
|
|
13016
|
-
{ ALT: () => SUBRULE(builtInRand, void 0) },
|
|
13017
|
-
{ ALT: () => SUBRULE(builtInAbs, void 0) },
|
|
13018
|
-
{ ALT: () => SUBRULE(builtInCeil, void 0) },
|
|
13019
|
-
{ ALT: () => SUBRULE(builtInFloor, void 0) },
|
|
13020
|
-
{ ALT: () => SUBRULE(builtInRound, void 0) },
|
|
13021
|
-
{ ALT: () => SUBRULE(builtInConcat, void 0) },
|
|
13022
|
-
{ ALT: () => SUBRULE(substringExpression, void 0) },
|
|
13023
|
-
{ ALT: () => SUBRULE(builtInStrlen, void 0) },
|
|
13024
|
-
{ ALT: () => SUBRULE(strReplaceExpression, void 0) },
|
|
13025
|
-
{ ALT: () => SUBRULE(builtInUcase, void 0) },
|
|
13026
|
-
{ ALT: () => SUBRULE(builtInLcase, void 0) },
|
|
13027
|
-
{ ALT: () => SUBRULE(builtInEncode_for_uri, void 0) },
|
|
13028
|
-
{ ALT: () => SUBRULE(builtInContains, void 0) },
|
|
13029
|
-
{ ALT: () => SUBRULE(builtInStrstarts, void 0) },
|
|
13030
|
-
{ ALT: () => SUBRULE(builtInStrends, void 0) },
|
|
13031
|
-
{ ALT: () => SUBRULE(builtInStrbefore, void 0) },
|
|
13032
|
-
{ ALT: () => SUBRULE(builtInStrafter, void 0) },
|
|
13033
|
-
{ ALT: () => SUBRULE(builtInYear, void 0) },
|
|
13034
|
-
{ ALT: () => SUBRULE(builtInMonth, void 0) },
|
|
13035
|
-
{ ALT: () => SUBRULE(builtInDay, void 0) },
|
|
13036
|
-
{ ALT: () => SUBRULE(builtInHours, void 0) },
|
|
13037
|
-
{ ALT: () => SUBRULE(builtInMinutes, void 0) },
|
|
13038
|
-
{ ALT: () => SUBRULE(builtInSeconds, void 0) },
|
|
13039
|
-
{ ALT: () => SUBRULE(builtInTimezone, void 0) },
|
|
13040
|
-
{ ALT: () => SUBRULE(builtInTz, void 0) },
|
|
13041
|
-
{ ALT: () => SUBRULE(builtInNow, void 0) },
|
|
13042
|
-
{ ALT: () => SUBRULE(builtInUuid, void 0) },
|
|
13043
|
-
{ ALT: () => SUBRULE(builtInStruuid, void 0) },
|
|
13044
|
-
{ ALT: () => SUBRULE(builtInMd5, void 0) },
|
|
13045
|
-
{ ALT: () => SUBRULE(builtInSha1, void 0) },
|
|
13046
|
-
{ ALT: () => SUBRULE(builtInSha256, void 0) },
|
|
13047
|
-
{ ALT: () => SUBRULE(builtInSha384, void 0) },
|
|
13048
|
-
{ ALT: () => SUBRULE(builtInSha512, void 0) },
|
|
13049
|
-
{ ALT: () => SUBRULE(builtInCoalesce, void 0) },
|
|
13050
|
-
{ ALT: () => SUBRULE(builtInIf, void 0) },
|
|
13051
|
-
{ ALT: () => SUBRULE(builtInStrlang, void 0) },
|
|
13052
|
-
{ ALT: () => SUBRULE(builtInStrdt, void 0) },
|
|
13053
|
-
{ ALT: () => SUBRULE(builtInSameterm, void 0) },
|
|
13054
|
-
{ ALT: () => SUBRULE(builtInIsiri, void 0) },
|
|
13055
|
-
{ ALT: () => SUBRULE(builtInIsuri, void 0) },
|
|
13056
|
-
{ ALT: () => SUBRULE(builtInIsblank, void 0) },
|
|
13057
|
-
{ ALT: () => SUBRULE(builtInIsliteral, void 0) },
|
|
13058
|
-
{ ALT: () => SUBRULE(builtInIsnumeric, void 0) },
|
|
13059
|
-
{ ALT: () => SUBRULE(regexExpression, void 0) },
|
|
13060
|
-
{ ALT: () => SUBRULE(existsFunc, void 0) },
|
|
13061
|
-
{ ALT: () => SUBRULE(notExistsFunc, void 0) }
|
|
13062
|
-
];
|
|
13063
|
-
}
|
|
13064
|
-
var builtInCall = {
|
|
13065
|
-
name: "builtInCall",
|
|
13066
|
-
impl: ({ OR, SUBRULE, cache }) => () => {
|
|
13067
|
-
const cached = cache.get(builtInCall);
|
|
13068
|
-
if (cached) {
|
|
13069
|
-
return OR(cached);
|
|
13070
|
-
}
|
|
13071
|
-
const builtIns = builtInCallList(SUBRULE);
|
|
13072
|
-
cache.set(builtInCall, builtIns);
|
|
13073
|
-
return OR(builtIns);
|
|
12804
|
+
// ../../packages/rules-sparql-1-1/lib/grammar/whereClause.ts
|
|
12805
|
+
var whereClause = {
|
|
12806
|
+
name: "whereClause",
|
|
12807
|
+
impl: ({ ACTION, SUBRULE, CONSUME, OPTION }) => (C) => {
|
|
12808
|
+
const where2 = OPTION(() => CONSUME(where));
|
|
12809
|
+
const group = SUBRULE(groupGraphPattern);
|
|
12810
|
+
return ACTION(() => C.factory.wrap(group, C.factory.sourceLocation(where2, group)));
|
|
12811
|
+
},
|
|
12812
|
+
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { factory: F2 }) => {
|
|
12813
|
+
F2.printFilter(ast, () => PRINT_WORD("WHERE"));
|
|
12814
|
+
SUBRULE(groupGraphPattern, ast.val);
|
|
13074
12815
|
}
|
|
13075
12816
|
};
|
|
13076
|
-
var
|
|
13077
|
-
|
|
13078
|
-
|
|
13079
|
-
|
|
13080
|
-
|
|
13081
|
-
|
|
13082
|
-
|
|
13083
|
-
impl: ({ ACTION, CONSUME, SUBRULE, OR, OPTION }) => (C) => {
|
|
13084
|
-
const operatorToken = CONSUME(BuildinCalls_exports.count);
|
|
13085
|
-
CONSUME(symbols_exports.LParen);
|
|
13086
|
-
const distinctToken = OPTION(() => CONSUME(distinct));
|
|
13087
|
-
const expressionVal = OR([
|
|
13088
|
-
{ ALT: () => {
|
|
13089
|
-
const starToken = CONSUME(symbols_exports.star);
|
|
13090
|
-
return ACTION(() => C.factory.wildcard(C.factory.sourceLocation(starToken)));
|
|
13091
|
-
} },
|
|
13092
|
-
{ ALT: () => SUBRULE(expression, void 0) }
|
|
12817
|
+
var groupGraphPattern = {
|
|
12818
|
+
name: "groupGraphPattern",
|
|
12819
|
+
impl: ({ ACTION, SUBRULE, CONSUME, OR }) => (C) => {
|
|
12820
|
+
const open = CONSUME(symbols_exports.LCurly);
|
|
12821
|
+
const patterns = OR([
|
|
12822
|
+
{ ALT: () => [SUBRULE(subSelect)] },
|
|
12823
|
+
{ ALT: () => SUBRULE(groupGraphPatternSub) }
|
|
13093
12824
|
]);
|
|
13094
|
-
const
|
|
13095
|
-
return ACTION(() =>
|
|
13096
|
-
|
|
13097
|
-
|
|
13098
|
-
|
|
13099
|
-
|
|
13100
|
-
|
|
13101
|
-
|
|
13102
|
-
|
|
13103
|
-
|
|
13104
|
-
|
|
12825
|
+
const close = CONSUME(symbols_exports.RCurly);
|
|
12826
|
+
return ACTION(() => C.factory.patternGroup(patterns, C.factory.sourceLocation(open, close)));
|
|
12827
|
+
},
|
|
12828
|
+
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { factory: F2 }) => {
|
|
12829
|
+
F2.printFilter(ast, () => PRINT_WORD("{"));
|
|
12830
|
+
for (const pattern of ast.patterns) {
|
|
12831
|
+
SUBRULE(generatePattern, pattern);
|
|
12832
|
+
}
|
|
12833
|
+
F2.printFilter(ast, () => PRINT_WORD("}"));
|
|
12834
|
+
}
|
|
12835
|
+
};
|
|
12836
|
+
var generatePattern = {
|
|
12837
|
+
name: "generatePattern",
|
|
12838
|
+
gImpl: ({ SUBRULE }) => (ast, { factory: F2 }) => {
|
|
12839
|
+
if (ast.type === "query") {
|
|
12840
|
+
SUBRULE(query, F2.querySelect({
|
|
12841
|
+
context: [],
|
|
12842
|
+
datasets: F2.datasetClauses([], F2.sourceLocation()),
|
|
12843
|
+
where: ast.where,
|
|
12844
|
+
variables: ast.variables,
|
|
12845
|
+
solutionModifiers: ast.solutionModifiers,
|
|
12846
|
+
values: ast.values,
|
|
12847
|
+
distinct: ast.distinct,
|
|
12848
|
+
reduced: ast.reduced
|
|
12849
|
+
}, ast.loc));
|
|
12850
|
+
} else if (ast.subType === "group") {
|
|
12851
|
+
SUBRULE(groupGraphPattern, ast);
|
|
12852
|
+
} else if (ast.subType === "bgp") {
|
|
12853
|
+
SUBRULE(triplesBlock, ast);
|
|
12854
|
+
} else {
|
|
12855
|
+
SUBRULE(graphPatternNotTriples, ast);
|
|
12856
|
+
}
|
|
12857
|
+
}
|
|
12858
|
+
};
|
|
12859
|
+
var groupGraphPatternSub = {
|
|
12860
|
+
name: "groupGraphPatternSub",
|
|
12861
|
+
impl: ({ ACTION, SUBRULE, CONSUME, MANY, SUBRULE1, SUBRULE2, OPTION1, OPTION2, OPTION3 }) => () => {
|
|
12862
|
+
const patterns = [];
|
|
12863
|
+
const bgpPattern = OPTION1(() => SUBRULE1(triplesBlock));
|
|
12864
|
+
if (bgpPattern) {
|
|
12865
|
+
patterns.push(bgpPattern);
|
|
12866
|
+
}
|
|
12867
|
+
MANY(() => {
|
|
12868
|
+
const notTriples = SUBRULE(graphPatternNotTriples);
|
|
12869
|
+
patterns.push(notTriples);
|
|
12870
|
+
OPTION2(() => CONSUME(symbols_exports.dot));
|
|
12871
|
+
const moreTriples = OPTION3(() => SUBRULE2(triplesBlock));
|
|
12872
|
+
if (moreTriples) {
|
|
12873
|
+
patterns.push(moreTriples);
|
|
12874
|
+
}
|
|
12875
|
+
});
|
|
12876
|
+
ACTION(() => checkNote13(patterns));
|
|
12877
|
+
return patterns;
|
|
12878
|
+
}
|
|
12879
|
+
};
|
|
12880
|
+
var graphPatternNotTriples = {
|
|
12881
|
+
name: "graphPatternNotTriples",
|
|
12882
|
+
impl: ({ SUBRULE, OR }) => () => OR([
|
|
12883
|
+
{ ALT: () => SUBRULE(groupOrUnionGraphPattern) },
|
|
12884
|
+
{ ALT: () => SUBRULE(optionalGraphPattern) },
|
|
12885
|
+
{ ALT: () => SUBRULE(minusGraphPattern) },
|
|
12886
|
+
{ ALT: () => SUBRULE(graphGraphPattern) },
|
|
12887
|
+
{ ALT: () => SUBRULE(serviceGraphPattern) },
|
|
12888
|
+
{ ALT: () => SUBRULE(filter3) },
|
|
12889
|
+
{ ALT: () => SUBRULE(bind2) },
|
|
12890
|
+
{ ALT: () => SUBRULE(inlineData) }
|
|
12891
|
+
]),
|
|
12892
|
+
gImpl: ({ SUBRULE }) => (ast) => {
|
|
12893
|
+
switch (ast.subType) {
|
|
12894
|
+
case "group":
|
|
12895
|
+
case "union":
|
|
12896
|
+
SUBRULE(groupOrUnionGraphPattern, ast);
|
|
12897
|
+
break;
|
|
12898
|
+
case "optional":
|
|
12899
|
+
SUBRULE(optionalGraphPattern, ast);
|
|
12900
|
+
break;
|
|
12901
|
+
case "minus":
|
|
12902
|
+
SUBRULE(minusGraphPattern, ast);
|
|
12903
|
+
break;
|
|
12904
|
+
case "graph":
|
|
12905
|
+
SUBRULE(graphGraphPattern, ast);
|
|
12906
|
+
break;
|
|
12907
|
+
case "service":
|
|
12908
|
+
SUBRULE(serviceGraphPattern, ast);
|
|
12909
|
+
break;
|
|
12910
|
+
case "filter":
|
|
12911
|
+
SUBRULE(filter3, ast);
|
|
12912
|
+
break;
|
|
12913
|
+
case "bind":
|
|
12914
|
+
SUBRULE(bind2, ast);
|
|
12915
|
+
break;
|
|
12916
|
+
case "values":
|
|
12917
|
+
SUBRULE(inlineData, ast);
|
|
12918
|
+
break;
|
|
12919
|
+
}
|
|
12920
|
+
}
|
|
12921
|
+
};
|
|
12922
|
+
var optionalGraphPattern = {
|
|
12923
|
+
name: "optionalGraphPattern",
|
|
12924
|
+
impl: ({ ACTION, SUBRULE, CONSUME }) => (C) => {
|
|
12925
|
+
const optional2 = CONSUME(optional);
|
|
12926
|
+
const group = SUBRULE(groupGraphPattern);
|
|
12927
|
+
return ACTION(() => C.factory.patternOptional(group.patterns, C.factory.sourceLocation(optional2, group)));
|
|
12928
|
+
},
|
|
12929
|
+
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { factory: F2 }) => {
|
|
12930
|
+
F2.printFilter(ast, () => PRINT_WORD("OPTIONAL"));
|
|
12931
|
+
SUBRULE(groupGraphPattern, F2.patternGroup(ast.patterns, ast.loc));
|
|
12932
|
+
}
|
|
12933
|
+
};
|
|
12934
|
+
var graphGraphPattern = {
|
|
12935
|
+
name: "graphGraphPattern",
|
|
12936
|
+
impl: ({ ACTION, SUBRULE, CONSUME }) => (C) => {
|
|
12937
|
+
const graph2 = CONSUME(graph_exports.graph);
|
|
12938
|
+
const name = SUBRULE(varOrIri);
|
|
12939
|
+
const group = SUBRULE(groupGraphPattern);
|
|
12940
|
+
return ACTION(() => C.factory.patternGraph(name, group.patterns, C.factory.sourceLocation(graph2, group)));
|
|
12941
|
+
},
|
|
12942
|
+
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { factory: F2 }) => {
|
|
12943
|
+
F2.printFilter(ast, () => PRINT_WORD("GRAPH"));
|
|
12944
|
+
SUBRULE(varOrTerm, ast.name);
|
|
12945
|
+
SUBRULE(groupGraphPattern, F2.patternGroup(ast.patterns, ast.loc));
|
|
12946
|
+
}
|
|
12947
|
+
};
|
|
12948
|
+
var serviceGraphPattern = {
|
|
12949
|
+
name: "serviceGraphPattern",
|
|
12950
|
+
impl: ({ ACTION, SUBRULE1, CONSUME, OPTION }) => (C) => {
|
|
12951
|
+
const service2 = CONSUME(service);
|
|
12952
|
+
const silent2 = OPTION(() => {
|
|
12953
|
+
CONSUME(silent);
|
|
12954
|
+
return true;
|
|
12955
|
+
}) ?? false;
|
|
12956
|
+
const name = SUBRULE1(varOrIri);
|
|
12957
|
+
const group = SUBRULE1(groupGraphPattern);
|
|
12958
|
+
return ACTION(() => C.factory.patternService(name, group.patterns, silent2, C.factory.sourceLocation(service2, group)));
|
|
12959
|
+
},
|
|
12960
|
+
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { factory: F2 }) => {
|
|
12961
|
+
F2.printFilter(ast, () => {
|
|
12962
|
+
PRINT_WORD("SERVICE");
|
|
12963
|
+
if (ast.silent) {
|
|
12964
|
+
PRINT_WORD("SILENT");
|
|
13105
12965
|
}
|
|
13106
|
-
return F2.aggregate(
|
|
13107
|
-
operatorToken.image,
|
|
13108
|
-
Boolean(distinctToken),
|
|
13109
|
-
expressionVal,
|
|
13110
|
-
void 0,
|
|
13111
|
-
C.factory.sourceLocation(operatorToken, closeToken)
|
|
13112
|
-
);
|
|
13113
12966
|
});
|
|
12967
|
+
SUBRULE(varOrTerm, ast.name);
|
|
12968
|
+
SUBRULE(groupGraphPattern, F2.patternGroup(ast.patterns, ast.loc));
|
|
13114
12969
|
}
|
|
13115
12970
|
};
|
|
13116
|
-
var
|
|
13117
|
-
|
|
13118
|
-
|
|
13119
|
-
|
|
13120
|
-
var aggregateSample = baseAggregateFunc(BuildinCalls_exports.sample);
|
|
13121
|
-
var aggregateGroup_concat = {
|
|
13122
|
-
name: unCapitalize(BuildinCalls_exports.groupConcat.name),
|
|
13123
|
-
impl: ({ ACTION, CONSUME, OPTION1, SUBRULE, OPTION2 }) => (C) => {
|
|
13124
|
-
const operatorToken = CONSUME(BuildinCalls_exports.groupConcat);
|
|
12971
|
+
var bind2 = {
|
|
12972
|
+
name: "bind",
|
|
12973
|
+
impl: ({ ACTION, SUBRULE, CONSUME }) => (C) => {
|
|
12974
|
+
const bind3 = CONSUME(bind);
|
|
13125
12975
|
CONSUME(symbols_exports.LParen);
|
|
13126
|
-
const
|
|
13127
|
-
|
|
13128
|
-
const
|
|
13129
|
-
|
|
13130
|
-
|
|
13131
|
-
|
|
13132
|
-
|
|
12976
|
+
const expressionVal = SUBRULE(expression);
|
|
12977
|
+
CONSUME(as);
|
|
12978
|
+
const variable = SUBRULE(var_);
|
|
12979
|
+
const close = CONSUME(symbols_exports.RParen);
|
|
12980
|
+
return ACTION(() => C.factory.patternBind(expressionVal, variable, C.factory.sourceLocation(bind3, close)));
|
|
12981
|
+
},
|
|
12982
|
+
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { factory: F2 }) => {
|
|
12983
|
+
F2.printFilter(ast, () => PRINT_WORD("BIND", "("));
|
|
12984
|
+
SUBRULE(expression, ast.expression);
|
|
12985
|
+
F2.printFilter(ast, () => PRINT_WORD("AS"));
|
|
12986
|
+
SUBRULE(var_, ast.variable);
|
|
12987
|
+
F2.printFilter(ast, () => PRINT_WORD(")"));
|
|
12988
|
+
}
|
|
12989
|
+
};
|
|
12990
|
+
var inlineData = {
|
|
12991
|
+
name: "inlineData",
|
|
12992
|
+
impl: ({ ACTION, SUBRULE, CONSUME }) => (C) => {
|
|
12993
|
+
const values3 = CONSUME(values2);
|
|
12994
|
+
const datablock = SUBRULE(dataBlock);
|
|
12995
|
+
return ACTION(() => C.factory.patternValues(datablock.val, C.factory.sourceLocation(values3, datablock)));
|
|
12996
|
+
},
|
|
12997
|
+
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { factory: F2 }) => {
|
|
12998
|
+
const variables = Object.keys(ast.values[0]);
|
|
12999
|
+
F2.printFilter(ast, () => {
|
|
13000
|
+
PRINT_WORD("VALUES", "(");
|
|
13001
|
+
for (const variable of variables) {
|
|
13002
|
+
PRINT_WORD(`?${variable}`);
|
|
13003
|
+
}
|
|
13004
|
+
PRINT_WORD(")", "{");
|
|
13133
13005
|
});
|
|
13134
|
-
const
|
|
13135
|
-
|
|
13136
|
-
const
|
|
13137
|
-
|
|
13138
|
-
|
|
13139
|
-
|
|
13140
|
-
|
|
13141
|
-
|
|
13142
|
-
|
|
13143
|
-
);
|
|
13006
|
+
for (const mapping of ast.values) {
|
|
13007
|
+
F2.printFilter(ast, () => PRINT_WORD("("));
|
|
13008
|
+
for (const variable of variables) {
|
|
13009
|
+
if (mapping[variable] === void 0) {
|
|
13010
|
+
F2.printFilter(ast, () => PRINT_WORD("UNDEF"));
|
|
13011
|
+
} else {
|
|
13012
|
+
SUBRULE(graphNodePath, mapping[variable]);
|
|
13013
|
+
}
|
|
13014
|
+
}
|
|
13015
|
+
F2.printFilter(ast, () => PRINT_WORD(")"));
|
|
13016
|
+
}
|
|
13017
|
+
F2.printFilter(ast, () => PRINT_WORD("}"));
|
|
13018
|
+
}
|
|
13019
|
+
};
|
|
13020
|
+
var dataBlock = {
|
|
13021
|
+
name: "dataBlock",
|
|
13022
|
+
impl: ({ SUBRULE, OR }) => () => OR([
|
|
13023
|
+
{ ALT: () => SUBRULE(inlineDataOneVar) },
|
|
13024
|
+
{ ALT: () => SUBRULE(inlineDataFull) }
|
|
13025
|
+
])
|
|
13026
|
+
};
|
|
13027
|
+
var inlineDataOneVar = {
|
|
13028
|
+
name: "inlineDataOneVar",
|
|
13029
|
+
impl: ({ ACTION, SUBRULE, CONSUME, MANY }) => (C) => {
|
|
13030
|
+
const res = [];
|
|
13031
|
+
const varVal = SUBRULE(var_);
|
|
13032
|
+
CONSUME(symbols_exports.LCurly);
|
|
13033
|
+
MANY(() => {
|
|
13034
|
+
const value = SUBRULE(dataBlockValue);
|
|
13035
|
+
ACTION(() => {
|
|
13036
|
+
res.push({ [varVal.value]: value });
|
|
13037
|
+
});
|
|
13144
13038
|
});
|
|
13039
|
+
const close = CONSUME(symbols_exports.RCurly);
|
|
13040
|
+
return ACTION(() => C.factory.wrap(res, C.factory.sourceLocation(varVal, close)));
|
|
13145
13041
|
}
|
|
13146
13042
|
};
|
|
13147
|
-
var
|
|
13148
|
-
name: "
|
|
13149
|
-
impl: ({
|
|
13150
|
-
|
|
13151
|
-
|
|
13152
|
-
|
|
13153
|
-
|
|
13154
|
-
|
|
13155
|
-
|
|
13156
|
-
|
|
13157
|
-
|
|
13158
|
-
|
|
13159
|
-
|
|
13043
|
+
var inlineDataFull = {
|
|
13044
|
+
name: "inlineDataFull",
|
|
13045
|
+
impl: ({
|
|
13046
|
+
ACTION,
|
|
13047
|
+
OR,
|
|
13048
|
+
MANY1,
|
|
13049
|
+
MANY2,
|
|
13050
|
+
MANY3,
|
|
13051
|
+
MANY4,
|
|
13052
|
+
SUBRULE,
|
|
13053
|
+
CONSUME1,
|
|
13054
|
+
CONSUME2
|
|
13055
|
+
}) => (C) => {
|
|
13056
|
+
const res = [];
|
|
13057
|
+
const vars = [];
|
|
13058
|
+
return OR([
|
|
13059
|
+
{ ALT: () => {
|
|
13060
|
+
const nil2 = CONSUME1(terminals_exports.nil);
|
|
13061
|
+
CONSUME1(symbols_exports.LCurly);
|
|
13062
|
+
MANY1(() => {
|
|
13063
|
+
CONSUME2(terminals_exports.nil);
|
|
13064
|
+
res.push({});
|
|
13065
|
+
});
|
|
13066
|
+
const close = CONSUME1(symbols_exports.RCurly);
|
|
13067
|
+
return ACTION(() => C.factory.wrap(res, C.factory.sourceLocation(nil2, close)));
|
|
13068
|
+
} },
|
|
13069
|
+
{ ALT: () => {
|
|
13070
|
+
const open = CONSUME1(symbols_exports.LParen);
|
|
13071
|
+
MANY2(() => {
|
|
13072
|
+
vars.push(SUBRULE(var_));
|
|
13073
|
+
});
|
|
13074
|
+
CONSUME1(symbols_exports.RParen);
|
|
13075
|
+
CONSUME2(symbols_exports.LCurly);
|
|
13076
|
+
MANY3(() => {
|
|
13077
|
+
let parsedValues = 0;
|
|
13078
|
+
const currentRow = {};
|
|
13079
|
+
CONSUME2(symbols_exports.LParen);
|
|
13080
|
+
MANY4(() => {
|
|
13081
|
+
if (parsedValues >= vars.length) {
|
|
13082
|
+
throw new Error("Number of dataBlockValues does not match number of variables. Too much values.");
|
|
13083
|
+
}
|
|
13084
|
+
const value = SUBRULE(dataBlockValue);
|
|
13085
|
+
ACTION(() => {
|
|
13086
|
+
currentRow[vars[parsedValues].value] = value;
|
|
13087
|
+
parsedValues++;
|
|
13088
|
+
});
|
|
13089
|
+
});
|
|
13090
|
+
CONSUME2(symbols_exports.RParen);
|
|
13091
|
+
ACTION(() => {
|
|
13092
|
+
res.push(currentRow);
|
|
13093
|
+
if (vars.length !== parsedValues) {
|
|
13094
|
+
throw new Error("Number of dataBlockValues does not match number of variables. Too few values.");
|
|
13095
|
+
}
|
|
13096
|
+
});
|
|
13097
|
+
});
|
|
13098
|
+
const close = CONSUME2(symbols_exports.RCurly);
|
|
13099
|
+
return ACTION(() => C.factory.wrap(res, C.factory.sourceLocation(open, close)));
|
|
13100
|
+
} }
|
|
13160
13101
|
]);
|
|
13161
|
-
|
|
13162
|
-
|
|
13163
|
-
|
|
13164
|
-
|
|
13165
|
-
|
|
13166
|
-
|
|
13167
|
-
|
|
13168
|
-
|
|
13102
|
+
}
|
|
13103
|
+
};
|
|
13104
|
+
var dataBlockValue = {
|
|
13105
|
+
name: "dataBlockValue",
|
|
13106
|
+
impl: ({ SUBRULE, CONSUME, OR }) => () => OR([
|
|
13107
|
+
{ ALT: () => SUBRULE(iri2) },
|
|
13108
|
+
{ ALT: () => SUBRULE(rdfLiteral) },
|
|
13109
|
+
{ ALT: () => SUBRULE(numericLiteral) },
|
|
13110
|
+
{ ALT: () => SUBRULE(booleanLiteral) },
|
|
13111
|
+
{ ALT: () => {
|
|
13112
|
+
CONSUME(undef);
|
|
13113
|
+
return void 0;
|
|
13114
|
+
} }
|
|
13115
|
+
])
|
|
13116
|
+
};
|
|
13117
|
+
var minusGraphPattern = {
|
|
13118
|
+
name: "minusGraphPattern",
|
|
13119
|
+
impl: ({ ACTION, SUBRULE, CONSUME }) => (C) => {
|
|
13120
|
+
const minus2 = CONSUME(minus);
|
|
13121
|
+
const group = SUBRULE(groupGraphPattern);
|
|
13122
|
+
return ACTION(() => C.factory.patternMinus(group.patterns, C.factory.sourceLocation(minus2, group)));
|
|
13123
|
+
},
|
|
13124
|
+
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { factory: F2 }) => {
|
|
13125
|
+
F2.printFilter(ast, () => PRINT_WORD("MINUS"));
|
|
13126
|
+
SUBRULE(groupGraphPattern, F2.patternGroup(ast.patterns, ast.loc));
|
|
13127
|
+
}
|
|
13128
|
+
};
|
|
13129
|
+
var groupOrUnionGraphPattern = {
|
|
13130
|
+
name: "groupOrUnionGraphPattern",
|
|
13131
|
+
impl: ({ ACTION, MANY, SUBRULE1, SUBRULE2, CONSUME }) => (C) => {
|
|
13132
|
+
const groups = [];
|
|
13133
|
+
const group = SUBRULE1(groupGraphPattern);
|
|
13134
|
+
groups.push(group);
|
|
13135
|
+
MANY(() => {
|
|
13136
|
+
CONSUME(union);
|
|
13137
|
+
const group2 = SUBRULE2(groupGraphPattern);
|
|
13138
|
+
groups.push(group2);
|
|
13169
13139
|
});
|
|
13170
|
-
return
|
|
13140
|
+
return ACTION(() => groups.length === 1 ? groups[0] : C.factory.patternUnion(
|
|
13141
|
+
groups,
|
|
13142
|
+
C.factory.sourceLocation(group, groups.at(-1))
|
|
13143
|
+
));
|
|
13171
13144
|
},
|
|
13172
13145
|
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { factory: F2 }) => {
|
|
13173
|
-
F2.
|
|
13174
|
-
|
|
13175
|
-
|
|
13176
|
-
|
|
13146
|
+
if (F2.isPatternUnion(ast)) {
|
|
13147
|
+
const [head2, ...tail] = ast.patterns;
|
|
13148
|
+
SUBRULE(groupGraphPattern, head2);
|
|
13149
|
+
for (const pattern of tail) {
|
|
13150
|
+
F2.printFilter(ast, () => PRINT_WORD("UNION"));
|
|
13151
|
+
SUBRULE(groupGraphPattern, pattern);
|
|
13177
13152
|
}
|
|
13178
|
-
});
|
|
13179
|
-
const arg = ast.expression[0];
|
|
13180
|
-
if (F2.isWildcard(arg)) {
|
|
13181
|
-
F2.printFilter(ast, () => PRINT_WORD("*"));
|
|
13182
13153
|
} else {
|
|
13183
|
-
SUBRULE(
|
|
13184
|
-
}
|
|
13185
|
-
if (F2.isExpressionAggregateSeparator(ast)) {
|
|
13186
|
-
F2.printFilter(ast, () => PRINT_WORD(";", "SEPARATOR", "=", stringEscapedLexical(ast.separator)));
|
|
13154
|
+
SUBRULE(groupGraphPattern, ast);
|
|
13187
13155
|
}
|
|
13156
|
+
}
|
|
13157
|
+
};
|
|
13158
|
+
var filter3 = {
|
|
13159
|
+
name: "filter",
|
|
13160
|
+
impl: ({ ACTION, SUBRULE, CONSUME }) => (C) => {
|
|
13161
|
+
const filterToken = CONSUME(filter2);
|
|
13162
|
+
const expression2 = SUBRULE(constraint);
|
|
13163
|
+
return ACTION(() => C.factory.patternFilter(expression2, C.factory.sourceLocation(filterToken, expression2)));
|
|
13164
|
+
},
|
|
13165
|
+
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { factory: F2 }) => {
|
|
13166
|
+
F2.printFilter(ast, () => PRINT_WORD("FILTER ("));
|
|
13167
|
+
SUBRULE(expression, ast.expression);
|
|
13188
13168
|
F2.printFilter(ast, () => PRINT_WORD(")"));
|
|
13189
13169
|
}
|
|
13190
13170
|
};
|
|
13171
|
+
var constraint = {
|
|
13172
|
+
name: "constraint",
|
|
13173
|
+
impl: ({ SUBRULE, OR }) => () => OR([
|
|
13174
|
+
{ ALT: () => SUBRULE(brackettedExpression) },
|
|
13175
|
+
{ ALT: () => SUBRULE(builtInCall) },
|
|
13176
|
+
{ ALT: () => SUBRULE(functionCall) }
|
|
13177
|
+
])
|
|
13178
|
+
};
|
|
13179
|
+
var functionCall = {
|
|
13180
|
+
name: "functionCall",
|
|
13181
|
+
impl: ({ ACTION, SUBRULE }) => (C) => {
|
|
13182
|
+
const func = SUBRULE(iri2);
|
|
13183
|
+
const args = SUBRULE(argList);
|
|
13184
|
+
return ACTION(() => C.factory.expressionFunctionCall(
|
|
13185
|
+
func,
|
|
13186
|
+
args.val.args,
|
|
13187
|
+
args.val.distinct,
|
|
13188
|
+
C.factory.sourceLocation(func, args)
|
|
13189
|
+
));
|
|
13190
|
+
}
|
|
13191
|
+
};
|
|
13191
13192
|
|
|
13192
13193
|
// ../../packages/rules-sparql-1-1/lib/grammar/expression.ts
|
|
13193
13194
|
var argList = {
|
|
@@ -13207,7 +13208,7 @@ var argList = {
|
|
|
13207
13208
|
AT_LEAST_ONE_SEP({
|
|
13208
13209
|
SEP: symbols_exports.comma,
|
|
13209
13210
|
DEF: () => {
|
|
13210
|
-
const arg = SUBRULE1(expression
|
|
13211
|
+
const arg = SUBRULE1(expression);
|
|
13211
13212
|
args.push(arg);
|
|
13212
13213
|
}
|
|
13213
13214
|
});
|
|
@@ -13224,11 +13225,11 @@ var argList = {
|
|
|
13224
13225
|
});
|
|
13225
13226
|
const [head2, ...tail] = ast.val.args;
|
|
13226
13227
|
if (head2) {
|
|
13227
|
-
SUBRULE(expression, head2
|
|
13228
|
+
SUBRULE(expression, head2);
|
|
13228
13229
|
}
|
|
13229
13230
|
for (const expr of tail) {
|
|
13230
13231
|
F2.printFilter(ast, () => PRINT_WORD(","));
|
|
13231
|
-
SUBRULE(expression, expr
|
|
13232
|
+
SUBRULE(expression, expr);
|
|
13232
13233
|
}
|
|
13233
13234
|
F2.printFilter(ast, () => PRINT_WORD(")"));
|
|
13234
13235
|
}
|
|
@@ -13242,11 +13243,11 @@ var expressionList = {
|
|
|
13242
13243
|
} },
|
|
13243
13244
|
{ ALT: () => {
|
|
13244
13245
|
const open = CONSUME(symbols_exports.LParen);
|
|
13245
|
-
const expr1 = SUBRULE1(expression
|
|
13246
|
+
const expr1 = SUBRULE1(expression);
|
|
13246
13247
|
const args = [expr1];
|
|
13247
13248
|
MANY(() => {
|
|
13248
13249
|
CONSUME(symbols_exports.comma);
|
|
13249
|
-
const expr = SUBRULE2(expression
|
|
13250
|
+
const expr = SUBRULE2(expression);
|
|
13250
13251
|
args.push(expr);
|
|
13251
13252
|
});
|
|
13252
13253
|
const close = CONSUME(symbols_exports.RParen);
|
|
@@ -13258,15 +13259,15 @@ var infixOperators = /* @__PURE__ */ new Set(["in", "notin", "||", "&&", "=", "!
|
|
|
13258
13259
|
var prefixOperator = /* @__PURE__ */ new Set(["!", "UPLUS", "UMINUS"]);
|
|
13259
13260
|
var expression = {
|
|
13260
13261
|
name: "expression",
|
|
13261
|
-
impl: ({ SUBRULE }) => () => SUBRULE(conditionalOrExpression
|
|
13262
|
+
impl: ({ SUBRULE }) => () => SUBRULE(conditionalOrExpression),
|
|
13262
13263
|
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { factory: F2 }) => {
|
|
13263
13264
|
if (F2.isTerm(ast)) {
|
|
13264
|
-
SUBRULE(varOrTerm, ast
|
|
13265
|
+
SUBRULE(varOrTerm, ast);
|
|
13265
13266
|
} else if (F2.isExpressionOperator(ast)) {
|
|
13266
13267
|
if (infixOperators.has(ast.operator)) {
|
|
13267
13268
|
const [left, ...right] = ast.args;
|
|
13268
13269
|
F2.printFilter(ast, () => PRINT_WORD("("));
|
|
13269
|
-
SUBRULE(expression, left
|
|
13270
|
+
SUBRULE(expression, left);
|
|
13270
13271
|
F2.printFilter(ast, () => {
|
|
13271
13272
|
if (ast.operator === "notin") {
|
|
13272
13273
|
PRINT_WORD("NOT IN");
|
|
@@ -13277,35 +13278,35 @@ var expression = {
|
|
|
13277
13278
|
}
|
|
13278
13279
|
});
|
|
13279
13280
|
if (right.length === 1) {
|
|
13280
|
-
SUBRULE(expression, right[0]
|
|
13281
|
+
SUBRULE(expression, right[0]);
|
|
13281
13282
|
} else {
|
|
13282
|
-
SUBRULE(argList, F2.wrap({ args: right, distinct: false }, ast.loc)
|
|
13283
|
+
SUBRULE(argList, F2.wrap({ args: right, distinct: false }, ast.loc));
|
|
13283
13284
|
}
|
|
13284
13285
|
F2.printFilter(ast, () => PRINT_WORD(")"));
|
|
13285
13286
|
} else if (prefixOperator.has(ast.operator)) {
|
|
13286
13287
|
const [expr] = ast.args;
|
|
13287
13288
|
F2.printFilter(ast, () => PRINT_WORD(ast.operator));
|
|
13288
|
-
SUBRULE(expression, expr
|
|
13289
|
+
SUBRULE(expression, expr);
|
|
13289
13290
|
} else {
|
|
13290
13291
|
F2.printFilter(ast, () => PRINT_WORD(ast.operator, "("));
|
|
13291
13292
|
const [head2, ...tail] = ast.args;
|
|
13292
13293
|
if (head2) {
|
|
13293
|
-
SUBRULE(expression, head2
|
|
13294
|
+
SUBRULE(expression, head2);
|
|
13294
13295
|
}
|
|
13295
13296
|
for (const arg of tail) {
|
|
13296
13297
|
F2.printFilter(ast, () => PRINT_WORD(","));
|
|
13297
|
-
SUBRULE(expression, arg
|
|
13298
|
+
SUBRULE(expression, arg);
|
|
13298
13299
|
}
|
|
13299
13300
|
F2.printFilter(ast, () => PRINT_WORD(")"));
|
|
13300
13301
|
}
|
|
13301
13302
|
} else if (F2.isExpressionPatternOperation(ast)) {
|
|
13302
13303
|
const patterns = ast.args;
|
|
13303
13304
|
F2.printFilter(ast, () => PRINT_WORD(ast.operator === "exists" ? "EXISTS" : "NOT EXISTS"));
|
|
13304
|
-
SUBRULE(groupGraphPattern, patterns
|
|
13305
|
+
SUBRULE(groupGraphPattern, patterns);
|
|
13305
13306
|
} else if (F2.isExpressionFunctionCall(ast)) {
|
|
13306
|
-
SUBRULE(iriOrFunction, ast
|
|
13307
|
+
SUBRULE(iriOrFunction, ast);
|
|
13307
13308
|
} else if (F2.isExpressionAggregate(ast)) {
|
|
13308
|
-
SUBRULE(aggregate, ast
|
|
13309
|
+
SUBRULE(aggregate, ast);
|
|
13309
13310
|
}
|
|
13310
13311
|
}
|
|
13311
13312
|
};
|
|
@@ -13322,10 +13323,10 @@ function constructLeftDeep(startGenerator, restGenerator, ACTION, MANY) {
|
|
|
13322
13323
|
var conditionalOrExpression = {
|
|
13323
13324
|
name: "conditionalOrExpression",
|
|
13324
13325
|
impl: ({ ACTION, MANY, CONSUME, SUBRULE1, SUBRULE2 }) => (C) => constructLeftDeep(
|
|
13325
|
-
() => SUBRULE1(conditionalAndExpression
|
|
13326
|
+
() => SUBRULE1(conditionalAndExpression),
|
|
13326
13327
|
() => {
|
|
13327
13328
|
CONSUME(symbols_exports.logicOr);
|
|
13328
|
-
const args = SUBRULE2(conditionalAndExpression
|
|
13329
|
+
const args = SUBRULE2(conditionalAndExpression);
|
|
13329
13330
|
return (left) => ACTION(() => C.factory.expressionOperation("||", [left, args], C.factory.sourceLocation(left, args)));
|
|
13330
13331
|
},
|
|
13331
13332
|
ACTION,
|
|
@@ -13335,10 +13336,10 @@ var conditionalOrExpression = {
|
|
|
13335
13336
|
var conditionalAndExpression = {
|
|
13336
13337
|
name: "conditionalAndExpression",
|
|
13337
13338
|
impl: ({ ACTION, MANY, SUBRULE1, SUBRULE2, CONSUME }) => (C) => constructLeftDeep(
|
|
13338
|
-
() => SUBRULE1(valueLogical
|
|
13339
|
+
() => SUBRULE1(valueLogical),
|
|
13339
13340
|
() => {
|
|
13340
13341
|
CONSUME(symbols_exports.logicAnd);
|
|
13341
|
-
const arg = SUBRULE2(valueLogical
|
|
13342
|
+
const arg = SUBRULE2(valueLogical);
|
|
13342
13343
|
return (left) => ACTION(() => C.factory.expressionOperation("&&", [left, arg], C.factory.sourceLocation(left, arg)));
|
|
13343
13344
|
},
|
|
13344
13345
|
ACTION,
|
|
@@ -13347,12 +13348,12 @@ var conditionalAndExpression = {
|
|
|
13347
13348
|
};
|
|
13348
13349
|
var valueLogical = {
|
|
13349
13350
|
name: "valueLogical",
|
|
13350
|
-
impl: ({ SUBRULE }) => () => SUBRULE(relationalExpression
|
|
13351
|
+
impl: ({ SUBRULE }) => () => SUBRULE(relationalExpression)
|
|
13351
13352
|
};
|
|
13352
13353
|
var relationalExpression = {
|
|
13353
13354
|
name: "relationalExpression",
|
|
13354
13355
|
impl: ({ ACTION, CONSUME, SUBRULE1, SUBRULE2, OPTION, OR1, OR2, OR3 }) => (C) => {
|
|
13355
|
-
const args1 = SUBRULE1(numericExpression
|
|
13356
|
+
const args1 = SUBRULE1(numericExpression);
|
|
13356
13357
|
const expression2 = OPTION(() => OR1([
|
|
13357
13358
|
{ ALT: () => {
|
|
13358
13359
|
const operator = OR2([
|
|
@@ -13363,7 +13364,7 @@ var relationalExpression = {
|
|
|
13363
13364
|
{ ALT: () => CONSUME(symbols_exports.lessThanEqual) },
|
|
13364
13365
|
{ ALT: () => CONSUME(symbols_exports.greaterThanEqual) }
|
|
13365
13366
|
]);
|
|
13366
|
-
const expr = SUBRULE2(numericExpression
|
|
13367
|
+
const expr = SUBRULE2(numericExpression);
|
|
13367
13368
|
return ACTION(() => C.factory.expressionOperation(
|
|
13368
13369
|
operator.image,
|
|
13369
13370
|
[args1, expr],
|
|
@@ -13375,7 +13376,7 @@ var relationalExpression = {
|
|
|
13375
13376
|
{ ALT: () => CONSUME(in_) },
|
|
13376
13377
|
{ ALT: () => CONSUME(notIn) }
|
|
13377
13378
|
]);
|
|
13378
|
-
const args = SUBRULE1(expressionList
|
|
13379
|
+
const args = SUBRULE1(expressionList);
|
|
13379
13380
|
return ACTION(() => C.factory.expressionOperation(
|
|
13380
13381
|
operator.image,
|
|
13381
13382
|
[args1, ...args.val],
|
|
@@ -13388,25 +13389,25 @@ var relationalExpression = {
|
|
|
13388
13389
|
};
|
|
13389
13390
|
var numericExpression = {
|
|
13390
13391
|
name: "numericExpression",
|
|
13391
|
-
impl: ({ SUBRULE }) => () => SUBRULE(additiveExpression
|
|
13392
|
+
impl: ({ SUBRULE }) => () => SUBRULE(additiveExpression)
|
|
13392
13393
|
};
|
|
13393
13394
|
var additiveExpression = {
|
|
13394
13395
|
name: "additiveExpression",
|
|
13395
13396
|
impl: ({ ACTION, SUBRULE, CONSUME, SUBRULE1, SUBRULE2, MANY1, MANY2, OR1, OR2, OR3, OR4 }) => (C) => constructLeftDeep(
|
|
13396
|
-
() => SUBRULE1(multiplicativeExpression
|
|
13397
|
+
() => SUBRULE1(multiplicativeExpression),
|
|
13397
13398
|
() => OR1([
|
|
13398
13399
|
{ ALT: () => {
|
|
13399
13400
|
const operator = OR2([
|
|
13400
13401
|
{ ALT: () => CONSUME(symbols_exports.opPlus) },
|
|
13401
13402
|
{ ALT: () => CONSUME(symbols_exports.opMinus) }
|
|
13402
13403
|
]);
|
|
13403
|
-
const arg = SUBRULE2(multiplicativeExpression
|
|
13404
|
+
const arg = SUBRULE2(multiplicativeExpression);
|
|
13404
13405
|
return ACTION(() => (left) => C.factory.expressionOperation(operator.image, [left, arg], C.factory.sourceLocation(left, arg)));
|
|
13405
13406
|
} },
|
|
13406
13407
|
{ ALT: () => {
|
|
13407
13408
|
const { operator, startInt } = OR3([
|
|
13408
13409
|
{ ALT: () => {
|
|
13409
|
-
const integer2 = SUBRULE(numericLiteralPositive
|
|
13410
|
+
const integer2 = SUBRULE(numericLiteralPositive);
|
|
13410
13411
|
return ACTION(() => {
|
|
13411
13412
|
integer2.value = integer2.value.replace(/^\+/u, "");
|
|
13412
13413
|
return {
|
|
@@ -13416,7 +13417,7 @@ var additiveExpression = {
|
|
|
13416
13417
|
});
|
|
13417
13418
|
} },
|
|
13418
13419
|
{ ALT: () => {
|
|
13419
|
-
const integer2 = SUBRULE(numericLiteralNegative
|
|
13420
|
+
const integer2 = SUBRULE(numericLiteralNegative);
|
|
13420
13421
|
return ACTION(() => {
|
|
13421
13422
|
integer2.value = integer2.value.replace(/^-/u, "");
|
|
13422
13423
|
return {
|
|
@@ -13433,7 +13434,7 @@ var additiveExpression = {
|
|
|
13433
13434
|
{ ALT: () => CONSUME(symbols_exports.star) },
|
|
13434
13435
|
{ ALT: () => CONSUME(symbols_exports.slash) }
|
|
13435
13436
|
]);
|
|
13436
|
-
const innerExpr = SUBRULE1(unaryExpression
|
|
13437
|
+
const innerExpr = SUBRULE1(unaryExpression);
|
|
13437
13438
|
return ACTION(() => (leftInner) => C.factory.expressionOperation(
|
|
13438
13439
|
innerOperator.image,
|
|
13439
13440
|
[leftInner, innerExpr],
|
|
@@ -13457,13 +13458,13 @@ var additiveExpression = {
|
|
|
13457
13458
|
var multiplicativeExpression = {
|
|
13458
13459
|
name: "multiplicativeExpression",
|
|
13459
13460
|
impl: ({ ACTION, CONSUME, MANY, SUBRULE1, SUBRULE2, OR }) => (C) => constructLeftDeep(
|
|
13460
|
-
() => SUBRULE1(unaryExpression
|
|
13461
|
+
() => SUBRULE1(unaryExpression),
|
|
13461
13462
|
() => {
|
|
13462
13463
|
const operator = OR([
|
|
13463
13464
|
{ ALT: () => CONSUME(symbols_exports.star) },
|
|
13464
13465
|
{ ALT: () => CONSUME(symbols_exports.slash) }
|
|
13465
13466
|
]);
|
|
13466
|
-
const expr = SUBRULE2(unaryExpression
|
|
13467
|
+
const expr = SUBRULE2(unaryExpression);
|
|
13467
13468
|
return (left) => ({
|
|
13468
13469
|
type: "expression",
|
|
13469
13470
|
subType: "operation",
|
|
@@ -13479,14 +13480,14 @@ var multiplicativeExpression = {
|
|
|
13479
13480
|
var unaryExpression = {
|
|
13480
13481
|
name: "unaryExpression",
|
|
13481
13482
|
impl: ({ ACTION, CONSUME, SUBRULE1, SUBRULE2, OR1, OR2 }) => (C) => OR1([
|
|
13482
|
-
{ ALT: () => SUBRULE1(primaryExpression
|
|
13483
|
+
{ ALT: () => SUBRULE1(primaryExpression) },
|
|
13483
13484
|
{ ALT: () => {
|
|
13484
13485
|
const operator = OR2([
|
|
13485
13486
|
{ ALT: () => CONSUME(symbols_exports.exclamation) },
|
|
13486
13487
|
{ ALT: () => CONSUME(symbols_exports.opPlus) },
|
|
13487
13488
|
{ ALT: () => CONSUME(symbols_exports.opMinus) }
|
|
13488
13489
|
]);
|
|
13489
|
-
const expr = SUBRULE2(primaryExpression
|
|
13490
|
+
const expr = SUBRULE2(primaryExpression);
|
|
13490
13491
|
return ACTION(() => ({
|
|
13491
13492
|
type: "expression",
|
|
13492
13493
|
subType: "operation",
|
|
@@ -13500,20 +13501,20 @@ var unaryExpression = {
|
|
|
13500
13501
|
var primaryExpression = {
|
|
13501
13502
|
name: "primaryExpression",
|
|
13502
13503
|
impl: ({ SUBRULE, OR }) => () => OR([
|
|
13503
|
-
{ ALT: () => SUBRULE(brackettedExpression
|
|
13504
|
-
{ ALT: () => SUBRULE(builtInCall
|
|
13505
|
-
{ ALT: () => SUBRULE(iriOrFunction
|
|
13506
|
-
{ ALT: () => SUBRULE(rdfLiteral
|
|
13507
|
-
{ ALT: () => SUBRULE(numericLiteral
|
|
13508
|
-
{ ALT: () => SUBRULE(booleanLiteral
|
|
13509
|
-
{ ALT: () => SUBRULE(var_
|
|
13504
|
+
{ ALT: () => SUBRULE(brackettedExpression) },
|
|
13505
|
+
{ ALT: () => SUBRULE(builtInCall) },
|
|
13506
|
+
{ ALT: () => SUBRULE(iriOrFunction) },
|
|
13507
|
+
{ ALT: () => SUBRULE(rdfLiteral) },
|
|
13508
|
+
{ ALT: () => SUBRULE(numericLiteral) },
|
|
13509
|
+
{ ALT: () => SUBRULE(booleanLiteral) },
|
|
13510
|
+
{ ALT: () => SUBRULE(var_) }
|
|
13510
13511
|
])
|
|
13511
13512
|
};
|
|
13512
13513
|
var brackettedExpression = {
|
|
13513
13514
|
name: "brackettedExpression",
|
|
13514
13515
|
impl: ({ ACTION, SUBRULE, CONSUME }) => (C) => {
|
|
13515
13516
|
const open = CONSUME(symbols_exports.LParen);
|
|
13516
|
-
const expr = SUBRULE(expression
|
|
13517
|
+
const expr = SUBRULE(expression);
|
|
13517
13518
|
const close = CONSUME(symbols_exports.RParen);
|
|
13518
13519
|
return ACTION(() => {
|
|
13519
13520
|
expr.loc = C.factory.sourceLocation(open, close);
|
|
@@ -13524,9 +13525,9 @@ var brackettedExpression = {
|
|
|
13524
13525
|
var iriOrFunction = {
|
|
13525
13526
|
name: "iriOrFunction",
|
|
13526
13527
|
impl: ({ ACTION, SUBRULE, OPTION }) => (C) => {
|
|
13527
|
-
const iriVal = SUBRULE(iri2
|
|
13528
|
+
const iriVal = SUBRULE(iri2);
|
|
13528
13529
|
const functionCall2 = OPTION(() => {
|
|
13529
|
-
const args = SUBRULE(argList
|
|
13530
|
+
const args = SUBRULE(argList);
|
|
13530
13531
|
return ACTION(() => {
|
|
13531
13532
|
const distinct2 = args.val.distinct;
|
|
13532
13533
|
if (!C.parseMode.has("canParseAggregate") && distinct2) {
|
|
@@ -13546,10 +13547,10 @@ var iriOrFunction = {
|
|
|
13546
13547
|
},
|
|
13547
13548
|
gImpl: ({ SUBRULE }) => (ast, { factory: F2 }) => {
|
|
13548
13549
|
if (F2.isTermNamed(ast)) {
|
|
13549
|
-
SUBRULE(iri2, ast
|
|
13550
|
+
SUBRULE(iri2, ast);
|
|
13550
13551
|
} else {
|
|
13551
|
-
SUBRULE(iri2, ast.function
|
|
13552
|
-
SUBRULE(argList, F2.wrap({ args: ast.args, distinct: ast.distinct }, ast.loc)
|
|
13552
|
+
SUBRULE(iri2, ast.function);
|
|
13553
|
+
SUBRULE(argList, F2.wrap({ args: ast.args, distinct: ast.distinct }, ast.loc));
|
|
13553
13554
|
}
|
|
13554
13555
|
}
|
|
13555
13556
|
};
|
|
@@ -13558,10 +13559,10 @@ var iriOrFunction = {
|
|
|
13558
13559
|
var solutionModifier = {
|
|
13559
13560
|
name: "solutionModifier",
|
|
13560
13561
|
impl: ({ ACTION, SUBRULE, OPTION1, OPTION2, OPTION3, OPTION4 }) => () => {
|
|
13561
|
-
const group = OPTION1(() => SUBRULE(groupClause
|
|
13562
|
-
const having2 = OPTION2(() => SUBRULE(havingClause
|
|
13563
|
-
const order2 = OPTION3(() => SUBRULE(orderClause
|
|
13564
|
-
const limitOffset = OPTION4(() => SUBRULE(limitOffsetClauses
|
|
13562
|
+
const group = OPTION1(() => SUBRULE(groupClause));
|
|
13563
|
+
const having2 = OPTION2(() => SUBRULE(havingClause));
|
|
13564
|
+
const order2 = OPTION3(() => SUBRULE(orderClause));
|
|
13565
|
+
const limitOffset = OPTION4(() => SUBRULE(limitOffsetClauses));
|
|
13565
13566
|
return ACTION(() => ({
|
|
13566
13567
|
...limitOffset && { limitOffset },
|
|
13567
13568
|
...group && { group },
|
|
@@ -13571,16 +13572,16 @@ var solutionModifier = {
|
|
|
13571
13572
|
},
|
|
13572
13573
|
gImpl: ({ SUBRULE }) => (ast) => {
|
|
13573
13574
|
if (ast.group) {
|
|
13574
|
-
SUBRULE(groupClause, ast.group
|
|
13575
|
+
SUBRULE(groupClause, ast.group);
|
|
13575
13576
|
}
|
|
13576
13577
|
if (ast.having) {
|
|
13577
|
-
SUBRULE(havingClause, ast.having
|
|
13578
|
+
SUBRULE(havingClause, ast.having);
|
|
13578
13579
|
}
|
|
13579
13580
|
if (ast.order) {
|
|
13580
|
-
SUBRULE(orderClause, ast.order
|
|
13581
|
+
SUBRULE(orderClause, ast.order);
|
|
13581
13582
|
}
|
|
13582
13583
|
if (ast.limitOffset) {
|
|
13583
|
-
SUBRULE(limitOffsetClauses, ast.limitOffset
|
|
13584
|
+
SUBRULE(limitOffsetClauses, ast.limitOffset);
|
|
13584
13585
|
}
|
|
13585
13586
|
}
|
|
13586
13587
|
};
|
|
@@ -13591,7 +13592,7 @@ var groupClause = {
|
|
|
13591
13592
|
const start = CONSUME(groupByGroup);
|
|
13592
13593
|
CONSUME(by);
|
|
13593
13594
|
AT_LEAST_ONE(() => {
|
|
13594
|
-
groupings.push(SUBRULE1(groupCondition
|
|
13595
|
+
groupings.push(SUBRULE1(groupCondition));
|
|
13595
13596
|
});
|
|
13596
13597
|
return ACTION(() => ({
|
|
13597
13598
|
type: "solutionModifier",
|
|
@@ -13604,12 +13605,12 @@ var groupClause = {
|
|
|
13604
13605
|
F2.printFilter(ast, () => PRINT_WORDS("GROUP", "BY"));
|
|
13605
13606
|
for (const grouping of ast.groupings) {
|
|
13606
13607
|
if (F2.isExpression(grouping)) {
|
|
13607
|
-
SUBRULE(expression, grouping
|
|
13608
|
+
SUBRULE(expression, grouping);
|
|
13608
13609
|
} else {
|
|
13609
13610
|
F2.printFilter(ast, () => PRINT_WORDS("("));
|
|
13610
|
-
SUBRULE(expression, grouping.value
|
|
13611
|
+
SUBRULE(expression, grouping.value);
|
|
13611
13612
|
F2.printFilter(ast, () => PRINT_WORDS("AS"));
|
|
13612
|
-
SUBRULE(var_, grouping.variable
|
|
13613
|
+
SUBRULE(var_, grouping.variable);
|
|
13613
13614
|
F2.printFilter(ast, () => PRINT_WORDS(")"));
|
|
13614
13615
|
}
|
|
13615
13616
|
}
|
|
@@ -13618,16 +13619,16 @@ var groupClause = {
|
|
|
13618
13619
|
var groupCondition = {
|
|
13619
13620
|
name: "groupCondition",
|
|
13620
13621
|
impl: ({ ACTION, SUBRULE, CONSUME, SUBRULE1, SUBRULE2, OPTION, OR }) => (C) => OR([
|
|
13621
|
-
{ ALT: () => SUBRULE(builtInCall
|
|
13622
|
-
{ ALT: () => SUBRULE(functionCall
|
|
13623
|
-
{ ALT: () => SUBRULE2(var_
|
|
13622
|
+
{ ALT: () => SUBRULE(builtInCall) },
|
|
13623
|
+
{ ALT: () => SUBRULE(functionCall) },
|
|
13624
|
+
{ ALT: () => SUBRULE2(var_) },
|
|
13624
13625
|
{
|
|
13625
13626
|
ALT: () => {
|
|
13626
13627
|
const open = CONSUME(symbols_exports.LParen);
|
|
13627
|
-
const expressionValue = SUBRULE(expression
|
|
13628
|
+
const expressionValue = SUBRULE(expression);
|
|
13628
13629
|
const variable = OPTION(() => {
|
|
13629
13630
|
CONSUME(as);
|
|
13630
|
-
return SUBRULE1(var_
|
|
13631
|
+
return SUBRULE1(var_);
|
|
13631
13632
|
});
|
|
13632
13633
|
const close = CONSUME(symbols_exports.RParen);
|
|
13633
13634
|
return ACTION(() => {
|
|
@@ -13651,7 +13652,7 @@ var havingClause = {
|
|
|
13651
13652
|
const expressions = [];
|
|
13652
13653
|
const couldParseAgg = ACTION(() => C.parseMode.has("canParseAggregate") || !C.parseMode.add("canParseAggregate"));
|
|
13653
13654
|
AT_LEAST_ONE(() => {
|
|
13654
|
-
expressions.push(SUBRULE(havingCondition
|
|
13655
|
+
expressions.push(SUBRULE(havingCondition));
|
|
13655
13656
|
});
|
|
13656
13657
|
ACTION(() => !couldParseAgg && C.parseMode.delete("canParseAggregate"));
|
|
13657
13658
|
return ACTION(() => C.factory.solutionModifierHaving(expressions, C.factory.sourceLocation(having2, expressions.at(-1))));
|
|
@@ -13659,13 +13660,13 @@ var havingClause = {
|
|
|
13659
13660
|
gImpl: ({ PRINT_WORD, SUBRULE }) => (ast, { factory: F2 }) => {
|
|
13660
13661
|
F2.printFilter(ast, () => PRINT_WORD("HAVING"));
|
|
13661
13662
|
for (const having2 of ast.having) {
|
|
13662
|
-
SUBRULE(expression, having2
|
|
13663
|
+
SUBRULE(expression, having2);
|
|
13663
13664
|
}
|
|
13664
13665
|
}
|
|
13665
13666
|
};
|
|
13666
13667
|
var havingCondition = {
|
|
13667
13668
|
name: "havingCondition",
|
|
13668
|
-
impl: ({ SUBRULE }) => () => SUBRULE(constraint
|
|
13669
|
+
impl: ({ SUBRULE }) => () => SUBRULE(constraint)
|
|
13669
13670
|
};
|
|
13670
13671
|
var orderClause = {
|
|
13671
13672
|
name: "orderClause",
|
|
@@ -13675,7 +13676,7 @@ var orderClause = {
|
|
|
13675
13676
|
const orderings = [];
|
|
13676
13677
|
const couldParseAgg = ACTION(() => C.parseMode.has("canParseAggregate") || !C.parseMode.add("canParseAggregate"));
|
|
13677
13678
|
AT_LEAST_ONE(() => {
|
|
13678
|
-
orderings.push(SUBRULE1(orderCondition
|
|
13679
|
+
orderings.push(SUBRULE1(orderCondition));
|
|
13679
13680
|
});
|
|
13680
13681
|
ACTION(() => !couldParseAgg && C.parseMode.delete("canParseAggregate"));
|
|
13681
13682
|
return ACTION(() => C.factory.solutionModifierOrder(orderings, C.factory.sourceLocation(order2, orderings.at(-1))));
|
|
@@ -13689,7 +13690,7 @@ var orderClause = {
|
|
|
13689
13690
|
F2.printFilter(ast, () => PRINT_WORDS("ASC"));
|
|
13690
13691
|
}
|
|
13691
13692
|
F2.printFilter(ast, () => PRINT_WORDS("("));
|
|
13692
|
-
SUBRULE(expression, ordering.expression
|
|
13693
|
+
SUBRULE(expression, ordering.expression);
|
|
13693
13694
|
F2.printFilter(ast, () => PRINT_WORDS(")"));
|
|
13694
13695
|
}
|
|
13695
13696
|
}
|
|
@@ -13708,7 +13709,7 @@ var orderCondition = {
|
|
|
13708
13709
|
return [true, token];
|
|
13709
13710
|
} }
|
|
13710
13711
|
]);
|
|
13711
|
-
const expr = SUBRULE(brackettedExpression
|
|
13712
|
+
const expr = SUBRULE(brackettedExpression);
|
|
13712
13713
|
return ACTION(() => ({
|
|
13713
13714
|
expression: expr,
|
|
13714
13715
|
descending: descending[0],
|
|
@@ -13716,11 +13717,11 @@ var orderCondition = {
|
|
|
13716
13717
|
}));
|
|
13717
13718
|
} },
|
|
13718
13719
|
{ ALT: () => {
|
|
13719
|
-
const expr = SUBRULE(constraint
|
|
13720
|
+
const expr = SUBRULE(constraint);
|
|
13720
13721
|
return ACTION(() => ({ expression: expr, descending: false, loc: expr.loc }));
|
|
13721
13722
|
} },
|
|
13722
13723
|
{ ALT: () => {
|
|
13723
|
-
const expr = SUBRULE(var_
|
|
13724
|
+
const expr = SUBRULE(var_);
|
|
13724
13725
|
return ACTION(() => ({ expression: expr, descending: false, loc: expr.loc }));
|
|
13725
13726
|
} }
|
|
13726
13727
|
])
|
|
@@ -13729,8 +13730,8 @@ var limitOffsetClauses = {
|
|
|
13729
13730
|
name: "limitOffsetClauses",
|
|
13730
13731
|
impl: ({ ACTION, SUBRULE1, SUBRULE2, OPTION1, OPTION2, OR }) => (C) => OR([
|
|
13731
13732
|
{ ALT: () => {
|
|
13732
|
-
const limit2 = SUBRULE1(limitClause
|
|
13733
|
-
const offset2 = OPTION1(() => SUBRULE1(offsetClause
|
|
13733
|
+
const limit2 = SUBRULE1(limitClause);
|
|
13734
|
+
const offset2 = OPTION1(() => SUBRULE1(offsetClause));
|
|
13734
13735
|
return ACTION(() => C.factory.solutionModifierLimitOffset(
|
|
13735
13736
|
limit2.val,
|
|
13736
13737
|
offset2?.val,
|
|
@@ -13738,8 +13739,8 @@ var limitOffsetClauses = {
|
|
|
13738
13739
|
));
|
|
13739
13740
|
} },
|
|
13740
13741
|
{ ALT: () => {
|
|
13741
|
-
const offset2 = SUBRULE2(offsetClause
|
|
13742
|
-
const limit2 = OPTION2(() => SUBRULE2(limitClause
|
|
13742
|
+
const offset2 = SUBRULE2(offsetClause);
|
|
13743
|
+
const limit2 = OPTION2(() => SUBRULE2(limitClause));
|
|
13743
13744
|
return ACTION(() => C.factory.solutionModifierLimitOffset(
|
|
13744
13745
|
limit2?.val,
|
|
13745
13746
|
offset2.val,
|
|
@@ -13777,22 +13778,22 @@ var offsetClause = {
|
|
|
13777
13778
|
}
|
|
13778
13779
|
};
|
|
13779
13780
|
|
|
13780
|
-
// ../../packages/rules-sparql-1-1/lib/grammar/queryUnit
|
|
13781
|
+
// ../../packages/rules-sparql-1-1/lib/grammar/queryUnit.ts
|
|
13781
13782
|
var queryUnit = {
|
|
13782
13783
|
name: "queryUnit",
|
|
13783
|
-
impl: ({ SUBRULE }) => () => SUBRULE(query
|
|
13784
|
+
impl: ({ SUBRULE }) => () => SUBRULE(query)
|
|
13784
13785
|
};
|
|
13785
13786
|
var query = {
|
|
13786
13787
|
name: "query",
|
|
13787
13788
|
impl: ({ ACTION, SUBRULE, OR }) => (C) => {
|
|
13788
|
-
const prologueValues = SUBRULE(prologue
|
|
13789
|
+
const prologueValues = SUBRULE(prologue);
|
|
13789
13790
|
const subType = OR([
|
|
13790
|
-
{ ALT: () => SUBRULE(selectQuery
|
|
13791
|
-
{ ALT: () => SUBRULE(constructQuery
|
|
13792
|
-
{ ALT: () => SUBRULE(describeQuery
|
|
13793
|
-
{ ALT: () => SUBRULE(askQuery
|
|
13791
|
+
{ ALT: () => SUBRULE(selectQuery) },
|
|
13792
|
+
{ ALT: () => SUBRULE(constructQuery) },
|
|
13793
|
+
{ ALT: () => SUBRULE(describeQuery) },
|
|
13794
|
+
{ ALT: () => SUBRULE(askQuery) }
|
|
13794
13795
|
]);
|
|
13795
|
-
const values3 = SUBRULE(valuesClause
|
|
13796
|
+
const values3 = SUBRULE(valuesClause);
|
|
13796
13797
|
return ACTION(() => ({
|
|
13797
13798
|
context: prologueValues,
|
|
13798
13799
|
...subType,
|
|
@@ -13806,28 +13807,28 @@ var query = {
|
|
|
13806
13807
|
}));
|
|
13807
13808
|
},
|
|
13808
13809
|
gImpl: ({ SUBRULE }) => (ast, { factory: F2 }) => {
|
|
13809
|
-
SUBRULE(prologue, ast.context
|
|
13810
|
+
SUBRULE(prologue, ast.context);
|
|
13810
13811
|
if (F2.isQuerySelect(ast)) {
|
|
13811
|
-
SUBRULE(selectQuery, ast
|
|
13812
|
+
SUBRULE(selectQuery, ast);
|
|
13812
13813
|
} else if (F2.isQueryConstruct(ast)) {
|
|
13813
|
-
SUBRULE(constructQuery, ast
|
|
13814
|
+
SUBRULE(constructQuery, ast);
|
|
13814
13815
|
} else if (F2.isQueryDescribe(ast)) {
|
|
13815
|
-
SUBRULE(describeQuery, ast
|
|
13816
|
+
SUBRULE(describeQuery, ast);
|
|
13816
13817
|
} else if (F2.isQueryAsk(ast)) {
|
|
13817
|
-
SUBRULE(askQuery, ast
|
|
13818
|
+
SUBRULE(askQuery, ast);
|
|
13818
13819
|
}
|
|
13819
13820
|
if (ast.values) {
|
|
13820
|
-
SUBRULE(inlineData, ast.values
|
|
13821
|
+
SUBRULE(inlineData, ast.values);
|
|
13821
13822
|
}
|
|
13822
13823
|
}
|
|
13823
13824
|
};
|
|
13824
13825
|
var selectQuery = {
|
|
13825
13826
|
name: "selectQuery",
|
|
13826
13827
|
impl: ({ ACTION, SUBRULE }) => (C) => {
|
|
13827
|
-
const selectVal = SUBRULE(selectClause
|
|
13828
|
-
const from2 = SUBRULE(datasetClauseStar
|
|
13829
|
-
const where2 = SUBRULE(whereClause
|
|
13830
|
-
const modifiers = SUBRULE(solutionModifier
|
|
13828
|
+
const selectVal = SUBRULE(selectClause);
|
|
13829
|
+
const from2 = SUBRULE(datasetClauseStar);
|
|
13830
|
+
const where2 = SUBRULE(whereClause);
|
|
13831
|
+
const modifiers = SUBRULE(solutionModifier);
|
|
13831
13832
|
return ACTION(() => {
|
|
13832
13833
|
const ret = {
|
|
13833
13834
|
subType: "select",
|
|
@@ -13853,19 +13854,19 @@ var selectQuery = {
|
|
|
13853
13854
|
variables: ast.variables,
|
|
13854
13855
|
distinct: ast.distinct,
|
|
13855
13856
|
reduced: ast.reduced
|
|
13856
|
-
}, F2.sourceLocation(...ast.variables))
|
|
13857
|
-
SUBRULE(datasetClauseStar, ast.datasets
|
|
13858
|
-
SUBRULE(whereClause, F2.wrap(ast.where, ast.where.loc)
|
|
13859
|
-
SUBRULE(solutionModifier, ast.solutionModifiers
|
|
13857
|
+
}, F2.sourceLocation(...ast.variables)));
|
|
13858
|
+
SUBRULE(datasetClauseStar, ast.datasets);
|
|
13859
|
+
SUBRULE(whereClause, F2.wrap(ast.where, ast.where.loc));
|
|
13860
|
+
SUBRULE(solutionModifier, ast.solutionModifiers);
|
|
13860
13861
|
}
|
|
13861
13862
|
};
|
|
13862
13863
|
var subSelect = {
|
|
13863
13864
|
name: "subSelect",
|
|
13864
13865
|
impl: ({ ACTION, SUBRULE }) => (C) => {
|
|
13865
|
-
const selectVal = SUBRULE(selectClause
|
|
13866
|
-
const where2 = SUBRULE(whereClause
|
|
13867
|
-
const modifiers = SUBRULE(solutionModifier
|
|
13868
|
-
const values3 = SUBRULE(valuesClause
|
|
13866
|
+
const selectVal = SUBRULE(selectClause);
|
|
13867
|
+
const where2 = SUBRULE(whereClause);
|
|
13868
|
+
const modifiers = SUBRULE(solutionModifier);
|
|
13869
|
+
const values3 = SUBRULE(valuesClause);
|
|
13869
13870
|
return ACTION(() => C.factory.querySelect({
|
|
13870
13871
|
where: where2.val,
|
|
13871
13872
|
datasets: C.factory.datasetClauses([], C.factory.sourceLocation()),
|
|
@@ -13930,7 +13931,7 @@ var selectClause = {
|
|
|
13930
13931
|
const variables = [];
|
|
13931
13932
|
AT_LEAST_ONE(() => OR3([
|
|
13932
13933
|
{ ALT: () => {
|
|
13933
|
-
const raw = SUBRULE1(var_
|
|
13934
|
+
const raw = SUBRULE1(var_);
|
|
13934
13935
|
ACTION(() => {
|
|
13935
13936
|
if (usedVars.some((v) => v.value === raw.value)) {
|
|
13936
13937
|
throw new Error(`Variable ${raw.value} used more than once in SELECT clause`);
|
|
@@ -13942,9 +13943,9 @@ var selectClause = {
|
|
|
13942
13943
|
} },
|
|
13943
13944
|
{ ALT: () => {
|
|
13944
13945
|
const open = CONSUME(symbols_exports.LParen);
|
|
13945
|
-
const expr = SUBRULE1(expression
|
|
13946
|
+
const expr = SUBRULE1(expression);
|
|
13946
13947
|
CONSUME(as);
|
|
13947
|
-
const variable = SUBRULE2(var_
|
|
13948
|
+
const variable = SUBRULE2(var_);
|
|
13948
13949
|
const close = CONSUME(symbols_exports.RParen);
|
|
13949
13950
|
ACTION(() => {
|
|
13950
13951
|
last2 = close;
|
|
@@ -13975,12 +13976,12 @@ var selectClause = {
|
|
|
13975
13976
|
if (F2.isWildcard(variable)) {
|
|
13976
13977
|
F2.printFilter(ast, () => PRINT_WORD("*"));
|
|
13977
13978
|
} else if (F2.isTerm(variable)) {
|
|
13978
|
-
SUBRULE(var_, variable
|
|
13979
|
+
SUBRULE(var_, variable);
|
|
13979
13980
|
} else {
|
|
13980
13981
|
F2.printFilter(ast, () => PRINT_WORD("("));
|
|
13981
|
-
SUBRULE(expression, variable.expression
|
|
13982
|
+
SUBRULE(expression, variable.expression);
|
|
13982
13983
|
F2.printFilter(ast, () => PRINT_WORD("AS"));
|
|
13983
|
-
SUBRULE(var_, variable.variable
|
|
13984
|
+
SUBRULE(var_, variable.variable);
|
|
13984
13985
|
F2.printFilter(ast, () => PRINT_WORD(")"));
|
|
13985
13986
|
}
|
|
13986
13987
|
}
|
|
@@ -13992,10 +13993,10 @@ var constructQuery = {
|
|
|
13992
13993
|
const construct2 = CONSUME(construct);
|
|
13993
13994
|
return OR([
|
|
13994
13995
|
{ ALT: () => {
|
|
13995
|
-
const template = SUBRULE1(constructTemplate
|
|
13996
|
-
const from2 = SUBRULE1(datasetClauseStar
|
|
13997
|
-
const where2 = SUBRULE1(whereClause
|
|
13998
|
-
const modifiers = SUBRULE1(solutionModifier
|
|
13996
|
+
const template = SUBRULE1(constructTemplate);
|
|
13997
|
+
const from2 = SUBRULE1(datasetClauseStar);
|
|
13998
|
+
const where2 = SUBRULE1(whereClause);
|
|
13999
|
+
const modifiers = SUBRULE1(solutionModifier);
|
|
13999
14000
|
return ACTION(() => ({
|
|
14000
14001
|
subType: "construct",
|
|
14001
14002
|
template: template.val,
|
|
@@ -14013,10 +14014,10 @@ var constructQuery = {
|
|
|
14013
14014
|
}));
|
|
14014
14015
|
} },
|
|
14015
14016
|
{ ALT: () => {
|
|
14016
|
-
const from2 = SUBRULE2(datasetClauseStar
|
|
14017
|
+
const from2 = SUBRULE2(datasetClauseStar);
|
|
14017
14018
|
CONSUME(where);
|
|
14018
|
-
const template = SUBRULE2(constructTemplate
|
|
14019
|
-
const modifiers = SUBRULE2(solutionModifier
|
|
14019
|
+
const template = SUBRULE2(constructTemplate);
|
|
14020
|
+
const modifiers = SUBRULE2(solutionModifier);
|
|
14020
14021
|
return ACTION(() => ({
|
|
14021
14022
|
subType: "construct",
|
|
14022
14023
|
template: template.val,
|
|
@@ -14039,16 +14040,16 @@ var constructQuery = {
|
|
|
14039
14040
|
F2.printFilter(ast, () => PRINT_WORD("CONSTRUCT"));
|
|
14040
14041
|
if (!F2.isSourceLocationNoMaterialize(ast.where.loc)) {
|
|
14041
14042
|
F2.printFilter(ast, () => PRINT_WORD("{"));
|
|
14042
|
-
SUBRULE(triplesBlock, ast.template
|
|
14043
|
+
SUBRULE(triplesBlock, ast.template);
|
|
14043
14044
|
F2.printFilter(ast, () => PRINT_WORD("}"));
|
|
14044
14045
|
}
|
|
14045
|
-
SUBRULE(datasetClauseStar, ast.datasets
|
|
14046
|
+
SUBRULE(datasetClauseStar, ast.datasets);
|
|
14046
14047
|
if (F2.isSourceLocationNoMaterialize(ast.where.loc)) {
|
|
14047
|
-
SUBRULE(whereClause, F2.wrap(F2.patternGroup([ast.template], ast.template.loc), ast.template.loc)
|
|
14048
|
+
SUBRULE(whereClause, F2.wrap(F2.patternGroup([ast.template], ast.template.loc), ast.template.loc));
|
|
14048
14049
|
} else {
|
|
14049
|
-
SUBRULE(whereClause, F2.wrap(ast.where, ast.where.loc)
|
|
14050
|
+
SUBRULE(whereClause, F2.wrap(ast.where, ast.where.loc));
|
|
14050
14051
|
}
|
|
14051
|
-
SUBRULE(solutionModifier, ast.solutionModifiers
|
|
14052
|
+
SUBRULE(solutionModifier, ast.solutionModifiers);
|
|
14052
14053
|
}
|
|
14053
14054
|
};
|
|
14054
14055
|
var describeQuery = {
|
|
@@ -14059,7 +14060,7 @@ var describeQuery = {
|
|
|
14059
14060
|
{ ALT: () => {
|
|
14060
14061
|
const variables2 = [];
|
|
14061
14062
|
AT_LEAST_ONE(() => {
|
|
14062
|
-
variables2.push(SUBRULE1(varOrIri
|
|
14063
|
+
variables2.push(SUBRULE1(varOrIri));
|
|
14063
14064
|
});
|
|
14064
14065
|
return variables2;
|
|
14065
14066
|
} },
|
|
@@ -14068,9 +14069,9 @@ var describeQuery = {
|
|
|
14068
14069
|
return [ACTION(() => C.factory.wildcard(C.factory.sourceLocation(star2)))];
|
|
14069
14070
|
} }
|
|
14070
14071
|
]);
|
|
14071
|
-
const from2 = SUBRULE1(datasetClauseStar
|
|
14072
|
-
const where2 = OPTION(() => SUBRULE1(whereClause
|
|
14073
|
-
const modifiers = SUBRULE1(solutionModifier
|
|
14072
|
+
const from2 = SUBRULE1(datasetClauseStar);
|
|
14073
|
+
const where2 = OPTION(() => SUBRULE1(whereClause));
|
|
14074
|
+
const modifiers = SUBRULE1(solutionModifier);
|
|
14074
14075
|
return ACTION(() => ({
|
|
14075
14076
|
subType: "describe",
|
|
14076
14077
|
variables,
|
|
@@ -14095,23 +14096,23 @@ var describeQuery = {
|
|
|
14095
14096
|
F2.printFilter(ast, () => PRINT_WORD("*"));
|
|
14096
14097
|
} else {
|
|
14097
14098
|
for (const variable of ast.variables) {
|
|
14098
|
-
SUBRULE(varOrTerm, variable
|
|
14099
|
+
SUBRULE(varOrTerm, variable);
|
|
14099
14100
|
}
|
|
14100
14101
|
}
|
|
14101
|
-
SUBRULE(datasetClauseStar, ast.datasets
|
|
14102
|
+
SUBRULE(datasetClauseStar, ast.datasets);
|
|
14102
14103
|
if (ast.where) {
|
|
14103
|
-
SUBRULE(whereClause, F2.wrap(ast.where, ast.loc)
|
|
14104
|
+
SUBRULE(whereClause, F2.wrap(ast.where, ast.loc));
|
|
14104
14105
|
}
|
|
14105
|
-
SUBRULE(solutionModifier, ast.solutionModifiers
|
|
14106
|
+
SUBRULE(solutionModifier, ast.solutionModifiers);
|
|
14106
14107
|
}
|
|
14107
14108
|
};
|
|
14108
14109
|
var askQuery = {
|
|
14109
14110
|
name: "askQuery",
|
|
14110
14111
|
impl: ({ ACTION, SUBRULE, CONSUME }) => (C) => {
|
|
14111
14112
|
const ask2 = CONSUME(ask);
|
|
14112
|
-
const from2 = SUBRULE(datasetClauseStar
|
|
14113
|
-
const where2 = SUBRULE(whereClause
|
|
14114
|
-
const modifiers = SUBRULE(solutionModifier
|
|
14113
|
+
const from2 = SUBRULE(datasetClauseStar);
|
|
14114
|
+
const where2 = SUBRULE(whereClause);
|
|
14115
|
+
const modifiers = SUBRULE(solutionModifier);
|
|
14115
14116
|
return ACTION(() => ({
|
|
14116
14117
|
subType: "ask",
|
|
14117
14118
|
datasets: from2,
|
|
@@ -14130,20 +14131,20 @@ var askQuery = {
|
|
|
14130
14131
|
},
|
|
14131
14132
|
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { factory: F2 }) => {
|
|
14132
14133
|
F2.printFilter(ast, () => PRINT_WORD("ASK"));
|
|
14133
|
-
SUBRULE(datasetClauseStar, ast.datasets
|
|
14134
|
-
SUBRULE(whereClause, F2.wrap(ast.where, ast.loc)
|
|
14135
|
-
SUBRULE(solutionModifier, ast.solutionModifiers
|
|
14134
|
+
SUBRULE(datasetClauseStar, ast.datasets);
|
|
14135
|
+
SUBRULE(whereClause, F2.wrap(ast.where, ast.loc));
|
|
14136
|
+
SUBRULE(solutionModifier, ast.solutionModifiers);
|
|
14136
14137
|
}
|
|
14137
14138
|
};
|
|
14138
14139
|
var valuesClause = {
|
|
14139
14140
|
name: "valuesClause",
|
|
14140
|
-
impl: ({ OPTION, SUBRULE }) => () => OPTION(() => SUBRULE(inlineData
|
|
14141
|
+
impl: ({ OPTION, SUBRULE }) => () => OPTION(() => SUBRULE(inlineData))
|
|
14141
14142
|
};
|
|
14142
14143
|
var constructTemplate = {
|
|
14143
14144
|
name: "constructTemplate",
|
|
14144
14145
|
impl: ({ ACTION, SUBRULE1, CONSUME, OPTION }) => (C) => {
|
|
14145
14146
|
const open = CONSUME(symbols_exports.LCurly);
|
|
14146
|
-
const triples = OPTION(() => SUBRULE1(constructTriples
|
|
14147
|
+
const triples = OPTION(() => SUBRULE1(constructTriples));
|
|
14147
14148
|
const close = CONSUME(symbols_exports.RCurly);
|
|
14148
14149
|
return ACTION(() => C.factory.wrap(
|
|
14149
14150
|
triples ?? C.factory.patternBgp([], C.factory.sourceLocation()),
|
|
@@ -14156,27 +14157,27 @@ var constructTriples = {
|
|
|
14156
14157
|
impl: triplesTemplate.impl
|
|
14157
14158
|
};
|
|
14158
14159
|
|
|
14159
|
-
// ../../packages/rules-sparql-1-1/lib/grammar/updateUnit
|
|
14160
|
+
// ../../packages/rules-sparql-1-1/lib/grammar/updateUnit.ts
|
|
14160
14161
|
var updateUnit = {
|
|
14161
14162
|
name: "updateUnit",
|
|
14162
|
-
impl: ({ SUBRULE }) => () => SUBRULE(update
|
|
14163
|
+
impl: ({ SUBRULE }) => () => SUBRULE(update)
|
|
14163
14164
|
};
|
|
14164
14165
|
var update = {
|
|
14165
14166
|
name: "update",
|
|
14166
14167
|
impl: ({ ACTION, SUBRULE, SUBRULE1, SUBRULE2, CONSUME, OPTION1, MANY }) => (C) => {
|
|
14167
14168
|
const updates = [];
|
|
14168
|
-
const prologueValues = SUBRULE1(prologue
|
|
14169
|
+
const prologueValues = SUBRULE1(prologue);
|
|
14169
14170
|
updates.push({ context: prologueValues });
|
|
14170
14171
|
let parsedSemi = true;
|
|
14171
14172
|
MANY({
|
|
14172
14173
|
GATE: () => parsedSemi,
|
|
14173
14174
|
DEF: () => {
|
|
14174
14175
|
parsedSemi = false;
|
|
14175
|
-
updates.at(-1).operation = SUBRULE(update1
|
|
14176
|
+
updates.at(-1).operation = SUBRULE(update1);
|
|
14176
14177
|
OPTION1(() => {
|
|
14177
14178
|
CONSUME(symbols_exports.semi);
|
|
14178
14179
|
parsedSemi = true;
|
|
14179
|
-
const innerPrologue = SUBRULE2(prologue
|
|
14180
|
+
const innerPrologue = SUBRULE2(prologue);
|
|
14180
14181
|
updates.push({ context: innerPrologue });
|
|
14181
14182
|
});
|
|
14182
14183
|
}
|
|
@@ -14198,9 +14199,9 @@ var update = {
|
|
|
14198
14199
|
},
|
|
14199
14200
|
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { factory: F2 }) => {
|
|
14200
14201
|
for (const update2 of ast.updates) {
|
|
14201
|
-
SUBRULE(prologue, update2.context
|
|
14202
|
+
SUBRULE(prologue, update2.context);
|
|
14202
14203
|
if (update2.operation) {
|
|
14203
|
-
SUBRULE(update1, update2.operation
|
|
14204
|
+
SUBRULE(update1, update2.operation);
|
|
14204
14205
|
F2.printFilter(ast, () => PRINT_WORD(" ;\n"));
|
|
14205
14206
|
}
|
|
14206
14207
|
}
|
|
@@ -14209,52 +14210,52 @@ var update = {
|
|
|
14209
14210
|
var update1 = {
|
|
14210
14211
|
name: "update1",
|
|
14211
14212
|
impl: ({ SUBRULE, OR }) => () => OR([
|
|
14212
|
-
{ ALT: () => SUBRULE(load2
|
|
14213
|
-
{ ALT: () => SUBRULE(clear2
|
|
14214
|
-
{ ALT: () => SUBRULE(drop3
|
|
14215
|
-
{ ALT: () => SUBRULE(add2
|
|
14216
|
-
{ ALT: () => SUBRULE(move2
|
|
14217
|
-
{ ALT: () => SUBRULE(copy2
|
|
14218
|
-
{ ALT: () => SUBRULE(create2
|
|
14219
|
-
{ ALT: () => SUBRULE(insertData
|
|
14220
|
-
{ ALT: () => SUBRULE(deleteData
|
|
14221
|
-
{ ALT: () => SUBRULE(deleteWhere
|
|
14222
|
-
{ ALT: () => SUBRULE(modify
|
|
14213
|
+
{ ALT: () => SUBRULE(load2) },
|
|
14214
|
+
{ ALT: () => SUBRULE(clear2) },
|
|
14215
|
+
{ ALT: () => SUBRULE(drop3) },
|
|
14216
|
+
{ ALT: () => SUBRULE(add2) },
|
|
14217
|
+
{ ALT: () => SUBRULE(move2) },
|
|
14218
|
+
{ ALT: () => SUBRULE(copy2) },
|
|
14219
|
+
{ ALT: () => SUBRULE(create2) },
|
|
14220
|
+
{ ALT: () => SUBRULE(insertData) },
|
|
14221
|
+
{ ALT: () => SUBRULE(deleteData) },
|
|
14222
|
+
{ ALT: () => SUBRULE(deleteWhere) },
|
|
14223
|
+
{ ALT: () => SUBRULE(modify) }
|
|
14223
14224
|
]),
|
|
14224
14225
|
gImpl: ({ SUBRULE }) => (ast) => {
|
|
14225
14226
|
switch (ast.subType) {
|
|
14226
14227
|
case "load":
|
|
14227
|
-
SUBRULE(load2, ast
|
|
14228
|
+
SUBRULE(load2, ast);
|
|
14228
14229
|
break;
|
|
14229
14230
|
case "clear":
|
|
14230
|
-
SUBRULE(clear2, ast
|
|
14231
|
+
SUBRULE(clear2, ast);
|
|
14231
14232
|
break;
|
|
14232
14233
|
case "drop":
|
|
14233
|
-
SUBRULE(drop3, ast
|
|
14234
|
+
SUBRULE(drop3, ast);
|
|
14234
14235
|
break;
|
|
14235
14236
|
case "add":
|
|
14236
|
-
SUBRULE(add2, ast
|
|
14237
|
+
SUBRULE(add2, ast);
|
|
14237
14238
|
break;
|
|
14238
14239
|
case "move":
|
|
14239
|
-
SUBRULE(move2, ast
|
|
14240
|
+
SUBRULE(move2, ast);
|
|
14240
14241
|
break;
|
|
14241
14242
|
case "copy":
|
|
14242
|
-
SUBRULE(copy2, ast
|
|
14243
|
+
SUBRULE(copy2, ast);
|
|
14243
14244
|
break;
|
|
14244
14245
|
case "create":
|
|
14245
|
-
SUBRULE(create2, ast
|
|
14246
|
+
SUBRULE(create2, ast);
|
|
14246
14247
|
break;
|
|
14247
14248
|
case "insertdata":
|
|
14248
|
-
SUBRULE(insertData, ast
|
|
14249
|
+
SUBRULE(insertData, ast);
|
|
14249
14250
|
break;
|
|
14250
14251
|
case "deletedata":
|
|
14251
|
-
SUBRULE(deleteData, ast
|
|
14252
|
+
SUBRULE(deleteData, ast);
|
|
14252
14253
|
break;
|
|
14253
14254
|
case "deletewhere":
|
|
14254
|
-
SUBRULE(deleteWhere, ast
|
|
14255
|
+
SUBRULE(deleteWhere, ast);
|
|
14255
14256
|
break;
|
|
14256
14257
|
case "modify":
|
|
14257
|
-
SUBRULE(modify, ast
|
|
14258
|
+
SUBRULE(modify, ast);
|
|
14258
14259
|
break;
|
|
14259
14260
|
}
|
|
14260
14261
|
}
|
|
@@ -14264,10 +14265,10 @@ var load2 = {
|
|
|
14264
14265
|
impl: ({ ACTION, SUBRULE1, CONSUME, OPTION1, OPTION2 }) => (C) => {
|
|
14265
14266
|
const loadToken = CONSUME(load);
|
|
14266
14267
|
const silent2 = OPTION1(() => CONSUME(silent));
|
|
14267
|
-
const source = SUBRULE1(iri2
|
|
14268
|
+
const source = SUBRULE1(iri2);
|
|
14268
14269
|
const destination = OPTION2(() => {
|
|
14269
14270
|
CONSUME(loadInto);
|
|
14270
|
-
return SUBRULE1(graphRef
|
|
14271
|
+
return SUBRULE1(graphRef);
|
|
14271
14272
|
});
|
|
14272
14273
|
return ACTION(() => C.factory.updateOperationLoad(
|
|
14273
14274
|
C.factory.sourceLocation(loadToken, source, destination),
|
|
@@ -14283,10 +14284,10 @@ var load2 = {
|
|
|
14283
14284
|
PRINT_WORD("SILENT");
|
|
14284
14285
|
}
|
|
14285
14286
|
});
|
|
14286
|
-
SUBRULE(iri2, ast.source
|
|
14287
|
+
SUBRULE(iri2, ast.source);
|
|
14287
14288
|
if (ast.destination) {
|
|
14288
14289
|
F2.printFilter(ast, () => PRINT_WORD("INTO"));
|
|
14289
|
-
SUBRULE(graphRefAll, ast.destination
|
|
14290
|
+
SUBRULE(graphRefAll, ast.destination);
|
|
14290
14291
|
}
|
|
14291
14292
|
}
|
|
14292
14293
|
};
|
|
@@ -14296,7 +14297,7 @@ function clearOrDrop(operation) {
|
|
|
14296
14297
|
impl: ({ ACTION, SUBRULE1, CONSUME, OPTION }) => (C) => {
|
|
14297
14298
|
const opToken = CONSUME(operation);
|
|
14298
14299
|
const silent2 = OPTION(() => CONSUME(silent));
|
|
14299
|
-
const destination = SUBRULE1(graphRefAll
|
|
14300
|
+
const destination = SUBRULE1(graphRefAll);
|
|
14300
14301
|
return ACTION(() => C.factory.updateOperationClearDrop(
|
|
14301
14302
|
unCapitalize(operation.name),
|
|
14302
14303
|
Boolean(silent2),
|
|
@@ -14311,7 +14312,7 @@ function clearOrDrop(operation) {
|
|
|
14311
14312
|
PRINT_WORD("SILENT");
|
|
14312
14313
|
}
|
|
14313
14314
|
});
|
|
14314
|
-
SUBRULE(graphRefAll, ast.destination
|
|
14315
|
+
SUBRULE(graphRefAll, ast.destination);
|
|
14315
14316
|
}
|
|
14316
14317
|
};
|
|
14317
14318
|
}
|
|
@@ -14322,7 +14323,7 @@ var create2 = {
|
|
|
14322
14323
|
impl: ({ ACTION, SUBRULE1, CONSUME, OPTION }) => (C) => {
|
|
14323
14324
|
const createToken3 = CONSUME(create);
|
|
14324
14325
|
const silent2 = OPTION(() => CONSUME(silent));
|
|
14325
|
-
const destination = SUBRULE1(graphRef
|
|
14326
|
+
const destination = SUBRULE1(graphRef);
|
|
14326
14327
|
return ACTION(() => C.factory.updateOperationCreate(
|
|
14327
14328
|
destination,
|
|
14328
14329
|
Boolean(silent2),
|
|
@@ -14336,7 +14337,7 @@ var create2 = {
|
|
|
14336
14337
|
PRINT_WORD("SILENT");
|
|
14337
14338
|
}
|
|
14338
14339
|
});
|
|
14339
|
-
SUBRULE(graphRefAll, ast.destination
|
|
14340
|
+
SUBRULE(graphRefAll, ast.destination);
|
|
14340
14341
|
}
|
|
14341
14342
|
};
|
|
14342
14343
|
function copyMoveAddOperation(operation) {
|
|
@@ -14345,9 +14346,9 @@ function copyMoveAddOperation(operation) {
|
|
|
14345
14346
|
impl: ({ ACTION, CONSUME, SUBRULE1, SUBRULE2, OPTION }) => (C) => {
|
|
14346
14347
|
const op = CONSUME(operation);
|
|
14347
14348
|
const silent2 = OPTION(() => CONSUME(silent));
|
|
14348
|
-
const source = SUBRULE1(graphOrDefault
|
|
14349
|
+
const source = SUBRULE1(graphOrDefault);
|
|
14349
14350
|
CONSUME(to);
|
|
14350
|
-
const destination = SUBRULE2(graphOrDefault
|
|
14351
|
+
const destination = SUBRULE2(graphOrDefault);
|
|
14351
14352
|
return ACTION(() => C.factory.updateOperationAddMoveCopy(
|
|
14352
14353
|
unCapitalize(operation.name),
|
|
14353
14354
|
source,
|
|
@@ -14363,9 +14364,9 @@ function copyMoveAddOperation(operation) {
|
|
|
14363
14364
|
PRINT_WORD("SILENT");
|
|
14364
14365
|
}
|
|
14365
14366
|
});
|
|
14366
|
-
SUBRULE(graphRefAll, ast.source
|
|
14367
|
+
SUBRULE(graphRefAll, ast.source);
|
|
14367
14368
|
F2.printFilter(ast, () => PRINT_WORD("TO"));
|
|
14368
|
-
SUBRULE(graphRefAll, ast.destination
|
|
14369
|
+
SUBRULE(graphRefAll, ast.destination);
|
|
14369
14370
|
}
|
|
14370
14371
|
};
|
|
14371
14372
|
}
|
|
@@ -14376,7 +14377,7 @@ var quadPattern = {
|
|
|
14376
14377
|
name: "quadPattern",
|
|
14377
14378
|
impl: ({ ACTION, SUBRULE1, CONSUME }) => (C) => {
|
|
14378
14379
|
const open = CONSUME(symbols_exports.LCurly);
|
|
14379
|
-
const val = SUBRULE1(quads
|
|
14380
|
+
const val = SUBRULE1(quads);
|
|
14380
14381
|
const close = CONSUME(symbols_exports.RCurly);
|
|
14381
14382
|
return ACTION(() => C.factory.wrap(val.val, C.factory.sourceLocation(open, close)));
|
|
14382
14383
|
}
|
|
@@ -14386,7 +14387,7 @@ var quadData = {
|
|
|
14386
14387
|
impl: ({ ACTION, SUBRULE1, CONSUME }) => (C) => {
|
|
14387
14388
|
const open = CONSUME(symbols_exports.LCurly);
|
|
14388
14389
|
const couldParseVars = ACTION(() => C.parseMode.delete("canParseVars"));
|
|
14389
|
-
const val = SUBRULE1(quads
|
|
14390
|
+
const val = SUBRULE1(quads);
|
|
14390
14391
|
ACTION(() => couldParseVars && C.parseMode.add("canParseVars"));
|
|
14391
14392
|
const close = CONSUME(symbols_exports.RCurly);
|
|
14392
14393
|
return ACTION(() => C.factory.wrap(val.val, C.factory.sourceLocation(open, close)));
|
|
@@ -14402,7 +14403,7 @@ function insertDeleteDelWhere(name, subType, cons1, cons2, dataRule) {
|
|
|
14402
14403
|
if (name !== "insertData") {
|
|
14403
14404
|
couldCreateBlankNodes = ACTION(() => C.parseMode.delete("canCreateBlankNodes"));
|
|
14404
14405
|
}
|
|
14405
|
-
const data = SUBRULE1(dataRule
|
|
14406
|
+
const data = SUBRULE1(dataRule);
|
|
14406
14407
|
if (name !== "insertData") {
|
|
14407
14408
|
ACTION(() => couldCreateBlankNodes && C.parseMode.add("canCreateBlankNodes"));
|
|
14408
14409
|
}
|
|
@@ -14413,7 +14414,7 @@ function insertDeleteDelWhere(name, subType, cons1, cons2, dataRule) {
|
|
|
14413
14414
|
subType === "insertdata" ? "INSERT DATA" : subType === "deletedata" ? "DELETE DATA" : "DELETE WHERE",
|
|
14414
14415
|
"{"
|
|
14415
14416
|
));
|
|
14416
|
-
SUBRULE(quads, F2.wrap(ast.data, ast.loc)
|
|
14417
|
+
SUBRULE(quads, F2.wrap(ast.data, ast.loc));
|
|
14417
14418
|
F2.printFilter(ast, () => PRINT_WORD("}"));
|
|
14418
14419
|
}
|
|
14419
14420
|
};
|
|
@@ -14426,23 +14427,23 @@ var modify = {
|
|
|
14426
14427
|
impl: ({ ACTION, CONSUME, SUBRULE1, SUBRULE2, OPTION1, OPTION2, OR }) => (C) => {
|
|
14427
14428
|
const graph2 = OPTION1(() => {
|
|
14428
14429
|
const withToken = CONSUME(modifyWith);
|
|
14429
|
-
const graph3 = SUBRULE1(iri2
|
|
14430
|
+
const graph3 = SUBRULE1(iri2);
|
|
14430
14431
|
return { withToken, graph: graph3 };
|
|
14431
14432
|
});
|
|
14432
14433
|
const { insert, del } = OR([
|
|
14433
14434
|
{ ALT: () => {
|
|
14434
|
-
const del2 = SUBRULE1(deleteClause2
|
|
14435
|
-
const insert2 = OPTION2(() => SUBRULE1(insertClause2
|
|
14435
|
+
const del2 = SUBRULE1(deleteClause2);
|
|
14436
|
+
const insert2 = OPTION2(() => SUBRULE1(insertClause2));
|
|
14436
14437
|
return { del: del2, insert: insert2 };
|
|
14437
14438
|
} },
|
|
14438
14439
|
{ ALT: () => {
|
|
14439
|
-
const insert2 = SUBRULE2(insertClause2
|
|
14440
|
+
const insert2 = SUBRULE2(insertClause2);
|
|
14440
14441
|
return { insert: insert2, del: void 0 };
|
|
14441
14442
|
} }
|
|
14442
14443
|
]);
|
|
14443
|
-
const using = SUBRULE1(usingClauseStar
|
|
14444
|
+
const using = SUBRULE1(usingClauseStar);
|
|
14444
14445
|
CONSUME(where);
|
|
14445
|
-
const where2 = SUBRULE1(groupGraphPattern
|
|
14446
|
+
const where2 = SUBRULE1(groupGraphPattern);
|
|
14446
14447
|
return ACTION(() => C.factory.updateOperationModify(
|
|
14447
14448
|
C.factory.sourceLocation(graph2?.withToken, del, insert, where2),
|
|
14448
14449
|
insert?.val ?? [],
|
|
@@ -14455,21 +14456,21 @@ var modify = {
|
|
|
14455
14456
|
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { factory: F2 }) => {
|
|
14456
14457
|
if (ast.graph) {
|
|
14457
14458
|
F2.printFilter(ast, () => PRINT_WORD("WITH"));
|
|
14458
|
-
SUBRULE(iri2, ast.graph
|
|
14459
|
+
SUBRULE(iri2, ast.graph);
|
|
14459
14460
|
}
|
|
14460
14461
|
if (ast.delete.length > 0) {
|
|
14461
14462
|
F2.printFilter(ast, () => PRINT_WORD("DELETE", "{"));
|
|
14462
|
-
SUBRULE(quads, F2.wrap(ast.delete, ast.loc)
|
|
14463
|
+
SUBRULE(quads, F2.wrap(ast.delete, ast.loc));
|
|
14463
14464
|
F2.printFilter(ast, () => PRINT_WORD("}"));
|
|
14464
14465
|
}
|
|
14465
14466
|
if (ast.insert.length > 0) {
|
|
14466
14467
|
F2.printFilter(ast, () => PRINT_WORD("INSERT", "{"));
|
|
14467
|
-
SUBRULE(quads, F2.wrap(ast.insert, ast.loc)
|
|
14468
|
+
SUBRULE(quads, F2.wrap(ast.insert, ast.loc));
|
|
14468
14469
|
F2.printFilter(ast, () => PRINT_WORD("}"));
|
|
14469
14470
|
}
|
|
14470
|
-
SUBRULE(usingClauseStar, ast.from
|
|
14471
|
+
SUBRULE(usingClauseStar, ast.from);
|
|
14471
14472
|
F2.printFilter(ast, () => PRINT_WORD("WHERE"));
|
|
14472
|
-
SUBRULE(groupGraphPattern, ast.where
|
|
14473
|
+
SUBRULE(groupGraphPattern, ast.where);
|
|
14473
14474
|
}
|
|
14474
14475
|
};
|
|
14475
14476
|
var deleteClause2 = {
|
|
@@ -14477,7 +14478,7 @@ var deleteClause2 = {
|
|
|
14477
14478
|
impl: ({ ACTION, SUBRULE, CONSUME }) => (C) => {
|
|
14478
14479
|
const delToken = CONSUME(deleteClause);
|
|
14479
14480
|
const couldCreateBlankNodes = ACTION(() => C.parseMode.delete("canCreateBlankNodes"));
|
|
14480
|
-
const del = SUBRULE(quadPattern
|
|
14481
|
+
const del = SUBRULE(quadPattern);
|
|
14481
14482
|
ACTION(() => couldCreateBlankNodes && C.parseMode.add("canCreateBlankNodes"));
|
|
14482
14483
|
return ACTION(() => C.factory.wrap(del.val, C.factory.sourceLocation(delToken, del)));
|
|
14483
14484
|
}
|
|
@@ -14486,7 +14487,7 @@ var insertClause2 = {
|
|
|
14486
14487
|
name: "insertClause",
|
|
14487
14488
|
impl: ({ ACTION, SUBRULE, CONSUME }) => (C) => {
|
|
14488
14489
|
const insertToken = CONSUME(insertClause);
|
|
14489
|
-
const insert = SUBRULE(quadPattern
|
|
14490
|
+
const insert = SUBRULE(quadPattern);
|
|
14490
14491
|
return ACTION(() => C.factory.wrap(insert.val, C.factory.sourceLocation(insertToken, insert)));
|
|
14491
14492
|
}
|
|
14492
14493
|
};
|
|
@@ -14499,7 +14500,7 @@ var graphOrDefault = {
|
|
|
14499
14500
|
} },
|
|
14500
14501
|
{ ALT: () => {
|
|
14501
14502
|
const graph2 = OPTION(() => CONSUME(graph_exports.graph));
|
|
14502
|
-
const name = SUBRULE1(iri2
|
|
14503
|
+
const name = SUBRULE1(iri2);
|
|
14503
14504
|
return ACTION(() => C.factory.graphRefSpecific(name, C.factory.sourceLocation(graph2, name)));
|
|
14504
14505
|
} }
|
|
14505
14506
|
])
|
|
@@ -14508,18 +14509,18 @@ var graphRef = {
|
|
|
14508
14509
|
name: "graphRef",
|
|
14509
14510
|
impl: ({ ACTION, SUBRULE, CONSUME }) => (C) => {
|
|
14510
14511
|
const graph2 = CONSUME(graph_exports.graph);
|
|
14511
|
-
const val = SUBRULE(iri2
|
|
14512
|
+
const val = SUBRULE(iri2);
|
|
14512
14513
|
return ACTION(() => C.factory.graphRefSpecific(val, C.factory.sourceLocation(graph2, val)));
|
|
14513
14514
|
},
|
|
14514
14515
|
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { factory: F2 }) => {
|
|
14515
14516
|
F2.printFilter(ast, () => PRINT_WORD("GRAPH"));
|
|
14516
|
-
SUBRULE(iri2, ast.graph
|
|
14517
|
+
SUBRULE(iri2, ast.graph);
|
|
14517
14518
|
}
|
|
14518
14519
|
};
|
|
14519
14520
|
var graphRefAll = {
|
|
14520
14521
|
name: "graphRefAll",
|
|
14521
14522
|
impl: ({ ACTION, SUBRULE, CONSUME, OR }) => (C) => OR([
|
|
14522
|
-
{ ALT: () => SUBRULE(graphRef
|
|
14523
|
+
{ ALT: () => SUBRULE(graphRef) },
|
|
14523
14524
|
{ ALT: () => {
|
|
14524
14525
|
const def = CONSUME(graph_exports.default_);
|
|
14525
14526
|
return ACTION(() => C.factory.graphRefDefault(C.factory.sourceLocation(def)));
|
|
@@ -14535,7 +14536,7 @@ var graphRefAll = {
|
|
|
14535
14536
|
]),
|
|
14536
14537
|
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { factory: F2 }) => {
|
|
14537
14538
|
if (F2.isGraphRefSpecific(ast)) {
|
|
14538
|
-
SUBRULE(graphRef, ast
|
|
14539
|
+
SUBRULE(graphRef, ast);
|
|
14539
14540
|
} else if (F2.isGraphRefDefault(ast)) {
|
|
14540
14541
|
F2.printFilter(ast, () => PRINT_WORD("DEFAULT"));
|
|
14541
14542
|
} else if (F2.isGraphRefNamed(ast)) {
|
|
@@ -14551,12 +14552,12 @@ var quads = {
|
|
|
14551
14552
|
const quads2 = [];
|
|
14552
14553
|
let last2;
|
|
14553
14554
|
OPTION1(() => {
|
|
14554
|
-
const triples = SUBRULE1(triplesTemplate
|
|
14555
|
+
const triples = SUBRULE1(triplesTemplate);
|
|
14555
14556
|
last2 = triples;
|
|
14556
14557
|
ACTION(() => quads2.push(triples));
|
|
14557
14558
|
});
|
|
14558
14559
|
MANY(() => {
|
|
14559
|
-
const notTriples = SUBRULE(quadsNotTriples
|
|
14560
|
+
const notTriples = SUBRULE(quadsNotTriples);
|
|
14560
14561
|
last2 = notTriples;
|
|
14561
14562
|
quads2.push(notTriples);
|
|
14562
14563
|
OPTION2(() => {
|
|
@@ -14565,7 +14566,7 @@ var quads = {
|
|
|
14565
14566
|
return dotToken;
|
|
14566
14567
|
});
|
|
14567
14568
|
OPTION3(() => {
|
|
14568
|
-
const triples = SUBRULE2(triplesTemplate
|
|
14569
|
+
const triples = SUBRULE2(triplesTemplate);
|
|
14569
14570
|
last2 = triples;
|
|
14570
14571
|
ACTION(() => quads2.push(triples));
|
|
14571
14572
|
});
|
|
@@ -14575,9 +14576,9 @@ var quads = {
|
|
|
14575
14576
|
gImpl: ({ SUBRULE }) => (ast, { factory: F2 }) => {
|
|
14576
14577
|
for (const quad of ast.val) {
|
|
14577
14578
|
if (F2.isPattern(quad)) {
|
|
14578
|
-
SUBRULE(triplesBlock, quad
|
|
14579
|
+
SUBRULE(triplesBlock, quad);
|
|
14579
14580
|
} else {
|
|
14580
|
-
SUBRULE(quadsNotTriples, quad
|
|
14581
|
+
SUBRULE(quadsNotTriples, quad);
|
|
14581
14582
|
}
|
|
14582
14583
|
}
|
|
14583
14584
|
}
|
|
@@ -14586,9 +14587,9 @@ var quadsNotTriples = {
|
|
|
14586
14587
|
name: "quadsNotTriples",
|
|
14587
14588
|
impl: ({ ACTION, SUBRULE1, CONSUME, OPTION }) => (C) => {
|
|
14588
14589
|
const graph2 = CONSUME(graph_exports.graph);
|
|
14589
|
-
const name = SUBRULE1(varOrIri
|
|
14590
|
+
const name = SUBRULE1(varOrIri);
|
|
14590
14591
|
CONSUME(symbols_exports.LCurly);
|
|
14591
|
-
const triples = OPTION(() => SUBRULE1(triplesTemplate
|
|
14592
|
+
const triples = OPTION(() => SUBRULE1(triplesTemplate));
|
|
14592
14593
|
const close = CONSUME(symbols_exports.RCurly);
|
|
14593
14594
|
return ACTION(() => C.factory.graphQuads(
|
|
14594
14595
|
name,
|
|
@@ -14598,9 +14599,9 @@ var quadsNotTriples = {
|
|
|
14598
14599
|
},
|
|
14599
14600
|
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { factory: F2 }) => {
|
|
14600
14601
|
F2.printFilter(ast, () => PRINT_WORD("GRAPH"));
|
|
14601
|
-
SUBRULE(varOrTerm, ast.graph
|
|
14602
|
+
SUBRULE(varOrTerm, ast.graph);
|
|
14602
14603
|
F2.printFilter(ast, () => PRINT_WORD("{"));
|
|
14603
|
-
SUBRULE(triplesBlock, ast.triples
|
|
14604
|
+
SUBRULE(triplesBlock, ast.triples);
|
|
14604
14605
|
F2.printFilter(ast, () => PRINT_WORD("}"));
|
|
14605
14606
|
}
|
|
14606
14607
|
};
|
|
@@ -14610,9 +14611,9 @@ var queryOrUpdate = {
|
|
|
14610
14611
|
name: "queryOrUpdate",
|
|
14611
14612
|
gImpl: ({ SUBRULE }) => (ast, { factory: F2 }) => {
|
|
14612
14613
|
if (F2.isQuery(ast)) {
|
|
14613
|
-
SUBRULE(grammar_exports.query, ast
|
|
14614
|
+
SUBRULE(grammar_exports.query, ast);
|
|
14614
14615
|
} else {
|
|
14615
|
-
SUBRULE(grammar_exports.update, ast
|
|
14616
|
+
SUBRULE(grammar_exports.update, ast);
|
|
14616
14617
|
}
|
|
14617
14618
|
}
|
|
14618
14619
|
};
|
|
@@ -14697,7 +14698,7 @@ var Generator = class {
|
|
|
14697
14698
|
factory: this.factory,
|
|
14698
14699
|
offset: 0,
|
|
14699
14700
|
origSource
|
|
14700
|
-
}
|
|
14701
|
+
});
|
|
14701
14702
|
}
|
|
14702
14703
|
generatePath(ast, origSource = "") {
|
|
14703
14704
|
return this.generator.path(ast, {
|