@traqula/parser-sparql-1-1-adjust 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 +198 -198
- package/lib/index.cjs +310 -231
- package/package.json +7 -7
package/lib/index.cjs
CHANGED
|
@@ -26,8 +26,8 @@ __export(index_exports, {
|
|
|
26
26
|
});
|
|
27
27
|
module.exports = __toCommonJS(index_exports);
|
|
28
28
|
|
|
29
|
-
// ../../packages/core/lib/
|
|
30
|
-
var
|
|
29
|
+
// ../../packages/core/lib/AstCoreFactory.js
|
|
30
|
+
var AstCoreFactory = class {
|
|
31
31
|
wrap(val, loc) {
|
|
32
32
|
return { val, loc };
|
|
33
33
|
}
|
|
@@ -9371,6 +9371,15 @@ var EmbeddedActionsParser = class extends Parser {
|
|
|
9371
9371
|
}
|
|
9372
9372
|
};
|
|
9373
9373
|
|
|
9374
|
+
// ../../packages/core/lib/utils.js
|
|
9375
|
+
function unCapitalize(str2) {
|
|
9376
|
+
return str2.charAt(0).toLowerCase() + str2.slice(1);
|
|
9377
|
+
}
|
|
9378
|
+
function createToken2(config) {
|
|
9379
|
+
return createToken(config);
|
|
9380
|
+
}
|
|
9381
|
+
var traqulaIndentation = "When you use this string, you expect traqula to handle indentation after every newline";
|
|
9382
|
+
|
|
9374
9383
|
// ../../packages/core/lib/lexer-builder/LexerBuilder.js
|
|
9375
9384
|
var LexerBuilder = class _LexerBuilder {
|
|
9376
9385
|
tokens;
|
|
@@ -9733,14 +9742,6 @@ ${firstError.message}`);
|
|
|
9733
9742
|
}
|
|
9734
9743
|
};
|
|
9735
9744
|
|
|
9736
|
-
// ../../packages/core/lib/utils.js
|
|
9737
|
-
function unCapitalize(str2) {
|
|
9738
|
-
return str2.charAt(0).toLowerCase() + str2.slice(1);
|
|
9739
|
-
}
|
|
9740
|
-
function createToken2(config) {
|
|
9741
|
-
return createToken(config);
|
|
9742
|
-
}
|
|
9743
|
-
|
|
9744
9745
|
// ../../packages/core/lib/Transformers.js
|
|
9745
9746
|
var TransformerType = class {
|
|
9746
9747
|
safeObjectVisit(value, mapper) {
|
|
@@ -11247,8 +11248,8 @@ function UpdateOperationFactoryMixin(Base) {
|
|
|
11247
11248
|
};
|
|
11248
11249
|
}
|
|
11249
11250
|
|
|
11250
|
-
// ../../packages/rules-sparql-1-1/lib/
|
|
11251
|
-
var
|
|
11251
|
+
// ../../packages/rules-sparql-1-1/lib/astFactory.js
|
|
11252
|
+
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() {
|
|
11252
11253
|
alwaysSparql11(obj) {
|
|
11253
11254
|
return true;
|
|
11254
11255
|
}
|
|
@@ -11367,7 +11368,7 @@ var TransformerSparql11 = class extends TransformerSubType {
|
|
|
11367
11368
|
};
|
|
11368
11369
|
|
|
11369
11370
|
// ../../packages/rules-sparql-1-1/lib/validation/validators.js
|
|
11370
|
-
var F = new
|
|
11371
|
+
var F = new AstFactory();
|
|
11371
11372
|
var transformer = new TransformerSparql11();
|
|
11372
11373
|
function getAggregatesOfExpression(expression2) {
|
|
11373
11374
|
if (F.isExpressionAggregate(expression2)) {
|
|
@@ -11587,22 +11588,22 @@ var rdfLiteral = {
|
|
|
11587
11588
|
return OPTION(() => OR([
|
|
11588
11589
|
{ ALT: () => {
|
|
11589
11590
|
const lang2 = CONSUME(terminals_exports.langTag);
|
|
11590
|
-
return ACTION(() => C.
|
|
11591
|
+
return ACTION(() => C.astFactory.literalTerm(C.astFactory.sourceLocation(value, lang2), value.value, lang2.image.slice(1).toLowerCase()));
|
|
11591
11592
|
} },
|
|
11592
11593
|
{ ALT: () => {
|
|
11593
11594
|
CONSUME(symbols_exports.hathat);
|
|
11594
11595
|
const iriVal = SUBRULE1(iri2);
|
|
11595
|
-
return ACTION(() => C.
|
|
11596
|
+
return ACTION(() => C.astFactory.literalTerm(C.astFactory.sourceLocation(value, iriVal), value.value, iriVal));
|
|
11596
11597
|
} }
|
|
11597
11598
|
])) ?? value;
|
|
11598
11599
|
},
|
|
11599
|
-
gImpl: ({ SUBRULE, PRINT, PRINT_SPACE_LEFT }) => (ast, {
|
|
11600
|
-
|
|
11600
|
+
gImpl: ({ SUBRULE, PRINT, PRINT_SPACE_LEFT }) => (ast, { astFactory }) => {
|
|
11601
|
+
astFactory.printFilter(ast, () => PRINT_SPACE_LEFT(stringEscapedLexical(ast.value)));
|
|
11601
11602
|
if (ast.langOrIri) {
|
|
11602
11603
|
if (typeof ast.langOrIri === "string") {
|
|
11603
|
-
|
|
11604
|
+
astFactory.printFilter(ast, () => PRINT("@", ast.langOrIri));
|
|
11604
11605
|
} else {
|
|
11605
|
-
|
|
11606
|
+
astFactory.printFilter(ast, () => PRINT("^^"));
|
|
11606
11607
|
SUBRULE(iri2, ast.langOrIri);
|
|
11607
11608
|
}
|
|
11608
11609
|
}
|
|
@@ -11624,7 +11625,7 @@ var numericLiteralUnsigned = {
|
|
|
11624
11625
|
{ ALT: () => [CONSUME(terminals_exports.decimal), CommonIRIs.DECIMAL] },
|
|
11625
11626
|
{ ALT: () => [CONSUME(terminals_exports.double), CommonIRIs.DOUBLE] }
|
|
11626
11627
|
]);
|
|
11627
|
-
return ACTION(() => C.
|
|
11628
|
+
return ACTION(() => C.astFactory.literalTerm(C.astFactory.sourceLocation(parsed[0]), parsed[0].image, C.astFactory.namedNode(C.astFactory.sourceLocationNoMaterialize(), parsed[1])));
|
|
11628
11629
|
}
|
|
11629
11630
|
};
|
|
11630
11631
|
var numericLiteralPositive = {
|
|
@@ -11635,7 +11636,7 @@ var numericLiteralPositive = {
|
|
|
11635
11636
|
{ ALT: () => [CONSUME(terminals_exports.decimalPositive), CommonIRIs.DECIMAL] },
|
|
11636
11637
|
{ ALT: () => [CONSUME(terminals_exports.doublePositive), CommonIRIs.DOUBLE] }
|
|
11637
11638
|
]);
|
|
11638
|
-
return ACTION(() => C.
|
|
11639
|
+
return ACTION(() => C.astFactory.literalTerm(C.astFactory.sourceLocation(parsed[0]), parsed[0].image, C.astFactory.namedNode(C.astFactory.sourceLocationNoMaterialize(), parsed[1])));
|
|
11639
11640
|
}
|
|
11640
11641
|
};
|
|
11641
11642
|
var numericLiteralNegative = {
|
|
@@ -11646,7 +11647,7 @@ var numericLiteralNegative = {
|
|
|
11646
11647
|
{ ALT: () => [CONSUME(terminals_exports.decimalNegative), CommonIRIs.DECIMAL] },
|
|
11647
11648
|
{ ALT: () => [CONSUME(terminals_exports.doubleNegative), CommonIRIs.DOUBLE] }
|
|
11648
11649
|
]);
|
|
11649
|
-
return ACTION(() => C.
|
|
11650
|
+
return ACTION(() => C.astFactory.literalTerm(C.astFactory.sourceLocation(parsed[0]), parsed[0].image, C.astFactory.namedNode(C.astFactory.sourceLocationNoMaterialize(), parsed[1])));
|
|
11650
11651
|
}
|
|
11651
11652
|
};
|
|
11652
11653
|
var booleanLiteral = {
|
|
@@ -11656,7 +11657,7 @@ var booleanLiteral = {
|
|
|
11656
11657
|
{ ALT: () => CONSUME(true_) },
|
|
11657
11658
|
{ ALT: () => CONSUME(false_) }
|
|
11658
11659
|
]);
|
|
11659
|
-
return ACTION(() => C.
|
|
11660
|
+
return ACTION(() => C.astFactory.literalTerm(C.astFactory.sourceLocation(token), token.image.toLowerCase(), C.astFactory.namedNode(C.astFactory.sourceLocationNoMaterialize(), CommonIRIs.BOOLEAN)));
|
|
11660
11661
|
}
|
|
11661
11662
|
};
|
|
11662
11663
|
var string = {
|
|
@@ -11681,7 +11682,7 @@ var string = {
|
|
|
11681
11682
|
} }
|
|
11682
11683
|
]);
|
|
11683
11684
|
return ACTION(() => {
|
|
11684
|
-
const F2 = C.
|
|
11685
|
+
const F2 = C.astFactory;
|
|
11685
11686
|
const value = x[1].replaceAll(/\\([tnrbf"'\\])/gu, (_, char) => {
|
|
11686
11687
|
switch (char) {
|
|
11687
11688
|
case "t":
|
|
@@ -11708,16 +11709,16 @@ var iri2 = {
|
|
|
11708
11709
|
{ ALT: () => SUBRULE(iriFull) },
|
|
11709
11710
|
{ ALT: () => SUBRULE(prefixedName) }
|
|
11710
11711
|
]),
|
|
11711
|
-
gImpl: ({ SUBRULE }) => (ast, {
|
|
11712
|
+
gImpl: ({ SUBRULE }) => (ast, { astFactory: F2 }) => F2.isTermNamedPrefixed(ast) ? SUBRULE(prefixedName, ast) : SUBRULE(iriFull, ast)
|
|
11712
11713
|
};
|
|
11713
11714
|
var iriFull = {
|
|
11714
11715
|
name: "iriFull",
|
|
11715
11716
|
impl: ({ ACTION, CONSUME }) => (C) => {
|
|
11716
11717
|
const iriToken = CONSUME(terminals_exports.iriRef);
|
|
11717
|
-
return ACTION(() => C.
|
|
11718
|
+
return ACTION(() => C.astFactory.namedNode(C.astFactory.sourceLocation(iriToken), iriToken.image.slice(1, -1)));
|
|
11718
11719
|
},
|
|
11719
|
-
gImpl: ({ PRINT }) => (ast, {
|
|
11720
|
-
|
|
11720
|
+
gImpl: ({ PRINT }) => (ast, { astFactory: F2 }) => {
|
|
11721
|
+
F2.printFilter(ast, () => PRINT("<", ast.value, ">"));
|
|
11721
11722
|
}
|
|
11722
11723
|
};
|
|
11723
11724
|
var prefixedName = {
|
|
@@ -11727,16 +11728,16 @@ var prefixedName = {
|
|
|
11727
11728
|
const longName = CONSUME(terminals_exports.pNameLn);
|
|
11728
11729
|
return ACTION(() => {
|
|
11729
11730
|
const [prefix, localName] = longName.image.split(":");
|
|
11730
|
-
return C.
|
|
11731
|
+
return C.astFactory.namedNode(C.astFactory.sourceLocation(longName), localName, prefix);
|
|
11731
11732
|
});
|
|
11732
11733
|
} },
|
|
11733
11734
|
{ ALT: () => {
|
|
11734
11735
|
const shortName = CONSUME(terminals_exports.pNameNs);
|
|
11735
|
-
return ACTION(() => C.
|
|
11736
|
+
return ACTION(() => C.astFactory.namedNode(C.astFactory.sourceLocation(shortName), "", shortName.image.slice(0, -1)));
|
|
11736
11737
|
} }
|
|
11737
11738
|
]),
|
|
11738
|
-
gImpl: ({ PRINT_WORD }) => (ast, {
|
|
11739
|
-
|
|
11739
|
+
gImpl: ({ PRINT_WORD }) => (ast, { astFactory: F2 }) => {
|
|
11740
|
+
F2.printFilter(ast, () => PRINT_WORD(ast.prefix, ":", ast.value));
|
|
11740
11741
|
}
|
|
11741
11742
|
};
|
|
11742
11743
|
var canCreateBlankNodes = Symbol("canCreateBlankNodes");
|
|
@@ -11746,11 +11747,11 @@ var blankNode = {
|
|
|
11746
11747
|
const result = OR([
|
|
11747
11748
|
{ ALT: () => {
|
|
11748
11749
|
const labelToken = CONSUME(terminals_exports.blankNodeLabel);
|
|
11749
|
-
return ACTION(() => C.
|
|
11750
|
+
return ACTION(() => C.astFactory.blankNode(labelToken.image.slice(2), C.astFactory.sourceLocation(labelToken)));
|
|
11750
11751
|
} },
|
|
11751
11752
|
{ ALT: () => {
|
|
11752
11753
|
const anonToken = CONSUME(terminals_exports.anon);
|
|
11753
|
-
return ACTION(() => C.
|
|
11754
|
+
return ACTION(() => C.astFactory.blankNode(void 0, C.astFactory.sourceLocation(anonToken)));
|
|
11754
11755
|
} }
|
|
11755
11756
|
]);
|
|
11756
11757
|
ACTION(() => {
|
|
@@ -11760,15 +11761,15 @@ var blankNode = {
|
|
|
11760
11761
|
});
|
|
11761
11762
|
return result;
|
|
11762
11763
|
},
|
|
11763
|
-
gImpl: ({ PRINT_WORD }) => (ast, {
|
|
11764
|
-
|
|
11764
|
+
gImpl: ({ PRINT_WORD }) => (ast, { astFactory }) => {
|
|
11765
|
+
astFactory.printFilter(ast, () => PRINT_WORD("_:", ast.label.replace(/^e_/u, "")));
|
|
11765
11766
|
}
|
|
11766
11767
|
};
|
|
11767
11768
|
var verbA = {
|
|
11768
11769
|
name: "VerbA",
|
|
11769
11770
|
impl: ({ ACTION, CONSUME }) => (C) => {
|
|
11770
11771
|
const token = CONSUME(a);
|
|
11771
|
-
return ACTION(() => C.
|
|
11772
|
+
return ACTION(() => C.astFactory.namedNode(C.astFactory.sourceLocation(token), CommonIRIs.TYPE, void 0));
|
|
11772
11773
|
}
|
|
11773
11774
|
};
|
|
11774
11775
|
|
|
@@ -11785,7 +11786,7 @@ var prologue = {
|
|
|
11785
11786
|
]));
|
|
11786
11787
|
return result;
|
|
11787
11788
|
},
|
|
11788
|
-
gImpl: ({ SUBRULE }) => (ast, {
|
|
11789
|
+
gImpl: ({ SUBRULE }) => (ast, { astFactory: F2 }) => {
|
|
11789
11790
|
for (const context of ast) {
|
|
11790
11791
|
if (F2.isContextDefinitionBase(context)) {
|
|
11791
11792
|
SUBRULE(baseDecl2, context);
|
|
@@ -11800,11 +11801,12 @@ var baseDecl2 = {
|
|
|
11800
11801
|
impl: ({ ACTION, CONSUME, SUBRULE }) => (C) => {
|
|
11801
11802
|
const base = CONSUME(baseDecl);
|
|
11802
11803
|
const val = SUBRULE(iriFull);
|
|
11803
|
-
return ACTION(() => C.
|
|
11804
|
+
return ACTION(() => C.astFactory.contextDefinitionBase(C.astFactory.sourceLocation(base, val), val));
|
|
11804
11805
|
},
|
|
11805
|
-
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, {
|
|
11806
|
+
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { astFactory: F2 }) => {
|
|
11806
11807
|
F2.printFilter(ast, () => PRINT_WORD("BASE"));
|
|
11807
11808
|
SUBRULE(iri2, ast.value);
|
|
11809
|
+
F2.printFilter(ast, () => PRINT_WORD("\n"));
|
|
11808
11810
|
}
|
|
11809
11811
|
};
|
|
11810
11812
|
var prefixDecl2 = {
|
|
@@ -11813,13 +11815,14 @@ var prefixDecl2 = {
|
|
|
11813
11815
|
const prefix = CONSUME(prefixDecl);
|
|
11814
11816
|
const name = CONSUME(terminals_exports.pNameNs).image.slice(0, -1);
|
|
11815
11817
|
const value = SUBRULE(iriFull);
|
|
11816
|
-
return ACTION(() => C.
|
|
11818
|
+
return ACTION(() => C.astFactory.contextDefinitionPrefix(C.astFactory.sourceLocation(prefix, value), name, value));
|
|
11817
11819
|
},
|
|
11818
|
-
gImpl: ({ SUBRULE, PRINT_WORDS }) => (ast, {
|
|
11820
|
+
gImpl: ({ SUBRULE, PRINT_WORDS }) => (ast, { astFactory: F2 }) => {
|
|
11819
11821
|
F2.printFilter(ast, () => {
|
|
11820
11822
|
PRINT_WORDS("PREFIX", `${ast.key}:`);
|
|
11821
11823
|
});
|
|
11822
11824
|
SUBRULE(iri2, ast.value);
|
|
11825
|
+
F2.printFilter(ast, () => PRINT_WORDS("\n"));
|
|
11823
11826
|
}
|
|
11824
11827
|
};
|
|
11825
11828
|
var verb = {
|
|
@@ -11835,7 +11838,7 @@ var varOrTerm = {
|
|
|
11835
11838
|
{ GATE: () => C.parseMode.has("canParseVars"), ALT: () => SUBRULE(var_) },
|
|
11836
11839
|
{ ALT: () => SUBRULE(graphTerm) }
|
|
11837
11840
|
]),
|
|
11838
|
-
gImpl: ({ SUBRULE }) => (ast, {
|
|
11841
|
+
gImpl: ({ SUBRULE }) => (ast, { astFactory: F2 }) => {
|
|
11839
11842
|
if (F2.isTermVariable(ast)) {
|
|
11840
11843
|
return SUBRULE(var_, ast);
|
|
11841
11844
|
}
|
|
@@ -11856,9 +11859,9 @@ var var_ = {
|
|
|
11856
11859
|
{ ALT: () => CONSUME(terminals_exports.var1) },
|
|
11857
11860
|
{ ALT: () => CONSUME(terminals_exports.var2) }
|
|
11858
11861
|
]);
|
|
11859
|
-
return ACTION(() => C.
|
|
11862
|
+
return ACTION(() => C.astFactory.variable(varToken.image.slice(1), C.astFactory.sourceLocation(varToken)));
|
|
11860
11863
|
},
|
|
11861
|
-
gImpl: ({ PRINT_WORD }) => (ast, {
|
|
11864
|
+
gImpl: ({ PRINT_WORD }) => (ast, { astFactory: F2 }) => {
|
|
11862
11865
|
F2.printFilter(ast, () => PRINT_WORD(`?${ast.value}`));
|
|
11863
11866
|
}
|
|
11864
11867
|
};
|
|
@@ -11872,10 +11875,10 @@ var graphTerm = {
|
|
|
11872
11875
|
{ GATE: () => C.parseMode.has("canCreateBlankNodes"), ALT: () => SUBRULE(blankNode) },
|
|
11873
11876
|
{ ALT: () => {
|
|
11874
11877
|
const tokenNil = CONSUME(terminals_exports.nil);
|
|
11875
|
-
return ACTION(() => C.
|
|
11878
|
+
return ACTION(() => C.astFactory.namedNode(C.astFactory.sourceLocation(tokenNil), CommonIRIs.NIL));
|
|
11876
11879
|
} }
|
|
11877
11880
|
]),
|
|
11878
|
-
gImpl: ({ SUBRULE }) => (ast, {
|
|
11881
|
+
gImpl: ({ SUBRULE }) => (ast, { astFactory: F2 }) => {
|
|
11879
11882
|
if (F2.isTermNamed(ast)) {
|
|
11880
11883
|
SUBRULE(iri2, ast);
|
|
11881
11884
|
} else if (F2.isTermLiteral(ast)) {
|
|
@@ -11895,14 +11898,14 @@ function datasetClauseUsing(name, token) {
|
|
|
11895
11898
|
return OR([
|
|
11896
11899
|
{ ALT: () => {
|
|
11897
11900
|
const iri3 = SUBRULE(defaultGraphClause);
|
|
11898
|
-
return ACTION(() => C.
|
|
11901
|
+
return ACTION(() => C.astFactory.wrap({ clauseType: "default", value: iri3 }, C.astFactory.sourceLocation(start, iri3)));
|
|
11899
11902
|
} },
|
|
11900
11903
|
{ ALT: () => {
|
|
11901
11904
|
const namedClause = SUBRULE(namedGraphClause);
|
|
11902
|
-
return ACTION(() => C.
|
|
11905
|
+
return ACTION(() => C.astFactory.wrap({
|
|
11903
11906
|
clauseType: "named",
|
|
11904
11907
|
value: namedClause.val
|
|
11905
|
-
}, C.
|
|
11908
|
+
}, C.astFactory.sourceLocation(start, namedClause)));
|
|
11906
11909
|
} }
|
|
11907
11910
|
]);
|
|
11908
11911
|
}
|
|
@@ -11923,9 +11926,9 @@ function datasetClauseUsingStar(name, subRule, fromUsing) {
|
|
|
11923
11926
|
const clause = SUBRULE(subRule);
|
|
11924
11927
|
clauses.push(clause);
|
|
11925
11928
|
});
|
|
11926
|
-
return ACTION(() => C.
|
|
11929
|
+
return ACTION(() => C.astFactory.datasetClauses(clauses.map((clause) => clause.val), C.astFactory.sourceLocation(...clauses)));
|
|
11927
11930
|
},
|
|
11928
|
-
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, {
|
|
11931
|
+
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { astFactory: F2 }) => {
|
|
11929
11932
|
for (const clause of ast.clauses) {
|
|
11930
11933
|
F2.printFilter(ast, () => PRINT_WORD(fromUsing));
|
|
11931
11934
|
if (clause.clauseType === "named") {
|
|
@@ -11943,7 +11946,7 @@ var namedGraphClause = {
|
|
|
11943
11946
|
impl: ({ ACTION, SUBRULE, CONSUME }) => (C) => {
|
|
11944
11947
|
const named2 = CONSUME(graph_exports.named);
|
|
11945
11948
|
const iri3 = SUBRULE(sourceSelector);
|
|
11946
|
-
return ACTION(() => C.
|
|
11949
|
+
return ACTION(() => C.astFactory.wrap(iri3, C.astFactory.sourceLocation(named2, iri3)));
|
|
11947
11950
|
}
|
|
11948
11951
|
};
|
|
11949
11952
|
var sourceSelector = {
|
|
@@ -11960,7 +11963,7 @@ function funcExpr1(func) {
|
|
|
11960
11963
|
CONSUME(symbols_exports.LParen);
|
|
11961
11964
|
const arg = SUBRULE(expression);
|
|
11962
11965
|
const close = CONSUME(symbols_exports.RParen);
|
|
11963
|
-
return ACTION(() => C.
|
|
11966
|
+
return ACTION(() => C.astFactory.expressionOperation(operator.image, [arg], C.astFactory.sourceLocation(operator, close)));
|
|
11964
11967
|
}
|
|
11965
11968
|
};
|
|
11966
11969
|
}
|
|
@@ -11974,7 +11977,7 @@ function funcExpr2(func) {
|
|
|
11974
11977
|
CONSUME(symbols_exports.comma);
|
|
11975
11978
|
const arg2 = SUBRULE2(expression);
|
|
11976
11979
|
const close = CONSUME(symbols_exports.RParen);
|
|
11977
|
-
return ACTION(() => C.
|
|
11980
|
+
return ACTION(() => C.astFactory.expressionOperation(operator.image, [arg1, arg2], C.astFactory.sourceLocation(operator, close)));
|
|
11978
11981
|
}
|
|
11979
11982
|
};
|
|
11980
11983
|
}
|
|
@@ -11990,7 +11993,7 @@ function funcExpr3(func) {
|
|
|
11990
11993
|
CONSUME2(symbols_exports.comma);
|
|
11991
11994
|
const arg3 = SUBRULE3(expression);
|
|
11992
11995
|
const close = CONSUME(symbols_exports.RParen);
|
|
11993
|
-
return ACTION(() => C.
|
|
11996
|
+
return ACTION(() => C.astFactory.expressionOperation(operator.image, [arg1, arg2, arg3], C.astFactory.sourceLocation(operator, close)));
|
|
11994
11997
|
}
|
|
11995
11998
|
};
|
|
11996
11999
|
}
|
|
@@ -12002,7 +12005,7 @@ function funcVar1(func) {
|
|
|
12002
12005
|
CONSUME(symbols_exports.LParen);
|
|
12003
12006
|
const arg = SUBRULE(var_);
|
|
12004
12007
|
const close = CONSUME(symbols_exports.RParen);
|
|
12005
|
-
return ACTION(() => C.
|
|
12008
|
+
return ACTION(() => C.astFactory.expressionOperation(operator.image, [arg], C.astFactory.sourceLocation(operator, close)));
|
|
12006
12009
|
}
|
|
12007
12010
|
};
|
|
12008
12011
|
}
|
|
@@ -12016,11 +12019,11 @@ function funcExprOrNil1(func) {
|
|
|
12016
12019
|
CONSUME(symbols_exports.LParen);
|
|
12017
12020
|
const arg = SUBRULE(expression);
|
|
12018
12021
|
const close = CONSUME(symbols_exports.RParen);
|
|
12019
|
-
return ACTION(() => C.
|
|
12022
|
+
return ACTION(() => C.astFactory.expressionOperation(operator.image, [arg], C.astFactory.sourceLocation(operator, close)));
|
|
12020
12023
|
} },
|
|
12021
12024
|
{ ALT: () => {
|
|
12022
12025
|
const nil2 = CONSUME(terminals_exports.nil);
|
|
12023
|
-
return ACTION(() => C.
|
|
12026
|
+
return ACTION(() => C.astFactory.expressionOperation(operator.image, [], C.astFactory.sourceLocation(operator, nil2)));
|
|
12024
12027
|
} }
|
|
12025
12028
|
]);
|
|
12026
12029
|
}
|
|
@@ -12032,7 +12035,7 @@ function funcNil1(func) {
|
|
|
12032
12035
|
impl: ({ ACTION, CONSUME }) => (C) => {
|
|
12033
12036
|
const operator = CONSUME(func);
|
|
12034
12037
|
const nil2 = CONSUME(terminals_exports.nil);
|
|
12035
|
-
return ACTION(() => C.
|
|
12038
|
+
return ACTION(() => C.astFactory.expressionOperation(operator.image, [], C.astFactory.sourceLocation(operator, nil2)));
|
|
12036
12039
|
}
|
|
12037
12040
|
};
|
|
12038
12041
|
}
|
|
@@ -12042,7 +12045,7 @@ function funcExprList1(func) {
|
|
|
12042
12045
|
impl: ({ ACTION, CONSUME, SUBRULE }) => (C) => {
|
|
12043
12046
|
const operator = CONSUME(func);
|
|
12044
12047
|
const args = SUBRULE(expressionList);
|
|
12045
|
-
return ACTION(() => C.
|
|
12048
|
+
return ACTION(() => C.astFactory.expressionOperation(operator.image, args.val, C.astFactory.sourceLocation(operator, args)));
|
|
12046
12049
|
}
|
|
12047
12050
|
};
|
|
12048
12051
|
}
|
|
@@ -12060,7 +12063,7 @@ function funcExpr2or3(func) {
|
|
|
12060
12063
|
return SUBRULE3(expression);
|
|
12061
12064
|
});
|
|
12062
12065
|
const close = CONSUME(symbols_exports.RParen);
|
|
12063
|
-
return ACTION(() => C.
|
|
12066
|
+
return ACTION(() => C.astFactory.expressionOperation(operator.image, arg3 ? [arg1, arg2, arg3] : [arg1, arg2], C.astFactory.sourceLocation(operator, close)));
|
|
12064
12067
|
}
|
|
12065
12068
|
};
|
|
12066
12069
|
}
|
|
@@ -12080,7 +12083,7 @@ function funcExpr3or4(func) {
|
|
|
12080
12083
|
return SUBRULE4(expression);
|
|
12081
12084
|
});
|
|
12082
12085
|
const close = CONSUME(symbols_exports.RParen);
|
|
12083
|
-
return ACTION(() => C.
|
|
12086
|
+
return ACTION(() => C.astFactory.expressionOperation(operator.image, arg4 ? [arg1, arg2, arg3, arg4] : [arg1, arg2, arg3], C.astFactory.sourceLocation(operator, close)));
|
|
12084
12087
|
}
|
|
12085
12088
|
};
|
|
12086
12089
|
}
|
|
@@ -12090,7 +12093,7 @@ function funcGroupGraphPattern(func) {
|
|
|
12090
12093
|
impl: ({ ACTION, SUBRULE, CONSUME }) => (C) => {
|
|
12091
12094
|
const operator = CONSUME(func);
|
|
12092
12095
|
const group = SUBRULE(groupGraphPattern);
|
|
12093
|
-
return ACTION(() => C.
|
|
12096
|
+
return ACTION(() => C.astFactory.expressionPatternOperation(operator.image, group, C.astFactory.sourceLocation(operator, group)));
|
|
12094
12097
|
}
|
|
12095
12098
|
};
|
|
12096
12099
|
}
|
|
@@ -12103,7 +12106,7 @@ function baseAggregateFunc(func) {
|
|
|
12103
12106
|
const distinct2 = OPTION(() => CONSUME(distinct));
|
|
12104
12107
|
const expr1 = SUBRULE(expression);
|
|
12105
12108
|
const close = CONSUME(symbols_exports.RParen);
|
|
12106
|
-
return ACTION(() => C.
|
|
12109
|
+
return ACTION(() => C.astFactory.aggregate(operator.image, distinct2 !== void 0, expr1, void 0, C.astFactory.sourceLocation(operator, close)));
|
|
12107
12110
|
}
|
|
12108
12111
|
};
|
|
12109
12112
|
}
|
|
@@ -12243,17 +12246,17 @@ var aggregateCount = {
|
|
|
12243
12246
|
const expressionVal = OR([
|
|
12244
12247
|
{ ALT: () => {
|
|
12245
12248
|
const starToken = CONSUME(symbols_exports.star);
|
|
12246
|
-
return ACTION(() => C.
|
|
12249
|
+
return ACTION(() => C.astFactory.wildcard(C.astFactory.sourceLocation(starToken)));
|
|
12247
12250
|
} },
|
|
12248
12251
|
{ ALT: () => SUBRULE(expression) }
|
|
12249
12252
|
]);
|
|
12250
12253
|
const closeToken = CONSUME(symbols_exports.RParen);
|
|
12251
12254
|
return ACTION(() => {
|
|
12252
|
-
const F2 = C.
|
|
12253
|
-
if (C.
|
|
12254
|
-
return F2.aggregate(operatorToken.image, Boolean(distinctToken), expressionVal, void 0, C.
|
|
12255
|
+
const F2 = C.astFactory;
|
|
12256
|
+
if (C.astFactory.isWildcard(expressionVal)) {
|
|
12257
|
+
return F2.aggregate(operatorToken.image, Boolean(distinctToken), expressionVal, void 0, C.astFactory.sourceLocation(operatorToken, closeToken));
|
|
12255
12258
|
}
|
|
12256
|
-
return F2.aggregate(operatorToken.image, Boolean(distinctToken), expressionVal, void 0, C.
|
|
12259
|
+
return F2.aggregate(operatorToken.image, Boolean(distinctToken), expressionVal, void 0, C.astFactory.sourceLocation(operatorToken, closeToken));
|
|
12257
12260
|
});
|
|
12258
12261
|
}
|
|
12259
12262
|
};
|
|
@@ -12277,7 +12280,7 @@ var aggregateGroup_concat = {
|
|
|
12277
12280
|
});
|
|
12278
12281
|
const closeToken = CONSUME(symbols_exports.RParen);
|
|
12279
12282
|
return ACTION(() => {
|
|
12280
|
-
const F2 = C.
|
|
12283
|
+
const F2 = C.astFactory;
|
|
12281
12284
|
return F2.aggregate(operatorToken.image, Boolean(distinctToken), expr, sep?.value ?? " ", F2.sourceLocation(operatorToken, closeToken));
|
|
12282
12285
|
});
|
|
12283
12286
|
}
|
|
@@ -12307,7 +12310,7 @@ var aggregate = {
|
|
|
12307
12310
|
});
|
|
12308
12311
|
return result;
|
|
12309
12312
|
},
|
|
12310
|
-
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, {
|
|
12313
|
+
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { astFactory: F2 }) => {
|
|
12311
12314
|
F2.printFilter(ast, () => {
|
|
12312
12315
|
PRINT_WORD(ast.aggregation.toUpperCase(), "(");
|
|
12313
12316
|
if (ast.distinct) {
|
|
@@ -12334,7 +12337,7 @@ var path = {
|
|
|
12334
12337
|
};
|
|
12335
12338
|
var pathGenerator = {
|
|
12336
12339
|
name: "path",
|
|
12337
|
-
gImpl: ({ PRINT, SUBRULE }) => (ast, {
|
|
12340
|
+
gImpl: ({ PRINT, SUBRULE }) => (ast, { astFactory: F2 }, braces = true) => {
|
|
12338
12341
|
if (F2.isTerm(ast) && F2.isTermNamed(ast)) {
|
|
12339
12342
|
SUBRULE(iri2, ast);
|
|
12340
12343
|
} else {
|
|
@@ -12383,7 +12386,7 @@ function pathChainHelper(name, SEP, subType, subRule) {
|
|
|
12383
12386
|
tailEnd = SUBRULE2(subRule);
|
|
12384
12387
|
tail.push(tailEnd);
|
|
12385
12388
|
});
|
|
12386
|
-
return ACTION(() => tail.length === 0 ? head2 : C.
|
|
12389
|
+
return ACTION(() => tail.length === 0 ? head2 : C.astFactory.path(subType, [head2, ...tail], C.astFactory.sourceLocation(head2, tailEnd)));
|
|
12387
12390
|
}
|
|
12388
12391
|
};
|
|
12389
12392
|
}
|
|
@@ -12394,7 +12397,7 @@ var pathEltOrInverse = {
|
|
|
12394
12397
|
{ ALT: () => {
|
|
12395
12398
|
const hat2 = CONSUME(symbols_exports.hat);
|
|
12396
12399
|
const item = SUBRULE2(pathElt);
|
|
12397
|
-
return ACTION(() => C.
|
|
12400
|
+
return ACTION(() => C.astFactory.path("^", [item], C.astFactory.sourceLocation(hat2, item)));
|
|
12398
12401
|
} }
|
|
12399
12402
|
])
|
|
12400
12403
|
};
|
|
@@ -12405,7 +12408,7 @@ var pathElt = {
|
|
|
12405
12408
|
impl: ({ ACTION, SUBRULE, OPTION }) => (C) => {
|
|
12406
12409
|
const item = SUBRULE(pathPrimary);
|
|
12407
12410
|
const modification = OPTION(() => SUBRULE(pathMod));
|
|
12408
|
-
return ACTION(() => modification === void 0 ? item : C.
|
|
12411
|
+
return ACTION(() => modification === void 0 ? item : C.astFactory.path(modification.image, [item], C.astFactory.sourceLocation(item, modification)));
|
|
12409
12412
|
}
|
|
12410
12413
|
};
|
|
12411
12414
|
var pathMod = {
|
|
@@ -12437,7 +12440,7 @@ var pathNegatedPropertySet = {
|
|
|
12437
12440
|
return OR([
|
|
12438
12441
|
{ ALT: () => {
|
|
12439
12442
|
const noAlternative = SUBRULE1(pathOneInPropertySet);
|
|
12440
|
-
return ACTION(() => C.
|
|
12443
|
+
return ACTION(() => C.astFactory.path("!", [noAlternative], C.astFactory.sourceLocation(exclamation2, noAlternative)));
|
|
12441
12444
|
} },
|
|
12442
12445
|
{ ALT: () => {
|
|
12443
12446
|
const open = CONSUME(symbols_exports.LParen);
|
|
@@ -12450,7 +12453,7 @@ var pathNegatedPropertySet = {
|
|
|
12450
12453
|
});
|
|
12451
12454
|
const close = CONSUME(symbols_exports.RParen);
|
|
12452
12455
|
return ACTION(() => {
|
|
12453
|
-
const F2 = C.
|
|
12456
|
+
const F2 = C.astFactory;
|
|
12454
12457
|
if (tail.length === 0) {
|
|
12455
12458
|
return F2.path("!", [head2], F2.sourceLocation(exclamation2, close));
|
|
12456
12459
|
}
|
|
@@ -12471,7 +12474,7 @@ var pathOneInPropertySet = {
|
|
|
12471
12474
|
{ ALT: () => SUBRULE2(iri2) },
|
|
12472
12475
|
{ ALT: () => SUBRULE2(verbA) }
|
|
12473
12476
|
]);
|
|
12474
|
-
return ACTION(() => C.
|
|
12477
|
+
return ACTION(() => C.astFactory.path("^", [item], C.astFactory.sourceLocation(hat2, item)));
|
|
12475
12478
|
} }
|
|
12476
12479
|
])
|
|
12477
12480
|
};
|
|
@@ -12496,33 +12499,35 @@ function triplesDotSeperated(triplesSameSubjectSubrule) {
|
|
|
12496
12499
|
});
|
|
12497
12500
|
}
|
|
12498
12501
|
});
|
|
12499
|
-
return ACTION(() => C.
|
|
12502
|
+
return ACTION(() => C.astFactory.patternBgp(triples, C.astFactory.sourceLocation(...triples, dotToken)));
|
|
12500
12503
|
};
|
|
12501
12504
|
}
|
|
12502
12505
|
var triplesBlock = {
|
|
12503
12506
|
name: "triplesBlock",
|
|
12504
12507
|
impl: (implArgs) => (C) => triplesDotSeperated(triplesSameSubjectPath)(implArgs)(C),
|
|
12505
|
-
gImpl: ({ SUBRULE, PRINT_WORD, HANDLE_LOC }) => (ast, {
|
|
12508
|
+
gImpl: ({ SUBRULE, PRINT_WORD, HANDLE_LOC }) => (ast, { astFactory: F2 }) => {
|
|
12506
12509
|
for (const [index, triple] of ast.triples.entries()) {
|
|
12507
12510
|
HANDLE_LOC(triple, () => {
|
|
12508
12511
|
const nextTriple = ast.triples.at(index);
|
|
12509
12512
|
if (F2.isTripleCollection(triple)) {
|
|
12510
12513
|
SUBRULE(graphNodePath, triple);
|
|
12511
|
-
F2.printFilter(triple, () => PRINT_WORD("
|
|
12514
|
+
F2.printFilter(triple, () => PRINT_WORD(".\n"));
|
|
12512
12515
|
} else {
|
|
12513
12516
|
SUBRULE(graphNodePath, triple.subject);
|
|
12517
|
+
F2.printFilter(triple, () => PRINT_WORD(""));
|
|
12514
12518
|
if (F2.isTerm(triple.predicate) && F2.isTermVariable(triple.predicate)) {
|
|
12515
12519
|
SUBRULE(varOrTerm, triple.predicate);
|
|
12516
12520
|
} else {
|
|
12517
12521
|
SUBRULE(pathGenerator, triple.predicate, void 0);
|
|
12518
12522
|
}
|
|
12523
|
+
F2.printFilter(triple, () => PRINT_WORD(""));
|
|
12519
12524
|
SUBRULE(graphNodePath, triple.object);
|
|
12520
12525
|
if (nextTriple === void 0 || F2.isTripleCollection(nextTriple) || !F2.isSourceLocationNoMaterialize(nextTriple.subject.loc)) {
|
|
12521
|
-
F2.printFilter(ast, () => PRINT_WORD("
|
|
12526
|
+
F2.printFilter(ast, () => PRINT_WORD(".\n"));
|
|
12522
12527
|
} else if (F2.isSourceLocationNoMaterialize(nextTriple.predicate.loc)) {
|
|
12523
12528
|
F2.printFilter(ast, () => PRINT_WORD(","));
|
|
12524
12529
|
} else {
|
|
12525
|
-
F2.printFilter(ast, () => PRINT_WORD("
|
|
12530
|
+
F2.printFilter(ast, () => PRINT_WORD(";\n"));
|
|
12526
12531
|
}
|
|
12527
12532
|
}
|
|
12528
12533
|
});
|
|
@@ -12535,24 +12540,24 @@ function triplesSameSubjectImpl(name, allowPaths) {
|
|
|
12535
12540
|
impl: ({ ACTION, SUBRULE, OR }) => (C) => OR([
|
|
12536
12541
|
{ ALT: () => {
|
|
12537
12542
|
const subject = SUBRULE(varOrTerm);
|
|
12538
|
-
const res = SUBRULE(allowPaths ? propertyListPathNotEmpty : propertyListNotEmpty, ACTION(() => C.
|
|
12543
|
+
const res = SUBRULE(allowPaths ? propertyListPathNotEmpty : propertyListNotEmpty, ACTION(() => C.astFactory.dematerialized(subject)));
|
|
12539
12544
|
return ACTION(() => {
|
|
12540
12545
|
if (res.length > 0) {
|
|
12541
12546
|
res[0].subject = subject;
|
|
12542
|
-
res[0].loc = C.
|
|
12547
|
+
res[0].loc = C.astFactory.sourceLocation(subject, res[0]);
|
|
12543
12548
|
}
|
|
12544
12549
|
return res;
|
|
12545
12550
|
});
|
|
12546
12551
|
} },
|
|
12547
12552
|
{ ALT: () => {
|
|
12548
12553
|
const subjectNode = SUBRULE(allowPaths ? triplesNodePath : triplesNode);
|
|
12549
|
-
const restNode = SUBRULE(allowPaths ? propertyListPath : propertyList, ACTION(() => C.
|
|
12554
|
+
const restNode = SUBRULE(allowPaths ? propertyListPath : propertyList, ACTION(() => C.astFactory.graphNodeIdentifier(subjectNode)));
|
|
12550
12555
|
return ACTION(() => {
|
|
12551
12556
|
if (restNode.length === 0) {
|
|
12552
12557
|
return [subjectNode];
|
|
12553
12558
|
}
|
|
12554
12559
|
restNode[0].subject = subjectNode;
|
|
12555
|
-
restNode[0].loc = C.
|
|
12560
|
+
restNode[0].loc = C.astFactory.sourceLocation(subjectNode, restNode[0]);
|
|
12556
12561
|
return restNode;
|
|
12557
12562
|
});
|
|
12558
12563
|
} }
|
|
@@ -12636,7 +12641,7 @@ function objectImpl(name, allowPaths) {
|
|
|
12636
12641
|
name,
|
|
12637
12642
|
impl: ({ ACTION, SUBRULE }) => (C, subject, predicate) => {
|
|
12638
12643
|
const node = SUBRULE(allowPaths ? graphNodePath : graphNode);
|
|
12639
|
-
return ACTION(() => C.
|
|
12644
|
+
return ACTION(() => C.astFactory.triple(subject, predicate, node));
|
|
12640
12645
|
}
|
|
12641
12646
|
};
|
|
12642
12647
|
}
|
|
@@ -12653,7 +12658,7 @@ function collectionImpl(name, allowPaths) {
|
|
|
12653
12658
|
});
|
|
12654
12659
|
const endToken = CONSUME(symbols_exports.RParen);
|
|
12655
12660
|
return ACTION(() => {
|
|
12656
|
-
const F2 = C.
|
|
12661
|
+
const F2 = C.astFactory;
|
|
12657
12662
|
const triples = [];
|
|
12658
12663
|
const predFirst = F2.namedNode(F2.sourceLocationNoMaterialize(), CommonIRIs.FIRST, void 0);
|
|
12659
12664
|
const predRest = F2.namedNode(F2.sourceLocationNoMaterialize(), CommonIRIs.REST, void 0);
|
|
@@ -12677,7 +12682,7 @@ function collectionImpl(name, allowPaths) {
|
|
|
12677
12682
|
return F2.tripleCollectionList(listHead, triples, F2.sourceLocation(startToken, endToken));
|
|
12678
12683
|
});
|
|
12679
12684
|
},
|
|
12680
|
-
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, {
|
|
12685
|
+
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { astFactory: F2 }) => {
|
|
12681
12686
|
F2.printFilter(ast, () => PRINT_WORD("("));
|
|
12682
12687
|
for (const [idx, triple] of ast.triples.entries()) {
|
|
12683
12688
|
if (idx % 2 === 0) {
|
|
@@ -12708,13 +12713,17 @@ function blankNodePropertyListImpl(name, allowPaths) {
|
|
|
12708
12713
|
name,
|
|
12709
12714
|
impl: ({ ACTION, SUBRULE, CONSUME }) => (C) => {
|
|
12710
12715
|
const startToken = CONSUME(symbols_exports.LSquare);
|
|
12711
|
-
const blankNode2 = ACTION(() => C.
|
|
12716
|
+
const blankNode2 = ACTION(() => C.astFactory.blankNode(void 0, C.astFactory.sourceLocationNoMaterialize()));
|
|
12712
12717
|
const propList = SUBRULE(propertyPathNotEmptyImpl, blankNode2);
|
|
12713
12718
|
const endToken = CONSUME(symbols_exports.RSquare);
|
|
12714
|
-
return ACTION(() => C.
|
|
12719
|
+
return ACTION(() => C.astFactory.tripleCollectionBlankNodeProperties(blankNode2, propList, C.astFactory.sourceLocation(startToken, endToken)));
|
|
12715
12720
|
},
|
|
12716
|
-
gImpl: ({ SUBRULE, PRINT, PRINT_WORD, HANDLE_LOC }) => (ast,
|
|
12717
|
-
F2
|
|
12721
|
+
gImpl: ({ SUBRULE, PRINT, PRINT_WORD, HANDLE_LOC, PRINT_ON_EMPTY }) => (ast, c) => {
|
|
12722
|
+
const { astFactory: F2, indentInc } = c;
|
|
12723
|
+
F2.printFilter(ast, () => {
|
|
12724
|
+
c[traqulaIndentation] += indentInc;
|
|
12725
|
+
PRINT("[\n");
|
|
12726
|
+
});
|
|
12718
12727
|
for (const triple of ast.triples) {
|
|
12719
12728
|
HANDLE_LOC(triple, () => {
|
|
12720
12729
|
if (F2.isTerm(triple.predicate) && F2.isTermVariable(triple.predicate)) {
|
|
@@ -12722,11 +12731,15 @@ function blankNodePropertyListImpl(name, allowPaths) {
|
|
|
12722
12731
|
} else {
|
|
12723
12732
|
SUBRULE(pathGenerator, triple.predicate, void 0);
|
|
12724
12733
|
}
|
|
12734
|
+
F2.printFilter(triple, () => PRINT_WORD(""));
|
|
12725
12735
|
SUBRULE(graphNodePath, triple.object);
|
|
12726
|
-
F2.printFilter(ast, () => PRINT_WORD("
|
|
12736
|
+
F2.printFilter(ast, () => PRINT_WORD(";\n"));
|
|
12727
12737
|
});
|
|
12728
12738
|
}
|
|
12729
|
-
F2.printFilter(ast, () =>
|
|
12739
|
+
F2.printFilter(ast, () => {
|
|
12740
|
+
c[traqulaIndentation] -= indentInc;
|
|
12741
|
+
PRINT_ON_EMPTY("]");
|
|
12742
|
+
});
|
|
12730
12743
|
}
|
|
12731
12744
|
};
|
|
12732
12745
|
}
|
|
@@ -12743,7 +12756,7 @@ function graphNodeImpl(name, allowPaths) {
|
|
|
12743
12756
|
ALT: () => SUBRULE(triplesNodeRule)
|
|
12744
12757
|
}
|
|
12745
12758
|
]),
|
|
12746
|
-
gImpl: ({ SUBRULE }) => (ast, {
|
|
12759
|
+
gImpl: ({ SUBRULE }) => (ast, { astFactory: F2 }) => {
|
|
12747
12760
|
if (F2.isTerm(ast)) {
|
|
12748
12761
|
SUBRULE(varOrTerm, ast);
|
|
12749
12762
|
} else {
|
|
@@ -12761,9 +12774,9 @@ var whereClause = {
|
|
|
12761
12774
|
impl: ({ ACTION, SUBRULE, CONSUME, OPTION }) => (C) => {
|
|
12762
12775
|
const where2 = OPTION(() => CONSUME(where));
|
|
12763
12776
|
const group = SUBRULE(groupGraphPattern);
|
|
12764
|
-
return ACTION(() => C.
|
|
12777
|
+
return ACTION(() => C.astFactory.wrap(group, C.astFactory.sourceLocation(where2, group)));
|
|
12765
12778
|
},
|
|
12766
|
-
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, {
|
|
12779
|
+
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { astFactory: F2 }) => {
|
|
12767
12780
|
F2.printFilter(ast, () => PRINT_WORD("WHERE"));
|
|
12768
12781
|
SUBRULE(groupGraphPattern, ast.val);
|
|
12769
12782
|
}
|
|
@@ -12777,19 +12790,26 @@ var groupGraphPattern = {
|
|
|
12777
12790
|
{ ALT: () => SUBRULE(groupGraphPatternSub) }
|
|
12778
12791
|
]);
|
|
12779
12792
|
const close = CONSUME(symbols_exports.RCurly);
|
|
12780
|
-
return ACTION(() => C.
|
|
12793
|
+
return ACTION(() => C.astFactory.patternGroup(patterns, C.astFactory.sourceLocation(open, close)));
|
|
12781
12794
|
},
|
|
12782
|
-
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast,
|
|
12783
|
-
F2
|
|
12795
|
+
gImpl: ({ SUBRULE, PRINT_WORD, PRINT_ON_EMPTY }) => (ast, C) => {
|
|
12796
|
+
const { astFactory: F2, indentInc } = C;
|
|
12797
|
+
F2.printFilter(ast, () => {
|
|
12798
|
+
C[traqulaIndentation] += indentInc;
|
|
12799
|
+
PRINT_WORD("{\n");
|
|
12800
|
+
});
|
|
12784
12801
|
for (const pattern of ast.patterns) {
|
|
12785
12802
|
SUBRULE(generatePattern, pattern);
|
|
12786
12803
|
}
|
|
12787
|
-
F2.printFilter(ast, () =>
|
|
12804
|
+
F2.printFilter(ast, () => {
|
|
12805
|
+
C[traqulaIndentation] -= indentInc;
|
|
12806
|
+
PRINT_ON_EMPTY("}\n");
|
|
12807
|
+
});
|
|
12788
12808
|
}
|
|
12789
12809
|
};
|
|
12790
12810
|
var generatePattern = {
|
|
12791
12811
|
name: "generatePattern",
|
|
12792
|
-
gImpl: ({ SUBRULE }) => (ast, {
|
|
12812
|
+
gImpl: ({ SUBRULE }) => (ast, { astFactory: F2 }) => {
|
|
12793
12813
|
if (ast.type === "query") {
|
|
12794
12814
|
SUBRULE(query, F2.querySelect({
|
|
12795
12815
|
context: [],
|
|
@@ -12878,9 +12898,9 @@ var optionalGraphPattern = {
|
|
|
12878
12898
|
impl: ({ ACTION, SUBRULE, CONSUME }) => (C) => {
|
|
12879
12899
|
const optional2 = CONSUME(optional);
|
|
12880
12900
|
const group = SUBRULE(groupGraphPattern);
|
|
12881
|
-
return ACTION(() => C.
|
|
12901
|
+
return ACTION(() => C.astFactory.patternOptional(group.patterns, C.astFactory.sourceLocation(optional2, group)));
|
|
12882
12902
|
},
|
|
12883
|
-
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, {
|
|
12903
|
+
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { astFactory: F2 }) => {
|
|
12884
12904
|
F2.printFilter(ast, () => PRINT_WORD("OPTIONAL"));
|
|
12885
12905
|
SUBRULE(groupGraphPattern, F2.patternGroup(ast.patterns, ast.loc));
|
|
12886
12906
|
}
|
|
@@ -12891,9 +12911,9 @@ var graphGraphPattern = {
|
|
|
12891
12911
|
const graph2 = CONSUME(graph_exports.graph);
|
|
12892
12912
|
const name = SUBRULE(varOrIri);
|
|
12893
12913
|
const group = SUBRULE(groupGraphPattern);
|
|
12894
|
-
return ACTION(() => C.
|
|
12914
|
+
return ACTION(() => C.astFactory.patternGraph(name, group.patterns, C.astFactory.sourceLocation(graph2, group)));
|
|
12895
12915
|
},
|
|
12896
|
-
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, {
|
|
12916
|
+
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { astFactory: F2 }) => {
|
|
12897
12917
|
F2.printFilter(ast, () => PRINT_WORD("GRAPH"));
|
|
12898
12918
|
SUBRULE(varOrTerm, ast.name);
|
|
12899
12919
|
SUBRULE(groupGraphPattern, F2.patternGroup(ast.patterns, ast.loc));
|
|
@@ -12909,9 +12929,9 @@ var serviceGraphPattern = {
|
|
|
12909
12929
|
}) ?? false;
|
|
12910
12930
|
const name = SUBRULE1(varOrIri);
|
|
12911
12931
|
const group = SUBRULE1(groupGraphPattern);
|
|
12912
|
-
return ACTION(() => C.
|
|
12932
|
+
return ACTION(() => C.astFactory.patternService(name, group.patterns, silent2, C.astFactory.sourceLocation(service2, group)));
|
|
12913
12933
|
},
|
|
12914
|
-
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, {
|
|
12934
|
+
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { astFactory: F2 }) => {
|
|
12915
12935
|
F2.printFilter(ast, () => {
|
|
12916
12936
|
PRINT_WORD("SERVICE");
|
|
12917
12937
|
if (ast.silent) {
|
|
@@ -12931,14 +12951,14 @@ var bind2 = {
|
|
|
12931
12951
|
CONSUME(as);
|
|
12932
12952
|
const variable = SUBRULE(var_);
|
|
12933
12953
|
const close = CONSUME(symbols_exports.RParen);
|
|
12934
|
-
return ACTION(() => C.
|
|
12954
|
+
return ACTION(() => C.astFactory.patternBind(expressionVal, variable, C.astFactory.sourceLocation(bind3, close)));
|
|
12935
12955
|
},
|
|
12936
|
-
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, {
|
|
12956
|
+
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { astFactory: F2 }) => {
|
|
12937
12957
|
F2.printFilter(ast, () => PRINT_WORD("BIND", "("));
|
|
12938
12958
|
SUBRULE(expression, ast.expression);
|
|
12939
12959
|
F2.printFilter(ast, () => PRINT_WORD("AS"));
|
|
12940
12960
|
SUBRULE(var_, ast.variable);
|
|
12941
|
-
F2.printFilter(ast, () => PRINT_WORD(")"));
|
|
12961
|
+
F2.printFilter(ast, () => PRINT_WORD(")\n"));
|
|
12942
12962
|
}
|
|
12943
12963
|
};
|
|
12944
12964
|
var inlineData = {
|
|
@@ -12946,16 +12966,19 @@ var inlineData = {
|
|
|
12946
12966
|
impl: ({ ACTION, SUBRULE, CONSUME }) => (C) => {
|
|
12947
12967
|
const values3 = CONSUME(values2);
|
|
12948
12968
|
const datablock = SUBRULE(dataBlock);
|
|
12949
|
-
return ACTION(() => C.
|
|
12969
|
+
return ACTION(() => C.astFactory.patternValues(datablock.val, C.astFactory.sourceLocation(values3, datablock)));
|
|
12950
12970
|
},
|
|
12951
|
-
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast,
|
|
12971
|
+
gImpl: ({ SUBRULE, PRINT_WORD, PRINT_ON_EMPTY }) => (ast, C) => {
|
|
12972
|
+
const { astFactory: F2, indentInc } = C;
|
|
12952
12973
|
const variables = Object.keys(ast.values.at(0) ?? {});
|
|
12953
12974
|
F2.printFilter(ast, () => {
|
|
12975
|
+
PRINT_ON_EMPTY("");
|
|
12954
12976
|
PRINT_WORD("VALUES", "(");
|
|
12955
12977
|
for (const variable of variables) {
|
|
12956
12978
|
PRINT_WORD(`?${variable}`);
|
|
12957
12979
|
}
|
|
12958
|
-
|
|
12980
|
+
C[traqulaIndentation] += indentInc;
|
|
12981
|
+
PRINT_WORD(")", "{\n");
|
|
12959
12982
|
});
|
|
12960
12983
|
for (const mapping of ast.values) {
|
|
12961
12984
|
F2.printFilter(ast, () => PRINT_WORD("("));
|
|
@@ -12966,9 +12989,12 @@ var inlineData = {
|
|
|
12966
12989
|
SUBRULE(graphNodePath, mapping[variable]);
|
|
12967
12990
|
}
|
|
12968
12991
|
}
|
|
12969
|
-
F2.printFilter(ast, () => PRINT_WORD(")"));
|
|
12992
|
+
F2.printFilter(ast, () => PRINT_WORD(")\n"));
|
|
12970
12993
|
}
|
|
12971
|
-
F2.printFilter(ast, () =>
|
|
12994
|
+
F2.printFilter(ast, () => {
|
|
12995
|
+
C[traqulaIndentation] -= indentInc;
|
|
12996
|
+
PRINT_ON_EMPTY("}\n");
|
|
12997
|
+
});
|
|
12972
12998
|
}
|
|
12973
12999
|
};
|
|
12974
13000
|
var dataBlock = {
|
|
@@ -12991,7 +13017,7 @@ var inlineDataOneVar = {
|
|
|
12991
13017
|
});
|
|
12992
13018
|
});
|
|
12993
13019
|
const close = CONSUME(symbols_exports.RCurly);
|
|
12994
|
-
return ACTION(() => C.
|
|
13020
|
+
return ACTION(() => C.astFactory.wrap(res, C.astFactory.sourceLocation(varVal, close)));
|
|
12995
13021
|
}
|
|
12996
13022
|
};
|
|
12997
13023
|
var inlineDataFull = {
|
|
@@ -13008,7 +13034,7 @@ var inlineDataFull = {
|
|
|
13008
13034
|
res.push({});
|
|
13009
13035
|
});
|
|
13010
13036
|
const close = CONSUME1(symbols_exports.RCurly);
|
|
13011
|
-
return ACTION(() => C.
|
|
13037
|
+
return ACTION(() => C.astFactory.wrap(res, C.astFactory.sourceLocation(nil2, close)));
|
|
13012
13038
|
} },
|
|
13013
13039
|
{ ALT: () => {
|
|
13014
13040
|
const open = CONSUME1(symbols_exports.LParen);
|
|
@@ -13040,7 +13066,7 @@ var inlineDataFull = {
|
|
|
13040
13066
|
});
|
|
13041
13067
|
});
|
|
13042
13068
|
const close = CONSUME2(symbols_exports.RCurly);
|
|
13043
|
-
return ACTION(() => C.
|
|
13069
|
+
return ACTION(() => C.astFactory.wrap(res, C.astFactory.sourceLocation(open, close)));
|
|
13044
13070
|
} }
|
|
13045
13071
|
]);
|
|
13046
13072
|
}
|
|
@@ -13063,9 +13089,9 @@ var minusGraphPattern = {
|
|
|
13063
13089
|
impl: ({ ACTION, SUBRULE, CONSUME }) => (C) => {
|
|
13064
13090
|
const minus2 = CONSUME(minus);
|
|
13065
13091
|
const group = SUBRULE(groupGraphPattern);
|
|
13066
|
-
return ACTION(() => C.
|
|
13092
|
+
return ACTION(() => C.astFactory.patternMinus(group.patterns, C.astFactory.sourceLocation(minus2, group)));
|
|
13067
13093
|
},
|
|
13068
|
-
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, {
|
|
13094
|
+
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { astFactory: F2 }) => {
|
|
13069
13095
|
F2.printFilter(ast, () => PRINT_WORD("MINUS"));
|
|
13070
13096
|
SUBRULE(groupGraphPattern, F2.patternGroup(ast.patterns, ast.loc));
|
|
13071
13097
|
}
|
|
@@ -13081,9 +13107,9 @@ var groupOrUnionGraphPattern = {
|
|
|
13081
13107
|
const group2 = SUBRULE2(groupGraphPattern);
|
|
13082
13108
|
groups.push(group2);
|
|
13083
13109
|
});
|
|
13084
|
-
return ACTION(() => groups.length === 1 ? groups[0] : C.
|
|
13110
|
+
return ACTION(() => groups.length === 1 ? groups[0] : C.astFactory.patternUnion(groups, C.astFactory.sourceLocation(group, groups.at(-1))));
|
|
13085
13111
|
},
|
|
13086
|
-
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, {
|
|
13112
|
+
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { astFactory: F2 }) => {
|
|
13087
13113
|
if (F2.isPatternUnion(ast)) {
|
|
13088
13114
|
const [head2, ...tail] = ast.patterns;
|
|
13089
13115
|
SUBRULE(groupGraphPattern, head2);
|
|
@@ -13101,12 +13127,12 @@ var filter3 = {
|
|
|
13101
13127
|
impl: ({ ACTION, SUBRULE, CONSUME }) => (C) => {
|
|
13102
13128
|
const filterToken = CONSUME(filter2);
|
|
13103
13129
|
const expression2 = SUBRULE(constraint);
|
|
13104
|
-
return ACTION(() => C.
|
|
13130
|
+
return ACTION(() => C.astFactory.patternFilter(expression2, C.astFactory.sourceLocation(filterToken, expression2)));
|
|
13105
13131
|
},
|
|
13106
|
-
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, {
|
|
13132
|
+
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { astFactory: F2 }) => {
|
|
13107
13133
|
F2.printFilter(ast, () => PRINT_WORD("FILTER ("));
|
|
13108
13134
|
SUBRULE(expression, ast.expression);
|
|
13109
|
-
F2.printFilter(ast, () => PRINT_WORD(")"));
|
|
13135
|
+
F2.printFilter(ast, () => PRINT_WORD(")\n"));
|
|
13110
13136
|
}
|
|
13111
13137
|
};
|
|
13112
13138
|
var constraint = {
|
|
@@ -13122,7 +13148,7 @@ var functionCall = {
|
|
|
13122
13148
|
impl: ({ ACTION, SUBRULE }) => (C) => {
|
|
13123
13149
|
const func = SUBRULE(iri2);
|
|
13124
13150
|
const args = SUBRULE(argList);
|
|
13125
|
-
return ACTION(() => C.
|
|
13151
|
+
return ACTION(() => C.astFactory.expressionFunctionCall(func, args.val.args, args.val.distinct, C.astFactory.sourceLocation(func, args)));
|
|
13126
13152
|
}
|
|
13127
13153
|
};
|
|
13128
13154
|
|
|
@@ -13132,7 +13158,7 @@ var argList = {
|
|
|
13132
13158
|
impl: ({ ACTION, CONSUME, SUBRULE1, OPTION, OR, AT_LEAST_ONE_SEP }) => (C) => OR([
|
|
13133
13159
|
{ ALT: () => {
|
|
13134
13160
|
const nil2 = CONSUME(terminals_exports.nil);
|
|
13135
|
-
return ACTION(() => C.
|
|
13161
|
+
return ACTION(() => C.astFactory.wrap({ args: [], distinct: false }, C.astFactory.sourceLocation(nil2)));
|
|
13136
13162
|
} },
|
|
13137
13163
|
{ ALT: () => {
|
|
13138
13164
|
const args = [];
|
|
@@ -13149,10 +13175,10 @@ var argList = {
|
|
|
13149
13175
|
}
|
|
13150
13176
|
});
|
|
13151
13177
|
const close = CONSUME(symbols_exports.RParen);
|
|
13152
|
-
return ACTION(() => C.
|
|
13178
|
+
return ACTION(() => C.astFactory.wrap({ args, distinct: distinct2 }, C.astFactory.sourceLocation(open, close)));
|
|
13153
13179
|
} }
|
|
13154
13180
|
]),
|
|
13155
|
-
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, {
|
|
13181
|
+
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { astFactory: F2 }) => {
|
|
13156
13182
|
F2.printFilter(ast, () => {
|
|
13157
13183
|
PRINT_WORD("(");
|
|
13158
13184
|
if (ast.val.distinct) {
|
|
@@ -13175,7 +13201,7 @@ var expressionList = {
|
|
|
13175
13201
|
impl: ({ ACTION, CONSUME, MANY, OR, SUBRULE1, SUBRULE2 }) => (C) => OR([
|
|
13176
13202
|
{ ALT: () => {
|
|
13177
13203
|
const nil2 = CONSUME(terminals_exports.nil);
|
|
13178
|
-
return ACTION(() => C.
|
|
13204
|
+
return ACTION(() => C.astFactory.wrap([], C.astFactory.sourceLocation(nil2)));
|
|
13179
13205
|
} },
|
|
13180
13206
|
{ ALT: () => {
|
|
13181
13207
|
const open = CONSUME(symbols_exports.LParen);
|
|
@@ -13187,7 +13213,7 @@ var expressionList = {
|
|
|
13187
13213
|
args.push(expr);
|
|
13188
13214
|
});
|
|
13189
13215
|
const close = CONSUME(symbols_exports.RParen);
|
|
13190
|
-
return ACTION(() => C.
|
|
13216
|
+
return ACTION(() => C.astFactory.wrap(args, C.astFactory.sourceLocation(open, close)));
|
|
13191
13217
|
} }
|
|
13192
13218
|
])
|
|
13193
13219
|
};
|
|
@@ -13196,7 +13222,7 @@ var prefixOperator = /* @__PURE__ */ new Set(["!", "UPLUS", "UMINUS"]);
|
|
|
13196
13222
|
var expression = {
|
|
13197
13223
|
name: "expression",
|
|
13198
13224
|
impl: ({ SUBRULE }) => () => SUBRULE(conditionalOrExpression),
|
|
13199
|
-
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, {
|
|
13225
|
+
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { astFactory: F2 }) => {
|
|
13200
13226
|
if (F2.isTerm(ast)) {
|
|
13201
13227
|
SUBRULE(varOrTerm, ast);
|
|
13202
13228
|
} else if (F2.isExpressionOperator(ast)) {
|
|
@@ -13261,7 +13287,7 @@ var conditionalOrExpression = {
|
|
|
13261
13287
|
impl: ({ ACTION, MANY, CONSUME, SUBRULE1, SUBRULE2 }) => (C) => constructLeftDeep(() => SUBRULE1(conditionalAndExpression), () => {
|
|
13262
13288
|
CONSUME(symbols_exports.logicOr);
|
|
13263
13289
|
const args = SUBRULE2(conditionalAndExpression);
|
|
13264
|
-
return (left) => ACTION(() => C.
|
|
13290
|
+
return (left) => ACTION(() => C.astFactory.expressionOperation("||", [left, args], C.astFactory.sourceLocation(left, args)));
|
|
13265
13291
|
}, ACTION, MANY)
|
|
13266
13292
|
};
|
|
13267
13293
|
var conditionalAndExpression = {
|
|
@@ -13269,7 +13295,7 @@ var conditionalAndExpression = {
|
|
|
13269
13295
|
impl: ({ ACTION, MANY, SUBRULE1, SUBRULE2, CONSUME }) => (C) => constructLeftDeep(() => SUBRULE1(valueLogical), () => {
|
|
13270
13296
|
CONSUME(symbols_exports.logicAnd);
|
|
13271
13297
|
const arg = SUBRULE2(valueLogical);
|
|
13272
|
-
return (left) => ACTION(() => C.
|
|
13298
|
+
return (left) => ACTION(() => C.astFactory.expressionOperation("&&", [left, arg], C.astFactory.sourceLocation(left, arg)));
|
|
13273
13299
|
}, ACTION, MANY)
|
|
13274
13300
|
};
|
|
13275
13301
|
var valueLogical = {
|
|
@@ -13291,7 +13317,7 @@ var relationalExpression = {
|
|
|
13291
13317
|
{ ALT: () => CONSUME(symbols_exports.greaterThanEqual) }
|
|
13292
13318
|
]);
|
|
13293
13319
|
const expr = SUBRULE2(numericExpression);
|
|
13294
|
-
return ACTION(() => C.
|
|
13320
|
+
return ACTION(() => C.astFactory.expressionOperation(operator.image, [args1, expr], C.astFactory.sourceLocation(args1, expr)));
|
|
13295
13321
|
} },
|
|
13296
13322
|
{ ALT: () => {
|
|
13297
13323
|
const operator = OR3([
|
|
@@ -13299,7 +13325,7 @@ var relationalExpression = {
|
|
|
13299
13325
|
{ ALT: () => CONSUME(notIn) }
|
|
13300
13326
|
]);
|
|
13301
13327
|
const args = SUBRULE1(expressionList);
|
|
13302
|
-
return ACTION(() => C.
|
|
13328
|
+
return ACTION(() => C.astFactory.expressionOperation(operator.image, [args1, ...args.val], C.astFactory.sourceLocation(args1, args)));
|
|
13303
13329
|
} }
|
|
13304
13330
|
]));
|
|
13305
13331
|
return expression2 ?? args1;
|
|
@@ -13318,7 +13344,7 @@ var additiveExpression = {
|
|
|
13318
13344
|
{ ALT: () => CONSUME(symbols_exports.opMinus) }
|
|
13319
13345
|
]);
|
|
13320
13346
|
const arg = SUBRULE2(multiplicativeExpression);
|
|
13321
|
-
return ACTION(() => (left) => C.
|
|
13347
|
+
return ACTION(() => (left) => C.astFactory.expressionOperation(operator.image, [left, arg], C.astFactory.sourceLocation(left, arg)));
|
|
13322
13348
|
} },
|
|
13323
13349
|
{ ALT: () => {
|
|
13324
13350
|
const { operator, startInt } = OR3([
|
|
@@ -13349,9 +13375,9 @@ var additiveExpression = {
|
|
|
13349
13375
|
{ ALT: () => CONSUME(symbols_exports.slash) }
|
|
13350
13376
|
]);
|
|
13351
13377
|
const innerExpr = SUBRULE1(unaryExpression);
|
|
13352
|
-
return ACTION(() => (leftInner) => C.
|
|
13378
|
+
return ACTION(() => (leftInner) => C.astFactory.expressionOperation(innerOperator.image, [leftInner, innerExpr], C.astFactory.sourceLocation(leftInner, innerExpr)));
|
|
13353
13379
|
}, ACTION, MANY2);
|
|
13354
|
-
return (left) => C.
|
|
13380
|
+
return (left) => C.astFactory.expressionOperation(operator, [left, multiplicativeExpr], C.astFactory.sourceLocation(left, multiplicativeExpr));
|
|
13355
13381
|
} }
|
|
13356
13382
|
]), ACTION, MANY1)
|
|
13357
13383
|
};
|
|
@@ -13368,7 +13394,7 @@ var multiplicativeExpression = {
|
|
|
13368
13394
|
subType: "operation",
|
|
13369
13395
|
operator: operator.image,
|
|
13370
13396
|
args: [left, expr],
|
|
13371
|
-
loc: C.
|
|
13397
|
+
loc: C.astFactory.sourceLocation(left, expr)
|
|
13372
13398
|
});
|
|
13373
13399
|
}, ACTION, MANY)
|
|
13374
13400
|
};
|
|
@@ -13383,7 +13409,7 @@ var unaryExpression = {
|
|
|
13383
13409
|
{ ALT: () => CONSUME(symbols_exports.opMinus) }
|
|
13384
13410
|
]);
|
|
13385
13411
|
const expr = SUBRULE2(primaryExpression);
|
|
13386
|
-
return ACTION(() => C.
|
|
13412
|
+
return ACTION(() => C.astFactory.expressionOperation(operator.image === "!" ? "!" : operator.image === "+" ? "UPLUS" : "UMINUS", [expr], C.astFactory.sourceLocation(operator, expr)));
|
|
13387
13413
|
} }
|
|
13388
13414
|
])
|
|
13389
13415
|
};
|
|
@@ -13406,7 +13432,7 @@ var brackettedExpression = {
|
|
|
13406
13432
|
const expr = SUBRULE(expression);
|
|
13407
13433
|
const close = CONSUME(symbols_exports.RParen);
|
|
13408
13434
|
return ACTION(() => {
|
|
13409
|
-
expr.loc = C.
|
|
13435
|
+
expr.loc = C.astFactory.sourceLocation(open, close);
|
|
13410
13436
|
return expr;
|
|
13411
13437
|
});
|
|
13412
13438
|
}
|
|
@@ -13428,13 +13454,13 @@ var iriOrFunction = {
|
|
|
13428
13454
|
function: iriVal,
|
|
13429
13455
|
args: args.val.args,
|
|
13430
13456
|
distinct: distinct2,
|
|
13431
|
-
loc: C.
|
|
13457
|
+
loc: C.astFactory.sourceLocation(iriVal, args)
|
|
13432
13458
|
};
|
|
13433
13459
|
});
|
|
13434
13460
|
});
|
|
13435
13461
|
return functionCall2 ?? iriVal;
|
|
13436
13462
|
},
|
|
13437
|
-
gImpl: ({ SUBRULE }) => (ast, {
|
|
13463
|
+
gImpl: ({ SUBRULE }) => (ast, { astFactory: F2 }) => {
|
|
13438
13464
|
if (F2.isTermNamed(ast)) {
|
|
13439
13465
|
SUBRULE(iri2, ast);
|
|
13440
13466
|
} else {
|
|
@@ -13487,11 +13513,14 @@ var groupClause = {
|
|
|
13487
13513
|
type: "solutionModifier",
|
|
13488
13514
|
subType: "group",
|
|
13489
13515
|
groupings,
|
|
13490
|
-
loc: C.
|
|
13516
|
+
loc: C.astFactory.sourceLocation(start, groupings.at(-1))
|
|
13491
13517
|
}));
|
|
13492
13518
|
},
|
|
13493
|
-
gImpl: ({ PRINT_WORDS, SUBRULE }) => (ast, {
|
|
13494
|
-
F2.printFilter(ast, () =>
|
|
13519
|
+
gImpl: ({ PRINT_WORDS, SUBRULE, PRINT_ON_EMPTY }) => (ast, { astFactory: F2 }) => {
|
|
13520
|
+
F2.printFilter(ast, () => {
|
|
13521
|
+
PRINT_ON_EMPTY("");
|
|
13522
|
+
PRINT_WORDS("GROUP", "BY");
|
|
13523
|
+
});
|
|
13495
13524
|
for (const grouping of ast.groupings) {
|
|
13496
13525
|
if (F2.isExpression(grouping)) {
|
|
13497
13526
|
SUBRULE(expression, grouping);
|
|
@@ -13525,7 +13554,7 @@ var groupCondition = {
|
|
|
13525
13554
|
return {
|
|
13526
13555
|
variable,
|
|
13527
13556
|
value: expressionValue,
|
|
13528
|
-
loc: C.
|
|
13557
|
+
loc: C.astFactory.sourceLocation(open, close)
|
|
13529
13558
|
};
|
|
13530
13559
|
}
|
|
13531
13560
|
return expressionValue;
|
|
@@ -13544,10 +13573,13 @@ var havingClause = {
|
|
|
13544
13573
|
expressions.push(SUBRULE(havingCondition));
|
|
13545
13574
|
});
|
|
13546
13575
|
ACTION(() => !couldParseAgg && C.parseMode.delete("canParseAggregate"));
|
|
13547
|
-
return ACTION(() => C.
|
|
13576
|
+
return ACTION(() => C.astFactory.solutionModifierHaving(expressions, C.astFactory.sourceLocation(having2, expressions.at(-1))));
|
|
13548
13577
|
},
|
|
13549
|
-
gImpl: ({ PRINT_WORD, SUBRULE }) => (ast, {
|
|
13550
|
-
F2.printFilter(ast, () =>
|
|
13578
|
+
gImpl: ({ PRINT_WORD, PRINT_ON_EMPTY, SUBRULE }) => (ast, { astFactory: F2 }) => {
|
|
13579
|
+
F2.printFilter(ast, () => {
|
|
13580
|
+
PRINT_ON_EMPTY("");
|
|
13581
|
+
PRINT_WORD("HAVING");
|
|
13582
|
+
});
|
|
13551
13583
|
for (const having2 of ast.having) {
|
|
13552
13584
|
SUBRULE(expression, having2);
|
|
13553
13585
|
}
|
|
@@ -13568,10 +13600,13 @@ var orderClause = {
|
|
|
13568
13600
|
orderings.push(SUBRULE1(orderCondition));
|
|
13569
13601
|
});
|
|
13570
13602
|
ACTION(() => !couldParseAgg && C.parseMode.delete("canParseAggregate"));
|
|
13571
|
-
return ACTION(() => C.
|
|
13603
|
+
return ACTION(() => C.astFactory.solutionModifierOrder(orderings, C.astFactory.sourceLocation(order2, orderings.at(-1))));
|
|
13572
13604
|
},
|
|
13573
|
-
gImpl: ({ PRINT_WORDS, SUBRULE }) => (ast, {
|
|
13574
|
-
F2.printFilter(ast, () =>
|
|
13605
|
+
gImpl: ({ PRINT_WORDS, PRINT_ON_EMPTY, SUBRULE }) => (ast, { astFactory: F2 }) => {
|
|
13606
|
+
F2.printFilter(ast, () => {
|
|
13607
|
+
PRINT_ON_EMPTY("");
|
|
13608
|
+
PRINT_WORDS("ORDER", "BY");
|
|
13609
|
+
});
|
|
13575
13610
|
for (const ordering of ast.orderDefs) {
|
|
13576
13611
|
if (ordering.descending) {
|
|
13577
13612
|
F2.printFilter(ast, () => PRINT_WORDS("DESC"));
|
|
@@ -13602,7 +13637,7 @@ var orderCondition = {
|
|
|
13602
13637
|
return ACTION(() => ({
|
|
13603
13638
|
expression: expr,
|
|
13604
13639
|
descending: descending[0],
|
|
13605
|
-
loc: C.
|
|
13640
|
+
loc: C.astFactory.sourceLocation(descending[1], expr)
|
|
13606
13641
|
}));
|
|
13607
13642
|
} },
|
|
13608
13643
|
{ ALT: () => {
|
|
@@ -13621,16 +13656,17 @@ var limitOffsetClauses = {
|
|
|
13621
13656
|
{ ALT: () => {
|
|
13622
13657
|
const limit2 = SUBRULE1(limitClause);
|
|
13623
13658
|
const offset2 = OPTION1(() => SUBRULE1(offsetClause));
|
|
13624
|
-
return ACTION(() => C.
|
|
13659
|
+
return ACTION(() => C.astFactory.solutionModifierLimitOffset(limit2.val, offset2?.val, C.astFactory.sourceLocation(limit2, ...offset2 ? [offset2] : [])));
|
|
13625
13660
|
} },
|
|
13626
13661
|
{ ALT: () => {
|
|
13627
13662
|
const offset2 = SUBRULE2(offsetClause);
|
|
13628
13663
|
const limit2 = OPTION2(() => SUBRULE2(limitClause));
|
|
13629
|
-
return ACTION(() => C.
|
|
13664
|
+
return ACTION(() => C.astFactory.solutionModifierLimitOffset(limit2?.val, offset2.val, C.astFactory.sourceLocation(offset2, limit2)));
|
|
13630
13665
|
} }
|
|
13631
13666
|
]),
|
|
13632
|
-
gImpl: ({ PRINT_WORDS }) => (ast, {
|
|
13667
|
+
gImpl: ({ PRINT_WORDS, PRINT_ON_EMPTY }) => (ast, { astFactory: F2 }) => {
|
|
13633
13668
|
F2.printFilter(ast, () => {
|
|
13669
|
+
PRINT_ON_EMPTY("");
|
|
13634
13670
|
if (ast.limit) {
|
|
13635
13671
|
PRINT_WORDS("LIMIT", String(ast.limit));
|
|
13636
13672
|
}
|
|
@@ -13646,7 +13682,7 @@ var limitClause = {
|
|
|
13646
13682
|
const offset2 = CONSUME(limit);
|
|
13647
13683
|
const value = CONSUME(terminals_exports.integer);
|
|
13648
13684
|
const val = Number.parseInt(value.image, 10);
|
|
13649
|
-
return ACTION(() => C.
|
|
13685
|
+
return ACTION(() => C.astFactory.wrap(val, C.astFactory.sourceLocation(offset2, value)));
|
|
13650
13686
|
}
|
|
13651
13687
|
};
|
|
13652
13688
|
var offsetClause = {
|
|
@@ -13655,7 +13691,7 @@ var offsetClause = {
|
|
|
13655
13691
|
const offset2 = CONSUME(offset);
|
|
13656
13692
|
const value = CONSUME(terminals_exports.integer);
|
|
13657
13693
|
const val = Number.parseInt(value.image, 10);
|
|
13658
|
-
return ACTION(() => C.
|
|
13694
|
+
return ACTION(() => C.astFactory.wrap(val, C.astFactory.sourceLocation(offset2, value)));
|
|
13659
13695
|
}
|
|
13660
13696
|
};
|
|
13661
13697
|
|
|
@@ -13680,10 +13716,10 @@ var query = {
|
|
|
13680
13716
|
...subType,
|
|
13681
13717
|
type: "query",
|
|
13682
13718
|
...values3 && { values: values3 },
|
|
13683
|
-
loc: C.
|
|
13719
|
+
loc: C.astFactory.sourceLocation(prologueValues.at(0), subType, values3)
|
|
13684
13720
|
}));
|
|
13685
13721
|
},
|
|
13686
|
-
gImpl: ({ SUBRULE }) => (ast, {
|
|
13722
|
+
gImpl: ({ SUBRULE }) => (ast, { astFactory: F2 }) => {
|
|
13687
13723
|
SUBRULE(prologue, ast.context);
|
|
13688
13724
|
if (F2.isQuerySelect(ast)) {
|
|
13689
13725
|
SUBRULE(selectQuery, ast);
|
|
@@ -13713,13 +13749,13 @@ var selectQuery = {
|
|
|
13713
13749
|
solutionModifiers: modifiers,
|
|
13714
13750
|
datasets: from2,
|
|
13715
13751
|
...selectVal.val,
|
|
13716
|
-
loc: C.
|
|
13752
|
+
loc: C.astFactory.sourceLocation(selectVal, where2, modifiers.group, modifiers.having, modifiers.order, modifiers.limitOffset)
|
|
13717
13753
|
};
|
|
13718
13754
|
queryIsGood(ret);
|
|
13719
13755
|
return ret;
|
|
13720
13756
|
});
|
|
13721
13757
|
},
|
|
13722
|
-
gImpl: ({ SUBRULE }) => (ast, {
|
|
13758
|
+
gImpl: ({ SUBRULE }) => (ast, { astFactory: F2 }) => {
|
|
13723
13759
|
SUBRULE(selectClause, F2.wrap({
|
|
13724
13760
|
variables: ast.variables,
|
|
13725
13761
|
distinct: ast.distinct,
|
|
@@ -13737,14 +13773,14 @@ var subSelect = {
|
|
|
13737
13773
|
const where2 = SUBRULE(whereClause);
|
|
13738
13774
|
const modifiers = SUBRULE(solutionModifier);
|
|
13739
13775
|
const values3 = SUBRULE(valuesClause);
|
|
13740
|
-
return ACTION(() => C.
|
|
13776
|
+
return ACTION(() => C.astFactory.querySelect({
|
|
13741
13777
|
where: where2.val,
|
|
13742
|
-
datasets: C.
|
|
13778
|
+
datasets: C.astFactory.datasetClauses([], C.astFactory.sourceLocation()),
|
|
13743
13779
|
context: [],
|
|
13744
13780
|
solutionModifiers: modifiers,
|
|
13745
13781
|
...selectVal.val,
|
|
13746
13782
|
...values3 && { values: values3 }
|
|
13747
|
-
}, C.
|
|
13783
|
+
}, C.astFactory.sourceLocation(selectVal, where2, modifiers.group, modifiers.having, modifiers.order, modifiers.limitOffset, values3)));
|
|
13748
13784
|
}
|
|
13749
13785
|
};
|
|
13750
13786
|
var selectClause = {
|
|
@@ -13775,7 +13811,7 @@ var selectClause = {
|
|
|
13775
13811
|
const star2 = CONSUME(symbols_exports.star);
|
|
13776
13812
|
return ACTION(() => {
|
|
13777
13813
|
last2 = star2;
|
|
13778
|
-
return { variables: [C.
|
|
13814
|
+
return { variables: [C.astFactory.wildcard(C.astFactory.sourceLocation(star2))], ...distRed };
|
|
13779
13815
|
});
|
|
13780
13816
|
} },
|
|
13781
13817
|
{ ALT: () => {
|
|
@@ -13805,7 +13841,7 @@ var selectClause = {
|
|
|
13805
13841
|
throw new Error(`Variable ${variable.value} used more than once in SELECT clause`);
|
|
13806
13842
|
}
|
|
13807
13843
|
usedVars.push(variable);
|
|
13808
|
-
variables.push(C.
|
|
13844
|
+
variables.push(C.astFactory.patternBind(expr, variable, C.astFactory.sourceLocation(open, last2)));
|
|
13809
13845
|
});
|
|
13810
13846
|
} }
|
|
13811
13847
|
]));
|
|
@@ -13813,9 +13849,9 @@ var selectClause = {
|
|
|
13813
13849
|
} }
|
|
13814
13850
|
]);
|
|
13815
13851
|
ACTION(() => !couldParseAgg && C.parseMode.delete("canParseAggregate"));
|
|
13816
|
-
return ACTION(() => C.
|
|
13852
|
+
return ACTION(() => C.astFactory.wrap(val, C.astFactory.sourceLocation(select2, last2)));
|
|
13817
13853
|
},
|
|
13818
|
-
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, {
|
|
13854
|
+
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { astFactory: F2 }) => {
|
|
13819
13855
|
F2.printFilter(ast, () => {
|
|
13820
13856
|
PRINT_WORD("SELECT");
|
|
13821
13857
|
if (ast.val.distinct) {
|
|
@@ -13855,7 +13891,7 @@ var constructQuery = {
|
|
|
13855
13891
|
datasets: from2,
|
|
13856
13892
|
where: where2.val,
|
|
13857
13893
|
solutionModifiers: modifiers,
|
|
13858
|
-
loc: C.
|
|
13894
|
+
loc: C.astFactory.sourceLocation(construct2, where2, modifiers.group, modifiers.having, modifiers.order, modifiers.limitOffset)
|
|
13859
13895
|
}));
|
|
13860
13896
|
} },
|
|
13861
13897
|
{ ALT: () => {
|
|
@@ -13867,19 +13903,26 @@ var constructQuery = {
|
|
|
13867
13903
|
subType: "construct",
|
|
13868
13904
|
template: template.val,
|
|
13869
13905
|
datasets: from2,
|
|
13870
|
-
where: C.
|
|
13906
|
+
where: C.astFactory.patternGroup([template.val], C.astFactory.sourceLocation()),
|
|
13871
13907
|
solutionModifiers: modifiers,
|
|
13872
|
-
loc: C.
|
|
13908
|
+
loc: C.astFactory.sourceLocation(construct2, template, modifiers.group, modifiers.having, modifiers.order, modifiers.limitOffset)
|
|
13873
13909
|
}));
|
|
13874
13910
|
} }
|
|
13875
13911
|
]);
|
|
13876
13912
|
},
|
|
13877
|
-
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast,
|
|
13913
|
+
gImpl: ({ SUBRULE, PRINT_WORD, PRINT_ON_EMPTY }) => (ast, C) => {
|
|
13914
|
+
const { astFactory: F2, indentInc } = C;
|
|
13878
13915
|
F2.printFilter(ast, () => PRINT_WORD("CONSTRUCT"));
|
|
13879
13916
|
if (!F2.isSourceLocationNoMaterialize(ast.where.loc)) {
|
|
13880
|
-
F2.printFilter(ast, () =>
|
|
13917
|
+
F2.printFilter(ast, () => {
|
|
13918
|
+
C[traqulaIndentation] += indentInc;
|
|
13919
|
+
PRINT_WORD("{\n");
|
|
13920
|
+
});
|
|
13881
13921
|
SUBRULE(triplesBlock, ast.template);
|
|
13882
|
-
F2.printFilter(ast, () =>
|
|
13922
|
+
F2.printFilter(ast, () => {
|
|
13923
|
+
C[traqulaIndentation] -= indentInc;
|
|
13924
|
+
PRINT_ON_EMPTY("}\n");
|
|
13925
|
+
});
|
|
13883
13926
|
}
|
|
13884
13927
|
SUBRULE(datasetClauseStar, ast.datasets);
|
|
13885
13928
|
if (F2.isSourceLocationNoMaterialize(ast.where.loc)) {
|
|
@@ -13904,7 +13947,7 @@ var describeQuery = {
|
|
|
13904
13947
|
} },
|
|
13905
13948
|
{ ALT: () => {
|
|
13906
13949
|
const star2 = CONSUME(symbols_exports.star);
|
|
13907
|
-
return [ACTION(() => C.
|
|
13950
|
+
return [ACTION(() => C.astFactory.wildcard(C.astFactory.sourceLocation(star2)))];
|
|
13908
13951
|
} }
|
|
13909
13952
|
]);
|
|
13910
13953
|
const from2 = SUBRULE1(datasetClauseStar);
|
|
@@ -13916,10 +13959,10 @@ var describeQuery = {
|
|
|
13916
13959
|
datasets: from2,
|
|
13917
13960
|
...where2 && { where: where2.val },
|
|
13918
13961
|
solutionModifiers: modifiers,
|
|
13919
|
-
loc: C.
|
|
13962
|
+
loc: C.astFactory.sourceLocation(describe2, ...variables, from2, where2, modifiers.group, modifiers.having, modifiers.order, modifiers.limitOffset)
|
|
13920
13963
|
}));
|
|
13921
13964
|
},
|
|
13922
|
-
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, {
|
|
13965
|
+
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { astFactory: F2 }) => {
|
|
13923
13966
|
F2.printFilter(ast, () => PRINT_WORD("DESCRIBE"));
|
|
13924
13967
|
if (F2.isWildcard(ast.variables[0])) {
|
|
13925
13968
|
F2.printFilter(ast, () => PRINT_WORD("*"));
|
|
@@ -13947,10 +13990,10 @@ var askQuery = {
|
|
|
13947
13990
|
datasets: from2,
|
|
13948
13991
|
where: where2.val,
|
|
13949
13992
|
solutionModifiers: modifiers,
|
|
13950
|
-
loc: C.
|
|
13993
|
+
loc: C.astFactory.sourceLocation(ask2, from2, where2, modifiers.group, modifiers.having, modifiers.order, modifiers.limitOffset)
|
|
13951
13994
|
}));
|
|
13952
13995
|
},
|
|
13953
|
-
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, {
|
|
13996
|
+
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { astFactory: F2 }) => {
|
|
13954
13997
|
F2.printFilter(ast, () => PRINT_WORD("ASK"));
|
|
13955
13998
|
SUBRULE(datasetClauseStar, ast.datasets);
|
|
13956
13999
|
SUBRULE(whereClause, F2.wrap(ast.where, ast.loc));
|
|
@@ -13967,7 +14010,7 @@ var constructTemplate = {
|
|
|
13967
14010
|
const open = CONSUME(symbols_exports.LCurly);
|
|
13968
14011
|
const triples = OPTION(() => SUBRULE1(constructTriples));
|
|
13969
14012
|
const close = CONSUME(symbols_exports.RCurly);
|
|
13970
|
-
return ACTION(() => C.
|
|
14013
|
+
return ACTION(() => C.astFactory.wrap(triples ?? C.astFactory.patternBgp([], C.astFactory.sourceLocation()), C.astFactory.sourceLocation(open, close)));
|
|
13971
14014
|
}
|
|
13972
14015
|
};
|
|
13973
14016
|
var constructTriples = {
|
|
@@ -14004,13 +14047,13 @@ var update = {
|
|
|
14004
14047
|
const update2 = {
|
|
14005
14048
|
type: "update",
|
|
14006
14049
|
updates,
|
|
14007
|
-
loc: C.
|
|
14050
|
+
loc: C.astFactory.sourceLocation(...updates[0].context, updates[0].operation, ...updates.at(-1).context, updates.at(-1)?.operation)
|
|
14008
14051
|
};
|
|
14009
14052
|
updateNoReuseBlankNodeLabels(update2);
|
|
14010
14053
|
return update2;
|
|
14011
14054
|
});
|
|
14012
14055
|
},
|
|
14013
|
-
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, {
|
|
14056
|
+
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { astFactory: F2 }) => {
|
|
14014
14057
|
const [head2, ...tail] = ast.updates;
|
|
14015
14058
|
if (head2) {
|
|
14016
14059
|
SUBRULE(prologue, head2.context);
|
|
@@ -14090,9 +14133,9 @@ var load2 = {
|
|
|
14090
14133
|
CONSUME(loadInto);
|
|
14091
14134
|
return SUBRULE1(graphRef);
|
|
14092
14135
|
});
|
|
14093
|
-
return ACTION(() => C.
|
|
14136
|
+
return ACTION(() => C.astFactory.updateOperationLoad(C.astFactory.sourceLocation(loadToken, source, destination), source, Boolean(silent2), destination));
|
|
14094
14137
|
},
|
|
14095
|
-
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, {
|
|
14138
|
+
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { astFactory: F2 }) => {
|
|
14096
14139
|
F2.printFilter(ast, () => {
|
|
14097
14140
|
PRINT_WORD("LOAD");
|
|
14098
14141
|
if (ast.silent) {
|
|
@@ -14113,9 +14156,9 @@ function clearOrDrop(operation) {
|
|
|
14113
14156
|
const opToken = CONSUME(operation);
|
|
14114
14157
|
const silent2 = OPTION(() => CONSUME(silent));
|
|
14115
14158
|
const destination = SUBRULE1(graphRefAll);
|
|
14116
|
-
return ACTION(() => C.
|
|
14159
|
+
return ACTION(() => C.astFactory.updateOperationClearDrop(unCapitalize(operation.name), Boolean(silent2), destination, C.astFactory.sourceLocation(opToken, destination)));
|
|
14117
14160
|
},
|
|
14118
|
-
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, {
|
|
14161
|
+
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { astFactory: F2 }) => {
|
|
14119
14162
|
F2.printFilter(ast, () => {
|
|
14120
14163
|
PRINT_WORD(operation.name.toUpperCase());
|
|
14121
14164
|
if (ast.silent) {
|
|
@@ -14134,9 +14177,9 @@ var create2 = {
|
|
|
14134
14177
|
const createToken3 = CONSUME(create);
|
|
14135
14178
|
const silent2 = OPTION(() => CONSUME(silent));
|
|
14136
14179
|
const destination = SUBRULE1(graphRef);
|
|
14137
|
-
return ACTION(() => C.
|
|
14180
|
+
return ACTION(() => C.astFactory.updateOperationCreate(destination, Boolean(silent2), C.astFactory.sourceLocation(createToken3, destination)));
|
|
14138
14181
|
},
|
|
14139
|
-
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, {
|
|
14182
|
+
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { astFactory: F2 }) => {
|
|
14140
14183
|
F2.printFilter(ast, () => {
|
|
14141
14184
|
PRINT_WORD("CREATE");
|
|
14142
14185
|
if (ast.silent) {
|
|
@@ -14155,9 +14198,9 @@ function copyMoveAddOperation(operation) {
|
|
|
14155
14198
|
const source = SUBRULE1(graphOrDefault);
|
|
14156
14199
|
CONSUME(to);
|
|
14157
14200
|
const destination = SUBRULE2(graphOrDefault);
|
|
14158
|
-
return ACTION(() => C.
|
|
14201
|
+
return ACTION(() => C.astFactory.updateOperationAddMoveCopy(unCapitalize(operation.name), source, destination, Boolean(silent2), C.astFactory.sourceLocation(op, destination)));
|
|
14159
14202
|
},
|
|
14160
|
-
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, {
|
|
14203
|
+
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { astFactory: F2 }) => {
|
|
14161
14204
|
F2.printFilter(ast, () => {
|
|
14162
14205
|
PRINT_WORD(operation.name.toUpperCase());
|
|
14163
14206
|
if (ast.silent) {
|
|
@@ -14179,7 +14222,7 @@ var quadPattern = {
|
|
|
14179
14222
|
const open = CONSUME(symbols_exports.LCurly);
|
|
14180
14223
|
const val = SUBRULE1(quads);
|
|
14181
14224
|
const close = CONSUME(symbols_exports.RCurly);
|
|
14182
|
-
return ACTION(() => C.
|
|
14225
|
+
return ACTION(() => C.astFactory.wrap(val.val, C.astFactory.sourceLocation(open, close)));
|
|
14183
14226
|
}
|
|
14184
14227
|
};
|
|
14185
14228
|
var quadData = {
|
|
@@ -14190,7 +14233,7 @@ var quadData = {
|
|
|
14190
14233
|
const val = SUBRULE1(quads);
|
|
14191
14234
|
ACTION(() => couldParseVars && C.parseMode.add("canParseVars"));
|
|
14192
14235
|
const close = CONSUME(symbols_exports.RCurly);
|
|
14193
|
-
return ACTION(() => C.
|
|
14236
|
+
return ACTION(() => C.astFactory.wrap(val.val, C.astFactory.sourceLocation(open, close)));
|
|
14194
14237
|
}
|
|
14195
14238
|
};
|
|
14196
14239
|
function insertDeleteDelWhere(name, subType, cons1, cons2, dataRule) {
|
|
@@ -14207,12 +14250,26 @@ function insertDeleteDelWhere(name, subType, cons1, cons2, dataRule) {
|
|
|
14207
14250
|
if (name !== "insertData") {
|
|
14208
14251
|
ACTION(() => couldCreateBlankNodes && C.parseMode.add("canCreateBlankNodes"));
|
|
14209
14252
|
}
|
|
14210
|
-
return ACTION(() => C.
|
|
14253
|
+
return ACTION(() => C.astFactory.updateOperationInsDelDataWhere(subType, data.val, C.astFactory.sourceLocation(insDelToken, data)));
|
|
14211
14254
|
},
|
|
14212
|
-
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast,
|
|
14213
|
-
|
|
14255
|
+
gImpl: ({ SUBRULE, PRINT_WORD, PRINT_ON_EMPTY }) => (ast, C) => {
|
|
14256
|
+
const { astFactory: F2, indentInc } = C;
|
|
14257
|
+
F2.printFilter(ast, () => {
|
|
14258
|
+
C[traqulaIndentation] += indentInc;
|
|
14259
|
+
if (subType === "insertdata") {
|
|
14260
|
+
PRINT_WORD("INSERT DATA");
|
|
14261
|
+
} else if (subType === "deletedata") {
|
|
14262
|
+
PRINT_WORD("DELETE DATA");
|
|
14263
|
+
} else if (subType === "deletewhere") {
|
|
14264
|
+
PRINT_WORD("DELETE WHERE");
|
|
14265
|
+
}
|
|
14266
|
+
PRINT_WORD("{\n");
|
|
14267
|
+
});
|
|
14214
14268
|
SUBRULE(quads, F2.wrap(ast.data, ast.loc));
|
|
14215
|
-
F2.printFilter(ast, () =>
|
|
14269
|
+
F2.printFilter(ast, () => {
|
|
14270
|
+
C[traqulaIndentation] -= indentInc;
|
|
14271
|
+
PRINT_ON_EMPTY("}\n");
|
|
14272
|
+
});
|
|
14216
14273
|
}
|
|
14217
14274
|
};
|
|
14218
14275
|
}
|
|
@@ -14241,22 +14298,35 @@ var modify = {
|
|
|
14241
14298
|
const using = SUBRULE1(usingClauseStar);
|
|
14242
14299
|
CONSUME(where);
|
|
14243
14300
|
const where2 = SUBRULE1(groupGraphPattern);
|
|
14244
|
-
return ACTION(() => C.
|
|
14301
|
+
return ACTION(() => C.astFactory.updateOperationModify(C.astFactory.sourceLocation(graph2?.withToken, del, insert, where2), insert?.val ?? [], del?.val ?? [], where2, using, graph2?.graph));
|
|
14245
14302
|
},
|
|
14246
|
-
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast,
|
|
14303
|
+
gImpl: ({ SUBRULE, PRINT_WORD, PRINT_ON_EMPTY }) => (ast, C) => {
|
|
14304
|
+
const { astFactory: F2, indentInc } = C;
|
|
14247
14305
|
if (ast.graph) {
|
|
14248
14306
|
F2.printFilter(ast, () => PRINT_WORD("WITH"));
|
|
14249
14307
|
SUBRULE(iri2, ast.graph);
|
|
14250
14308
|
}
|
|
14251
14309
|
if (ast.delete.length > 0) {
|
|
14252
|
-
F2.printFilter(ast, () =>
|
|
14310
|
+
F2.printFilter(ast, () => {
|
|
14311
|
+
C[traqulaIndentation] += indentInc;
|
|
14312
|
+
PRINT_WORD("DELETE", "{\n");
|
|
14313
|
+
});
|
|
14253
14314
|
SUBRULE(quads, F2.wrap(ast.delete, ast.loc));
|
|
14254
|
-
F2.printFilter(ast, () =>
|
|
14315
|
+
F2.printFilter(ast, () => {
|
|
14316
|
+
C[traqulaIndentation] -= indentInc;
|
|
14317
|
+
PRINT_ON_EMPTY("}\n");
|
|
14318
|
+
});
|
|
14255
14319
|
}
|
|
14256
14320
|
if (ast.insert.length > 0) {
|
|
14257
|
-
F2.printFilter(ast, () =>
|
|
14321
|
+
F2.printFilter(ast, () => {
|
|
14322
|
+
C[traqulaIndentation] += indentInc;
|
|
14323
|
+
PRINT_WORD("INSERT", "{\n");
|
|
14324
|
+
});
|
|
14258
14325
|
SUBRULE(quads, F2.wrap(ast.insert, ast.loc));
|
|
14259
|
-
F2.printFilter(ast, () =>
|
|
14326
|
+
F2.printFilter(ast, () => {
|
|
14327
|
+
C[traqulaIndentation] -= indentInc;
|
|
14328
|
+
PRINT_ON_EMPTY("}\n");
|
|
14329
|
+
});
|
|
14260
14330
|
}
|
|
14261
14331
|
SUBRULE(usingClauseStar, ast.from);
|
|
14262
14332
|
F2.printFilter(ast, () => PRINT_WORD("WHERE"));
|
|
@@ -14270,7 +14340,7 @@ var deleteClause2 = {
|
|
|
14270
14340
|
const couldCreateBlankNodes = ACTION(() => C.parseMode.delete("canCreateBlankNodes"));
|
|
14271
14341
|
const del = SUBRULE(quadPattern);
|
|
14272
14342
|
ACTION(() => couldCreateBlankNodes && C.parseMode.add("canCreateBlankNodes"));
|
|
14273
|
-
return ACTION(() => C.
|
|
14343
|
+
return ACTION(() => C.astFactory.wrap(del.val, C.astFactory.sourceLocation(delToken, del)));
|
|
14274
14344
|
}
|
|
14275
14345
|
};
|
|
14276
14346
|
var insertClause2 = {
|
|
@@ -14278,7 +14348,7 @@ var insertClause2 = {
|
|
|
14278
14348
|
impl: ({ ACTION, SUBRULE, CONSUME }) => (C) => {
|
|
14279
14349
|
const insertToken = CONSUME(insertClause);
|
|
14280
14350
|
const insert = SUBRULE(quadPattern);
|
|
14281
|
-
return ACTION(() => C.
|
|
14351
|
+
return ACTION(() => C.astFactory.wrap(insert.val, C.astFactory.sourceLocation(insertToken, insert)));
|
|
14282
14352
|
}
|
|
14283
14353
|
};
|
|
14284
14354
|
var graphOrDefault = {
|
|
@@ -14286,12 +14356,12 @@ var graphOrDefault = {
|
|
|
14286
14356
|
impl: ({ ACTION, SUBRULE1, CONSUME, OPTION, OR }) => (C) => OR([
|
|
14287
14357
|
{ ALT: () => {
|
|
14288
14358
|
const def = CONSUME(graph_exports.default_);
|
|
14289
|
-
return ACTION(() => C.
|
|
14359
|
+
return ACTION(() => C.astFactory.graphRefDefault(C.astFactory.sourceLocation(def)));
|
|
14290
14360
|
} },
|
|
14291
14361
|
{ ALT: () => {
|
|
14292
14362
|
const graph2 = OPTION(() => CONSUME(graph_exports.graph));
|
|
14293
14363
|
const name = SUBRULE1(iri2);
|
|
14294
|
-
return ACTION(() => C.
|
|
14364
|
+
return ACTION(() => C.astFactory.graphRefSpecific(name, C.astFactory.sourceLocation(graph2, name)));
|
|
14295
14365
|
} }
|
|
14296
14366
|
])
|
|
14297
14367
|
};
|
|
@@ -14300,9 +14370,9 @@ var graphRef = {
|
|
|
14300
14370
|
impl: ({ ACTION, SUBRULE, CONSUME }) => (C) => {
|
|
14301
14371
|
const graph2 = CONSUME(graph_exports.graph);
|
|
14302
14372
|
const val = SUBRULE(iri2);
|
|
14303
|
-
return ACTION(() => C.
|
|
14373
|
+
return ACTION(() => C.astFactory.graphRefSpecific(val, C.astFactory.sourceLocation(graph2, val)));
|
|
14304
14374
|
},
|
|
14305
|
-
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, {
|
|
14375
|
+
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { astFactory: F2 }) => {
|
|
14306
14376
|
F2.printFilter(ast, () => PRINT_WORD("GRAPH"));
|
|
14307
14377
|
SUBRULE(iri2, ast.graph);
|
|
14308
14378
|
}
|
|
@@ -14313,18 +14383,18 @@ var graphRefAll = {
|
|
|
14313
14383
|
{ ALT: () => SUBRULE(graphRef) },
|
|
14314
14384
|
{ ALT: () => {
|
|
14315
14385
|
const def = CONSUME(graph_exports.default_);
|
|
14316
|
-
return ACTION(() => C.
|
|
14386
|
+
return ACTION(() => C.astFactory.graphRefDefault(C.astFactory.sourceLocation(def)));
|
|
14317
14387
|
} },
|
|
14318
14388
|
{ ALT: () => {
|
|
14319
14389
|
const named2 = CONSUME(graph_exports.named);
|
|
14320
|
-
return ACTION(() => C.
|
|
14390
|
+
return ACTION(() => C.astFactory.graphRefNamed(C.astFactory.sourceLocation(named2)));
|
|
14321
14391
|
} },
|
|
14322
14392
|
{ ALT: () => {
|
|
14323
14393
|
const graphAll2 = CONSUME(graph_exports.graphAll);
|
|
14324
|
-
return ACTION(() => C.
|
|
14394
|
+
return ACTION(() => C.astFactory.graphRefAll(C.astFactory.sourceLocation(graphAll2)));
|
|
14325
14395
|
} }
|
|
14326
14396
|
]),
|
|
14327
|
-
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, {
|
|
14397
|
+
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { astFactory: F2 }) => {
|
|
14328
14398
|
if (F2.isGraphRefSpecific(ast)) {
|
|
14329
14399
|
SUBRULE(graphRef, ast);
|
|
14330
14400
|
} else if (F2.isGraphRefDefault(ast)) {
|
|
@@ -14361,9 +14431,9 @@ var quads = {
|
|
|
14361
14431
|
ACTION(() => quads2.push(triples));
|
|
14362
14432
|
});
|
|
14363
14433
|
});
|
|
14364
|
-
return ACTION(() => C.
|
|
14434
|
+
return ACTION(() => C.astFactory.wrap(quads2, C.astFactory.sourceLocation(quads2.at(0), last2)));
|
|
14365
14435
|
},
|
|
14366
|
-
gImpl: ({ SUBRULE }) => (ast, {
|
|
14436
|
+
gImpl: ({ SUBRULE }) => (ast, { astFactory: F2 }) => {
|
|
14367
14437
|
for (const quad of ast.val) {
|
|
14368
14438
|
if (F2.isPattern(quad)) {
|
|
14369
14439
|
SUBRULE(triplesBlock, quad);
|
|
@@ -14381,14 +14451,21 @@ var quadsNotTriples = {
|
|
|
14381
14451
|
CONSUME(symbols_exports.LCurly);
|
|
14382
14452
|
const triples = OPTION(() => SUBRULE1(triplesTemplate));
|
|
14383
14453
|
const close = CONSUME(symbols_exports.RCurly);
|
|
14384
|
-
return ACTION(() => C.
|
|
14454
|
+
return ACTION(() => C.astFactory.graphQuads(name, triples ?? C.astFactory.patternBgp([], C.astFactory.sourceLocationNoMaterialize()), C.astFactory.sourceLocation(graph2, close)));
|
|
14385
14455
|
},
|
|
14386
|
-
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast,
|
|
14456
|
+
gImpl: ({ SUBRULE, PRINT_WORD, PRINT_ON_EMPTY }) => (ast, C) => {
|
|
14457
|
+
const { astFactory: F2, indentInc } = C;
|
|
14387
14458
|
F2.printFilter(ast, () => PRINT_WORD("GRAPH"));
|
|
14388
14459
|
SUBRULE(varOrTerm, ast.graph);
|
|
14389
|
-
F2.printFilter(ast, () =>
|
|
14460
|
+
F2.printFilter(ast, () => {
|
|
14461
|
+
C[traqulaIndentation] += indentInc;
|
|
14462
|
+
PRINT_WORD("{\n");
|
|
14463
|
+
});
|
|
14390
14464
|
SUBRULE(triplesBlock, ast.triples);
|
|
14391
|
-
F2.printFilter(ast, () =>
|
|
14465
|
+
F2.printFilter(ast, () => {
|
|
14466
|
+
C[traqulaIndentation] -= indentInc;
|
|
14467
|
+
PRINT_ON_EMPTY("}\n");
|
|
14468
|
+
});
|
|
14392
14469
|
}
|
|
14393
14470
|
};
|
|
14394
14471
|
|
|
@@ -14411,7 +14488,7 @@ var queryOrUpdate = {
|
|
|
14411
14488
|
...subType,
|
|
14412
14489
|
type: "query",
|
|
14413
14490
|
...values3 && { values: values3 },
|
|
14414
|
-
loc: C.
|
|
14491
|
+
loc: C.astFactory.sourceLocation(prologueValues.at(0), subType, values3)
|
|
14415
14492
|
}));
|
|
14416
14493
|
} },
|
|
14417
14494
|
{ ALT: () => {
|
|
@@ -14435,7 +14512,7 @@ var queryOrUpdate = {
|
|
|
14435
14512
|
const update2 = {
|
|
14436
14513
|
type: "update",
|
|
14437
14514
|
updates,
|
|
14438
|
-
loc: C.
|
|
14515
|
+
loc: C.astFactory.sourceLocation(...updates[0].context, updates[0].operation, ...updates.at(-1).context, updates.at(-1)?.operation)
|
|
14439
14516
|
};
|
|
14440
14517
|
updateNoReuseBlankNodeLabels(update2);
|
|
14441
14518
|
return update2;
|
|
@@ -14443,7 +14520,7 @@ var queryOrUpdate = {
|
|
|
14443
14520
|
} }
|
|
14444
14521
|
]);
|
|
14445
14522
|
},
|
|
14446
|
-
gImpl: ({ SUBRULE }) => (ast, {
|
|
14523
|
+
gImpl: ({ SUBRULE }) => (ast, { astFactory: F2 }) => {
|
|
14447
14524
|
if (F2.isQuery(ast)) {
|
|
14448
14525
|
SUBRULE(query, ast);
|
|
14449
14526
|
} else {
|
|
@@ -14455,13 +14532,15 @@ var queryOrUpdate = {
|
|
|
14455
14532
|
// ../../packages/rules-sparql-1-1/lib/MinimalSparqlParser.js
|
|
14456
14533
|
function completeParseContext(context) {
|
|
14457
14534
|
return {
|
|
14458
|
-
|
|
14535
|
+
astFactory: context.astFactory ?? new AstFactory(),
|
|
14459
14536
|
baseIRI: context.baseIRI,
|
|
14460
14537
|
prefixes: { ...context.prefixes },
|
|
14461
14538
|
origSource: context.origSource ?? "",
|
|
14462
14539
|
offset: context.offset,
|
|
14463
14540
|
parseMode: context.parseMode ? new Set(context.parseMode) : /* @__PURE__ */ new Set(["canParseVars", "canCreateBlankNodes"]),
|
|
14464
|
-
skipValidation: context.skipValidation ?? false
|
|
14541
|
+
skipValidation: context.skipValidation ?? false,
|
|
14542
|
+
[traqulaIndentation]: context[traqulaIndentation] ?? 0,
|
|
14543
|
+
indentInc: context.indentInc ?? 2
|
|
14465
14544
|
};
|
|
14466
14545
|
}
|
|
14467
14546
|
var MinimalSparqlParser = class {
|
|
@@ -14469,7 +14548,7 @@ var MinimalSparqlParser = class {
|
|
|
14469
14548
|
constructor(parser) {
|
|
14470
14549
|
this.parser = parser;
|
|
14471
14550
|
}
|
|
14472
|
-
F = new
|
|
14551
|
+
F = new AstFactory();
|
|
14473
14552
|
parse(query2, context = {}) {
|
|
14474
14553
|
return this.parser.queryOrUpdate(query2, completeParseContext(context));
|
|
14475
14554
|
}
|