@traqula/generator-sparql-1-2 0.0.3 → 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 +1571 -1568
- package/lib/index.js +3 -3
- package/lib/index.js.map +1 -1
- package/package.json +8 -8
package/lib/index.cjs
CHANGED
|
@@ -160,7 +160,7 @@ var DynamicGenerator = class {
|
|
|
160
160
|
this.origSource = "";
|
|
161
161
|
this.generatedUntil = 0;
|
|
162
162
|
this.stringBuilder = [];
|
|
163
|
-
this.subrule = (cstDef, ast, arg) => {
|
|
163
|
+
this.subrule = (cstDef, ast, ...arg) => {
|
|
164
164
|
const def = this.rules[cstDef.name];
|
|
165
165
|
if (!def) {
|
|
166
166
|
throw new Error(`Rule ${cstDef.name} not found`);
|
|
@@ -173,7 +173,7 @@ var DynamicGenerator = class {
|
|
|
173
173
|
PRINT_WORDS: this.printWords,
|
|
174
174
|
CATCHUP: this.catchup,
|
|
175
175
|
HANDLE_LOC: this.handleLoc
|
|
176
|
-
})(ast, this.getSafeContext(), arg);
|
|
176
|
+
})(ast, this.getSafeContext(), ...arg);
|
|
177
177
|
if (this.factory.isLocalized(ast)) {
|
|
178
178
|
this.handleLoc(ast, generate);
|
|
179
179
|
} else {
|
|
@@ -11591,7 +11591,7 @@ function stringEscapedLexical(str2) {
|
|
|
11591
11591
|
var rdfLiteral = {
|
|
11592
11592
|
name: "rdfLiteral",
|
|
11593
11593
|
impl: ({ ACTION, SUBRULE1, CONSUME, OPTION, OR }) => (C) => {
|
|
11594
|
-
const value = SUBRULE1(string
|
|
11594
|
+
const value = SUBRULE1(string);
|
|
11595
11595
|
return OPTION(() => OR([
|
|
11596
11596
|
{ ALT: () => {
|
|
11597
11597
|
const lang2 = CONSUME(terminals_exports.langTag);
|
|
@@ -11603,7 +11603,7 @@ var rdfLiteral = {
|
|
|
11603
11603
|
} },
|
|
11604
11604
|
{ ALT: () => {
|
|
11605
11605
|
CONSUME(symbols_exports.hathat);
|
|
11606
|
-
const iriVal = SUBRULE1(iri2
|
|
11606
|
+
const iriVal = SUBRULE1(iri2);
|
|
11607
11607
|
return ACTION(() => C.factory.literalTerm(
|
|
11608
11608
|
C.factory.sourceLocation(value, iriVal),
|
|
11609
11609
|
value.value,
|
|
@@ -11619,7 +11619,7 @@ var rdfLiteral = {
|
|
|
11619
11619
|
factory.printFilter(ast, () => PRINT("@", ast.langOrIri));
|
|
11620
11620
|
} else {
|
|
11621
11621
|
factory.printFilter(ast, () => PRINT("^^"));
|
|
11622
|
-
SUBRULE(iri2, ast.langOrIri
|
|
11622
|
+
SUBRULE(iri2, ast.langOrIri);
|
|
11623
11623
|
}
|
|
11624
11624
|
}
|
|
11625
11625
|
}
|
|
@@ -11627,9 +11627,9 @@ var rdfLiteral = {
|
|
|
11627
11627
|
var numericLiteral = {
|
|
11628
11628
|
name: "numericLiteral",
|
|
11629
11629
|
impl: ({ SUBRULE, OR }) => () => OR([
|
|
11630
|
-
{ ALT: () => SUBRULE(numericLiteralUnsigned
|
|
11631
|
-
{ ALT: () => SUBRULE(numericLiteralPositive
|
|
11632
|
-
{ ALT: () => SUBRULE(numericLiteralNegative
|
|
11630
|
+
{ ALT: () => SUBRULE(numericLiteralUnsigned) },
|
|
11631
|
+
{ ALT: () => SUBRULE(numericLiteralPositive) },
|
|
11632
|
+
{ ALT: () => SUBRULE(numericLiteralNegative) }
|
|
11633
11633
|
])
|
|
11634
11634
|
};
|
|
11635
11635
|
var numericLiteralUnsigned = {
|
|
@@ -11737,10 +11737,10 @@ var string = {
|
|
|
11737
11737
|
var iri2 = {
|
|
11738
11738
|
name: "iri",
|
|
11739
11739
|
impl: ({ SUBRULE, OR }) => () => OR([
|
|
11740
|
-
{ ALT: () => SUBRULE(iriFull
|
|
11741
|
-
{ ALT: () => SUBRULE(prefixedName
|
|
11740
|
+
{ ALT: () => SUBRULE(iriFull) },
|
|
11741
|
+
{ ALT: () => SUBRULE(prefixedName) }
|
|
11742
11742
|
]),
|
|
11743
|
-
gImpl: ({ SUBRULE }) => (ast, { factory: F3 }) => F3.isTermNamedPrefixed(ast) ? SUBRULE(prefixedName, ast
|
|
11743
|
+
gImpl: ({ SUBRULE }) => (ast, { factory: F3 }) => F3.isTermNamedPrefixed(ast) ? SUBRULE(prefixedName, ast) : SUBRULE(iriFull, ast)
|
|
11744
11744
|
};
|
|
11745
11745
|
var iriFull = {
|
|
11746
11746
|
name: "iriFull",
|
|
@@ -11812,11 +11812,11 @@ function datasetClauseUsing(name, token) {
|
|
|
11812
11812
|
const start = CONSUME(token);
|
|
11813
11813
|
return OR([
|
|
11814
11814
|
{ ALT: () => {
|
|
11815
|
-
const iri3 = SUBRULE(defaultGraphClause
|
|
11815
|
+
const iri3 = SUBRULE(defaultGraphClause);
|
|
11816
11816
|
return ACTION(() => C.factory.wrap({ clauseType: "default", value: iri3 }, C.factory.sourceLocation(start, iri3)));
|
|
11817
11817
|
} },
|
|
11818
11818
|
{ ALT: () => {
|
|
11819
|
-
const namedClause = SUBRULE(namedGraphClause
|
|
11819
|
+
const namedClause = SUBRULE(namedGraphClause);
|
|
11820
11820
|
return ACTION(() => C.factory.wrap({
|
|
11821
11821
|
clauseType: "named",
|
|
11822
11822
|
value: namedClause.val
|
|
@@ -11829,7 +11829,7 @@ function datasetClauseUsing(name, token) {
|
|
|
11829
11829
|
var datasetClause = datasetClauseUsing("datasetClause", from);
|
|
11830
11830
|
var defaultGraphClause = {
|
|
11831
11831
|
name: "defaultGraphClause",
|
|
11832
|
-
impl: ({ SUBRULE }) => () => SUBRULE(sourceSelector
|
|
11832
|
+
impl: ({ SUBRULE }) => () => SUBRULE(sourceSelector)
|
|
11833
11833
|
};
|
|
11834
11834
|
var usingClause2 = datasetClauseUsing("usingClause", usingClause);
|
|
11835
11835
|
function datasetClauseUsingStar(name, subRule, fromUsing) {
|
|
@@ -11838,7 +11838,7 @@ function datasetClauseUsingStar(name, subRule, fromUsing) {
|
|
|
11838
11838
|
impl: ({ ACTION, MANY, SUBRULE }) => (C) => {
|
|
11839
11839
|
const clauses = [];
|
|
11840
11840
|
MANY(() => {
|
|
11841
|
-
const clause = SUBRULE(subRule
|
|
11841
|
+
const clause = SUBRULE(subRule);
|
|
11842
11842
|
clauses.push(clause);
|
|
11843
11843
|
});
|
|
11844
11844
|
return ACTION(() => C.factory.datasetClauses(
|
|
@@ -11852,7 +11852,7 @@ function datasetClauseUsingStar(name, subRule, fromUsing) {
|
|
|
11852
11852
|
if (clause.clauseType === "named") {
|
|
11853
11853
|
F3.printFilter(ast, () => PRINT_WORD("NAMED"));
|
|
11854
11854
|
}
|
|
11855
|
-
SUBRULE(iri2, clause.value
|
|
11855
|
+
SUBRULE(iri2, clause.value);
|
|
11856
11856
|
}
|
|
11857
11857
|
}
|
|
11858
11858
|
};
|
|
@@ -11863,1389 +11863,1390 @@ var namedGraphClause = {
|
|
|
11863
11863
|
name: "namedGraphClause",
|
|
11864
11864
|
impl: ({ ACTION, SUBRULE, CONSUME }) => (C) => {
|
|
11865
11865
|
const named2 = CONSUME(graph_exports.named);
|
|
11866
|
-
const iri3 = SUBRULE(sourceSelector
|
|
11866
|
+
const iri3 = SUBRULE(sourceSelector);
|
|
11867
11867
|
return ACTION(() => C.factory.wrap(iri3, C.factory.sourceLocation(named2, iri3)));
|
|
11868
11868
|
}
|
|
11869
11869
|
};
|
|
11870
11870
|
var sourceSelector = {
|
|
11871
11871
|
name: "sourceSelector",
|
|
11872
|
-
impl: ({ SUBRULE }) => () => SUBRULE(iri2
|
|
11872
|
+
impl: ({ SUBRULE }) => () => SUBRULE(iri2)
|
|
11873
11873
|
};
|
|
11874
11874
|
|
|
11875
|
-
// ../../packages/rules-sparql-1-1/lib/
|
|
11876
|
-
|
|
11877
|
-
name: "prologue",
|
|
11878
|
-
impl: ({ SUBRULE, MANY, OR }) => () => {
|
|
11879
|
-
const result = [];
|
|
11880
|
-
MANY(() => OR([
|
|
11881
|
-
{ ALT: () => result.push(SUBRULE(baseDecl2, void 0)) },
|
|
11882
|
-
// TODO: the [spec](https://www.w3.org/TR/sparql11-query/#iriRefs) says you cannot redefine prefixes.
|
|
11883
|
-
// We might need to check this.
|
|
11884
|
-
{ ALT: () => result.push(SUBRULE(prefixDecl2, void 0)) }
|
|
11885
|
-
]));
|
|
11886
|
-
return result;
|
|
11887
|
-
},
|
|
11888
|
-
gImpl: ({ SUBRULE }) => (ast, { factory: F3 }) => {
|
|
11889
|
-
for (const context of ast) {
|
|
11890
|
-
if (F3.isContextDefinitionBase(context)) {
|
|
11891
|
-
SUBRULE(baseDecl2, context, void 0);
|
|
11892
|
-
} else if (F3.isContextDefinitionPrefix(context)) {
|
|
11893
|
-
SUBRULE(prefixDecl2, context, void 0);
|
|
11894
|
-
}
|
|
11895
|
-
}
|
|
11896
|
-
}
|
|
11897
|
-
};
|
|
11898
|
-
var baseDecl2 = {
|
|
11899
|
-
name: "baseDecl",
|
|
11900
|
-
impl: ({ ACTION, CONSUME, SUBRULE }) => (C) => {
|
|
11901
|
-
const base = CONSUME(baseDecl);
|
|
11902
|
-
const val = SUBRULE(iriFull, void 0);
|
|
11903
|
-
return ACTION(() => C.factory.contextDefinitionBase(C.factory.sourceLocation(base, val), val));
|
|
11904
|
-
},
|
|
11905
|
-
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { factory: F3 }) => {
|
|
11906
|
-
F3.printFilter(ast, () => PRINT_WORD("BASE"));
|
|
11907
|
-
SUBRULE(iri2, ast.value, void 0);
|
|
11908
|
-
}
|
|
11909
|
-
};
|
|
11910
|
-
var prefixDecl2 = {
|
|
11911
|
-
name: "prefixDecl",
|
|
11912
|
-
impl: ({ ACTION, CONSUME, SUBRULE }) => (C) => {
|
|
11913
|
-
const prefix = CONSUME(prefixDecl);
|
|
11914
|
-
const name = CONSUME(terminals_exports.pNameNs).image.slice(0, -1);
|
|
11915
|
-
const value = SUBRULE(iriFull, void 0);
|
|
11916
|
-
return ACTION(() => C.factory.contextDefinitionPrefix(C.factory.sourceLocation(prefix, value), name, value));
|
|
11917
|
-
},
|
|
11918
|
-
gImpl: ({ SUBRULE, PRINT_WORDS }) => (ast, { factory: F3 }) => {
|
|
11919
|
-
F3.printFilter(ast, () => {
|
|
11920
|
-
PRINT_WORDS("PREFIX", `${ast.key}:`);
|
|
11921
|
-
});
|
|
11922
|
-
SUBRULE(iri2, ast.value, void 0);
|
|
11923
|
-
}
|
|
11924
|
-
};
|
|
11925
|
-
var verb = {
|
|
11926
|
-
name: "verb",
|
|
11927
|
-
impl: ({ SUBRULE, OR }) => () => OR([
|
|
11928
|
-
{ ALT: () => SUBRULE(varOrIri, void 0) },
|
|
11929
|
-
{ ALT: () => SUBRULE(verbA, void 0) }
|
|
11930
|
-
])
|
|
11931
|
-
};
|
|
11932
|
-
var varOrTerm = {
|
|
11933
|
-
name: "varOrTerm",
|
|
11934
|
-
impl: ({ SUBRULE, OR }) => (C) => OR([
|
|
11935
|
-
{ GATE: () => C.parseMode.has("canParseVars"), ALT: () => SUBRULE(var_, void 0) },
|
|
11936
|
-
{ ALT: () => SUBRULE(graphTerm, void 0) }
|
|
11937
|
-
]),
|
|
11938
|
-
gImpl: ({ SUBRULE }) => (ast, { factory: F3 }) => {
|
|
11939
|
-
if (F3.isTermVariable(ast)) {
|
|
11940
|
-
return SUBRULE(var_, ast, void 0);
|
|
11941
|
-
}
|
|
11942
|
-
return SUBRULE(graphTerm, ast, void 0);
|
|
11943
|
-
}
|
|
11944
|
-
};
|
|
11945
|
-
var varOrIri = {
|
|
11946
|
-
name: "varOrIri",
|
|
11947
|
-
impl: ({ SUBRULE, OR }) => (C) => OR([
|
|
11948
|
-
{ GATE: () => C.parseMode.has("canParseVars"), ALT: () => SUBRULE(var_, void 0) },
|
|
11949
|
-
{ ALT: () => SUBRULE(iri2, void 0) }
|
|
11950
|
-
])
|
|
11951
|
-
};
|
|
11952
|
-
var var_ = {
|
|
11953
|
-
name: "var",
|
|
11954
|
-
impl: ({ ACTION, CONSUME, OR }) => (C) => {
|
|
11955
|
-
const varToken = OR([
|
|
11956
|
-
{ ALT: () => CONSUME(terminals_exports.var1) },
|
|
11957
|
-
{ ALT: () => CONSUME(terminals_exports.var2) }
|
|
11958
|
-
]);
|
|
11959
|
-
return ACTION(() => C.factory.variable(varToken.image.slice(1), C.factory.sourceLocation(varToken)));
|
|
11960
|
-
},
|
|
11961
|
-
gImpl: ({ PRINT_WORD }) => (ast, { factory: F3 }) => {
|
|
11962
|
-
F3.printFilter(ast, () => PRINT_WORD(`?${ast.value}`));
|
|
11963
|
-
}
|
|
11964
|
-
};
|
|
11965
|
-
var graphTerm = {
|
|
11966
|
-
name: "graphTerm",
|
|
11967
|
-
impl: ({ ACTION, SUBRULE, CONSUME, OR }) => (C) => OR([
|
|
11968
|
-
{ ALT: () => SUBRULE(iri2, void 0) },
|
|
11969
|
-
{ ALT: () => SUBRULE(rdfLiteral, void 0) },
|
|
11970
|
-
{ ALT: () => SUBRULE(numericLiteral, void 0) },
|
|
11971
|
-
{ ALT: () => SUBRULE(booleanLiteral, void 0) },
|
|
11972
|
-
{ GATE: () => C.parseMode.has("canCreateBlankNodes"), ALT: () => SUBRULE(blankNode, void 0) },
|
|
11973
|
-
{ ALT: () => {
|
|
11974
|
-
const tokenNil = CONSUME(terminals_exports.nil);
|
|
11975
|
-
return ACTION(() => C.factory.namedNode(C.factory.sourceLocation(tokenNil), "http://www.w3.org/1999/02/22-rdf-syntax-ns#nil" /* NIL */));
|
|
11976
|
-
} }
|
|
11977
|
-
]),
|
|
11978
|
-
gImpl: ({ SUBRULE }) => (ast, { factory: F3 }) => {
|
|
11979
|
-
if (F3.isTermNamed(ast)) {
|
|
11980
|
-
SUBRULE(iri2, ast, void 0);
|
|
11981
|
-
} else if (F3.isTermLiteral(ast)) {
|
|
11982
|
-
SUBRULE(rdfLiteral, ast, void 0);
|
|
11983
|
-
} else if (F3.isTermBlank(ast)) {
|
|
11984
|
-
SUBRULE(blankNode, ast, void 0);
|
|
11985
|
-
}
|
|
11986
|
-
}
|
|
11987
|
-
};
|
|
11988
|
-
|
|
11989
|
-
// ../../packages/rules-sparql-1-1/lib/grammar/propertyPaths.ts
|
|
11990
|
-
var path = {
|
|
11991
|
-
name: "path",
|
|
11992
|
-
impl: ({ SUBRULE }) => () => SUBRULE(pathAlternative, void 0)
|
|
11993
|
-
};
|
|
11994
|
-
var pathGenerator = {
|
|
11995
|
-
name: "path",
|
|
11996
|
-
gImpl: ({ PRINT, SUBRULE }) => (ast, { factory: F3 }, braces = true) => {
|
|
11997
|
-
if (F3.isTerm(ast) && F3.isTermNamed(ast)) {
|
|
11998
|
-
SUBRULE(iri2, ast, void 0);
|
|
11999
|
-
} else {
|
|
12000
|
-
F3.printFilter(ast, () => braces && PRINT("("));
|
|
12001
|
-
switch (ast.subType) {
|
|
12002
|
-
case "|":
|
|
12003
|
-
case "/": {
|
|
12004
|
-
const [head2, ...tail] = ast.items;
|
|
12005
|
-
SUBRULE(pathGenerator, head2, braces);
|
|
12006
|
-
for (const val of tail) {
|
|
12007
|
-
F3.printFilter(ast, () => PRINT(ast.subType));
|
|
12008
|
-
SUBRULE(pathGenerator, val, braces);
|
|
12009
|
-
}
|
|
12010
|
-
break;
|
|
12011
|
-
}
|
|
12012
|
-
case "^":
|
|
12013
|
-
F3.printFilter(ast, () => PRINT("^"));
|
|
12014
|
-
SUBRULE(pathGenerator, ast.items[0], braces);
|
|
12015
|
-
break;
|
|
12016
|
-
case "?":
|
|
12017
|
-
case "*":
|
|
12018
|
-
case "+":
|
|
12019
|
-
SUBRULE(pathGenerator, ast.items[0], braces);
|
|
12020
|
-
F3.printFilter(ast, () => PRINT(ast.subType));
|
|
12021
|
-
break;
|
|
12022
|
-
case "!":
|
|
12023
|
-
F3.printFilter(ast, () => PRINT("!"));
|
|
12024
|
-
F3.printFilter(ast, () => PRINT("("));
|
|
12025
|
-
SUBRULE(pathGenerator, ast.items[0], false);
|
|
12026
|
-
F3.printFilter(ast, () => PRINT(")"));
|
|
12027
|
-
break;
|
|
12028
|
-
}
|
|
12029
|
-
F3.printFilter(ast, () => braces && PRINT(")"));
|
|
12030
|
-
}
|
|
12031
|
-
}
|
|
12032
|
-
};
|
|
12033
|
-
function pathChainHelper(name, SEP, subType, subRule) {
|
|
11875
|
+
// ../../packages/rules-sparql-1-1/lib/expressionHelpers.ts
|
|
11876
|
+
function funcExpr1(func) {
|
|
12034
11877
|
return {
|
|
12035
|
-
name,
|
|
12036
|
-
impl: ({ ACTION,
|
|
12037
|
-
const
|
|
12038
|
-
|
|
12039
|
-
const
|
|
12040
|
-
|
|
12041
|
-
|
|
12042
|
-
tailEnd = SUBRULE2(subRule, void 0);
|
|
12043
|
-
tail.push(tailEnd);
|
|
12044
|
-
});
|
|
12045
|
-
return ACTION(() => tail.length === 0 ? head2 : C.factory.path(subType, [head2, ...tail], C.factory.sourceLocation(head2, tailEnd)));
|
|
11878
|
+
name: unCapitalize(func.name),
|
|
11879
|
+
impl: ({ ACTION, SUBRULE, CONSUME }) => (C) => {
|
|
11880
|
+
const operator = CONSUME(func);
|
|
11881
|
+
CONSUME(symbols_exports.LParen);
|
|
11882
|
+
const arg = SUBRULE(expression);
|
|
11883
|
+
const close = CONSUME(symbols_exports.RParen);
|
|
11884
|
+
return ACTION(() => C.factory.expressionOperation(operator.image, [arg], C.factory.sourceLocation(operator, close)));
|
|
12046
11885
|
}
|
|
12047
11886
|
};
|
|
12048
11887
|
}
|
|
12049
|
-
|
|
12050
|
-
|
|
12051
|
-
|
|
12052
|
-
|
|
12053
|
-
|
|
12054
|
-
const hat2 = CONSUME(symbols_exports.hat);
|
|
12055
|
-
const item = SUBRULE2(pathElt, void 0);
|
|
12056
|
-
return ACTION(() => C.factory.path("^", [item], C.factory.sourceLocation(hat2, item)));
|
|
12057
|
-
} }
|
|
12058
|
-
])
|
|
12059
|
-
};
|
|
12060
|
-
var pathSequence = pathChainHelper("pathSequence", symbols_exports.slash, "/", pathEltOrInverse);
|
|
12061
|
-
var pathAlternative = pathChainHelper("pathAlternative", symbols_exports.pipe, "|", pathSequence);
|
|
12062
|
-
var pathElt = {
|
|
12063
|
-
name: "pathElt",
|
|
12064
|
-
impl: ({ ACTION, SUBRULE, OPTION }) => (C) => {
|
|
12065
|
-
const item = SUBRULE(pathPrimary, void 0);
|
|
12066
|
-
const modification = OPTION(() => SUBRULE(pathMod, void 0));
|
|
12067
|
-
return ACTION(() => modification === void 0 ? item : C.factory.path(modification.image, [item], C.factory.sourceLocation(item, modification)));
|
|
12068
|
-
}
|
|
12069
|
-
};
|
|
12070
|
-
var pathMod = {
|
|
12071
|
-
name: "pathMod",
|
|
12072
|
-
impl: ({ CONSUME, OR }) => () => OR([
|
|
12073
|
-
{ ALT: () => CONSUME(symbols_exports.question) },
|
|
12074
|
-
{ ALT: () => CONSUME(symbols_exports.star) },
|
|
12075
|
-
{ ALT: () => CONSUME(symbols_exports.opPlus) }
|
|
12076
|
-
])
|
|
12077
|
-
};
|
|
12078
|
-
var pathPrimary = {
|
|
12079
|
-
name: "pathPrimary",
|
|
12080
|
-
impl: ({ SUBRULE, CONSUME, OR }) => () => OR([
|
|
12081
|
-
{ ALT: () => SUBRULE(iri2, void 0) },
|
|
12082
|
-
{ ALT: () => SUBRULE(verbA, void 0) },
|
|
12083
|
-
{ ALT: () => SUBRULE(pathNegatedPropertySet, void 0) },
|
|
12084
|
-
{ ALT: () => {
|
|
11888
|
+
function funcExpr2(func) {
|
|
11889
|
+
return {
|
|
11890
|
+
name: unCapitalize(func.name),
|
|
11891
|
+
impl: ({ ACTION, CONSUME, SUBRULE1, SUBRULE2 }) => (C) => {
|
|
11892
|
+
const operator = CONSUME(func);
|
|
12085
11893
|
CONSUME(symbols_exports.LParen);
|
|
12086
|
-
const
|
|
12087
|
-
CONSUME(symbols_exports.
|
|
12088
|
-
|
|
12089
|
-
|
|
12090
|
-
|
|
12091
|
-
};
|
|
12092
|
-
var pathNegatedPropertySet = {
|
|
12093
|
-
name: "pathNegatedPropertySet",
|
|
12094
|
-
impl: ({ ACTION, CONSUME, SUBRULE1, SUBRULE2, SUBRULE3, OR, MANY }) => (C) => {
|
|
12095
|
-
const exclamation2 = CONSUME(symbols_exports.exclamation);
|
|
12096
|
-
return OR([
|
|
12097
|
-
{ ALT: () => {
|
|
12098
|
-
const noAlternative = SUBRULE1(pathOneInPropertySet, void 0);
|
|
12099
|
-
return ACTION(() => C.factory.path("!", [noAlternative], C.factory.sourceLocation(exclamation2, noAlternative)));
|
|
12100
|
-
} },
|
|
12101
|
-
{ ALT: () => {
|
|
12102
|
-
const open = CONSUME(symbols_exports.LParen);
|
|
12103
|
-
const head2 = SUBRULE2(pathOneInPropertySet, void 0);
|
|
12104
|
-
const tail = [];
|
|
12105
|
-
MANY(() => {
|
|
12106
|
-
CONSUME(symbols_exports.pipe);
|
|
12107
|
-
const item = SUBRULE3(pathOneInPropertySet, void 0);
|
|
12108
|
-
tail.push(item);
|
|
12109
|
-
});
|
|
12110
|
-
const close = CONSUME(symbols_exports.RParen);
|
|
12111
|
-
return ACTION(() => {
|
|
12112
|
-
const F3 = C.factory;
|
|
12113
|
-
if (tail.length === 0) {
|
|
12114
|
-
return F3.path("!", [head2], F3.sourceLocation(exclamation2, close));
|
|
12115
|
-
}
|
|
12116
|
-
return F3.path(
|
|
12117
|
-
"!",
|
|
12118
|
-
[F3.path("|", [head2, ...tail], F3.sourceLocation(open, close))],
|
|
12119
|
-
F3.sourceLocation(exclamation2, close)
|
|
12120
|
-
);
|
|
12121
|
-
});
|
|
12122
|
-
} }
|
|
12123
|
-
]);
|
|
12124
|
-
}
|
|
12125
|
-
};
|
|
12126
|
-
var pathOneInPropertySet = {
|
|
12127
|
-
name: "pathOneInPropertySet",
|
|
12128
|
-
impl: ({ ACTION, CONSUME, SUBRULE1, SUBRULE2, OR1, OR2 }) => (C) => OR1([
|
|
12129
|
-
{ ALT: () => SUBRULE1(iri2, void 0) },
|
|
12130
|
-
{ ALT: () => SUBRULE1(verbA, void 0) },
|
|
12131
|
-
{ ALT: () => {
|
|
12132
|
-
const hat2 = CONSUME(symbols_exports.hat);
|
|
12133
|
-
const item = OR2([
|
|
12134
|
-
{ ALT: () => SUBRULE2(iri2, void 0) },
|
|
12135
|
-
{ ALT: () => SUBRULE2(verbA, void 0) }
|
|
12136
|
-
]);
|
|
12137
|
-
return ACTION(() => C.factory.path("^", [item], C.factory.sourceLocation(hat2, item)));
|
|
12138
|
-
} }
|
|
12139
|
-
])
|
|
12140
|
-
};
|
|
12141
|
-
|
|
12142
|
-
// ../../packages/rules-sparql-1-1/lib/grammar/tripleBlock.ts
|
|
12143
|
-
function triplesDotSeperated(triplesSameSubjectSubrule) {
|
|
12144
|
-
return ({ ACTION, AT_LEAST_ONE, SUBRULE, CONSUME, OPTION }) => (C) => {
|
|
12145
|
-
const triples = [];
|
|
12146
|
-
let parsedDot = true;
|
|
12147
|
-
let dotToken;
|
|
12148
|
-
AT_LEAST_ONE({
|
|
12149
|
-
GATE: () => parsedDot,
|
|
12150
|
-
DEF: () => {
|
|
12151
|
-
parsedDot = false;
|
|
12152
|
-
const template = SUBRULE(triplesSameSubjectSubrule, void 0);
|
|
12153
|
-
ACTION(() => {
|
|
12154
|
-
triples.push(...template);
|
|
12155
|
-
});
|
|
12156
|
-
OPTION(() => {
|
|
12157
|
-
dotToken = CONSUME(symbols_exports.dot);
|
|
12158
|
-
parsedDot = true;
|
|
12159
|
-
});
|
|
12160
|
-
}
|
|
12161
|
-
});
|
|
12162
|
-
return ACTION(() => C.factory.patternBgp(triples, C.factory.sourceLocation(...triples, dotToken)));
|
|
12163
|
-
};
|
|
12164
|
-
}
|
|
12165
|
-
var triplesBlock = {
|
|
12166
|
-
name: "triplesBlock",
|
|
12167
|
-
impl: (implArgs) => (C) => triplesDotSeperated(triplesSameSubjectPath)(implArgs)(C, void 0),
|
|
12168
|
-
gImpl: ({ SUBRULE, PRINT_WORD, HANDLE_LOC }) => (ast, { factory: F3 }) => {
|
|
12169
|
-
for (const [index, triple] of ast.triples.entries()) {
|
|
12170
|
-
HANDLE_LOC(triple, () => {
|
|
12171
|
-
const nextTriple = ast.triples.at(index);
|
|
12172
|
-
if (F3.isTripleCollection(triple)) {
|
|
12173
|
-
SUBRULE(graphNodePath, triple, void 0);
|
|
12174
|
-
F3.printFilter(triple, () => PRINT_WORD("."));
|
|
12175
|
-
} else {
|
|
12176
|
-
SUBRULE(graphNodePath, triple.subject, void 0);
|
|
12177
|
-
if (F3.isTerm(triple.predicate) && F3.isTermVariable(triple.predicate)) {
|
|
12178
|
-
SUBRULE(varOrTerm, triple.predicate, void 0);
|
|
12179
|
-
} else {
|
|
12180
|
-
SUBRULE(pathGenerator, triple.predicate, void 0);
|
|
12181
|
-
}
|
|
12182
|
-
SUBRULE(graphNodePath, triple.object, void 0);
|
|
12183
|
-
if (nextTriple === void 0 || F3.isTripleCollection(nextTriple) || !F3.isSourceLocationNoMaterialize(nextTriple.subject.loc)) {
|
|
12184
|
-
F3.printFilter(ast, () => PRINT_WORD("."));
|
|
12185
|
-
} else if (F3.isSourceLocationNoMaterialize(nextTriple.predicate.loc)) {
|
|
12186
|
-
F3.printFilter(ast, () => PRINT_WORD(","));
|
|
12187
|
-
} else {
|
|
12188
|
-
F3.printFilter(ast, () => PRINT_WORD(";"));
|
|
12189
|
-
}
|
|
12190
|
-
}
|
|
12191
|
-
});
|
|
11894
|
+
const arg1 = SUBRULE1(expression);
|
|
11895
|
+
CONSUME(symbols_exports.comma);
|
|
11896
|
+
const arg2 = SUBRULE2(expression);
|
|
11897
|
+
const close = CONSUME(symbols_exports.RParen);
|
|
11898
|
+
return ACTION(() => C.factory.expressionOperation(operator.image, [arg1, arg2], C.factory.sourceLocation(operator, close)));
|
|
12192
11899
|
}
|
|
12193
|
-
}
|
|
12194
|
-
};
|
|
12195
|
-
function triplesSameSubjectImpl(name, allowPaths) {
|
|
12196
|
-
return {
|
|
12197
|
-
name,
|
|
12198
|
-
impl: ({ ACTION, SUBRULE, OR }) => (C) => OR([
|
|
12199
|
-
{ ALT: () => {
|
|
12200
|
-
const subject = SUBRULE(varOrTerm, void 0);
|
|
12201
|
-
const res = SUBRULE(
|
|
12202
|
-
allowPaths ? propertyListPathNotEmpty : propertyListNotEmpty,
|
|
12203
|
-
{ subject: ACTION(() => C.factory.dematerialized(subject)) }
|
|
12204
|
-
);
|
|
12205
|
-
return ACTION(() => {
|
|
12206
|
-
if (res.length > 0) {
|
|
12207
|
-
res[0].subject = subject;
|
|
12208
|
-
res[0].loc = C.factory.sourceLocation(subject, res[0]);
|
|
12209
|
-
}
|
|
12210
|
-
return res;
|
|
12211
|
-
});
|
|
12212
|
-
} },
|
|
12213
|
-
{ ALT: () => {
|
|
12214
|
-
const subjectNode = SUBRULE(allowPaths ? triplesNodePath : triplesNode, void 0);
|
|
12215
|
-
const restNode = SUBRULE(
|
|
12216
|
-
allowPaths ? propertyListPath : propertyList,
|
|
12217
|
-
{ subject: ACTION(() => C.factory.graphNodeIdentifier(subjectNode)) }
|
|
12218
|
-
);
|
|
12219
|
-
return ACTION(() => {
|
|
12220
|
-
if (restNode.length === 0) {
|
|
12221
|
-
return [subjectNode];
|
|
12222
|
-
}
|
|
12223
|
-
restNode[0].subject = subjectNode;
|
|
12224
|
-
restNode[0].loc = C.factory.sourceLocation(subjectNode, restNode[0]);
|
|
12225
|
-
return restNode;
|
|
12226
|
-
});
|
|
12227
|
-
} }
|
|
12228
|
-
])
|
|
12229
11900
|
};
|
|
12230
11901
|
}
|
|
12231
|
-
|
|
12232
|
-
var triplesSameSubjectPath = triplesSameSubjectImpl("triplesSameSubjectPath", true);
|
|
12233
|
-
var triplesTemplate = {
|
|
12234
|
-
name: "triplesTemplate",
|
|
12235
|
-
impl: triplesDotSeperated(triplesSameSubject)
|
|
12236
|
-
};
|
|
12237
|
-
function propertyListImpl(name, allowPaths) {
|
|
11902
|
+
function funcExpr3(func) {
|
|
12238
11903
|
return {
|
|
12239
|
-
name,
|
|
12240
|
-
impl: ({
|
|
11904
|
+
name: unCapitalize(func.name),
|
|
11905
|
+
impl: ({ ACTION, CONSUME, CONSUME1, CONSUME2, SUBRULE1, SUBRULE2, SUBRULE3 }) => (C) => {
|
|
11906
|
+
const operator = CONSUME(func);
|
|
11907
|
+
CONSUME(symbols_exports.LParen);
|
|
11908
|
+
const arg1 = SUBRULE1(expression);
|
|
11909
|
+
CONSUME1(symbols_exports.comma);
|
|
11910
|
+
const arg2 = SUBRULE2(expression);
|
|
11911
|
+
CONSUME2(symbols_exports.comma);
|
|
11912
|
+
const arg3 = SUBRULE3(expression);
|
|
11913
|
+
const close = CONSUME(symbols_exports.RParen);
|
|
11914
|
+
return ACTION(() => C.factory.expressionOperation(operator.image, [arg1, arg2, arg3], C.factory.sourceLocation(operator, close)));
|
|
11915
|
+
}
|
|
12241
11916
|
};
|
|
12242
11917
|
}
|
|
12243
|
-
|
|
12244
|
-
var propertyListPath = propertyListImpl("propertyListPath", true);
|
|
12245
|
-
function propertyListNotEmptyImplementation(name, allowPaths) {
|
|
11918
|
+
function funcVar1(func) {
|
|
12246
11919
|
return {
|
|
12247
|
-
name,
|
|
12248
|
-
impl: ({ ACTION,
|
|
12249
|
-
const
|
|
12250
|
-
|
|
12251
|
-
|
|
12252
|
-
|
|
12253
|
-
|
|
12254
|
-
parsedSemi = false;
|
|
12255
|
-
const predicate = allowPaths ? OR1([
|
|
12256
|
-
{ ALT: () => SUBRULE1(verbPath, void 0) },
|
|
12257
|
-
{ ALT: () => SUBRULE1(verbSimple, void 0) }
|
|
12258
|
-
]) : SUBRULE1(verb, void 0);
|
|
12259
|
-
const triples = SUBRULE1(
|
|
12260
|
-
allowPaths ? objectListPath : objectList,
|
|
12261
|
-
ACTION(() => ({ subject: arg.subject, predicate }))
|
|
12262
|
-
);
|
|
12263
|
-
MANY2(() => {
|
|
12264
|
-
CONSUME(symbols_exports.semi);
|
|
12265
|
-
parsedSemi = true;
|
|
12266
|
-
});
|
|
12267
|
-
ACTION(() => {
|
|
12268
|
-
result.push(...triples);
|
|
12269
|
-
});
|
|
12270
|
-
}
|
|
12271
|
-
});
|
|
12272
|
-
return result;
|
|
11920
|
+
name: unCapitalize(func.name),
|
|
11921
|
+
impl: ({ ACTION, SUBRULE, CONSUME }) => (C) => {
|
|
11922
|
+
const operator = CONSUME(func);
|
|
11923
|
+
CONSUME(symbols_exports.LParen);
|
|
11924
|
+
const arg = SUBRULE(var_);
|
|
11925
|
+
const close = CONSUME(symbols_exports.RParen);
|
|
11926
|
+
return ACTION(() => C.factory.expressionOperation(operator.image, [arg], C.factory.sourceLocation(operator, close)));
|
|
12273
11927
|
}
|
|
12274
11928
|
};
|
|
12275
11929
|
}
|
|
12276
|
-
|
|
12277
|
-
var propertyListPathNotEmpty = propertyListNotEmptyImplementation("propertyListPathNotEmpty", true);
|
|
12278
|
-
var verbPath = {
|
|
12279
|
-
name: "verbPath",
|
|
12280
|
-
impl: ({ SUBRULE }) => () => SUBRULE(path, void 0)
|
|
12281
|
-
};
|
|
12282
|
-
var verbSimple = {
|
|
12283
|
-
name: "verbSimple",
|
|
12284
|
-
impl: ({ SUBRULE }) => () => SUBRULE(var_, void 0)
|
|
12285
|
-
};
|
|
12286
|
-
function objectListImpl(name, allowPaths) {
|
|
11930
|
+
function funcExprOrNil1(func) {
|
|
12287
11931
|
return {
|
|
12288
|
-
name,
|
|
12289
|
-
impl: ({ ACTION,
|
|
12290
|
-
const
|
|
12291
|
-
|
|
12292
|
-
|
|
12293
|
-
|
|
12294
|
-
const
|
|
12295
|
-
|
|
12296
|
-
|
|
12297
|
-
|
|
12298
|
-
|
|
12299
|
-
|
|
12300
|
-
|
|
11932
|
+
name: unCapitalize(func.name),
|
|
11933
|
+
impl: ({ ACTION, CONSUME, OR, SUBRULE }) => (C) => {
|
|
11934
|
+
const operator = CONSUME(func);
|
|
11935
|
+
return OR([
|
|
11936
|
+
{ ALT: () => {
|
|
11937
|
+
CONSUME(symbols_exports.LParen);
|
|
11938
|
+
const arg = SUBRULE(expression);
|
|
11939
|
+
const close = CONSUME(symbols_exports.RParen);
|
|
11940
|
+
return ACTION(() => C.factory.expressionOperation(operator.image, [arg], C.factory.sourceLocation(operator, close)));
|
|
11941
|
+
} },
|
|
11942
|
+
{ ALT: () => {
|
|
11943
|
+
const nil2 = CONSUME(terminals_exports.nil);
|
|
11944
|
+
return ACTION(() => C.factory.expressionOperation(operator.image, [], C.factory.sourceLocation(operator, nil2)));
|
|
11945
|
+
} }
|
|
11946
|
+
]);
|
|
12301
11947
|
}
|
|
12302
11948
|
};
|
|
12303
11949
|
}
|
|
12304
|
-
|
|
12305
|
-
var objectListPath = objectListImpl("objectListPath", true);
|
|
12306
|
-
function objectImpl(name, allowPaths) {
|
|
11950
|
+
function funcNil1(func) {
|
|
12307
11951
|
return {
|
|
12308
|
-
name,
|
|
12309
|
-
impl: ({ ACTION,
|
|
12310
|
-
const
|
|
12311
|
-
|
|
11952
|
+
name: unCapitalize(func.name),
|
|
11953
|
+
impl: ({ ACTION, CONSUME }) => (C) => {
|
|
11954
|
+
const operator = CONSUME(func);
|
|
11955
|
+
const nil2 = CONSUME(terminals_exports.nil);
|
|
11956
|
+
return ACTION(() => C.factory.expressionOperation(operator.image, [], C.factory.sourceLocation(operator, nil2)));
|
|
12312
11957
|
}
|
|
12313
11958
|
};
|
|
12314
11959
|
}
|
|
12315
|
-
|
|
12316
|
-
var objectPath = objectImpl("objectPath", true);
|
|
12317
|
-
function collectionImpl(name, allowPaths) {
|
|
11960
|
+
function funcExprList1(func) {
|
|
12318
11961
|
return {
|
|
12319
|
-
name,
|
|
12320
|
-
impl: ({ ACTION,
|
|
12321
|
-
const
|
|
12322
|
-
const
|
|
12323
|
-
|
|
12324
|
-
|
|
12325
|
-
|
|
12326
|
-
|
|
12327
|
-
|
|
12328
|
-
|
|
12329
|
-
|
|
12330
|
-
|
|
12331
|
-
|
|
12332
|
-
|
|
12333
|
-
|
|
12334
|
-
|
|
12335
|
-
|
|
12336
|
-
|
|
12337
|
-
|
|
12338
|
-
|
|
12339
|
-
predFirst,
|
|
12340
|
-
term
|
|
12341
|
-
);
|
|
12342
|
-
triples.push(headTriple);
|
|
12343
|
-
if (lastInList) {
|
|
12344
|
-
const nilTriple = F3.triple(iterHead, predRest, predNil);
|
|
12345
|
-
triples.push(nilTriple);
|
|
12346
|
-
} else {
|
|
12347
|
-
const tail = F3.blankNode(void 0, F3.sourceLocationNoMaterialize());
|
|
12348
|
-
const linkTriple = F3.triple(iterHead, predRest, tail);
|
|
12349
|
-
triples.push(linkTriple);
|
|
12350
|
-
iterHead = tail;
|
|
12351
|
-
}
|
|
12352
|
-
}
|
|
12353
|
-
return F3.tripleCollectionList(listHead, triples, F3.sourceLocation(startToken, endToken));
|
|
11962
|
+
name: unCapitalize(func.name),
|
|
11963
|
+
impl: ({ ACTION, CONSUME, SUBRULE }) => (C) => {
|
|
11964
|
+
const operator = CONSUME(func);
|
|
11965
|
+
const args = SUBRULE(expressionList);
|
|
11966
|
+
return ACTION(() => C.factory.expressionOperation(operator.image, args.val, C.factory.sourceLocation(operator, args)));
|
|
11967
|
+
}
|
|
11968
|
+
};
|
|
11969
|
+
}
|
|
11970
|
+
function funcExpr2or3(func) {
|
|
11971
|
+
return {
|
|
11972
|
+
name: unCapitalize(func.name),
|
|
11973
|
+
impl: ({ ACTION, CONSUME, SUBRULE1, SUBRULE2, SUBRULE3, CONSUME1, OPTION, CONSUME2 }) => (C) => {
|
|
11974
|
+
const operator = CONSUME(func);
|
|
11975
|
+
CONSUME(symbols_exports.LParen);
|
|
11976
|
+
const arg1 = SUBRULE1(expression);
|
|
11977
|
+
CONSUME1(symbols_exports.comma);
|
|
11978
|
+
const arg2 = SUBRULE2(expression);
|
|
11979
|
+
const arg3 = OPTION(() => {
|
|
11980
|
+
CONSUME2(symbols_exports.comma);
|
|
11981
|
+
return SUBRULE3(expression);
|
|
12354
11982
|
});
|
|
12355
|
-
|
|
12356
|
-
|
|
12357
|
-
|
|
12358
|
-
|
|
12359
|
-
|
|
12360
|
-
|
|
12361
|
-
}
|
|
12362
|
-
}
|
|
12363
|
-
F3.printFilter(ast, () => PRINT_WORD(")"));
|
|
11983
|
+
const close = CONSUME(symbols_exports.RParen);
|
|
11984
|
+
return ACTION(() => C.factory.expressionOperation(
|
|
11985
|
+
operator.image,
|
|
11986
|
+
arg3 ? [arg1, arg2, arg3] : [arg1, arg2],
|
|
11987
|
+
C.factory.sourceLocation(operator, close)
|
|
11988
|
+
));
|
|
12364
11989
|
}
|
|
12365
11990
|
};
|
|
12366
11991
|
}
|
|
12367
|
-
|
|
12368
|
-
var collectionPath = collectionImpl("collectionPath", true);
|
|
12369
|
-
function triplesNodeImpl(name, allowPaths) {
|
|
11992
|
+
function funcExpr3or4(func) {
|
|
12370
11993
|
return {
|
|
12371
|
-
name,
|
|
12372
|
-
impl: ({
|
|
12373
|
-
|
|
12374
|
-
|
|
12375
|
-
|
|
12376
|
-
|
|
11994
|
+
name: unCapitalize(func.name),
|
|
11995
|
+
impl: ({
|
|
11996
|
+
ACTION,
|
|
11997
|
+
CONSUME,
|
|
11998
|
+
SUBRULE1,
|
|
11999
|
+
SUBRULE2,
|
|
12000
|
+
SUBRULE3,
|
|
12001
|
+
SUBRULE4,
|
|
12002
|
+
CONSUME1,
|
|
12003
|
+
OPTION,
|
|
12004
|
+
CONSUME2,
|
|
12005
|
+
CONSUME3
|
|
12006
|
+
}) => (C) => {
|
|
12007
|
+
const operator = CONSUME(func);
|
|
12008
|
+
CONSUME(symbols_exports.LParen);
|
|
12009
|
+
const arg1 = SUBRULE1(expression);
|
|
12010
|
+
CONSUME1(symbols_exports.comma);
|
|
12011
|
+
const arg2 = SUBRULE2(expression);
|
|
12012
|
+
CONSUME2(symbols_exports.comma);
|
|
12013
|
+
const arg3 = SUBRULE3(expression);
|
|
12014
|
+
const arg4 = OPTION(() => {
|
|
12015
|
+
CONSUME3(symbols_exports.comma);
|
|
12016
|
+
return SUBRULE4(expression);
|
|
12017
|
+
});
|
|
12018
|
+
const close = CONSUME(symbols_exports.RParen);
|
|
12019
|
+
return ACTION(() => C.factory.expressionOperation(
|
|
12020
|
+
operator.image,
|
|
12021
|
+
arg4 ? [arg1, arg2, arg3, arg4] : [arg1, arg2, arg3],
|
|
12022
|
+
C.factory.sourceLocation(operator, close)
|
|
12023
|
+
));
|
|
12024
|
+
}
|
|
12377
12025
|
};
|
|
12378
12026
|
}
|
|
12379
|
-
|
|
12380
|
-
var triplesNodePath = triplesNodeImpl("triplesNodePath", true);
|
|
12381
|
-
function blankNodePropertyListImpl(name, allowPaths) {
|
|
12382
|
-
const propertyPathNotEmptyImpl = allowPaths ? propertyListPathNotEmpty : propertyListNotEmpty;
|
|
12027
|
+
function funcGroupGraphPattern(func) {
|
|
12383
12028
|
return {
|
|
12384
|
-
name,
|
|
12029
|
+
name: unCapitalize(func.name),
|
|
12385
12030
|
impl: ({ ACTION, SUBRULE, CONSUME }) => (C) => {
|
|
12386
|
-
const
|
|
12387
|
-
const
|
|
12388
|
-
|
|
12389
|
-
|
|
12390
|
-
|
|
12391
|
-
|
|
12392
|
-
propList,
|
|
12393
|
-
C.factory.sourceLocation(startToken, endToken)
|
|
12031
|
+
const operator = CONSUME(func);
|
|
12032
|
+
const group = SUBRULE(groupGraphPattern);
|
|
12033
|
+
return ACTION(() => C.factory.expressionPatternOperation(
|
|
12034
|
+
operator.image,
|
|
12035
|
+
group,
|
|
12036
|
+
C.factory.sourceLocation(operator, group)
|
|
12394
12037
|
));
|
|
12395
|
-
},
|
|
12396
|
-
gImpl: ({ SUBRULE, PRINT, PRINT_WORD, HANDLE_LOC }) => (ast, { factory: F3 }) => {
|
|
12397
|
-
F3.printFilter(ast, () => PRINT("["));
|
|
12398
|
-
for (const triple of ast.triples) {
|
|
12399
|
-
HANDLE_LOC(triple, () => {
|
|
12400
|
-
if (F3.isTerm(triple.predicate) && F3.isTermVariable(triple.predicate)) {
|
|
12401
|
-
SUBRULE(varOrTerm, triple.predicate, void 0);
|
|
12402
|
-
} else {
|
|
12403
|
-
SUBRULE(pathGenerator, triple.predicate, void 0);
|
|
12404
|
-
}
|
|
12405
|
-
SUBRULE(graphNodePath, triple.object, void 0);
|
|
12406
|
-
F3.printFilter(ast, () => PRINT_WORD(";"));
|
|
12407
|
-
});
|
|
12408
|
-
}
|
|
12409
|
-
F3.printFilter(ast, () => PRINT("]"));
|
|
12410
12038
|
}
|
|
12411
12039
|
};
|
|
12412
12040
|
}
|
|
12413
|
-
|
|
12414
|
-
var blankNodePropertyListPath = blankNodePropertyListImpl("blankNodePropertyListPath", true);
|
|
12415
|
-
function graphNodeImpl(name, allowPaths) {
|
|
12416
|
-
const triplesNodeRule = allowPaths ? triplesNodePath : triplesNode;
|
|
12041
|
+
function baseAggregateFunc(func) {
|
|
12417
12042
|
return {
|
|
12418
|
-
name,
|
|
12419
|
-
impl: ({ SUBRULE,
|
|
12420
|
-
|
|
12421
|
-
|
|
12422
|
-
|
|
12423
|
-
|
|
12424
|
-
|
|
12425
|
-
|
|
12426
|
-
|
|
12427
|
-
|
|
12428
|
-
|
|
12429
|
-
|
|
12430
|
-
|
|
12431
|
-
|
|
12043
|
+
name: unCapitalize(func.name),
|
|
12044
|
+
impl: ({ ACTION, CONSUME, SUBRULE, OPTION }) => (C) => {
|
|
12045
|
+
const operator = CONSUME(func);
|
|
12046
|
+
CONSUME(symbols_exports.LParen);
|
|
12047
|
+
const distinct2 = OPTION(() => CONSUME(distinct));
|
|
12048
|
+
const expr1 = SUBRULE(expression);
|
|
12049
|
+
const close = CONSUME(symbols_exports.RParen);
|
|
12050
|
+
return ACTION(() => C.factory.aggregate(
|
|
12051
|
+
operator.image,
|
|
12052
|
+
distinct2 !== void 0,
|
|
12053
|
+
expr1,
|
|
12054
|
+
void 0,
|
|
12055
|
+
C.factory.sourceLocation(operator, close)
|
|
12056
|
+
));
|
|
12432
12057
|
}
|
|
12433
12058
|
};
|
|
12434
12059
|
}
|
|
12435
|
-
var graphNode = graphNodeImpl("graphNode", false);
|
|
12436
|
-
var graphNodePath = graphNodeImpl("graphNodePath", true);
|
|
12437
12060
|
|
|
12438
|
-
// ../../packages/rules-sparql-1-1/lib/grammar/
|
|
12439
|
-
var
|
|
12440
|
-
|
|
12441
|
-
|
|
12442
|
-
|
|
12443
|
-
|
|
12444
|
-
|
|
12445
|
-
|
|
12446
|
-
|
|
12447
|
-
|
|
12448
|
-
|
|
12061
|
+
// ../../packages/rules-sparql-1-1/lib/grammar/builtIn.ts
|
|
12062
|
+
var builtInStr = funcExpr1(BuildinCalls_exports.str);
|
|
12063
|
+
var builtInLang = funcExpr1(BuildinCalls_exports.lang);
|
|
12064
|
+
var builtInLangmatches = funcExpr2(BuildinCalls_exports.langmatches);
|
|
12065
|
+
var builtInDatatype = funcExpr1(BuildinCalls_exports.datatype);
|
|
12066
|
+
var builtInBound = funcVar1(BuildinCalls_exports.bound);
|
|
12067
|
+
var builtInIri = funcExpr1(BuildinCalls_exports.iri);
|
|
12068
|
+
var builtInUri = funcExpr1(BuildinCalls_exports.uri);
|
|
12069
|
+
var builtInBnodeSparqlJs = funcExprOrNil1(BuildinCalls_exports.bnode);
|
|
12070
|
+
var builtInRand = funcNil1(BuildinCalls_exports.rand);
|
|
12071
|
+
var builtInAbs = funcExpr1(BuildinCalls_exports.abs);
|
|
12072
|
+
var builtInCeil = funcExpr1(BuildinCalls_exports.ceil);
|
|
12073
|
+
var builtInFloor = funcExpr1(BuildinCalls_exports.floor);
|
|
12074
|
+
var builtInRound = funcExpr1(BuildinCalls_exports.round);
|
|
12075
|
+
var builtInConcat = funcExprList1(BuildinCalls_exports.concat);
|
|
12076
|
+
var builtInStrlen = funcExpr1(BuildinCalls_exports.strlen);
|
|
12077
|
+
var builtInUcase = funcExpr1(BuildinCalls_exports.ucase);
|
|
12078
|
+
var builtInLcase = funcExpr1(BuildinCalls_exports.lcase);
|
|
12079
|
+
var builtInEncode_for_uri = funcExpr1(BuildinCalls_exports.encode_for_uri);
|
|
12080
|
+
var builtInContains = funcExpr2(BuildinCalls_exports.contains);
|
|
12081
|
+
var builtInStrstarts = funcExpr2(BuildinCalls_exports.strstarts);
|
|
12082
|
+
var builtInStrends = funcExpr2(BuildinCalls_exports.strends);
|
|
12083
|
+
var builtInStrbefore = funcExpr2(BuildinCalls_exports.strbefore);
|
|
12084
|
+
var builtInStrafter = funcExpr2(BuildinCalls_exports.strafter);
|
|
12085
|
+
var builtInYear = funcExpr1(BuildinCalls_exports.year);
|
|
12086
|
+
var builtInMonth = funcExpr1(BuildinCalls_exports.month);
|
|
12087
|
+
var builtInDay = funcExpr1(BuildinCalls_exports.day);
|
|
12088
|
+
var builtInHours = funcExpr1(BuildinCalls_exports.hours);
|
|
12089
|
+
var builtInMinutes = funcExpr1(BuildinCalls_exports.minutes);
|
|
12090
|
+
var builtInSeconds = funcExpr1(BuildinCalls_exports.seconds);
|
|
12091
|
+
var builtInTimezone = funcExpr1(BuildinCalls_exports.timezone);
|
|
12092
|
+
var builtInTz = funcExpr1(BuildinCalls_exports.tz);
|
|
12093
|
+
var builtInNow = funcNil1(BuildinCalls_exports.now);
|
|
12094
|
+
var builtInUuid = funcNil1(BuildinCalls_exports.uuid);
|
|
12095
|
+
var builtInStruuid = funcNil1(BuildinCalls_exports.struuid);
|
|
12096
|
+
var builtInMd5 = funcExpr1(BuildinCalls_exports.md5);
|
|
12097
|
+
var builtInSha1 = funcExpr1(BuildinCalls_exports.sha1);
|
|
12098
|
+
var builtInSha256 = funcExpr1(BuildinCalls_exports.sha256);
|
|
12099
|
+
var builtInSha384 = funcExpr1(BuildinCalls_exports.sha384);
|
|
12100
|
+
var builtInSha512 = funcExpr1(BuildinCalls_exports.sha512);
|
|
12101
|
+
var builtInCoalesce = funcExprList1(BuildinCalls_exports.coalesce);
|
|
12102
|
+
var builtInIf = funcExpr3(BuildinCalls_exports.if_);
|
|
12103
|
+
var builtInStrlang = funcExpr2(BuildinCalls_exports.strlang);
|
|
12104
|
+
var builtInStrdt = funcExpr2(BuildinCalls_exports.strdt);
|
|
12105
|
+
var builtInSameterm = funcExpr2(BuildinCalls_exports.sameterm);
|
|
12106
|
+
var builtInIsiri = funcExpr1(BuildinCalls_exports.isiri);
|
|
12107
|
+
var builtInIsuri = funcExpr1(BuildinCalls_exports.isuri);
|
|
12108
|
+
var builtInIsblank = funcExpr1(BuildinCalls_exports.isblank);
|
|
12109
|
+
var builtInIsliteral = funcExpr1(BuildinCalls_exports.isliteral);
|
|
12110
|
+
var builtInIsnumeric = funcExpr1(BuildinCalls_exports.isnumeric);
|
|
12111
|
+
function builtInCallList(SUBRULE) {
|
|
12112
|
+
return [
|
|
12113
|
+
{ ALT: () => SUBRULE(aggregate) },
|
|
12114
|
+
{ ALT: () => SUBRULE(builtInStr) },
|
|
12115
|
+
{ ALT: () => SUBRULE(builtInLang) },
|
|
12116
|
+
{ ALT: () => SUBRULE(builtInLangmatches) },
|
|
12117
|
+
{ ALT: () => SUBRULE(builtInDatatype) },
|
|
12118
|
+
{ ALT: () => SUBRULE(builtInBound) },
|
|
12119
|
+
{ ALT: () => SUBRULE(builtInIri) },
|
|
12120
|
+
{ ALT: () => SUBRULE(builtInUri) },
|
|
12121
|
+
{ ALT: () => SUBRULE(builtInBnodeSparqlJs) },
|
|
12122
|
+
{ ALT: () => SUBRULE(builtInRand) },
|
|
12123
|
+
{ ALT: () => SUBRULE(builtInAbs) },
|
|
12124
|
+
{ ALT: () => SUBRULE(builtInCeil) },
|
|
12125
|
+
{ ALT: () => SUBRULE(builtInFloor) },
|
|
12126
|
+
{ ALT: () => SUBRULE(builtInRound) },
|
|
12127
|
+
{ ALT: () => SUBRULE(builtInConcat) },
|
|
12128
|
+
{ ALT: () => SUBRULE(substringExpression) },
|
|
12129
|
+
{ ALT: () => SUBRULE(builtInStrlen) },
|
|
12130
|
+
{ ALT: () => SUBRULE(strReplaceExpression) },
|
|
12131
|
+
{ ALT: () => SUBRULE(builtInUcase) },
|
|
12132
|
+
{ ALT: () => SUBRULE(builtInLcase) },
|
|
12133
|
+
{ ALT: () => SUBRULE(builtInEncode_for_uri) },
|
|
12134
|
+
{ ALT: () => SUBRULE(builtInContains) },
|
|
12135
|
+
{ ALT: () => SUBRULE(builtInStrstarts) },
|
|
12136
|
+
{ ALT: () => SUBRULE(builtInStrends) },
|
|
12137
|
+
{ ALT: () => SUBRULE(builtInStrbefore) },
|
|
12138
|
+
{ ALT: () => SUBRULE(builtInStrafter) },
|
|
12139
|
+
{ ALT: () => SUBRULE(builtInYear) },
|
|
12140
|
+
{ ALT: () => SUBRULE(builtInMonth) },
|
|
12141
|
+
{ ALT: () => SUBRULE(builtInDay) },
|
|
12142
|
+
{ ALT: () => SUBRULE(builtInHours) },
|
|
12143
|
+
{ ALT: () => SUBRULE(builtInMinutes) },
|
|
12144
|
+
{ ALT: () => SUBRULE(builtInSeconds) },
|
|
12145
|
+
{ ALT: () => SUBRULE(builtInTimezone) },
|
|
12146
|
+
{ ALT: () => SUBRULE(builtInTz) },
|
|
12147
|
+
{ ALT: () => SUBRULE(builtInNow) },
|
|
12148
|
+
{ ALT: () => SUBRULE(builtInUuid) },
|
|
12149
|
+
{ ALT: () => SUBRULE(builtInStruuid) },
|
|
12150
|
+
{ ALT: () => SUBRULE(builtInMd5) },
|
|
12151
|
+
{ ALT: () => SUBRULE(builtInSha1) },
|
|
12152
|
+
{ ALT: () => SUBRULE(builtInSha256) },
|
|
12153
|
+
{ ALT: () => SUBRULE(builtInSha384) },
|
|
12154
|
+
{ ALT: () => SUBRULE(builtInSha512) },
|
|
12155
|
+
{ ALT: () => SUBRULE(builtInCoalesce) },
|
|
12156
|
+
{ ALT: () => SUBRULE(builtInIf) },
|
|
12157
|
+
{ ALT: () => SUBRULE(builtInStrlang) },
|
|
12158
|
+
{ ALT: () => SUBRULE(builtInStrdt) },
|
|
12159
|
+
{ ALT: () => SUBRULE(builtInSameterm) },
|
|
12160
|
+
{ ALT: () => SUBRULE(builtInIsiri) },
|
|
12161
|
+
{ ALT: () => SUBRULE(builtInIsuri) },
|
|
12162
|
+
{ ALT: () => SUBRULE(builtInIsblank) },
|
|
12163
|
+
{ ALT: () => SUBRULE(builtInIsliteral) },
|
|
12164
|
+
{ ALT: () => SUBRULE(builtInIsnumeric) },
|
|
12165
|
+
{ ALT: () => SUBRULE(regexExpression) },
|
|
12166
|
+
{ ALT: () => SUBRULE(existsFunc) },
|
|
12167
|
+
{ ALT: () => SUBRULE(notExistsFunc) }
|
|
12168
|
+
];
|
|
12169
|
+
}
|
|
12170
|
+
var builtInCall = {
|
|
12171
|
+
name: "builtInCall",
|
|
12172
|
+
impl: ({ OR, SUBRULE, cache }) => () => {
|
|
12173
|
+
const cached = cache.get(builtInCall);
|
|
12174
|
+
if (cached) {
|
|
12175
|
+
return OR(cached);
|
|
12176
|
+
}
|
|
12177
|
+
const builtIns = builtInCallList(SUBRULE);
|
|
12178
|
+
cache.set(builtInCall, builtIns);
|
|
12179
|
+
return OR(builtIns);
|
|
12180
|
+
}
|
|
12181
|
+
};
|
|
12182
|
+
var regexExpression = funcExpr2or3(BuildinCalls_exports.regex);
|
|
12183
|
+
var substringExpression = funcExpr2or3(BuildinCalls_exports.substr);
|
|
12184
|
+
var strReplaceExpression = funcExpr3or4(BuildinCalls_exports.replace);
|
|
12185
|
+
var existsFunc = funcGroupGraphPattern(BuildinCalls_exports.exists);
|
|
12186
|
+
var notExistsFunc = funcGroupGraphPattern(BuildinCalls_exports.notexists);
|
|
12187
|
+
var aggregateCount = {
|
|
12188
|
+
name: unCapitalize(BuildinCalls_exports.count.name),
|
|
12189
|
+
impl: ({ ACTION, CONSUME, SUBRULE, OR, OPTION }) => (C) => {
|
|
12190
|
+
const operatorToken = CONSUME(BuildinCalls_exports.count);
|
|
12191
|
+
CONSUME(symbols_exports.LParen);
|
|
12192
|
+
const distinctToken = OPTION(() => CONSUME(distinct));
|
|
12193
|
+
const expressionVal = OR([
|
|
12194
|
+
{ ALT: () => {
|
|
12195
|
+
const starToken = CONSUME(symbols_exports.star);
|
|
12196
|
+
return ACTION(() => C.factory.wildcard(C.factory.sourceLocation(starToken)));
|
|
12197
|
+
} },
|
|
12198
|
+
{ ALT: () => SUBRULE(expression) }
|
|
12199
|
+
]);
|
|
12200
|
+
const closeToken = CONSUME(symbols_exports.RParen);
|
|
12201
|
+
return ACTION(() => {
|
|
12202
|
+
const F3 = C.factory;
|
|
12203
|
+
if (C.factory.isWildcard(expressionVal)) {
|
|
12204
|
+
return F3.aggregate(
|
|
12205
|
+
operatorToken.image,
|
|
12206
|
+
Boolean(distinctToken),
|
|
12207
|
+
expressionVal,
|
|
12208
|
+
void 0,
|
|
12209
|
+
C.factory.sourceLocation(operatorToken, closeToken)
|
|
12210
|
+
);
|
|
12211
|
+
}
|
|
12212
|
+
return F3.aggregate(
|
|
12213
|
+
operatorToken.image,
|
|
12214
|
+
Boolean(distinctToken),
|
|
12215
|
+
expressionVal,
|
|
12216
|
+
void 0,
|
|
12217
|
+
C.factory.sourceLocation(operatorToken, closeToken)
|
|
12218
|
+
);
|
|
12219
|
+
});
|
|
12220
|
+
}
|
|
12221
|
+
};
|
|
12222
|
+
var aggregateSum = baseAggregateFunc(BuildinCalls_exports.sum);
|
|
12223
|
+
var aggregateMin = baseAggregateFunc(BuildinCalls_exports.min);
|
|
12224
|
+
var aggregateMax = baseAggregateFunc(BuildinCalls_exports.max);
|
|
12225
|
+
var aggregateAvg = baseAggregateFunc(BuildinCalls_exports.avg);
|
|
12226
|
+
var aggregateSample = baseAggregateFunc(BuildinCalls_exports.sample);
|
|
12227
|
+
var aggregateGroup_concat = {
|
|
12228
|
+
name: unCapitalize(BuildinCalls_exports.groupConcat.name),
|
|
12229
|
+
impl: ({ ACTION, CONSUME, OPTION1, SUBRULE, OPTION2 }) => (C) => {
|
|
12230
|
+
const operatorToken = CONSUME(BuildinCalls_exports.groupConcat);
|
|
12231
|
+
CONSUME(symbols_exports.LParen);
|
|
12232
|
+
const distinctToken = OPTION1(() => CONSUME(distinct));
|
|
12233
|
+
const expr = SUBRULE(expression);
|
|
12234
|
+
const sep = OPTION2(() => {
|
|
12235
|
+
CONSUME(symbols_exports.semi);
|
|
12236
|
+
CONSUME(separator);
|
|
12237
|
+
CONSUME(symbols_exports.equal);
|
|
12238
|
+
return SUBRULE(string);
|
|
12239
|
+
});
|
|
12240
|
+
const closeToken = CONSUME(symbols_exports.RParen);
|
|
12241
|
+
return ACTION(() => {
|
|
12242
|
+
const F3 = C.factory;
|
|
12243
|
+
return F3.aggregate(
|
|
12244
|
+
operatorToken.image,
|
|
12245
|
+
Boolean(distinctToken),
|
|
12246
|
+
expr,
|
|
12247
|
+
sep?.value ?? " ",
|
|
12248
|
+
F3.sourceLocation(operatorToken, closeToken)
|
|
12249
|
+
);
|
|
12250
|
+
});
|
|
12449
12251
|
}
|
|
12450
12252
|
};
|
|
12451
|
-
var
|
|
12452
|
-
name: "
|
|
12453
|
-
impl: ({ ACTION, SUBRULE,
|
|
12454
|
-
const
|
|
12455
|
-
|
|
12456
|
-
|
|
12457
|
-
{ ALT: () => SUBRULE(
|
|
12253
|
+
var aggregate = {
|
|
12254
|
+
name: "aggregate",
|
|
12255
|
+
impl: ({ ACTION, SUBRULE, OR }) => (C) => {
|
|
12256
|
+
const wasInAggregate = ACTION(() => C.parseMode.has("inAggregate"));
|
|
12257
|
+
ACTION(() => C.parseMode.add("inAggregate"));
|
|
12258
|
+
const result = OR([
|
|
12259
|
+
{ ALT: () => SUBRULE(aggregateCount) },
|
|
12260
|
+
{ ALT: () => SUBRULE(aggregateSum) },
|
|
12261
|
+
{ ALT: () => SUBRULE(aggregateMin) },
|
|
12262
|
+
{ ALT: () => SUBRULE(aggregateMax) },
|
|
12263
|
+
{ ALT: () => SUBRULE(aggregateAvg) },
|
|
12264
|
+
{ ALT: () => SUBRULE(aggregateSample) },
|
|
12265
|
+
{ ALT: () => SUBRULE(aggregateGroup_concat) }
|
|
12458
12266
|
]);
|
|
12459
|
-
|
|
12460
|
-
|
|
12267
|
+
ACTION(() => !wasInAggregate && C.parseMode.delete("inAggregate"));
|
|
12268
|
+
ACTION(() => {
|
|
12269
|
+
if (!C.parseMode.has("canParseAggregate")) {
|
|
12270
|
+
throw new Error("Aggregates are only allowed in SELECT, HAVING, and ORDER BY clauses.");
|
|
12271
|
+
}
|
|
12272
|
+
if (C.parseMode.has("inAggregate")) {
|
|
12273
|
+
throw new Error("An aggregate function is not allowed within an aggregate function.");
|
|
12274
|
+
}
|
|
12275
|
+
});
|
|
12276
|
+
return result;
|
|
12461
12277
|
},
|
|
12462
12278
|
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { factory: F3 }) => {
|
|
12463
|
-
F3.printFilter(ast, () =>
|
|
12464
|
-
|
|
12465
|
-
|
|
12279
|
+
F3.printFilter(ast, () => {
|
|
12280
|
+
PRINT_WORD(ast.aggregation, "(");
|
|
12281
|
+
if (ast.distinct) {
|
|
12282
|
+
PRINT_WORD("DISTINCT");
|
|
12283
|
+
}
|
|
12284
|
+
});
|
|
12285
|
+
const arg = ast.expression[0];
|
|
12286
|
+
if (F3.isWildcard(arg)) {
|
|
12287
|
+
F3.printFilter(ast, () => PRINT_WORD("*"));
|
|
12288
|
+
} else {
|
|
12289
|
+
SUBRULE(expression, arg);
|
|
12466
12290
|
}
|
|
12467
|
-
F3.
|
|
12291
|
+
if (F3.isExpressionAggregateSeparator(ast)) {
|
|
12292
|
+
F3.printFilter(ast, () => PRINT_WORD(";", "SEPARATOR", "=", stringEscapedLexical(ast.separator)));
|
|
12293
|
+
}
|
|
12294
|
+
F3.printFilter(ast, () => PRINT_WORD(")"));
|
|
12468
12295
|
}
|
|
12469
12296
|
};
|
|
12470
|
-
|
|
12471
|
-
|
|
12297
|
+
|
|
12298
|
+
// ../../packages/rules-sparql-1-1/lib/grammar/general.ts
|
|
12299
|
+
var prologue = {
|
|
12300
|
+
name: "prologue",
|
|
12301
|
+
impl: ({ SUBRULE, MANY, OR }) => () => {
|
|
12302
|
+
const result = [];
|
|
12303
|
+
MANY(() => OR([
|
|
12304
|
+
{ ALT: () => result.push(SUBRULE(baseDecl2)) },
|
|
12305
|
+
// TODO: the [spec](https://www.w3.org/TR/sparql11-query/#iriRefs) says you cannot redefine prefixes.
|
|
12306
|
+
// We might need to check this.
|
|
12307
|
+
{ ALT: () => result.push(SUBRULE(prefixDecl2)) }
|
|
12308
|
+
]));
|
|
12309
|
+
return result;
|
|
12310
|
+
},
|
|
12472
12311
|
gImpl: ({ SUBRULE }) => (ast, { factory: F3 }) => {
|
|
12473
|
-
|
|
12474
|
-
|
|
12475
|
-
context
|
|
12476
|
-
|
|
12477
|
-
|
|
12478
|
-
|
|
12479
|
-
solutionModifiers: ast.solutionModifiers,
|
|
12480
|
-
values: ast.values,
|
|
12481
|
-
distinct: ast.distinct,
|
|
12482
|
-
reduced: ast.reduced
|
|
12483
|
-
}, ast.loc), void 0);
|
|
12484
|
-
} else if (ast.subType === "group") {
|
|
12485
|
-
SUBRULE(groupGraphPattern, ast, void 0);
|
|
12486
|
-
} else if (ast.subType === "bgp") {
|
|
12487
|
-
SUBRULE(triplesBlock, ast, void 0);
|
|
12488
|
-
} else {
|
|
12489
|
-
SUBRULE(graphPatternNotTriples, ast, void 0);
|
|
12312
|
+
for (const context of ast) {
|
|
12313
|
+
if (F3.isContextDefinitionBase(context)) {
|
|
12314
|
+
SUBRULE(baseDecl2, context);
|
|
12315
|
+
} else if (F3.isContextDefinitionPrefix(context)) {
|
|
12316
|
+
SUBRULE(prefixDecl2, context);
|
|
12317
|
+
}
|
|
12490
12318
|
}
|
|
12491
12319
|
}
|
|
12492
12320
|
};
|
|
12493
|
-
var
|
|
12494
|
-
name: "
|
|
12495
|
-
impl: ({ ACTION,
|
|
12496
|
-
const
|
|
12497
|
-
const
|
|
12498
|
-
|
|
12499
|
-
|
|
12500
|
-
|
|
12501
|
-
|
|
12502
|
-
|
|
12503
|
-
|
|
12504
|
-
|
|
12505
|
-
|
|
12506
|
-
|
|
12507
|
-
|
|
12508
|
-
|
|
12321
|
+
var baseDecl2 = {
|
|
12322
|
+
name: "baseDecl",
|
|
12323
|
+
impl: ({ ACTION, CONSUME, SUBRULE }) => (C) => {
|
|
12324
|
+
const base = CONSUME(baseDecl);
|
|
12325
|
+
const val = SUBRULE(iriFull);
|
|
12326
|
+
return ACTION(() => C.factory.contextDefinitionBase(C.factory.sourceLocation(base, val), val));
|
|
12327
|
+
},
|
|
12328
|
+
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { factory: F3 }) => {
|
|
12329
|
+
F3.printFilter(ast, () => PRINT_WORD("BASE"));
|
|
12330
|
+
SUBRULE(iri2, ast.value);
|
|
12331
|
+
}
|
|
12332
|
+
};
|
|
12333
|
+
var prefixDecl2 = {
|
|
12334
|
+
name: "prefixDecl",
|
|
12335
|
+
impl: ({ ACTION, CONSUME, SUBRULE }) => (C) => {
|
|
12336
|
+
const prefix = CONSUME(prefixDecl);
|
|
12337
|
+
const name = CONSUME(terminals_exports.pNameNs).image.slice(0, -1);
|
|
12338
|
+
const value = SUBRULE(iriFull);
|
|
12339
|
+
return ACTION(() => C.factory.contextDefinitionPrefix(C.factory.sourceLocation(prefix, value), name, value));
|
|
12340
|
+
},
|
|
12341
|
+
gImpl: ({ SUBRULE, PRINT_WORDS }) => (ast, { factory: F3 }) => {
|
|
12342
|
+
F3.printFilter(ast, () => {
|
|
12343
|
+
PRINT_WORDS("PREFIX", `${ast.key}:`);
|
|
12509
12344
|
});
|
|
12510
|
-
|
|
12511
|
-
return patterns;
|
|
12345
|
+
SUBRULE(iri2, ast.value);
|
|
12512
12346
|
}
|
|
12513
12347
|
};
|
|
12514
|
-
var
|
|
12515
|
-
name: "
|
|
12348
|
+
var verb = {
|
|
12349
|
+
name: "verb",
|
|
12516
12350
|
impl: ({ SUBRULE, OR }) => () => OR([
|
|
12517
|
-
{ ALT: () => SUBRULE(
|
|
12518
|
-
{ ALT: () => SUBRULE(
|
|
12519
|
-
|
|
12520
|
-
|
|
12521
|
-
|
|
12522
|
-
|
|
12523
|
-
|
|
12524
|
-
{
|
|
12351
|
+
{ ALT: () => SUBRULE(varOrIri) },
|
|
12352
|
+
{ ALT: () => SUBRULE(verbA) }
|
|
12353
|
+
])
|
|
12354
|
+
};
|
|
12355
|
+
var varOrTerm = {
|
|
12356
|
+
name: "varOrTerm",
|
|
12357
|
+
impl: ({ SUBRULE, OR }) => (C) => OR([
|
|
12358
|
+
{ GATE: () => C.parseMode.has("canParseVars"), ALT: () => SUBRULE(var_) },
|
|
12359
|
+
{ ALT: () => SUBRULE(graphTerm) }
|
|
12525
12360
|
]),
|
|
12526
|
-
gImpl: ({ SUBRULE }) => (ast) => {
|
|
12527
|
-
|
|
12528
|
-
|
|
12529
|
-
case "union":
|
|
12530
|
-
SUBRULE(groupOrUnionGraphPattern, ast, void 0);
|
|
12531
|
-
break;
|
|
12532
|
-
case "optional":
|
|
12533
|
-
SUBRULE(optionalGraphPattern, ast, void 0);
|
|
12534
|
-
break;
|
|
12535
|
-
case "minus":
|
|
12536
|
-
SUBRULE(minusGraphPattern, ast, void 0);
|
|
12537
|
-
break;
|
|
12538
|
-
case "graph":
|
|
12539
|
-
SUBRULE(graphGraphPattern, ast, void 0);
|
|
12540
|
-
break;
|
|
12541
|
-
case "service":
|
|
12542
|
-
SUBRULE(serviceGraphPattern, ast, void 0);
|
|
12543
|
-
break;
|
|
12544
|
-
case "filter":
|
|
12545
|
-
SUBRULE(filter3, ast, void 0);
|
|
12546
|
-
break;
|
|
12547
|
-
case "bind":
|
|
12548
|
-
SUBRULE(bind2, ast, void 0);
|
|
12549
|
-
break;
|
|
12550
|
-
case "values":
|
|
12551
|
-
SUBRULE(inlineData, ast, void 0);
|
|
12552
|
-
break;
|
|
12361
|
+
gImpl: ({ SUBRULE }) => (ast, { factory: F3 }) => {
|
|
12362
|
+
if (F3.isTermVariable(ast)) {
|
|
12363
|
+
return SUBRULE(var_, ast);
|
|
12553
12364
|
}
|
|
12365
|
+
return SUBRULE(graphTerm, ast);
|
|
12554
12366
|
}
|
|
12555
12367
|
};
|
|
12556
|
-
var
|
|
12557
|
-
name: "
|
|
12558
|
-
impl: ({
|
|
12559
|
-
|
|
12560
|
-
|
|
12561
|
-
|
|
12562
|
-
},
|
|
12563
|
-
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { factory: F3 }) => {
|
|
12564
|
-
F3.printFilter(ast, () => PRINT_WORD("OPTIONAL"));
|
|
12565
|
-
SUBRULE(groupGraphPattern, F3.patternGroup(ast.patterns, ast.loc), void 0);
|
|
12566
|
-
}
|
|
12368
|
+
var varOrIri = {
|
|
12369
|
+
name: "varOrIri",
|
|
12370
|
+
impl: ({ SUBRULE, OR }) => (C) => OR([
|
|
12371
|
+
{ GATE: () => C.parseMode.has("canParseVars"), ALT: () => SUBRULE(var_) },
|
|
12372
|
+
{ ALT: () => SUBRULE(iri2) }
|
|
12373
|
+
])
|
|
12567
12374
|
};
|
|
12568
|
-
var
|
|
12569
|
-
name: "
|
|
12570
|
-
impl: ({ ACTION,
|
|
12571
|
-
const
|
|
12572
|
-
|
|
12573
|
-
|
|
12574
|
-
|
|
12375
|
+
var var_ = {
|
|
12376
|
+
name: "var",
|
|
12377
|
+
impl: ({ ACTION, CONSUME, OR }) => (C) => {
|
|
12378
|
+
const varToken = OR([
|
|
12379
|
+
{ ALT: () => CONSUME(terminals_exports.var1) },
|
|
12380
|
+
{ ALT: () => CONSUME(terminals_exports.var2) }
|
|
12381
|
+
]);
|
|
12382
|
+
return ACTION(() => C.factory.variable(varToken.image.slice(1), C.factory.sourceLocation(varToken)));
|
|
12575
12383
|
},
|
|
12576
|
-
gImpl: ({
|
|
12577
|
-
F3.printFilter(ast, () => PRINT_WORD(
|
|
12578
|
-
SUBRULE(varOrTerm, ast.name, void 0);
|
|
12579
|
-
SUBRULE(groupGraphPattern, F3.patternGroup(ast.patterns, ast.loc), void 0);
|
|
12384
|
+
gImpl: ({ PRINT_WORD }) => (ast, { factory: F3 }) => {
|
|
12385
|
+
F3.printFilter(ast, () => PRINT_WORD(`?${ast.value}`));
|
|
12580
12386
|
}
|
|
12581
12387
|
};
|
|
12582
|
-
var
|
|
12583
|
-
name: "
|
|
12584
|
-
impl: ({ ACTION,
|
|
12585
|
-
|
|
12586
|
-
|
|
12587
|
-
|
|
12588
|
-
|
|
12589
|
-
|
|
12590
|
-
|
|
12591
|
-
|
|
12592
|
-
|
|
12593
|
-
|
|
12594
|
-
|
|
12595
|
-
|
|
12596
|
-
|
|
12597
|
-
|
|
12598
|
-
|
|
12599
|
-
|
|
12600
|
-
})
|
|
12601
|
-
|
|
12602
|
-
|
|
12388
|
+
var graphTerm = {
|
|
12389
|
+
name: "graphTerm",
|
|
12390
|
+
impl: ({ ACTION, SUBRULE, CONSUME, OR }) => (C) => OR([
|
|
12391
|
+
{ ALT: () => SUBRULE(iri2) },
|
|
12392
|
+
{ ALT: () => SUBRULE(rdfLiteral) },
|
|
12393
|
+
{ ALT: () => SUBRULE(numericLiteral) },
|
|
12394
|
+
{ ALT: () => SUBRULE(booleanLiteral) },
|
|
12395
|
+
{ GATE: () => C.parseMode.has("canCreateBlankNodes"), ALT: () => SUBRULE(blankNode) },
|
|
12396
|
+
{ ALT: () => {
|
|
12397
|
+
const tokenNil = CONSUME(terminals_exports.nil);
|
|
12398
|
+
return ACTION(() => C.factory.namedNode(C.factory.sourceLocation(tokenNil), "http://www.w3.org/1999/02/22-rdf-syntax-ns#nil" /* NIL */));
|
|
12399
|
+
} }
|
|
12400
|
+
]),
|
|
12401
|
+
gImpl: ({ SUBRULE }) => (ast, { factory: F3 }) => {
|
|
12402
|
+
if (F3.isTermNamed(ast)) {
|
|
12403
|
+
SUBRULE(iri2, ast);
|
|
12404
|
+
} else if (F3.isTermLiteral(ast)) {
|
|
12405
|
+
SUBRULE(rdfLiteral, ast);
|
|
12406
|
+
} else if (F3.isTermBlank(ast)) {
|
|
12407
|
+
SUBRULE(blankNode, ast);
|
|
12408
|
+
}
|
|
12603
12409
|
}
|
|
12604
12410
|
};
|
|
12605
|
-
|
|
12606
|
-
|
|
12607
|
-
|
|
12608
|
-
|
|
12609
|
-
|
|
12610
|
-
const expressionVal = SUBRULE(expression, void 0);
|
|
12611
|
-
CONSUME(as);
|
|
12612
|
-
const variable = SUBRULE(var_, void 0);
|
|
12613
|
-
const close = CONSUME(symbols_exports.RParen);
|
|
12614
|
-
return ACTION(() => C.factory.patternBind(expressionVal, variable, C.factory.sourceLocation(bind3, close)));
|
|
12615
|
-
},
|
|
12616
|
-
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { factory: F3 }) => {
|
|
12617
|
-
F3.printFilter(ast, () => PRINT_WORD("BIND", "("));
|
|
12618
|
-
SUBRULE(expression, ast.expression, void 0);
|
|
12619
|
-
F3.printFilter(ast, () => PRINT_WORD("AS"));
|
|
12620
|
-
SUBRULE(var_, ast.variable, void 0);
|
|
12621
|
-
F3.printFilter(ast, () => PRINT_WORD(")"));
|
|
12622
|
-
}
|
|
12411
|
+
|
|
12412
|
+
// ../../packages/rules-sparql-1-1/lib/grammar/propertyPaths.ts
|
|
12413
|
+
var path = {
|
|
12414
|
+
name: "path",
|
|
12415
|
+
impl: ({ SUBRULE }) => () => SUBRULE(pathAlternative)
|
|
12623
12416
|
};
|
|
12624
|
-
var
|
|
12625
|
-
name: "
|
|
12626
|
-
|
|
12627
|
-
|
|
12628
|
-
|
|
12629
|
-
|
|
12630
|
-
|
|
12631
|
-
|
|
12632
|
-
|
|
12633
|
-
|
|
12634
|
-
|
|
12635
|
-
|
|
12636
|
-
|
|
12637
|
-
|
|
12638
|
-
|
|
12639
|
-
|
|
12640
|
-
|
|
12641
|
-
F3.printFilter(ast, () => PRINT_WORD("("));
|
|
12642
|
-
for (const variable of variables) {
|
|
12643
|
-
if (mapping[variable] === void 0) {
|
|
12644
|
-
F3.printFilter(ast, () => PRINT_WORD("UNDEF"));
|
|
12645
|
-
} else {
|
|
12646
|
-
SUBRULE(graphNodePath, mapping[variable], void 0);
|
|
12417
|
+
var pathGenerator = {
|
|
12418
|
+
name: "path",
|
|
12419
|
+
gImpl: ({ PRINT, SUBRULE }) => (ast, { factory: F3 }, braces = true) => {
|
|
12420
|
+
if (F3.isTerm(ast) && F3.isTermNamed(ast)) {
|
|
12421
|
+
SUBRULE(iri2, ast);
|
|
12422
|
+
} else {
|
|
12423
|
+
F3.printFilter(ast, () => braces && PRINT("("));
|
|
12424
|
+
switch (ast.subType) {
|
|
12425
|
+
case "|":
|
|
12426
|
+
case "/": {
|
|
12427
|
+
const [head2, ...tail] = ast.items;
|
|
12428
|
+
SUBRULE(pathGenerator, head2, braces);
|
|
12429
|
+
for (const val of tail) {
|
|
12430
|
+
F3.printFilter(ast, () => PRINT(ast.subType));
|
|
12431
|
+
SUBRULE(pathGenerator, val, braces);
|
|
12432
|
+
}
|
|
12433
|
+
break;
|
|
12647
12434
|
}
|
|
12435
|
+
case "^":
|
|
12436
|
+
F3.printFilter(ast, () => PRINT("^"));
|
|
12437
|
+
SUBRULE(pathGenerator, ast.items[0], braces);
|
|
12438
|
+
break;
|
|
12439
|
+
case "?":
|
|
12440
|
+
case "*":
|
|
12441
|
+
case "+":
|
|
12442
|
+
SUBRULE(pathGenerator, ast.items[0], braces);
|
|
12443
|
+
F3.printFilter(ast, () => PRINT(ast.subType));
|
|
12444
|
+
break;
|
|
12445
|
+
case "!":
|
|
12446
|
+
F3.printFilter(ast, () => PRINT("!"));
|
|
12447
|
+
F3.printFilter(ast, () => PRINT("("));
|
|
12448
|
+
SUBRULE(pathGenerator, ast.items[0], false);
|
|
12449
|
+
F3.printFilter(ast, () => PRINT(")"));
|
|
12450
|
+
break;
|
|
12648
12451
|
}
|
|
12649
|
-
F3.printFilter(ast, () =>
|
|
12452
|
+
F3.printFilter(ast, () => braces && PRINT(")"));
|
|
12650
12453
|
}
|
|
12651
|
-
F3.printFilter(ast, () => PRINT_WORD("}"));
|
|
12652
12454
|
}
|
|
12653
12455
|
};
|
|
12654
|
-
|
|
12655
|
-
|
|
12656
|
-
|
|
12657
|
-
{
|
|
12658
|
-
|
|
12456
|
+
function pathChainHelper(name, SEP, subType, subRule) {
|
|
12457
|
+
return {
|
|
12458
|
+
name,
|
|
12459
|
+
impl: ({ ACTION, CONSUME, SUBRULE1, SUBRULE2, MANY }) => (C) => {
|
|
12460
|
+
const head2 = SUBRULE1(subRule);
|
|
12461
|
+
let tailEnd = head2;
|
|
12462
|
+
const tail = [];
|
|
12463
|
+
MANY(() => {
|
|
12464
|
+
CONSUME(SEP);
|
|
12465
|
+
tailEnd = SUBRULE2(subRule);
|
|
12466
|
+
tail.push(tailEnd);
|
|
12467
|
+
});
|
|
12468
|
+
return ACTION(() => tail.length === 0 ? head2 : C.factory.path(subType, [head2, ...tail], C.factory.sourceLocation(head2, tailEnd)));
|
|
12469
|
+
}
|
|
12470
|
+
};
|
|
12471
|
+
}
|
|
12472
|
+
var pathEltOrInverse = {
|
|
12473
|
+
name: "pathEltOrInverse",
|
|
12474
|
+
impl: ({ ACTION, CONSUME, SUBRULE1, SUBRULE2, OR }) => (C) => OR([
|
|
12475
|
+
{ ALT: () => SUBRULE1(pathElt) },
|
|
12476
|
+
{ ALT: () => {
|
|
12477
|
+
const hat2 = CONSUME(symbols_exports.hat);
|
|
12478
|
+
const item = SUBRULE2(pathElt);
|
|
12479
|
+
return ACTION(() => C.factory.path("^", [item], C.factory.sourceLocation(hat2, item)));
|
|
12480
|
+
} }
|
|
12659
12481
|
])
|
|
12660
12482
|
};
|
|
12661
|
-
var
|
|
12662
|
-
|
|
12663
|
-
|
|
12664
|
-
|
|
12665
|
-
|
|
12666
|
-
|
|
12667
|
-
|
|
12668
|
-
|
|
12669
|
-
ACTION(() => {
|
|
12670
|
-
res.push({ [varVal.value]: value });
|
|
12671
|
-
});
|
|
12672
|
-
});
|
|
12673
|
-
const close = CONSUME(symbols_exports.RCurly);
|
|
12674
|
-
return ACTION(() => C.factory.wrap(res, C.factory.sourceLocation(varVal, close)));
|
|
12483
|
+
var pathSequence = pathChainHelper("pathSequence", symbols_exports.slash, "/", pathEltOrInverse);
|
|
12484
|
+
var pathAlternative = pathChainHelper("pathAlternative", symbols_exports.pipe, "|", pathSequence);
|
|
12485
|
+
var pathElt = {
|
|
12486
|
+
name: "pathElt",
|
|
12487
|
+
impl: ({ ACTION, SUBRULE, OPTION }) => (C) => {
|
|
12488
|
+
const item = SUBRULE(pathPrimary);
|
|
12489
|
+
const modification = OPTION(() => SUBRULE(pathMod));
|
|
12490
|
+
return ACTION(() => modification === void 0 ? item : C.factory.path(modification.image, [item], C.factory.sourceLocation(item, modification)));
|
|
12675
12491
|
}
|
|
12676
12492
|
};
|
|
12677
|
-
var
|
|
12678
|
-
name: "
|
|
12679
|
-
impl: ({
|
|
12680
|
-
|
|
12681
|
-
|
|
12682
|
-
|
|
12683
|
-
|
|
12684
|
-
|
|
12685
|
-
|
|
12686
|
-
|
|
12687
|
-
|
|
12688
|
-
|
|
12689
|
-
|
|
12690
|
-
|
|
12691
|
-
|
|
12493
|
+
var pathMod = {
|
|
12494
|
+
name: "pathMod",
|
|
12495
|
+
impl: ({ CONSUME, OR }) => () => OR([
|
|
12496
|
+
{ ALT: () => CONSUME(symbols_exports.question) },
|
|
12497
|
+
{ ALT: () => CONSUME(symbols_exports.star) },
|
|
12498
|
+
{ ALT: () => CONSUME(symbols_exports.opPlus) }
|
|
12499
|
+
])
|
|
12500
|
+
};
|
|
12501
|
+
var pathPrimary = {
|
|
12502
|
+
name: "pathPrimary",
|
|
12503
|
+
impl: ({ SUBRULE, CONSUME, OR }) => () => OR([
|
|
12504
|
+
{ ALT: () => SUBRULE(iri2) },
|
|
12505
|
+
{ ALT: () => SUBRULE(verbA) },
|
|
12506
|
+
{ ALT: () => SUBRULE(pathNegatedPropertySet) },
|
|
12507
|
+
{ ALT: () => {
|
|
12508
|
+
CONSUME(symbols_exports.LParen);
|
|
12509
|
+
const resRecursive = SUBRULE(path);
|
|
12510
|
+
CONSUME(symbols_exports.RParen);
|
|
12511
|
+
return resRecursive;
|
|
12512
|
+
} }
|
|
12513
|
+
])
|
|
12514
|
+
};
|
|
12515
|
+
var pathNegatedPropertySet = {
|
|
12516
|
+
name: "pathNegatedPropertySet",
|
|
12517
|
+
impl: ({ ACTION, CONSUME, SUBRULE1, SUBRULE2, SUBRULE3, OR, MANY }) => (C) => {
|
|
12518
|
+
const exclamation2 = CONSUME(symbols_exports.exclamation);
|
|
12692
12519
|
return OR([
|
|
12693
12520
|
{ ALT: () => {
|
|
12694
|
-
const
|
|
12695
|
-
|
|
12696
|
-
MANY1(() => {
|
|
12697
|
-
CONSUME2(terminals_exports.nil);
|
|
12698
|
-
res.push({});
|
|
12699
|
-
});
|
|
12700
|
-
const close = CONSUME1(symbols_exports.RCurly);
|
|
12701
|
-
return ACTION(() => C.factory.wrap(res, C.factory.sourceLocation(nil2, close)));
|
|
12521
|
+
const noAlternative = SUBRULE1(pathOneInPropertySet);
|
|
12522
|
+
return ACTION(() => C.factory.path("!", [noAlternative], C.factory.sourceLocation(exclamation2, noAlternative)));
|
|
12702
12523
|
} },
|
|
12703
12524
|
{ ALT: () => {
|
|
12704
|
-
const open =
|
|
12705
|
-
|
|
12706
|
-
|
|
12525
|
+
const open = CONSUME(symbols_exports.LParen);
|
|
12526
|
+
const head2 = SUBRULE2(pathOneInPropertySet);
|
|
12527
|
+
const tail = [];
|
|
12528
|
+
MANY(() => {
|
|
12529
|
+
CONSUME(symbols_exports.pipe);
|
|
12530
|
+
const item = SUBRULE3(pathOneInPropertySet);
|
|
12531
|
+
tail.push(item);
|
|
12707
12532
|
});
|
|
12708
|
-
|
|
12709
|
-
|
|
12710
|
-
|
|
12711
|
-
|
|
12712
|
-
|
|
12713
|
-
|
|
12714
|
-
|
|
12715
|
-
|
|
12716
|
-
|
|
12717
|
-
|
|
12718
|
-
|
|
12719
|
-
ACTION(() => {
|
|
12720
|
-
currentRow[vars[parsedValues].value] = value;
|
|
12721
|
-
parsedValues++;
|
|
12722
|
-
});
|
|
12723
|
-
});
|
|
12724
|
-
CONSUME2(symbols_exports.RParen);
|
|
12725
|
-
ACTION(() => {
|
|
12726
|
-
res.push(currentRow);
|
|
12727
|
-
if (vars.length !== parsedValues) {
|
|
12728
|
-
throw new Error("Number of dataBlockValues does not match number of variables. Too few values.");
|
|
12729
|
-
}
|
|
12730
|
-
});
|
|
12533
|
+
const close = CONSUME(symbols_exports.RParen);
|
|
12534
|
+
return ACTION(() => {
|
|
12535
|
+
const F3 = C.factory;
|
|
12536
|
+
if (tail.length === 0) {
|
|
12537
|
+
return F3.path("!", [head2], F3.sourceLocation(exclamation2, close));
|
|
12538
|
+
}
|
|
12539
|
+
return F3.path(
|
|
12540
|
+
"!",
|
|
12541
|
+
[F3.path("|", [head2, ...tail], F3.sourceLocation(open, close))],
|
|
12542
|
+
F3.sourceLocation(exclamation2, close)
|
|
12543
|
+
);
|
|
12731
12544
|
});
|
|
12732
|
-
const close = CONSUME2(symbols_exports.RCurly);
|
|
12733
|
-
return ACTION(() => C.factory.wrap(res, C.factory.sourceLocation(open, close)));
|
|
12734
12545
|
} }
|
|
12735
12546
|
]);
|
|
12736
12547
|
}
|
|
12737
12548
|
};
|
|
12738
|
-
var
|
|
12739
|
-
name: "
|
|
12740
|
-
impl: ({
|
|
12741
|
-
{ ALT: () =>
|
|
12742
|
-
{ ALT: () =>
|
|
12743
|
-
{ ALT: () => SUBRULE(numericLiteral, void 0) },
|
|
12744
|
-
{ ALT: () => SUBRULE(booleanLiteral, void 0) },
|
|
12549
|
+
var pathOneInPropertySet = {
|
|
12550
|
+
name: "pathOneInPropertySet",
|
|
12551
|
+
impl: ({ ACTION, CONSUME, SUBRULE1, SUBRULE2, OR1, OR2 }) => (C) => OR1([
|
|
12552
|
+
{ ALT: () => SUBRULE1(iri2) },
|
|
12553
|
+
{ ALT: () => SUBRULE1(verbA) },
|
|
12745
12554
|
{ ALT: () => {
|
|
12746
|
-
CONSUME(
|
|
12747
|
-
|
|
12555
|
+
const hat2 = CONSUME(symbols_exports.hat);
|
|
12556
|
+
const item = OR2([
|
|
12557
|
+
{ ALT: () => SUBRULE2(iri2) },
|
|
12558
|
+
{ ALT: () => SUBRULE2(verbA) }
|
|
12559
|
+
]);
|
|
12560
|
+
return ACTION(() => C.factory.path("^", [item], C.factory.sourceLocation(hat2, item)));
|
|
12748
12561
|
} }
|
|
12749
12562
|
])
|
|
12750
12563
|
};
|
|
12751
|
-
var minusGraphPattern = {
|
|
12752
|
-
name: "minusGraphPattern",
|
|
12753
|
-
impl: ({ ACTION, SUBRULE, CONSUME }) => (C) => {
|
|
12754
|
-
const minus2 = CONSUME(minus);
|
|
12755
|
-
const group = SUBRULE(groupGraphPattern, void 0);
|
|
12756
|
-
return ACTION(() => C.factory.patternMinus(group.patterns, C.factory.sourceLocation(minus2, group)));
|
|
12757
|
-
},
|
|
12758
|
-
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { factory: F3 }) => {
|
|
12759
|
-
F3.printFilter(ast, () => PRINT_WORD("MINUS"));
|
|
12760
|
-
SUBRULE(groupGraphPattern, F3.patternGroup(ast.patterns, ast.loc), void 0);
|
|
12761
|
-
}
|
|
12762
|
-
};
|
|
12763
|
-
var groupOrUnionGraphPattern = {
|
|
12764
|
-
name: "groupOrUnionGraphPattern",
|
|
12765
|
-
impl: ({ ACTION, MANY, SUBRULE1, SUBRULE2, CONSUME }) => (C) => {
|
|
12766
|
-
const groups = [];
|
|
12767
|
-
const group = SUBRULE1(groupGraphPattern, void 0);
|
|
12768
|
-
groups.push(group);
|
|
12769
|
-
MANY(() => {
|
|
12770
|
-
CONSUME(union);
|
|
12771
|
-
const group2 = SUBRULE2(groupGraphPattern, void 0);
|
|
12772
|
-
groups.push(group2);
|
|
12773
|
-
});
|
|
12774
|
-
return ACTION(() => groups.length === 1 ? groups[0] : C.factory.patternUnion(
|
|
12775
|
-
groups,
|
|
12776
|
-
C.factory.sourceLocation(group, groups.at(-1))
|
|
12777
|
-
));
|
|
12778
|
-
},
|
|
12779
|
-
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { factory: F3 }) => {
|
|
12780
|
-
if (F3.isPatternUnion(ast)) {
|
|
12781
|
-
const [head2, ...tail] = ast.patterns;
|
|
12782
|
-
SUBRULE(groupGraphPattern, head2, void 0);
|
|
12783
|
-
for (const pattern of tail) {
|
|
12784
|
-
F3.printFilter(ast, () => PRINT_WORD("UNION"));
|
|
12785
|
-
SUBRULE(groupGraphPattern, pattern, void 0);
|
|
12786
|
-
}
|
|
12787
|
-
} else {
|
|
12788
|
-
SUBRULE(groupGraphPattern, ast, void 0);
|
|
12789
|
-
}
|
|
12790
|
-
}
|
|
12791
|
-
};
|
|
12792
|
-
var filter3 = {
|
|
12793
|
-
name: "filter",
|
|
12794
|
-
impl: ({ ACTION, SUBRULE, CONSUME }) => (C) => {
|
|
12795
|
-
const filterToken = CONSUME(filter2);
|
|
12796
|
-
const expression2 = SUBRULE(constraint, void 0);
|
|
12797
|
-
return ACTION(() => C.factory.patternFilter(expression2, C.factory.sourceLocation(filterToken, expression2)));
|
|
12798
|
-
},
|
|
12799
|
-
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { factory: F3 }) => {
|
|
12800
|
-
F3.printFilter(ast, () => PRINT_WORD("FILTER ("));
|
|
12801
|
-
SUBRULE(expression, ast.expression, void 0);
|
|
12802
|
-
F3.printFilter(ast, () => PRINT_WORD(")"));
|
|
12803
|
-
}
|
|
12804
|
-
};
|
|
12805
|
-
var constraint = {
|
|
12806
|
-
name: "constraint",
|
|
12807
|
-
impl: ({ SUBRULE, OR }) => () => OR([
|
|
12808
|
-
{ ALT: () => SUBRULE(brackettedExpression, void 0) },
|
|
12809
|
-
{ ALT: () => SUBRULE(builtInCall, void 0) },
|
|
12810
|
-
{ ALT: () => SUBRULE(functionCall, void 0) }
|
|
12811
|
-
])
|
|
12812
|
-
};
|
|
12813
|
-
var functionCall = {
|
|
12814
|
-
name: "functionCall",
|
|
12815
|
-
impl: ({ ACTION, SUBRULE }) => (C) => {
|
|
12816
|
-
const func = SUBRULE(iri2, void 0);
|
|
12817
|
-
const args = SUBRULE(argList, void 0);
|
|
12818
|
-
return ACTION(() => C.factory.expressionFunctionCall(
|
|
12819
|
-
func,
|
|
12820
|
-
args.val.args,
|
|
12821
|
-
args.val.distinct,
|
|
12822
|
-
C.factory.sourceLocation(func, args)
|
|
12823
|
-
));
|
|
12824
|
-
}
|
|
12825
|
-
};
|
|
12826
12564
|
|
|
12827
|
-
// ../../packages/rules-sparql-1-1/lib/
|
|
12828
|
-
function
|
|
12829
|
-
return {
|
|
12830
|
-
|
|
12831
|
-
|
|
12832
|
-
|
|
12833
|
-
|
|
12834
|
-
|
|
12835
|
-
|
|
12836
|
-
|
|
12837
|
-
|
|
12838
|
-
|
|
12839
|
-
|
|
12840
|
-
|
|
12841
|
-
|
|
12842
|
-
|
|
12843
|
-
|
|
12844
|
-
|
|
12845
|
-
|
|
12846
|
-
|
|
12847
|
-
|
|
12848
|
-
const arg2 = SUBRULE2(expression, void 0);
|
|
12849
|
-
const close = CONSUME(symbols_exports.RParen);
|
|
12850
|
-
return ACTION(() => C.factory.expressionOperation(operator.image, [arg1, arg2], C.factory.sourceLocation(operator, close)));
|
|
12851
|
-
}
|
|
12565
|
+
// ../../packages/rules-sparql-1-1/lib/grammar/tripleBlock.ts
|
|
12566
|
+
function triplesDotSeperated(triplesSameSubjectSubrule) {
|
|
12567
|
+
return ({ ACTION, AT_LEAST_ONE, SUBRULE, CONSUME, OPTION }) => (C) => {
|
|
12568
|
+
const triples = [];
|
|
12569
|
+
let parsedDot = true;
|
|
12570
|
+
let dotToken;
|
|
12571
|
+
AT_LEAST_ONE({
|
|
12572
|
+
GATE: () => parsedDot,
|
|
12573
|
+
DEF: () => {
|
|
12574
|
+
parsedDot = false;
|
|
12575
|
+
const template = SUBRULE(triplesSameSubjectSubrule);
|
|
12576
|
+
ACTION(() => {
|
|
12577
|
+
triples.push(...template);
|
|
12578
|
+
});
|
|
12579
|
+
OPTION(() => {
|
|
12580
|
+
dotToken = CONSUME(symbols_exports.dot);
|
|
12581
|
+
parsedDot = true;
|
|
12582
|
+
});
|
|
12583
|
+
}
|
|
12584
|
+
});
|
|
12585
|
+
return ACTION(() => C.factory.patternBgp(triples, C.factory.sourceLocation(...triples, dotToken)));
|
|
12852
12586
|
};
|
|
12853
12587
|
}
|
|
12854
|
-
|
|
12855
|
-
|
|
12856
|
-
|
|
12857
|
-
|
|
12858
|
-
|
|
12859
|
-
|
|
12860
|
-
|
|
12861
|
-
|
|
12862
|
-
|
|
12863
|
-
|
|
12864
|
-
|
|
12865
|
-
|
|
12866
|
-
|
|
12588
|
+
var triplesBlock = {
|
|
12589
|
+
name: "triplesBlock",
|
|
12590
|
+
impl: (implArgs) => (C) => triplesDotSeperated(triplesSameSubjectPath)(implArgs)(C),
|
|
12591
|
+
gImpl: ({ SUBRULE, PRINT_WORD, HANDLE_LOC }) => (ast, { factory: F3 }) => {
|
|
12592
|
+
for (const [index, triple] of ast.triples.entries()) {
|
|
12593
|
+
HANDLE_LOC(triple, () => {
|
|
12594
|
+
const nextTriple = ast.triples.at(index);
|
|
12595
|
+
if (F3.isTripleCollection(triple)) {
|
|
12596
|
+
SUBRULE(graphNodePath, triple);
|
|
12597
|
+
F3.printFilter(triple, () => PRINT_WORD("."));
|
|
12598
|
+
} else {
|
|
12599
|
+
SUBRULE(graphNodePath, triple.subject);
|
|
12600
|
+
if (F3.isTerm(triple.predicate) && F3.isTermVariable(triple.predicate)) {
|
|
12601
|
+
SUBRULE(varOrTerm, triple.predicate);
|
|
12602
|
+
} else {
|
|
12603
|
+
SUBRULE(pathGenerator, triple.predicate, void 0);
|
|
12604
|
+
}
|
|
12605
|
+
SUBRULE(graphNodePath, triple.object);
|
|
12606
|
+
if (nextTriple === void 0 || F3.isTripleCollection(nextTriple) || !F3.isSourceLocationNoMaterialize(nextTriple.subject.loc)) {
|
|
12607
|
+
F3.printFilter(ast, () => PRINT_WORD("."));
|
|
12608
|
+
} else if (F3.isSourceLocationNoMaterialize(nextTriple.predicate.loc)) {
|
|
12609
|
+
F3.printFilter(ast, () => PRINT_WORD(","));
|
|
12610
|
+
} else {
|
|
12611
|
+
F3.printFilter(ast, () => PRINT_WORD(";"));
|
|
12612
|
+
}
|
|
12613
|
+
}
|
|
12614
|
+
});
|
|
12867
12615
|
}
|
|
12616
|
+
}
|
|
12617
|
+
};
|
|
12618
|
+
function triplesSameSubjectImpl(name, allowPaths) {
|
|
12619
|
+
return {
|
|
12620
|
+
name,
|
|
12621
|
+
impl: ({ ACTION, SUBRULE, OR }) => (C) => OR([
|
|
12622
|
+
{ ALT: () => {
|
|
12623
|
+
const subject = SUBRULE(varOrTerm);
|
|
12624
|
+
const res = SUBRULE(
|
|
12625
|
+
allowPaths ? propertyListPathNotEmpty : propertyListNotEmpty,
|
|
12626
|
+
ACTION(() => C.factory.dematerialized(subject))
|
|
12627
|
+
);
|
|
12628
|
+
return ACTION(() => {
|
|
12629
|
+
if (res.length > 0) {
|
|
12630
|
+
res[0].subject = subject;
|
|
12631
|
+
res[0].loc = C.factory.sourceLocation(subject, res[0]);
|
|
12632
|
+
}
|
|
12633
|
+
return res;
|
|
12634
|
+
});
|
|
12635
|
+
} },
|
|
12636
|
+
{ ALT: () => {
|
|
12637
|
+
const subjectNode = SUBRULE(allowPaths ? triplesNodePath : triplesNode);
|
|
12638
|
+
const restNode = SUBRULE(
|
|
12639
|
+
allowPaths ? propertyListPath : propertyList,
|
|
12640
|
+
ACTION(() => C.factory.graphNodeIdentifier(subjectNode))
|
|
12641
|
+
);
|
|
12642
|
+
return ACTION(() => {
|
|
12643
|
+
if (restNode.length === 0) {
|
|
12644
|
+
return [subjectNode];
|
|
12645
|
+
}
|
|
12646
|
+
restNode[0].subject = subjectNode;
|
|
12647
|
+
restNode[0].loc = C.factory.sourceLocation(subjectNode, restNode[0]);
|
|
12648
|
+
return restNode;
|
|
12649
|
+
});
|
|
12650
|
+
} }
|
|
12651
|
+
])
|
|
12868
12652
|
};
|
|
12869
12653
|
}
|
|
12870
|
-
|
|
12654
|
+
var triplesSameSubject = triplesSameSubjectImpl("triplesSameSubject", false);
|
|
12655
|
+
var triplesSameSubjectPath = triplesSameSubjectImpl("triplesSameSubjectPath", true);
|
|
12656
|
+
var triplesTemplate = {
|
|
12657
|
+
name: "triplesTemplate",
|
|
12658
|
+
impl: triplesDotSeperated(triplesSameSubject)
|
|
12659
|
+
};
|
|
12660
|
+
function propertyListImpl(name, allowPaths) {
|
|
12871
12661
|
return {
|
|
12872
|
-
name
|
|
12873
|
-
impl: ({
|
|
12874
|
-
const operator = CONSUME(func);
|
|
12875
|
-
CONSUME(symbols_exports.LParen);
|
|
12876
|
-
const arg = SUBRULE(var_, void 0);
|
|
12877
|
-
const close = CONSUME(symbols_exports.RParen);
|
|
12878
|
-
return ACTION(() => C.factory.expressionOperation(operator.image, [arg], C.factory.sourceLocation(operator, close)));
|
|
12879
|
-
}
|
|
12662
|
+
name,
|
|
12663
|
+
impl: ({ SUBRULE, OPTION }) => (_, subject) => OPTION(() => SUBRULE(allowPaths ? propertyListPathNotEmpty : propertyListNotEmpty, subject)) ?? []
|
|
12880
12664
|
};
|
|
12881
12665
|
}
|
|
12882
|
-
|
|
12666
|
+
var propertyList = propertyListImpl("propertyList", false);
|
|
12667
|
+
var propertyListPath = propertyListImpl("propertyListPath", true);
|
|
12668
|
+
function propertyListNotEmptyImplementation(name, allowPaths) {
|
|
12883
12669
|
return {
|
|
12884
|
-
name
|
|
12885
|
-
impl: ({ ACTION, CONSUME,
|
|
12886
|
-
const
|
|
12887
|
-
|
|
12888
|
-
|
|
12889
|
-
|
|
12890
|
-
|
|
12891
|
-
|
|
12892
|
-
|
|
12893
|
-
|
|
12894
|
-
|
|
12895
|
-
|
|
12896
|
-
|
|
12897
|
-
|
|
12898
|
-
|
|
12670
|
+
name,
|
|
12671
|
+
impl: ({ ACTION, CONSUME, AT_LEAST_ONE, SUBRULE1, MANY2, OR1 }) => (_, subject) => {
|
|
12672
|
+
const result = [];
|
|
12673
|
+
let parsedSemi = true;
|
|
12674
|
+
AT_LEAST_ONE({
|
|
12675
|
+
GATE: () => parsedSemi,
|
|
12676
|
+
DEF: () => {
|
|
12677
|
+
parsedSemi = false;
|
|
12678
|
+
const predicate = allowPaths ? OR1([
|
|
12679
|
+
{ ALT: () => SUBRULE1(verbPath) },
|
|
12680
|
+
{ ALT: () => SUBRULE1(verbSimple) }
|
|
12681
|
+
]) : SUBRULE1(verb);
|
|
12682
|
+
const triples = SUBRULE1(
|
|
12683
|
+
allowPaths ? objectListPath : objectList,
|
|
12684
|
+
subject,
|
|
12685
|
+
predicate
|
|
12686
|
+
);
|
|
12687
|
+
MANY2(() => {
|
|
12688
|
+
CONSUME(symbols_exports.semi);
|
|
12689
|
+
parsedSemi = true;
|
|
12690
|
+
});
|
|
12691
|
+
ACTION(() => {
|
|
12692
|
+
result.push(...triples);
|
|
12693
|
+
});
|
|
12694
|
+
}
|
|
12695
|
+
});
|
|
12696
|
+
return result;
|
|
12899
12697
|
}
|
|
12900
12698
|
};
|
|
12901
12699
|
}
|
|
12902
|
-
|
|
12700
|
+
var propertyListNotEmpty = propertyListNotEmptyImplementation("propertyListNotEmpty", false);
|
|
12701
|
+
var propertyListPathNotEmpty = propertyListNotEmptyImplementation("propertyListPathNotEmpty", true);
|
|
12702
|
+
var verbPath = {
|
|
12703
|
+
name: "verbPath",
|
|
12704
|
+
impl: ({ SUBRULE }) => () => SUBRULE(path)
|
|
12705
|
+
};
|
|
12706
|
+
var verbSimple = {
|
|
12707
|
+
name: "verbSimple",
|
|
12708
|
+
impl: ({ SUBRULE }) => () => SUBRULE(var_)
|
|
12709
|
+
};
|
|
12710
|
+
function objectListImpl(name, allowPaths) {
|
|
12903
12711
|
return {
|
|
12904
|
-
name
|
|
12905
|
-
impl: ({ ACTION,
|
|
12906
|
-
const
|
|
12907
|
-
|
|
12908
|
-
|
|
12712
|
+
name,
|
|
12713
|
+
impl: ({ ACTION, SUBRULE, AT_LEAST_ONE_SEP }) => (_, subj, pred) => {
|
|
12714
|
+
const objects = [];
|
|
12715
|
+
AT_LEAST_ONE_SEP({
|
|
12716
|
+
SEP: symbols_exports.comma,
|
|
12717
|
+
DEF: () => {
|
|
12718
|
+
const objectTriple = SUBRULE(allowPaths ? objectPath : object, subj, pred);
|
|
12719
|
+
ACTION(() => {
|
|
12720
|
+
objects.push(objectTriple);
|
|
12721
|
+
});
|
|
12722
|
+
}
|
|
12723
|
+
});
|
|
12724
|
+
return objects;
|
|
12909
12725
|
}
|
|
12910
12726
|
};
|
|
12911
12727
|
}
|
|
12912
|
-
|
|
12728
|
+
var objectList = objectListImpl("objectList", false);
|
|
12729
|
+
var objectListPath = objectListImpl("objectListPath", true);
|
|
12730
|
+
function objectImpl(name, allowPaths) {
|
|
12913
12731
|
return {
|
|
12914
|
-
name
|
|
12915
|
-
impl: ({ ACTION,
|
|
12916
|
-
const
|
|
12917
|
-
|
|
12918
|
-
return ACTION(() => C.factory.expressionOperation(operator.image, args.val, C.factory.sourceLocation(operator, args)));
|
|
12732
|
+
name,
|
|
12733
|
+
impl: ({ ACTION, SUBRULE }) => (C, subject, predicate) => {
|
|
12734
|
+
const node = SUBRULE(allowPaths ? graphNodePath : graphNode);
|
|
12735
|
+
return ACTION(() => C.factory.triple(subject, predicate, node));
|
|
12919
12736
|
}
|
|
12920
12737
|
};
|
|
12921
12738
|
}
|
|
12922
|
-
|
|
12739
|
+
var object = objectImpl("object", false);
|
|
12740
|
+
var objectPath = objectImpl("objectPath", true);
|
|
12741
|
+
function collectionImpl(name, allowPaths) {
|
|
12923
12742
|
return {
|
|
12924
|
-
name
|
|
12925
|
-
impl: ({ ACTION,
|
|
12926
|
-
const
|
|
12927
|
-
CONSUME(symbols_exports.LParen);
|
|
12928
|
-
|
|
12929
|
-
|
|
12930
|
-
const arg2 = SUBRULE2(expression, void 0);
|
|
12931
|
-
const arg3 = OPTION(() => {
|
|
12932
|
-
CONSUME2(symbols_exports.comma);
|
|
12933
|
-
return SUBRULE3(expression, void 0);
|
|
12743
|
+
name,
|
|
12744
|
+
impl: ({ ACTION, AT_LEAST_ONE, SUBRULE, CONSUME }) => (C) => {
|
|
12745
|
+
const terms = [];
|
|
12746
|
+
const startToken = CONSUME(symbols_exports.LParen);
|
|
12747
|
+
AT_LEAST_ONE(() => {
|
|
12748
|
+
terms.push(SUBRULE(allowPaths ? graphNodePath : graphNode));
|
|
12934
12749
|
});
|
|
12935
|
-
const
|
|
12936
|
-
return ACTION(() =>
|
|
12937
|
-
|
|
12938
|
-
|
|
12939
|
-
|
|
12940
|
-
|
|
12750
|
+
const endToken = CONSUME(symbols_exports.RParen);
|
|
12751
|
+
return ACTION(() => {
|
|
12752
|
+
const F3 = C.factory;
|
|
12753
|
+
const triples = [];
|
|
12754
|
+
const predFirst = F3.namedNode(F3.sourceLocationNoMaterialize(), "http://www.w3.org/1999/02/22-rdf-syntax-ns#first" /* FIRST */, void 0);
|
|
12755
|
+
const predRest = F3.namedNode(F3.sourceLocationNoMaterialize(), "http://www.w3.org/1999/02/22-rdf-syntax-ns#rest" /* REST */, void 0);
|
|
12756
|
+
const predNil = F3.namedNode(F3.sourceLocationNoMaterialize(), "http://www.w3.org/1999/02/22-rdf-syntax-ns#nil" /* NIL */, void 0);
|
|
12757
|
+
const listHead = F3.blankNode(void 0, F3.sourceLocationNoMaterialize());
|
|
12758
|
+
let iterHead = listHead;
|
|
12759
|
+
for (const [index, term] of terms.entries()) {
|
|
12760
|
+
const lastInList = index === terms.length - 1;
|
|
12761
|
+
const headTriple = F3.triple(
|
|
12762
|
+
iterHead,
|
|
12763
|
+
predFirst,
|
|
12764
|
+
term
|
|
12765
|
+
);
|
|
12766
|
+
triples.push(headTriple);
|
|
12767
|
+
if (lastInList) {
|
|
12768
|
+
const nilTriple = F3.triple(iterHead, predRest, predNil);
|
|
12769
|
+
triples.push(nilTriple);
|
|
12770
|
+
} else {
|
|
12771
|
+
const tail = F3.blankNode(void 0, F3.sourceLocationNoMaterialize());
|
|
12772
|
+
const linkTriple = F3.triple(iterHead, predRest, tail);
|
|
12773
|
+
triples.push(linkTriple);
|
|
12774
|
+
iterHead = tail;
|
|
12775
|
+
}
|
|
12776
|
+
}
|
|
12777
|
+
return F3.tripleCollectionList(listHead, triples, F3.sourceLocation(startToken, endToken));
|
|
12778
|
+
});
|
|
12779
|
+
},
|
|
12780
|
+
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { factory: F3 }) => {
|
|
12781
|
+
F3.printFilter(ast, () => PRINT_WORD("("));
|
|
12782
|
+
for (const [idx, triple] of ast.triples.entries()) {
|
|
12783
|
+
if (idx % 2 === 0) {
|
|
12784
|
+
SUBRULE(allowPaths ? graphNodePath : graphNode, triple.object);
|
|
12785
|
+
}
|
|
12786
|
+
}
|
|
12787
|
+
F3.printFilter(ast, () => PRINT_WORD(")"));
|
|
12941
12788
|
}
|
|
12942
12789
|
};
|
|
12943
12790
|
}
|
|
12944
|
-
|
|
12791
|
+
var collection = collectionImpl("collection", false);
|
|
12792
|
+
var collectionPath = collectionImpl("collectionPath", true);
|
|
12793
|
+
function triplesNodeImpl(name, allowPaths) {
|
|
12945
12794
|
return {
|
|
12946
|
-
name
|
|
12947
|
-
impl: ({
|
|
12948
|
-
|
|
12949
|
-
|
|
12950
|
-
|
|
12951
|
-
|
|
12952
|
-
SUBRULE3,
|
|
12953
|
-
SUBRULE4,
|
|
12954
|
-
CONSUME1,
|
|
12955
|
-
OPTION,
|
|
12956
|
-
CONSUME2,
|
|
12957
|
-
CONSUME3
|
|
12958
|
-
}) => (C) => {
|
|
12959
|
-
const operator = CONSUME(func);
|
|
12960
|
-
CONSUME(symbols_exports.LParen);
|
|
12961
|
-
const arg1 = SUBRULE1(expression, void 0);
|
|
12962
|
-
CONSUME1(symbols_exports.comma);
|
|
12963
|
-
const arg2 = SUBRULE2(expression, void 0);
|
|
12964
|
-
CONSUME2(symbols_exports.comma);
|
|
12965
|
-
const arg3 = SUBRULE3(expression, void 0);
|
|
12966
|
-
const arg4 = OPTION(() => {
|
|
12967
|
-
CONSUME3(symbols_exports.comma);
|
|
12968
|
-
return SUBRULE4(expression, void 0);
|
|
12969
|
-
});
|
|
12970
|
-
const close = CONSUME(symbols_exports.RParen);
|
|
12971
|
-
return ACTION(() => C.factory.expressionOperation(
|
|
12972
|
-
operator.image,
|
|
12973
|
-
arg4 ? [arg1, arg2, arg3, arg4] : [arg1, arg2, arg3],
|
|
12974
|
-
C.factory.sourceLocation(operator, close)
|
|
12975
|
-
));
|
|
12976
|
-
}
|
|
12795
|
+
name,
|
|
12796
|
+
impl: ({ SUBRULE, OR }) => () => OR([
|
|
12797
|
+
{ ALT: () => SUBRULE(allowPaths ? collectionPath : collection) },
|
|
12798
|
+
{ ALT: () => SUBRULE(allowPaths ? blankNodePropertyListPath : blankNodePropertyList) }
|
|
12799
|
+
]),
|
|
12800
|
+
gImpl: ({ SUBRULE }) => (ast) => ast.subType === "list" ? SUBRULE(allowPaths ? collectionPath : collection, ast) : SUBRULE(allowPaths ? blankNodePropertyListPath : blankNodePropertyList, ast)
|
|
12977
12801
|
};
|
|
12978
12802
|
}
|
|
12979
|
-
|
|
12803
|
+
var triplesNode = triplesNodeImpl("triplesNode", false);
|
|
12804
|
+
var triplesNodePath = triplesNodeImpl("triplesNodePath", true);
|
|
12805
|
+
function blankNodePropertyListImpl(name, allowPaths) {
|
|
12806
|
+
const propertyPathNotEmptyImpl = allowPaths ? propertyListPathNotEmpty : propertyListNotEmpty;
|
|
12980
12807
|
return {
|
|
12981
|
-
name
|
|
12808
|
+
name,
|
|
12982
12809
|
impl: ({ ACTION, SUBRULE, CONSUME }) => (C) => {
|
|
12983
|
-
const
|
|
12984
|
-
const
|
|
12985
|
-
|
|
12986
|
-
|
|
12987
|
-
|
|
12988
|
-
|
|
12810
|
+
const startToken = CONSUME(symbols_exports.LSquare);
|
|
12811
|
+
const blankNode2 = ACTION(() => C.factory.blankNode(void 0, C.factory.sourceLocationNoMaterialize()));
|
|
12812
|
+
const propList = SUBRULE(propertyPathNotEmptyImpl, blankNode2);
|
|
12813
|
+
const endToken = CONSUME(symbols_exports.RSquare);
|
|
12814
|
+
return ACTION(() => C.factory.tripleCollectionBlankNodeProperties(
|
|
12815
|
+
blankNode2,
|
|
12816
|
+
propList,
|
|
12817
|
+
C.factory.sourceLocation(startToken, endToken)
|
|
12989
12818
|
));
|
|
12819
|
+
},
|
|
12820
|
+
gImpl: ({ SUBRULE, PRINT, PRINT_WORD, HANDLE_LOC }) => (ast, { factory: F3 }) => {
|
|
12821
|
+
F3.printFilter(ast, () => PRINT("["));
|
|
12822
|
+
for (const triple of ast.triples) {
|
|
12823
|
+
HANDLE_LOC(triple, () => {
|
|
12824
|
+
if (F3.isTerm(triple.predicate) && F3.isTermVariable(triple.predicate)) {
|
|
12825
|
+
SUBRULE(varOrTerm, triple.predicate);
|
|
12826
|
+
} else {
|
|
12827
|
+
SUBRULE(pathGenerator, triple.predicate, void 0);
|
|
12828
|
+
}
|
|
12829
|
+
SUBRULE(graphNodePath, triple.object);
|
|
12830
|
+
F3.printFilter(ast, () => PRINT_WORD(";"));
|
|
12831
|
+
});
|
|
12832
|
+
}
|
|
12833
|
+
F3.printFilter(ast, () => PRINT("]"));
|
|
12990
12834
|
}
|
|
12991
12835
|
};
|
|
12992
12836
|
}
|
|
12993
|
-
|
|
12837
|
+
var blankNodePropertyList = blankNodePropertyListImpl("blankNodePropertyList", false);
|
|
12838
|
+
var blankNodePropertyListPath = blankNodePropertyListImpl("blankNodePropertyListPath", true);
|
|
12839
|
+
function graphNodeImpl(name, allowPaths) {
|
|
12840
|
+
const triplesNodeRule = allowPaths ? triplesNodePath : triplesNode;
|
|
12994
12841
|
return {
|
|
12995
|
-
name
|
|
12996
|
-
impl: ({
|
|
12997
|
-
|
|
12998
|
-
|
|
12999
|
-
|
|
13000
|
-
|
|
13001
|
-
|
|
13002
|
-
|
|
13003
|
-
|
|
13004
|
-
|
|
13005
|
-
|
|
13006
|
-
|
|
13007
|
-
|
|
13008
|
-
|
|
12842
|
+
name,
|
|
12843
|
+
impl: ({ SUBRULE, OR }) => (C) => OR([
|
|
12844
|
+
{ ALT: () => SUBRULE(varOrTerm) },
|
|
12845
|
+
{
|
|
12846
|
+
GATE: () => C.parseMode.has("canCreateBlankNodes"),
|
|
12847
|
+
ALT: () => SUBRULE(triplesNodeRule)
|
|
12848
|
+
}
|
|
12849
|
+
]),
|
|
12850
|
+
gImpl: ({ SUBRULE }) => (ast, { factory: F3 }) => {
|
|
12851
|
+
if (F3.isTerm(ast)) {
|
|
12852
|
+
SUBRULE(varOrTerm, ast);
|
|
12853
|
+
} else {
|
|
12854
|
+
SUBRULE(triplesNodeRule, ast);
|
|
12855
|
+
}
|
|
13009
12856
|
}
|
|
13010
12857
|
};
|
|
13011
12858
|
}
|
|
12859
|
+
var graphNode = graphNodeImpl("graphNode", false);
|
|
12860
|
+
var graphNodePath = graphNodeImpl("graphNodePath", true);
|
|
13012
12861
|
|
|
13013
|
-
// ../../packages/rules-sparql-1-1/lib/grammar/
|
|
13014
|
-
var
|
|
13015
|
-
|
|
13016
|
-
|
|
13017
|
-
|
|
13018
|
-
|
|
13019
|
-
|
|
13020
|
-
|
|
13021
|
-
|
|
13022
|
-
|
|
13023
|
-
|
|
13024
|
-
var builtInCeil = funcExpr1(BuildinCalls_exports.ceil);
|
|
13025
|
-
var builtInFloor = funcExpr1(BuildinCalls_exports.floor);
|
|
13026
|
-
var builtInRound = funcExpr1(BuildinCalls_exports.round);
|
|
13027
|
-
var builtInConcat = funcExprList1(BuildinCalls_exports.concat);
|
|
13028
|
-
var builtInStrlen = funcExpr1(BuildinCalls_exports.strlen);
|
|
13029
|
-
var builtInUcase = funcExpr1(BuildinCalls_exports.ucase);
|
|
13030
|
-
var builtInLcase = funcExpr1(BuildinCalls_exports.lcase);
|
|
13031
|
-
var builtInEncode_for_uri = funcExpr1(BuildinCalls_exports.encode_for_uri);
|
|
13032
|
-
var builtInContains = funcExpr2(BuildinCalls_exports.contains);
|
|
13033
|
-
var builtInStrstarts = funcExpr2(BuildinCalls_exports.strstarts);
|
|
13034
|
-
var builtInStrends = funcExpr2(BuildinCalls_exports.strends);
|
|
13035
|
-
var builtInStrbefore = funcExpr2(BuildinCalls_exports.strbefore);
|
|
13036
|
-
var builtInStrafter = funcExpr2(BuildinCalls_exports.strafter);
|
|
13037
|
-
var builtInYear = funcExpr1(BuildinCalls_exports.year);
|
|
13038
|
-
var builtInMonth = funcExpr1(BuildinCalls_exports.month);
|
|
13039
|
-
var builtInDay = funcExpr1(BuildinCalls_exports.day);
|
|
13040
|
-
var builtInHours = funcExpr1(BuildinCalls_exports.hours);
|
|
13041
|
-
var builtInMinutes = funcExpr1(BuildinCalls_exports.minutes);
|
|
13042
|
-
var builtInSeconds = funcExpr1(BuildinCalls_exports.seconds);
|
|
13043
|
-
var builtInTimezone = funcExpr1(BuildinCalls_exports.timezone);
|
|
13044
|
-
var builtInTz = funcExpr1(BuildinCalls_exports.tz);
|
|
13045
|
-
var builtInNow = funcNil1(BuildinCalls_exports.now);
|
|
13046
|
-
var builtInUuid = funcNil1(BuildinCalls_exports.uuid);
|
|
13047
|
-
var builtInStruuid = funcNil1(BuildinCalls_exports.struuid);
|
|
13048
|
-
var builtInMd5 = funcExpr1(BuildinCalls_exports.md5);
|
|
13049
|
-
var builtInSha1 = funcExpr1(BuildinCalls_exports.sha1);
|
|
13050
|
-
var builtInSha256 = funcExpr1(BuildinCalls_exports.sha256);
|
|
13051
|
-
var builtInSha384 = funcExpr1(BuildinCalls_exports.sha384);
|
|
13052
|
-
var builtInSha512 = funcExpr1(BuildinCalls_exports.sha512);
|
|
13053
|
-
var builtInCoalesce = funcExprList1(BuildinCalls_exports.coalesce);
|
|
13054
|
-
var builtInIf = funcExpr3(BuildinCalls_exports.if_);
|
|
13055
|
-
var builtInStrlang = funcExpr2(BuildinCalls_exports.strlang);
|
|
13056
|
-
var builtInStrdt = funcExpr2(BuildinCalls_exports.strdt);
|
|
13057
|
-
var builtInSameterm = funcExpr2(BuildinCalls_exports.sameterm);
|
|
13058
|
-
var builtInIsiri = funcExpr1(BuildinCalls_exports.isiri);
|
|
13059
|
-
var builtInIsuri = funcExpr1(BuildinCalls_exports.isuri);
|
|
13060
|
-
var builtInIsblank = funcExpr1(BuildinCalls_exports.isblank);
|
|
13061
|
-
var builtInIsliteral = funcExpr1(BuildinCalls_exports.isliteral);
|
|
13062
|
-
var builtInIsnumeric = funcExpr1(BuildinCalls_exports.isnumeric);
|
|
13063
|
-
function builtInCallList(SUBRULE) {
|
|
13064
|
-
return [
|
|
13065
|
-
{ ALT: () => SUBRULE(aggregate, void 0) },
|
|
13066
|
-
{ ALT: () => SUBRULE(builtInStr, void 0) },
|
|
13067
|
-
{ ALT: () => SUBRULE(builtInLang, void 0) },
|
|
13068
|
-
{ ALT: () => SUBRULE(builtInLangmatches, void 0) },
|
|
13069
|
-
{ ALT: () => SUBRULE(builtInDatatype, void 0) },
|
|
13070
|
-
{ ALT: () => SUBRULE(builtInBound, void 0) },
|
|
13071
|
-
{ ALT: () => SUBRULE(builtInIri, void 0) },
|
|
13072
|
-
{ ALT: () => SUBRULE(builtInUri, void 0) },
|
|
13073
|
-
{ ALT: () => SUBRULE(builtInBnodeSparqlJs, void 0) },
|
|
13074
|
-
{ ALT: () => SUBRULE(builtInRand, void 0) },
|
|
13075
|
-
{ ALT: () => SUBRULE(builtInAbs, void 0) },
|
|
13076
|
-
{ ALT: () => SUBRULE(builtInCeil, void 0) },
|
|
13077
|
-
{ ALT: () => SUBRULE(builtInFloor, void 0) },
|
|
13078
|
-
{ ALT: () => SUBRULE(builtInRound, void 0) },
|
|
13079
|
-
{ ALT: () => SUBRULE(builtInConcat, void 0) },
|
|
13080
|
-
{ ALT: () => SUBRULE(substringExpression, void 0) },
|
|
13081
|
-
{ ALT: () => SUBRULE(builtInStrlen, void 0) },
|
|
13082
|
-
{ ALT: () => SUBRULE(strReplaceExpression, void 0) },
|
|
13083
|
-
{ ALT: () => SUBRULE(builtInUcase, void 0) },
|
|
13084
|
-
{ ALT: () => SUBRULE(builtInLcase, void 0) },
|
|
13085
|
-
{ ALT: () => SUBRULE(builtInEncode_for_uri, void 0) },
|
|
13086
|
-
{ ALT: () => SUBRULE(builtInContains, void 0) },
|
|
13087
|
-
{ ALT: () => SUBRULE(builtInStrstarts, void 0) },
|
|
13088
|
-
{ ALT: () => SUBRULE(builtInStrends, void 0) },
|
|
13089
|
-
{ ALT: () => SUBRULE(builtInStrbefore, void 0) },
|
|
13090
|
-
{ ALT: () => SUBRULE(builtInStrafter, void 0) },
|
|
13091
|
-
{ ALT: () => SUBRULE(builtInYear, void 0) },
|
|
13092
|
-
{ ALT: () => SUBRULE(builtInMonth, void 0) },
|
|
13093
|
-
{ ALT: () => SUBRULE(builtInDay, void 0) },
|
|
13094
|
-
{ ALT: () => SUBRULE(builtInHours, void 0) },
|
|
13095
|
-
{ ALT: () => SUBRULE(builtInMinutes, void 0) },
|
|
13096
|
-
{ ALT: () => SUBRULE(builtInSeconds, void 0) },
|
|
13097
|
-
{ ALT: () => SUBRULE(builtInTimezone, void 0) },
|
|
13098
|
-
{ ALT: () => SUBRULE(builtInTz, void 0) },
|
|
13099
|
-
{ ALT: () => SUBRULE(builtInNow, void 0) },
|
|
13100
|
-
{ ALT: () => SUBRULE(builtInUuid, void 0) },
|
|
13101
|
-
{ ALT: () => SUBRULE(builtInStruuid, void 0) },
|
|
13102
|
-
{ ALT: () => SUBRULE(builtInMd5, void 0) },
|
|
13103
|
-
{ ALT: () => SUBRULE(builtInSha1, void 0) },
|
|
13104
|
-
{ ALT: () => SUBRULE(builtInSha256, void 0) },
|
|
13105
|
-
{ ALT: () => SUBRULE(builtInSha384, void 0) },
|
|
13106
|
-
{ ALT: () => SUBRULE(builtInSha512, void 0) },
|
|
13107
|
-
{ ALT: () => SUBRULE(builtInCoalesce, void 0) },
|
|
13108
|
-
{ ALT: () => SUBRULE(builtInIf, void 0) },
|
|
13109
|
-
{ ALT: () => SUBRULE(builtInStrlang, void 0) },
|
|
13110
|
-
{ ALT: () => SUBRULE(builtInStrdt, void 0) },
|
|
13111
|
-
{ ALT: () => SUBRULE(builtInSameterm, void 0) },
|
|
13112
|
-
{ ALT: () => SUBRULE(builtInIsiri, void 0) },
|
|
13113
|
-
{ ALT: () => SUBRULE(builtInIsuri, void 0) },
|
|
13114
|
-
{ ALT: () => SUBRULE(builtInIsblank, void 0) },
|
|
13115
|
-
{ ALT: () => SUBRULE(builtInIsliteral, void 0) },
|
|
13116
|
-
{ ALT: () => SUBRULE(builtInIsnumeric, void 0) },
|
|
13117
|
-
{ ALT: () => SUBRULE(regexExpression, void 0) },
|
|
13118
|
-
{ ALT: () => SUBRULE(existsFunc, void 0) },
|
|
13119
|
-
{ ALT: () => SUBRULE(notExistsFunc, void 0) }
|
|
13120
|
-
];
|
|
13121
|
-
}
|
|
13122
|
-
var builtInCall = {
|
|
13123
|
-
name: "builtInCall",
|
|
13124
|
-
impl: ({ OR, SUBRULE, cache }) => () => {
|
|
13125
|
-
const cached = cache.get(builtInCall);
|
|
13126
|
-
if (cached) {
|
|
13127
|
-
return OR(cached);
|
|
13128
|
-
}
|
|
13129
|
-
const builtIns = builtInCallList(SUBRULE);
|
|
13130
|
-
cache.set(builtInCall, builtIns);
|
|
13131
|
-
return OR(builtIns);
|
|
12862
|
+
// ../../packages/rules-sparql-1-1/lib/grammar/whereClause.ts
|
|
12863
|
+
var whereClause = {
|
|
12864
|
+
name: "whereClause",
|
|
12865
|
+
impl: ({ ACTION, SUBRULE, CONSUME, OPTION }) => (C) => {
|
|
12866
|
+
const where2 = OPTION(() => CONSUME(where));
|
|
12867
|
+
const group = SUBRULE(groupGraphPattern);
|
|
12868
|
+
return ACTION(() => C.factory.wrap(group, C.factory.sourceLocation(where2, group)));
|
|
12869
|
+
},
|
|
12870
|
+
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { factory: F3 }) => {
|
|
12871
|
+
F3.printFilter(ast, () => PRINT_WORD("WHERE"));
|
|
12872
|
+
SUBRULE(groupGraphPattern, ast.val);
|
|
13132
12873
|
}
|
|
13133
12874
|
};
|
|
13134
|
-
var
|
|
13135
|
-
|
|
13136
|
-
|
|
13137
|
-
|
|
13138
|
-
|
|
13139
|
-
|
|
13140
|
-
|
|
13141
|
-
impl: ({ ACTION, CONSUME, SUBRULE, OR, OPTION }) => (C) => {
|
|
13142
|
-
const operatorToken = CONSUME(BuildinCalls_exports.count);
|
|
13143
|
-
CONSUME(symbols_exports.LParen);
|
|
13144
|
-
const distinctToken = OPTION(() => CONSUME(distinct));
|
|
13145
|
-
const expressionVal = OR([
|
|
13146
|
-
{ ALT: () => {
|
|
13147
|
-
const starToken = CONSUME(symbols_exports.star);
|
|
13148
|
-
return ACTION(() => C.factory.wildcard(C.factory.sourceLocation(starToken)));
|
|
13149
|
-
} },
|
|
13150
|
-
{ ALT: () => SUBRULE(expression, void 0) }
|
|
12875
|
+
var groupGraphPattern = {
|
|
12876
|
+
name: "groupGraphPattern",
|
|
12877
|
+
impl: ({ ACTION, SUBRULE, CONSUME, OR }) => (C) => {
|
|
12878
|
+
const open = CONSUME(symbols_exports.LCurly);
|
|
12879
|
+
const patterns = OR([
|
|
12880
|
+
{ ALT: () => [SUBRULE(subSelect)] },
|
|
12881
|
+
{ ALT: () => SUBRULE(groupGraphPatternSub) }
|
|
13151
12882
|
]);
|
|
13152
|
-
const
|
|
13153
|
-
return ACTION(() =>
|
|
13154
|
-
|
|
13155
|
-
|
|
13156
|
-
|
|
13157
|
-
|
|
13158
|
-
|
|
13159
|
-
|
|
13160
|
-
|
|
13161
|
-
|
|
13162
|
-
|
|
12883
|
+
const close = CONSUME(symbols_exports.RCurly);
|
|
12884
|
+
return ACTION(() => C.factory.patternGroup(patterns, C.factory.sourceLocation(open, close)));
|
|
12885
|
+
},
|
|
12886
|
+
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { factory: F3 }) => {
|
|
12887
|
+
F3.printFilter(ast, () => PRINT_WORD("{"));
|
|
12888
|
+
for (const pattern of ast.patterns) {
|
|
12889
|
+
SUBRULE(generatePattern, pattern);
|
|
12890
|
+
}
|
|
12891
|
+
F3.printFilter(ast, () => PRINT_WORD("}"));
|
|
12892
|
+
}
|
|
12893
|
+
};
|
|
12894
|
+
var generatePattern = {
|
|
12895
|
+
name: "generatePattern",
|
|
12896
|
+
gImpl: ({ SUBRULE }) => (ast, { factory: F3 }) => {
|
|
12897
|
+
if (ast.type === "query") {
|
|
12898
|
+
SUBRULE(query, F3.querySelect({
|
|
12899
|
+
context: [],
|
|
12900
|
+
datasets: F3.datasetClauses([], F3.sourceLocation()),
|
|
12901
|
+
where: ast.where,
|
|
12902
|
+
variables: ast.variables,
|
|
12903
|
+
solutionModifiers: ast.solutionModifiers,
|
|
12904
|
+
values: ast.values,
|
|
12905
|
+
distinct: ast.distinct,
|
|
12906
|
+
reduced: ast.reduced
|
|
12907
|
+
}, ast.loc));
|
|
12908
|
+
} else if (ast.subType === "group") {
|
|
12909
|
+
SUBRULE(groupGraphPattern, ast);
|
|
12910
|
+
} else if (ast.subType === "bgp") {
|
|
12911
|
+
SUBRULE(triplesBlock, ast);
|
|
12912
|
+
} else {
|
|
12913
|
+
SUBRULE(graphPatternNotTriples, ast);
|
|
12914
|
+
}
|
|
12915
|
+
}
|
|
12916
|
+
};
|
|
12917
|
+
var groupGraphPatternSub = {
|
|
12918
|
+
name: "groupGraphPatternSub",
|
|
12919
|
+
impl: ({ ACTION, SUBRULE, CONSUME, MANY, SUBRULE1, SUBRULE2, OPTION1, OPTION2, OPTION3 }) => () => {
|
|
12920
|
+
const patterns = [];
|
|
12921
|
+
const bgpPattern = OPTION1(() => SUBRULE1(triplesBlock));
|
|
12922
|
+
if (bgpPattern) {
|
|
12923
|
+
patterns.push(bgpPattern);
|
|
12924
|
+
}
|
|
12925
|
+
MANY(() => {
|
|
12926
|
+
const notTriples = SUBRULE(graphPatternNotTriples);
|
|
12927
|
+
patterns.push(notTriples);
|
|
12928
|
+
OPTION2(() => CONSUME(symbols_exports.dot));
|
|
12929
|
+
const moreTriples = OPTION3(() => SUBRULE2(triplesBlock));
|
|
12930
|
+
if (moreTriples) {
|
|
12931
|
+
patterns.push(moreTriples);
|
|
12932
|
+
}
|
|
12933
|
+
});
|
|
12934
|
+
ACTION(() => checkNote13(patterns));
|
|
12935
|
+
return patterns;
|
|
12936
|
+
}
|
|
12937
|
+
};
|
|
12938
|
+
var graphPatternNotTriples = {
|
|
12939
|
+
name: "graphPatternNotTriples",
|
|
12940
|
+
impl: ({ SUBRULE, OR }) => () => OR([
|
|
12941
|
+
{ ALT: () => SUBRULE(groupOrUnionGraphPattern) },
|
|
12942
|
+
{ ALT: () => SUBRULE(optionalGraphPattern) },
|
|
12943
|
+
{ ALT: () => SUBRULE(minusGraphPattern) },
|
|
12944
|
+
{ ALT: () => SUBRULE(graphGraphPattern) },
|
|
12945
|
+
{ ALT: () => SUBRULE(serviceGraphPattern) },
|
|
12946
|
+
{ ALT: () => SUBRULE(filter3) },
|
|
12947
|
+
{ ALT: () => SUBRULE(bind2) },
|
|
12948
|
+
{ ALT: () => SUBRULE(inlineData) }
|
|
12949
|
+
]),
|
|
12950
|
+
gImpl: ({ SUBRULE }) => (ast) => {
|
|
12951
|
+
switch (ast.subType) {
|
|
12952
|
+
case "group":
|
|
12953
|
+
case "union":
|
|
12954
|
+
SUBRULE(groupOrUnionGraphPattern, ast);
|
|
12955
|
+
break;
|
|
12956
|
+
case "optional":
|
|
12957
|
+
SUBRULE(optionalGraphPattern, ast);
|
|
12958
|
+
break;
|
|
12959
|
+
case "minus":
|
|
12960
|
+
SUBRULE(minusGraphPattern, ast);
|
|
12961
|
+
break;
|
|
12962
|
+
case "graph":
|
|
12963
|
+
SUBRULE(graphGraphPattern, ast);
|
|
12964
|
+
break;
|
|
12965
|
+
case "service":
|
|
12966
|
+
SUBRULE(serviceGraphPattern, ast);
|
|
12967
|
+
break;
|
|
12968
|
+
case "filter":
|
|
12969
|
+
SUBRULE(filter3, ast);
|
|
12970
|
+
break;
|
|
12971
|
+
case "bind":
|
|
12972
|
+
SUBRULE(bind2, ast);
|
|
12973
|
+
break;
|
|
12974
|
+
case "values":
|
|
12975
|
+
SUBRULE(inlineData, ast);
|
|
12976
|
+
break;
|
|
12977
|
+
}
|
|
12978
|
+
}
|
|
12979
|
+
};
|
|
12980
|
+
var optionalGraphPattern = {
|
|
12981
|
+
name: "optionalGraphPattern",
|
|
12982
|
+
impl: ({ ACTION, SUBRULE, CONSUME }) => (C) => {
|
|
12983
|
+
const optional2 = CONSUME(optional);
|
|
12984
|
+
const group = SUBRULE(groupGraphPattern);
|
|
12985
|
+
return ACTION(() => C.factory.patternOptional(group.patterns, C.factory.sourceLocation(optional2, group)));
|
|
12986
|
+
},
|
|
12987
|
+
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { factory: F3 }) => {
|
|
12988
|
+
F3.printFilter(ast, () => PRINT_WORD("OPTIONAL"));
|
|
12989
|
+
SUBRULE(groupGraphPattern, F3.patternGroup(ast.patterns, ast.loc));
|
|
12990
|
+
}
|
|
12991
|
+
};
|
|
12992
|
+
var graphGraphPattern = {
|
|
12993
|
+
name: "graphGraphPattern",
|
|
12994
|
+
impl: ({ ACTION, SUBRULE, CONSUME }) => (C) => {
|
|
12995
|
+
const graph2 = CONSUME(graph_exports.graph);
|
|
12996
|
+
const name = SUBRULE(varOrIri);
|
|
12997
|
+
const group = SUBRULE(groupGraphPattern);
|
|
12998
|
+
return ACTION(() => C.factory.patternGraph(name, group.patterns, C.factory.sourceLocation(graph2, group)));
|
|
12999
|
+
},
|
|
13000
|
+
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { factory: F3 }) => {
|
|
13001
|
+
F3.printFilter(ast, () => PRINT_WORD("GRAPH"));
|
|
13002
|
+
SUBRULE(varOrTerm, ast.name);
|
|
13003
|
+
SUBRULE(groupGraphPattern, F3.patternGroup(ast.patterns, ast.loc));
|
|
13004
|
+
}
|
|
13005
|
+
};
|
|
13006
|
+
var serviceGraphPattern = {
|
|
13007
|
+
name: "serviceGraphPattern",
|
|
13008
|
+
impl: ({ ACTION, SUBRULE1, CONSUME, OPTION }) => (C) => {
|
|
13009
|
+
const service2 = CONSUME(service);
|
|
13010
|
+
const silent2 = OPTION(() => {
|
|
13011
|
+
CONSUME(silent);
|
|
13012
|
+
return true;
|
|
13013
|
+
}) ?? false;
|
|
13014
|
+
const name = SUBRULE1(varOrIri);
|
|
13015
|
+
const group = SUBRULE1(groupGraphPattern);
|
|
13016
|
+
return ACTION(() => C.factory.patternService(name, group.patterns, silent2, C.factory.sourceLocation(service2, group)));
|
|
13017
|
+
},
|
|
13018
|
+
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { factory: F3 }) => {
|
|
13019
|
+
F3.printFilter(ast, () => {
|
|
13020
|
+
PRINT_WORD("SERVICE");
|
|
13021
|
+
if (ast.silent) {
|
|
13022
|
+
PRINT_WORD("SILENT");
|
|
13163
13023
|
}
|
|
13164
|
-
return F3.aggregate(
|
|
13165
|
-
operatorToken.image,
|
|
13166
|
-
Boolean(distinctToken),
|
|
13167
|
-
expressionVal,
|
|
13168
|
-
void 0,
|
|
13169
|
-
C.factory.sourceLocation(operatorToken, closeToken)
|
|
13170
|
-
);
|
|
13171
13024
|
});
|
|
13025
|
+
SUBRULE(varOrTerm, ast.name);
|
|
13026
|
+
SUBRULE(groupGraphPattern, F3.patternGroup(ast.patterns, ast.loc));
|
|
13172
13027
|
}
|
|
13173
13028
|
};
|
|
13174
|
-
var
|
|
13175
|
-
|
|
13176
|
-
|
|
13177
|
-
|
|
13178
|
-
var aggregateSample = baseAggregateFunc(BuildinCalls_exports.sample);
|
|
13179
|
-
var aggregateGroup_concat = {
|
|
13180
|
-
name: unCapitalize(BuildinCalls_exports.groupConcat.name),
|
|
13181
|
-
impl: ({ ACTION, CONSUME, OPTION1, SUBRULE, OPTION2 }) => (C) => {
|
|
13182
|
-
const operatorToken = CONSUME(BuildinCalls_exports.groupConcat);
|
|
13029
|
+
var bind2 = {
|
|
13030
|
+
name: "bind",
|
|
13031
|
+
impl: ({ ACTION, SUBRULE, CONSUME }) => (C) => {
|
|
13032
|
+
const bind3 = CONSUME(bind);
|
|
13183
13033
|
CONSUME(symbols_exports.LParen);
|
|
13184
|
-
const
|
|
13185
|
-
|
|
13186
|
-
const
|
|
13187
|
-
|
|
13188
|
-
|
|
13189
|
-
|
|
13190
|
-
|
|
13034
|
+
const expressionVal = SUBRULE(expression);
|
|
13035
|
+
CONSUME(as);
|
|
13036
|
+
const variable = SUBRULE(var_);
|
|
13037
|
+
const close = CONSUME(symbols_exports.RParen);
|
|
13038
|
+
return ACTION(() => C.factory.patternBind(expressionVal, variable, C.factory.sourceLocation(bind3, close)));
|
|
13039
|
+
},
|
|
13040
|
+
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { factory: F3 }) => {
|
|
13041
|
+
F3.printFilter(ast, () => PRINT_WORD("BIND", "("));
|
|
13042
|
+
SUBRULE(expression, ast.expression);
|
|
13043
|
+
F3.printFilter(ast, () => PRINT_WORD("AS"));
|
|
13044
|
+
SUBRULE(var_, ast.variable);
|
|
13045
|
+
F3.printFilter(ast, () => PRINT_WORD(")"));
|
|
13046
|
+
}
|
|
13047
|
+
};
|
|
13048
|
+
var inlineData = {
|
|
13049
|
+
name: "inlineData",
|
|
13050
|
+
impl: ({ ACTION, SUBRULE, CONSUME }) => (C) => {
|
|
13051
|
+
const values3 = CONSUME(values2);
|
|
13052
|
+
const datablock = SUBRULE(dataBlock);
|
|
13053
|
+
return ACTION(() => C.factory.patternValues(datablock.val, C.factory.sourceLocation(values3, datablock)));
|
|
13054
|
+
},
|
|
13055
|
+
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { factory: F3 }) => {
|
|
13056
|
+
const variables = Object.keys(ast.values[0]);
|
|
13057
|
+
F3.printFilter(ast, () => {
|
|
13058
|
+
PRINT_WORD("VALUES", "(");
|
|
13059
|
+
for (const variable of variables) {
|
|
13060
|
+
PRINT_WORD(`?${variable}`);
|
|
13061
|
+
}
|
|
13062
|
+
PRINT_WORD(")", "{");
|
|
13191
13063
|
});
|
|
13192
|
-
const
|
|
13193
|
-
|
|
13194
|
-
const
|
|
13195
|
-
|
|
13196
|
-
|
|
13197
|
-
|
|
13198
|
-
|
|
13199
|
-
|
|
13200
|
-
|
|
13201
|
-
);
|
|
13064
|
+
for (const mapping of ast.values) {
|
|
13065
|
+
F3.printFilter(ast, () => PRINT_WORD("("));
|
|
13066
|
+
for (const variable of variables) {
|
|
13067
|
+
if (mapping[variable] === void 0) {
|
|
13068
|
+
F3.printFilter(ast, () => PRINT_WORD("UNDEF"));
|
|
13069
|
+
} else {
|
|
13070
|
+
SUBRULE(graphNodePath, mapping[variable]);
|
|
13071
|
+
}
|
|
13072
|
+
}
|
|
13073
|
+
F3.printFilter(ast, () => PRINT_WORD(")"));
|
|
13074
|
+
}
|
|
13075
|
+
F3.printFilter(ast, () => PRINT_WORD("}"));
|
|
13076
|
+
}
|
|
13077
|
+
};
|
|
13078
|
+
var dataBlock = {
|
|
13079
|
+
name: "dataBlock",
|
|
13080
|
+
impl: ({ SUBRULE, OR }) => () => OR([
|
|
13081
|
+
{ ALT: () => SUBRULE(inlineDataOneVar) },
|
|
13082
|
+
{ ALT: () => SUBRULE(inlineDataFull) }
|
|
13083
|
+
])
|
|
13084
|
+
};
|
|
13085
|
+
var inlineDataOneVar = {
|
|
13086
|
+
name: "inlineDataOneVar",
|
|
13087
|
+
impl: ({ ACTION, SUBRULE, CONSUME, MANY }) => (C) => {
|
|
13088
|
+
const res = [];
|
|
13089
|
+
const varVal = SUBRULE(var_);
|
|
13090
|
+
CONSUME(symbols_exports.LCurly);
|
|
13091
|
+
MANY(() => {
|
|
13092
|
+
const value = SUBRULE(dataBlockValue);
|
|
13093
|
+
ACTION(() => {
|
|
13094
|
+
res.push({ [varVal.value]: value });
|
|
13095
|
+
});
|
|
13202
13096
|
});
|
|
13097
|
+
const close = CONSUME(symbols_exports.RCurly);
|
|
13098
|
+
return ACTION(() => C.factory.wrap(res, C.factory.sourceLocation(varVal, close)));
|
|
13203
13099
|
}
|
|
13204
13100
|
};
|
|
13205
|
-
var
|
|
13206
|
-
name: "
|
|
13207
|
-
impl: ({
|
|
13208
|
-
|
|
13209
|
-
|
|
13210
|
-
|
|
13211
|
-
|
|
13212
|
-
|
|
13213
|
-
|
|
13214
|
-
|
|
13215
|
-
|
|
13216
|
-
|
|
13217
|
-
|
|
13101
|
+
var inlineDataFull = {
|
|
13102
|
+
name: "inlineDataFull",
|
|
13103
|
+
impl: ({
|
|
13104
|
+
ACTION,
|
|
13105
|
+
OR,
|
|
13106
|
+
MANY1,
|
|
13107
|
+
MANY2,
|
|
13108
|
+
MANY3,
|
|
13109
|
+
MANY4,
|
|
13110
|
+
SUBRULE,
|
|
13111
|
+
CONSUME1,
|
|
13112
|
+
CONSUME2
|
|
13113
|
+
}) => (C) => {
|
|
13114
|
+
const res = [];
|
|
13115
|
+
const vars = [];
|
|
13116
|
+
return OR([
|
|
13117
|
+
{ ALT: () => {
|
|
13118
|
+
const nil2 = CONSUME1(terminals_exports.nil);
|
|
13119
|
+
CONSUME1(symbols_exports.LCurly);
|
|
13120
|
+
MANY1(() => {
|
|
13121
|
+
CONSUME2(terminals_exports.nil);
|
|
13122
|
+
res.push({});
|
|
13123
|
+
});
|
|
13124
|
+
const close = CONSUME1(symbols_exports.RCurly);
|
|
13125
|
+
return ACTION(() => C.factory.wrap(res, C.factory.sourceLocation(nil2, close)));
|
|
13126
|
+
} },
|
|
13127
|
+
{ ALT: () => {
|
|
13128
|
+
const open = CONSUME1(symbols_exports.LParen);
|
|
13129
|
+
MANY2(() => {
|
|
13130
|
+
vars.push(SUBRULE(var_));
|
|
13131
|
+
});
|
|
13132
|
+
CONSUME1(symbols_exports.RParen);
|
|
13133
|
+
CONSUME2(symbols_exports.LCurly);
|
|
13134
|
+
MANY3(() => {
|
|
13135
|
+
let parsedValues = 0;
|
|
13136
|
+
const currentRow = {};
|
|
13137
|
+
CONSUME2(symbols_exports.LParen);
|
|
13138
|
+
MANY4(() => {
|
|
13139
|
+
if (parsedValues >= vars.length) {
|
|
13140
|
+
throw new Error("Number of dataBlockValues does not match number of variables. Too much values.");
|
|
13141
|
+
}
|
|
13142
|
+
const value = SUBRULE(dataBlockValue);
|
|
13143
|
+
ACTION(() => {
|
|
13144
|
+
currentRow[vars[parsedValues].value] = value;
|
|
13145
|
+
parsedValues++;
|
|
13146
|
+
});
|
|
13147
|
+
});
|
|
13148
|
+
CONSUME2(symbols_exports.RParen);
|
|
13149
|
+
ACTION(() => {
|
|
13150
|
+
res.push(currentRow);
|
|
13151
|
+
if (vars.length !== parsedValues) {
|
|
13152
|
+
throw new Error("Number of dataBlockValues does not match number of variables. Too few values.");
|
|
13153
|
+
}
|
|
13154
|
+
});
|
|
13155
|
+
});
|
|
13156
|
+
const close = CONSUME2(symbols_exports.RCurly);
|
|
13157
|
+
return ACTION(() => C.factory.wrap(res, C.factory.sourceLocation(open, close)));
|
|
13158
|
+
} }
|
|
13218
13159
|
]);
|
|
13219
|
-
|
|
13220
|
-
|
|
13221
|
-
|
|
13222
|
-
|
|
13223
|
-
|
|
13224
|
-
|
|
13225
|
-
|
|
13226
|
-
|
|
13160
|
+
}
|
|
13161
|
+
};
|
|
13162
|
+
var dataBlockValue = {
|
|
13163
|
+
name: "dataBlockValue",
|
|
13164
|
+
impl: ({ SUBRULE, CONSUME, OR }) => () => OR([
|
|
13165
|
+
{ ALT: () => SUBRULE(iri2) },
|
|
13166
|
+
{ ALT: () => SUBRULE(rdfLiteral) },
|
|
13167
|
+
{ ALT: () => SUBRULE(numericLiteral) },
|
|
13168
|
+
{ ALT: () => SUBRULE(booleanLiteral) },
|
|
13169
|
+
{ ALT: () => {
|
|
13170
|
+
CONSUME(undef);
|
|
13171
|
+
return void 0;
|
|
13172
|
+
} }
|
|
13173
|
+
])
|
|
13174
|
+
};
|
|
13175
|
+
var minusGraphPattern = {
|
|
13176
|
+
name: "minusGraphPattern",
|
|
13177
|
+
impl: ({ ACTION, SUBRULE, CONSUME }) => (C) => {
|
|
13178
|
+
const minus2 = CONSUME(minus);
|
|
13179
|
+
const group = SUBRULE(groupGraphPattern);
|
|
13180
|
+
return ACTION(() => C.factory.patternMinus(group.patterns, C.factory.sourceLocation(minus2, group)));
|
|
13181
|
+
},
|
|
13182
|
+
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { factory: F3 }) => {
|
|
13183
|
+
F3.printFilter(ast, () => PRINT_WORD("MINUS"));
|
|
13184
|
+
SUBRULE(groupGraphPattern, F3.patternGroup(ast.patterns, ast.loc));
|
|
13185
|
+
}
|
|
13186
|
+
};
|
|
13187
|
+
var groupOrUnionGraphPattern = {
|
|
13188
|
+
name: "groupOrUnionGraphPattern",
|
|
13189
|
+
impl: ({ ACTION, MANY, SUBRULE1, SUBRULE2, CONSUME }) => (C) => {
|
|
13190
|
+
const groups = [];
|
|
13191
|
+
const group = SUBRULE1(groupGraphPattern);
|
|
13192
|
+
groups.push(group);
|
|
13193
|
+
MANY(() => {
|
|
13194
|
+
CONSUME(union);
|
|
13195
|
+
const group2 = SUBRULE2(groupGraphPattern);
|
|
13196
|
+
groups.push(group2);
|
|
13227
13197
|
});
|
|
13228
|
-
return
|
|
13198
|
+
return ACTION(() => groups.length === 1 ? groups[0] : C.factory.patternUnion(
|
|
13199
|
+
groups,
|
|
13200
|
+
C.factory.sourceLocation(group, groups.at(-1))
|
|
13201
|
+
));
|
|
13229
13202
|
},
|
|
13230
13203
|
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { factory: F3 }) => {
|
|
13231
|
-
F3.
|
|
13232
|
-
|
|
13233
|
-
|
|
13234
|
-
|
|
13204
|
+
if (F3.isPatternUnion(ast)) {
|
|
13205
|
+
const [head2, ...tail] = ast.patterns;
|
|
13206
|
+
SUBRULE(groupGraphPattern, head2);
|
|
13207
|
+
for (const pattern of tail) {
|
|
13208
|
+
F3.printFilter(ast, () => PRINT_WORD("UNION"));
|
|
13209
|
+
SUBRULE(groupGraphPattern, pattern);
|
|
13235
13210
|
}
|
|
13236
|
-
});
|
|
13237
|
-
const arg = ast.expression[0];
|
|
13238
|
-
if (F3.isWildcard(arg)) {
|
|
13239
|
-
F3.printFilter(ast, () => PRINT_WORD("*"));
|
|
13240
13211
|
} else {
|
|
13241
|
-
SUBRULE(
|
|
13242
|
-
}
|
|
13243
|
-
if (F3.isExpressionAggregateSeparator(ast)) {
|
|
13244
|
-
F3.printFilter(ast, () => PRINT_WORD(";", "SEPARATOR", "=", stringEscapedLexical(ast.separator)));
|
|
13212
|
+
SUBRULE(groupGraphPattern, ast);
|
|
13245
13213
|
}
|
|
13214
|
+
}
|
|
13215
|
+
};
|
|
13216
|
+
var filter3 = {
|
|
13217
|
+
name: "filter",
|
|
13218
|
+
impl: ({ ACTION, SUBRULE, CONSUME }) => (C) => {
|
|
13219
|
+
const filterToken = CONSUME(filter2);
|
|
13220
|
+
const expression2 = SUBRULE(constraint);
|
|
13221
|
+
return ACTION(() => C.factory.patternFilter(expression2, C.factory.sourceLocation(filterToken, expression2)));
|
|
13222
|
+
},
|
|
13223
|
+
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { factory: F3 }) => {
|
|
13224
|
+
F3.printFilter(ast, () => PRINT_WORD("FILTER ("));
|
|
13225
|
+
SUBRULE(expression, ast.expression);
|
|
13246
13226
|
F3.printFilter(ast, () => PRINT_WORD(")"));
|
|
13247
13227
|
}
|
|
13248
13228
|
};
|
|
13229
|
+
var constraint = {
|
|
13230
|
+
name: "constraint",
|
|
13231
|
+
impl: ({ SUBRULE, OR }) => () => OR([
|
|
13232
|
+
{ ALT: () => SUBRULE(brackettedExpression) },
|
|
13233
|
+
{ ALT: () => SUBRULE(builtInCall) },
|
|
13234
|
+
{ ALT: () => SUBRULE(functionCall) }
|
|
13235
|
+
])
|
|
13236
|
+
};
|
|
13237
|
+
var functionCall = {
|
|
13238
|
+
name: "functionCall",
|
|
13239
|
+
impl: ({ ACTION, SUBRULE }) => (C) => {
|
|
13240
|
+
const func = SUBRULE(iri2);
|
|
13241
|
+
const args = SUBRULE(argList);
|
|
13242
|
+
return ACTION(() => C.factory.expressionFunctionCall(
|
|
13243
|
+
func,
|
|
13244
|
+
args.val.args,
|
|
13245
|
+
args.val.distinct,
|
|
13246
|
+
C.factory.sourceLocation(func, args)
|
|
13247
|
+
));
|
|
13248
|
+
}
|
|
13249
|
+
};
|
|
13249
13250
|
|
|
13250
13251
|
// ../../packages/rules-sparql-1-1/lib/grammar/expression.ts
|
|
13251
13252
|
var argList = {
|
|
@@ -13265,7 +13266,7 @@ var argList = {
|
|
|
13265
13266
|
AT_LEAST_ONE_SEP({
|
|
13266
13267
|
SEP: symbols_exports.comma,
|
|
13267
13268
|
DEF: () => {
|
|
13268
|
-
const arg = SUBRULE1(expression
|
|
13269
|
+
const arg = SUBRULE1(expression);
|
|
13269
13270
|
args.push(arg);
|
|
13270
13271
|
}
|
|
13271
13272
|
});
|
|
@@ -13282,11 +13283,11 @@ var argList = {
|
|
|
13282
13283
|
});
|
|
13283
13284
|
const [head2, ...tail] = ast.val.args;
|
|
13284
13285
|
if (head2) {
|
|
13285
|
-
SUBRULE(expression, head2
|
|
13286
|
+
SUBRULE(expression, head2);
|
|
13286
13287
|
}
|
|
13287
13288
|
for (const expr of tail) {
|
|
13288
13289
|
F3.printFilter(ast, () => PRINT_WORD(","));
|
|
13289
|
-
SUBRULE(expression, expr
|
|
13290
|
+
SUBRULE(expression, expr);
|
|
13290
13291
|
}
|
|
13291
13292
|
F3.printFilter(ast, () => PRINT_WORD(")"));
|
|
13292
13293
|
}
|
|
@@ -13300,11 +13301,11 @@ var expressionList = {
|
|
|
13300
13301
|
} },
|
|
13301
13302
|
{ ALT: () => {
|
|
13302
13303
|
const open = CONSUME(symbols_exports.LParen);
|
|
13303
|
-
const expr1 = SUBRULE1(expression
|
|
13304
|
+
const expr1 = SUBRULE1(expression);
|
|
13304
13305
|
const args = [expr1];
|
|
13305
13306
|
MANY(() => {
|
|
13306
13307
|
CONSUME(symbols_exports.comma);
|
|
13307
|
-
const expr = SUBRULE2(expression
|
|
13308
|
+
const expr = SUBRULE2(expression);
|
|
13308
13309
|
args.push(expr);
|
|
13309
13310
|
});
|
|
13310
13311
|
const close = CONSUME(symbols_exports.RParen);
|
|
@@ -13316,15 +13317,15 @@ var infixOperators = /* @__PURE__ */ new Set(["in", "notin", "||", "&&", "=", "!
|
|
|
13316
13317
|
var prefixOperator = /* @__PURE__ */ new Set(["!", "UPLUS", "UMINUS"]);
|
|
13317
13318
|
var expression = {
|
|
13318
13319
|
name: "expression",
|
|
13319
|
-
impl: ({ SUBRULE }) => () => SUBRULE(conditionalOrExpression
|
|
13320
|
+
impl: ({ SUBRULE }) => () => SUBRULE(conditionalOrExpression),
|
|
13320
13321
|
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { factory: F3 }) => {
|
|
13321
13322
|
if (F3.isTerm(ast)) {
|
|
13322
|
-
SUBRULE(varOrTerm, ast
|
|
13323
|
+
SUBRULE(varOrTerm, ast);
|
|
13323
13324
|
} else if (F3.isExpressionOperator(ast)) {
|
|
13324
13325
|
if (infixOperators.has(ast.operator)) {
|
|
13325
13326
|
const [left, ...right] = ast.args;
|
|
13326
13327
|
F3.printFilter(ast, () => PRINT_WORD("("));
|
|
13327
|
-
SUBRULE(expression, left
|
|
13328
|
+
SUBRULE(expression, left);
|
|
13328
13329
|
F3.printFilter(ast, () => {
|
|
13329
13330
|
if (ast.operator === "notin") {
|
|
13330
13331
|
PRINT_WORD("NOT IN");
|
|
@@ -13335,35 +13336,35 @@ var expression = {
|
|
|
13335
13336
|
}
|
|
13336
13337
|
});
|
|
13337
13338
|
if (right.length === 1) {
|
|
13338
|
-
SUBRULE(expression, right[0]
|
|
13339
|
+
SUBRULE(expression, right[0]);
|
|
13339
13340
|
} else {
|
|
13340
|
-
SUBRULE(argList, F3.wrap({ args: right, distinct: false }, ast.loc)
|
|
13341
|
+
SUBRULE(argList, F3.wrap({ args: right, distinct: false }, ast.loc));
|
|
13341
13342
|
}
|
|
13342
13343
|
F3.printFilter(ast, () => PRINT_WORD(")"));
|
|
13343
13344
|
} else if (prefixOperator.has(ast.operator)) {
|
|
13344
13345
|
const [expr] = ast.args;
|
|
13345
13346
|
F3.printFilter(ast, () => PRINT_WORD(ast.operator));
|
|
13346
|
-
SUBRULE(expression, expr
|
|
13347
|
+
SUBRULE(expression, expr);
|
|
13347
13348
|
} else {
|
|
13348
13349
|
F3.printFilter(ast, () => PRINT_WORD(ast.operator, "("));
|
|
13349
13350
|
const [head2, ...tail] = ast.args;
|
|
13350
13351
|
if (head2) {
|
|
13351
|
-
SUBRULE(expression, head2
|
|
13352
|
+
SUBRULE(expression, head2);
|
|
13352
13353
|
}
|
|
13353
13354
|
for (const arg of tail) {
|
|
13354
13355
|
F3.printFilter(ast, () => PRINT_WORD(","));
|
|
13355
|
-
SUBRULE(expression, arg
|
|
13356
|
+
SUBRULE(expression, arg);
|
|
13356
13357
|
}
|
|
13357
13358
|
F3.printFilter(ast, () => PRINT_WORD(")"));
|
|
13358
13359
|
}
|
|
13359
13360
|
} else if (F3.isExpressionPatternOperation(ast)) {
|
|
13360
13361
|
const patterns = ast.args;
|
|
13361
13362
|
F3.printFilter(ast, () => PRINT_WORD(ast.operator === "exists" ? "EXISTS" : "NOT EXISTS"));
|
|
13362
|
-
SUBRULE(groupGraphPattern, patterns
|
|
13363
|
+
SUBRULE(groupGraphPattern, patterns);
|
|
13363
13364
|
} else if (F3.isExpressionFunctionCall(ast)) {
|
|
13364
|
-
SUBRULE(iriOrFunction, ast
|
|
13365
|
+
SUBRULE(iriOrFunction, ast);
|
|
13365
13366
|
} else if (F3.isExpressionAggregate(ast)) {
|
|
13366
|
-
SUBRULE(aggregate, ast
|
|
13367
|
+
SUBRULE(aggregate, ast);
|
|
13367
13368
|
}
|
|
13368
13369
|
}
|
|
13369
13370
|
};
|
|
@@ -13380,10 +13381,10 @@ function constructLeftDeep(startGenerator, restGenerator, ACTION, MANY) {
|
|
|
13380
13381
|
var conditionalOrExpression = {
|
|
13381
13382
|
name: "conditionalOrExpression",
|
|
13382
13383
|
impl: ({ ACTION, MANY, CONSUME, SUBRULE1, SUBRULE2 }) => (C) => constructLeftDeep(
|
|
13383
|
-
() => SUBRULE1(conditionalAndExpression
|
|
13384
|
+
() => SUBRULE1(conditionalAndExpression),
|
|
13384
13385
|
() => {
|
|
13385
13386
|
CONSUME(symbols_exports.logicOr);
|
|
13386
|
-
const args = SUBRULE2(conditionalAndExpression
|
|
13387
|
+
const args = SUBRULE2(conditionalAndExpression);
|
|
13387
13388
|
return (left) => ACTION(() => C.factory.expressionOperation("||", [left, args], C.factory.sourceLocation(left, args)));
|
|
13388
13389
|
},
|
|
13389
13390
|
ACTION,
|
|
@@ -13393,10 +13394,10 @@ var conditionalOrExpression = {
|
|
|
13393
13394
|
var conditionalAndExpression = {
|
|
13394
13395
|
name: "conditionalAndExpression",
|
|
13395
13396
|
impl: ({ ACTION, MANY, SUBRULE1, SUBRULE2, CONSUME }) => (C) => constructLeftDeep(
|
|
13396
|
-
() => SUBRULE1(valueLogical
|
|
13397
|
+
() => SUBRULE1(valueLogical),
|
|
13397
13398
|
() => {
|
|
13398
13399
|
CONSUME(symbols_exports.logicAnd);
|
|
13399
|
-
const arg = SUBRULE2(valueLogical
|
|
13400
|
+
const arg = SUBRULE2(valueLogical);
|
|
13400
13401
|
return (left) => ACTION(() => C.factory.expressionOperation("&&", [left, arg], C.factory.sourceLocation(left, arg)));
|
|
13401
13402
|
},
|
|
13402
13403
|
ACTION,
|
|
@@ -13405,12 +13406,12 @@ var conditionalAndExpression = {
|
|
|
13405
13406
|
};
|
|
13406
13407
|
var valueLogical = {
|
|
13407
13408
|
name: "valueLogical",
|
|
13408
|
-
impl: ({ SUBRULE }) => () => SUBRULE(relationalExpression
|
|
13409
|
+
impl: ({ SUBRULE }) => () => SUBRULE(relationalExpression)
|
|
13409
13410
|
};
|
|
13410
13411
|
var relationalExpression = {
|
|
13411
13412
|
name: "relationalExpression",
|
|
13412
13413
|
impl: ({ ACTION, CONSUME, SUBRULE1, SUBRULE2, OPTION, OR1, OR2, OR3 }) => (C) => {
|
|
13413
|
-
const args1 = SUBRULE1(numericExpression
|
|
13414
|
+
const args1 = SUBRULE1(numericExpression);
|
|
13414
13415
|
const expression2 = OPTION(() => OR1([
|
|
13415
13416
|
{ ALT: () => {
|
|
13416
13417
|
const operator = OR2([
|
|
@@ -13421,7 +13422,7 @@ var relationalExpression = {
|
|
|
13421
13422
|
{ ALT: () => CONSUME(symbols_exports.lessThanEqual) },
|
|
13422
13423
|
{ ALT: () => CONSUME(symbols_exports.greaterThanEqual) }
|
|
13423
13424
|
]);
|
|
13424
|
-
const expr = SUBRULE2(numericExpression
|
|
13425
|
+
const expr = SUBRULE2(numericExpression);
|
|
13425
13426
|
return ACTION(() => C.factory.expressionOperation(
|
|
13426
13427
|
operator.image,
|
|
13427
13428
|
[args1, expr],
|
|
@@ -13433,7 +13434,7 @@ var relationalExpression = {
|
|
|
13433
13434
|
{ ALT: () => CONSUME(in_) },
|
|
13434
13435
|
{ ALT: () => CONSUME(notIn) }
|
|
13435
13436
|
]);
|
|
13436
|
-
const args = SUBRULE1(expressionList
|
|
13437
|
+
const args = SUBRULE1(expressionList);
|
|
13437
13438
|
return ACTION(() => C.factory.expressionOperation(
|
|
13438
13439
|
operator.image,
|
|
13439
13440
|
[args1, ...args.val],
|
|
@@ -13446,25 +13447,25 @@ var relationalExpression = {
|
|
|
13446
13447
|
};
|
|
13447
13448
|
var numericExpression = {
|
|
13448
13449
|
name: "numericExpression",
|
|
13449
|
-
impl: ({ SUBRULE }) => () => SUBRULE(additiveExpression
|
|
13450
|
+
impl: ({ SUBRULE }) => () => SUBRULE(additiveExpression)
|
|
13450
13451
|
};
|
|
13451
13452
|
var additiveExpression = {
|
|
13452
13453
|
name: "additiveExpression",
|
|
13453
13454
|
impl: ({ ACTION, SUBRULE, CONSUME, SUBRULE1, SUBRULE2, MANY1, MANY2, OR1, OR2, OR3, OR4 }) => (C) => constructLeftDeep(
|
|
13454
|
-
() => SUBRULE1(multiplicativeExpression
|
|
13455
|
+
() => SUBRULE1(multiplicativeExpression),
|
|
13455
13456
|
() => OR1([
|
|
13456
13457
|
{ ALT: () => {
|
|
13457
13458
|
const operator = OR2([
|
|
13458
13459
|
{ ALT: () => CONSUME(symbols_exports.opPlus) },
|
|
13459
13460
|
{ ALT: () => CONSUME(symbols_exports.opMinus) }
|
|
13460
13461
|
]);
|
|
13461
|
-
const arg = SUBRULE2(multiplicativeExpression
|
|
13462
|
+
const arg = SUBRULE2(multiplicativeExpression);
|
|
13462
13463
|
return ACTION(() => (left) => C.factory.expressionOperation(operator.image, [left, arg], C.factory.sourceLocation(left, arg)));
|
|
13463
13464
|
} },
|
|
13464
13465
|
{ ALT: () => {
|
|
13465
13466
|
const { operator, startInt } = OR3([
|
|
13466
13467
|
{ ALT: () => {
|
|
13467
|
-
const integer2 = SUBRULE(numericLiteralPositive
|
|
13468
|
+
const integer2 = SUBRULE(numericLiteralPositive);
|
|
13468
13469
|
return ACTION(() => {
|
|
13469
13470
|
integer2.value = integer2.value.replace(/^\+/u, "");
|
|
13470
13471
|
return {
|
|
@@ -13474,7 +13475,7 @@ var additiveExpression = {
|
|
|
13474
13475
|
});
|
|
13475
13476
|
} },
|
|
13476
13477
|
{ ALT: () => {
|
|
13477
|
-
const integer2 = SUBRULE(numericLiteralNegative
|
|
13478
|
+
const integer2 = SUBRULE(numericLiteralNegative);
|
|
13478
13479
|
return ACTION(() => {
|
|
13479
13480
|
integer2.value = integer2.value.replace(/^-/u, "");
|
|
13480
13481
|
return {
|
|
@@ -13491,7 +13492,7 @@ var additiveExpression = {
|
|
|
13491
13492
|
{ ALT: () => CONSUME(symbols_exports.star) },
|
|
13492
13493
|
{ ALT: () => CONSUME(symbols_exports.slash) }
|
|
13493
13494
|
]);
|
|
13494
|
-
const innerExpr = SUBRULE1(unaryExpression
|
|
13495
|
+
const innerExpr = SUBRULE1(unaryExpression);
|
|
13495
13496
|
return ACTION(() => (leftInner) => C.factory.expressionOperation(
|
|
13496
13497
|
innerOperator.image,
|
|
13497
13498
|
[leftInner, innerExpr],
|
|
@@ -13515,13 +13516,13 @@ var additiveExpression = {
|
|
|
13515
13516
|
var multiplicativeExpression = {
|
|
13516
13517
|
name: "multiplicativeExpression",
|
|
13517
13518
|
impl: ({ ACTION, CONSUME, MANY, SUBRULE1, SUBRULE2, OR }) => (C) => constructLeftDeep(
|
|
13518
|
-
() => SUBRULE1(unaryExpression
|
|
13519
|
+
() => SUBRULE1(unaryExpression),
|
|
13519
13520
|
() => {
|
|
13520
13521
|
const operator = OR([
|
|
13521
13522
|
{ ALT: () => CONSUME(symbols_exports.star) },
|
|
13522
13523
|
{ ALT: () => CONSUME(symbols_exports.slash) }
|
|
13523
13524
|
]);
|
|
13524
|
-
const expr = SUBRULE2(unaryExpression
|
|
13525
|
+
const expr = SUBRULE2(unaryExpression);
|
|
13525
13526
|
return (left) => ({
|
|
13526
13527
|
type: "expression",
|
|
13527
13528
|
subType: "operation",
|
|
@@ -13537,14 +13538,14 @@ var multiplicativeExpression = {
|
|
|
13537
13538
|
var unaryExpression = {
|
|
13538
13539
|
name: "unaryExpression",
|
|
13539
13540
|
impl: ({ ACTION, CONSUME, SUBRULE1, SUBRULE2, OR1, OR2 }) => (C) => OR1([
|
|
13540
|
-
{ ALT: () => SUBRULE1(primaryExpression
|
|
13541
|
+
{ ALT: () => SUBRULE1(primaryExpression) },
|
|
13541
13542
|
{ ALT: () => {
|
|
13542
13543
|
const operator = OR2([
|
|
13543
13544
|
{ ALT: () => CONSUME(symbols_exports.exclamation) },
|
|
13544
13545
|
{ ALT: () => CONSUME(symbols_exports.opPlus) },
|
|
13545
13546
|
{ ALT: () => CONSUME(symbols_exports.opMinus) }
|
|
13546
13547
|
]);
|
|
13547
|
-
const expr = SUBRULE2(primaryExpression
|
|
13548
|
+
const expr = SUBRULE2(primaryExpression);
|
|
13548
13549
|
return ACTION(() => ({
|
|
13549
13550
|
type: "expression",
|
|
13550
13551
|
subType: "operation",
|
|
@@ -13558,20 +13559,20 @@ var unaryExpression = {
|
|
|
13558
13559
|
var primaryExpression = {
|
|
13559
13560
|
name: "primaryExpression",
|
|
13560
13561
|
impl: ({ SUBRULE, OR }) => () => OR([
|
|
13561
|
-
{ ALT: () => SUBRULE(brackettedExpression
|
|
13562
|
-
{ ALT: () => SUBRULE(builtInCall
|
|
13563
|
-
{ ALT: () => SUBRULE(iriOrFunction
|
|
13564
|
-
{ ALT: () => SUBRULE(rdfLiteral
|
|
13565
|
-
{ ALT: () => SUBRULE(numericLiteral
|
|
13566
|
-
{ ALT: () => SUBRULE(booleanLiteral
|
|
13567
|
-
{ ALT: () => SUBRULE(var_
|
|
13562
|
+
{ ALT: () => SUBRULE(brackettedExpression) },
|
|
13563
|
+
{ ALT: () => SUBRULE(builtInCall) },
|
|
13564
|
+
{ ALT: () => SUBRULE(iriOrFunction) },
|
|
13565
|
+
{ ALT: () => SUBRULE(rdfLiteral) },
|
|
13566
|
+
{ ALT: () => SUBRULE(numericLiteral) },
|
|
13567
|
+
{ ALT: () => SUBRULE(booleanLiteral) },
|
|
13568
|
+
{ ALT: () => SUBRULE(var_) }
|
|
13568
13569
|
])
|
|
13569
13570
|
};
|
|
13570
13571
|
var brackettedExpression = {
|
|
13571
13572
|
name: "brackettedExpression",
|
|
13572
13573
|
impl: ({ ACTION, SUBRULE, CONSUME }) => (C) => {
|
|
13573
13574
|
const open = CONSUME(symbols_exports.LParen);
|
|
13574
|
-
const expr = SUBRULE(expression
|
|
13575
|
+
const expr = SUBRULE(expression);
|
|
13575
13576
|
const close = CONSUME(symbols_exports.RParen);
|
|
13576
13577
|
return ACTION(() => {
|
|
13577
13578
|
expr.loc = C.factory.sourceLocation(open, close);
|
|
@@ -13582,9 +13583,9 @@ var brackettedExpression = {
|
|
|
13582
13583
|
var iriOrFunction = {
|
|
13583
13584
|
name: "iriOrFunction",
|
|
13584
13585
|
impl: ({ ACTION, SUBRULE, OPTION }) => (C) => {
|
|
13585
|
-
const iriVal = SUBRULE(iri2
|
|
13586
|
+
const iriVal = SUBRULE(iri2);
|
|
13586
13587
|
const functionCall2 = OPTION(() => {
|
|
13587
|
-
const args = SUBRULE(argList
|
|
13588
|
+
const args = SUBRULE(argList);
|
|
13588
13589
|
return ACTION(() => {
|
|
13589
13590
|
const distinct2 = args.val.distinct;
|
|
13590
13591
|
if (!C.parseMode.has("canParseAggregate") && distinct2) {
|
|
@@ -13604,10 +13605,10 @@ var iriOrFunction = {
|
|
|
13604
13605
|
},
|
|
13605
13606
|
gImpl: ({ SUBRULE }) => (ast, { factory: F3 }) => {
|
|
13606
13607
|
if (F3.isTermNamed(ast)) {
|
|
13607
|
-
SUBRULE(iri2, ast
|
|
13608
|
+
SUBRULE(iri2, ast);
|
|
13608
13609
|
} else {
|
|
13609
|
-
SUBRULE(iri2, ast.function
|
|
13610
|
-
SUBRULE(argList, F3.wrap({ args: ast.args, distinct: ast.distinct }, ast.loc)
|
|
13610
|
+
SUBRULE(iri2, ast.function);
|
|
13611
|
+
SUBRULE(argList, F3.wrap({ args: ast.args, distinct: ast.distinct }, ast.loc));
|
|
13611
13612
|
}
|
|
13612
13613
|
}
|
|
13613
13614
|
};
|
|
@@ -13616,10 +13617,10 @@ var iriOrFunction = {
|
|
|
13616
13617
|
var solutionModifier = {
|
|
13617
13618
|
name: "solutionModifier",
|
|
13618
13619
|
impl: ({ ACTION, SUBRULE, OPTION1, OPTION2, OPTION3, OPTION4 }) => () => {
|
|
13619
|
-
const group = OPTION1(() => SUBRULE(groupClause
|
|
13620
|
-
const having2 = OPTION2(() => SUBRULE(havingClause
|
|
13621
|
-
const order2 = OPTION3(() => SUBRULE(orderClause
|
|
13622
|
-
const limitOffset = OPTION4(() => SUBRULE(limitOffsetClauses
|
|
13620
|
+
const group = OPTION1(() => SUBRULE(groupClause));
|
|
13621
|
+
const having2 = OPTION2(() => SUBRULE(havingClause));
|
|
13622
|
+
const order2 = OPTION3(() => SUBRULE(orderClause));
|
|
13623
|
+
const limitOffset = OPTION4(() => SUBRULE(limitOffsetClauses));
|
|
13623
13624
|
return ACTION(() => ({
|
|
13624
13625
|
...limitOffset && { limitOffset },
|
|
13625
13626
|
...group && { group },
|
|
@@ -13629,16 +13630,16 @@ var solutionModifier = {
|
|
|
13629
13630
|
},
|
|
13630
13631
|
gImpl: ({ SUBRULE }) => (ast) => {
|
|
13631
13632
|
if (ast.group) {
|
|
13632
|
-
SUBRULE(groupClause, ast.group
|
|
13633
|
+
SUBRULE(groupClause, ast.group);
|
|
13633
13634
|
}
|
|
13634
13635
|
if (ast.having) {
|
|
13635
|
-
SUBRULE(havingClause, ast.having
|
|
13636
|
+
SUBRULE(havingClause, ast.having);
|
|
13636
13637
|
}
|
|
13637
13638
|
if (ast.order) {
|
|
13638
|
-
SUBRULE(orderClause, ast.order
|
|
13639
|
+
SUBRULE(orderClause, ast.order);
|
|
13639
13640
|
}
|
|
13640
13641
|
if (ast.limitOffset) {
|
|
13641
|
-
SUBRULE(limitOffsetClauses, ast.limitOffset
|
|
13642
|
+
SUBRULE(limitOffsetClauses, ast.limitOffset);
|
|
13642
13643
|
}
|
|
13643
13644
|
}
|
|
13644
13645
|
};
|
|
@@ -13649,7 +13650,7 @@ var groupClause = {
|
|
|
13649
13650
|
const start = CONSUME(groupByGroup);
|
|
13650
13651
|
CONSUME(by);
|
|
13651
13652
|
AT_LEAST_ONE(() => {
|
|
13652
|
-
groupings.push(SUBRULE1(groupCondition
|
|
13653
|
+
groupings.push(SUBRULE1(groupCondition));
|
|
13653
13654
|
});
|
|
13654
13655
|
return ACTION(() => ({
|
|
13655
13656
|
type: "solutionModifier",
|
|
@@ -13662,12 +13663,12 @@ var groupClause = {
|
|
|
13662
13663
|
F3.printFilter(ast, () => PRINT_WORDS("GROUP", "BY"));
|
|
13663
13664
|
for (const grouping of ast.groupings) {
|
|
13664
13665
|
if (F3.isExpression(grouping)) {
|
|
13665
|
-
SUBRULE(expression, grouping
|
|
13666
|
+
SUBRULE(expression, grouping);
|
|
13666
13667
|
} else {
|
|
13667
13668
|
F3.printFilter(ast, () => PRINT_WORDS("("));
|
|
13668
|
-
SUBRULE(expression, grouping.value
|
|
13669
|
+
SUBRULE(expression, grouping.value);
|
|
13669
13670
|
F3.printFilter(ast, () => PRINT_WORDS("AS"));
|
|
13670
|
-
SUBRULE(var_, grouping.variable
|
|
13671
|
+
SUBRULE(var_, grouping.variable);
|
|
13671
13672
|
F3.printFilter(ast, () => PRINT_WORDS(")"));
|
|
13672
13673
|
}
|
|
13673
13674
|
}
|
|
@@ -13676,16 +13677,16 @@ var groupClause = {
|
|
|
13676
13677
|
var groupCondition = {
|
|
13677
13678
|
name: "groupCondition",
|
|
13678
13679
|
impl: ({ ACTION, SUBRULE, CONSUME, SUBRULE1, SUBRULE2, OPTION, OR }) => (C) => OR([
|
|
13679
|
-
{ ALT: () => SUBRULE(builtInCall
|
|
13680
|
-
{ ALT: () => SUBRULE(functionCall
|
|
13681
|
-
{ ALT: () => SUBRULE2(var_
|
|
13680
|
+
{ ALT: () => SUBRULE(builtInCall) },
|
|
13681
|
+
{ ALT: () => SUBRULE(functionCall) },
|
|
13682
|
+
{ ALT: () => SUBRULE2(var_) },
|
|
13682
13683
|
{
|
|
13683
13684
|
ALT: () => {
|
|
13684
13685
|
const open = CONSUME(symbols_exports.LParen);
|
|
13685
|
-
const expressionValue = SUBRULE(expression
|
|
13686
|
+
const expressionValue = SUBRULE(expression);
|
|
13686
13687
|
const variable = OPTION(() => {
|
|
13687
13688
|
CONSUME(as);
|
|
13688
|
-
return SUBRULE1(var_
|
|
13689
|
+
return SUBRULE1(var_);
|
|
13689
13690
|
});
|
|
13690
13691
|
const close = CONSUME(symbols_exports.RParen);
|
|
13691
13692
|
return ACTION(() => {
|
|
@@ -13709,7 +13710,7 @@ var havingClause = {
|
|
|
13709
13710
|
const expressions = [];
|
|
13710
13711
|
const couldParseAgg = ACTION(() => C.parseMode.has("canParseAggregate") || !C.parseMode.add("canParseAggregate"));
|
|
13711
13712
|
AT_LEAST_ONE(() => {
|
|
13712
|
-
expressions.push(SUBRULE(havingCondition
|
|
13713
|
+
expressions.push(SUBRULE(havingCondition));
|
|
13713
13714
|
});
|
|
13714
13715
|
ACTION(() => !couldParseAgg && C.parseMode.delete("canParseAggregate"));
|
|
13715
13716
|
return ACTION(() => C.factory.solutionModifierHaving(expressions, C.factory.sourceLocation(having2, expressions.at(-1))));
|
|
@@ -13717,13 +13718,13 @@ var havingClause = {
|
|
|
13717
13718
|
gImpl: ({ PRINT_WORD, SUBRULE }) => (ast, { factory: F3 }) => {
|
|
13718
13719
|
F3.printFilter(ast, () => PRINT_WORD("HAVING"));
|
|
13719
13720
|
for (const having2 of ast.having) {
|
|
13720
|
-
SUBRULE(expression, having2
|
|
13721
|
+
SUBRULE(expression, having2);
|
|
13721
13722
|
}
|
|
13722
13723
|
}
|
|
13723
13724
|
};
|
|
13724
13725
|
var havingCondition = {
|
|
13725
13726
|
name: "havingCondition",
|
|
13726
|
-
impl: ({ SUBRULE }) => () => SUBRULE(constraint
|
|
13727
|
+
impl: ({ SUBRULE }) => () => SUBRULE(constraint)
|
|
13727
13728
|
};
|
|
13728
13729
|
var orderClause = {
|
|
13729
13730
|
name: "orderClause",
|
|
@@ -13733,7 +13734,7 @@ var orderClause = {
|
|
|
13733
13734
|
const orderings = [];
|
|
13734
13735
|
const couldParseAgg = ACTION(() => C.parseMode.has("canParseAggregate") || !C.parseMode.add("canParseAggregate"));
|
|
13735
13736
|
AT_LEAST_ONE(() => {
|
|
13736
|
-
orderings.push(SUBRULE1(orderCondition
|
|
13737
|
+
orderings.push(SUBRULE1(orderCondition));
|
|
13737
13738
|
});
|
|
13738
13739
|
ACTION(() => !couldParseAgg && C.parseMode.delete("canParseAggregate"));
|
|
13739
13740
|
return ACTION(() => C.factory.solutionModifierOrder(orderings, C.factory.sourceLocation(order2, orderings.at(-1))));
|
|
@@ -13747,7 +13748,7 @@ var orderClause = {
|
|
|
13747
13748
|
F3.printFilter(ast, () => PRINT_WORDS("ASC"));
|
|
13748
13749
|
}
|
|
13749
13750
|
F3.printFilter(ast, () => PRINT_WORDS("("));
|
|
13750
|
-
SUBRULE(expression, ordering.expression
|
|
13751
|
+
SUBRULE(expression, ordering.expression);
|
|
13751
13752
|
F3.printFilter(ast, () => PRINT_WORDS(")"));
|
|
13752
13753
|
}
|
|
13753
13754
|
}
|
|
@@ -13766,7 +13767,7 @@ var orderCondition = {
|
|
|
13766
13767
|
return [true, token];
|
|
13767
13768
|
} }
|
|
13768
13769
|
]);
|
|
13769
|
-
const expr = SUBRULE(brackettedExpression
|
|
13770
|
+
const expr = SUBRULE(brackettedExpression);
|
|
13770
13771
|
return ACTION(() => ({
|
|
13771
13772
|
expression: expr,
|
|
13772
13773
|
descending: descending[0],
|
|
@@ -13774,11 +13775,11 @@ var orderCondition = {
|
|
|
13774
13775
|
}));
|
|
13775
13776
|
} },
|
|
13776
13777
|
{ ALT: () => {
|
|
13777
|
-
const expr = SUBRULE(constraint
|
|
13778
|
+
const expr = SUBRULE(constraint);
|
|
13778
13779
|
return ACTION(() => ({ expression: expr, descending: false, loc: expr.loc }));
|
|
13779
13780
|
} },
|
|
13780
13781
|
{ ALT: () => {
|
|
13781
|
-
const expr = SUBRULE(var_
|
|
13782
|
+
const expr = SUBRULE(var_);
|
|
13782
13783
|
return ACTION(() => ({ expression: expr, descending: false, loc: expr.loc }));
|
|
13783
13784
|
} }
|
|
13784
13785
|
])
|
|
@@ -13787,8 +13788,8 @@ var limitOffsetClauses = {
|
|
|
13787
13788
|
name: "limitOffsetClauses",
|
|
13788
13789
|
impl: ({ ACTION, SUBRULE1, SUBRULE2, OPTION1, OPTION2, OR }) => (C) => OR([
|
|
13789
13790
|
{ ALT: () => {
|
|
13790
|
-
const limit2 = SUBRULE1(limitClause
|
|
13791
|
-
const offset2 = OPTION1(() => SUBRULE1(offsetClause
|
|
13791
|
+
const limit2 = SUBRULE1(limitClause);
|
|
13792
|
+
const offset2 = OPTION1(() => SUBRULE1(offsetClause));
|
|
13792
13793
|
return ACTION(() => C.factory.solutionModifierLimitOffset(
|
|
13793
13794
|
limit2.val,
|
|
13794
13795
|
offset2?.val,
|
|
@@ -13796,8 +13797,8 @@ var limitOffsetClauses = {
|
|
|
13796
13797
|
));
|
|
13797
13798
|
} },
|
|
13798
13799
|
{ ALT: () => {
|
|
13799
|
-
const offset2 = SUBRULE2(offsetClause
|
|
13800
|
-
const limit2 = OPTION2(() => SUBRULE2(limitClause
|
|
13800
|
+
const offset2 = SUBRULE2(offsetClause);
|
|
13801
|
+
const limit2 = OPTION2(() => SUBRULE2(limitClause));
|
|
13801
13802
|
return ACTION(() => C.factory.solutionModifierLimitOffset(
|
|
13802
13803
|
limit2?.val,
|
|
13803
13804
|
offset2.val,
|
|
@@ -13835,22 +13836,22 @@ var offsetClause = {
|
|
|
13835
13836
|
}
|
|
13836
13837
|
};
|
|
13837
13838
|
|
|
13838
|
-
// ../../packages/rules-sparql-1-1/lib/grammar/queryUnit
|
|
13839
|
+
// ../../packages/rules-sparql-1-1/lib/grammar/queryUnit.ts
|
|
13839
13840
|
var queryUnit = {
|
|
13840
13841
|
name: "queryUnit",
|
|
13841
|
-
impl: ({ SUBRULE }) => () => SUBRULE(query
|
|
13842
|
+
impl: ({ SUBRULE }) => () => SUBRULE(query)
|
|
13842
13843
|
};
|
|
13843
13844
|
var query = {
|
|
13844
13845
|
name: "query",
|
|
13845
13846
|
impl: ({ ACTION, SUBRULE, OR }) => (C) => {
|
|
13846
|
-
const prologueValues = SUBRULE(prologue
|
|
13847
|
+
const prologueValues = SUBRULE(prologue);
|
|
13847
13848
|
const subType = OR([
|
|
13848
|
-
{ ALT: () => SUBRULE(selectQuery
|
|
13849
|
-
{ ALT: () => SUBRULE(constructQuery
|
|
13850
|
-
{ ALT: () => SUBRULE(describeQuery
|
|
13851
|
-
{ ALT: () => SUBRULE(askQuery
|
|
13849
|
+
{ ALT: () => SUBRULE(selectQuery) },
|
|
13850
|
+
{ ALT: () => SUBRULE(constructQuery) },
|
|
13851
|
+
{ ALT: () => SUBRULE(describeQuery) },
|
|
13852
|
+
{ ALT: () => SUBRULE(askQuery) }
|
|
13852
13853
|
]);
|
|
13853
|
-
const values3 = SUBRULE(valuesClause
|
|
13854
|
+
const values3 = SUBRULE(valuesClause);
|
|
13854
13855
|
return ACTION(() => ({
|
|
13855
13856
|
context: prologueValues,
|
|
13856
13857
|
...subType,
|
|
@@ -13864,28 +13865,28 @@ var query = {
|
|
|
13864
13865
|
}));
|
|
13865
13866
|
},
|
|
13866
13867
|
gImpl: ({ SUBRULE }) => (ast, { factory: F3 }) => {
|
|
13867
|
-
SUBRULE(prologue, ast.context
|
|
13868
|
+
SUBRULE(prologue, ast.context);
|
|
13868
13869
|
if (F3.isQuerySelect(ast)) {
|
|
13869
|
-
SUBRULE(selectQuery, ast
|
|
13870
|
+
SUBRULE(selectQuery, ast);
|
|
13870
13871
|
} else if (F3.isQueryConstruct(ast)) {
|
|
13871
|
-
SUBRULE(constructQuery, ast
|
|
13872
|
+
SUBRULE(constructQuery, ast);
|
|
13872
13873
|
} else if (F3.isQueryDescribe(ast)) {
|
|
13873
|
-
SUBRULE(describeQuery, ast
|
|
13874
|
+
SUBRULE(describeQuery, ast);
|
|
13874
13875
|
} else if (F3.isQueryAsk(ast)) {
|
|
13875
|
-
SUBRULE(askQuery, ast
|
|
13876
|
+
SUBRULE(askQuery, ast);
|
|
13876
13877
|
}
|
|
13877
13878
|
if (ast.values) {
|
|
13878
|
-
SUBRULE(inlineData, ast.values
|
|
13879
|
+
SUBRULE(inlineData, ast.values);
|
|
13879
13880
|
}
|
|
13880
13881
|
}
|
|
13881
13882
|
};
|
|
13882
13883
|
var selectQuery = {
|
|
13883
13884
|
name: "selectQuery",
|
|
13884
13885
|
impl: ({ ACTION, SUBRULE }) => (C) => {
|
|
13885
|
-
const selectVal = SUBRULE(selectClause
|
|
13886
|
-
const from2 = SUBRULE(datasetClauseStar
|
|
13887
|
-
const where2 = SUBRULE(whereClause
|
|
13888
|
-
const modifiers = SUBRULE(solutionModifier
|
|
13886
|
+
const selectVal = SUBRULE(selectClause);
|
|
13887
|
+
const from2 = SUBRULE(datasetClauseStar);
|
|
13888
|
+
const where2 = SUBRULE(whereClause);
|
|
13889
|
+
const modifiers = SUBRULE(solutionModifier);
|
|
13889
13890
|
return ACTION(() => {
|
|
13890
13891
|
const ret = {
|
|
13891
13892
|
subType: "select",
|
|
@@ -13911,19 +13912,19 @@ var selectQuery = {
|
|
|
13911
13912
|
variables: ast.variables,
|
|
13912
13913
|
distinct: ast.distinct,
|
|
13913
13914
|
reduced: ast.reduced
|
|
13914
|
-
}, F3.sourceLocation(...ast.variables))
|
|
13915
|
-
SUBRULE(datasetClauseStar, ast.datasets
|
|
13916
|
-
SUBRULE(whereClause, F3.wrap(ast.where, ast.where.loc)
|
|
13917
|
-
SUBRULE(solutionModifier, ast.solutionModifiers
|
|
13915
|
+
}, F3.sourceLocation(...ast.variables)));
|
|
13916
|
+
SUBRULE(datasetClauseStar, ast.datasets);
|
|
13917
|
+
SUBRULE(whereClause, F3.wrap(ast.where, ast.where.loc));
|
|
13918
|
+
SUBRULE(solutionModifier, ast.solutionModifiers);
|
|
13918
13919
|
}
|
|
13919
13920
|
};
|
|
13920
13921
|
var subSelect = {
|
|
13921
13922
|
name: "subSelect",
|
|
13922
13923
|
impl: ({ ACTION, SUBRULE }) => (C) => {
|
|
13923
|
-
const selectVal = SUBRULE(selectClause
|
|
13924
|
-
const where2 = SUBRULE(whereClause
|
|
13925
|
-
const modifiers = SUBRULE(solutionModifier
|
|
13926
|
-
const values3 = SUBRULE(valuesClause
|
|
13924
|
+
const selectVal = SUBRULE(selectClause);
|
|
13925
|
+
const where2 = SUBRULE(whereClause);
|
|
13926
|
+
const modifiers = SUBRULE(solutionModifier);
|
|
13927
|
+
const values3 = SUBRULE(valuesClause);
|
|
13927
13928
|
return ACTION(() => C.factory.querySelect({
|
|
13928
13929
|
where: where2.val,
|
|
13929
13930
|
datasets: C.factory.datasetClauses([], C.factory.sourceLocation()),
|
|
@@ -13988,7 +13989,7 @@ var selectClause = {
|
|
|
13988
13989
|
const variables = [];
|
|
13989
13990
|
AT_LEAST_ONE(() => OR3([
|
|
13990
13991
|
{ ALT: () => {
|
|
13991
|
-
const raw = SUBRULE1(var_
|
|
13992
|
+
const raw = SUBRULE1(var_);
|
|
13992
13993
|
ACTION(() => {
|
|
13993
13994
|
if (usedVars.some((v) => v.value === raw.value)) {
|
|
13994
13995
|
throw new Error(`Variable ${raw.value} used more than once in SELECT clause`);
|
|
@@ -14000,9 +14001,9 @@ var selectClause = {
|
|
|
14000
14001
|
} },
|
|
14001
14002
|
{ ALT: () => {
|
|
14002
14003
|
const open = CONSUME(symbols_exports.LParen);
|
|
14003
|
-
const expr = SUBRULE1(expression
|
|
14004
|
+
const expr = SUBRULE1(expression);
|
|
14004
14005
|
CONSUME(as);
|
|
14005
|
-
const variable = SUBRULE2(var_
|
|
14006
|
+
const variable = SUBRULE2(var_);
|
|
14006
14007
|
const close = CONSUME(symbols_exports.RParen);
|
|
14007
14008
|
ACTION(() => {
|
|
14008
14009
|
last2 = close;
|
|
@@ -14033,12 +14034,12 @@ var selectClause = {
|
|
|
14033
14034
|
if (F3.isWildcard(variable)) {
|
|
14034
14035
|
F3.printFilter(ast, () => PRINT_WORD("*"));
|
|
14035
14036
|
} else if (F3.isTerm(variable)) {
|
|
14036
|
-
SUBRULE(var_, variable
|
|
14037
|
+
SUBRULE(var_, variable);
|
|
14037
14038
|
} else {
|
|
14038
14039
|
F3.printFilter(ast, () => PRINT_WORD("("));
|
|
14039
|
-
SUBRULE(expression, variable.expression
|
|
14040
|
+
SUBRULE(expression, variable.expression);
|
|
14040
14041
|
F3.printFilter(ast, () => PRINT_WORD("AS"));
|
|
14041
|
-
SUBRULE(var_, variable.variable
|
|
14042
|
+
SUBRULE(var_, variable.variable);
|
|
14042
14043
|
F3.printFilter(ast, () => PRINT_WORD(")"));
|
|
14043
14044
|
}
|
|
14044
14045
|
}
|
|
@@ -14050,10 +14051,10 @@ var constructQuery = {
|
|
|
14050
14051
|
const construct2 = CONSUME(construct);
|
|
14051
14052
|
return OR([
|
|
14052
14053
|
{ ALT: () => {
|
|
14053
|
-
const template = SUBRULE1(constructTemplate
|
|
14054
|
-
const from2 = SUBRULE1(datasetClauseStar
|
|
14055
|
-
const where2 = SUBRULE1(whereClause
|
|
14056
|
-
const modifiers = SUBRULE1(solutionModifier
|
|
14054
|
+
const template = SUBRULE1(constructTemplate);
|
|
14055
|
+
const from2 = SUBRULE1(datasetClauseStar);
|
|
14056
|
+
const where2 = SUBRULE1(whereClause);
|
|
14057
|
+
const modifiers = SUBRULE1(solutionModifier);
|
|
14057
14058
|
return ACTION(() => ({
|
|
14058
14059
|
subType: "construct",
|
|
14059
14060
|
template: template.val,
|
|
@@ -14071,10 +14072,10 @@ var constructQuery = {
|
|
|
14071
14072
|
}));
|
|
14072
14073
|
} },
|
|
14073
14074
|
{ ALT: () => {
|
|
14074
|
-
const from2 = SUBRULE2(datasetClauseStar
|
|
14075
|
+
const from2 = SUBRULE2(datasetClauseStar);
|
|
14075
14076
|
CONSUME(where);
|
|
14076
|
-
const template = SUBRULE2(constructTemplate
|
|
14077
|
-
const modifiers = SUBRULE2(solutionModifier
|
|
14077
|
+
const template = SUBRULE2(constructTemplate);
|
|
14078
|
+
const modifiers = SUBRULE2(solutionModifier);
|
|
14078
14079
|
return ACTION(() => ({
|
|
14079
14080
|
subType: "construct",
|
|
14080
14081
|
template: template.val,
|
|
@@ -14097,16 +14098,16 @@ var constructQuery = {
|
|
|
14097
14098
|
F3.printFilter(ast, () => PRINT_WORD("CONSTRUCT"));
|
|
14098
14099
|
if (!F3.isSourceLocationNoMaterialize(ast.where.loc)) {
|
|
14099
14100
|
F3.printFilter(ast, () => PRINT_WORD("{"));
|
|
14100
|
-
SUBRULE(triplesBlock, ast.template
|
|
14101
|
+
SUBRULE(triplesBlock, ast.template);
|
|
14101
14102
|
F3.printFilter(ast, () => PRINT_WORD("}"));
|
|
14102
14103
|
}
|
|
14103
|
-
SUBRULE(datasetClauseStar, ast.datasets
|
|
14104
|
+
SUBRULE(datasetClauseStar, ast.datasets);
|
|
14104
14105
|
if (F3.isSourceLocationNoMaterialize(ast.where.loc)) {
|
|
14105
|
-
SUBRULE(whereClause, F3.wrap(F3.patternGroup([ast.template], ast.template.loc), ast.template.loc)
|
|
14106
|
+
SUBRULE(whereClause, F3.wrap(F3.patternGroup([ast.template], ast.template.loc), ast.template.loc));
|
|
14106
14107
|
} else {
|
|
14107
|
-
SUBRULE(whereClause, F3.wrap(ast.where, ast.where.loc)
|
|
14108
|
+
SUBRULE(whereClause, F3.wrap(ast.where, ast.where.loc));
|
|
14108
14109
|
}
|
|
14109
|
-
SUBRULE(solutionModifier, ast.solutionModifiers
|
|
14110
|
+
SUBRULE(solutionModifier, ast.solutionModifiers);
|
|
14110
14111
|
}
|
|
14111
14112
|
};
|
|
14112
14113
|
var describeQuery = {
|
|
@@ -14117,7 +14118,7 @@ var describeQuery = {
|
|
|
14117
14118
|
{ ALT: () => {
|
|
14118
14119
|
const variables2 = [];
|
|
14119
14120
|
AT_LEAST_ONE(() => {
|
|
14120
|
-
variables2.push(SUBRULE1(varOrIri
|
|
14121
|
+
variables2.push(SUBRULE1(varOrIri));
|
|
14121
14122
|
});
|
|
14122
14123
|
return variables2;
|
|
14123
14124
|
} },
|
|
@@ -14126,9 +14127,9 @@ var describeQuery = {
|
|
|
14126
14127
|
return [ACTION(() => C.factory.wildcard(C.factory.sourceLocation(star2)))];
|
|
14127
14128
|
} }
|
|
14128
14129
|
]);
|
|
14129
|
-
const from2 = SUBRULE1(datasetClauseStar
|
|
14130
|
-
const where2 = OPTION(() => SUBRULE1(whereClause
|
|
14131
|
-
const modifiers = SUBRULE1(solutionModifier
|
|
14130
|
+
const from2 = SUBRULE1(datasetClauseStar);
|
|
14131
|
+
const where2 = OPTION(() => SUBRULE1(whereClause));
|
|
14132
|
+
const modifiers = SUBRULE1(solutionModifier);
|
|
14132
14133
|
return ACTION(() => ({
|
|
14133
14134
|
subType: "describe",
|
|
14134
14135
|
variables,
|
|
@@ -14153,23 +14154,23 @@ var describeQuery = {
|
|
|
14153
14154
|
F3.printFilter(ast, () => PRINT_WORD("*"));
|
|
14154
14155
|
} else {
|
|
14155
14156
|
for (const variable of ast.variables) {
|
|
14156
|
-
SUBRULE(varOrTerm, variable
|
|
14157
|
+
SUBRULE(varOrTerm, variable);
|
|
14157
14158
|
}
|
|
14158
14159
|
}
|
|
14159
|
-
SUBRULE(datasetClauseStar, ast.datasets
|
|
14160
|
+
SUBRULE(datasetClauseStar, ast.datasets);
|
|
14160
14161
|
if (ast.where) {
|
|
14161
|
-
SUBRULE(whereClause, F3.wrap(ast.where, ast.loc)
|
|
14162
|
+
SUBRULE(whereClause, F3.wrap(ast.where, ast.loc));
|
|
14162
14163
|
}
|
|
14163
|
-
SUBRULE(solutionModifier, ast.solutionModifiers
|
|
14164
|
+
SUBRULE(solutionModifier, ast.solutionModifiers);
|
|
14164
14165
|
}
|
|
14165
14166
|
};
|
|
14166
14167
|
var askQuery = {
|
|
14167
14168
|
name: "askQuery",
|
|
14168
14169
|
impl: ({ ACTION, SUBRULE, CONSUME }) => (C) => {
|
|
14169
14170
|
const ask2 = CONSUME(ask);
|
|
14170
|
-
const from2 = SUBRULE(datasetClauseStar
|
|
14171
|
-
const where2 = SUBRULE(whereClause
|
|
14172
|
-
const modifiers = SUBRULE(solutionModifier
|
|
14171
|
+
const from2 = SUBRULE(datasetClauseStar);
|
|
14172
|
+
const where2 = SUBRULE(whereClause);
|
|
14173
|
+
const modifiers = SUBRULE(solutionModifier);
|
|
14173
14174
|
return ACTION(() => ({
|
|
14174
14175
|
subType: "ask",
|
|
14175
14176
|
datasets: from2,
|
|
@@ -14188,20 +14189,20 @@ var askQuery = {
|
|
|
14188
14189
|
},
|
|
14189
14190
|
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { factory: F3 }) => {
|
|
14190
14191
|
F3.printFilter(ast, () => PRINT_WORD("ASK"));
|
|
14191
|
-
SUBRULE(datasetClauseStar, ast.datasets
|
|
14192
|
-
SUBRULE(whereClause, F3.wrap(ast.where, ast.loc)
|
|
14193
|
-
SUBRULE(solutionModifier, ast.solutionModifiers
|
|
14192
|
+
SUBRULE(datasetClauseStar, ast.datasets);
|
|
14193
|
+
SUBRULE(whereClause, F3.wrap(ast.where, ast.loc));
|
|
14194
|
+
SUBRULE(solutionModifier, ast.solutionModifiers);
|
|
14194
14195
|
}
|
|
14195
14196
|
};
|
|
14196
14197
|
var valuesClause = {
|
|
14197
14198
|
name: "valuesClause",
|
|
14198
|
-
impl: ({ OPTION, SUBRULE }) => () => OPTION(() => SUBRULE(inlineData
|
|
14199
|
+
impl: ({ OPTION, SUBRULE }) => () => OPTION(() => SUBRULE(inlineData))
|
|
14199
14200
|
};
|
|
14200
14201
|
var constructTemplate = {
|
|
14201
14202
|
name: "constructTemplate",
|
|
14202
14203
|
impl: ({ ACTION, SUBRULE1, CONSUME, OPTION }) => (C) => {
|
|
14203
14204
|
const open = CONSUME(symbols_exports.LCurly);
|
|
14204
|
-
const triples = OPTION(() => SUBRULE1(constructTriples
|
|
14205
|
+
const triples = OPTION(() => SUBRULE1(constructTriples));
|
|
14205
14206
|
const close = CONSUME(symbols_exports.RCurly);
|
|
14206
14207
|
return ACTION(() => C.factory.wrap(
|
|
14207
14208
|
triples ?? C.factory.patternBgp([], C.factory.sourceLocation()),
|
|
@@ -14214,27 +14215,27 @@ var constructTriples = {
|
|
|
14214
14215
|
impl: triplesTemplate.impl
|
|
14215
14216
|
};
|
|
14216
14217
|
|
|
14217
|
-
// ../../packages/rules-sparql-1-1/lib/grammar/updateUnit
|
|
14218
|
+
// ../../packages/rules-sparql-1-1/lib/grammar/updateUnit.ts
|
|
14218
14219
|
var updateUnit = {
|
|
14219
14220
|
name: "updateUnit",
|
|
14220
|
-
impl: ({ SUBRULE }) => () => SUBRULE(update
|
|
14221
|
+
impl: ({ SUBRULE }) => () => SUBRULE(update)
|
|
14221
14222
|
};
|
|
14222
14223
|
var update = {
|
|
14223
14224
|
name: "update",
|
|
14224
14225
|
impl: ({ ACTION, SUBRULE, SUBRULE1, SUBRULE2, CONSUME, OPTION1, MANY }) => (C) => {
|
|
14225
14226
|
const updates = [];
|
|
14226
|
-
const prologueValues = SUBRULE1(prologue
|
|
14227
|
+
const prologueValues = SUBRULE1(prologue);
|
|
14227
14228
|
updates.push({ context: prologueValues });
|
|
14228
14229
|
let parsedSemi = true;
|
|
14229
14230
|
MANY({
|
|
14230
14231
|
GATE: () => parsedSemi,
|
|
14231
14232
|
DEF: () => {
|
|
14232
14233
|
parsedSemi = false;
|
|
14233
|
-
updates.at(-1).operation = SUBRULE(update1
|
|
14234
|
+
updates.at(-1).operation = SUBRULE(update1);
|
|
14234
14235
|
OPTION1(() => {
|
|
14235
14236
|
CONSUME(symbols_exports.semi);
|
|
14236
14237
|
parsedSemi = true;
|
|
14237
|
-
const innerPrologue = SUBRULE2(prologue
|
|
14238
|
+
const innerPrologue = SUBRULE2(prologue);
|
|
14238
14239
|
updates.push({ context: innerPrologue });
|
|
14239
14240
|
});
|
|
14240
14241
|
}
|
|
@@ -14256,9 +14257,9 @@ var update = {
|
|
|
14256
14257
|
},
|
|
14257
14258
|
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { factory: F3 }) => {
|
|
14258
14259
|
for (const update2 of ast.updates) {
|
|
14259
|
-
SUBRULE(prologue, update2.context
|
|
14260
|
+
SUBRULE(prologue, update2.context);
|
|
14260
14261
|
if (update2.operation) {
|
|
14261
|
-
SUBRULE(update1, update2.operation
|
|
14262
|
+
SUBRULE(update1, update2.operation);
|
|
14262
14263
|
F3.printFilter(ast, () => PRINT_WORD(" ;\n"));
|
|
14263
14264
|
}
|
|
14264
14265
|
}
|
|
@@ -14267,52 +14268,52 @@ var update = {
|
|
|
14267
14268
|
var update1 = {
|
|
14268
14269
|
name: "update1",
|
|
14269
14270
|
impl: ({ SUBRULE, OR }) => () => OR([
|
|
14270
|
-
{ ALT: () => SUBRULE(load2
|
|
14271
|
-
{ ALT: () => SUBRULE(clear2
|
|
14272
|
-
{ ALT: () => SUBRULE(drop3
|
|
14273
|
-
{ ALT: () => SUBRULE(add2
|
|
14274
|
-
{ ALT: () => SUBRULE(move2
|
|
14275
|
-
{ ALT: () => SUBRULE(copy2
|
|
14276
|
-
{ ALT: () => SUBRULE(create2
|
|
14277
|
-
{ ALT: () => SUBRULE(insertData
|
|
14278
|
-
{ ALT: () => SUBRULE(deleteData
|
|
14279
|
-
{ ALT: () => SUBRULE(deleteWhere
|
|
14280
|
-
{ ALT: () => SUBRULE(modify
|
|
14271
|
+
{ ALT: () => SUBRULE(load2) },
|
|
14272
|
+
{ ALT: () => SUBRULE(clear2) },
|
|
14273
|
+
{ ALT: () => SUBRULE(drop3) },
|
|
14274
|
+
{ ALT: () => SUBRULE(add2) },
|
|
14275
|
+
{ ALT: () => SUBRULE(move2) },
|
|
14276
|
+
{ ALT: () => SUBRULE(copy2) },
|
|
14277
|
+
{ ALT: () => SUBRULE(create2) },
|
|
14278
|
+
{ ALT: () => SUBRULE(insertData) },
|
|
14279
|
+
{ ALT: () => SUBRULE(deleteData) },
|
|
14280
|
+
{ ALT: () => SUBRULE(deleteWhere) },
|
|
14281
|
+
{ ALT: () => SUBRULE(modify) }
|
|
14281
14282
|
]),
|
|
14282
14283
|
gImpl: ({ SUBRULE }) => (ast) => {
|
|
14283
14284
|
switch (ast.subType) {
|
|
14284
14285
|
case "load":
|
|
14285
|
-
SUBRULE(load2, ast
|
|
14286
|
+
SUBRULE(load2, ast);
|
|
14286
14287
|
break;
|
|
14287
14288
|
case "clear":
|
|
14288
|
-
SUBRULE(clear2, ast
|
|
14289
|
+
SUBRULE(clear2, ast);
|
|
14289
14290
|
break;
|
|
14290
14291
|
case "drop":
|
|
14291
|
-
SUBRULE(drop3, ast
|
|
14292
|
+
SUBRULE(drop3, ast);
|
|
14292
14293
|
break;
|
|
14293
14294
|
case "add":
|
|
14294
|
-
SUBRULE(add2, ast
|
|
14295
|
+
SUBRULE(add2, ast);
|
|
14295
14296
|
break;
|
|
14296
14297
|
case "move":
|
|
14297
|
-
SUBRULE(move2, ast
|
|
14298
|
+
SUBRULE(move2, ast);
|
|
14298
14299
|
break;
|
|
14299
14300
|
case "copy":
|
|
14300
|
-
SUBRULE(copy2, ast
|
|
14301
|
+
SUBRULE(copy2, ast);
|
|
14301
14302
|
break;
|
|
14302
14303
|
case "create":
|
|
14303
|
-
SUBRULE(create2, ast
|
|
14304
|
+
SUBRULE(create2, ast);
|
|
14304
14305
|
break;
|
|
14305
14306
|
case "insertdata":
|
|
14306
|
-
SUBRULE(insertData, ast
|
|
14307
|
+
SUBRULE(insertData, ast);
|
|
14307
14308
|
break;
|
|
14308
14309
|
case "deletedata":
|
|
14309
|
-
SUBRULE(deleteData, ast
|
|
14310
|
+
SUBRULE(deleteData, ast);
|
|
14310
14311
|
break;
|
|
14311
14312
|
case "deletewhere":
|
|
14312
|
-
SUBRULE(deleteWhere, ast
|
|
14313
|
+
SUBRULE(deleteWhere, ast);
|
|
14313
14314
|
break;
|
|
14314
14315
|
case "modify":
|
|
14315
|
-
SUBRULE(modify, ast
|
|
14316
|
+
SUBRULE(modify, ast);
|
|
14316
14317
|
break;
|
|
14317
14318
|
}
|
|
14318
14319
|
}
|
|
@@ -14322,10 +14323,10 @@ var load2 = {
|
|
|
14322
14323
|
impl: ({ ACTION, SUBRULE1, CONSUME, OPTION1, OPTION2 }) => (C) => {
|
|
14323
14324
|
const loadToken = CONSUME(load);
|
|
14324
14325
|
const silent2 = OPTION1(() => CONSUME(silent));
|
|
14325
|
-
const source = SUBRULE1(iri2
|
|
14326
|
+
const source = SUBRULE1(iri2);
|
|
14326
14327
|
const destination = OPTION2(() => {
|
|
14327
14328
|
CONSUME(loadInto);
|
|
14328
|
-
return SUBRULE1(graphRef
|
|
14329
|
+
return SUBRULE1(graphRef);
|
|
14329
14330
|
});
|
|
14330
14331
|
return ACTION(() => C.factory.updateOperationLoad(
|
|
14331
14332
|
C.factory.sourceLocation(loadToken, source, destination),
|
|
@@ -14341,10 +14342,10 @@ var load2 = {
|
|
|
14341
14342
|
PRINT_WORD("SILENT");
|
|
14342
14343
|
}
|
|
14343
14344
|
});
|
|
14344
|
-
SUBRULE(iri2, ast.source
|
|
14345
|
+
SUBRULE(iri2, ast.source);
|
|
14345
14346
|
if (ast.destination) {
|
|
14346
14347
|
F3.printFilter(ast, () => PRINT_WORD("INTO"));
|
|
14347
|
-
SUBRULE(graphRefAll, ast.destination
|
|
14348
|
+
SUBRULE(graphRefAll, ast.destination);
|
|
14348
14349
|
}
|
|
14349
14350
|
}
|
|
14350
14351
|
};
|
|
@@ -14354,7 +14355,7 @@ function clearOrDrop(operation) {
|
|
|
14354
14355
|
impl: ({ ACTION, SUBRULE1, CONSUME, OPTION }) => (C) => {
|
|
14355
14356
|
const opToken = CONSUME(operation);
|
|
14356
14357
|
const silent2 = OPTION(() => CONSUME(silent));
|
|
14357
|
-
const destination = SUBRULE1(graphRefAll
|
|
14358
|
+
const destination = SUBRULE1(graphRefAll);
|
|
14358
14359
|
return ACTION(() => C.factory.updateOperationClearDrop(
|
|
14359
14360
|
unCapitalize(operation.name),
|
|
14360
14361
|
Boolean(silent2),
|
|
@@ -14369,7 +14370,7 @@ function clearOrDrop(operation) {
|
|
|
14369
14370
|
PRINT_WORD("SILENT");
|
|
14370
14371
|
}
|
|
14371
14372
|
});
|
|
14372
|
-
SUBRULE(graphRefAll, ast.destination
|
|
14373
|
+
SUBRULE(graphRefAll, ast.destination);
|
|
14373
14374
|
}
|
|
14374
14375
|
};
|
|
14375
14376
|
}
|
|
@@ -14380,7 +14381,7 @@ var create2 = {
|
|
|
14380
14381
|
impl: ({ ACTION, SUBRULE1, CONSUME, OPTION }) => (C) => {
|
|
14381
14382
|
const createToken3 = CONSUME(create);
|
|
14382
14383
|
const silent2 = OPTION(() => CONSUME(silent));
|
|
14383
|
-
const destination = SUBRULE1(graphRef
|
|
14384
|
+
const destination = SUBRULE1(graphRef);
|
|
14384
14385
|
return ACTION(() => C.factory.updateOperationCreate(
|
|
14385
14386
|
destination,
|
|
14386
14387
|
Boolean(silent2),
|
|
@@ -14394,7 +14395,7 @@ var create2 = {
|
|
|
14394
14395
|
PRINT_WORD("SILENT");
|
|
14395
14396
|
}
|
|
14396
14397
|
});
|
|
14397
|
-
SUBRULE(graphRefAll, ast.destination
|
|
14398
|
+
SUBRULE(graphRefAll, ast.destination);
|
|
14398
14399
|
}
|
|
14399
14400
|
};
|
|
14400
14401
|
function copyMoveAddOperation(operation) {
|
|
@@ -14403,9 +14404,9 @@ function copyMoveAddOperation(operation) {
|
|
|
14403
14404
|
impl: ({ ACTION, CONSUME, SUBRULE1, SUBRULE2, OPTION }) => (C) => {
|
|
14404
14405
|
const op = CONSUME(operation);
|
|
14405
14406
|
const silent2 = OPTION(() => CONSUME(silent));
|
|
14406
|
-
const source = SUBRULE1(graphOrDefault
|
|
14407
|
+
const source = SUBRULE1(graphOrDefault);
|
|
14407
14408
|
CONSUME(to);
|
|
14408
|
-
const destination = SUBRULE2(graphOrDefault
|
|
14409
|
+
const destination = SUBRULE2(graphOrDefault);
|
|
14409
14410
|
return ACTION(() => C.factory.updateOperationAddMoveCopy(
|
|
14410
14411
|
unCapitalize(operation.name),
|
|
14411
14412
|
source,
|
|
@@ -14421,9 +14422,9 @@ function copyMoveAddOperation(operation) {
|
|
|
14421
14422
|
PRINT_WORD("SILENT");
|
|
14422
14423
|
}
|
|
14423
14424
|
});
|
|
14424
|
-
SUBRULE(graphRefAll, ast.source
|
|
14425
|
+
SUBRULE(graphRefAll, ast.source);
|
|
14425
14426
|
F3.printFilter(ast, () => PRINT_WORD("TO"));
|
|
14426
|
-
SUBRULE(graphRefAll, ast.destination
|
|
14427
|
+
SUBRULE(graphRefAll, ast.destination);
|
|
14427
14428
|
}
|
|
14428
14429
|
};
|
|
14429
14430
|
}
|
|
@@ -14434,7 +14435,7 @@ var quadPattern = {
|
|
|
14434
14435
|
name: "quadPattern",
|
|
14435
14436
|
impl: ({ ACTION, SUBRULE1, CONSUME }) => (C) => {
|
|
14436
14437
|
const open = CONSUME(symbols_exports.LCurly);
|
|
14437
|
-
const val = SUBRULE1(quads
|
|
14438
|
+
const val = SUBRULE1(quads);
|
|
14438
14439
|
const close = CONSUME(symbols_exports.RCurly);
|
|
14439
14440
|
return ACTION(() => C.factory.wrap(val.val, C.factory.sourceLocation(open, close)));
|
|
14440
14441
|
}
|
|
@@ -14444,7 +14445,7 @@ var quadData = {
|
|
|
14444
14445
|
impl: ({ ACTION, SUBRULE1, CONSUME }) => (C) => {
|
|
14445
14446
|
const open = CONSUME(symbols_exports.LCurly);
|
|
14446
14447
|
const couldParseVars = ACTION(() => C.parseMode.delete("canParseVars"));
|
|
14447
|
-
const val = SUBRULE1(quads
|
|
14448
|
+
const val = SUBRULE1(quads);
|
|
14448
14449
|
ACTION(() => couldParseVars && C.parseMode.add("canParseVars"));
|
|
14449
14450
|
const close = CONSUME(symbols_exports.RCurly);
|
|
14450
14451
|
return ACTION(() => C.factory.wrap(val.val, C.factory.sourceLocation(open, close)));
|
|
@@ -14460,7 +14461,7 @@ function insertDeleteDelWhere(name, subType, cons1, cons2, dataRule) {
|
|
|
14460
14461
|
if (name !== "insertData") {
|
|
14461
14462
|
couldCreateBlankNodes = ACTION(() => C.parseMode.delete("canCreateBlankNodes"));
|
|
14462
14463
|
}
|
|
14463
|
-
const data = SUBRULE1(dataRule
|
|
14464
|
+
const data = SUBRULE1(dataRule);
|
|
14464
14465
|
if (name !== "insertData") {
|
|
14465
14466
|
ACTION(() => couldCreateBlankNodes && C.parseMode.add("canCreateBlankNodes"));
|
|
14466
14467
|
}
|
|
@@ -14471,7 +14472,7 @@ function insertDeleteDelWhere(name, subType, cons1, cons2, dataRule) {
|
|
|
14471
14472
|
subType === "insertdata" ? "INSERT DATA" : subType === "deletedata" ? "DELETE DATA" : "DELETE WHERE",
|
|
14472
14473
|
"{"
|
|
14473
14474
|
));
|
|
14474
|
-
SUBRULE(quads, F3.wrap(ast.data, ast.loc)
|
|
14475
|
+
SUBRULE(quads, F3.wrap(ast.data, ast.loc));
|
|
14475
14476
|
F3.printFilter(ast, () => PRINT_WORD("}"));
|
|
14476
14477
|
}
|
|
14477
14478
|
};
|
|
@@ -14484,23 +14485,23 @@ var modify = {
|
|
|
14484
14485
|
impl: ({ ACTION, CONSUME, SUBRULE1, SUBRULE2, OPTION1, OPTION2, OR }) => (C) => {
|
|
14485
14486
|
const graph2 = OPTION1(() => {
|
|
14486
14487
|
const withToken = CONSUME(modifyWith);
|
|
14487
|
-
const graph3 = SUBRULE1(iri2
|
|
14488
|
+
const graph3 = SUBRULE1(iri2);
|
|
14488
14489
|
return { withToken, graph: graph3 };
|
|
14489
14490
|
});
|
|
14490
14491
|
const { insert, del } = OR([
|
|
14491
14492
|
{ ALT: () => {
|
|
14492
|
-
const del2 = SUBRULE1(deleteClause2
|
|
14493
|
-
const insert2 = OPTION2(() => SUBRULE1(insertClause2
|
|
14493
|
+
const del2 = SUBRULE1(deleteClause2);
|
|
14494
|
+
const insert2 = OPTION2(() => SUBRULE1(insertClause2));
|
|
14494
14495
|
return { del: del2, insert: insert2 };
|
|
14495
14496
|
} },
|
|
14496
14497
|
{ ALT: () => {
|
|
14497
|
-
const insert2 = SUBRULE2(insertClause2
|
|
14498
|
+
const insert2 = SUBRULE2(insertClause2);
|
|
14498
14499
|
return { insert: insert2, del: void 0 };
|
|
14499
14500
|
} }
|
|
14500
14501
|
]);
|
|
14501
|
-
const using = SUBRULE1(usingClauseStar
|
|
14502
|
+
const using = SUBRULE1(usingClauseStar);
|
|
14502
14503
|
CONSUME(where);
|
|
14503
|
-
const where2 = SUBRULE1(groupGraphPattern
|
|
14504
|
+
const where2 = SUBRULE1(groupGraphPattern);
|
|
14504
14505
|
return ACTION(() => C.factory.updateOperationModify(
|
|
14505
14506
|
C.factory.sourceLocation(graph2?.withToken, del, insert, where2),
|
|
14506
14507
|
insert?.val ?? [],
|
|
@@ -14513,21 +14514,21 @@ var modify = {
|
|
|
14513
14514
|
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { factory: F3 }) => {
|
|
14514
14515
|
if (ast.graph) {
|
|
14515
14516
|
F3.printFilter(ast, () => PRINT_WORD("WITH"));
|
|
14516
|
-
SUBRULE(iri2, ast.graph
|
|
14517
|
+
SUBRULE(iri2, ast.graph);
|
|
14517
14518
|
}
|
|
14518
14519
|
if (ast.delete.length > 0) {
|
|
14519
14520
|
F3.printFilter(ast, () => PRINT_WORD("DELETE", "{"));
|
|
14520
|
-
SUBRULE(quads, F3.wrap(ast.delete, ast.loc)
|
|
14521
|
+
SUBRULE(quads, F3.wrap(ast.delete, ast.loc));
|
|
14521
14522
|
F3.printFilter(ast, () => PRINT_WORD("}"));
|
|
14522
14523
|
}
|
|
14523
14524
|
if (ast.insert.length > 0) {
|
|
14524
14525
|
F3.printFilter(ast, () => PRINT_WORD("INSERT", "{"));
|
|
14525
|
-
SUBRULE(quads, F3.wrap(ast.insert, ast.loc)
|
|
14526
|
+
SUBRULE(quads, F3.wrap(ast.insert, ast.loc));
|
|
14526
14527
|
F3.printFilter(ast, () => PRINT_WORD("}"));
|
|
14527
14528
|
}
|
|
14528
|
-
SUBRULE(usingClauseStar, ast.from
|
|
14529
|
+
SUBRULE(usingClauseStar, ast.from);
|
|
14529
14530
|
F3.printFilter(ast, () => PRINT_WORD("WHERE"));
|
|
14530
|
-
SUBRULE(groupGraphPattern, ast.where
|
|
14531
|
+
SUBRULE(groupGraphPattern, ast.where);
|
|
14531
14532
|
}
|
|
14532
14533
|
};
|
|
14533
14534
|
var deleteClause2 = {
|
|
@@ -14535,7 +14536,7 @@ var deleteClause2 = {
|
|
|
14535
14536
|
impl: ({ ACTION, SUBRULE, CONSUME }) => (C) => {
|
|
14536
14537
|
const delToken = CONSUME(deleteClause);
|
|
14537
14538
|
const couldCreateBlankNodes = ACTION(() => C.parseMode.delete("canCreateBlankNodes"));
|
|
14538
|
-
const del = SUBRULE(quadPattern
|
|
14539
|
+
const del = SUBRULE(quadPattern);
|
|
14539
14540
|
ACTION(() => couldCreateBlankNodes && C.parseMode.add("canCreateBlankNodes"));
|
|
14540
14541
|
return ACTION(() => C.factory.wrap(del.val, C.factory.sourceLocation(delToken, del)));
|
|
14541
14542
|
}
|
|
@@ -14544,7 +14545,7 @@ var insertClause2 = {
|
|
|
14544
14545
|
name: "insertClause",
|
|
14545
14546
|
impl: ({ ACTION, SUBRULE, CONSUME }) => (C) => {
|
|
14546
14547
|
const insertToken = CONSUME(insertClause);
|
|
14547
|
-
const insert = SUBRULE(quadPattern
|
|
14548
|
+
const insert = SUBRULE(quadPattern);
|
|
14548
14549
|
return ACTION(() => C.factory.wrap(insert.val, C.factory.sourceLocation(insertToken, insert)));
|
|
14549
14550
|
}
|
|
14550
14551
|
};
|
|
@@ -14557,7 +14558,7 @@ var graphOrDefault = {
|
|
|
14557
14558
|
} },
|
|
14558
14559
|
{ ALT: () => {
|
|
14559
14560
|
const graph2 = OPTION(() => CONSUME(graph_exports.graph));
|
|
14560
|
-
const name = SUBRULE1(iri2
|
|
14561
|
+
const name = SUBRULE1(iri2);
|
|
14561
14562
|
return ACTION(() => C.factory.graphRefSpecific(name, C.factory.sourceLocation(graph2, name)));
|
|
14562
14563
|
} }
|
|
14563
14564
|
])
|
|
@@ -14566,18 +14567,18 @@ var graphRef = {
|
|
|
14566
14567
|
name: "graphRef",
|
|
14567
14568
|
impl: ({ ACTION, SUBRULE, CONSUME }) => (C) => {
|
|
14568
14569
|
const graph2 = CONSUME(graph_exports.graph);
|
|
14569
|
-
const val = SUBRULE(iri2
|
|
14570
|
+
const val = SUBRULE(iri2);
|
|
14570
14571
|
return ACTION(() => C.factory.graphRefSpecific(val, C.factory.sourceLocation(graph2, val)));
|
|
14571
14572
|
},
|
|
14572
14573
|
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { factory: F3 }) => {
|
|
14573
14574
|
F3.printFilter(ast, () => PRINT_WORD("GRAPH"));
|
|
14574
|
-
SUBRULE(iri2, ast.graph
|
|
14575
|
+
SUBRULE(iri2, ast.graph);
|
|
14575
14576
|
}
|
|
14576
14577
|
};
|
|
14577
14578
|
var graphRefAll = {
|
|
14578
14579
|
name: "graphRefAll",
|
|
14579
14580
|
impl: ({ ACTION, SUBRULE, CONSUME, OR }) => (C) => OR([
|
|
14580
|
-
{ ALT: () => SUBRULE(graphRef
|
|
14581
|
+
{ ALT: () => SUBRULE(graphRef) },
|
|
14581
14582
|
{ ALT: () => {
|
|
14582
14583
|
const def = CONSUME(graph_exports.default_);
|
|
14583
14584
|
return ACTION(() => C.factory.graphRefDefault(C.factory.sourceLocation(def)));
|
|
@@ -14593,7 +14594,7 @@ var graphRefAll = {
|
|
|
14593
14594
|
]),
|
|
14594
14595
|
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { factory: F3 }) => {
|
|
14595
14596
|
if (F3.isGraphRefSpecific(ast)) {
|
|
14596
|
-
SUBRULE(graphRef, ast
|
|
14597
|
+
SUBRULE(graphRef, ast);
|
|
14597
14598
|
} else if (F3.isGraphRefDefault(ast)) {
|
|
14598
14599
|
F3.printFilter(ast, () => PRINT_WORD("DEFAULT"));
|
|
14599
14600
|
} else if (F3.isGraphRefNamed(ast)) {
|
|
@@ -14609,12 +14610,12 @@ var quads = {
|
|
|
14609
14610
|
const quads2 = [];
|
|
14610
14611
|
let last2;
|
|
14611
14612
|
OPTION1(() => {
|
|
14612
|
-
const triples = SUBRULE1(triplesTemplate
|
|
14613
|
+
const triples = SUBRULE1(triplesTemplate);
|
|
14613
14614
|
last2 = triples;
|
|
14614
14615
|
ACTION(() => quads2.push(triples));
|
|
14615
14616
|
});
|
|
14616
14617
|
MANY(() => {
|
|
14617
|
-
const notTriples = SUBRULE(quadsNotTriples
|
|
14618
|
+
const notTriples = SUBRULE(quadsNotTriples);
|
|
14618
14619
|
last2 = notTriples;
|
|
14619
14620
|
quads2.push(notTriples);
|
|
14620
14621
|
OPTION2(() => {
|
|
@@ -14623,7 +14624,7 @@ var quads = {
|
|
|
14623
14624
|
return dotToken;
|
|
14624
14625
|
});
|
|
14625
14626
|
OPTION3(() => {
|
|
14626
|
-
const triples = SUBRULE2(triplesTemplate
|
|
14627
|
+
const triples = SUBRULE2(triplesTemplate);
|
|
14627
14628
|
last2 = triples;
|
|
14628
14629
|
ACTION(() => quads2.push(triples));
|
|
14629
14630
|
});
|
|
@@ -14633,9 +14634,9 @@ var quads = {
|
|
|
14633
14634
|
gImpl: ({ SUBRULE }) => (ast, { factory: F3 }) => {
|
|
14634
14635
|
for (const quad of ast.val) {
|
|
14635
14636
|
if (F3.isPattern(quad)) {
|
|
14636
|
-
SUBRULE(triplesBlock, quad
|
|
14637
|
+
SUBRULE(triplesBlock, quad);
|
|
14637
14638
|
} else {
|
|
14638
|
-
SUBRULE(quadsNotTriples, quad
|
|
14639
|
+
SUBRULE(quadsNotTriples, quad);
|
|
14639
14640
|
}
|
|
14640
14641
|
}
|
|
14641
14642
|
}
|
|
@@ -14644,9 +14645,9 @@ var quadsNotTriples = {
|
|
|
14644
14645
|
name: "quadsNotTriples",
|
|
14645
14646
|
impl: ({ ACTION, SUBRULE1, CONSUME, OPTION }) => (C) => {
|
|
14646
14647
|
const graph2 = CONSUME(graph_exports.graph);
|
|
14647
|
-
const name = SUBRULE1(varOrIri
|
|
14648
|
+
const name = SUBRULE1(varOrIri);
|
|
14648
14649
|
CONSUME(symbols_exports.LCurly);
|
|
14649
|
-
const triples = OPTION(() => SUBRULE1(triplesTemplate
|
|
14650
|
+
const triples = OPTION(() => SUBRULE1(triplesTemplate));
|
|
14650
14651
|
const close = CONSUME(symbols_exports.RCurly);
|
|
14651
14652
|
return ACTION(() => C.factory.graphQuads(
|
|
14652
14653
|
name,
|
|
@@ -14656,9 +14657,9 @@ var quadsNotTriples = {
|
|
|
14656
14657
|
},
|
|
14657
14658
|
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { factory: F3 }) => {
|
|
14658
14659
|
F3.printFilter(ast, () => PRINT_WORD("GRAPH"));
|
|
14659
|
-
SUBRULE(varOrTerm, ast.graph
|
|
14660
|
+
SUBRULE(varOrTerm, ast.graph);
|
|
14660
14661
|
F3.printFilter(ast, () => PRINT_WORD("{"));
|
|
14661
|
-
SUBRULE(triplesBlock, ast.triples
|
|
14662
|
+
SUBRULE(triplesBlock, ast.triples);
|
|
14662
14663
|
F3.printFilter(ast, () => PRINT_WORD("}"));
|
|
14663
14664
|
}
|
|
14664
14665
|
};
|
|
@@ -14668,9 +14669,9 @@ var queryOrUpdate = {
|
|
|
14668
14669
|
name: "queryOrUpdate",
|
|
14669
14670
|
gImpl: ({ SUBRULE }) => (ast, { factory: F3 }) => {
|
|
14670
14671
|
if (F3.isQuery(ast)) {
|
|
14671
|
-
SUBRULE(grammar_exports.query, ast
|
|
14672
|
+
SUBRULE(grammar_exports.query, ast);
|
|
14672
14673
|
} else {
|
|
14673
|
-
SUBRULE(grammar_exports.update, ast
|
|
14674
|
+
SUBRULE(grammar_exports.update, ast);
|
|
14674
14675
|
}
|
|
14675
14676
|
}
|
|
14676
14677
|
};
|
|
@@ -14792,7 +14793,7 @@ var F2 = new Factory();
|
|
|
14792
14793
|
function isLangDir(dir) {
|
|
14793
14794
|
return dir === "ltr" || dir === "rtl";
|
|
14794
14795
|
}
|
|
14795
|
-
function
|
|
14796
|
+
function langTagHasCorrectRange(literal) {
|
|
14796
14797
|
if (F2.isTermLiteralLangStr(literal)) {
|
|
14797
14798
|
const dirSplit = literal.langOrIri.split("--");
|
|
14798
14799
|
if (dirSplit.length > 1) {
|
|
@@ -14809,7 +14810,7 @@ var versionDecl = {
|
|
|
14809
14810
|
name: "versionDecl",
|
|
14810
14811
|
impl: ({ ACTION, SUBRULE, CONSUME }) => (C) => {
|
|
14811
14812
|
const versionToken = CONSUME(version);
|
|
14812
|
-
const identifier = SUBRULE(versionSpecifier
|
|
14813
|
+
const identifier = SUBRULE(versionSpecifier);
|
|
14813
14814
|
return ACTION(() => C.factory.contextDefinitionVersion(identifier.val, C.factory.sourceLocation(versionToken, identifier)));
|
|
14814
14815
|
},
|
|
14815
14816
|
gImpl: ({ PRINT_WORDS }) => (ast, { factory: F3 }) => {
|
|
@@ -14833,22 +14834,22 @@ var prologue2 = {
|
|
|
14833
14834
|
impl: ({ SUBRULE, MANY, OR }) => () => {
|
|
14834
14835
|
const result = [];
|
|
14835
14836
|
MANY(() => OR([
|
|
14836
|
-
{ ALT: () => result.push(SUBRULE(grammar_exports.baseDecl
|
|
14837
|
+
{ ALT: () => result.push(SUBRULE(grammar_exports.baseDecl)) },
|
|
14837
14838
|
// TODO: the [spec](https://www.w3.org/TR/sparql11-query/#iriRefs) says you cannot redefine prefixes.
|
|
14838
14839
|
// We might need to check this.
|
|
14839
|
-
{ ALT: () => result.push(SUBRULE(grammar_exports.prefixDecl
|
|
14840
|
-
{ ALT: () => result.push(SUBRULE(versionDecl
|
|
14840
|
+
{ ALT: () => result.push(SUBRULE(grammar_exports.prefixDecl)) },
|
|
14841
|
+
{ ALT: () => result.push(SUBRULE(versionDecl)) }
|
|
14841
14842
|
]));
|
|
14842
14843
|
return result;
|
|
14843
14844
|
},
|
|
14844
14845
|
gImpl: ({ SUBRULE }) => (ast, { factory: F3 }) => {
|
|
14845
14846
|
for (const context of ast) {
|
|
14846
14847
|
if (F3.isContextDefinitionBase(context)) {
|
|
14847
|
-
SUBRULE(grammar_exports.baseDecl, context
|
|
14848
|
+
SUBRULE(grammar_exports.baseDecl, context);
|
|
14848
14849
|
} else if (F3.isContextDefinitionPrefix(context)) {
|
|
14849
|
-
SUBRULE(grammar_exports.prefixDecl, context
|
|
14850
|
+
SUBRULE(grammar_exports.prefixDecl, context);
|
|
14850
14851
|
} else if (F3.isContextDefinitionVersion(context)) {
|
|
14851
|
-
SUBRULE(versionDecl, context
|
|
14852
|
+
SUBRULE(versionDecl, context);
|
|
14852
14853
|
}
|
|
14853
14854
|
}
|
|
14854
14855
|
}
|
|
@@ -14857,10 +14858,10 @@ function reifiedTripleBlockImpl(name, allowPath) {
|
|
|
14857
14858
|
return {
|
|
14858
14859
|
name,
|
|
14859
14860
|
impl: ({ ACTION, SUBRULE }) => (C) => {
|
|
14860
|
-
const triple = SUBRULE(reifiedTriple
|
|
14861
|
+
const triple = SUBRULE(reifiedTriple);
|
|
14861
14862
|
const properties = SUBRULE(
|
|
14862
14863
|
allowPath ? grammar_exports.propertyListPath : grammar_exports.propertyList,
|
|
14863
|
-
|
|
14864
|
+
ACTION(() => C.factory.dematerialized(triple.identifier))
|
|
14864
14865
|
);
|
|
14865
14866
|
return ACTION(() => [triple, ...properties]);
|
|
14866
14867
|
}
|
|
@@ -14871,37 +14872,40 @@ var reifiedTripleBlockPath = reifiedTripleBlockImpl("reifiedTripleBlockPath", tr
|
|
|
14871
14872
|
var dataBlockValue2 = {
|
|
14872
14873
|
name: "dataBlockValue",
|
|
14873
14874
|
impl: ($) => (C) => $.OR2([
|
|
14874
|
-
{ ALT: () => grammar_exports.dataBlockValue.impl($)(C
|
|
14875
|
-
{ ALT: () => $.SUBRULE(tripleTermData
|
|
14875
|
+
{ ALT: () => grammar_exports.dataBlockValue.impl($)(C) },
|
|
14876
|
+
{ ALT: () => $.SUBRULE(tripleTermData) }
|
|
14876
14877
|
])
|
|
14877
14878
|
};
|
|
14878
14879
|
var reifier = {
|
|
14879
14880
|
name: "reifier",
|
|
14880
14881
|
impl: ({ ACTION, CONSUME, SUBRULE, OPTION }) => (C) => {
|
|
14881
|
-
CONSUME(tilde);
|
|
14882
|
-
const reifier2 = OPTION(() => SUBRULE(varOrReifierId
|
|
14882
|
+
const tildeToken = CONSUME(tilde);
|
|
14883
|
+
const reifier2 = OPTION(() => SUBRULE(varOrReifierId));
|
|
14883
14884
|
return ACTION(() => {
|
|
14884
14885
|
if (reifier2 === void 0 && !C.parseMode.has("canCreateBlankNodes")) {
|
|
14885
14886
|
throw new Error("Cannot create blanknodes in current parse mode");
|
|
14886
14887
|
}
|
|
14887
|
-
return
|
|
14888
|
+
return C.factory.wrap(
|
|
14889
|
+
reifier2 ?? C.factory.blankNode(void 0, C.factory.sourceLocation()),
|
|
14890
|
+
C.factory.sourceLocation(tildeToken, reifier2)
|
|
14891
|
+
);
|
|
14888
14892
|
});
|
|
14889
14893
|
}
|
|
14890
14894
|
};
|
|
14891
14895
|
var varOrReifierId = {
|
|
14892
14896
|
name: "varOrReifierId",
|
|
14893
14897
|
impl: ({ SUBRULE, OR }) => (C) => OR([
|
|
14894
|
-
{ GATE: () => C.parseMode.has("canParseVars"), ALT: () => SUBRULE(grammar_exports.var_
|
|
14895
|
-
{ ALT: () => SUBRULE(grammar_exports.iri
|
|
14896
|
-
{ ALT: () => SUBRULE(grammar_exports.blankNode
|
|
14898
|
+
{ GATE: () => C.parseMode.has("canParseVars"), ALT: () => SUBRULE(grammar_exports.var_) },
|
|
14899
|
+
{ ALT: () => SUBRULE(grammar_exports.iri) },
|
|
14900
|
+
{ ALT: () => SUBRULE(grammar_exports.blankNode) }
|
|
14897
14901
|
])
|
|
14898
14902
|
};
|
|
14899
14903
|
function triplesSameSubjectImpl2(name, allowPaths) {
|
|
14900
14904
|
return {
|
|
14901
14905
|
name,
|
|
14902
14906
|
impl: ($) => (C) => $.OR2([
|
|
14903
|
-
{ ALT: () => allowPaths ? grammar_exports.triplesSameSubjectPath.impl($)(C
|
|
14904
|
-
{ ALT: () => $.SUBRULE(allowPaths ? reifiedTripleBlockPath : reifiedTripleBlock
|
|
14907
|
+
{ ALT: () => allowPaths ? grammar_exports.triplesSameSubjectPath.impl($)(C) : grammar_exports.triplesSameSubject.impl($)(C) },
|
|
14908
|
+
{ ALT: () => $.SUBRULE(allowPaths ? reifiedTripleBlockPath : reifiedTripleBlock) }
|
|
14905
14909
|
])
|
|
14906
14910
|
};
|
|
14907
14911
|
}
|
|
@@ -14910,11 +14914,10 @@ var triplesSameSubjectPath2 = triplesSameSubjectImpl2("triplesSameSubjectPath",
|
|
|
14910
14914
|
function objectImpl2(name, allowPaths) {
|
|
14911
14915
|
return {
|
|
14912
14916
|
name,
|
|
14913
|
-
impl: ({ ACTION, SUBRULE }) => (C,
|
|
14914
|
-
const objectVal = SUBRULE(allowPaths ? graphNodePath2 : graphNode2
|
|
14915
|
-
const annotationVal = SUBRULE(allowPaths ? annotationPath : annotation
|
|
14917
|
+
impl: ({ ACTION, SUBRULE }) => (C, subject, predicate) => {
|
|
14918
|
+
const objectVal = SUBRULE(allowPaths ? graphNodePath2 : graphNode2);
|
|
14919
|
+
const annotationVal = SUBRULE(allowPaths ? annotationPath : annotation);
|
|
14916
14920
|
return ACTION(() => {
|
|
14917
|
-
const { subject, predicate } = arg;
|
|
14918
14921
|
const F3 = C.factory;
|
|
14919
14922
|
if (F3.isPathPure(predicate) && annotationVal.length > 0) {
|
|
14920
14923
|
throw new Error("Note 17 violation");
|
|
@@ -14940,9 +14943,9 @@ function annotationImpl(name, allowPaths) {
|
|
|
14940
14943
|
MANY(() => {
|
|
14941
14944
|
OR([
|
|
14942
14945
|
{ ALT: () => {
|
|
14943
|
-
const node = SUBRULE(reifier
|
|
14946
|
+
const node = SUBRULE(reifier);
|
|
14944
14947
|
annotations.push(node);
|
|
14945
|
-
currentReifier = node;
|
|
14948
|
+
currentReifier = node.val;
|
|
14946
14949
|
} },
|
|
14947
14950
|
{ ALT: () => {
|
|
14948
14951
|
ACTION(() => {
|
|
@@ -14966,11 +14969,11 @@ function annotationImpl(name, allowPaths) {
|
|
|
14966
14969
|
},
|
|
14967
14970
|
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { factory: F3 }) => {
|
|
14968
14971
|
for (const annotation2 of ast) {
|
|
14969
|
-
if (F3.
|
|
14970
|
-
|
|
14971
|
-
SUBRULE(graphNodePath2, annotation2, void 0);
|
|
14972
|
+
if (F3.isTripleCollectionBlankNodeProperties(annotation2)) {
|
|
14973
|
+
SUBRULE(annotationBlockPath, annotation2);
|
|
14972
14974
|
} else {
|
|
14973
|
-
|
|
14975
|
+
F3.printFilter(annotation2, () => PRINT_WORD("~"));
|
|
14976
|
+
SUBRULE(graphNodePath2, annotation2.val);
|
|
14974
14977
|
}
|
|
14975
14978
|
}
|
|
14976
14979
|
}
|
|
@@ -14985,7 +14988,7 @@ function annotationBlockImpl(name, allowPaths) {
|
|
|
14985
14988
|
const open = CONSUME(annotationOpen);
|
|
14986
14989
|
const res = SUBRULE(
|
|
14987
14990
|
allowPaths ? grammar_exports.propertyListPathNotEmpty : grammar_exports.propertyListNotEmpty,
|
|
14988
|
-
|
|
14991
|
+
arg
|
|
14989
14992
|
);
|
|
14990
14993
|
const close = CONSUME(annotationClose);
|
|
14991
14994
|
return ACTION(() => C.factory.tripleCollectionBlankNodeProperties(
|
|
@@ -14999,11 +15002,11 @@ function annotationBlockImpl(name, allowPaths) {
|
|
|
14999
15002
|
for (const triple of ast.triples) {
|
|
15000
15003
|
HANDLE_LOC(triple, () => {
|
|
15001
15004
|
if (F3.isTerm(triple.predicate)) {
|
|
15002
|
-
SUBRULE(graphNodePath2, triple.predicate
|
|
15005
|
+
SUBRULE(graphNodePath2, triple.predicate);
|
|
15003
15006
|
} else {
|
|
15004
15007
|
SUBRULE(grammar_exports.pathGenerator, triple.predicate, void 0);
|
|
15005
15008
|
}
|
|
15006
|
-
SUBRULE(graphNodePath2, triple.object
|
|
15009
|
+
SUBRULE(graphNodePath2, triple.object);
|
|
15007
15010
|
F3.printFilter(ast, () => PRINT_WORD(";"));
|
|
15008
15011
|
});
|
|
15009
15012
|
}
|
|
@@ -15016,38 +15019,38 @@ var annotationBlock = annotationBlockImpl("annotationBlock", false);
|
|
|
15016
15019
|
var graphNode2 = {
|
|
15017
15020
|
name: "graphNode",
|
|
15018
15021
|
impl: ($) => (C) => $.OR2([
|
|
15019
|
-
{ ALT: () => grammar_exports.graphNode.impl($)(C
|
|
15020
|
-
{ ALT: () => $.SUBRULE(reifiedTriple
|
|
15022
|
+
{ ALT: () => grammar_exports.graphNode.impl($)(C) },
|
|
15023
|
+
{ ALT: () => $.SUBRULE(reifiedTriple) }
|
|
15021
15024
|
])
|
|
15022
15025
|
};
|
|
15023
15026
|
var graphNodePath2 = {
|
|
15024
15027
|
name: "graphNodePath",
|
|
15025
15028
|
impl: ($) => (C) => $.OR2([
|
|
15026
|
-
{ ALT: () => grammar_exports.graphNodePath.impl($)(C
|
|
15027
|
-
{ ALT: () => $.SUBRULE(reifiedTriple
|
|
15029
|
+
{ ALT: () => grammar_exports.graphNodePath.impl($)(C) },
|
|
15030
|
+
{ ALT: () => $.SUBRULE(reifiedTriple) }
|
|
15028
15031
|
]),
|
|
15029
|
-
gImpl: ($) => (ast, C
|
|
15032
|
+
gImpl: ($) => (ast, C) => {
|
|
15030
15033
|
if (C.factory.isTripleCollectionReifiedTriple(ast)) {
|
|
15031
|
-
$.SUBRULE(reifiedTriple, ast
|
|
15034
|
+
$.SUBRULE(reifiedTriple, ast);
|
|
15032
15035
|
} else {
|
|
15033
|
-
grammar_exports.graphNodePath.gImpl($)(ast, C
|
|
15036
|
+
grammar_exports.graphNodePath.gImpl($)(ast, C);
|
|
15034
15037
|
}
|
|
15035
15038
|
}
|
|
15036
15039
|
};
|
|
15037
15040
|
var varOrTerm2 = {
|
|
15038
15041
|
name: "varOrTerm",
|
|
15039
15042
|
impl: ({ ACTION, SUBRULE, OR, CONSUME }) => (C) => OR([
|
|
15040
|
-
{ GATE: () => C.parseMode.has("canParseVars"), ALT: () => SUBRULE(grammar_exports.var_
|
|
15041
|
-
{ ALT: () => SUBRULE(grammar_exports.iri
|
|
15042
|
-
{ ALT: () => SUBRULE(rdfLiteral2
|
|
15043
|
-
{ ALT: () => SUBRULE(grammar_exports.numericLiteral
|
|
15044
|
-
{ ALT: () => SUBRULE(grammar_exports.booleanLiteral
|
|
15045
|
-
{ ALT: () => SUBRULE(grammar_exports.blankNode
|
|
15043
|
+
{ GATE: () => C.parseMode.has("canParseVars"), ALT: () => SUBRULE(grammar_exports.var_) },
|
|
15044
|
+
{ ALT: () => SUBRULE(grammar_exports.iri) },
|
|
15045
|
+
{ ALT: () => SUBRULE(rdfLiteral2) },
|
|
15046
|
+
{ ALT: () => SUBRULE(grammar_exports.numericLiteral) },
|
|
15047
|
+
{ ALT: () => SUBRULE(grammar_exports.booleanLiteral) },
|
|
15048
|
+
{ ALT: () => SUBRULE(grammar_exports.blankNode) },
|
|
15046
15049
|
{ ALT: () => {
|
|
15047
15050
|
const token = CONSUME(lexer_exports.terminals.nil);
|
|
15048
15051
|
return ACTION(() => C.factory.namedNode(C.factory.sourceLocation(token), "http://www.w3.org/1999/02/22-rdf-syntax-ns#nil" /* NIL */));
|
|
15049
15052
|
} },
|
|
15050
|
-
{ ALT: () => SUBRULE(tripleTerm
|
|
15053
|
+
{ ALT: () => SUBRULE(tripleTerm) }
|
|
15051
15054
|
])
|
|
15052
15055
|
// Generation remains untouched - go through graphTerm
|
|
15053
15056
|
};
|
|
@@ -15055,10 +15058,10 @@ var reifiedTriple = {
|
|
|
15055
15058
|
name: "reifiedTriple",
|
|
15056
15059
|
impl: ({ ACTION, CONSUME, SUBRULE, OPTION }) => (C) => {
|
|
15057
15060
|
const open = CONSUME(reificationOpen);
|
|
15058
|
-
const subject = SUBRULE(reifiedTripleSubject
|
|
15059
|
-
const predicate = SUBRULE(grammar_exports.verb
|
|
15060
|
-
const object3 = SUBRULE(reifiedTripleObject
|
|
15061
|
-
const reifierVal = OPTION(() => SUBRULE(reifier
|
|
15061
|
+
const subject = SUBRULE(reifiedTripleSubject);
|
|
15062
|
+
const predicate = SUBRULE(grammar_exports.verb);
|
|
15063
|
+
const object3 = SUBRULE(reifiedTripleObject);
|
|
15064
|
+
const reifierVal = OPTION(() => SUBRULE(reifier));
|
|
15062
15065
|
const close = CONSUME(reificationClose);
|
|
15063
15066
|
return ACTION(() => {
|
|
15064
15067
|
if (reifierVal === void 0 && !C.parseMode.has("canCreateBlankNodes")) {
|
|
@@ -15069,35 +15072,35 @@ var reifiedTriple = {
|
|
|
15069
15072
|
subject,
|
|
15070
15073
|
predicate,
|
|
15071
15074
|
object3,
|
|
15072
|
-
reifierVal
|
|
15075
|
+
reifierVal?.val
|
|
15073
15076
|
);
|
|
15074
15077
|
});
|
|
15075
15078
|
},
|
|
15076
15079
|
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { factory: F3 }) => {
|
|
15077
15080
|
F3.printFilter(ast, () => PRINT_WORD("<<"));
|
|
15078
15081
|
const triple = ast.triples[0];
|
|
15079
|
-
SUBRULE(graphNodePath2, triple.subject
|
|
15082
|
+
SUBRULE(graphNodePath2, triple.subject);
|
|
15080
15083
|
if (F3.isPathPure(triple.predicate)) {
|
|
15081
15084
|
SUBRULE(grammar_exports.pathGenerator, triple.predicate, void 0);
|
|
15082
15085
|
} else {
|
|
15083
|
-
SUBRULE(graphNodePath2, triple.predicate
|
|
15086
|
+
SUBRULE(graphNodePath2, triple.predicate);
|
|
15084
15087
|
}
|
|
15085
|
-
SUBRULE(graphNodePath2, triple.object
|
|
15086
|
-
SUBRULE(annotationPath, [ast.identifier
|
|
15088
|
+
SUBRULE(graphNodePath2, triple.object);
|
|
15089
|
+
SUBRULE(annotationPath, [F3.wrap(ast.identifier, ast.identifier.loc)]);
|
|
15087
15090
|
F3.printFilter(ast, () => PRINT_WORD(">>"));
|
|
15088
15091
|
}
|
|
15089
15092
|
};
|
|
15090
15093
|
var reifiedTripleSubject = {
|
|
15091
15094
|
name: "reifiedTripleSubject",
|
|
15092
15095
|
impl: ({ OR, SUBRULE }) => (C) => OR([
|
|
15093
|
-
{ GATE: () => C.parseMode.has("canParseVars"), ALT: () => SUBRULE(grammar_exports.var_
|
|
15094
|
-
{ ALT: () => SUBRULE(grammar_exports.iri
|
|
15095
|
-
{ ALT: () => SUBRULE(rdfLiteral2
|
|
15096
|
-
{ ALT: () => SUBRULE(grammar_exports.numericLiteral
|
|
15097
|
-
{ ALT: () => SUBRULE(grammar_exports.booleanLiteral
|
|
15098
|
-
{ ALT: () => SUBRULE(grammar_exports.blankNode
|
|
15099
|
-
{ ALT: () => SUBRULE(reifiedTriple
|
|
15100
|
-
{ ALT: () => SUBRULE(tripleTerm
|
|
15096
|
+
{ GATE: () => C.parseMode.has("canParseVars"), ALT: () => SUBRULE(grammar_exports.var_) },
|
|
15097
|
+
{ ALT: () => SUBRULE(grammar_exports.iri) },
|
|
15098
|
+
{ ALT: () => SUBRULE(rdfLiteral2) },
|
|
15099
|
+
{ ALT: () => SUBRULE(grammar_exports.numericLiteral) },
|
|
15100
|
+
{ ALT: () => SUBRULE(grammar_exports.booleanLiteral) },
|
|
15101
|
+
{ ALT: () => SUBRULE(grammar_exports.blankNode) },
|
|
15102
|
+
{ ALT: () => SUBRULE(reifiedTriple) },
|
|
15103
|
+
{ ALT: () => SUBRULE(tripleTerm) }
|
|
15101
15104
|
])
|
|
15102
15105
|
};
|
|
15103
15106
|
var reifiedTripleObject = {
|
|
@@ -15108,30 +15111,30 @@ var tripleTerm = {
|
|
|
15108
15111
|
name: "tripleTerm",
|
|
15109
15112
|
impl: ({ ACTION, CONSUME, SUBRULE }) => (C) => {
|
|
15110
15113
|
const open = CONSUME(tripleTermOpen);
|
|
15111
|
-
const subject = SUBRULE(tripleTermSubject
|
|
15112
|
-
const predicate = SUBRULE(grammar_exports.verb
|
|
15113
|
-
const object3 = SUBRULE(tripleTermObject
|
|
15114
|
+
const subject = SUBRULE(tripleTermSubject);
|
|
15115
|
+
const predicate = SUBRULE(grammar_exports.verb);
|
|
15116
|
+
const object3 = SUBRULE(tripleTermObject);
|
|
15114
15117
|
const close = CONSUME(tripleTermClose);
|
|
15115
15118
|
return ACTION(() => C.factory.termTriple(subject, predicate, object3, C.factory.sourceLocation(open, close)));
|
|
15116
15119
|
},
|
|
15117
15120
|
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { factory: F3 }) => {
|
|
15118
15121
|
F3.printFilter(ast, () => PRINT_WORD("<<("));
|
|
15119
|
-
SUBRULE(graphNodePath2, ast.subject
|
|
15120
|
-
SUBRULE(graphNodePath2, ast.predicate
|
|
15121
|
-
SUBRULE(graphNodePath2, ast.object
|
|
15122
|
+
SUBRULE(graphNodePath2, ast.subject);
|
|
15123
|
+
SUBRULE(graphNodePath2, ast.predicate);
|
|
15124
|
+
SUBRULE(graphNodePath2, ast.object);
|
|
15122
15125
|
F3.printFilter(ast, () => PRINT_WORD(")>>"));
|
|
15123
15126
|
}
|
|
15124
15127
|
};
|
|
15125
15128
|
var tripleTermSubject = {
|
|
15126
15129
|
name: "tripleTermSubject",
|
|
15127
15130
|
impl: ({ SUBRULE, OR }) => (C) => OR([
|
|
15128
|
-
{ GATE: () => C.parseMode.has("canParseVars"), ALT: () => SUBRULE(grammar_exports.var_
|
|
15129
|
-
{ ALT: () => SUBRULE(grammar_exports.iri
|
|
15130
|
-
{ ALT: () => SUBRULE(rdfLiteral2
|
|
15131
|
-
{ ALT: () => SUBRULE(grammar_exports.numericLiteral
|
|
15132
|
-
{ ALT: () => SUBRULE(grammar_exports.booleanLiteral
|
|
15133
|
-
{ ALT: () => SUBRULE(grammar_exports.blankNode
|
|
15134
|
-
{ ALT: () => SUBRULE(tripleTerm
|
|
15131
|
+
{ GATE: () => C.parseMode.has("canParseVars"), ALT: () => SUBRULE(grammar_exports.var_) },
|
|
15132
|
+
{ ALT: () => SUBRULE(grammar_exports.iri) },
|
|
15133
|
+
{ ALT: () => SUBRULE(rdfLiteral2) },
|
|
15134
|
+
{ ALT: () => SUBRULE(grammar_exports.numericLiteral) },
|
|
15135
|
+
{ ALT: () => SUBRULE(grammar_exports.booleanLiteral) },
|
|
15136
|
+
{ ALT: () => SUBRULE(grammar_exports.blankNode) },
|
|
15137
|
+
{ ALT: () => SUBRULE(tripleTerm) }
|
|
15135
15138
|
])
|
|
15136
15139
|
};
|
|
15137
15140
|
var tripleTermObject = {
|
|
@@ -15142,15 +15145,15 @@ var tripleTermData = {
|
|
|
15142
15145
|
name: "tripleTermData",
|
|
15143
15146
|
impl: ({ ACTION, CONSUME, OR, SUBRULE }) => (C) => {
|
|
15144
15147
|
const open = CONSUME(tripleTermOpen);
|
|
15145
|
-
const subject = SUBRULE(tripleTermDataSubject
|
|
15148
|
+
const subject = SUBRULE(tripleTermDataSubject);
|
|
15146
15149
|
const predicate = OR([
|
|
15147
|
-
{ ALT: () => SUBRULE(grammar_exports.iri
|
|
15150
|
+
{ ALT: () => SUBRULE(grammar_exports.iri) },
|
|
15148
15151
|
{ ALT: () => {
|
|
15149
15152
|
const token = CONSUME(lexer_exports.a);
|
|
15150
15153
|
return ACTION(() => C.factory.namedNode(C.factory.sourceLocation(token), "http://www.w3.org/1999/02/22-rdf-syntax-ns#type" /* TYPE */));
|
|
15151
15154
|
} }
|
|
15152
15155
|
]);
|
|
15153
|
-
const object3 = SUBRULE(tripleTermDataObject
|
|
15156
|
+
const object3 = SUBRULE(tripleTermDataObject);
|
|
15154
15157
|
const close = CONSUME(tripleTermClose);
|
|
15155
15158
|
return ACTION(() => C.factory.termTriple(subject, predicate, object3, C.factory.sourceLocation(open, close)));
|
|
15156
15159
|
}
|
|
@@ -15158,11 +15161,11 @@ var tripleTermData = {
|
|
|
15158
15161
|
var tripleTermDataSubject = {
|
|
15159
15162
|
name: "tripleTermDataSubject",
|
|
15160
15163
|
impl: ({ OR, SUBRULE }) => () => OR([
|
|
15161
|
-
{ ALT: () => SUBRULE(grammar_exports.iri
|
|
15162
|
-
{ ALT: () => SUBRULE(rdfLiteral2
|
|
15163
|
-
{ ALT: () => SUBRULE(grammar_exports.numericLiteral
|
|
15164
|
-
{ ALT: () => SUBRULE(grammar_exports.booleanLiteral
|
|
15165
|
-
{ ALT: () => SUBRULE(tripleTermData
|
|
15164
|
+
{ ALT: () => SUBRULE(grammar_exports.iri) },
|
|
15165
|
+
{ ALT: () => SUBRULE(rdfLiteral2) },
|
|
15166
|
+
{ ALT: () => SUBRULE(grammar_exports.numericLiteral) },
|
|
15167
|
+
{ ALT: () => SUBRULE(grammar_exports.booleanLiteral) },
|
|
15168
|
+
{ ALT: () => SUBRULE(tripleTermData) }
|
|
15166
15169
|
])
|
|
15167
15170
|
};
|
|
15168
15171
|
var tripleTermDataObject = {
|
|
@@ -15172,17 +15175,17 @@ var tripleTermDataObject = {
|
|
|
15172
15175
|
var primaryExpression2 = {
|
|
15173
15176
|
name: "primaryExpression",
|
|
15174
15177
|
impl: ($) => (C) => $.OR2([
|
|
15175
|
-
{ ALT: () => grammar_exports.primaryExpression.impl($)(C
|
|
15176
|
-
{ ALT: () => $.SUBRULE(exprTripleTerm
|
|
15178
|
+
{ ALT: () => grammar_exports.primaryExpression.impl($)(C) },
|
|
15179
|
+
{ ALT: () => $.SUBRULE(exprTripleTerm) }
|
|
15177
15180
|
])
|
|
15178
15181
|
};
|
|
15179
15182
|
var exprTripleTerm = {
|
|
15180
15183
|
name: "exprTripleTerm",
|
|
15181
15184
|
impl: ({ ACTION, CONSUME, SUBRULE }) => (C) => {
|
|
15182
15185
|
const open = CONSUME(tripleTermOpen);
|
|
15183
|
-
const subject = SUBRULE(exprTripleTermSubject
|
|
15184
|
-
const predicate = SUBRULE(grammar_exports.verb
|
|
15185
|
-
const object3 = SUBRULE(exprTripleTermObject
|
|
15186
|
+
const subject = SUBRULE(exprTripleTermSubject);
|
|
15187
|
+
const predicate = SUBRULE(grammar_exports.verb);
|
|
15188
|
+
const object3 = SUBRULE(exprTripleTermObject);
|
|
15186
15189
|
const close = CONSUME(tripleTermClose);
|
|
15187
15190
|
return ACTION(() => C.factory.termTriple(
|
|
15188
15191
|
subject,
|
|
@@ -15195,12 +15198,12 @@ var exprTripleTerm = {
|
|
|
15195
15198
|
var exprTripleTermSubject = {
|
|
15196
15199
|
name: "exprTripleTermSubject",
|
|
15197
15200
|
impl: ({ OR, SUBRULE }) => (C) => OR([
|
|
15198
|
-
{ ALT: () => SUBRULE(grammar_exports.iri
|
|
15199
|
-
{ ALT: () => SUBRULE(rdfLiteral2
|
|
15200
|
-
{ ALT: () => SUBRULE(grammar_exports.numericLiteral
|
|
15201
|
-
{ ALT: () => SUBRULE(grammar_exports.booleanLiteral
|
|
15202
|
-
{ GATE: () => C.parseMode.has("canParseVars"), ALT: () => SUBRULE(grammar_exports.var_
|
|
15203
|
-
{ ALT: () => SUBRULE(exprTripleTerm
|
|
15201
|
+
{ ALT: () => SUBRULE(grammar_exports.iri) },
|
|
15202
|
+
{ ALT: () => SUBRULE(rdfLiteral2) },
|
|
15203
|
+
{ ALT: () => SUBRULE(grammar_exports.numericLiteral) },
|
|
15204
|
+
{ ALT: () => SUBRULE(grammar_exports.booleanLiteral) },
|
|
15205
|
+
{ GATE: () => C.parseMode.has("canParseVars"), ALT: () => SUBRULE(grammar_exports.var_) },
|
|
15206
|
+
{ ALT: () => SUBRULE(exprTripleTerm) }
|
|
15204
15207
|
])
|
|
15205
15208
|
};
|
|
15206
15209
|
var exprTripleTermObject = {
|
|
@@ -15219,22 +15222,22 @@ var builtinObject = funcExpr1(builtinOBJECT);
|
|
|
15219
15222
|
var builtInCall2 = {
|
|
15220
15223
|
name: "builtInCall",
|
|
15221
15224
|
impl: ($) => (C) => $.OR2([
|
|
15222
|
-
{ ALT: () => grammar_exports.builtInCall.impl($)(C
|
|
15223
|
-
{ ALT: () => $.SUBRULE(builtinLangDir2
|
|
15224
|
-
{ ALT: () => $.SUBRULE(builtinLangStrDir
|
|
15225
|
-
{ ALT: () => $.SUBRULE(builtinHasLang2
|
|
15226
|
-
{ ALT: () => $.SUBRULE(builtinHasLangDir2
|
|
15227
|
-
{ ALT: () => $.SUBRULE(builtinIsTriple
|
|
15228
|
-
{ ALT: () => $.SUBRULE(builtinTriple
|
|
15229
|
-
{ ALT: () => $.SUBRULE(builtinSubject
|
|
15230
|
-
{ ALT: () => $.SUBRULE(builtinPredicate
|
|
15231
|
-
{ ALT: () => $.SUBRULE(builtinObject
|
|
15225
|
+
{ ALT: () => grammar_exports.builtInCall.impl($)(C) },
|
|
15226
|
+
{ ALT: () => $.SUBRULE(builtinLangDir2) },
|
|
15227
|
+
{ ALT: () => $.SUBRULE(builtinLangStrDir) },
|
|
15228
|
+
{ ALT: () => $.SUBRULE(builtinHasLang2) },
|
|
15229
|
+
{ ALT: () => $.SUBRULE(builtinHasLangDir2) },
|
|
15230
|
+
{ ALT: () => $.SUBRULE(builtinIsTriple) },
|
|
15231
|
+
{ ALT: () => $.SUBRULE(builtinTriple) },
|
|
15232
|
+
{ ALT: () => $.SUBRULE(builtinSubject) },
|
|
15233
|
+
{ ALT: () => $.SUBRULE(builtinPredicate) },
|
|
15234
|
+
{ ALT: () => $.SUBRULE(builtinObject) }
|
|
15232
15235
|
])
|
|
15233
15236
|
};
|
|
15234
15237
|
var rdfLiteral2 = {
|
|
15235
15238
|
name: "rdfLiteral",
|
|
15236
15239
|
impl: ({ ACTION, SUBRULE, OPTION, CONSUME, OR }) => (C) => {
|
|
15237
|
-
const value = SUBRULE(grammar_exports.string
|
|
15240
|
+
const value = SUBRULE(grammar_exports.string);
|
|
15238
15241
|
return OPTION(() => OR([
|
|
15239
15242
|
{ ALT: () => {
|
|
15240
15243
|
const langTag2 = CONSUME(LANG_DIR);
|
|
@@ -15244,13 +15247,13 @@ var rdfLiteral2 = {
|
|
|
15244
15247
|
value.value,
|
|
15245
15248
|
langTag2.image.slice(1).toLowerCase()
|
|
15246
15249
|
);
|
|
15247
|
-
|
|
15250
|
+
langTagHasCorrectRange(literal);
|
|
15248
15251
|
return literal;
|
|
15249
15252
|
});
|
|
15250
15253
|
} },
|
|
15251
15254
|
{ ALT: () => {
|
|
15252
15255
|
CONSUME(lexer_exports.symbols.hathat);
|
|
15253
|
-
const iriVal = SUBRULE(grammar_exports.iri
|
|
15256
|
+
const iriVal = SUBRULE(grammar_exports.iri);
|
|
15254
15257
|
return ACTION(() => C.factory.literalTerm(
|
|
15255
15258
|
C.factory.sourceLocation(value, iriVal),
|
|
15256
15259
|
value.value,
|
|
@@ -15267,17 +15270,17 @@ var generateTriplesBlock = {
|
|
|
15267
15270
|
HANDLE_LOC(triple, () => {
|
|
15268
15271
|
const nextTriple = ast.triples.at(index);
|
|
15269
15272
|
if (F3.isTripleCollection(triple)) {
|
|
15270
|
-
SUBRULE(graphNodePath2, triple
|
|
15273
|
+
SUBRULE(graphNodePath2, triple);
|
|
15271
15274
|
F3.printFilter(triple, () => PRINT_WORD("."));
|
|
15272
15275
|
} else {
|
|
15273
|
-
SUBRULE(graphNodePath2, triple.subject
|
|
15276
|
+
SUBRULE(graphNodePath2, triple.subject);
|
|
15274
15277
|
if (F3.isPathPure(triple.predicate)) {
|
|
15275
15278
|
SUBRULE(grammar_exports.pathGenerator, triple.predicate, void 0);
|
|
15276
15279
|
} else {
|
|
15277
|
-
SUBRULE(graphNodePath2, triple.predicate
|
|
15280
|
+
SUBRULE(graphNodePath2, triple.predicate);
|
|
15278
15281
|
}
|
|
15279
|
-
SUBRULE(graphNodePath2, triple.object
|
|
15280
|
-
SUBRULE(annotationPath, triple.annotations ?? []
|
|
15282
|
+
SUBRULE(graphNodePath2, triple.object);
|
|
15283
|
+
SUBRULE(annotationPath, triple.annotations ?? []);
|
|
15281
15284
|
if (nextTriple === void 0 || F3.isTripleCollection(nextTriple) || !F3.isSourceLocationNoMaterialize(nextTriple.subject.loc)) {
|
|
15282
15285
|
F3.printFilter(ast, () => PRINT_WORD("."));
|
|
15283
15286
|
} else if (F3.isSourceLocationNoMaterialize(nextTriple.predicate.loc)) {
|
|
@@ -15292,11 +15295,11 @@ var generateTriplesBlock = {
|
|
|
15292
15295
|
};
|
|
15293
15296
|
var generateGraphTerm = {
|
|
15294
15297
|
name: "graphTerm",
|
|
15295
|
-
gImpl: ($) => (ast, C
|
|
15298
|
+
gImpl: ($) => (ast, C) => {
|
|
15296
15299
|
if (C.factory.isTermTriple(ast)) {
|
|
15297
|
-
$.SUBRULE(tripleTerm, ast
|
|
15300
|
+
$.SUBRULE(tripleTerm, ast);
|
|
15298
15301
|
} else {
|
|
15299
|
-
grammar_exports.graphTerm.gImpl($)(ast, C
|
|
15302
|
+
grammar_exports.graphTerm.gImpl($)(ast, C);
|
|
15300
15303
|
}
|
|
15301
15304
|
}
|
|
15302
15305
|
};
|
|
@@ -15379,9 +15382,9 @@ var queryOrUpdate2 = {
|
|
|
15379
15382
|
name: "queryOrUpdate",
|
|
15380
15383
|
gImpl: ({ SUBRULE }) => (ast, { factory: F3 }) => {
|
|
15381
15384
|
if (F3.isQuery(ast)) {
|
|
15382
|
-
SUBRULE(grammar_exports.query, ast
|
|
15385
|
+
SUBRULE(grammar_exports.query, ast);
|
|
15383
15386
|
} else {
|
|
15384
|
-
SUBRULE(grammar_exports.update, ast
|
|
15387
|
+
SUBRULE(grammar_exports.update, ast);
|
|
15385
15388
|
}
|
|
15386
15389
|
}
|
|
15387
15390
|
};
|
|
@@ -15396,7 +15399,7 @@ var Generator = class {
|
|
|
15396
15399
|
factory: this.F,
|
|
15397
15400
|
offset: 0,
|
|
15398
15401
|
origSource
|
|
15399
|
-
}
|
|
15402
|
+
});
|
|
15400
15403
|
}
|
|
15401
15404
|
generatePath(ast, origSource = "") {
|
|
15402
15405
|
return this.generator.path(ast, {
|