@traqula/parser-sparql-1-1 0.0.15 → 0.0.16
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/Parser.d.ts +118 -118
- package/lib/expressionParser.d.ts +24 -24
- package/lib/index.cjs +310 -231
- package/lib/objectListParser.d.ts +12 -12
- package/lib/queryUnitParser.d.ts +90 -90
- package/lib/subSelectParser.d.ts +72 -72
- package/lib/triplesBlockParser.d.ts +27 -27
- package/lib/triplesTemplateParserBuilder.d.ts +15 -15
- package/lib/updateNoModifyParser.d.ts +35 -35
- package/lib/updateUnitParser.d.ts +109 -109
- package/package.json +5 -5
package/lib/index.cjs
CHANGED
|
@@ -33,8 +33,8 @@ __export(index_exports, {
|
|
|
33
33
|
});
|
|
34
34
|
module.exports = __toCommonJS(index_exports);
|
|
35
35
|
|
|
36
|
-
// ../../packages/core/lib/
|
|
37
|
-
var
|
|
36
|
+
// ../../packages/core/lib/AstCoreFactory.js
|
|
37
|
+
var AstCoreFactory = class {
|
|
38
38
|
wrap(val, loc) {
|
|
39
39
|
return { val, loc };
|
|
40
40
|
}
|
|
@@ -9378,6 +9378,15 @@ var EmbeddedActionsParser = class extends Parser {
|
|
|
9378
9378
|
}
|
|
9379
9379
|
};
|
|
9380
9380
|
|
|
9381
|
+
// ../../packages/core/lib/utils.js
|
|
9382
|
+
function unCapitalize(str2) {
|
|
9383
|
+
return str2.charAt(0).toLowerCase() + str2.slice(1);
|
|
9384
|
+
}
|
|
9385
|
+
function createToken2(config) {
|
|
9386
|
+
return createToken(config);
|
|
9387
|
+
}
|
|
9388
|
+
var traqulaIndentation = "When you use this string, you expect traqula to handle indentation after every newline";
|
|
9389
|
+
|
|
9381
9390
|
// ../../packages/core/lib/lexer-builder/LexerBuilder.js
|
|
9382
9391
|
var LexerBuilder = class _LexerBuilder {
|
|
9383
9392
|
tokens;
|
|
@@ -9740,14 +9749,6 @@ ${firstError.message}`);
|
|
|
9740
9749
|
}
|
|
9741
9750
|
};
|
|
9742
9751
|
|
|
9743
|
-
// ../../packages/core/lib/utils.js
|
|
9744
|
-
function unCapitalize(str2) {
|
|
9745
|
-
return str2.charAt(0).toLowerCase() + str2.slice(1);
|
|
9746
|
-
}
|
|
9747
|
-
function createToken2(config) {
|
|
9748
|
-
return createToken(config);
|
|
9749
|
-
}
|
|
9750
|
-
|
|
9751
9752
|
// ../../packages/core/lib/Transformers.js
|
|
9752
9753
|
var TransformerType = class {
|
|
9753
9754
|
safeObjectVisit(value, mapper) {
|
|
@@ -11254,8 +11255,8 @@ function UpdateOperationFactoryMixin(Base) {
|
|
|
11254
11255
|
};
|
|
11255
11256
|
}
|
|
11256
11257
|
|
|
11257
|
-
// ../../packages/rules-sparql-1-1/lib/
|
|
11258
|
-
var
|
|
11258
|
+
// ../../packages/rules-sparql-1-1/lib/astFactory.js
|
|
11259
|
+
var AstFactory = class extends asArg(AstCoreFactory).call(ContextFactoryMixin).call(ExpressionFactoryMixin).call(GraphRefFactoryMixin).call(PathFactoryMixin).call(PatternFactoryMixin).call(QueryFactoryMixin).call(SolutionModifiersFactoryMixin).call(TermFactoryMixin).call(UpdateOperationFactoryMixin).returns() {
|
|
11259
11260
|
alwaysSparql11(obj) {
|
|
11260
11261
|
return true;
|
|
11261
11262
|
}
|
|
@@ -11374,7 +11375,7 @@ var TransformerSparql11 = class extends TransformerSubType {
|
|
|
11374
11375
|
};
|
|
11375
11376
|
|
|
11376
11377
|
// ../../packages/rules-sparql-1-1/lib/validation/validators.js
|
|
11377
|
-
var F = new
|
|
11378
|
+
var F = new AstFactory();
|
|
11378
11379
|
var transformer = new TransformerSparql11();
|
|
11379
11380
|
function getAggregatesOfExpression(expression2) {
|
|
11380
11381
|
if (F.isExpressionAggregate(expression2)) {
|
|
@@ -11594,22 +11595,22 @@ var rdfLiteral = {
|
|
|
11594
11595
|
return OPTION(() => OR([
|
|
11595
11596
|
{ ALT: () => {
|
|
11596
11597
|
const lang2 = CONSUME(terminals_exports.langTag);
|
|
11597
|
-
return ACTION(() => C.
|
|
11598
|
+
return ACTION(() => C.astFactory.literalTerm(C.astFactory.sourceLocation(value, lang2), value.value, lang2.image.slice(1).toLowerCase()));
|
|
11598
11599
|
} },
|
|
11599
11600
|
{ ALT: () => {
|
|
11600
11601
|
CONSUME(symbols_exports.hathat);
|
|
11601
11602
|
const iriVal = SUBRULE1(iri2);
|
|
11602
|
-
return ACTION(() => C.
|
|
11603
|
+
return ACTION(() => C.astFactory.literalTerm(C.astFactory.sourceLocation(value, iriVal), value.value, iriVal));
|
|
11603
11604
|
} }
|
|
11604
11605
|
])) ?? value;
|
|
11605
11606
|
},
|
|
11606
|
-
gImpl: ({ SUBRULE, PRINT, PRINT_SPACE_LEFT }) => (ast, {
|
|
11607
|
-
|
|
11607
|
+
gImpl: ({ SUBRULE, PRINT, PRINT_SPACE_LEFT }) => (ast, { astFactory }) => {
|
|
11608
|
+
astFactory.printFilter(ast, () => PRINT_SPACE_LEFT(stringEscapedLexical(ast.value)));
|
|
11608
11609
|
if (ast.langOrIri) {
|
|
11609
11610
|
if (typeof ast.langOrIri === "string") {
|
|
11610
|
-
|
|
11611
|
+
astFactory.printFilter(ast, () => PRINT("@", ast.langOrIri));
|
|
11611
11612
|
} else {
|
|
11612
|
-
|
|
11613
|
+
astFactory.printFilter(ast, () => PRINT("^^"));
|
|
11613
11614
|
SUBRULE(iri2, ast.langOrIri);
|
|
11614
11615
|
}
|
|
11615
11616
|
}
|
|
@@ -11631,7 +11632,7 @@ var numericLiteralUnsigned = {
|
|
|
11631
11632
|
{ ALT: () => [CONSUME(terminals_exports.decimal), CommonIRIs.DECIMAL] },
|
|
11632
11633
|
{ ALT: () => [CONSUME(terminals_exports.double), CommonIRIs.DOUBLE] }
|
|
11633
11634
|
]);
|
|
11634
|
-
return ACTION(() => C.
|
|
11635
|
+
return ACTION(() => C.astFactory.literalTerm(C.astFactory.sourceLocation(parsed[0]), parsed[0].image, C.astFactory.namedNode(C.astFactory.sourceLocationNoMaterialize(), parsed[1])));
|
|
11635
11636
|
}
|
|
11636
11637
|
};
|
|
11637
11638
|
var numericLiteralPositive = {
|
|
@@ -11642,7 +11643,7 @@ var numericLiteralPositive = {
|
|
|
11642
11643
|
{ ALT: () => [CONSUME(terminals_exports.decimalPositive), CommonIRIs.DECIMAL] },
|
|
11643
11644
|
{ ALT: () => [CONSUME(terminals_exports.doublePositive), CommonIRIs.DOUBLE] }
|
|
11644
11645
|
]);
|
|
11645
|
-
return ACTION(() => C.
|
|
11646
|
+
return ACTION(() => C.astFactory.literalTerm(C.astFactory.sourceLocation(parsed[0]), parsed[0].image, C.astFactory.namedNode(C.astFactory.sourceLocationNoMaterialize(), parsed[1])));
|
|
11646
11647
|
}
|
|
11647
11648
|
};
|
|
11648
11649
|
var numericLiteralNegative = {
|
|
@@ -11653,7 +11654,7 @@ var numericLiteralNegative = {
|
|
|
11653
11654
|
{ ALT: () => [CONSUME(terminals_exports.decimalNegative), CommonIRIs.DECIMAL] },
|
|
11654
11655
|
{ ALT: () => [CONSUME(terminals_exports.doubleNegative), CommonIRIs.DOUBLE] }
|
|
11655
11656
|
]);
|
|
11656
|
-
return ACTION(() => C.
|
|
11657
|
+
return ACTION(() => C.astFactory.literalTerm(C.astFactory.sourceLocation(parsed[0]), parsed[0].image, C.astFactory.namedNode(C.astFactory.sourceLocationNoMaterialize(), parsed[1])));
|
|
11657
11658
|
}
|
|
11658
11659
|
};
|
|
11659
11660
|
var booleanLiteral = {
|
|
@@ -11663,7 +11664,7 @@ var booleanLiteral = {
|
|
|
11663
11664
|
{ ALT: () => CONSUME(true_) },
|
|
11664
11665
|
{ ALT: () => CONSUME(false_) }
|
|
11665
11666
|
]);
|
|
11666
|
-
return ACTION(() => C.
|
|
11667
|
+
return ACTION(() => C.astFactory.literalTerm(C.astFactory.sourceLocation(token), token.image.toLowerCase(), C.astFactory.namedNode(C.astFactory.sourceLocationNoMaterialize(), CommonIRIs.BOOLEAN)));
|
|
11667
11668
|
}
|
|
11668
11669
|
};
|
|
11669
11670
|
var string = {
|
|
@@ -11688,7 +11689,7 @@ var string = {
|
|
|
11688
11689
|
} }
|
|
11689
11690
|
]);
|
|
11690
11691
|
return ACTION(() => {
|
|
11691
|
-
const F2 = C.
|
|
11692
|
+
const F2 = C.astFactory;
|
|
11692
11693
|
const value = x[1].replaceAll(/\\([tnrbf"'\\])/gu, (_, char) => {
|
|
11693
11694
|
switch (char) {
|
|
11694
11695
|
case "t":
|
|
@@ -11715,16 +11716,16 @@ var iri2 = {
|
|
|
11715
11716
|
{ ALT: () => SUBRULE(iriFull) },
|
|
11716
11717
|
{ ALT: () => SUBRULE(prefixedName) }
|
|
11717
11718
|
]),
|
|
11718
|
-
gImpl: ({ SUBRULE }) => (ast, {
|
|
11719
|
+
gImpl: ({ SUBRULE }) => (ast, { astFactory: F2 }) => F2.isTermNamedPrefixed(ast) ? SUBRULE(prefixedName, ast) : SUBRULE(iriFull, ast)
|
|
11719
11720
|
};
|
|
11720
11721
|
var iriFull = {
|
|
11721
11722
|
name: "iriFull",
|
|
11722
11723
|
impl: ({ ACTION, CONSUME }) => (C) => {
|
|
11723
11724
|
const iriToken = CONSUME(terminals_exports.iriRef);
|
|
11724
|
-
return ACTION(() => C.
|
|
11725
|
+
return ACTION(() => C.astFactory.namedNode(C.astFactory.sourceLocation(iriToken), iriToken.image.slice(1, -1)));
|
|
11725
11726
|
},
|
|
11726
|
-
gImpl: ({ PRINT }) => (ast, {
|
|
11727
|
-
|
|
11727
|
+
gImpl: ({ PRINT }) => (ast, { astFactory: F2 }) => {
|
|
11728
|
+
F2.printFilter(ast, () => PRINT("<", ast.value, ">"));
|
|
11728
11729
|
}
|
|
11729
11730
|
};
|
|
11730
11731
|
var prefixedName = {
|
|
@@ -11734,16 +11735,16 @@ var prefixedName = {
|
|
|
11734
11735
|
const longName = CONSUME(terminals_exports.pNameLn);
|
|
11735
11736
|
return ACTION(() => {
|
|
11736
11737
|
const [prefix, localName] = longName.image.split(":");
|
|
11737
|
-
return C.
|
|
11738
|
+
return C.astFactory.namedNode(C.astFactory.sourceLocation(longName), localName, prefix);
|
|
11738
11739
|
});
|
|
11739
11740
|
} },
|
|
11740
11741
|
{ ALT: () => {
|
|
11741
11742
|
const shortName = CONSUME(terminals_exports.pNameNs);
|
|
11742
|
-
return ACTION(() => C.
|
|
11743
|
+
return ACTION(() => C.astFactory.namedNode(C.astFactory.sourceLocation(shortName), "", shortName.image.slice(0, -1)));
|
|
11743
11744
|
} }
|
|
11744
11745
|
]),
|
|
11745
|
-
gImpl: ({ PRINT_WORD }) => (ast, {
|
|
11746
|
-
|
|
11746
|
+
gImpl: ({ PRINT_WORD }) => (ast, { astFactory: F2 }) => {
|
|
11747
|
+
F2.printFilter(ast, () => PRINT_WORD(ast.prefix, ":", ast.value));
|
|
11747
11748
|
}
|
|
11748
11749
|
};
|
|
11749
11750
|
var canCreateBlankNodes = Symbol("canCreateBlankNodes");
|
|
@@ -11753,11 +11754,11 @@ var blankNode = {
|
|
|
11753
11754
|
const result = OR([
|
|
11754
11755
|
{ ALT: () => {
|
|
11755
11756
|
const labelToken = CONSUME(terminals_exports.blankNodeLabel);
|
|
11756
|
-
return ACTION(() => C.
|
|
11757
|
+
return ACTION(() => C.astFactory.blankNode(labelToken.image.slice(2), C.astFactory.sourceLocation(labelToken)));
|
|
11757
11758
|
} },
|
|
11758
11759
|
{ ALT: () => {
|
|
11759
11760
|
const anonToken = CONSUME(terminals_exports.anon);
|
|
11760
|
-
return ACTION(() => C.
|
|
11761
|
+
return ACTION(() => C.astFactory.blankNode(void 0, C.astFactory.sourceLocation(anonToken)));
|
|
11761
11762
|
} }
|
|
11762
11763
|
]);
|
|
11763
11764
|
ACTION(() => {
|
|
@@ -11767,15 +11768,15 @@ var blankNode = {
|
|
|
11767
11768
|
});
|
|
11768
11769
|
return result;
|
|
11769
11770
|
},
|
|
11770
|
-
gImpl: ({ PRINT_WORD }) => (ast, {
|
|
11771
|
-
|
|
11771
|
+
gImpl: ({ PRINT_WORD }) => (ast, { astFactory }) => {
|
|
11772
|
+
astFactory.printFilter(ast, () => PRINT_WORD("_:", ast.label.replace(/^e_/u, "")));
|
|
11772
11773
|
}
|
|
11773
11774
|
};
|
|
11774
11775
|
var verbA = {
|
|
11775
11776
|
name: "VerbA",
|
|
11776
11777
|
impl: ({ ACTION, CONSUME }) => (C) => {
|
|
11777
11778
|
const token = CONSUME(a);
|
|
11778
|
-
return ACTION(() => C.
|
|
11779
|
+
return ACTION(() => C.astFactory.namedNode(C.astFactory.sourceLocation(token), CommonIRIs.TYPE, void 0));
|
|
11779
11780
|
}
|
|
11780
11781
|
};
|
|
11781
11782
|
|
|
@@ -11792,7 +11793,7 @@ var prologue = {
|
|
|
11792
11793
|
]));
|
|
11793
11794
|
return result;
|
|
11794
11795
|
},
|
|
11795
|
-
gImpl: ({ SUBRULE }) => (ast, {
|
|
11796
|
+
gImpl: ({ SUBRULE }) => (ast, { astFactory: F2 }) => {
|
|
11796
11797
|
for (const context of ast) {
|
|
11797
11798
|
if (F2.isContextDefinitionBase(context)) {
|
|
11798
11799
|
SUBRULE(baseDecl2, context);
|
|
@@ -11807,11 +11808,12 @@ var baseDecl2 = {
|
|
|
11807
11808
|
impl: ({ ACTION, CONSUME, SUBRULE }) => (C) => {
|
|
11808
11809
|
const base = CONSUME(baseDecl);
|
|
11809
11810
|
const val = SUBRULE(iriFull);
|
|
11810
|
-
return ACTION(() => C.
|
|
11811
|
+
return ACTION(() => C.astFactory.contextDefinitionBase(C.astFactory.sourceLocation(base, val), val));
|
|
11811
11812
|
},
|
|
11812
|
-
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, {
|
|
11813
|
+
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { astFactory: F2 }) => {
|
|
11813
11814
|
F2.printFilter(ast, () => PRINT_WORD("BASE"));
|
|
11814
11815
|
SUBRULE(iri2, ast.value);
|
|
11816
|
+
F2.printFilter(ast, () => PRINT_WORD("\n"));
|
|
11815
11817
|
}
|
|
11816
11818
|
};
|
|
11817
11819
|
var prefixDecl2 = {
|
|
@@ -11820,13 +11822,14 @@ var prefixDecl2 = {
|
|
|
11820
11822
|
const prefix = CONSUME(prefixDecl);
|
|
11821
11823
|
const name = CONSUME(terminals_exports.pNameNs).image.slice(0, -1);
|
|
11822
11824
|
const value = SUBRULE(iriFull);
|
|
11823
|
-
return ACTION(() => C.
|
|
11825
|
+
return ACTION(() => C.astFactory.contextDefinitionPrefix(C.astFactory.sourceLocation(prefix, value), name, value));
|
|
11824
11826
|
},
|
|
11825
|
-
gImpl: ({ SUBRULE, PRINT_WORDS }) => (ast, {
|
|
11827
|
+
gImpl: ({ SUBRULE, PRINT_WORDS }) => (ast, { astFactory: F2 }) => {
|
|
11826
11828
|
F2.printFilter(ast, () => {
|
|
11827
11829
|
PRINT_WORDS("PREFIX", `${ast.key}:`);
|
|
11828
11830
|
});
|
|
11829
11831
|
SUBRULE(iri2, ast.value);
|
|
11832
|
+
F2.printFilter(ast, () => PRINT_WORDS("\n"));
|
|
11830
11833
|
}
|
|
11831
11834
|
};
|
|
11832
11835
|
var verb = {
|
|
@@ -11842,7 +11845,7 @@ var varOrTerm = {
|
|
|
11842
11845
|
{ GATE: () => C.parseMode.has("canParseVars"), ALT: () => SUBRULE(var_) },
|
|
11843
11846
|
{ ALT: () => SUBRULE(graphTerm) }
|
|
11844
11847
|
]),
|
|
11845
|
-
gImpl: ({ SUBRULE }) => (ast, {
|
|
11848
|
+
gImpl: ({ SUBRULE }) => (ast, { astFactory: F2 }) => {
|
|
11846
11849
|
if (F2.isTermVariable(ast)) {
|
|
11847
11850
|
return SUBRULE(var_, ast);
|
|
11848
11851
|
}
|
|
@@ -11863,9 +11866,9 @@ var var_ = {
|
|
|
11863
11866
|
{ ALT: () => CONSUME(terminals_exports.var1) },
|
|
11864
11867
|
{ ALT: () => CONSUME(terminals_exports.var2) }
|
|
11865
11868
|
]);
|
|
11866
|
-
return ACTION(() => C.
|
|
11869
|
+
return ACTION(() => C.astFactory.variable(varToken.image.slice(1), C.astFactory.sourceLocation(varToken)));
|
|
11867
11870
|
},
|
|
11868
|
-
gImpl: ({ PRINT_WORD }) => (ast, {
|
|
11871
|
+
gImpl: ({ PRINT_WORD }) => (ast, { astFactory: F2 }) => {
|
|
11869
11872
|
F2.printFilter(ast, () => PRINT_WORD(`?${ast.value}`));
|
|
11870
11873
|
}
|
|
11871
11874
|
};
|
|
@@ -11879,10 +11882,10 @@ var graphTerm = {
|
|
|
11879
11882
|
{ GATE: () => C.parseMode.has("canCreateBlankNodes"), ALT: () => SUBRULE(blankNode) },
|
|
11880
11883
|
{ ALT: () => {
|
|
11881
11884
|
const tokenNil = CONSUME(terminals_exports.nil);
|
|
11882
|
-
return ACTION(() => C.
|
|
11885
|
+
return ACTION(() => C.astFactory.namedNode(C.astFactory.sourceLocation(tokenNil), CommonIRIs.NIL));
|
|
11883
11886
|
} }
|
|
11884
11887
|
]),
|
|
11885
|
-
gImpl: ({ SUBRULE }) => (ast, {
|
|
11888
|
+
gImpl: ({ SUBRULE }) => (ast, { astFactory: F2 }) => {
|
|
11886
11889
|
if (F2.isTermNamed(ast)) {
|
|
11887
11890
|
SUBRULE(iri2, ast);
|
|
11888
11891
|
} else if (F2.isTermLiteral(ast)) {
|
|
@@ -11902,14 +11905,14 @@ function datasetClauseUsing(name, token) {
|
|
|
11902
11905
|
return OR([
|
|
11903
11906
|
{ ALT: () => {
|
|
11904
11907
|
const iri3 = SUBRULE(defaultGraphClause);
|
|
11905
|
-
return ACTION(() => C.
|
|
11908
|
+
return ACTION(() => C.astFactory.wrap({ clauseType: "default", value: iri3 }, C.astFactory.sourceLocation(start, iri3)));
|
|
11906
11909
|
} },
|
|
11907
11910
|
{ ALT: () => {
|
|
11908
11911
|
const namedClause = SUBRULE(namedGraphClause);
|
|
11909
|
-
return ACTION(() => C.
|
|
11912
|
+
return ACTION(() => C.astFactory.wrap({
|
|
11910
11913
|
clauseType: "named",
|
|
11911
11914
|
value: namedClause.val
|
|
11912
|
-
}, C.
|
|
11915
|
+
}, C.astFactory.sourceLocation(start, namedClause)));
|
|
11913
11916
|
} }
|
|
11914
11917
|
]);
|
|
11915
11918
|
}
|
|
@@ -11930,9 +11933,9 @@ function datasetClauseUsingStar(name, subRule, fromUsing) {
|
|
|
11930
11933
|
const clause = SUBRULE(subRule);
|
|
11931
11934
|
clauses.push(clause);
|
|
11932
11935
|
});
|
|
11933
|
-
return ACTION(() => C.
|
|
11936
|
+
return ACTION(() => C.astFactory.datasetClauses(clauses.map((clause) => clause.val), C.astFactory.sourceLocation(...clauses)));
|
|
11934
11937
|
},
|
|
11935
|
-
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, {
|
|
11938
|
+
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { astFactory: F2 }) => {
|
|
11936
11939
|
for (const clause of ast.clauses) {
|
|
11937
11940
|
F2.printFilter(ast, () => PRINT_WORD(fromUsing));
|
|
11938
11941
|
if (clause.clauseType === "named") {
|
|
@@ -11950,7 +11953,7 @@ var namedGraphClause = {
|
|
|
11950
11953
|
impl: ({ ACTION, SUBRULE, CONSUME }) => (C) => {
|
|
11951
11954
|
const named2 = CONSUME(graph_exports.named);
|
|
11952
11955
|
const iri3 = SUBRULE(sourceSelector);
|
|
11953
|
-
return ACTION(() => C.
|
|
11956
|
+
return ACTION(() => C.astFactory.wrap(iri3, C.astFactory.sourceLocation(named2, iri3)));
|
|
11954
11957
|
}
|
|
11955
11958
|
};
|
|
11956
11959
|
var sourceSelector = {
|
|
@@ -11967,7 +11970,7 @@ function funcExpr1(func) {
|
|
|
11967
11970
|
CONSUME(symbols_exports.LParen);
|
|
11968
11971
|
const arg = SUBRULE(expression);
|
|
11969
11972
|
const close = CONSUME(symbols_exports.RParen);
|
|
11970
|
-
return ACTION(() => C.
|
|
11973
|
+
return ACTION(() => C.astFactory.expressionOperation(operator.image, [arg], C.astFactory.sourceLocation(operator, close)));
|
|
11971
11974
|
}
|
|
11972
11975
|
};
|
|
11973
11976
|
}
|
|
@@ -11981,7 +11984,7 @@ function funcExpr2(func) {
|
|
|
11981
11984
|
CONSUME(symbols_exports.comma);
|
|
11982
11985
|
const arg2 = SUBRULE2(expression);
|
|
11983
11986
|
const close = CONSUME(symbols_exports.RParen);
|
|
11984
|
-
return ACTION(() => C.
|
|
11987
|
+
return ACTION(() => C.astFactory.expressionOperation(operator.image, [arg1, arg2], C.astFactory.sourceLocation(operator, close)));
|
|
11985
11988
|
}
|
|
11986
11989
|
};
|
|
11987
11990
|
}
|
|
@@ -11997,7 +12000,7 @@ function funcExpr3(func) {
|
|
|
11997
12000
|
CONSUME2(symbols_exports.comma);
|
|
11998
12001
|
const arg3 = SUBRULE3(expression);
|
|
11999
12002
|
const close = CONSUME(symbols_exports.RParen);
|
|
12000
|
-
return ACTION(() => C.
|
|
12003
|
+
return ACTION(() => C.astFactory.expressionOperation(operator.image, [arg1, arg2, arg3], C.astFactory.sourceLocation(operator, close)));
|
|
12001
12004
|
}
|
|
12002
12005
|
};
|
|
12003
12006
|
}
|
|
@@ -12009,7 +12012,7 @@ function funcVar1(func) {
|
|
|
12009
12012
|
CONSUME(symbols_exports.LParen);
|
|
12010
12013
|
const arg = SUBRULE(var_);
|
|
12011
12014
|
const close = CONSUME(symbols_exports.RParen);
|
|
12012
|
-
return ACTION(() => C.
|
|
12015
|
+
return ACTION(() => C.astFactory.expressionOperation(operator.image, [arg], C.astFactory.sourceLocation(operator, close)));
|
|
12013
12016
|
}
|
|
12014
12017
|
};
|
|
12015
12018
|
}
|
|
@@ -12023,11 +12026,11 @@ function funcExprOrNil1(func) {
|
|
|
12023
12026
|
CONSUME(symbols_exports.LParen);
|
|
12024
12027
|
const arg = SUBRULE(expression);
|
|
12025
12028
|
const close = CONSUME(symbols_exports.RParen);
|
|
12026
|
-
return ACTION(() => C.
|
|
12029
|
+
return ACTION(() => C.astFactory.expressionOperation(operator.image, [arg], C.astFactory.sourceLocation(operator, close)));
|
|
12027
12030
|
} },
|
|
12028
12031
|
{ ALT: () => {
|
|
12029
12032
|
const nil2 = CONSUME(terminals_exports.nil);
|
|
12030
|
-
return ACTION(() => C.
|
|
12033
|
+
return ACTION(() => C.astFactory.expressionOperation(operator.image, [], C.astFactory.sourceLocation(operator, nil2)));
|
|
12031
12034
|
} }
|
|
12032
12035
|
]);
|
|
12033
12036
|
}
|
|
@@ -12039,7 +12042,7 @@ function funcNil1(func) {
|
|
|
12039
12042
|
impl: ({ ACTION, CONSUME }) => (C) => {
|
|
12040
12043
|
const operator = CONSUME(func);
|
|
12041
12044
|
const nil2 = CONSUME(terminals_exports.nil);
|
|
12042
|
-
return ACTION(() => C.
|
|
12045
|
+
return ACTION(() => C.astFactory.expressionOperation(operator.image, [], C.astFactory.sourceLocation(operator, nil2)));
|
|
12043
12046
|
}
|
|
12044
12047
|
};
|
|
12045
12048
|
}
|
|
@@ -12049,7 +12052,7 @@ function funcExprList1(func) {
|
|
|
12049
12052
|
impl: ({ ACTION, CONSUME, SUBRULE }) => (C) => {
|
|
12050
12053
|
const operator = CONSUME(func);
|
|
12051
12054
|
const args = SUBRULE(expressionList);
|
|
12052
|
-
return ACTION(() => C.
|
|
12055
|
+
return ACTION(() => C.astFactory.expressionOperation(operator.image, args.val, C.astFactory.sourceLocation(operator, args)));
|
|
12053
12056
|
}
|
|
12054
12057
|
};
|
|
12055
12058
|
}
|
|
@@ -12067,7 +12070,7 @@ function funcExpr2or3(func) {
|
|
|
12067
12070
|
return SUBRULE3(expression);
|
|
12068
12071
|
});
|
|
12069
12072
|
const close = CONSUME(symbols_exports.RParen);
|
|
12070
|
-
return ACTION(() => C.
|
|
12073
|
+
return ACTION(() => C.astFactory.expressionOperation(operator.image, arg3 ? [arg1, arg2, arg3] : [arg1, arg2], C.astFactory.sourceLocation(operator, close)));
|
|
12071
12074
|
}
|
|
12072
12075
|
};
|
|
12073
12076
|
}
|
|
@@ -12087,7 +12090,7 @@ function funcExpr3or4(func) {
|
|
|
12087
12090
|
return SUBRULE4(expression);
|
|
12088
12091
|
});
|
|
12089
12092
|
const close = CONSUME(symbols_exports.RParen);
|
|
12090
|
-
return ACTION(() => C.
|
|
12093
|
+
return ACTION(() => C.astFactory.expressionOperation(operator.image, arg4 ? [arg1, arg2, arg3, arg4] : [arg1, arg2, arg3], C.astFactory.sourceLocation(operator, close)));
|
|
12091
12094
|
}
|
|
12092
12095
|
};
|
|
12093
12096
|
}
|
|
@@ -12097,7 +12100,7 @@ function funcGroupGraphPattern(func) {
|
|
|
12097
12100
|
impl: ({ ACTION, SUBRULE, CONSUME }) => (C) => {
|
|
12098
12101
|
const operator = CONSUME(func);
|
|
12099
12102
|
const group = SUBRULE(groupGraphPattern);
|
|
12100
|
-
return ACTION(() => C.
|
|
12103
|
+
return ACTION(() => C.astFactory.expressionPatternOperation(operator.image, group, C.astFactory.sourceLocation(operator, group)));
|
|
12101
12104
|
}
|
|
12102
12105
|
};
|
|
12103
12106
|
}
|
|
@@ -12110,7 +12113,7 @@ function baseAggregateFunc(func) {
|
|
|
12110
12113
|
const distinct2 = OPTION(() => CONSUME(distinct));
|
|
12111
12114
|
const expr1 = SUBRULE(expression);
|
|
12112
12115
|
const close = CONSUME(symbols_exports.RParen);
|
|
12113
|
-
return ACTION(() => C.
|
|
12116
|
+
return ACTION(() => C.astFactory.aggregate(operator.image, distinct2 !== void 0, expr1, void 0, C.astFactory.sourceLocation(operator, close)));
|
|
12114
12117
|
}
|
|
12115
12118
|
};
|
|
12116
12119
|
}
|
|
@@ -12250,17 +12253,17 @@ var aggregateCount = {
|
|
|
12250
12253
|
const expressionVal = OR([
|
|
12251
12254
|
{ ALT: () => {
|
|
12252
12255
|
const starToken = CONSUME(symbols_exports.star);
|
|
12253
|
-
return ACTION(() => C.
|
|
12256
|
+
return ACTION(() => C.astFactory.wildcard(C.astFactory.sourceLocation(starToken)));
|
|
12254
12257
|
} },
|
|
12255
12258
|
{ ALT: () => SUBRULE(expression) }
|
|
12256
12259
|
]);
|
|
12257
12260
|
const closeToken = CONSUME(symbols_exports.RParen);
|
|
12258
12261
|
return ACTION(() => {
|
|
12259
|
-
const F2 = C.
|
|
12260
|
-
if (C.
|
|
12261
|
-
return F2.aggregate(operatorToken.image, Boolean(distinctToken), expressionVal, void 0, C.
|
|
12262
|
+
const F2 = C.astFactory;
|
|
12263
|
+
if (C.astFactory.isWildcard(expressionVal)) {
|
|
12264
|
+
return F2.aggregate(operatorToken.image, Boolean(distinctToken), expressionVal, void 0, C.astFactory.sourceLocation(operatorToken, closeToken));
|
|
12262
12265
|
}
|
|
12263
|
-
return F2.aggregate(operatorToken.image, Boolean(distinctToken), expressionVal, void 0, C.
|
|
12266
|
+
return F2.aggregate(operatorToken.image, Boolean(distinctToken), expressionVal, void 0, C.astFactory.sourceLocation(operatorToken, closeToken));
|
|
12264
12267
|
});
|
|
12265
12268
|
}
|
|
12266
12269
|
};
|
|
@@ -12284,7 +12287,7 @@ var aggregateGroup_concat = {
|
|
|
12284
12287
|
});
|
|
12285
12288
|
const closeToken = CONSUME(symbols_exports.RParen);
|
|
12286
12289
|
return ACTION(() => {
|
|
12287
|
-
const F2 = C.
|
|
12290
|
+
const F2 = C.astFactory;
|
|
12288
12291
|
return F2.aggregate(operatorToken.image, Boolean(distinctToken), expr, sep?.value ?? " ", F2.sourceLocation(operatorToken, closeToken));
|
|
12289
12292
|
});
|
|
12290
12293
|
}
|
|
@@ -12314,7 +12317,7 @@ var aggregate = {
|
|
|
12314
12317
|
});
|
|
12315
12318
|
return result;
|
|
12316
12319
|
},
|
|
12317
|
-
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, {
|
|
12320
|
+
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { astFactory: F2 }) => {
|
|
12318
12321
|
F2.printFilter(ast, () => {
|
|
12319
12322
|
PRINT_WORD(ast.aggregation.toUpperCase(), "(");
|
|
12320
12323
|
if (ast.distinct) {
|
|
@@ -12341,7 +12344,7 @@ var path = {
|
|
|
12341
12344
|
};
|
|
12342
12345
|
var pathGenerator = {
|
|
12343
12346
|
name: "path",
|
|
12344
|
-
gImpl: ({ PRINT, SUBRULE }) => (ast, {
|
|
12347
|
+
gImpl: ({ PRINT, SUBRULE }) => (ast, { astFactory: F2 }, braces = true) => {
|
|
12345
12348
|
if (F2.isTerm(ast) && F2.isTermNamed(ast)) {
|
|
12346
12349
|
SUBRULE(iri2, ast);
|
|
12347
12350
|
} else {
|
|
@@ -12390,7 +12393,7 @@ function pathChainHelper(name, SEP, subType, subRule) {
|
|
|
12390
12393
|
tailEnd = SUBRULE2(subRule);
|
|
12391
12394
|
tail.push(tailEnd);
|
|
12392
12395
|
});
|
|
12393
|
-
return ACTION(() => tail.length === 0 ? head2 : C.
|
|
12396
|
+
return ACTION(() => tail.length === 0 ? head2 : C.astFactory.path(subType, [head2, ...tail], C.astFactory.sourceLocation(head2, tailEnd)));
|
|
12394
12397
|
}
|
|
12395
12398
|
};
|
|
12396
12399
|
}
|
|
@@ -12401,7 +12404,7 @@ var pathEltOrInverse = {
|
|
|
12401
12404
|
{ ALT: () => {
|
|
12402
12405
|
const hat2 = CONSUME(symbols_exports.hat);
|
|
12403
12406
|
const item = SUBRULE2(pathElt);
|
|
12404
|
-
return ACTION(() => C.
|
|
12407
|
+
return ACTION(() => C.astFactory.path("^", [item], C.astFactory.sourceLocation(hat2, item)));
|
|
12405
12408
|
} }
|
|
12406
12409
|
])
|
|
12407
12410
|
};
|
|
@@ -12412,7 +12415,7 @@ var pathElt = {
|
|
|
12412
12415
|
impl: ({ ACTION, SUBRULE, OPTION }) => (C) => {
|
|
12413
12416
|
const item = SUBRULE(pathPrimary);
|
|
12414
12417
|
const modification = OPTION(() => SUBRULE(pathMod));
|
|
12415
|
-
return ACTION(() => modification === void 0 ? item : C.
|
|
12418
|
+
return ACTION(() => modification === void 0 ? item : C.astFactory.path(modification.image, [item], C.astFactory.sourceLocation(item, modification)));
|
|
12416
12419
|
}
|
|
12417
12420
|
};
|
|
12418
12421
|
var pathMod = {
|
|
@@ -12444,7 +12447,7 @@ var pathNegatedPropertySet = {
|
|
|
12444
12447
|
return OR([
|
|
12445
12448
|
{ ALT: () => {
|
|
12446
12449
|
const noAlternative = SUBRULE1(pathOneInPropertySet);
|
|
12447
|
-
return ACTION(() => C.
|
|
12450
|
+
return ACTION(() => C.astFactory.path("!", [noAlternative], C.astFactory.sourceLocation(exclamation2, noAlternative)));
|
|
12448
12451
|
} },
|
|
12449
12452
|
{ ALT: () => {
|
|
12450
12453
|
const open = CONSUME(symbols_exports.LParen);
|
|
@@ -12457,7 +12460,7 @@ var pathNegatedPropertySet = {
|
|
|
12457
12460
|
});
|
|
12458
12461
|
const close = CONSUME(symbols_exports.RParen);
|
|
12459
12462
|
return ACTION(() => {
|
|
12460
|
-
const F2 = C.
|
|
12463
|
+
const F2 = C.astFactory;
|
|
12461
12464
|
if (tail.length === 0) {
|
|
12462
12465
|
return F2.path("!", [head2], F2.sourceLocation(exclamation2, close));
|
|
12463
12466
|
}
|
|
@@ -12478,7 +12481,7 @@ var pathOneInPropertySet = {
|
|
|
12478
12481
|
{ ALT: () => SUBRULE2(iri2) },
|
|
12479
12482
|
{ ALT: () => SUBRULE2(verbA) }
|
|
12480
12483
|
]);
|
|
12481
|
-
return ACTION(() => C.
|
|
12484
|
+
return ACTION(() => C.astFactory.path("^", [item], C.astFactory.sourceLocation(hat2, item)));
|
|
12482
12485
|
} }
|
|
12483
12486
|
])
|
|
12484
12487
|
};
|
|
@@ -12503,33 +12506,35 @@ function triplesDotSeperated(triplesSameSubjectSubrule) {
|
|
|
12503
12506
|
});
|
|
12504
12507
|
}
|
|
12505
12508
|
});
|
|
12506
|
-
return ACTION(() => C.
|
|
12509
|
+
return ACTION(() => C.astFactory.patternBgp(triples, C.astFactory.sourceLocation(...triples, dotToken)));
|
|
12507
12510
|
};
|
|
12508
12511
|
}
|
|
12509
12512
|
var triplesBlock = {
|
|
12510
12513
|
name: "triplesBlock",
|
|
12511
12514
|
impl: (implArgs) => (C) => triplesDotSeperated(triplesSameSubjectPath)(implArgs)(C),
|
|
12512
|
-
gImpl: ({ SUBRULE, PRINT_WORD, HANDLE_LOC }) => (ast, {
|
|
12515
|
+
gImpl: ({ SUBRULE, PRINT_WORD, HANDLE_LOC }) => (ast, { astFactory: F2 }) => {
|
|
12513
12516
|
for (const [index, triple] of ast.triples.entries()) {
|
|
12514
12517
|
HANDLE_LOC(triple, () => {
|
|
12515
12518
|
const nextTriple = ast.triples.at(index);
|
|
12516
12519
|
if (F2.isTripleCollection(triple)) {
|
|
12517
12520
|
SUBRULE(graphNodePath, triple);
|
|
12518
|
-
F2.printFilter(triple, () => PRINT_WORD("
|
|
12521
|
+
F2.printFilter(triple, () => PRINT_WORD(".\n"));
|
|
12519
12522
|
} else {
|
|
12520
12523
|
SUBRULE(graphNodePath, triple.subject);
|
|
12524
|
+
F2.printFilter(triple, () => PRINT_WORD(""));
|
|
12521
12525
|
if (F2.isTerm(triple.predicate) && F2.isTermVariable(triple.predicate)) {
|
|
12522
12526
|
SUBRULE(varOrTerm, triple.predicate);
|
|
12523
12527
|
} else {
|
|
12524
12528
|
SUBRULE(pathGenerator, triple.predicate, void 0);
|
|
12525
12529
|
}
|
|
12530
|
+
F2.printFilter(triple, () => PRINT_WORD(""));
|
|
12526
12531
|
SUBRULE(graphNodePath, triple.object);
|
|
12527
12532
|
if (nextTriple === void 0 || F2.isTripleCollection(nextTriple) || !F2.isSourceLocationNoMaterialize(nextTriple.subject.loc)) {
|
|
12528
|
-
F2.printFilter(ast, () => PRINT_WORD("
|
|
12533
|
+
F2.printFilter(ast, () => PRINT_WORD(".\n"));
|
|
12529
12534
|
} else if (F2.isSourceLocationNoMaterialize(nextTriple.predicate.loc)) {
|
|
12530
12535
|
F2.printFilter(ast, () => PRINT_WORD(","));
|
|
12531
12536
|
} else {
|
|
12532
|
-
F2.printFilter(ast, () => PRINT_WORD("
|
|
12537
|
+
F2.printFilter(ast, () => PRINT_WORD(";\n"));
|
|
12533
12538
|
}
|
|
12534
12539
|
}
|
|
12535
12540
|
});
|
|
@@ -12542,24 +12547,24 @@ function triplesSameSubjectImpl(name, allowPaths) {
|
|
|
12542
12547
|
impl: ({ ACTION, SUBRULE, OR }) => (C) => OR([
|
|
12543
12548
|
{ ALT: () => {
|
|
12544
12549
|
const subject = SUBRULE(varOrTerm);
|
|
12545
|
-
const res = SUBRULE(allowPaths ? propertyListPathNotEmpty : propertyListNotEmpty, ACTION(() => C.
|
|
12550
|
+
const res = SUBRULE(allowPaths ? propertyListPathNotEmpty : propertyListNotEmpty, ACTION(() => C.astFactory.dematerialized(subject)));
|
|
12546
12551
|
return ACTION(() => {
|
|
12547
12552
|
if (res.length > 0) {
|
|
12548
12553
|
res[0].subject = subject;
|
|
12549
|
-
res[0].loc = C.
|
|
12554
|
+
res[0].loc = C.astFactory.sourceLocation(subject, res[0]);
|
|
12550
12555
|
}
|
|
12551
12556
|
return res;
|
|
12552
12557
|
});
|
|
12553
12558
|
} },
|
|
12554
12559
|
{ ALT: () => {
|
|
12555
12560
|
const subjectNode = SUBRULE(allowPaths ? triplesNodePath : triplesNode);
|
|
12556
|
-
const restNode = SUBRULE(allowPaths ? propertyListPath : propertyList, ACTION(() => C.
|
|
12561
|
+
const restNode = SUBRULE(allowPaths ? propertyListPath : propertyList, ACTION(() => C.astFactory.graphNodeIdentifier(subjectNode)));
|
|
12557
12562
|
return ACTION(() => {
|
|
12558
12563
|
if (restNode.length === 0) {
|
|
12559
12564
|
return [subjectNode];
|
|
12560
12565
|
}
|
|
12561
12566
|
restNode[0].subject = subjectNode;
|
|
12562
|
-
restNode[0].loc = C.
|
|
12567
|
+
restNode[0].loc = C.astFactory.sourceLocation(subjectNode, restNode[0]);
|
|
12563
12568
|
return restNode;
|
|
12564
12569
|
});
|
|
12565
12570
|
} }
|
|
@@ -12643,7 +12648,7 @@ function objectImpl(name, allowPaths) {
|
|
|
12643
12648
|
name,
|
|
12644
12649
|
impl: ({ ACTION, SUBRULE }) => (C, subject, predicate) => {
|
|
12645
12650
|
const node = SUBRULE(allowPaths ? graphNodePath : graphNode);
|
|
12646
|
-
return ACTION(() => C.
|
|
12651
|
+
return ACTION(() => C.astFactory.triple(subject, predicate, node));
|
|
12647
12652
|
}
|
|
12648
12653
|
};
|
|
12649
12654
|
}
|
|
@@ -12660,7 +12665,7 @@ function collectionImpl(name, allowPaths) {
|
|
|
12660
12665
|
});
|
|
12661
12666
|
const endToken = CONSUME(symbols_exports.RParen);
|
|
12662
12667
|
return ACTION(() => {
|
|
12663
|
-
const F2 = C.
|
|
12668
|
+
const F2 = C.astFactory;
|
|
12664
12669
|
const triples = [];
|
|
12665
12670
|
const predFirst = F2.namedNode(F2.sourceLocationNoMaterialize(), CommonIRIs.FIRST, void 0);
|
|
12666
12671
|
const predRest = F2.namedNode(F2.sourceLocationNoMaterialize(), CommonIRIs.REST, void 0);
|
|
@@ -12684,7 +12689,7 @@ function collectionImpl(name, allowPaths) {
|
|
|
12684
12689
|
return F2.tripleCollectionList(listHead, triples, F2.sourceLocation(startToken, endToken));
|
|
12685
12690
|
});
|
|
12686
12691
|
},
|
|
12687
|
-
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, {
|
|
12692
|
+
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { astFactory: F2 }) => {
|
|
12688
12693
|
F2.printFilter(ast, () => PRINT_WORD("("));
|
|
12689
12694
|
for (const [idx, triple] of ast.triples.entries()) {
|
|
12690
12695
|
if (idx % 2 === 0) {
|
|
@@ -12715,13 +12720,17 @@ function blankNodePropertyListImpl(name, allowPaths) {
|
|
|
12715
12720
|
name,
|
|
12716
12721
|
impl: ({ ACTION, SUBRULE, CONSUME }) => (C) => {
|
|
12717
12722
|
const startToken = CONSUME(symbols_exports.LSquare);
|
|
12718
|
-
const blankNode2 = ACTION(() => C.
|
|
12723
|
+
const blankNode2 = ACTION(() => C.astFactory.blankNode(void 0, C.astFactory.sourceLocationNoMaterialize()));
|
|
12719
12724
|
const propList = SUBRULE(propertyPathNotEmptyImpl, blankNode2);
|
|
12720
12725
|
const endToken = CONSUME(symbols_exports.RSquare);
|
|
12721
|
-
return ACTION(() => C.
|
|
12726
|
+
return ACTION(() => C.astFactory.tripleCollectionBlankNodeProperties(blankNode2, propList, C.astFactory.sourceLocation(startToken, endToken)));
|
|
12722
12727
|
},
|
|
12723
|
-
gImpl: ({ SUBRULE, PRINT, PRINT_WORD, HANDLE_LOC }) => (ast,
|
|
12724
|
-
F2
|
|
12728
|
+
gImpl: ({ SUBRULE, PRINT, PRINT_WORD, HANDLE_LOC, PRINT_ON_EMPTY }) => (ast, c) => {
|
|
12729
|
+
const { astFactory: F2, indentInc } = c;
|
|
12730
|
+
F2.printFilter(ast, () => {
|
|
12731
|
+
c[traqulaIndentation] += indentInc;
|
|
12732
|
+
PRINT("[\n");
|
|
12733
|
+
});
|
|
12725
12734
|
for (const triple of ast.triples) {
|
|
12726
12735
|
HANDLE_LOC(triple, () => {
|
|
12727
12736
|
if (F2.isTerm(triple.predicate) && F2.isTermVariable(triple.predicate)) {
|
|
@@ -12729,11 +12738,15 @@ function blankNodePropertyListImpl(name, allowPaths) {
|
|
|
12729
12738
|
} else {
|
|
12730
12739
|
SUBRULE(pathGenerator, triple.predicate, void 0);
|
|
12731
12740
|
}
|
|
12741
|
+
F2.printFilter(triple, () => PRINT_WORD(""));
|
|
12732
12742
|
SUBRULE(graphNodePath, triple.object);
|
|
12733
|
-
F2.printFilter(ast, () => PRINT_WORD("
|
|
12743
|
+
F2.printFilter(ast, () => PRINT_WORD(";\n"));
|
|
12734
12744
|
});
|
|
12735
12745
|
}
|
|
12736
|
-
F2.printFilter(ast, () =>
|
|
12746
|
+
F2.printFilter(ast, () => {
|
|
12747
|
+
c[traqulaIndentation] -= indentInc;
|
|
12748
|
+
PRINT_ON_EMPTY("]");
|
|
12749
|
+
});
|
|
12737
12750
|
}
|
|
12738
12751
|
};
|
|
12739
12752
|
}
|
|
@@ -12750,7 +12763,7 @@ function graphNodeImpl(name, allowPaths) {
|
|
|
12750
12763
|
ALT: () => SUBRULE(triplesNodeRule)
|
|
12751
12764
|
}
|
|
12752
12765
|
]),
|
|
12753
|
-
gImpl: ({ SUBRULE }) => (ast, {
|
|
12766
|
+
gImpl: ({ SUBRULE }) => (ast, { astFactory: F2 }) => {
|
|
12754
12767
|
if (F2.isTerm(ast)) {
|
|
12755
12768
|
SUBRULE(varOrTerm, ast);
|
|
12756
12769
|
} else {
|
|
@@ -12768,9 +12781,9 @@ var whereClause = {
|
|
|
12768
12781
|
impl: ({ ACTION, SUBRULE, CONSUME, OPTION }) => (C) => {
|
|
12769
12782
|
const where2 = OPTION(() => CONSUME(where));
|
|
12770
12783
|
const group = SUBRULE(groupGraphPattern);
|
|
12771
|
-
return ACTION(() => C.
|
|
12784
|
+
return ACTION(() => C.astFactory.wrap(group, C.astFactory.sourceLocation(where2, group)));
|
|
12772
12785
|
},
|
|
12773
|
-
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, {
|
|
12786
|
+
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { astFactory: F2 }) => {
|
|
12774
12787
|
F2.printFilter(ast, () => PRINT_WORD("WHERE"));
|
|
12775
12788
|
SUBRULE(groupGraphPattern, ast.val);
|
|
12776
12789
|
}
|
|
@@ -12784,19 +12797,26 @@ var groupGraphPattern = {
|
|
|
12784
12797
|
{ ALT: () => SUBRULE(groupGraphPatternSub) }
|
|
12785
12798
|
]);
|
|
12786
12799
|
const close = CONSUME(symbols_exports.RCurly);
|
|
12787
|
-
return ACTION(() => C.
|
|
12800
|
+
return ACTION(() => C.astFactory.patternGroup(patterns, C.astFactory.sourceLocation(open, close)));
|
|
12788
12801
|
},
|
|
12789
|
-
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast,
|
|
12790
|
-
F2
|
|
12802
|
+
gImpl: ({ SUBRULE, PRINT_WORD, PRINT_ON_EMPTY }) => (ast, C) => {
|
|
12803
|
+
const { astFactory: F2, indentInc } = C;
|
|
12804
|
+
F2.printFilter(ast, () => {
|
|
12805
|
+
C[traqulaIndentation] += indentInc;
|
|
12806
|
+
PRINT_WORD("{\n");
|
|
12807
|
+
});
|
|
12791
12808
|
for (const pattern of ast.patterns) {
|
|
12792
12809
|
SUBRULE(generatePattern, pattern);
|
|
12793
12810
|
}
|
|
12794
|
-
F2.printFilter(ast, () =>
|
|
12811
|
+
F2.printFilter(ast, () => {
|
|
12812
|
+
C[traqulaIndentation] -= indentInc;
|
|
12813
|
+
PRINT_ON_EMPTY("}\n");
|
|
12814
|
+
});
|
|
12795
12815
|
}
|
|
12796
12816
|
};
|
|
12797
12817
|
var generatePattern = {
|
|
12798
12818
|
name: "generatePattern",
|
|
12799
|
-
gImpl: ({ SUBRULE }) => (ast, {
|
|
12819
|
+
gImpl: ({ SUBRULE }) => (ast, { astFactory: F2 }) => {
|
|
12800
12820
|
if (ast.type === "query") {
|
|
12801
12821
|
SUBRULE(query, F2.querySelect({
|
|
12802
12822
|
context: [],
|
|
@@ -12885,9 +12905,9 @@ var optionalGraphPattern = {
|
|
|
12885
12905
|
impl: ({ ACTION, SUBRULE, CONSUME }) => (C) => {
|
|
12886
12906
|
const optional2 = CONSUME(optional);
|
|
12887
12907
|
const group = SUBRULE(groupGraphPattern);
|
|
12888
|
-
return ACTION(() => C.
|
|
12908
|
+
return ACTION(() => C.astFactory.patternOptional(group.patterns, C.astFactory.sourceLocation(optional2, group)));
|
|
12889
12909
|
},
|
|
12890
|
-
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, {
|
|
12910
|
+
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { astFactory: F2 }) => {
|
|
12891
12911
|
F2.printFilter(ast, () => PRINT_WORD("OPTIONAL"));
|
|
12892
12912
|
SUBRULE(groupGraphPattern, F2.patternGroup(ast.patterns, ast.loc));
|
|
12893
12913
|
}
|
|
@@ -12898,9 +12918,9 @@ var graphGraphPattern = {
|
|
|
12898
12918
|
const graph2 = CONSUME(graph_exports.graph);
|
|
12899
12919
|
const name = SUBRULE(varOrIri);
|
|
12900
12920
|
const group = SUBRULE(groupGraphPattern);
|
|
12901
|
-
return ACTION(() => C.
|
|
12921
|
+
return ACTION(() => C.astFactory.patternGraph(name, group.patterns, C.astFactory.sourceLocation(graph2, group)));
|
|
12902
12922
|
},
|
|
12903
|
-
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, {
|
|
12923
|
+
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { astFactory: F2 }) => {
|
|
12904
12924
|
F2.printFilter(ast, () => PRINT_WORD("GRAPH"));
|
|
12905
12925
|
SUBRULE(varOrTerm, ast.name);
|
|
12906
12926
|
SUBRULE(groupGraphPattern, F2.patternGroup(ast.patterns, ast.loc));
|
|
@@ -12916,9 +12936,9 @@ var serviceGraphPattern = {
|
|
|
12916
12936
|
}) ?? false;
|
|
12917
12937
|
const name = SUBRULE1(varOrIri);
|
|
12918
12938
|
const group = SUBRULE1(groupGraphPattern);
|
|
12919
|
-
return ACTION(() => C.
|
|
12939
|
+
return ACTION(() => C.astFactory.patternService(name, group.patterns, silent2, C.astFactory.sourceLocation(service2, group)));
|
|
12920
12940
|
},
|
|
12921
|
-
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, {
|
|
12941
|
+
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { astFactory: F2 }) => {
|
|
12922
12942
|
F2.printFilter(ast, () => {
|
|
12923
12943
|
PRINT_WORD("SERVICE");
|
|
12924
12944
|
if (ast.silent) {
|
|
@@ -12938,14 +12958,14 @@ var bind2 = {
|
|
|
12938
12958
|
CONSUME(as);
|
|
12939
12959
|
const variable = SUBRULE(var_);
|
|
12940
12960
|
const close = CONSUME(symbols_exports.RParen);
|
|
12941
|
-
return ACTION(() => C.
|
|
12961
|
+
return ACTION(() => C.astFactory.patternBind(expressionVal, variable, C.astFactory.sourceLocation(bind3, close)));
|
|
12942
12962
|
},
|
|
12943
|
-
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, {
|
|
12963
|
+
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { astFactory: F2 }) => {
|
|
12944
12964
|
F2.printFilter(ast, () => PRINT_WORD("BIND", "("));
|
|
12945
12965
|
SUBRULE(expression, ast.expression);
|
|
12946
12966
|
F2.printFilter(ast, () => PRINT_WORD("AS"));
|
|
12947
12967
|
SUBRULE(var_, ast.variable);
|
|
12948
|
-
F2.printFilter(ast, () => PRINT_WORD(")"));
|
|
12968
|
+
F2.printFilter(ast, () => PRINT_WORD(")\n"));
|
|
12949
12969
|
}
|
|
12950
12970
|
};
|
|
12951
12971
|
var inlineData = {
|
|
@@ -12953,16 +12973,19 @@ var inlineData = {
|
|
|
12953
12973
|
impl: ({ ACTION, SUBRULE, CONSUME }) => (C) => {
|
|
12954
12974
|
const values3 = CONSUME(values2);
|
|
12955
12975
|
const datablock = SUBRULE(dataBlock);
|
|
12956
|
-
return ACTION(() => C.
|
|
12976
|
+
return ACTION(() => C.astFactory.patternValues(datablock.val, C.astFactory.sourceLocation(values3, datablock)));
|
|
12957
12977
|
},
|
|
12958
|
-
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast,
|
|
12978
|
+
gImpl: ({ SUBRULE, PRINT_WORD, PRINT_ON_EMPTY }) => (ast, C) => {
|
|
12979
|
+
const { astFactory: F2, indentInc } = C;
|
|
12959
12980
|
const variables = Object.keys(ast.values.at(0) ?? {});
|
|
12960
12981
|
F2.printFilter(ast, () => {
|
|
12982
|
+
PRINT_ON_EMPTY("");
|
|
12961
12983
|
PRINT_WORD("VALUES", "(");
|
|
12962
12984
|
for (const variable of variables) {
|
|
12963
12985
|
PRINT_WORD(`?${variable}`);
|
|
12964
12986
|
}
|
|
12965
|
-
|
|
12987
|
+
C[traqulaIndentation] += indentInc;
|
|
12988
|
+
PRINT_WORD(")", "{\n");
|
|
12966
12989
|
});
|
|
12967
12990
|
for (const mapping of ast.values) {
|
|
12968
12991
|
F2.printFilter(ast, () => PRINT_WORD("("));
|
|
@@ -12973,9 +12996,12 @@ var inlineData = {
|
|
|
12973
12996
|
SUBRULE(graphNodePath, mapping[variable]);
|
|
12974
12997
|
}
|
|
12975
12998
|
}
|
|
12976
|
-
F2.printFilter(ast, () => PRINT_WORD(")"));
|
|
12999
|
+
F2.printFilter(ast, () => PRINT_WORD(")\n"));
|
|
12977
13000
|
}
|
|
12978
|
-
F2.printFilter(ast, () =>
|
|
13001
|
+
F2.printFilter(ast, () => {
|
|
13002
|
+
C[traqulaIndentation] -= indentInc;
|
|
13003
|
+
PRINT_ON_EMPTY("}\n");
|
|
13004
|
+
});
|
|
12979
13005
|
}
|
|
12980
13006
|
};
|
|
12981
13007
|
var dataBlock = {
|
|
@@ -12998,7 +13024,7 @@ var inlineDataOneVar = {
|
|
|
12998
13024
|
});
|
|
12999
13025
|
});
|
|
13000
13026
|
const close = CONSUME(symbols_exports.RCurly);
|
|
13001
|
-
return ACTION(() => C.
|
|
13027
|
+
return ACTION(() => C.astFactory.wrap(res, C.astFactory.sourceLocation(varVal, close)));
|
|
13002
13028
|
}
|
|
13003
13029
|
};
|
|
13004
13030
|
var inlineDataFull = {
|
|
@@ -13015,7 +13041,7 @@ var inlineDataFull = {
|
|
|
13015
13041
|
res.push({});
|
|
13016
13042
|
});
|
|
13017
13043
|
const close = CONSUME1(symbols_exports.RCurly);
|
|
13018
|
-
return ACTION(() => C.
|
|
13044
|
+
return ACTION(() => C.astFactory.wrap(res, C.astFactory.sourceLocation(nil2, close)));
|
|
13019
13045
|
} },
|
|
13020
13046
|
{ ALT: () => {
|
|
13021
13047
|
const open = CONSUME1(symbols_exports.LParen);
|
|
@@ -13047,7 +13073,7 @@ var inlineDataFull = {
|
|
|
13047
13073
|
});
|
|
13048
13074
|
});
|
|
13049
13075
|
const close = CONSUME2(symbols_exports.RCurly);
|
|
13050
|
-
return ACTION(() => C.
|
|
13076
|
+
return ACTION(() => C.astFactory.wrap(res, C.astFactory.sourceLocation(open, close)));
|
|
13051
13077
|
} }
|
|
13052
13078
|
]);
|
|
13053
13079
|
}
|
|
@@ -13070,9 +13096,9 @@ var minusGraphPattern = {
|
|
|
13070
13096
|
impl: ({ ACTION, SUBRULE, CONSUME }) => (C) => {
|
|
13071
13097
|
const minus2 = CONSUME(minus);
|
|
13072
13098
|
const group = SUBRULE(groupGraphPattern);
|
|
13073
|
-
return ACTION(() => C.
|
|
13099
|
+
return ACTION(() => C.astFactory.patternMinus(group.patterns, C.astFactory.sourceLocation(minus2, group)));
|
|
13074
13100
|
},
|
|
13075
|
-
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, {
|
|
13101
|
+
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { astFactory: F2 }) => {
|
|
13076
13102
|
F2.printFilter(ast, () => PRINT_WORD("MINUS"));
|
|
13077
13103
|
SUBRULE(groupGraphPattern, F2.patternGroup(ast.patterns, ast.loc));
|
|
13078
13104
|
}
|
|
@@ -13088,9 +13114,9 @@ var groupOrUnionGraphPattern = {
|
|
|
13088
13114
|
const group2 = SUBRULE2(groupGraphPattern);
|
|
13089
13115
|
groups.push(group2);
|
|
13090
13116
|
});
|
|
13091
|
-
return ACTION(() => groups.length === 1 ? groups[0] : C.
|
|
13117
|
+
return ACTION(() => groups.length === 1 ? groups[0] : C.astFactory.patternUnion(groups, C.astFactory.sourceLocation(group, groups.at(-1))));
|
|
13092
13118
|
},
|
|
13093
|
-
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, {
|
|
13119
|
+
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { astFactory: F2 }) => {
|
|
13094
13120
|
if (F2.isPatternUnion(ast)) {
|
|
13095
13121
|
const [head2, ...tail] = ast.patterns;
|
|
13096
13122
|
SUBRULE(groupGraphPattern, head2);
|
|
@@ -13108,12 +13134,12 @@ var filter3 = {
|
|
|
13108
13134
|
impl: ({ ACTION, SUBRULE, CONSUME }) => (C) => {
|
|
13109
13135
|
const filterToken = CONSUME(filter2);
|
|
13110
13136
|
const expression2 = SUBRULE(constraint);
|
|
13111
|
-
return ACTION(() => C.
|
|
13137
|
+
return ACTION(() => C.astFactory.patternFilter(expression2, C.astFactory.sourceLocation(filterToken, expression2)));
|
|
13112
13138
|
},
|
|
13113
|
-
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, {
|
|
13139
|
+
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { astFactory: F2 }) => {
|
|
13114
13140
|
F2.printFilter(ast, () => PRINT_WORD("FILTER ("));
|
|
13115
13141
|
SUBRULE(expression, ast.expression);
|
|
13116
|
-
F2.printFilter(ast, () => PRINT_WORD(")"));
|
|
13142
|
+
F2.printFilter(ast, () => PRINT_WORD(")\n"));
|
|
13117
13143
|
}
|
|
13118
13144
|
};
|
|
13119
13145
|
var constraint = {
|
|
@@ -13129,7 +13155,7 @@ var functionCall = {
|
|
|
13129
13155
|
impl: ({ ACTION, SUBRULE }) => (C) => {
|
|
13130
13156
|
const func = SUBRULE(iri2);
|
|
13131
13157
|
const args = SUBRULE(argList);
|
|
13132
|
-
return ACTION(() => C.
|
|
13158
|
+
return ACTION(() => C.astFactory.expressionFunctionCall(func, args.val.args, args.val.distinct, C.astFactory.sourceLocation(func, args)));
|
|
13133
13159
|
}
|
|
13134
13160
|
};
|
|
13135
13161
|
|
|
@@ -13139,7 +13165,7 @@ var argList = {
|
|
|
13139
13165
|
impl: ({ ACTION, CONSUME, SUBRULE1, OPTION, OR, AT_LEAST_ONE_SEP }) => (C) => OR([
|
|
13140
13166
|
{ ALT: () => {
|
|
13141
13167
|
const nil2 = CONSUME(terminals_exports.nil);
|
|
13142
|
-
return ACTION(() => C.
|
|
13168
|
+
return ACTION(() => C.astFactory.wrap({ args: [], distinct: false }, C.astFactory.sourceLocation(nil2)));
|
|
13143
13169
|
} },
|
|
13144
13170
|
{ ALT: () => {
|
|
13145
13171
|
const args = [];
|
|
@@ -13156,10 +13182,10 @@ var argList = {
|
|
|
13156
13182
|
}
|
|
13157
13183
|
});
|
|
13158
13184
|
const close = CONSUME(symbols_exports.RParen);
|
|
13159
|
-
return ACTION(() => C.
|
|
13185
|
+
return ACTION(() => C.astFactory.wrap({ args, distinct: distinct2 }, C.astFactory.sourceLocation(open, close)));
|
|
13160
13186
|
} }
|
|
13161
13187
|
]),
|
|
13162
|
-
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, {
|
|
13188
|
+
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { astFactory: F2 }) => {
|
|
13163
13189
|
F2.printFilter(ast, () => {
|
|
13164
13190
|
PRINT_WORD("(");
|
|
13165
13191
|
if (ast.val.distinct) {
|
|
@@ -13182,7 +13208,7 @@ var expressionList = {
|
|
|
13182
13208
|
impl: ({ ACTION, CONSUME, MANY, OR, SUBRULE1, SUBRULE2 }) => (C) => OR([
|
|
13183
13209
|
{ ALT: () => {
|
|
13184
13210
|
const nil2 = CONSUME(terminals_exports.nil);
|
|
13185
|
-
return ACTION(() => C.
|
|
13211
|
+
return ACTION(() => C.astFactory.wrap([], C.astFactory.sourceLocation(nil2)));
|
|
13186
13212
|
} },
|
|
13187
13213
|
{ ALT: () => {
|
|
13188
13214
|
const open = CONSUME(symbols_exports.LParen);
|
|
@@ -13194,7 +13220,7 @@ var expressionList = {
|
|
|
13194
13220
|
args.push(expr);
|
|
13195
13221
|
});
|
|
13196
13222
|
const close = CONSUME(symbols_exports.RParen);
|
|
13197
|
-
return ACTION(() => C.
|
|
13223
|
+
return ACTION(() => C.astFactory.wrap(args, C.astFactory.sourceLocation(open, close)));
|
|
13198
13224
|
} }
|
|
13199
13225
|
])
|
|
13200
13226
|
};
|
|
@@ -13203,7 +13229,7 @@ var prefixOperator = /* @__PURE__ */ new Set(["!", "UPLUS", "UMINUS"]);
|
|
|
13203
13229
|
var expression = {
|
|
13204
13230
|
name: "expression",
|
|
13205
13231
|
impl: ({ SUBRULE }) => () => SUBRULE(conditionalOrExpression),
|
|
13206
|
-
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, {
|
|
13232
|
+
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { astFactory: F2 }) => {
|
|
13207
13233
|
if (F2.isTerm(ast)) {
|
|
13208
13234
|
SUBRULE(varOrTerm, ast);
|
|
13209
13235
|
} else if (F2.isExpressionOperator(ast)) {
|
|
@@ -13268,7 +13294,7 @@ var conditionalOrExpression = {
|
|
|
13268
13294
|
impl: ({ ACTION, MANY, CONSUME, SUBRULE1, SUBRULE2 }) => (C) => constructLeftDeep(() => SUBRULE1(conditionalAndExpression), () => {
|
|
13269
13295
|
CONSUME(symbols_exports.logicOr);
|
|
13270
13296
|
const args = SUBRULE2(conditionalAndExpression);
|
|
13271
|
-
return (left) => ACTION(() => C.
|
|
13297
|
+
return (left) => ACTION(() => C.astFactory.expressionOperation("||", [left, args], C.astFactory.sourceLocation(left, args)));
|
|
13272
13298
|
}, ACTION, MANY)
|
|
13273
13299
|
};
|
|
13274
13300
|
var conditionalAndExpression = {
|
|
@@ -13276,7 +13302,7 @@ var conditionalAndExpression = {
|
|
|
13276
13302
|
impl: ({ ACTION, MANY, SUBRULE1, SUBRULE2, CONSUME }) => (C) => constructLeftDeep(() => SUBRULE1(valueLogical), () => {
|
|
13277
13303
|
CONSUME(symbols_exports.logicAnd);
|
|
13278
13304
|
const arg = SUBRULE2(valueLogical);
|
|
13279
|
-
return (left) => ACTION(() => C.
|
|
13305
|
+
return (left) => ACTION(() => C.astFactory.expressionOperation("&&", [left, arg], C.astFactory.sourceLocation(left, arg)));
|
|
13280
13306
|
}, ACTION, MANY)
|
|
13281
13307
|
};
|
|
13282
13308
|
var valueLogical = {
|
|
@@ -13298,7 +13324,7 @@ var relationalExpression = {
|
|
|
13298
13324
|
{ ALT: () => CONSUME(symbols_exports.greaterThanEqual) }
|
|
13299
13325
|
]);
|
|
13300
13326
|
const expr = SUBRULE2(numericExpression);
|
|
13301
|
-
return ACTION(() => C.
|
|
13327
|
+
return ACTION(() => C.astFactory.expressionOperation(operator.image, [args1, expr], C.astFactory.sourceLocation(args1, expr)));
|
|
13302
13328
|
} },
|
|
13303
13329
|
{ ALT: () => {
|
|
13304
13330
|
const operator = OR3([
|
|
@@ -13306,7 +13332,7 @@ var relationalExpression = {
|
|
|
13306
13332
|
{ ALT: () => CONSUME(notIn) }
|
|
13307
13333
|
]);
|
|
13308
13334
|
const args = SUBRULE1(expressionList);
|
|
13309
|
-
return ACTION(() => C.
|
|
13335
|
+
return ACTION(() => C.astFactory.expressionOperation(operator.image, [args1, ...args.val], C.astFactory.sourceLocation(args1, args)));
|
|
13310
13336
|
} }
|
|
13311
13337
|
]));
|
|
13312
13338
|
return expression2 ?? args1;
|
|
@@ -13325,7 +13351,7 @@ var additiveExpression = {
|
|
|
13325
13351
|
{ ALT: () => CONSUME(symbols_exports.opMinus) }
|
|
13326
13352
|
]);
|
|
13327
13353
|
const arg = SUBRULE2(multiplicativeExpression);
|
|
13328
|
-
return ACTION(() => (left) => C.
|
|
13354
|
+
return ACTION(() => (left) => C.astFactory.expressionOperation(operator.image, [left, arg], C.astFactory.sourceLocation(left, arg)));
|
|
13329
13355
|
} },
|
|
13330
13356
|
{ ALT: () => {
|
|
13331
13357
|
const { operator, startInt } = OR3([
|
|
@@ -13356,9 +13382,9 @@ var additiveExpression = {
|
|
|
13356
13382
|
{ ALT: () => CONSUME(symbols_exports.slash) }
|
|
13357
13383
|
]);
|
|
13358
13384
|
const innerExpr = SUBRULE1(unaryExpression);
|
|
13359
|
-
return ACTION(() => (leftInner) => C.
|
|
13385
|
+
return ACTION(() => (leftInner) => C.astFactory.expressionOperation(innerOperator.image, [leftInner, innerExpr], C.astFactory.sourceLocation(leftInner, innerExpr)));
|
|
13360
13386
|
}, ACTION, MANY2);
|
|
13361
|
-
return (left) => C.
|
|
13387
|
+
return (left) => C.astFactory.expressionOperation(operator, [left, multiplicativeExpr], C.astFactory.sourceLocation(left, multiplicativeExpr));
|
|
13362
13388
|
} }
|
|
13363
13389
|
]), ACTION, MANY1)
|
|
13364
13390
|
};
|
|
@@ -13375,7 +13401,7 @@ var multiplicativeExpression = {
|
|
|
13375
13401
|
subType: "operation",
|
|
13376
13402
|
operator: operator.image,
|
|
13377
13403
|
args: [left, expr],
|
|
13378
|
-
loc: C.
|
|
13404
|
+
loc: C.astFactory.sourceLocation(left, expr)
|
|
13379
13405
|
});
|
|
13380
13406
|
}, ACTION, MANY)
|
|
13381
13407
|
};
|
|
@@ -13390,7 +13416,7 @@ var unaryExpression = {
|
|
|
13390
13416
|
{ ALT: () => CONSUME(symbols_exports.opMinus) }
|
|
13391
13417
|
]);
|
|
13392
13418
|
const expr = SUBRULE2(primaryExpression);
|
|
13393
|
-
return ACTION(() => C.
|
|
13419
|
+
return ACTION(() => C.astFactory.expressionOperation(operator.image === "!" ? "!" : operator.image === "+" ? "UPLUS" : "UMINUS", [expr], C.astFactory.sourceLocation(operator, expr)));
|
|
13394
13420
|
} }
|
|
13395
13421
|
])
|
|
13396
13422
|
};
|
|
@@ -13413,7 +13439,7 @@ var brackettedExpression = {
|
|
|
13413
13439
|
const expr = SUBRULE(expression);
|
|
13414
13440
|
const close = CONSUME(symbols_exports.RParen);
|
|
13415
13441
|
return ACTION(() => {
|
|
13416
|
-
expr.loc = C.
|
|
13442
|
+
expr.loc = C.astFactory.sourceLocation(open, close);
|
|
13417
13443
|
return expr;
|
|
13418
13444
|
});
|
|
13419
13445
|
}
|
|
@@ -13435,13 +13461,13 @@ var iriOrFunction = {
|
|
|
13435
13461
|
function: iriVal,
|
|
13436
13462
|
args: args.val.args,
|
|
13437
13463
|
distinct: distinct2,
|
|
13438
|
-
loc: C.
|
|
13464
|
+
loc: C.astFactory.sourceLocation(iriVal, args)
|
|
13439
13465
|
};
|
|
13440
13466
|
});
|
|
13441
13467
|
});
|
|
13442
13468
|
return functionCall2 ?? iriVal;
|
|
13443
13469
|
},
|
|
13444
|
-
gImpl: ({ SUBRULE }) => (ast, {
|
|
13470
|
+
gImpl: ({ SUBRULE }) => (ast, { astFactory: F2 }) => {
|
|
13445
13471
|
if (F2.isTermNamed(ast)) {
|
|
13446
13472
|
SUBRULE(iri2, ast);
|
|
13447
13473
|
} else {
|
|
@@ -13494,11 +13520,14 @@ var groupClause = {
|
|
|
13494
13520
|
type: "solutionModifier",
|
|
13495
13521
|
subType: "group",
|
|
13496
13522
|
groupings,
|
|
13497
|
-
loc: C.
|
|
13523
|
+
loc: C.astFactory.sourceLocation(start, groupings.at(-1))
|
|
13498
13524
|
}));
|
|
13499
13525
|
},
|
|
13500
|
-
gImpl: ({ PRINT_WORDS, SUBRULE }) => (ast, {
|
|
13501
|
-
F2.printFilter(ast, () =>
|
|
13526
|
+
gImpl: ({ PRINT_WORDS, SUBRULE, PRINT_ON_EMPTY }) => (ast, { astFactory: F2 }) => {
|
|
13527
|
+
F2.printFilter(ast, () => {
|
|
13528
|
+
PRINT_ON_EMPTY("");
|
|
13529
|
+
PRINT_WORDS("GROUP", "BY");
|
|
13530
|
+
});
|
|
13502
13531
|
for (const grouping of ast.groupings) {
|
|
13503
13532
|
if (F2.isExpression(grouping)) {
|
|
13504
13533
|
SUBRULE(expression, grouping);
|
|
@@ -13532,7 +13561,7 @@ var groupCondition = {
|
|
|
13532
13561
|
return {
|
|
13533
13562
|
variable,
|
|
13534
13563
|
value: expressionValue,
|
|
13535
|
-
loc: C.
|
|
13564
|
+
loc: C.astFactory.sourceLocation(open, close)
|
|
13536
13565
|
};
|
|
13537
13566
|
}
|
|
13538
13567
|
return expressionValue;
|
|
@@ -13551,10 +13580,13 @@ var havingClause = {
|
|
|
13551
13580
|
expressions.push(SUBRULE(havingCondition));
|
|
13552
13581
|
});
|
|
13553
13582
|
ACTION(() => !couldParseAgg && C.parseMode.delete("canParseAggregate"));
|
|
13554
|
-
return ACTION(() => C.
|
|
13583
|
+
return ACTION(() => C.astFactory.solutionModifierHaving(expressions, C.astFactory.sourceLocation(having2, expressions.at(-1))));
|
|
13555
13584
|
},
|
|
13556
|
-
gImpl: ({ PRINT_WORD, SUBRULE }) => (ast, {
|
|
13557
|
-
F2.printFilter(ast, () =>
|
|
13585
|
+
gImpl: ({ PRINT_WORD, PRINT_ON_EMPTY, SUBRULE }) => (ast, { astFactory: F2 }) => {
|
|
13586
|
+
F2.printFilter(ast, () => {
|
|
13587
|
+
PRINT_ON_EMPTY("");
|
|
13588
|
+
PRINT_WORD("HAVING");
|
|
13589
|
+
});
|
|
13558
13590
|
for (const having2 of ast.having) {
|
|
13559
13591
|
SUBRULE(expression, having2);
|
|
13560
13592
|
}
|
|
@@ -13575,10 +13607,13 @@ var orderClause = {
|
|
|
13575
13607
|
orderings.push(SUBRULE1(orderCondition));
|
|
13576
13608
|
});
|
|
13577
13609
|
ACTION(() => !couldParseAgg && C.parseMode.delete("canParseAggregate"));
|
|
13578
|
-
return ACTION(() => C.
|
|
13610
|
+
return ACTION(() => C.astFactory.solutionModifierOrder(orderings, C.astFactory.sourceLocation(order2, orderings.at(-1))));
|
|
13579
13611
|
},
|
|
13580
|
-
gImpl: ({ PRINT_WORDS, SUBRULE }) => (ast, {
|
|
13581
|
-
F2.printFilter(ast, () =>
|
|
13612
|
+
gImpl: ({ PRINT_WORDS, PRINT_ON_EMPTY, SUBRULE }) => (ast, { astFactory: F2 }) => {
|
|
13613
|
+
F2.printFilter(ast, () => {
|
|
13614
|
+
PRINT_ON_EMPTY("");
|
|
13615
|
+
PRINT_WORDS("ORDER", "BY");
|
|
13616
|
+
});
|
|
13582
13617
|
for (const ordering of ast.orderDefs) {
|
|
13583
13618
|
if (ordering.descending) {
|
|
13584
13619
|
F2.printFilter(ast, () => PRINT_WORDS("DESC"));
|
|
@@ -13609,7 +13644,7 @@ var orderCondition = {
|
|
|
13609
13644
|
return ACTION(() => ({
|
|
13610
13645
|
expression: expr,
|
|
13611
13646
|
descending: descending[0],
|
|
13612
|
-
loc: C.
|
|
13647
|
+
loc: C.astFactory.sourceLocation(descending[1], expr)
|
|
13613
13648
|
}));
|
|
13614
13649
|
} },
|
|
13615
13650
|
{ ALT: () => {
|
|
@@ -13628,16 +13663,17 @@ var limitOffsetClauses = {
|
|
|
13628
13663
|
{ ALT: () => {
|
|
13629
13664
|
const limit2 = SUBRULE1(limitClause);
|
|
13630
13665
|
const offset2 = OPTION1(() => SUBRULE1(offsetClause));
|
|
13631
|
-
return ACTION(() => C.
|
|
13666
|
+
return ACTION(() => C.astFactory.solutionModifierLimitOffset(limit2.val, offset2?.val, C.astFactory.sourceLocation(limit2, ...offset2 ? [offset2] : [])));
|
|
13632
13667
|
} },
|
|
13633
13668
|
{ ALT: () => {
|
|
13634
13669
|
const offset2 = SUBRULE2(offsetClause);
|
|
13635
13670
|
const limit2 = OPTION2(() => SUBRULE2(limitClause));
|
|
13636
|
-
return ACTION(() => C.
|
|
13671
|
+
return ACTION(() => C.astFactory.solutionModifierLimitOffset(limit2?.val, offset2.val, C.astFactory.sourceLocation(offset2, limit2)));
|
|
13637
13672
|
} }
|
|
13638
13673
|
]),
|
|
13639
|
-
gImpl: ({ PRINT_WORDS }) => (ast, {
|
|
13674
|
+
gImpl: ({ PRINT_WORDS, PRINT_ON_EMPTY }) => (ast, { astFactory: F2 }) => {
|
|
13640
13675
|
F2.printFilter(ast, () => {
|
|
13676
|
+
PRINT_ON_EMPTY("");
|
|
13641
13677
|
if (ast.limit) {
|
|
13642
13678
|
PRINT_WORDS("LIMIT", String(ast.limit));
|
|
13643
13679
|
}
|
|
@@ -13653,7 +13689,7 @@ var limitClause = {
|
|
|
13653
13689
|
const offset2 = CONSUME(limit);
|
|
13654
13690
|
const value = CONSUME(terminals_exports.integer);
|
|
13655
13691
|
const val = Number.parseInt(value.image, 10);
|
|
13656
|
-
return ACTION(() => C.
|
|
13692
|
+
return ACTION(() => C.astFactory.wrap(val, C.astFactory.sourceLocation(offset2, value)));
|
|
13657
13693
|
}
|
|
13658
13694
|
};
|
|
13659
13695
|
var offsetClause = {
|
|
@@ -13662,7 +13698,7 @@ var offsetClause = {
|
|
|
13662
13698
|
const offset2 = CONSUME(offset);
|
|
13663
13699
|
const value = CONSUME(terminals_exports.integer);
|
|
13664
13700
|
const val = Number.parseInt(value.image, 10);
|
|
13665
|
-
return ACTION(() => C.
|
|
13701
|
+
return ACTION(() => C.astFactory.wrap(val, C.astFactory.sourceLocation(offset2, value)));
|
|
13666
13702
|
}
|
|
13667
13703
|
};
|
|
13668
13704
|
|
|
@@ -13687,10 +13723,10 @@ var query = {
|
|
|
13687
13723
|
...subType,
|
|
13688
13724
|
type: "query",
|
|
13689
13725
|
...values3 && { values: values3 },
|
|
13690
|
-
loc: C.
|
|
13726
|
+
loc: C.astFactory.sourceLocation(prologueValues.at(0), subType, values3)
|
|
13691
13727
|
}));
|
|
13692
13728
|
},
|
|
13693
|
-
gImpl: ({ SUBRULE }) => (ast, {
|
|
13729
|
+
gImpl: ({ SUBRULE }) => (ast, { astFactory: F2 }) => {
|
|
13694
13730
|
SUBRULE(prologue, ast.context);
|
|
13695
13731
|
if (F2.isQuerySelect(ast)) {
|
|
13696
13732
|
SUBRULE(selectQuery, ast);
|
|
@@ -13720,13 +13756,13 @@ var selectQuery = {
|
|
|
13720
13756
|
solutionModifiers: modifiers,
|
|
13721
13757
|
datasets: from2,
|
|
13722
13758
|
...selectVal.val,
|
|
13723
|
-
loc: C.
|
|
13759
|
+
loc: C.astFactory.sourceLocation(selectVal, where2, modifiers.group, modifiers.having, modifiers.order, modifiers.limitOffset)
|
|
13724
13760
|
};
|
|
13725
13761
|
queryIsGood(ret);
|
|
13726
13762
|
return ret;
|
|
13727
13763
|
});
|
|
13728
13764
|
},
|
|
13729
|
-
gImpl: ({ SUBRULE }) => (ast, {
|
|
13765
|
+
gImpl: ({ SUBRULE }) => (ast, { astFactory: F2 }) => {
|
|
13730
13766
|
SUBRULE(selectClause, F2.wrap({
|
|
13731
13767
|
variables: ast.variables,
|
|
13732
13768
|
distinct: ast.distinct,
|
|
@@ -13744,14 +13780,14 @@ var subSelect = {
|
|
|
13744
13780
|
const where2 = SUBRULE(whereClause);
|
|
13745
13781
|
const modifiers = SUBRULE(solutionModifier);
|
|
13746
13782
|
const values3 = SUBRULE(valuesClause);
|
|
13747
|
-
return ACTION(() => C.
|
|
13783
|
+
return ACTION(() => C.astFactory.querySelect({
|
|
13748
13784
|
where: where2.val,
|
|
13749
|
-
datasets: C.
|
|
13785
|
+
datasets: C.astFactory.datasetClauses([], C.astFactory.sourceLocation()),
|
|
13750
13786
|
context: [],
|
|
13751
13787
|
solutionModifiers: modifiers,
|
|
13752
13788
|
...selectVal.val,
|
|
13753
13789
|
...values3 && { values: values3 }
|
|
13754
|
-
}, C.
|
|
13790
|
+
}, C.astFactory.sourceLocation(selectVal, where2, modifiers.group, modifiers.having, modifiers.order, modifiers.limitOffset, values3)));
|
|
13755
13791
|
}
|
|
13756
13792
|
};
|
|
13757
13793
|
var selectClause = {
|
|
@@ -13782,7 +13818,7 @@ var selectClause = {
|
|
|
13782
13818
|
const star2 = CONSUME(symbols_exports.star);
|
|
13783
13819
|
return ACTION(() => {
|
|
13784
13820
|
last2 = star2;
|
|
13785
|
-
return { variables: [C.
|
|
13821
|
+
return { variables: [C.astFactory.wildcard(C.astFactory.sourceLocation(star2))], ...distRed };
|
|
13786
13822
|
});
|
|
13787
13823
|
} },
|
|
13788
13824
|
{ ALT: () => {
|
|
@@ -13812,7 +13848,7 @@ var selectClause = {
|
|
|
13812
13848
|
throw new Error(`Variable ${variable.value} used more than once in SELECT clause`);
|
|
13813
13849
|
}
|
|
13814
13850
|
usedVars.push(variable);
|
|
13815
|
-
variables.push(C.
|
|
13851
|
+
variables.push(C.astFactory.patternBind(expr, variable, C.astFactory.sourceLocation(open, last2)));
|
|
13816
13852
|
});
|
|
13817
13853
|
} }
|
|
13818
13854
|
]));
|
|
@@ -13820,9 +13856,9 @@ var selectClause = {
|
|
|
13820
13856
|
} }
|
|
13821
13857
|
]);
|
|
13822
13858
|
ACTION(() => !couldParseAgg && C.parseMode.delete("canParseAggregate"));
|
|
13823
|
-
return ACTION(() => C.
|
|
13859
|
+
return ACTION(() => C.astFactory.wrap(val, C.astFactory.sourceLocation(select2, last2)));
|
|
13824
13860
|
},
|
|
13825
|
-
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, {
|
|
13861
|
+
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { astFactory: F2 }) => {
|
|
13826
13862
|
F2.printFilter(ast, () => {
|
|
13827
13863
|
PRINT_WORD("SELECT");
|
|
13828
13864
|
if (ast.val.distinct) {
|
|
@@ -13862,7 +13898,7 @@ var constructQuery = {
|
|
|
13862
13898
|
datasets: from2,
|
|
13863
13899
|
where: where2.val,
|
|
13864
13900
|
solutionModifiers: modifiers,
|
|
13865
|
-
loc: C.
|
|
13901
|
+
loc: C.astFactory.sourceLocation(construct2, where2, modifiers.group, modifiers.having, modifiers.order, modifiers.limitOffset)
|
|
13866
13902
|
}));
|
|
13867
13903
|
} },
|
|
13868
13904
|
{ ALT: () => {
|
|
@@ -13874,19 +13910,26 @@ var constructQuery = {
|
|
|
13874
13910
|
subType: "construct",
|
|
13875
13911
|
template: template.val,
|
|
13876
13912
|
datasets: from2,
|
|
13877
|
-
where: C.
|
|
13913
|
+
where: C.astFactory.patternGroup([template.val], C.astFactory.sourceLocation()),
|
|
13878
13914
|
solutionModifiers: modifiers,
|
|
13879
|
-
loc: C.
|
|
13915
|
+
loc: C.astFactory.sourceLocation(construct2, template, modifiers.group, modifiers.having, modifiers.order, modifiers.limitOffset)
|
|
13880
13916
|
}));
|
|
13881
13917
|
} }
|
|
13882
13918
|
]);
|
|
13883
13919
|
},
|
|
13884
|
-
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast,
|
|
13920
|
+
gImpl: ({ SUBRULE, PRINT_WORD, PRINT_ON_EMPTY }) => (ast, C) => {
|
|
13921
|
+
const { astFactory: F2, indentInc } = C;
|
|
13885
13922
|
F2.printFilter(ast, () => PRINT_WORD("CONSTRUCT"));
|
|
13886
13923
|
if (!F2.isSourceLocationNoMaterialize(ast.where.loc)) {
|
|
13887
|
-
F2.printFilter(ast, () =>
|
|
13924
|
+
F2.printFilter(ast, () => {
|
|
13925
|
+
C[traqulaIndentation] += indentInc;
|
|
13926
|
+
PRINT_WORD("{\n");
|
|
13927
|
+
});
|
|
13888
13928
|
SUBRULE(triplesBlock, ast.template);
|
|
13889
|
-
F2.printFilter(ast, () =>
|
|
13929
|
+
F2.printFilter(ast, () => {
|
|
13930
|
+
C[traqulaIndentation] -= indentInc;
|
|
13931
|
+
PRINT_ON_EMPTY("}\n");
|
|
13932
|
+
});
|
|
13890
13933
|
}
|
|
13891
13934
|
SUBRULE(datasetClauseStar, ast.datasets);
|
|
13892
13935
|
if (F2.isSourceLocationNoMaterialize(ast.where.loc)) {
|
|
@@ -13911,7 +13954,7 @@ var describeQuery = {
|
|
|
13911
13954
|
} },
|
|
13912
13955
|
{ ALT: () => {
|
|
13913
13956
|
const star2 = CONSUME(symbols_exports.star);
|
|
13914
|
-
return [ACTION(() => C.
|
|
13957
|
+
return [ACTION(() => C.astFactory.wildcard(C.astFactory.sourceLocation(star2)))];
|
|
13915
13958
|
} }
|
|
13916
13959
|
]);
|
|
13917
13960
|
const from2 = SUBRULE1(datasetClauseStar);
|
|
@@ -13923,10 +13966,10 @@ var describeQuery = {
|
|
|
13923
13966
|
datasets: from2,
|
|
13924
13967
|
...where2 && { where: where2.val },
|
|
13925
13968
|
solutionModifiers: modifiers,
|
|
13926
|
-
loc: C.
|
|
13969
|
+
loc: C.astFactory.sourceLocation(describe2, ...variables, from2, where2, modifiers.group, modifiers.having, modifiers.order, modifiers.limitOffset)
|
|
13927
13970
|
}));
|
|
13928
13971
|
},
|
|
13929
|
-
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, {
|
|
13972
|
+
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { astFactory: F2 }) => {
|
|
13930
13973
|
F2.printFilter(ast, () => PRINT_WORD("DESCRIBE"));
|
|
13931
13974
|
if (F2.isWildcard(ast.variables[0])) {
|
|
13932
13975
|
F2.printFilter(ast, () => PRINT_WORD("*"));
|
|
@@ -13954,10 +13997,10 @@ var askQuery = {
|
|
|
13954
13997
|
datasets: from2,
|
|
13955
13998
|
where: where2.val,
|
|
13956
13999
|
solutionModifiers: modifiers,
|
|
13957
|
-
loc: C.
|
|
14000
|
+
loc: C.astFactory.sourceLocation(ask2, from2, where2, modifiers.group, modifiers.having, modifiers.order, modifiers.limitOffset)
|
|
13958
14001
|
}));
|
|
13959
14002
|
},
|
|
13960
|
-
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, {
|
|
14003
|
+
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { astFactory: F2 }) => {
|
|
13961
14004
|
F2.printFilter(ast, () => PRINT_WORD("ASK"));
|
|
13962
14005
|
SUBRULE(datasetClauseStar, ast.datasets);
|
|
13963
14006
|
SUBRULE(whereClause, F2.wrap(ast.where, ast.loc));
|
|
@@ -13974,7 +14017,7 @@ var constructTemplate = {
|
|
|
13974
14017
|
const open = CONSUME(symbols_exports.LCurly);
|
|
13975
14018
|
const triples = OPTION(() => SUBRULE1(constructTriples));
|
|
13976
14019
|
const close = CONSUME(symbols_exports.RCurly);
|
|
13977
|
-
return ACTION(() => C.
|
|
14020
|
+
return ACTION(() => C.astFactory.wrap(triples ?? C.astFactory.patternBgp([], C.astFactory.sourceLocation()), C.astFactory.sourceLocation(open, close)));
|
|
13978
14021
|
}
|
|
13979
14022
|
};
|
|
13980
14023
|
var constructTriples = {
|
|
@@ -14011,13 +14054,13 @@ var update = {
|
|
|
14011
14054
|
const update2 = {
|
|
14012
14055
|
type: "update",
|
|
14013
14056
|
updates,
|
|
14014
|
-
loc: C.
|
|
14057
|
+
loc: C.astFactory.sourceLocation(...updates[0].context, updates[0].operation, ...updates.at(-1).context, updates.at(-1)?.operation)
|
|
14015
14058
|
};
|
|
14016
14059
|
updateNoReuseBlankNodeLabels(update2);
|
|
14017
14060
|
return update2;
|
|
14018
14061
|
});
|
|
14019
14062
|
},
|
|
14020
|
-
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, {
|
|
14063
|
+
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { astFactory: F2 }) => {
|
|
14021
14064
|
const [head2, ...tail] = ast.updates;
|
|
14022
14065
|
if (head2) {
|
|
14023
14066
|
SUBRULE(prologue, head2.context);
|
|
@@ -14097,9 +14140,9 @@ var load2 = {
|
|
|
14097
14140
|
CONSUME(loadInto);
|
|
14098
14141
|
return SUBRULE1(graphRef);
|
|
14099
14142
|
});
|
|
14100
|
-
return ACTION(() => C.
|
|
14143
|
+
return ACTION(() => C.astFactory.updateOperationLoad(C.astFactory.sourceLocation(loadToken, source, destination), source, Boolean(silent2), destination));
|
|
14101
14144
|
},
|
|
14102
|
-
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, {
|
|
14145
|
+
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { astFactory: F2 }) => {
|
|
14103
14146
|
F2.printFilter(ast, () => {
|
|
14104
14147
|
PRINT_WORD("LOAD");
|
|
14105
14148
|
if (ast.silent) {
|
|
@@ -14120,9 +14163,9 @@ function clearOrDrop(operation) {
|
|
|
14120
14163
|
const opToken = CONSUME(operation);
|
|
14121
14164
|
const silent2 = OPTION(() => CONSUME(silent));
|
|
14122
14165
|
const destination = SUBRULE1(graphRefAll);
|
|
14123
|
-
return ACTION(() => C.
|
|
14166
|
+
return ACTION(() => C.astFactory.updateOperationClearDrop(unCapitalize(operation.name), Boolean(silent2), destination, C.astFactory.sourceLocation(opToken, destination)));
|
|
14124
14167
|
},
|
|
14125
|
-
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, {
|
|
14168
|
+
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { astFactory: F2 }) => {
|
|
14126
14169
|
F2.printFilter(ast, () => {
|
|
14127
14170
|
PRINT_WORD(operation.name.toUpperCase());
|
|
14128
14171
|
if (ast.silent) {
|
|
@@ -14141,9 +14184,9 @@ var create2 = {
|
|
|
14141
14184
|
const createToken3 = CONSUME(create);
|
|
14142
14185
|
const silent2 = OPTION(() => CONSUME(silent));
|
|
14143
14186
|
const destination = SUBRULE1(graphRef);
|
|
14144
|
-
return ACTION(() => C.
|
|
14187
|
+
return ACTION(() => C.astFactory.updateOperationCreate(destination, Boolean(silent2), C.astFactory.sourceLocation(createToken3, destination)));
|
|
14145
14188
|
},
|
|
14146
|
-
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, {
|
|
14189
|
+
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { astFactory: F2 }) => {
|
|
14147
14190
|
F2.printFilter(ast, () => {
|
|
14148
14191
|
PRINT_WORD("CREATE");
|
|
14149
14192
|
if (ast.silent) {
|
|
@@ -14162,9 +14205,9 @@ function copyMoveAddOperation(operation) {
|
|
|
14162
14205
|
const source = SUBRULE1(graphOrDefault);
|
|
14163
14206
|
CONSUME(to);
|
|
14164
14207
|
const destination = SUBRULE2(graphOrDefault);
|
|
14165
|
-
return ACTION(() => C.
|
|
14208
|
+
return ACTION(() => C.astFactory.updateOperationAddMoveCopy(unCapitalize(operation.name), source, destination, Boolean(silent2), C.astFactory.sourceLocation(op, destination)));
|
|
14166
14209
|
},
|
|
14167
|
-
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, {
|
|
14210
|
+
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { astFactory: F2 }) => {
|
|
14168
14211
|
F2.printFilter(ast, () => {
|
|
14169
14212
|
PRINT_WORD(operation.name.toUpperCase());
|
|
14170
14213
|
if (ast.silent) {
|
|
@@ -14186,7 +14229,7 @@ var quadPattern = {
|
|
|
14186
14229
|
const open = CONSUME(symbols_exports.LCurly);
|
|
14187
14230
|
const val = SUBRULE1(quads);
|
|
14188
14231
|
const close = CONSUME(symbols_exports.RCurly);
|
|
14189
|
-
return ACTION(() => C.
|
|
14232
|
+
return ACTION(() => C.astFactory.wrap(val.val, C.astFactory.sourceLocation(open, close)));
|
|
14190
14233
|
}
|
|
14191
14234
|
};
|
|
14192
14235
|
var quadData = {
|
|
@@ -14197,7 +14240,7 @@ var quadData = {
|
|
|
14197
14240
|
const val = SUBRULE1(quads);
|
|
14198
14241
|
ACTION(() => couldParseVars && C.parseMode.add("canParseVars"));
|
|
14199
14242
|
const close = CONSUME(symbols_exports.RCurly);
|
|
14200
|
-
return ACTION(() => C.
|
|
14243
|
+
return ACTION(() => C.astFactory.wrap(val.val, C.astFactory.sourceLocation(open, close)));
|
|
14201
14244
|
}
|
|
14202
14245
|
};
|
|
14203
14246
|
function insertDeleteDelWhere(name, subType, cons1, cons2, dataRule) {
|
|
@@ -14214,12 +14257,26 @@ function insertDeleteDelWhere(name, subType, cons1, cons2, dataRule) {
|
|
|
14214
14257
|
if (name !== "insertData") {
|
|
14215
14258
|
ACTION(() => couldCreateBlankNodes && C.parseMode.add("canCreateBlankNodes"));
|
|
14216
14259
|
}
|
|
14217
|
-
return ACTION(() => C.
|
|
14260
|
+
return ACTION(() => C.astFactory.updateOperationInsDelDataWhere(subType, data.val, C.astFactory.sourceLocation(insDelToken, data)));
|
|
14218
14261
|
},
|
|
14219
|
-
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast,
|
|
14220
|
-
|
|
14262
|
+
gImpl: ({ SUBRULE, PRINT_WORD, PRINT_ON_EMPTY }) => (ast, C) => {
|
|
14263
|
+
const { astFactory: F2, indentInc } = C;
|
|
14264
|
+
F2.printFilter(ast, () => {
|
|
14265
|
+
C[traqulaIndentation] += indentInc;
|
|
14266
|
+
if (subType === "insertdata") {
|
|
14267
|
+
PRINT_WORD("INSERT DATA");
|
|
14268
|
+
} else if (subType === "deletedata") {
|
|
14269
|
+
PRINT_WORD("DELETE DATA");
|
|
14270
|
+
} else if (subType === "deletewhere") {
|
|
14271
|
+
PRINT_WORD("DELETE WHERE");
|
|
14272
|
+
}
|
|
14273
|
+
PRINT_WORD("{\n");
|
|
14274
|
+
});
|
|
14221
14275
|
SUBRULE(quads, F2.wrap(ast.data, ast.loc));
|
|
14222
|
-
F2.printFilter(ast, () =>
|
|
14276
|
+
F2.printFilter(ast, () => {
|
|
14277
|
+
C[traqulaIndentation] -= indentInc;
|
|
14278
|
+
PRINT_ON_EMPTY("}\n");
|
|
14279
|
+
});
|
|
14223
14280
|
}
|
|
14224
14281
|
};
|
|
14225
14282
|
}
|
|
@@ -14248,22 +14305,35 @@ var modify = {
|
|
|
14248
14305
|
const using = SUBRULE1(usingClauseStar);
|
|
14249
14306
|
CONSUME(where);
|
|
14250
14307
|
const where2 = SUBRULE1(groupGraphPattern);
|
|
14251
|
-
return ACTION(() => C.
|
|
14308
|
+
return ACTION(() => C.astFactory.updateOperationModify(C.astFactory.sourceLocation(graph2?.withToken, del, insert, where2), insert?.val ?? [], del?.val ?? [], where2, using, graph2?.graph));
|
|
14252
14309
|
},
|
|
14253
|
-
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast,
|
|
14310
|
+
gImpl: ({ SUBRULE, PRINT_WORD, PRINT_ON_EMPTY }) => (ast, C) => {
|
|
14311
|
+
const { astFactory: F2, indentInc } = C;
|
|
14254
14312
|
if (ast.graph) {
|
|
14255
14313
|
F2.printFilter(ast, () => PRINT_WORD("WITH"));
|
|
14256
14314
|
SUBRULE(iri2, ast.graph);
|
|
14257
14315
|
}
|
|
14258
14316
|
if (ast.delete.length > 0) {
|
|
14259
|
-
F2.printFilter(ast, () =>
|
|
14317
|
+
F2.printFilter(ast, () => {
|
|
14318
|
+
C[traqulaIndentation] += indentInc;
|
|
14319
|
+
PRINT_WORD("DELETE", "{\n");
|
|
14320
|
+
});
|
|
14260
14321
|
SUBRULE(quads, F2.wrap(ast.delete, ast.loc));
|
|
14261
|
-
F2.printFilter(ast, () =>
|
|
14322
|
+
F2.printFilter(ast, () => {
|
|
14323
|
+
C[traqulaIndentation] -= indentInc;
|
|
14324
|
+
PRINT_ON_EMPTY("}\n");
|
|
14325
|
+
});
|
|
14262
14326
|
}
|
|
14263
14327
|
if (ast.insert.length > 0) {
|
|
14264
|
-
F2.printFilter(ast, () =>
|
|
14328
|
+
F2.printFilter(ast, () => {
|
|
14329
|
+
C[traqulaIndentation] += indentInc;
|
|
14330
|
+
PRINT_WORD("INSERT", "{\n");
|
|
14331
|
+
});
|
|
14265
14332
|
SUBRULE(quads, F2.wrap(ast.insert, ast.loc));
|
|
14266
|
-
F2.printFilter(ast, () =>
|
|
14333
|
+
F2.printFilter(ast, () => {
|
|
14334
|
+
C[traqulaIndentation] -= indentInc;
|
|
14335
|
+
PRINT_ON_EMPTY("}\n");
|
|
14336
|
+
});
|
|
14267
14337
|
}
|
|
14268
14338
|
SUBRULE(usingClauseStar, ast.from);
|
|
14269
14339
|
F2.printFilter(ast, () => PRINT_WORD("WHERE"));
|
|
@@ -14277,7 +14347,7 @@ var deleteClause2 = {
|
|
|
14277
14347
|
const couldCreateBlankNodes = ACTION(() => C.parseMode.delete("canCreateBlankNodes"));
|
|
14278
14348
|
const del = SUBRULE(quadPattern);
|
|
14279
14349
|
ACTION(() => couldCreateBlankNodes && C.parseMode.add("canCreateBlankNodes"));
|
|
14280
|
-
return ACTION(() => C.
|
|
14350
|
+
return ACTION(() => C.astFactory.wrap(del.val, C.astFactory.sourceLocation(delToken, del)));
|
|
14281
14351
|
}
|
|
14282
14352
|
};
|
|
14283
14353
|
var insertClause2 = {
|
|
@@ -14285,7 +14355,7 @@ var insertClause2 = {
|
|
|
14285
14355
|
impl: ({ ACTION, SUBRULE, CONSUME }) => (C) => {
|
|
14286
14356
|
const insertToken = CONSUME(insertClause);
|
|
14287
14357
|
const insert = SUBRULE(quadPattern);
|
|
14288
|
-
return ACTION(() => C.
|
|
14358
|
+
return ACTION(() => C.astFactory.wrap(insert.val, C.astFactory.sourceLocation(insertToken, insert)));
|
|
14289
14359
|
}
|
|
14290
14360
|
};
|
|
14291
14361
|
var graphOrDefault = {
|
|
@@ -14293,12 +14363,12 @@ var graphOrDefault = {
|
|
|
14293
14363
|
impl: ({ ACTION, SUBRULE1, CONSUME, OPTION, OR }) => (C) => OR([
|
|
14294
14364
|
{ ALT: () => {
|
|
14295
14365
|
const def = CONSUME(graph_exports.default_);
|
|
14296
|
-
return ACTION(() => C.
|
|
14366
|
+
return ACTION(() => C.astFactory.graphRefDefault(C.astFactory.sourceLocation(def)));
|
|
14297
14367
|
} },
|
|
14298
14368
|
{ ALT: () => {
|
|
14299
14369
|
const graph2 = OPTION(() => CONSUME(graph_exports.graph));
|
|
14300
14370
|
const name = SUBRULE1(iri2);
|
|
14301
|
-
return ACTION(() => C.
|
|
14371
|
+
return ACTION(() => C.astFactory.graphRefSpecific(name, C.astFactory.sourceLocation(graph2, name)));
|
|
14302
14372
|
} }
|
|
14303
14373
|
])
|
|
14304
14374
|
};
|
|
@@ -14307,9 +14377,9 @@ var graphRef = {
|
|
|
14307
14377
|
impl: ({ ACTION, SUBRULE, CONSUME }) => (C) => {
|
|
14308
14378
|
const graph2 = CONSUME(graph_exports.graph);
|
|
14309
14379
|
const val = SUBRULE(iri2);
|
|
14310
|
-
return ACTION(() => C.
|
|
14380
|
+
return ACTION(() => C.astFactory.graphRefSpecific(val, C.astFactory.sourceLocation(graph2, val)));
|
|
14311
14381
|
},
|
|
14312
|
-
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, {
|
|
14382
|
+
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { astFactory: F2 }) => {
|
|
14313
14383
|
F2.printFilter(ast, () => PRINT_WORD("GRAPH"));
|
|
14314
14384
|
SUBRULE(iri2, ast.graph);
|
|
14315
14385
|
}
|
|
@@ -14320,18 +14390,18 @@ var graphRefAll = {
|
|
|
14320
14390
|
{ ALT: () => SUBRULE(graphRef) },
|
|
14321
14391
|
{ ALT: () => {
|
|
14322
14392
|
const def = CONSUME(graph_exports.default_);
|
|
14323
|
-
return ACTION(() => C.
|
|
14393
|
+
return ACTION(() => C.astFactory.graphRefDefault(C.astFactory.sourceLocation(def)));
|
|
14324
14394
|
} },
|
|
14325
14395
|
{ ALT: () => {
|
|
14326
14396
|
const named2 = CONSUME(graph_exports.named);
|
|
14327
|
-
return ACTION(() => C.
|
|
14397
|
+
return ACTION(() => C.astFactory.graphRefNamed(C.astFactory.sourceLocation(named2)));
|
|
14328
14398
|
} },
|
|
14329
14399
|
{ ALT: () => {
|
|
14330
14400
|
const graphAll2 = CONSUME(graph_exports.graphAll);
|
|
14331
|
-
return ACTION(() => C.
|
|
14401
|
+
return ACTION(() => C.astFactory.graphRefAll(C.astFactory.sourceLocation(graphAll2)));
|
|
14332
14402
|
} }
|
|
14333
14403
|
]),
|
|
14334
|
-
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, {
|
|
14404
|
+
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { astFactory: F2 }) => {
|
|
14335
14405
|
if (F2.isGraphRefSpecific(ast)) {
|
|
14336
14406
|
SUBRULE(graphRef, ast);
|
|
14337
14407
|
} else if (F2.isGraphRefDefault(ast)) {
|
|
@@ -14368,9 +14438,9 @@ var quads = {
|
|
|
14368
14438
|
ACTION(() => quads2.push(triples));
|
|
14369
14439
|
});
|
|
14370
14440
|
});
|
|
14371
|
-
return ACTION(() => C.
|
|
14441
|
+
return ACTION(() => C.astFactory.wrap(quads2, C.astFactory.sourceLocation(quads2.at(0), last2)));
|
|
14372
14442
|
},
|
|
14373
|
-
gImpl: ({ SUBRULE }) => (ast, {
|
|
14443
|
+
gImpl: ({ SUBRULE }) => (ast, { astFactory: F2 }) => {
|
|
14374
14444
|
for (const quad of ast.val) {
|
|
14375
14445
|
if (F2.isPattern(quad)) {
|
|
14376
14446
|
SUBRULE(triplesBlock, quad);
|
|
@@ -14388,14 +14458,21 @@ var quadsNotTriples = {
|
|
|
14388
14458
|
CONSUME(symbols_exports.LCurly);
|
|
14389
14459
|
const triples = OPTION(() => SUBRULE1(triplesTemplate));
|
|
14390
14460
|
const close = CONSUME(symbols_exports.RCurly);
|
|
14391
|
-
return ACTION(() => C.
|
|
14461
|
+
return ACTION(() => C.astFactory.graphQuads(name, triples ?? C.astFactory.patternBgp([], C.astFactory.sourceLocationNoMaterialize()), C.astFactory.sourceLocation(graph2, close)));
|
|
14392
14462
|
},
|
|
14393
|
-
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast,
|
|
14463
|
+
gImpl: ({ SUBRULE, PRINT_WORD, PRINT_ON_EMPTY }) => (ast, C) => {
|
|
14464
|
+
const { astFactory: F2, indentInc } = C;
|
|
14394
14465
|
F2.printFilter(ast, () => PRINT_WORD("GRAPH"));
|
|
14395
14466
|
SUBRULE(varOrTerm, ast.graph);
|
|
14396
|
-
F2.printFilter(ast, () =>
|
|
14467
|
+
F2.printFilter(ast, () => {
|
|
14468
|
+
C[traqulaIndentation] += indentInc;
|
|
14469
|
+
PRINT_WORD("{\n");
|
|
14470
|
+
});
|
|
14397
14471
|
SUBRULE(triplesBlock, ast.triples);
|
|
14398
|
-
F2.printFilter(ast, () =>
|
|
14472
|
+
F2.printFilter(ast, () => {
|
|
14473
|
+
C[traqulaIndentation] -= indentInc;
|
|
14474
|
+
PRINT_ON_EMPTY("}\n");
|
|
14475
|
+
});
|
|
14399
14476
|
}
|
|
14400
14477
|
};
|
|
14401
14478
|
|
|
@@ -14418,7 +14495,7 @@ var queryOrUpdate = {
|
|
|
14418
14495
|
...subType,
|
|
14419
14496
|
type: "query",
|
|
14420
14497
|
...values3 && { values: values3 },
|
|
14421
|
-
loc: C.
|
|
14498
|
+
loc: C.astFactory.sourceLocation(prologueValues.at(0), subType, values3)
|
|
14422
14499
|
}));
|
|
14423
14500
|
} },
|
|
14424
14501
|
{ ALT: () => {
|
|
@@ -14442,7 +14519,7 @@ var queryOrUpdate = {
|
|
|
14442
14519
|
const update2 = {
|
|
14443
14520
|
type: "update",
|
|
14444
14521
|
updates,
|
|
14445
|
-
loc: C.
|
|
14522
|
+
loc: C.astFactory.sourceLocation(...updates[0].context, updates[0].operation, ...updates.at(-1).context, updates.at(-1)?.operation)
|
|
14446
14523
|
};
|
|
14447
14524
|
updateNoReuseBlankNodeLabels(update2);
|
|
14448
14525
|
return update2;
|
|
@@ -14450,7 +14527,7 @@ var queryOrUpdate = {
|
|
|
14450
14527
|
} }
|
|
14451
14528
|
]);
|
|
14452
14529
|
},
|
|
14453
|
-
gImpl: ({ SUBRULE }) => (ast, {
|
|
14530
|
+
gImpl: ({ SUBRULE }) => (ast, { astFactory: F2 }) => {
|
|
14454
14531
|
if (F2.isQuery(ast)) {
|
|
14455
14532
|
SUBRULE(query, ast);
|
|
14456
14533
|
} else {
|
|
@@ -14462,13 +14539,15 @@ var queryOrUpdate = {
|
|
|
14462
14539
|
// ../../packages/rules-sparql-1-1/lib/MinimalSparqlParser.js
|
|
14463
14540
|
function completeParseContext(context) {
|
|
14464
14541
|
return {
|
|
14465
|
-
|
|
14542
|
+
astFactory: context.astFactory ?? new AstFactory(),
|
|
14466
14543
|
baseIRI: context.baseIRI,
|
|
14467
14544
|
prefixes: { ...context.prefixes },
|
|
14468
14545
|
origSource: context.origSource ?? "",
|
|
14469
14546
|
offset: context.offset,
|
|
14470
14547
|
parseMode: context.parseMode ? new Set(context.parseMode) : /* @__PURE__ */ new Set(["canParseVars", "canCreateBlankNodes"]),
|
|
14471
|
-
skipValidation: context.skipValidation ?? false
|
|
14548
|
+
skipValidation: context.skipValidation ?? false,
|
|
14549
|
+
[traqulaIndentation]: context[traqulaIndentation] ?? 0,
|
|
14550
|
+
indentInc: context.indentInc ?? 2
|
|
14472
14551
|
};
|
|
14473
14552
|
}
|
|
14474
14553
|
var MinimalSparqlParser = class {
|
|
@@ -14476,7 +14555,7 @@ var MinimalSparqlParser = class {
|
|
|
14476
14555
|
constructor(parser) {
|
|
14477
14556
|
this.parser = parser;
|
|
14478
14557
|
}
|
|
14479
|
-
F = new
|
|
14558
|
+
F = new AstFactory();
|
|
14480
14559
|
parse(query2, context = {}) {
|
|
14481
14560
|
return this.parser.queryOrUpdate(query2, completeParseContext(context));
|
|
14482
14561
|
}
|