@traqula/rules-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/MinimalSparqlParser.d.ts +3 -3
- package/lib/MinimalSparqlParser.js +6 -3
- package/lib/MinimalSparqlParser.js.map +1 -1
- package/lib/{factory.d.ts → astFactory.d.ts} +4 -4
- package/lib/{factory.js → astFactory.js} +3 -3
- package/lib/astFactory.js.map +1 -0
- package/lib/expressionHelpers.js +12 -12
- package/lib/expressionHelpers.js.map +1 -1
- package/lib/factoryMixins/ContextFactory.d.ts +2 -2
- package/lib/factoryMixins/ContextFactory.js.map +1 -1
- package/lib/factoryMixins/ExpressionFactory.d.ts +2 -2
- package/lib/factoryMixins/ExpressionFactory.js.map +1 -1
- package/lib/factoryMixins/GraphRefFactory.d.ts +2 -2
- package/lib/factoryMixins/GraphRefFactory.js.map +1 -1
- package/lib/factoryMixins/PathFactory.d.ts +2 -2
- package/lib/factoryMixins/PathFactory.js.map +1 -1
- package/lib/factoryMixins/Patternfactory.d.ts +2 -2
- package/lib/factoryMixins/Patternfactory.js.map +1 -1
- package/lib/factoryMixins/QueryFactory.d.ts +2 -2
- package/lib/factoryMixins/QueryFactory.js.map +1 -1
- package/lib/factoryMixins/SolutionModifiersFactory.d.ts +2 -2
- package/lib/factoryMixins/SolutionModifiersFactory.js.map +1 -1
- package/lib/factoryMixins/TermFactory.d.ts +2 -2
- package/lib/factoryMixins/TermFactory.js.map +1 -1
- package/lib/factoryMixins/UpdateOperationFactory.d.ts +2 -2
- package/lib/factoryMixins/UpdateOperationFactory.js.map +1 -1
- package/lib/grammar/builtIn.d.ts +1 -1
- package/lib/grammar/builtIn.js +7 -7
- package/lib/grammar/builtIn.js.map +1 -1
- package/lib/grammar/dataSetClause.js +6 -6
- package/lib/grammar/dataSetClause.js.map +1 -1
- package/lib/grammar/expression.js +18 -18
- package/lib/grammar/expression.js.map +1 -1
- package/lib/grammar/general.js +12 -10
- package/lib/grammar/general.js.map +1 -1
- package/lib/grammar/index.js +3 -3
- package/lib/grammar/index.js.map +1 -1
- package/lib/grammar/literals.js +24 -24
- package/lib/grammar/literals.js.map +1 -1
- package/lib/grammar/propertyPaths.d.ts +2 -2
- package/lib/grammar/propertyPaths.js +7 -7
- package/lib/grammar/propertyPaths.js.map +1 -1
- package/lib/grammar/queryUnit.js +31 -23
- package/lib/grammar/queryUnit.js.map +1 -1
- package/lib/grammar/solutionModifier.js +26 -16
- package/lib/grammar/solutionModifier.js.map +1 -1
- package/lib/grammar/tripleBlock.d.ts +4 -4
- package/lib/grammar/tripleBlock.js +33 -20
- package/lib/grammar/tripleBlock.js.map +1 -1
- package/lib/grammar/updateUnit.js +75 -41
- package/lib/grammar/updateUnit.js.map +1 -1
- package/lib/grammar/whereClause.d.ts +1 -1
- package/lib/grammar/whereClause.js +46 -32
- package/lib/grammar/whereClause.js.map +1 -1
- package/lib/index.cjs +311 -232
- package/lib/index.d.ts +1 -1
- package/lib/index.js +1 -1
- package/lib/index.js.map +1 -1
- package/lib/lexer/BuiltInCalls.d.ts +1 -1
- package/lib/lexer/lexer.d.ts +2 -2
- package/lib/lexer/symbols.d.ts +1 -1
- package/lib/lexer/terminals.d.ts +1 -1
- package/lib/sparql11HelperTypes.d.ts +9 -6
- package/lib/sparql11HelperTypes.js.map +1 -1
- package/lib/validation/validators.js +2 -2
- package/lib/validation/validators.js.map +1 -1
- package/package.json +3 -3
- package/lib/factory.js.map +0 -1
package/lib/index.cjs
CHANGED
|
@@ -20,8 +20,8 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
20
20
|
// lib/index.ts
|
|
21
21
|
var index_exports = {};
|
|
22
22
|
__export(index_exports, {
|
|
23
|
+
AstFactory: () => AstFactory,
|
|
23
24
|
CommonIRIs: () => CommonIRIs,
|
|
24
|
-
Factory: () => Factory,
|
|
25
25
|
MinimalSparqlParser: () => MinimalSparqlParser,
|
|
26
26
|
TransformerSparql11: () => TransformerSparql11,
|
|
27
27
|
baseAggregateFunc: () => baseAggregateFunc,
|
|
@@ -395,8 +395,8 @@ __export(BuiltInCalls_exports, {
|
|
|
395
395
|
year: () => year
|
|
396
396
|
});
|
|
397
397
|
|
|
398
|
-
// ../core/lib/
|
|
399
|
-
var
|
|
398
|
+
// ../core/lib/AstCoreFactory.js
|
|
399
|
+
var AstCoreFactory = class {
|
|
400
400
|
wrap(val, loc) {
|
|
401
401
|
return { val, loc };
|
|
402
402
|
}
|
|
@@ -9733,6 +9733,15 @@ applyMixins(Parser, [
|
|
|
9733
9733
|
PerformanceTracer
|
|
9734
9734
|
]);
|
|
9735
9735
|
|
|
9736
|
+
// ../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
|
+
var traqulaIndentation = "When you use this string, you expect traqula to handle indentation after every newline";
|
|
9744
|
+
|
|
9736
9745
|
// ../core/lib/lexer-builder/LexerBuilder.js
|
|
9737
9746
|
var LexerBuilder = class _LexerBuilder {
|
|
9738
9747
|
tokens;
|
|
@@ -9830,14 +9839,6 @@ var LexerBuilder = class _LexerBuilder {
|
|
|
9830
9839
|
}
|
|
9831
9840
|
};
|
|
9832
9841
|
|
|
9833
|
-
// ../core/lib/utils.js
|
|
9834
|
-
function unCapitalize(str2) {
|
|
9835
|
-
return str2.charAt(0).toLowerCase() + str2.slice(1);
|
|
9836
|
-
}
|
|
9837
|
-
function createToken2(config) {
|
|
9838
|
-
return createToken(config);
|
|
9839
|
-
}
|
|
9840
|
-
|
|
9841
9842
|
// ../core/lib/Transformers.js
|
|
9842
9843
|
var TransformerType = class {
|
|
9843
9844
|
safeObjectVisit(value, mapper) {
|
|
@@ -10997,8 +10998,8 @@ function UpdateOperationFactoryMixin(Base) {
|
|
|
10997
10998
|
};
|
|
10998
10999
|
}
|
|
10999
11000
|
|
|
11000
|
-
// lib/
|
|
11001
|
-
var
|
|
11001
|
+
// lib/astFactory.js
|
|
11002
|
+
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() {
|
|
11002
11003
|
alwaysSparql11(obj) {
|
|
11003
11004
|
return true;
|
|
11004
11005
|
}
|
|
@@ -11117,7 +11118,7 @@ var TransformerSparql11 = class extends TransformerSubType {
|
|
|
11117
11118
|
};
|
|
11118
11119
|
|
|
11119
11120
|
// lib/validation/validators.js
|
|
11120
|
-
var F = new
|
|
11121
|
+
var F = new AstFactory();
|
|
11121
11122
|
var transformer = new TransformerSparql11();
|
|
11122
11123
|
function getAggregatesOfExpression(expression2) {
|
|
11123
11124
|
if (F.isExpressionAggregate(expression2)) {
|
|
@@ -11337,22 +11338,22 @@ var rdfLiteral = {
|
|
|
11337
11338
|
return OPTION(() => OR([
|
|
11338
11339
|
{ ALT: () => {
|
|
11339
11340
|
const lang2 = CONSUME(terminals_exports.langTag);
|
|
11340
|
-
return ACTION(() => C.
|
|
11341
|
+
return ACTION(() => C.astFactory.literalTerm(C.astFactory.sourceLocation(value, lang2), value.value, lang2.image.slice(1).toLowerCase()));
|
|
11341
11342
|
} },
|
|
11342
11343
|
{ ALT: () => {
|
|
11343
11344
|
CONSUME(symbols_exports.hathat);
|
|
11344
11345
|
const iriVal = SUBRULE1(iri2);
|
|
11345
|
-
return ACTION(() => C.
|
|
11346
|
+
return ACTION(() => C.astFactory.literalTerm(C.astFactory.sourceLocation(value, iriVal), value.value, iriVal));
|
|
11346
11347
|
} }
|
|
11347
11348
|
])) ?? value;
|
|
11348
11349
|
},
|
|
11349
|
-
gImpl: ({ SUBRULE, PRINT, PRINT_SPACE_LEFT }) => (ast, {
|
|
11350
|
-
|
|
11350
|
+
gImpl: ({ SUBRULE, PRINT, PRINT_SPACE_LEFT }) => (ast, { astFactory }) => {
|
|
11351
|
+
astFactory.printFilter(ast, () => PRINT_SPACE_LEFT(stringEscapedLexical(ast.value)));
|
|
11351
11352
|
if (ast.langOrIri) {
|
|
11352
11353
|
if (typeof ast.langOrIri === "string") {
|
|
11353
|
-
|
|
11354
|
+
astFactory.printFilter(ast, () => PRINT("@", ast.langOrIri));
|
|
11354
11355
|
} else {
|
|
11355
|
-
|
|
11356
|
+
astFactory.printFilter(ast, () => PRINT("^^"));
|
|
11356
11357
|
SUBRULE(iri2, ast.langOrIri);
|
|
11357
11358
|
}
|
|
11358
11359
|
}
|
|
@@ -11374,7 +11375,7 @@ var numericLiteralUnsigned = {
|
|
|
11374
11375
|
{ ALT: () => [CONSUME(terminals_exports.decimal), CommonIRIs.DECIMAL] },
|
|
11375
11376
|
{ ALT: () => [CONSUME(terminals_exports.double), CommonIRIs.DOUBLE] }
|
|
11376
11377
|
]);
|
|
11377
|
-
return ACTION(() => C.
|
|
11378
|
+
return ACTION(() => C.astFactory.literalTerm(C.astFactory.sourceLocation(parsed[0]), parsed[0].image, C.astFactory.namedNode(C.astFactory.sourceLocationNoMaterialize(), parsed[1])));
|
|
11378
11379
|
}
|
|
11379
11380
|
};
|
|
11380
11381
|
var numericLiteralPositive = {
|
|
@@ -11385,7 +11386,7 @@ var numericLiteralPositive = {
|
|
|
11385
11386
|
{ ALT: () => [CONSUME(terminals_exports.decimalPositive), CommonIRIs.DECIMAL] },
|
|
11386
11387
|
{ ALT: () => [CONSUME(terminals_exports.doublePositive), CommonIRIs.DOUBLE] }
|
|
11387
11388
|
]);
|
|
11388
|
-
return ACTION(() => C.
|
|
11389
|
+
return ACTION(() => C.astFactory.literalTerm(C.astFactory.sourceLocation(parsed[0]), parsed[0].image, C.astFactory.namedNode(C.astFactory.sourceLocationNoMaterialize(), parsed[1])));
|
|
11389
11390
|
}
|
|
11390
11391
|
};
|
|
11391
11392
|
var numericLiteralNegative = {
|
|
@@ -11396,7 +11397,7 @@ var numericLiteralNegative = {
|
|
|
11396
11397
|
{ ALT: () => [CONSUME(terminals_exports.decimalNegative), CommonIRIs.DECIMAL] },
|
|
11397
11398
|
{ ALT: () => [CONSUME(terminals_exports.doubleNegative), CommonIRIs.DOUBLE] }
|
|
11398
11399
|
]);
|
|
11399
|
-
return ACTION(() => C.
|
|
11400
|
+
return ACTION(() => C.astFactory.literalTerm(C.astFactory.sourceLocation(parsed[0]), parsed[0].image, C.astFactory.namedNode(C.astFactory.sourceLocationNoMaterialize(), parsed[1])));
|
|
11400
11401
|
}
|
|
11401
11402
|
};
|
|
11402
11403
|
var booleanLiteral = {
|
|
@@ -11406,7 +11407,7 @@ var booleanLiteral = {
|
|
|
11406
11407
|
{ ALT: () => CONSUME(true_) },
|
|
11407
11408
|
{ ALT: () => CONSUME(false_) }
|
|
11408
11409
|
]);
|
|
11409
|
-
return ACTION(() => C.
|
|
11410
|
+
return ACTION(() => C.astFactory.literalTerm(C.astFactory.sourceLocation(token), token.image.toLowerCase(), C.astFactory.namedNode(C.astFactory.sourceLocationNoMaterialize(), CommonIRIs.BOOLEAN)));
|
|
11410
11411
|
}
|
|
11411
11412
|
};
|
|
11412
11413
|
var string = {
|
|
@@ -11431,7 +11432,7 @@ var string = {
|
|
|
11431
11432
|
} }
|
|
11432
11433
|
]);
|
|
11433
11434
|
return ACTION(() => {
|
|
11434
|
-
const F2 = C.
|
|
11435
|
+
const F2 = C.astFactory;
|
|
11435
11436
|
const value = x[1].replaceAll(/\\([tnrbf"'\\])/gu, (_, char) => {
|
|
11436
11437
|
switch (char) {
|
|
11437
11438
|
case "t":
|
|
@@ -11458,16 +11459,16 @@ var iri2 = {
|
|
|
11458
11459
|
{ ALT: () => SUBRULE(iriFull) },
|
|
11459
11460
|
{ ALT: () => SUBRULE(prefixedName) }
|
|
11460
11461
|
]),
|
|
11461
|
-
gImpl: ({ SUBRULE }) => (ast, {
|
|
11462
|
+
gImpl: ({ SUBRULE }) => (ast, { astFactory: F2 }) => F2.isTermNamedPrefixed(ast) ? SUBRULE(prefixedName, ast) : SUBRULE(iriFull, ast)
|
|
11462
11463
|
};
|
|
11463
11464
|
var iriFull = {
|
|
11464
11465
|
name: "iriFull",
|
|
11465
11466
|
impl: ({ ACTION, CONSUME }) => (C) => {
|
|
11466
11467
|
const iriToken = CONSUME(terminals_exports.iriRef);
|
|
11467
|
-
return ACTION(() => C.
|
|
11468
|
+
return ACTION(() => C.astFactory.namedNode(C.astFactory.sourceLocation(iriToken), iriToken.image.slice(1, -1)));
|
|
11468
11469
|
},
|
|
11469
|
-
gImpl: ({ PRINT }) => (ast, {
|
|
11470
|
-
|
|
11470
|
+
gImpl: ({ PRINT }) => (ast, { astFactory: F2 }) => {
|
|
11471
|
+
F2.printFilter(ast, () => PRINT("<", ast.value, ">"));
|
|
11471
11472
|
}
|
|
11472
11473
|
};
|
|
11473
11474
|
var prefixedName = {
|
|
@@ -11477,16 +11478,16 @@ var prefixedName = {
|
|
|
11477
11478
|
const longName = CONSUME(terminals_exports.pNameLn);
|
|
11478
11479
|
return ACTION(() => {
|
|
11479
11480
|
const [prefix, localName] = longName.image.split(":");
|
|
11480
|
-
return C.
|
|
11481
|
+
return C.astFactory.namedNode(C.astFactory.sourceLocation(longName), localName, prefix);
|
|
11481
11482
|
});
|
|
11482
11483
|
} },
|
|
11483
11484
|
{ ALT: () => {
|
|
11484
11485
|
const shortName = CONSUME(terminals_exports.pNameNs);
|
|
11485
|
-
return ACTION(() => C.
|
|
11486
|
+
return ACTION(() => C.astFactory.namedNode(C.astFactory.sourceLocation(shortName), "", shortName.image.slice(0, -1)));
|
|
11486
11487
|
} }
|
|
11487
11488
|
]),
|
|
11488
|
-
gImpl: ({ PRINT_WORD }) => (ast, {
|
|
11489
|
-
|
|
11489
|
+
gImpl: ({ PRINT_WORD }) => (ast, { astFactory: F2 }) => {
|
|
11490
|
+
F2.printFilter(ast, () => PRINT_WORD(ast.prefix, ":", ast.value));
|
|
11490
11491
|
}
|
|
11491
11492
|
};
|
|
11492
11493
|
var canCreateBlankNodes = Symbol("canCreateBlankNodes");
|
|
@@ -11496,11 +11497,11 @@ var blankNode = {
|
|
|
11496
11497
|
const result = OR([
|
|
11497
11498
|
{ ALT: () => {
|
|
11498
11499
|
const labelToken = CONSUME(terminals_exports.blankNodeLabel);
|
|
11499
|
-
return ACTION(() => C.
|
|
11500
|
+
return ACTION(() => C.astFactory.blankNode(labelToken.image.slice(2), C.astFactory.sourceLocation(labelToken)));
|
|
11500
11501
|
} },
|
|
11501
11502
|
{ ALT: () => {
|
|
11502
11503
|
const anonToken = CONSUME(terminals_exports.anon);
|
|
11503
|
-
return ACTION(() => C.
|
|
11504
|
+
return ACTION(() => C.astFactory.blankNode(void 0, C.astFactory.sourceLocation(anonToken)));
|
|
11504
11505
|
} }
|
|
11505
11506
|
]);
|
|
11506
11507
|
ACTION(() => {
|
|
@@ -11510,15 +11511,15 @@ var blankNode = {
|
|
|
11510
11511
|
});
|
|
11511
11512
|
return result;
|
|
11512
11513
|
},
|
|
11513
|
-
gImpl: ({ PRINT_WORD }) => (ast, {
|
|
11514
|
-
|
|
11514
|
+
gImpl: ({ PRINT_WORD }) => (ast, { astFactory }) => {
|
|
11515
|
+
astFactory.printFilter(ast, () => PRINT_WORD("_:", ast.label.replace(/^e_/u, "")));
|
|
11515
11516
|
}
|
|
11516
11517
|
};
|
|
11517
11518
|
var verbA = {
|
|
11518
11519
|
name: "VerbA",
|
|
11519
11520
|
impl: ({ ACTION, CONSUME }) => (C) => {
|
|
11520
11521
|
const token = CONSUME(a);
|
|
11521
|
-
return ACTION(() => C.
|
|
11522
|
+
return ACTION(() => C.astFactory.namedNode(C.astFactory.sourceLocation(token), CommonIRIs.TYPE, void 0));
|
|
11522
11523
|
}
|
|
11523
11524
|
};
|
|
11524
11525
|
|
|
@@ -11535,7 +11536,7 @@ var prologue = {
|
|
|
11535
11536
|
]));
|
|
11536
11537
|
return result;
|
|
11537
11538
|
},
|
|
11538
|
-
gImpl: ({ SUBRULE }) => (ast, {
|
|
11539
|
+
gImpl: ({ SUBRULE }) => (ast, { astFactory: F2 }) => {
|
|
11539
11540
|
for (const context of ast) {
|
|
11540
11541
|
if (F2.isContextDefinitionBase(context)) {
|
|
11541
11542
|
SUBRULE(baseDecl2, context);
|
|
@@ -11550,11 +11551,12 @@ var baseDecl2 = {
|
|
|
11550
11551
|
impl: ({ ACTION, CONSUME, SUBRULE }) => (C) => {
|
|
11551
11552
|
const base = CONSUME(baseDecl);
|
|
11552
11553
|
const val = SUBRULE(iriFull);
|
|
11553
|
-
return ACTION(() => C.
|
|
11554
|
+
return ACTION(() => C.astFactory.contextDefinitionBase(C.astFactory.sourceLocation(base, val), val));
|
|
11554
11555
|
},
|
|
11555
|
-
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, {
|
|
11556
|
+
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { astFactory: F2 }) => {
|
|
11556
11557
|
F2.printFilter(ast, () => PRINT_WORD("BASE"));
|
|
11557
11558
|
SUBRULE(iri2, ast.value);
|
|
11559
|
+
F2.printFilter(ast, () => PRINT_WORD("\n"));
|
|
11558
11560
|
}
|
|
11559
11561
|
};
|
|
11560
11562
|
var prefixDecl2 = {
|
|
@@ -11563,13 +11565,14 @@ var prefixDecl2 = {
|
|
|
11563
11565
|
const prefix = CONSUME(prefixDecl);
|
|
11564
11566
|
const name = CONSUME(terminals_exports.pNameNs).image.slice(0, -1);
|
|
11565
11567
|
const value = SUBRULE(iriFull);
|
|
11566
|
-
return ACTION(() => C.
|
|
11568
|
+
return ACTION(() => C.astFactory.contextDefinitionPrefix(C.astFactory.sourceLocation(prefix, value), name, value));
|
|
11567
11569
|
},
|
|
11568
|
-
gImpl: ({ SUBRULE, PRINT_WORDS }) => (ast, {
|
|
11570
|
+
gImpl: ({ SUBRULE, PRINT_WORDS }) => (ast, { astFactory: F2 }) => {
|
|
11569
11571
|
F2.printFilter(ast, () => {
|
|
11570
11572
|
PRINT_WORDS("PREFIX", `${ast.key}:`);
|
|
11571
11573
|
});
|
|
11572
11574
|
SUBRULE(iri2, ast.value);
|
|
11575
|
+
F2.printFilter(ast, () => PRINT_WORDS("\n"));
|
|
11573
11576
|
}
|
|
11574
11577
|
};
|
|
11575
11578
|
var verb = {
|
|
@@ -11585,7 +11588,7 @@ var varOrTerm = {
|
|
|
11585
11588
|
{ GATE: () => C.parseMode.has("canParseVars"), ALT: () => SUBRULE(var_) },
|
|
11586
11589
|
{ ALT: () => SUBRULE(graphTerm) }
|
|
11587
11590
|
]),
|
|
11588
|
-
gImpl: ({ SUBRULE }) => (ast, {
|
|
11591
|
+
gImpl: ({ SUBRULE }) => (ast, { astFactory: F2 }) => {
|
|
11589
11592
|
if (F2.isTermVariable(ast)) {
|
|
11590
11593
|
return SUBRULE(var_, ast);
|
|
11591
11594
|
}
|
|
@@ -11606,9 +11609,9 @@ var var_ = {
|
|
|
11606
11609
|
{ ALT: () => CONSUME(terminals_exports.var1) },
|
|
11607
11610
|
{ ALT: () => CONSUME(terminals_exports.var2) }
|
|
11608
11611
|
]);
|
|
11609
|
-
return ACTION(() => C.
|
|
11612
|
+
return ACTION(() => C.astFactory.variable(varToken.image.slice(1), C.astFactory.sourceLocation(varToken)));
|
|
11610
11613
|
},
|
|
11611
|
-
gImpl: ({ PRINT_WORD }) => (ast, {
|
|
11614
|
+
gImpl: ({ PRINT_WORD }) => (ast, { astFactory: F2 }) => {
|
|
11612
11615
|
F2.printFilter(ast, () => PRINT_WORD(`?${ast.value}`));
|
|
11613
11616
|
}
|
|
11614
11617
|
};
|
|
@@ -11622,10 +11625,10 @@ var graphTerm = {
|
|
|
11622
11625
|
{ GATE: () => C.parseMode.has("canCreateBlankNodes"), ALT: () => SUBRULE(blankNode) },
|
|
11623
11626
|
{ ALT: () => {
|
|
11624
11627
|
const tokenNil = CONSUME(terminals_exports.nil);
|
|
11625
|
-
return ACTION(() => C.
|
|
11628
|
+
return ACTION(() => C.astFactory.namedNode(C.astFactory.sourceLocation(tokenNil), CommonIRIs.NIL));
|
|
11626
11629
|
} }
|
|
11627
11630
|
]),
|
|
11628
|
-
gImpl: ({ SUBRULE }) => (ast, {
|
|
11631
|
+
gImpl: ({ SUBRULE }) => (ast, { astFactory: F2 }) => {
|
|
11629
11632
|
if (F2.isTermNamed(ast)) {
|
|
11630
11633
|
SUBRULE(iri2, ast);
|
|
11631
11634
|
} else if (F2.isTermLiteral(ast)) {
|
|
@@ -11645,14 +11648,14 @@ function datasetClauseUsing(name, token) {
|
|
|
11645
11648
|
return OR([
|
|
11646
11649
|
{ ALT: () => {
|
|
11647
11650
|
const iri3 = SUBRULE(defaultGraphClause);
|
|
11648
|
-
return ACTION(() => C.
|
|
11651
|
+
return ACTION(() => C.astFactory.wrap({ clauseType: "default", value: iri3 }, C.astFactory.sourceLocation(start, iri3)));
|
|
11649
11652
|
} },
|
|
11650
11653
|
{ ALT: () => {
|
|
11651
11654
|
const namedClause = SUBRULE(namedGraphClause);
|
|
11652
|
-
return ACTION(() => C.
|
|
11655
|
+
return ACTION(() => C.astFactory.wrap({
|
|
11653
11656
|
clauseType: "named",
|
|
11654
11657
|
value: namedClause.val
|
|
11655
|
-
}, C.
|
|
11658
|
+
}, C.astFactory.sourceLocation(start, namedClause)));
|
|
11656
11659
|
} }
|
|
11657
11660
|
]);
|
|
11658
11661
|
}
|
|
@@ -11673,9 +11676,9 @@ function datasetClauseUsingStar(name, subRule, fromUsing) {
|
|
|
11673
11676
|
const clause = SUBRULE(subRule);
|
|
11674
11677
|
clauses.push(clause);
|
|
11675
11678
|
});
|
|
11676
|
-
return ACTION(() => C.
|
|
11679
|
+
return ACTION(() => C.astFactory.datasetClauses(clauses.map((clause) => clause.val), C.astFactory.sourceLocation(...clauses)));
|
|
11677
11680
|
},
|
|
11678
|
-
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, {
|
|
11681
|
+
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { astFactory: F2 }) => {
|
|
11679
11682
|
for (const clause of ast.clauses) {
|
|
11680
11683
|
F2.printFilter(ast, () => PRINT_WORD(fromUsing));
|
|
11681
11684
|
if (clause.clauseType === "named") {
|
|
@@ -11693,7 +11696,7 @@ var namedGraphClause = {
|
|
|
11693
11696
|
impl: ({ ACTION, SUBRULE, CONSUME }) => (C) => {
|
|
11694
11697
|
const named2 = CONSUME(graph_exports.named);
|
|
11695
11698
|
const iri3 = SUBRULE(sourceSelector);
|
|
11696
|
-
return ACTION(() => C.
|
|
11699
|
+
return ACTION(() => C.astFactory.wrap(iri3, C.astFactory.sourceLocation(named2, iri3)));
|
|
11697
11700
|
}
|
|
11698
11701
|
};
|
|
11699
11702
|
var sourceSelector = {
|
|
@@ -11710,7 +11713,7 @@ function funcExpr1(func) {
|
|
|
11710
11713
|
CONSUME(symbols_exports.LParen);
|
|
11711
11714
|
const arg = SUBRULE(expression);
|
|
11712
11715
|
const close = CONSUME(symbols_exports.RParen);
|
|
11713
|
-
return ACTION(() => C.
|
|
11716
|
+
return ACTION(() => C.astFactory.expressionOperation(operator.image, [arg], C.astFactory.sourceLocation(operator, close)));
|
|
11714
11717
|
}
|
|
11715
11718
|
};
|
|
11716
11719
|
}
|
|
@@ -11724,7 +11727,7 @@ function funcExpr2(func) {
|
|
|
11724
11727
|
CONSUME(symbols_exports.comma);
|
|
11725
11728
|
const arg2 = SUBRULE2(expression);
|
|
11726
11729
|
const close = CONSUME(symbols_exports.RParen);
|
|
11727
|
-
return ACTION(() => C.
|
|
11730
|
+
return ACTION(() => C.astFactory.expressionOperation(operator.image, [arg1, arg2], C.astFactory.sourceLocation(operator, close)));
|
|
11728
11731
|
}
|
|
11729
11732
|
};
|
|
11730
11733
|
}
|
|
@@ -11740,7 +11743,7 @@ function funcExpr3(func) {
|
|
|
11740
11743
|
CONSUME2(symbols_exports.comma);
|
|
11741
11744
|
const arg3 = SUBRULE3(expression);
|
|
11742
11745
|
const close = CONSUME(symbols_exports.RParen);
|
|
11743
|
-
return ACTION(() => C.
|
|
11746
|
+
return ACTION(() => C.astFactory.expressionOperation(operator.image, [arg1, arg2, arg3], C.astFactory.sourceLocation(operator, close)));
|
|
11744
11747
|
}
|
|
11745
11748
|
};
|
|
11746
11749
|
}
|
|
@@ -11752,7 +11755,7 @@ function funcVar1(func) {
|
|
|
11752
11755
|
CONSUME(symbols_exports.LParen);
|
|
11753
11756
|
const arg = SUBRULE(var_);
|
|
11754
11757
|
const close = CONSUME(symbols_exports.RParen);
|
|
11755
|
-
return ACTION(() => C.
|
|
11758
|
+
return ACTION(() => C.astFactory.expressionOperation(operator.image, [arg], C.astFactory.sourceLocation(operator, close)));
|
|
11756
11759
|
}
|
|
11757
11760
|
};
|
|
11758
11761
|
}
|
|
@@ -11766,11 +11769,11 @@ function funcExprOrNil1(func) {
|
|
|
11766
11769
|
CONSUME(symbols_exports.LParen);
|
|
11767
11770
|
const arg = SUBRULE(expression);
|
|
11768
11771
|
const close = CONSUME(symbols_exports.RParen);
|
|
11769
|
-
return ACTION(() => C.
|
|
11772
|
+
return ACTION(() => C.astFactory.expressionOperation(operator.image, [arg], C.astFactory.sourceLocation(operator, close)));
|
|
11770
11773
|
} },
|
|
11771
11774
|
{ ALT: () => {
|
|
11772
11775
|
const nil2 = CONSUME(terminals_exports.nil);
|
|
11773
|
-
return ACTION(() => C.
|
|
11776
|
+
return ACTION(() => C.astFactory.expressionOperation(operator.image, [], C.astFactory.sourceLocation(operator, nil2)));
|
|
11774
11777
|
} }
|
|
11775
11778
|
]);
|
|
11776
11779
|
}
|
|
@@ -11782,7 +11785,7 @@ function funcNil1(func) {
|
|
|
11782
11785
|
impl: ({ ACTION, CONSUME }) => (C) => {
|
|
11783
11786
|
const operator = CONSUME(func);
|
|
11784
11787
|
const nil2 = CONSUME(terminals_exports.nil);
|
|
11785
|
-
return ACTION(() => C.
|
|
11788
|
+
return ACTION(() => C.astFactory.expressionOperation(operator.image, [], C.astFactory.sourceLocation(operator, nil2)));
|
|
11786
11789
|
}
|
|
11787
11790
|
};
|
|
11788
11791
|
}
|
|
@@ -11792,7 +11795,7 @@ function funcExprList1(func) {
|
|
|
11792
11795
|
impl: ({ ACTION, CONSUME, SUBRULE }) => (C) => {
|
|
11793
11796
|
const operator = CONSUME(func);
|
|
11794
11797
|
const args = SUBRULE(expressionList);
|
|
11795
|
-
return ACTION(() => C.
|
|
11798
|
+
return ACTION(() => C.astFactory.expressionOperation(operator.image, args.val, C.astFactory.sourceLocation(operator, args)));
|
|
11796
11799
|
}
|
|
11797
11800
|
};
|
|
11798
11801
|
}
|
|
@@ -11810,7 +11813,7 @@ function funcExpr2or3(func) {
|
|
|
11810
11813
|
return SUBRULE3(expression);
|
|
11811
11814
|
});
|
|
11812
11815
|
const close = CONSUME(symbols_exports.RParen);
|
|
11813
|
-
return ACTION(() => C.
|
|
11816
|
+
return ACTION(() => C.astFactory.expressionOperation(operator.image, arg3 ? [arg1, arg2, arg3] : [arg1, arg2], C.astFactory.sourceLocation(operator, close)));
|
|
11814
11817
|
}
|
|
11815
11818
|
};
|
|
11816
11819
|
}
|
|
@@ -11830,7 +11833,7 @@ function funcExpr3or4(func) {
|
|
|
11830
11833
|
return SUBRULE4(expression);
|
|
11831
11834
|
});
|
|
11832
11835
|
const close = CONSUME(symbols_exports.RParen);
|
|
11833
|
-
return ACTION(() => C.
|
|
11836
|
+
return ACTION(() => C.astFactory.expressionOperation(operator.image, arg4 ? [arg1, arg2, arg3, arg4] : [arg1, arg2, arg3], C.astFactory.sourceLocation(operator, close)));
|
|
11834
11837
|
}
|
|
11835
11838
|
};
|
|
11836
11839
|
}
|
|
@@ -11840,7 +11843,7 @@ function funcGroupGraphPattern(func) {
|
|
|
11840
11843
|
impl: ({ ACTION, SUBRULE, CONSUME }) => (C) => {
|
|
11841
11844
|
const operator = CONSUME(func);
|
|
11842
11845
|
const group = SUBRULE(groupGraphPattern);
|
|
11843
|
-
return ACTION(() => C.
|
|
11846
|
+
return ACTION(() => C.astFactory.expressionPatternOperation(operator.image, group, C.astFactory.sourceLocation(operator, group)));
|
|
11844
11847
|
}
|
|
11845
11848
|
};
|
|
11846
11849
|
}
|
|
@@ -11853,7 +11856,7 @@ function baseAggregateFunc(func) {
|
|
|
11853
11856
|
const distinct2 = OPTION(() => CONSUME(distinct));
|
|
11854
11857
|
const expr1 = SUBRULE(expression);
|
|
11855
11858
|
const close = CONSUME(symbols_exports.RParen);
|
|
11856
|
-
return ACTION(() => C.
|
|
11859
|
+
return ACTION(() => C.astFactory.aggregate(operator.image, distinct2 !== void 0, expr1, void 0, C.astFactory.sourceLocation(operator, close)));
|
|
11857
11860
|
}
|
|
11858
11861
|
};
|
|
11859
11862
|
}
|
|
@@ -11993,17 +11996,17 @@ var aggregateCount = {
|
|
|
11993
11996
|
const expressionVal = OR([
|
|
11994
11997
|
{ ALT: () => {
|
|
11995
11998
|
const starToken = CONSUME(symbols_exports.star);
|
|
11996
|
-
return ACTION(() => C.
|
|
11999
|
+
return ACTION(() => C.astFactory.wildcard(C.astFactory.sourceLocation(starToken)));
|
|
11997
12000
|
} },
|
|
11998
12001
|
{ ALT: () => SUBRULE(expression) }
|
|
11999
12002
|
]);
|
|
12000
12003
|
const closeToken = CONSUME(symbols_exports.RParen);
|
|
12001
12004
|
return ACTION(() => {
|
|
12002
|
-
const F2 = C.
|
|
12003
|
-
if (C.
|
|
12004
|
-
return F2.aggregate(operatorToken.image, Boolean(distinctToken), expressionVal, void 0, C.
|
|
12005
|
+
const F2 = C.astFactory;
|
|
12006
|
+
if (C.astFactory.isWildcard(expressionVal)) {
|
|
12007
|
+
return F2.aggregate(operatorToken.image, Boolean(distinctToken), expressionVal, void 0, C.astFactory.sourceLocation(operatorToken, closeToken));
|
|
12005
12008
|
}
|
|
12006
|
-
return F2.aggregate(operatorToken.image, Boolean(distinctToken), expressionVal, void 0, C.
|
|
12009
|
+
return F2.aggregate(operatorToken.image, Boolean(distinctToken), expressionVal, void 0, C.astFactory.sourceLocation(operatorToken, closeToken));
|
|
12007
12010
|
});
|
|
12008
12011
|
}
|
|
12009
12012
|
};
|
|
@@ -12027,7 +12030,7 @@ var aggregateGroup_concat = {
|
|
|
12027
12030
|
});
|
|
12028
12031
|
const closeToken = CONSUME(symbols_exports.RParen);
|
|
12029
12032
|
return ACTION(() => {
|
|
12030
|
-
const F2 = C.
|
|
12033
|
+
const F2 = C.astFactory;
|
|
12031
12034
|
return F2.aggregate(operatorToken.image, Boolean(distinctToken), expr, sep?.value ?? " ", F2.sourceLocation(operatorToken, closeToken));
|
|
12032
12035
|
});
|
|
12033
12036
|
}
|
|
@@ -12057,7 +12060,7 @@ var aggregate = {
|
|
|
12057
12060
|
});
|
|
12058
12061
|
return result;
|
|
12059
12062
|
},
|
|
12060
|
-
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, {
|
|
12063
|
+
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { astFactory: F2 }) => {
|
|
12061
12064
|
F2.printFilter(ast, () => {
|
|
12062
12065
|
PRINT_WORD(ast.aggregation.toUpperCase(), "(");
|
|
12063
12066
|
if (ast.distinct) {
|
|
@@ -12084,7 +12087,7 @@ var path = {
|
|
|
12084
12087
|
};
|
|
12085
12088
|
var pathGenerator = {
|
|
12086
12089
|
name: "path",
|
|
12087
|
-
gImpl: ({ PRINT, SUBRULE }) => (ast, {
|
|
12090
|
+
gImpl: ({ PRINT, SUBRULE }) => (ast, { astFactory: F2 }, braces = true) => {
|
|
12088
12091
|
if (F2.isTerm(ast) && F2.isTermNamed(ast)) {
|
|
12089
12092
|
SUBRULE(iri2, ast);
|
|
12090
12093
|
} else {
|
|
@@ -12133,7 +12136,7 @@ function pathChainHelper(name, SEP, subType, subRule) {
|
|
|
12133
12136
|
tailEnd = SUBRULE2(subRule);
|
|
12134
12137
|
tail.push(tailEnd);
|
|
12135
12138
|
});
|
|
12136
|
-
return ACTION(() => tail.length === 0 ? head2 : C.
|
|
12139
|
+
return ACTION(() => tail.length === 0 ? head2 : C.astFactory.path(subType, [head2, ...tail], C.astFactory.sourceLocation(head2, tailEnd)));
|
|
12137
12140
|
}
|
|
12138
12141
|
};
|
|
12139
12142
|
}
|
|
@@ -12144,7 +12147,7 @@ var pathEltOrInverse = {
|
|
|
12144
12147
|
{ ALT: () => {
|
|
12145
12148
|
const hat2 = CONSUME(symbols_exports.hat);
|
|
12146
12149
|
const item = SUBRULE2(pathElt);
|
|
12147
|
-
return ACTION(() => C.
|
|
12150
|
+
return ACTION(() => C.astFactory.path("^", [item], C.astFactory.sourceLocation(hat2, item)));
|
|
12148
12151
|
} }
|
|
12149
12152
|
])
|
|
12150
12153
|
};
|
|
@@ -12155,7 +12158,7 @@ var pathElt = {
|
|
|
12155
12158
|
impl: ({ ACTION, SUBRULE, OPTION }) => (C) => {
|
|
12156
12159
|
const item = SUBRULE(pathPrimary);
|
|
12157
12160
|
const modification = OPTION(() => SUBRULE(pathMod));
|
|
12158
|
-
return ACTION(() => modification === void 0 ? item : C.
|
|
12161
|
+
return ACTION(() => modification === void 0 ? item : C.astFactory.path(modification.image, [item], C.astFactory.sourceLocation(item, modification)));
|
|
12159
12162
|
}
|
|
12160
12163
|
};
|
|
12161
12164
|
var pathMod = {
|
|
@@ -12187,7 +12190,7 @@ var pathNegatedPropertySet = {
|
|
|
12187
12190
|
return OR([
|
|
12188
12191
|
{ ALT: () => {
|
|
12189
12192
|
const noAlternative = SUBRULE1(pathOneInPropertySet);
|
|
12190
|
-
return ACTION(() => C.
|
|
12193
|
+
return ACTION(() => C.astFactory.path("!", [noAlternative], C.astFactory.sourceLocation(exclamation2, noAlternative)));
|
|
12191
12194
|
} },
|
|
12192
12195
|
{ ALT: () => {
|
|
12193
12196
|
const open = CONSUME(symbols_exports.LParen);
|
|
@@ -12200,7 +12203,7 @@ var pathNegatedPropertySet = {
|
|
|
12200
12203
|
});
|
|
12201
12204
|
const close = CONSUME(symbols_exports.RParen);
|
|
12202
12205
|
return ACTION(() => {
|
|
12203
|
-
const F2 = C.
|
|
12206
|
+
const F2 = C.astFactory;
|
|
12204
12207
|
if (tail.length === 0) {
|
|
12205
12208
|
return F2.path("!", [head2], F2.sourceLocation(exclamation2, close));
|
|
12206
12209
|
}
|
|
@@ -12221,7 +12224,7 @@ var pathOneInPropertySet = {
|
|
|
12221
12224
|
{ ALT: () => SUBRULE2(iri2) },
|
|
12222
12225
|
{ ALT: () => SUBRULE2(verbA) }
|
|
12223
12226
|
]);
|
|
12224
|
-
return ACTION(() => C.
|
|
12227
|
+
return ACTION(() => C.astFactory.path("^", [item], C.astFactory.sourceLocation(hat2, item)));
|
|
12225
12228
|
} }
|
|
12226
12229
|
])
|
|
12227
12230
|
};
|
|
@@ -12246,33 +12249,35 @@ function triplesDotSeperated(triplesSameSubjectSubrule) {
|
|
|
12246
12249
|
});
|
|
12247
12250
|
}
|
|
12248
12251
|
});
|
|
12249
|
-
return ACTION(() => C.
|
|
12252
|
+
return ACTION(() => C.astFactory.patternBgp(triples, C.astFactory.sourceLocation(...triples, dotToken)));
|
|
12250
12253
|
};
|
|
12251
12254
|
}
|
|
12252
12255
|
var triplesBlock = {
|
|
12253
12256
|
name: "triplesBlock",
|
|
12254
12257
|
impl: (implArgs) => (C) => triplesDotSeperated(triplesSameSubjectPath)(implArgs)(C),
|
|
12255
|
-
gImpl: ({ SUBRULE, PRINT_WORD, HANDLE_LOC }) => (ast, {
|
|
12258
|
+
gImpl: ({ SUBRULE, PRINT_WORD, HANDLE_LOC }) => (ast, { astFactory: F2 }) => {
|
|
12256
12259
|
for (const [index, triple] of ast.triples.entries()) {
|
|
12257
12260
|
HANDLE_LOC(triple, () => {
|
|
12258
12261
|
const nextTriple = ast.triples.at(index);
|
|
12259
12262
|
if (F2.isTripleCollection(triple)) {
|
|
12260
12263
|
SUBRULE(graphNodePath, triple);
|
|
12261
|
-
F2.printFilter(triple, () => PRINT_WORD("
|
|
12264
|
+
F2.printFilter(triple, () => PRINT_WORD(".\n"));
|
|
12262
12265
|
} else {
|
|
12263
12266
|
SUBRULE(graphNodePath, triple.subject);
|
|
12267
|
+
F2.printFilter(triple, () => PRINT_WORD(""));
|
|
12264
12268
|
if (F2.isTerm(triple.predicate) && F2.isTermVariable(triple.predicate)) {
|
|
12265
12269
|
SUBRULE(varOrTerm, triple.predicate);
|
|
12266
12270
|
} else {
|
|
12267
12271
|
SUBRULE(pathGenerator, triple.predicate, void 0);
|
|
12268
12272
|
}
|
|
12273
|
+
F2.printFilter(triple, () => PRINT_WORD(""));
|
|
12269
12274
|
SUBRULE(graphNodePath, triple.object);
|
|
12270
12275
|
if (nextTriple === void 0 || F2.isTripleCollection(nextTriple) || !F2.isSourceLocationNoMaterialize(nextTriple.subject.loc)) {
|
|
12271
|
-
F2.printFilter(ast, () => PRINT_WORD("
|
|
12276
|
+
F2.printFilter(ast, () => PRINT_WORD(".\n"));
|
|
12272
12277
|
} else if (F2.isSourceLocationNoMaterialize(nextTriple.predicate.loc)) {
|
|
12273
12278
|
F2.printFilter(ast, () => PRINT_WORD(","));
|
|
12274
12279
|
} else {
|
|
12275
|
-
F2.printFilter(ast, () => PRINT_WORD("
|
|
12280
|
+
F2.printFilter(ast, () => PRINT_WORD(";\n"));
|
|
12276
12281
|
}
|
|
12277
12282
|
}
|
|
12278
12283
|
});
|
|
@@ -12285,24 +12290,24 @@ function triplesSameSubjectImpl(name, allowPaths) {
|
|
|
12285
12290
|
impl: ({ ACTION, SUBRULE, OR }) => (C) => OR([
|
|
12286
12291
|
{ ALT: () => {
|
|
12287
12292
|
const subject = SUBRULE(varOrTerm);
|
|
12288
|
-
const res = SUBRULE(allowPaths ? propertyListPathNotEmpty : propertyListNotEmpty, ACTION(() => C.
|
|
12293
|
+
const res = SUBRULE(allowPaths ? propertyListPathNotEmpty : propertyListNotEmpty, ACTION(() => C.astFactory.dematerialized(subject)));
|
|
12289
12294
|
return ACTION(() => {
|
|
12290
12295
|
if (res.length > 0) {
|
|
12291
12296
|
res[0].subject = subject;
|
|
12292
|
-
res[0].loc = C.
|
|
12297
|
+
res[0].loc = C.astFactory.sourceLocation(subject, res[0]);
|
|
12293
12298
|
}
|
|
12294
12299
|
return res;
|
|
12295
12300
|
});
|
|
12296
12301
|
} },
|
|
12297
12302
|
{ ALT: () => {
|
|
12298
12303
|
const subjectNode = SUBRULE(allowPaths ? triplesNodePath : triplesNode);
|
|
12299
|
-
const restNode = SUBRULE(allowPaths ? propertyListPath : propertyList, ACTION(() => C.
|
|
12304
|
+
const restNode = SUBRULE(allowPaths ? propertyListPath : propertyList, ACTION(() => C.astFactory.graphNodeIdentifier(subjectNode)));
|
|
12300
12305
|
return ACTION(() => {
|
|
12301
12306
|
if (restNode.length === 0) {
|
|
12302
12307
|
return [subjectNode];
|
|
12303
12308
|
}
|
|
12304
12309
|
restNode[0].subject = subjectNode;
|
|
12305
|
-
restNode[0].loc = C.
|
|
12310
|
+
restNode[0].loc = C.astFactory.sourceLocation(subjectNode, restNode[0]);
|
|
12306
12311
|
return restNode;
|
|
12307
12312
|
});
|
|
12308
12313
|
} }
|
|
@@ -12386,7 +12391,7 @@ function objectImpl(name, allowPaths) {
|
|
|
12386
12391
|
name,
|
|
12387
12392
|
impl: ({ ACTION, SUBRULE }) => (C, subject, predicate) => {
|
|
12388
12393
|
const node = SUBRULE(allowPaths ? graphNodePath : graphNode);
|
|
12389
|
-
return ACTION(() => C.
|
|
12394
|
+
return ACTION(() => C.astFactory.triple(subject, predicate, node));
|
|
12390
12395
|
}
|
|
12391
12396
|
};
|
|
12392
12397
|
}
|
|
@@ -12403,7 +12408,7 @@ function collectionImpl(name, allowPaths) {
|
|
|
12403
12408
|
});
|
|
12404
12409
|
const endToken = CONSUME(symbols_exports.RParen);
|
|
12405
12410
|
return ACTION(() => {
|
|
12406
|
-
const F2 = C.
|
|
12411
|
+
const F2 = C.astFactory;
|
|
12407
12412
|
const triples = [];
|
|
12408
12413
|
const predFirst = F2.namedNode(F2.sourceLocationNoMaterialize(), CommonIRIs.FIRST, void 0);
|
|
12409
12414
|
const predRest = F2.namedNode(F2.sourceLocationNoMaterialize(), CommonIRIs.REST, void 0);
|
|
@@ -12427,7 +12432,7 @@ function collectionImpl(name, allowPaths) {
|
|
|
12427
12432
|
return F2.tripleCollectionList(listHead, triples, F2.sourceLocation(startToken, endToken));
|
|
12428
12433
|
});
|
|
12429
12434
|
},
|
|
12430
|
-
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, {
|
|
12435
|
+
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { astFactory: F2 }) => {
|
|
12431
12436
|
F2.printFilter(ast, () => PRINT_WORD("("));
|
|
12432
12437
|
for (const [idx, triple] of ast.triples.entries()) {
|
|
12433
12438
|
if (idx % 2 === 0) {
|
|
@@ -12458,13 +12463,17 @@ function blankNodePropertyListImpl(name, allowPaths) {
|
|
|
12458
12463
|
name,
|
|
12459
12464
|
impl: ({ ACTION, SUBRULE, CONSUME }) => (C) => {
|
|
12460
12465
|
const startToken = CONSUME(symbols_exports.LSquare);
|
|
12461
|
-
const blankNode2 = ACTION(() => C.
|
|
12466
|
+
const blankNode2 = ACTION(() => C.astFactory.blankNode(void 0, C.astFactory.sourceLocationNoMaterialize()));
|
|
12462
12467
|
const propList = SUBRULE(propertyPathNotEmptyImpl, blankNode2);
|
|
12463
12468
|
const endToken = CONSUME(symbols_exports.RSquare);
|
|
12464
|
-
return ACTION(() => C.
|
|
12469
|
+
return ACTION(() => C.astFactory.tripleCollectionBlankNodeProperties(blankNode2, propList, C.astFactory.sourceLocation(startToken, endToken)));
|
|
12465
12470
|
},
|
|
12466
|
-
gImpl: ({ SUBRULE, PRINT, PRINT_WORD, HANDLE_LOC }) => (ast,
|
|
12467
|
-
F2
|
|
12471
|
+
gImpl: ({ SUBRULE, PRINT, PRINT_WORD, HANDLE_LOC, PRINT_ON_EMPTY }) => (ast, c) => {
|
|
12472
|
+
const { astFactory: F2, indentInc } = c;
|
|
12473
|
+
F2.printFilter(ast, () => {
|
|
12474
|
+
c[traqulaIndentation] += indentInc;
|
|
12475
|
+
PRINT("[\n");
|
|
12476
|
+
});
|
|
12468
12477
|
for (const triple of ast.triples) {
|
|
12469
12478
|
HANDLE_LOC(triple, () => {
|
|
12470
12479
|
if (F2.isTerm(triple.predicate) && F2.isTermVariable(triple.predicate)) {
|
|
@@ -12472,11 +12481,15 @@ function blankNodePropertyListImpl(name, allowPaths) {
|
|
|
12472
12481
|
} else {
|
|
12473
12482
|
SUBRULE(pathGenerator, triple.predicate, void 0);
|
|
12474
12483
|
}
|
|
12484
|
+
F2.printFilter(triple, () => PRINT_WORD(""));
|
|
12475
12485
|
SUBRULE(graphNodePath, triple.object);
|
|
12476
|
-
F2.printFilter(ast, () => PRINT_WORD("
|
|
12486
|
+
F2.printFilter(ast, () => PRINT_WORD(";\n"));
|
|
12477
12487
|
});
|
|
12478
12488
|
}
|
|
12479
|
-
F2.printFilter(ast, () =>
|
|
12489
|
+
F2.printFilter(ast, () => {
|
|
12490
|
+
c[traqulaIndentation] -= indentInc;
|
|
12491
|
+
PRINT_ON_EMPTY("]");
|
|
12492
|
+
});
|
|
12480
12493
|
}
|
|
12481
12494
|
};
|
|
12482
12495
|
}
|
|
@@ -12493,7 +12506,7 @@ function graphNodeImpl(name, allowPaths) {
|
|
|
12493
12506
|
ALT: () => SUBRULE(triplesNodeRule)
|
|
12494
12507
|
}
|
|
12495
12508
|
]),
|
|
12496
|
-
gImpl: ({ SUBRULE }) => (ast, {
|
|
12509
|
+
gImpl: ({ SUBRULE }) => (ast, { astFactory: F2 }) => {
|
|
12497
12510
|
if (F2.isTerm(ast)) {
|
|
12498
12511
|
SUBRULE(varOrTerm, ast);
|
|
12499
12512
|
} else {
|
|
@@ -12511,9 +12524,9 @@ var whereClause = {
|
|
|
12511
12524
|
impl: ({ ACTION, SUBRULE, CONSUME, OPTION }) => (C) => {
|
|
12512
12525
|
const where2 = OPTION(() => CONSUME(where));
|
|
12513
12526
|
const group = SUBRULE(groupGraphPattern);
|
|
12514
|
-
return ACTION(() => C.
|
|
12527
|
+
return ACTION(() => C.astFactory.wrap(group, C.astFactory.sourceLocation(where2, group)));
|
|
12515
12528
|
},
|
|
12516
|
-
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, {
|
|
12529
|
+
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { astFactory: F2 }) => {
|
|
12517
12530
|
F2.printFilter(ast, () => PRINT_WORD("WHERE"));
|
|
12518
12531
|
SUBRULE(groupGraphPattern, ast.val);
|
|
12519
12532
|
}
|
|
@@ -12527,19 +12540,26 @@ var groupGraphPattern = {
|
|
|
12527
12540
|
{ ALT: () => SUBRULE(groupGraphPatternSub) }
|
|
12528
12541
|
]);
|
|
12529
12542
|
const close = CONSUME(symbols_exports.RCurly);
|
|
12530
|
-
return ACTION(() => C.
|
|
12543
|
+
return ACTION(() => C.astFactory.patternGroup(patterns, C.astFactory.sourceLocation(open, close)));
|
|
12531
12544
|
},
|
|
12532
|
-
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast,
|
|
12533
|
-
F2
|
|
12545
|
+
gImpl: ({ SUBRULE, PRINT_WORD, PRINT_ON_EMPTY }) => (ast, C) => {
|
|
12546
|
+
const { astFactory: F2, indentInc } = C;
|
|
12547
|
+
F2.printFilter(ast, () => {
|
|
12548
|
+
C[traqulaIndentation] += indentInc;
|
|
12549
|
+
PRINT_WORD("{\n");
|
|
12550
|
+
});
|
|
12534
12551
|
for (const pattern of ast.patterns) {
|
|
12535
12552
|
SUBRULE(generatePattern, pattern);
|
|
12536
12553
|
}
|
|
12537
|
-
F2.printFilter(ast, () =>
|
|
12554
|
+
F2.printFilter(ast, () => {
|
|
12555
|
+
C[traqulaIndentation] -= indentInc;
|
|
12556
|
+
PRINT_ON_EMPTY("}\n");
|
|
12557
|
+
});
|
|
12538
12558
|
}
|
|
12539
12559
|
};
|
|
12540
12560
|
var generatePattern = {
|
|
12541
12561
|
name: "generatePattern",
|
|
12542
|
-
gImpl: ({ SUBRULE }) => (ast, {
|
|
12562
|
+
gImpl: ({ SUBRULE }) => (ast, { astFactory: F2 }) => {
|
|
12543
12563
|
if (ast.type === "query") {
|
|
12544
12564
|
SUBRULE(query, F2.querySelect({
|
|
12545
12565
|
context: [],
|
|
@@ -12628,9 +12648,9 @@ var optionalGraphPattern = {
|
|
|
12628
12648
|
impl: ({ ACTION, SUBRULE, CONSUME }) => (C) => {
|
|
12629
12649
|
const optional2 = CONSUME(optional);
|
|
12630
12650
|
const group = SUBRULE(groupGraphPattern);
|
|
12631
|
-
return ACTION(() => C.
|
|
12651
|
+
return ACTION(() => C.astFactory.patternOptional(group.patterns, C.astFactory.sourceLocation(optional2, group)));
|
|
12632
12652
|
},
|
|
12633
|
-
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, {
|
|
12653
|
+
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { astFactory: F2 }) => {
|
|
12634
12654
|
F2.printFilter(ast, () => PRINT_WORD("OPTIONAL"));
|
|
12635
12655
|
SUBRULE(groupGraphPattern, F2.patternGroup(ast.patterns, ast.loc));
|
|
12636
12656
|
}
|
|
@@ -12641,9 +12661,9 @@ var graphGraphPattern = {
|
|
|
12641
12661
|
const graph2 = CONSUME(graph_exports.graph);
|
|
12642
12662
|
const name = SUBRULE(varOrIri);
|
|
12643
12663
|
const group = SUBRULE(groupGraphPattern);
|
|
12644
|
-
return ACTION(() => C.
|
|
12664
|
+
return ACTION(() => C.astFactory.patternGraph(name, group.patterns, C.astFactory.sourceLocation(graph2, group)));
|
|
12645
12665
|
},
|
|
12646
|
-
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, {
|
|
12666
|
+
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { astFactory: F2 }) => {
|
|
12647
12667
|
F2.printFilter(ast, () => PRINT_WORD("GRAPH"));
|
|
12648
12668
|
SUBRULE(varOrTerm, ast.name);
|
|
12649
12669
|
SUBRULE(groupGraphPattern, F2.patternGroup(ast.patterns, ast.loc));
|
|
@@ -12659,9 +12679,9 @@ var serviceGraphPattern = {
|
|
|
12659
12679
|
}) ?? false;
|
|
12660
12680
|
const name = SUBRULE1(varOrIri);
|
|
12661
12681
|
const group = SUBRULE1(groupGraphPattern);
|
|
12662
|
-
return ACTION(() => C.
|
|
12682
|
+
return ACTION(() => C.astFactory.patternService(name, group.patterns, silent2, C.astFactory.sourceLocation(service2, group)));
|
|
12663
12683
|
},
|
|
12664
|
-
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, {
|
|
12684
|
+
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { astFactory: F2 }) => {
|
|
12665
12685
|
F2.printFilter(ast, () => {
|
|
12666
12686
|
PRINT_WORD("SERVICE");
|
|
12667
12687
|
if (ast.silent) {
|
|
@@ -12681,14 +12701,14 @@ var bind2 = {
|
|
|
12681
12701
|
CONSUME(as);
|
|
12682
12702
|
const variable = SUBRULE(var_);
|
|
12683
12703
|
const close = CONSUME(symbols_exports.RParen);
|
|
12684
|
-
return ACTION(() => C.
|
|
12704
|
+
return ACTION(() => C.astFactory.patternBind(expressionVal, variable, C.astFactory.sourceLocation(bind3, close)));
|
|
12685
12705
|
},
|
|
12686
|
-
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, {
|
|
12706
|
+
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { astFactory: F2 }) => {
|
|
12687
12707
|
F2.printFilter(ast, () => PRINT_WORD("BIND", "("));
|
|
12688
12708
|
SUBRULE(expression, ast.expression);
|
|
12689
12709
|
F2.printFilter(ast, () => PRINT_WORD("AS"));
|
|
12690
12710
|
SUBRULE(var_, ast.variable);
|
|
12691
|
-
F2.printFilter(ast, () => PRINT_WORD(")"));
|
|
12711
|
+
F2.printFilter(ast, () => PRINT_WORD(")\n"));
|
|
12692
12712
|
}
|
|
12693
12713
|
};
|
|
12694
12714
|
var inlineData = {
|
|
@@ -12696,16 +12716,19 @@ var inlineData = {
|
|
|
12696
12716
|
impl: ({ ACTION, SUBRULE, CONSUME }) => (C) => {
|
|
12697
12717
|
const values3 = CONSUME(values2);
|
|
12698
12718
|
const datablock = SUBRULE(dataBlock);
|
|
12699
|
-
return ACTION(() => C.
|
|
12719
|
+
return ACTION(() => C.astFactory.patternValues(datablock.val, C.astFactory.sourceLocation(values3, datablock)));
|
|
12700
12720
|
},
|
|
12701
|
-
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast,
|
|
12721
|
+
gImpl: ({ SUBRULE, PRINT_WORD, PRINT_ON_EMPTY }) => (ast, C) => {
|
|
12722
|
+
const { astFactory: F2, indentInc } = C;
|
|
12702
12723
|
const variables = Object.keys(ast.values.at(0) ?? {});
|
|
12703
12724
|
F2.printFilter(ast, () => {
|
|
12725
|
+
PRINT_ON_EMPTY("");
|
|
12704
12726
|
PRINT_WORD("VALUES", "(");
|
|
12705
12727
|
for (const variable of variables) {
|
|
12706
12728
|
PRINT_WORD(`?${variable}`);
|
|
12707
12729
|
}
|
|
12708
|
-
|
|
12730
|
+
C[traqulaIndentation] += indentInc;
|
|
12731
|
+
PRINT_WORD(")", "{\n");
|
|
12709
12732
|
});
|
|
12710
12733
|
for (const mapping of ast.values) {
|
|
12711
12734
|
F2.printFilter(ast, () => PRINT_WORD("("));
|
|
@@ -12716,9 +12739,12 @@ var inlineData = {
|
|
|
12716
12739
|
SUBRULE(graphNodePath, mapping[variable]);
|
|
12717
12740
|
}
|
|
12718
12741
|
}
|
|
12719
|
-
F2.printFilter(ast, () => PRINT_WORD(")"));
|
|
12742
|
+
F2.printFilter(ast, () => PRINT_WORD(")\n"));
|
|
12720
12743
|
}
|
|
12721
|
-
F2.printFilter(ast, () =>
|
|
12744
|
+
F2.printFilter(ast, () => {
|
|
12745
|
+
C[traqulaIndentation] -= indentInc;
|
|
12746
|
+
PRINT_ON_EMPTY("}\n");
|
|
12747
|
+
});
|
|
12722
12748
|
}
|
|
12723
12749
|
};
|
|
12724
12750
|
var dataBlock = {
|
|
@@ -12741,7 +12767,7 @@ var inlineDataOneVar = {
|
|
|
12741
12767
|
});
|
|
12742
12768
|
});
|
|
12743
12769
|
const close = CONSUME(symbols_exports.RCurly);
|
|
12744
|
-
return ACTION(() => C.
|
|
12770
|
+
return ACTION(() => C.astFactory.wrap(res, C.astFactory.sourceLocation(varVal, close)));
|
|
12745
12771
|
}
|
|
12746
12772
|
};
|
|
12747
12773
|
var inlineDataFull = {
|
|
@@ -12758,7 +12784,7 @@ var inlineDataFull = {
|
|
|
12758
12784
|
res.push({});
|
|
12759
12785
|
});
|
|
12760
12786
|
const close = CONSUME1(symbols_exports.RCurly);
|
|
12761
|
-
return ACTION(() => C.
|
|
12787
|
+
return ACTION(() => C.astFactory.wrap(res, C.astFactory.sourceLocation(nil2, close)));
|
|
12762
12788
|
} },
|
|
12763
12789
|
{ ALT: () => {
|
|
12764
12790
|
const open = CONSUME1(symbols_exports.LParen);
|
|
@@ -12790,7 +12816,7 @@ var inlineDataFull = {
|
|
|
12790
12816
|
});
|
|
12791
12817
|
});
|
|
12792
12818
|
const close = CONSUME2(symbols_exports.RCurly);
|
|
12793
|
-
return ACTION(() => C.
|
|
12819
|
+
return ACTION(() => C.astFactory.wrap(res, C.astFactory.sourceLocation(open, close)));
|
|
12794
12820
|
} }
|
|
12795
12821
|
]);
|
|
12796
12822
|
}
|
|
@@ -12813,9 +12839,9 @@ var minusGraphPattern = {
|
|
|
12813
12839
|
impl: ({ ACTION, SUBRULE, CONSUME }) => (C) => {
|
|
12814
12840
|
const minus2 = CONSUME(minus);
|
|
12815
12841
|
const group = SUBRULE(groupGraphPattern);
|
|
12816
|
-
return ACTION(() => C.
|
|
12842
|
+
return ACTION(() => C.astFactory.patternMinus(group.patterns, C.astFactory.sourceLocation(minus2, group)));
|
|
12817
12843
|
},
|
|
12818
|
-
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, {
|
|
12844
|
+
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { astFactory: F2 }) => {
|
|
12819
12845
|
F2.printFilter(ast, () => PRINT_WORD("MINUS"));
|
|
12820
12846
|
SUBRULE(groupGraphPattern, F2.patternGroup(ast.patterns, ast.loc));
|
|
12821
12847
|
}
|
|
@@ -12831,9 +12857,9 @@ var groupOrUnionGraphPattern = {
|
|
|
12831
12857
|
const group2 = SUBRULE2(groupGraphPattern);
|
|
12832
12858
|
groups.push(group2);
|
|
12833
12859
|
});
|
|
12834
|
-
return ACTION(() => groups.length === 1 ? groups[0] : C.
|
|
12860
|
+
return ACTION(() => groups.length === 1 ? groups[0] : C.astFactory.patternUnion(groups, C.astFactory.sourceLocation(group, groups.at(-1))));
|
|
12835
12861
|
},
|
|
12836
|
-
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, {
|
|
12862
|
+
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { astFactory: F2 }) => {
|
|
12837
12863
|
if (F2.isPatternUnion(ast)) {
|
|
12838
12864
|
const [head2, ...tail] = ast.patterns;
|
|
12839
12865
|
SUBRULE(groupGraphPattern, head2);
|
|
@@ -12851,12 +12877,12 @@ var filter3 = {
|
|
|
12851
12877
|
impl: ({ ACTION, SUBRULE, CONSUME }) => (C) => {
|
|
12852
12878
|
const filterToken = CONSUME(filter2);
|
|
12853
12879
|
const expression2 = SUBRULE(constraint);
|
|
12854
|
-
return ACTION(() => C.
|
|
12880
|
+
return ACTION(() => C.astFactory.patternFilter(expression2, C.astFactory.sourceLocation(filterToken, expression2)));
|
|
12855
12881
|
},
|
|
12856
|
-
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, {
|
|
12882
|
+
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { astFactory: F2 }) => {
|
|
12857
12883
|
F2.printFilter(ast, () => PRINT_WORD("FILTER ("));
|
|
12858
12884
|
SUBRULE(expression, ast.expression);
|
|
12859
|
-
F2.printFilter(ast, () => PRINT_WORD(")"));
|
|
12885
|
+
F2.printFilter(ast, () => PRINT_WORD(")\n"));
|
|
12860
12886
|
}
|
|
12861
12887
|
};
|
|
12862
12888
|
var constraint = {
|
|
@@ -12872,7 +12898,7 @@ var functionCall = {
|
|
|
12872
12898
|
impl: ({ ACTION, SUBRULE }) => (C) => {
|
|
12873
12899
|
const func = SUBRULE(iri2);
|
|
12874
12900
|
const args = SUBRULE(argList);
|
|
12875
|
-
return ACTION(() => C.
|
|
12901
|
+
return ACTION(() => C.astFactory.expressionFunctionCall(func, args.val.args, args.val.distinct, C.astFactory.sourceLocation(func, args)));
|
|
12876
12902
|
}
|
|
12877
12903
|
};
|
|
12878
12904
|
|
|
@@ -12882,7 +12908,7 @@ var argList = {
|
|
|
12882
12908
|
impl: ({ ACTION, CONSUME, SUBRULE1, OPTION, OR, AT_LEAST_ONE_SEP }) => (C) => OR([
|
|
12883
12909
|
{ ALT: () => {
|
|
12884
12910
|
const nil2 = CONSUME(terminals_exports.nil);
|
|
12885
|
-
return ACTION(() => C.
|
|
12911
|
+
return ACTION(() => C.astFactory.wrap({ args: [], distinct: false }, C.astFactory.sourceLocation(nil2)));
|
|
12886
12912
|
} },
|
|
12887
12913
|
{ ALT: () => {
|
|
12888
12914
|
const args = [];
|
|
@@ -12899,10 +12925,10 @@ var argList = {
|
|
|
12899
12925
|
}
|
|
12900
12926
|
});
|
|
12901
12927
|
const close = CONSUME(symbols_exports.RParen);
|
|
12902
|
-
return ACTION(() => C.
|
|
12928
|
+
return ACTION(() => C.astFactory.wrap({ args, distinct: distinct2 }, C.astFactory.sourceLocation(open, close)));
|
|
12903
12929
|
} }
|
|
12904
12930
|
]),
|
|
12905
|
-
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, {
|
|
12931
|
+
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { astFactory: F2 }) => {
|
|
12906
12932
|
F2.printFilter(ast, () => {
|
|
12907
12933
|
PRINT_WORD("(");
|
|
12908
12934
|
if (ast.val.distinct) {
|
|
@@ -12925,7 +12951,7 @@ var expressionList = {
|
|
|
12925
12951
|
impl: ({ ACTION, CONSUME, MANY, OR, SUBRULE1, SUBRULE2 }) => (C) => OR([
|
|
12926
12952
|
{ ALT: () => {
|
|
12927
12953
|
const nil2 = CONSUME(terminals_exports.nil);
|
|
12928
|
-
return ACTION(() => C.
|
|
12954
|
+
return ACTION(() => C.astFactory.wrap([], C.astFactory.sourceLocation(nil2)));
|
|
12929
12955
|
} },
|
|
12930
12956
|
{ ALT: () => {
|
|
12931
12957
|
const open = CONSUME(symbols_exports.LParen);
|
|
@@ -12937,7 +12963,7 @@ var expressionList = {
|
|
|
12937
12963
|
args.push(expr);
|
|
12938
12964
|
});
|
|
12939
12965
|
const close = CONSUME(symbols_exports.RParen);
|
|
12940
|
-
return ACTION(() => C.
|
|
12966
|
+
return ACTION(() => C.astFactory.wrap(args, C.astFactory.sourceLocation(open, close)));
|
|
12941
12967
|
} }
|
|
12942
12968
|
])
|
|
12943
12969
|
};
|
|
@@ -12946,7 +12972,7 @@ var prefixOperator = /* @__PURE__ */ new Set(["!", "UPLUS", "UMINUS"]);
|
|
|
12946
12972
|
var expression = {
|
|
12947
12973
|
name: "expression",
|
|
12948
12974
|
impl: ({ SUBRULE }) => () => SUBRULE(conditionalOrExpression),
|
|
12949
|
-
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, {
|
|
12975
|
+
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { astFactory: F2 }) => {
|
|
12950
12976
|
if (F2.isTerm(ast)) {
|
|
12951
12977
|
SUBRULE(varOrTerm, ast);
|
|
12952
12978
|
} else if (F2.isExpressionOperator(ast)) {
|
|
@@ -13011,7 +13037,7 @@ var conditionalOrExpression = {
|
|
|
13011
13037
|
impl: ({ ACTION, MANY, CONSUME, SUBRULE1, SUBRULE2 }) => (C) => constructLeftDeep(() => SUBRULE1(conditionalAndExpression), () => {
|
|
13012
13038
|
CONSUME(symbols_exports.logicOr);
|
|
13013
13039
|
const args = SUBRULE2(conditionalAndExpression);
|
|
13014
|
-
return (left) => ACTION(() => C.
|
|
13040
|
+
return (left) => ACTION(() => C.astFactory.expressionOperation("||", [left, args], C.astFactory.sourceLocation(left, args)));
|
|
13015
13041
|
}, ACTION, MANY)
|
|
13016
13042
|
};
|
|
13017
13043
|
var conditionalAndExpression = {
|
|
@@ -13019,7 +13045,7 @@ var conditionalAndExpression = {
|
|
|
13019
13045
|
impl: ({ ACTION, MANY, SUBRULE1, SUBRULE2, CONSUME }) => (C) => constructLeftDeep(() => SUBRULE1(valueLogical), () => {
|
|
13020
13046
|
CONSUME(symbols_exports.logicAnd);
|
|
13021
13047
|
const arg = SUBRULE2(valueLogical);
|
|
13022
|
-
return (left) => ACTION(() => C.
|
|
13048
|
+
return (left) => ACTION(() => C.astFactory.expressionOperation("&&", [left, arg], C.astFactory.sourceLocation(left, arg)));
|
|
13023
13049
|
}, ACTION, MANY)
|
|
13024
13050
|
};
|
|
13025
13051
|
var valueLogical = {
|
|
@@ -13041,7 +13067,7 @@ var relationalExpression = {
|
|
|
13041
13067
|
{ ALT: () => CONSUME(symbols_exports.greaterThanEqual) }
|
|
13042
13068
|
]);
|
|
13043
13069
|
const expr = SUBRULE2(numericExpression);
|
|
13044
|
-
return ACTION(() => C.
|
|
13070
|
+
return ACTION(() => C.astFactory.expressionOperation(operator.image, [args1, expr], C.astFactory.sourceLocation(args1, expr)));
|
|
13045
13071
|
} },
|
|
13046
13072
|
{ ALT: () => {
|
|
13047
13073
|
const operator = OR3([
|
|
@@ -13049,7 +13075,7 @@ var relationalExpression = {
|
|
|
13049
13075
|
{ ALT: () => CONSUME(notIn) }
|
|
13050
13076
|
]);
|
|
13051
13077
|
const args = SUBRULE1(expressionList);
|
|
13052
|
-
return ACTION(() => C.
|
|
13078
|
+
return ACTION(() => C.astFactory.expressionOperation(operator.image, [args1, ...args.val], C.astFactory.sourceLocation(args1, args)));
|
|
13053
13079
|
} }
|
|
13054
13080
|
]));
|
|
13055
13081
|
return expression2 ?? args1;
|
|
@@ -13068,7 +13094,7 @@ var additiveExpression = {
|
|
|
13068
13094
|
{ ALT: () => CONSUME(symbols_exports.opMinus) }
|
|
13069
13095
|
]);
|
|
13070
13096
|
const arg = SUBRULE2(multiplicativeExpression);
|
|
13071
|
-
return ACTION(() => (left) => C.
|
|
13097
|
+
return ACTION(() => (left) => C.astFactory.expressionOperation(operator.image, [left, arg], C.astFactory.sourceLocation(left, arg)));
|
|
13072
13098
|
} },
|
|
13073
13099
|
{ ALT: () => {
|
|
13074
13100
|
const { operator, startInt } = OR3([
|
|
@@ -13099,9 +13125,9 @@ var additiveExpression = {
|
|
|
13099
13125
|
{ ALT: () => CONSUME(symbols_exports.slash) }
|
|
13100
13126
|
]);
|
|
13101
13127
|
const innerExpr = SUBRULE1(unaryExpression);
|
|
13102
|
-
return ACTION(() => (leftInner) => C.
|
|
13128
|
+
return ACTION(() => (leftInner) => C.astFactory.expressionOperation(innerOperator.image, [leftInner, innerExpr], C.astFactory.sourceLocation(leftInner, innerExpr)));
|
|
13103
13129
|
}, ACTION, MANY2);
|
|
13104
|
-
return (left) => C.
|
|
13130
|
+
return (left) => C.astFactory.expressionOperation(operator, [left, multiplicativeExpr], C.astFactory.sourceLocation(left, multiplicativeExpr));
|
|
13105
13131
|
} }
|
|
13106
13132
|
]), ACTION, MANY1)
|
|
13107
13133
|
};
|
|
@@ -13118,7 +13144,7 @@ var multiplicativeExpression = {
|
|
|
13118
13144
|
subType: "operation",
|
|
13119
13145
|
operator: operator.image,
|
|
13120
13146
|
args: [left, expr],
|
|
13121
|
-
loc: C.
|
|
13147
|
+
loc: C.astFactory.sourceLocation(left, expr)
|
|
13122
13148
|
});
|
|
13123
13149
|
}, ACTION, MANY)
|
|
13124
13150
|
};
|
|
@@ -13133,7 +13159,7 @@ var unaryExpression = {
|
|
|
13133
13159
|
{ ALT: () => CONSUME(symbols_exports.opMinus) }
|
|
13134
13160
|
]);
|
|
13135
13161
|
const expr = SUBRULE2(primaryExpression);
|
|
13136
|
-
return ACTION(() => C.
|
|
13162
|
+
return ACTION(() => C.astFactory.expressionOperation(operator.image === "!" ? "!" : operator.image === "+" ? "UPLUS" : "UMINUS", [expr], C.astFactory.sourceLocation(operator, expr)));
|
|
13137
13163
|
} }
|
|
13138
13164
|
])
|
|
13139
13165
|
};
|
|
@@ -13156,7 +13182,7 @@ var brackettedExpression = {
|
|
|
13156
13182
|
const expr = SUBRULE(expression);
|
|
13157
13183
|
const close = CONSUME(symbols_exports.RParen);
|
|
13158
13184
|
return ACTION(() => {
|
|
13159
|
-
expr.loc = C.
|
|
13185
|
+
expr.loc = C.astFactory.sourceLocation(open, close);
|
|
13160
13186
|
return expr;
|
|
13161
13187
|
});
|
|
13162
13188
|
}
|
|
@@ -13178,13 +13204,13 @@ var iriOrFunction = {
|
|
|
13178
13204
|
function: iriVal,
|
|
13179
13205
|
args: args.val.args,
|
|
13180
13206
|
distinct: distinct2,
|
|
13181
|
-
loc: C.
|
|
13207
|
+
loc: C.astFactory.sourceLocation(iriVal, args)
|
|
13182
13208
|
};
|
|
13183
13209
|
});
|
|
13184
13210
|
});
|
|
13185
13211
|
return functionCall2 ?? iriVal;
|
|
13186
13212
|
},
|
|
13187
|
-
gImpl: ({ SUBRULE }) => (ast, {
|
|
13213
|
+
gImpl: ({ SUBRULE }) => (ast, { astFactory: F2 }) => {
|
|
13188
13214
|
if (F2.isTermNamed(ast)) {
|
|
13189
13215
|
SUBRULE(iri2, ast);
|
|
13190
13216
|
} else {
|
|
@@ -13237,11 +13263,14 @@ var groupClause = {
|
|
|
13237
13263
|
type: "solutionModifier",
|
|
13238
13264
|
subType: "group",
|
|
13239
13265
|
groupings,
|
|
13240
|
-
loc: C.
|
|
13266
|
+
loc: C.astFactory.sourceLocation(start, groupings.at(-1))
|
|
13241
13267
|
}));
|
|
13242
13268
|
},
|
|
13243
|
-
gImpl: ({ PRINT_WORDS, SUBRULE }) => (ast, {
|
|
13244
|
-
F2.printFilter(ast, () =>
|
|
13269
|
+
gImpl: ({ PRINT_WORDS, SUBRULE, PRINT_ON_EMPTY }) => (ast, { astFactory: F2 }) => {
|
|
13270
|
+
F2.printFilter(ast, () => {
|
|
13271
|
+
PRINT_ON_EMPTY("");
|
|
13272
|
+
PRINT_WORDS("GROUP", "BY");
|
|
13273
|
+
});
|
|
13245
13274
|
for (const grouping of ast.groupings) {
|
|
13246
13275
|
if (F2.isExpression(grouping)) {
|
|
13247
13276
|
SUBRULE(expression, grouping);
|
|
@@ -13275,7 +13304,7 @@ var groupCondition = {
|
|
|
13275
13304
|
return {
|
|
13276
13305
|
variable,
|
|
13277
13306
|
value: expressionValue,
|
|
13278
|
-
loc: C.
|
|
13307
|
+
loc: C.astFactory.sourceLocation(open, close)
|
|
13279
13308
|
};
|
|
13280
13309
|
}
|
|
13281
13310
|
return expressionValue;
|
|
@@ -13294,10 +13323,13 @@ var havingClause = {
|
|
|
13294
13323
|
expressions.push(SUBRULE(havingCondition));
|
|
13295
13324
|
});
|
|
13296
13325
|
ACTION(() => !couldParseAgg && C.parseMode.delete("canParseAggregate"));
|
|
13297
|
-
return ACTION(() => C.
|
|
13326
|
+
return ACTION(() => C.astFactory.solutionModifierHaving(expressions, C.astFactory.sourceLocation(having2, expressions.at(-1))));
|
|
13298
13327
|
},
|
|
13299
|
-
gImpl: ({ PRINT_WORD, SUBRULE }) => (ast, {
|
|
13300
|
-
F2.printFilter(ast, () =>
|
|
13328
|
+
gImpl: ({ PRINT_WORD, PRINT_ON_EMPTY, SUBRULE }) => (ast, { astFactory: F2 }) => {
|
|
13329
|
+
F2.printFilter(ast, () => {
|
|
13330
|
+
PRINT_ON_EMPTY("");
|
|
13331
|
+
PRINT_WORD("HAVING");
|
|
13332
|
+
});
|
|
13301
13333
|
for (const having2 of ast.having) {
|
|
13302
13334
|
SUBRULE(expression, having2);
|
|
13303
13335
|
}
|
|
@@ -13318,10 +13350,13 @@ var orderClause = {
|
|
|
13318
13350
|
orderings.push(SUBRULE1(orderCondition));
|
|
13319
13351
|
});
|
|
13320
13352
|
ACTION(() => !couldParseAgg && C.parseMode.delete("canParseAggregate"));
|
|
13321
|
-
return ACTION(() => C.
|
|
13353
|
+
return ACTION(() => C.astFactory.solutionModifierOrder(orderings, C.astFactory.sourceLocation(order2, orderings.at(-1))));
|
|
13322
13354
|
},
|
|
13323
|
-
gImpl: ({ PRINT_WORDS, SUBRULE }) => (ast, {
|
|
13324
|
-
F2.printFilter(ast, () =>
|
|
13355
|
+
gImpl: ({ PRINT_WORDS, PRINT_ON_EMPTY, SUBRULE }) => (ast, { astFactory: F2 }) => {
|
|
13356
|
+
F2.printFilter(ast, () => {
|
|
13357
|
+
PRINT_ON_EMPTY("");
|
|
13358
|
+
PRINT_WORDS("ORDER", "BY");
|
|
13359
|
+
});
|
|
13325
13360
|
for (const ordering of ast.orderDefs) {
|
|
13326
13361
|
if (ordering.descending) {
|
|
13327
13362
|
F2.printFilter(ast, () => PRINT_WORDS("DESC"));
|
|
@@ -13352,7 +13387,7 @@ var orderCondition = {
|
|
|
13352
13387
|
return ACTION(() => ({
|
|
13353
13388
|
expression: expr,
|
|
13354
13389
|
descending: descending[0],
|
|
13355
|
-
loc: C.
|
|
13390
|
+
loc: C.astFactory.sourceLocation(descending[1], expr)
|
|
13356
13391
|
}));
|
|
13357
13392
|
} },
|
|
13358
13393
|
{ ALT: () => {
|
|
@@ -13371,16 +13406,17 @@ var limitOffsetClauses = {
|
|
|
13371
13406
|
{ ALT: () => {
|
|
13372
13407
|
const limit2 = SUBRULE1(limitClause);
|
|
13373
13408
|
const offset2 = OPTION1(() => SUBRULE1(offsetClause));
|
|
13374
|
-
return ACTION(() => C.
|
|
13409
|
+
return ACTION(() => C.astFactory.solutionModifierLimitOffset(limit2.val, offset2?.val, C.astFactory.sourceLocation(limit2, ...offset2 ? [offset2] : [])));
|
|
13375
13410
|
} },
|
|
13376
13411
|
{ ALT: () => {
|
|
13377
13412
|
const offset2 = SUBRULE2(offsetClause);
|
|
13378
13413
|
const limit2 = OPTION2(() => SUBRULE2(limitClause));
|
|
13379
|
-
return ACTION(() => C.
|
|
13414
|
+
return ACTION(() => C.astFactory.solutionModifierLimitOffset(limit2?.val, offset2.val, C.astFactory.sourceLocation(offset2, limit2)));
|
|
13380
13415
|
} }
|
|
13381
13416
|
]),
|
|
13382
|
-
gImpl: ({ PRINT_WORDS }) => (ast, {
|
|
13417
|
+
gImpl: ({ PRINT_WORDS, PRINT_ON_EMPTY }) => (ast, { astFactory: F2 }) => {
|
|
13383
13418
|
F2.printFilter(ast, () => {
|
|
13419
|
+
PRINT_ON_EMPTY("");
|
|
13384
13420
|
if (ast.limit) {
|
|
13385
13421
|
PRINT_WORDS("LIMIT", String(ast.limit));
|
|
13386
13422
|
}
|
|
@@ -13396,7 +13432,7 @@ var limitClause = {
|
|
|
13396
13432
|
const offset2 = CONSUME(limit);
|
|
13397
13433
|
const value = CONSUME(terminals_exports.integer);
|
|
13398
13434
|
const val = Number.parseInt(value.image, 10);
|
|
13399
|
-
return ACTION(() => C.
|
|
13435
|
+
return ACTION(() => C.astFactory.wrap(val, C.astFactory.sourceLocation(offset2, value)));
|
|
13400
13436
|
}
|
|
13401
13437
|
};
|
|
13402
13438
|
var offsetClause = {
|
|
@@ -13405,7 +13441,7 @@ var offsetClause = {
|
|
|
13405
13441
|
const offset2 = CONSUME(offset);
|
|
13406
13442
|
const value = CONSUME(terminals_exports.integer);
|
|
13407
13443
|
const val = Number.parseInt(value.image, 10);
|
|
13408
|
-
return ACTION(() => C.
|
|
13444
|
+
return ACTION(() => C.astFactory.wrap(val, C.astFactory.sourceLocation(offset2, value)));
|
|
13409
13445
|
}
|
|
13410
13446
|
};
|
|
13411
13447
|
|
|
@@ -13430,10 +13466,10 @@ var query = {
|
|
|
13430
13466
|
...subType,
|
|
13431
13467
|
type: "query",
|
|
13432
13468
|
...values3 && { values: values3 },
|
|
13433
|
-
loc: C.
|
|
13469
|
+
loc: C.astFactory.sourceLocation(prologueValues.at(0), subType, values3)
|
|
13434
13470
|
}));
|
|
13435
13471
|
},
|
|
13436
|
-
gImpl: ({ SUBRULE }) => (ast, {
|
|
13472
|
+
gImpl: ({ SUBRULE }) => (ast, { astFactory: F2 }) => {
|
|
13437
13473
|
SUBRULE(prologue, ast.context);
|
|
13438
13474
|
if (F2.isQuerySelect(ast)) {
|
|
13439
13475
|
SUBRULE(selectQuery, ast);
|
|
@@ -13463,13 +13499,13 @@ var selectQuery = {
|
|
|
13463
13499
|
solutionModifiers: modifiers,
|
|
13464
13500
|
datasets: from2,
|
|
13465
13501
|
...selectVal.val,
|
|
13466
|
-
loc: C.
|
|
13502
|
+
loc: C.astFactory.sourceLocation(selectVal, where2, modifiers.group, modifiers.having, modifiers.order, modifiers.limitOffset)
|
|
13467
13503
|
};
|
|
13468
13504
|
queryIsGood(ret);
|
|
13469
13505
|
return ret;
|
|
13470
13506
|
});
|
|
13471
13507
|
},
|
|
13472
|
-
gImpl: ({ SUBRULE }) => (ast, {
|
|
13508
|
+
gImpl: ({ SUBRULE }) => (ast, { astFactory: F2 }) => {
|
|
13473
13509
|
SUBRULE(selectClause, F2.wrap({
|
|
13474
13510
|
variables: ast.variables,
|
|
13475
13511
|
distinct: ast.distinct,
|
|
@@ -13487,14 +13523,14 @@ var subSelect = {
|
|
|
13487
13523
|
const where2 = SUBRULE(whereClause);
|
|
13488
13524
|
const modifiers = SUBRULE(solutionModifier);
|
|
13489
13525
|
const values3 = SUBRULE(valuesClause);
|
|
13490
|
-
return ACTION(() => C.
|
|
13526
|
+
return ACTION(() => C.astFactory.querySelect({
|
|
13491
13527
|
where: where2.val,
|
|
13492
|
-
datasets: C.
|
|
13528
|
+
datasets: C.astFactory.datasetClauses([], C.astFactory.sourceLocation()),
|
|
13493
13529
|
context: [],
|
|
13494
13530
|
solutionModifiers: modifiers,
|
|
13495
13531
|
...selectVal.val,
|
|
13496
13532
|
...values3 && { values: values3 }
|
|
13497
|
-
}, C.
|
|
13533
|
+
}, C.astFactory.sourceLocation(selectVal, where2, modifiers.group, modifiers.having, modifiers.order, modifiers.limitOffset, values3)));
|
|
13498
13534
|
}
|
|
13499
13535
|
};
|
|
13500
13536
|
var selectClause = {
|
|
@@ -13525,7 +13561,7 @@ var selectClause = {
|
|
|
13525
13561
|
const star2 = CONSUME(symbols_exports.star);
|
|
13526
13562
|
return ACTION(() => {
|
|
13527
13563
|
last2 = star2;
|
|
13528
|
-
return { variables: [C.
|
|
13564
|
+
return { variables: [C.astFactory.wildcard(C.astFactory.sourceLocation(star2))], ...distRed };
|
|
13529
13565
|
});
|
|
13530
13566
|
} },
|
|
13531
13567
|
{ ALT: () => {
|
|
@@ -13555,7 +13591,7 @@ var selectClause = {
|
|
|
13555
13591
|
throw new Error(`Variable ${variable.value} used more than once in SELECT clause`);
|
|
13556
13592
|
}
|
|
13557
13593
|
usedVars.push(variable);
|
|
13558
|
-
variables.push(C.
|
|
13594
|
+
variables.push(C.astFactory.patternBind(expr, variable, C.astFactory.sourceLocation(open, last2)));
|
|
13559
13595
|
});
|
|
13560
13596
|
} }
|
|
13561
13597
|
]));
|
|
@@ -13563,9 +13599,9 @@ var selectClause = {
|
|
|
13563
13599
|
} }
|
|
13564
13600
|
]);
|
|
13565
13601
|
ACTION(() => !couldParseAgg && C.parseMode.delete("canParseAggregate"));
|
|
13566
|
-
return ACTION(() => C.
|
|
13602
|
+
return ACTION(() => C.astFactory.wrap(val, C.astFactory.sourceLocation(select2, last2)));
|
|
13567
13603
|
},
|
|
13568
|
-
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, {
|
|
13604
|
+
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { astFactory: F2 }) => {
|
|
13569
13605
|
F2.printFilter(ast, () => {
|
|
13570
13606
|
PRINT_WORD("SELECT");
|
|
13571
13607
|
if (ast.val.distinct) {
|
|
@@ -13605,7 +13641,7 @@ var constructQuery = {
|
|
|
13605
13641
|
datasets: from2,
|
|
13606
13642
|
where: where2.val,
|
|
13607
13643
|
solutionModifiers: modifiers,
|
|
13608
|
-
loc: C.
|
|
13644
|
+
loc: C.astFactory.sourceLocation(construct2, where2, modifiers.group, modifiers.having, modifiers.order, modifiers.limitOffset)
|
|
13609
13645
|
}));
|
|
13610
13646
|
} },
|
|
13611
13647
|
{ ALT: () => {
|
|
@@ -13617,19 +13653,26 @@ var constructQuery = {
|
|
|
13617
13653
|
subType: "construct",
|
|
13618
13654
|
template: template.val,
|
|
13619
13655
|
datasets: from2,
|
|
13620
|
-
where: C.
|
|
13656
|
+
where: C.astFactory.patternGroup([template.val], C.astFactory.sourceLocation()),
|
|
13621
13657
|
solutionModifiers: modifiers,
|
|
13622
|
-
loc: C.
|
|
13658
|
+
loc: C.astFactory.sourceLocation(construct2, template, modifiers.group, modifiers.having, modifiers.order, modifiers.limitOffset)
|
|
13623
13659
|
}));
|
|
13624
13660
|
} }
|
|
13625
13661
|
]);
|
|
13626
13662
|
},
|
|
13627
|
-
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast,
|
|
13663
|
+
gImpl: ({ SUBRULE, PRINT_WORD, PRINT_ON_EMPTY }) => (ast, C) => {
|
|
13664
|
+
const { astFactory: F2, indentInc } = C;
|
|
13628
13665
|
F2.printFilter(ast, () => PRINT_WORD("CONSTRUCT"));
|
|
13629
13666
|
if (!F2.isSourceLocationNoMaterialize(ast.where.loc)) {
|
|
13630
|
-
F2.printFilter(ast, () =>
|
|
13667
|
+
F2.printFilter(ast, () => {
|
|
13668
|
+
C[traqulaIndentation] += indentInc;
|
|
13669
|
+
PRINT_WORD("{\n");
|
|
13670
|
+
});
|
|
13631
13671
|
SUBRULE(triplesBlock, ast.template);
|
|
13632
|
-
F2.printFilter(ast, () =>
|
|
13672
|
+
F2.printFilter(ast, () => {
|
|
13673
|
+
C[traqulaIndentation] -= indentInc;
|
|
13674
|
+
PRINT_ON_EMPTY("}\n");
|
|
13675
|
+
});
|
|
13633
13676
|
}
|
|
13634
13677
|
SUBRULE(datasetClauseStar, ast.datasets);
|
|
13635
13678
|
if (F2.isSourceLocationNoMaterialize(ast.where.loc)) {
|
|
@@ -13654,7 +13697,7 @@ var describeQuery = {
|
|
|
13654
13697
|
} },
|
|
13655
13698
|
{ ALT: () => {
|
|
13656
13699
|
const star2 = CONSUME(symbols_exports.star);
|
|
13657
|
-
return [ACTION(() => C.
|
|
13700
|
+
return [ACTION(() => C.astFactory.wildcard(C.astFactory.sourceLocation(star2)))];
|
|
13658
13701
|
} }
|
|
13659
13702
|
]);
|
|
13660
13703
|
const from2 = SUBRULE1(datasetClauseStar);
|
|
@@ -13666,10 +13709,10 @@ var describeQuery = {
|
|
|
13666
13709
|
datasets: from2,
|
|
13667
13710
|
...where2 && { where: where2.val },
|
|
13668
13711
|
solutionModifiers: modifiers,
|
|
13669
|
-
loc: C.
|
|
13712
|
+
loc: C.astFactory.sourceLocation(describe2, ...variables, from2, where2, modifiers.group, modifiers.having, modifiers.order, modifiers.limitOffset)
|
|
13670
13713
|
}));
|
|
13671
13714
|
},
|
|
13672
|
-
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, {
|
|
13715
|
+
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { astFactory: F2 }) => {
|
|
13673
13716
|
F2.printFilter(ast, () => PRINT_WORD("DESCRIBE"));
|
|
13674
13717
|
if (F2.isWildcard(ast.variables[0])) {
|
|
13675
13718
|
F2.printFilter(ast, () => PRINT_WORD("*"));
|
|
@@ -13697,10 +13740,10 @@ var askQuery = {
|
|
|
13697
13740
|
datasets: from2,
|
|
13698
13741
|
where: where2.val,
|
|
13699
13742
|
solutionModifiers: modifiers,
|
|
13700
|
-
loc: C.
|
|
13743
|
+
loc: C.astFactory.sourceLocation(ask2, from2, where2, modifiers.group, modifiers.having, modifiers.order, modifiers.limitOffset)
|
|
13701
13744
|
}));
|
|
13702
13745
|
},
|
|
13703
|
-
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, {
|
|
13746
|
+
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { astFactory: F2 }) => {
|
|
13704
13747
|
F2.printFilter(ast, () => PRINT_WORD("ASK"));
|
|
13705
13748
|
SUBRULE(datasetClauseStar, ast.datasets);
|
|
13706
13749
|
SUBRULE(whereClause, F2.wrap(ast.where, ast.loc));
|
|
@@ -13717,7 +13760,7 @@ var constructTemplate = {
|
|
|
13717
13760
|
const open = CONSUME(symbols_exports.LCurly);
|
|
13718
13761
|
const triples = OPTION(() => SUBRULE1(constructTriples));
|
|
13719
13762
|
const close = CONSUME(symbols_exports.RCurly);
|
|
13720
|
-
return ACTION(() => C.
|
|
13763
|
+
return ACTION(() => C.astFactory.wrap(triples ?? C.astFactory.patternBgp([], C.astFactory.sourceLocation()), C.astFactory.sourceLocation(open, close)));
|
|
13721
13764
|
}
|
|
13722
13765
|
};
|
|
13723
13766
|
var constructTriples = {
|
|
@@ -13754,13 +13797,13 @@ var update = {
|
|
|
13754
13797
|
const update2 = {
|
|
13755
13798
|
type: "update",
|
|
13756
13799
|
updates,
|
|
13757
|
-
loc: C.
|
|
13800
|
+
loc: C.astFactory.sourceLocation(...updates[0].context, updates[0].operation, ...updates.at(-1).context, updates.at(-1)?.operation)
|
|
13758
13801
|
};
|
|
13759
13802
|
updateNoReuseBlankNodeLabels(update2);
|
|
13760
13803
|
return update2;
|
|
13761
13804
|
});
|
|
13762
13805
|
},
|
|
13763
|
-
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, {
|
|
13806
|
+
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { astFactory: F2 }) => {
|
|
13764
13807
|
const [head2, ...tail] = ast.updates;
|
|
13765
13808
|
if (head2) {
|
|
13766
13809
|
SUBRULE(prologue, head2.context);
|
|
@@ -13840,9 +13883,9 @@ var load2 = {
|
|
|
13840
13883
|
CONSUME(loadInto);
|
|
13841
13884
|
return SUBRULE1(graphRef);
|
|
13842
13885
|
});
|
|
13843
|
-
return ACTION(() => C.
|
|
13886
|
+
return ACTION(() => C.astFactory.updateOperationLoad(C.astFactory.sourceLocation(loadToken, source, destination), source, Boolean(silent2), destination));
|
|
13844
13887
|
},
|
|
13845
|
-
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, {
|
|
13888
|
+
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { astFactory: F2 }) => {
|
|
13846
13889
|
F2.printFilter(ast, () => {
|
|
13847
13890
|
PRINT_WORD("LOAD");
|
|
13848
13891
|
if (ast.silent) {
|
|
@@ -13863,9 +13906,9 @@ function clearOrDrop(operation) {
|
|
|
13863
13906
|
const opToken = CONSUME(operation);
|
|
13864
13907
|
const silent2 = OPTION(() => CONSUME(silent));
|
|
13865
13908
|
const destination = SUBRULE1(graphRefAll);
|
|
13866
|
-
return ACTION(() => C.
|
|
13909
|
+
return ACTION(() => C.astFactory.updateOperationClearDrop(unCapitalize(operation.name), Boolean(silent2), destination, C.astFactory.sourceLocation(opToken, destination)));
|
|
13867
13910
|
},
|
|
13868
|
-
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, {
|
|
13911
|
+
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { astFactory: F2 }) => {
|
|
13869
13912
|
F2.printFilter(ast, () => {
|
|
13870
13913
|
PRINT_WORD(operation.name.toUpperCase());
|
|
13871
13914
|
if (ast.silent) {
|
|
@@ -13884,9 +13927,9 @@ var create2 = {
|
|
|
13884
13927
|
const createToken3 = CONSUME(create);
|
|
13885
13928
|
const silent2 = OPTION(() => CONSUME(silent));
|
|
13886
13929
|
const destination = SUBRULE1(graphRef);
|
|
13887
|
-
return ACTION(() => C.
|
|
13930
|
+
return ACTION(() => C.astFactory.updateOperationCreate(destination, Boolean(silent2), C.astFactory.sourceLocation(createToken3, destination)));
|
|
13888
13931
|
},
|
|
13889
|
-
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, {
|
|
13932
|
+
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { astFactory: F2 }) => {
|
|
13890
13933
|
F2.printFilter(ast, () => {
|
|
13891
13934
|
PRINT_WORD("CREATE");
|
|
13892
13935
|
if (ast.silent) {
|
|
@@ -13905,9 +13948,9 @@ function copyMoveAddOperation(operation) {
|
|
|
13905
13948
|
const source = SUBRULE1(graphOrDefault);
|
|
13906
13949
|
CONSUME(to);
|
|
13907
13950
|
const destination = SUBRULE2(graphOrDefault);
|
|
13908
|
-
return ACTION(() => C.
|
|
13951
|
+
return ACTION(() => C.astFactory.updateOperationAddMoveCopy(unCapitalize(operation.name), source, destination, Boolean(silent2), C.astFactory.sourceLocation(op, destination)));
|
|
13909
13952
|
},
|
|
13910
|
-
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, {
|
|
13953
|
+
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { astFactory: F2 }) => {
|
|
13911
13954
|
F2.printFilter(ast, () => {
|
|
13912
13955
|
PRINT_WORD(operation.name.toUpperCase());
|
|
13913
13956
|
if (ast.silent) {
|
|
@@ -13929,7 +13972,7 @@ var quadPattern = {
|
|
|
13929
13972
|
const open = CONSUME(symbols_exports.LCurly);
|
|
13930
13973
|
const val = SUBRULE1(quads);
|
|
13931
13974
|
const close = CONSUME(symbols_exports.RCurly);
|
|
13932
|
-
return ACTION(() => C.
|
|
13975
|
+
return ACTION(() => C.astFactory.wrap(val.val, C.astFactory.sourceLocation(open, close)));
|
|
13933
13976
|
}
|
|
13934
13977
|
};
|
|
13935
13978
|
var quadData = {
|
|
@@ -13940,7 +13983,7 @@ var quadData = {
|
|
|
13940
13983
|
const val = SUBRULE1(quads);
|
|
13941
13984
|
ACTION(() => couldParseVars && C.parseMode.add("canParseVars"));
|
|
13942
13985
|
const close = CONSUME(symbols_exports.RCurly);
|
|
13943
|
-
return ACTION(() => C.
|
|
13986
|
+
return ACTION(() => C.astFactory.wrap(val.val, C.astFactory.sourceLocation(open, close)));
|
|
13944
13987
|
}
|
|
13945
13988
|
};
|
|
13946
13989
|
function insertDeleteDelWhere(name, subType, cons1, cons2, dataRule) {
|
|
@@ -13957,12 +14000,26 @@ function insertDeleteDelWhere(name, subType, cons1, cons2, dataRule) {
|
|
|
13957
14000
|
if (name !== "insertData") {
|
|
13958
14001
|
ACTION(() => couldCreateBlankNodes && C.parseMode.add("canCreateBlankNodes"));
|
|
13959
14002
|
}
|
|
13960
|
-
return ACTION(() => C.
|
|
14003
|
+
return ACTION(() => C.astFactory.updateOperationInsDelDataWhere(subType, data.val, C.astFactory.sourceLocation(insDelToken, data)));
|
|
13961
14004
|
},
|
|
13962
|
-
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast,
|
|
13963
|
-
|
|
14005
|
+
gImpl: ({ SUBRULE, PRINT_WORD, PRINT_ON_EMPTY }) => (ast, C) => {
|
|
14006
|
+
const { astFactory: F2, indentInc } = C;
|
|
14007
|
+
F2.printFilter(ast, () => {
|
|
14008
|
+
C[traqulaIndentation] += indentInc;
|
|
14009
|
+
if (subType === "insertdata") {
|
|
14010
|
+
PRINT_WORD("INSERT DATA");
|
|
14011
|
+
} else if (subType === "deletedata") {
|
|
14012
|
+
PRINT_WORD("DELETE DATA");
|
|
14013
|
+
} else if (subType === "deletewhere") {
|
|
14014
|
+
PRINT_WORD("DELETE WHERE");
|
|
14015
|
+
}
|
|
14016
|
+
PRINT_WORD("{\n");
|
|
14017
|
+
});
|
|
13964
14018
|
SUBRULE(quads, F2.wrap(ast.data, ast.loc));
|
|
13965
|
-
F2.printFilter(ast, () =>
|
|
14019
|
+
F2.printFilter(ast, () => {
|
|
14020
|
+
C[traqulaIndentation] -= indentInc;
|
|
14021
|
+
PRINT_ON_EMPTY("}\n");
|
|
14022
|
+
});
|
|
13966
14023
|
}
|
|
13967
14024
|
};
|
|
13968
14025
|
}
|
|
@@ -13991,22 +14048,35 @@ var modify = {
|
|
|
13991
14048
|
const using = SUBRULE1(usingClauseStar);
|
|
13992
14049
|
CONSUME(where);
|
|
13993
14050
|
const where2 = SUBRULE1(groupGraphPattern);
|
|
13994
|
-
return ACTION(() => C.
|
|
14051
|
+
return ACTION(() => C.astFactory.updateOperationModify(C.astFactory.sourceLocation(graph2?.withToken, del, insert, where2), insert?.val ?? [], del?.val ?? [], where2, using, graph2?.graph));
|
|
13995
14052
|
},
|
|
13996
|
-
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast,
|
|
14053
|
+
gImpl: ({ SUBRULE, PRINT_WORD, PRINT_ON_EMPTY }) => (ast, C) => {
|
|
14054
|
+
const { astFactory: F2, indentInc } = C;
|
|
13997
14055
|
if (ast.graph) {
|
|
13998
14056
|
F2.printFilter(ast, () => PRINT_WORD("WITH"));
|
|
13999
14057
|
SUBRULE(iri2, ast.graph);
|
|
14000
14058
|
}
|
|
14001
14059
|
if (ast.delete.length > 0) {
|
|
14002
|
-
F2.printFilter(ast, () =>
|
|
14060
|
+
F2.printFilter(ast, () => {
|
|
14061
|
+
C[traqulaIndentation] += indentInc;
|
|
14062
|
+
PRINT_WORD("DELETE", "{\n");
|
|
14063
|
+
});
|
|
14003
14064
|
SUBRULE(quads, F2.wrap(ast.delete, ast.loc));
|
|
14004
|
-
F2.printFilter(ast, () =>
|
|
14065
|
+
F2.printFilter(ast, () => {
|
|
14066
|
+
C[traqulaIndentation] -= indentInc;
|
|
14067
|
+
PRINT_ON_EMPTY("}\n");
|
|
14068
|
+
});
|
|
14005
14069
|
}
|
|
14006
14070
|
if (ast.insert.length > 0) {
|
|
14007
|
-
F2.printFilter(ast, () =>
|
|
14071
|
+
F2.printFilter(ast, () => {
|
|
14072
|
+
C[traqulaIndentation] += indentInc;
|
|
14073
|
+
PRINT_WORD("INSERT", "{\n");
|
|
14074
|
+
});
|
|
14008
14075
|
SUBRULE(quads, F2.wrap(ast.insert, ast.loc));
|
|
14009
|
-
F2.printFilter(ast, () =>
|
|
14076
|
+
F2.printFilter(ast, () => {
|
|
14077
|
+
C[traqulaIndentation] -= indentInc;
|
|
14078
|
+
PRINT_ON_EMPTY("}\n");
|
|
14079
|
+
});
|
|
14010
14080
|
}
|
|
14011
14081
|
SUBRULE(usingClauseStar, ast.from);
|
|
14012
14082
|
F2.printFilter(ast, () => PRINT_WORD("WHERE"));
|
|
@@ -14020,7 +14090,7 @@ var deleteClause2 = {
|
|
|
14020
14090
|
const couldCreateBlankNodes = ACTION(() => C.parseMode.delete("canCreateBlankNodes"));
|
|
14021
14091
|
const del = SUBRULE(quadPattern);
|
|
14022
14092
|
ACTION(() => couldCreateBlankNodes && C.parseMode.add("canCreateBlankNodes"));
|
|
14023
|
-
return ACTION(() => C.
|
|
14093
|
+
return ACTION(() => C.astFactory.wrap(del.val, C.astFactory.sourceLocation(delToken, del)));
|
|
14024
14094
|
}
|
|
14025
14095
|
};
|
|
14026
14096
|
var insertClause2 = {
|
|
@@ -14028,7 +14098,7 @@ var insertClause2 = {
|
|
|
14028
14098
|
impl: ({ ACTION, SUBRULE, CONSUME }) => (C) => {
|
|
14029
14099
|
const insertToken = CONSUME(insertClause);
|
|
14030
14100
|
const insert = SUBRULE(quadPattern);
|
|
14031
|
-
return ACTION(() => C.
|
|
14101
|
+
return ACTION(() => C.astFactory.wrap(insert.val, C.astFactory.sourceLocation(insertToken, insert)));
|
|
14032
14102
|
}
|
|
14033
14103
|
};
|
|
14034
14104
|
var graphOrDefault = {
|
|
@@ -14036,12 +14106,12 @@ var graphOrDefault = {
|
|
|
14036
14106
|
impl: ({ ACTION, SUBRULE1, CONSUME, OPTION, OR }) => (C) => OR([
|
|
14037
14107
|
{ ALT: () => {
|
|
14038
14108
|
const def = CONSUME(graph_exports.default_);
|
|
14039
|
-
return ACTION(() => C.
|
|
14109
|
+
return ACTION(() => C.astFactory.graphRefDefault(C.astFactory.sourceLocation(def)));
|
|
14040
14110
|
} },
|
|
14041
14111
|
{ ALT: () => {
|
|
14042
14112
|
const graph2 = OPTION(() => CONSUME(graph_exports.graph));
|
|
14043
14113
|
const name = SUBRULE1(iri2);
|
|
14044
|
-
return ACTION(() => C.
|
|
14114
|
+
return ACTION(() => C.astFactory.graphRefSpecific(name, C.astFactory.sourceLocation(graph2, name)));
|
|
14045
14115
|
} }
|
|
14046
14116
|
])
|
|
14047
14117
|
};
|
|
@@ -14050,9 +14120,9 @@ var graphRef = {
|
|
|
14050
14120
|
impl: ({ ACTION, SUBRULE, CONSUME }) => (C) => {
|
|
14051
14121
|
const graph2 = CONSUME(graph_exports.graph);
|
|
14052
14122
|
const val = SUBRULE(iri2);
|
|
14053
|
-
return ACTION(() => C.
|
|
14123
|
+
return ACTION(() => C.astFactory.graphRefSpecific(val, C.astFactory.sourceLocation(graph2, val)));
|
|
14054
14124
|
},
|
|
14055
|
-
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, {
|
|
14125
|
+
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { astFactory: F2 }) => {
|
|
14056
14126
|
F2.printFilter(ast, () => PRINT_WORD("GRAPH"));
|
|
14057
14127
|
SUBRULE(iri2, ast.graph);
|
|
14058
14128
|
}
|
|
@@ -14063,18 +14133,18 @@ var graphRefAll = {
|
|
|
14063
14133
|
{ ALT: () => SUBRULE(graphRef) },
|
|
14064
14134
|
{ ALT: () => {
|
|
14065
14135
|
const def = CONSUME(graph_exports.default_);
|
|
14066
|
-
return ACTION(() => C.
|
|
14136
|
+
return ACTION(() => C.astFactory.graphRefDefault(C.astFactory.sourceLocation(def)));
|
|
14067
14137
|
} },
|
|
14068
14138
|
{ ALT: () => {
|
|
14069
14139
|
const named2 = CONSUME(graph_exports.named);
|
|
14070
|
-
return ACTION(() => C.
|
|
14140
|
+
return ACTION(() => C.astFactory.graphRefNamed(C.astFactory.sourceLocation(named2)));
|
|
14071
14141
|
} },
|
|
14072
14142
|
{ ALT: () => {
|
|
14073
14143
|
const graphAll2 = CONSUME(graph_exports.graphAll);
|
|
14074
|
-
return ACTION(() => C.
|
|
14144
|
+
return ACTION(() => C.astFactory.graphRefAll(C.astFactory.sourceLocation(graphAll2)));
|
|
14075
14145
|
} }
|
|
14076
14146
|
]),
|
|
14077
|
-
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, {
|
|
14147
|
+
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { astFactory: F2 }) => {
|
|
14078
14148
|
if (F2.isGraphRefSpecific(ast)) {
|
|
14079
14149
|
SUBRULE(graphRef, ast);
|
|
14080
14150
|
} else if (F2.isGraphRefDefault(ast)) {
|
|
@@ -14111,9 +14181,9 @@ var quads = {
|
|
|
14111
14181
|
ACTION(() => quads2.push(triples));
|
|
14112
14182
|
});
|
|
14113
14183
|
});
|
|
14114
|
-
return ACTION(() => C.
|
|
14184
|
+
return ACTION(() => C.astFactory.wrap(quads2, C.astFactory.sourceLocation(quads2.at(0), last2)));
|
|
14115
14185
|
},
|
|
14116
|
-
gImpl: ({ SUBRULE }) => (ast, {
|
|
14186
|
+
gImpl: ({ SUBRULE }) => (ast, { astFactory: F2 }) => {
|
|
14117
14187
|
for (const quad of ast.val) {
|
|
14118
14188
|
if (F2.isPattern(quad)) {
|
|
14119
14189
|
SUBRULE(triplesBlock, quad);
|
|
@@ -14131,14 +14201,21 @@ var quadsNotTriples = {
|
|
|
14131
14201
|
CONSUME(symbols_exports.LCurly);
|
|
14132
14202
|
const triples = OPTION(() => SUBRULE1(triplesTemplate));
|
|
14133
14203
|
const close = CONSUME(symbols_exports.RCurly);
|
|
14134
|
-
return ACTION(() => C.
|
|
14204
|
+
return ACTION(() => C.astFactory.graphQuads(name, triples ?? C.astFactory.patternBgp([], C.astFactory.sourceLocationNoMaterialize()), C.astFactory.sourceLocation(graph2, close)));
|
|
14135
14205
|
},
|
|
14136
|
-
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast,
|
|
14206
|
+
gImpl: ({ SUBRULE, PRINT_WORD, PRINT_ON_EMPTY }) => (ast, C) => {
|
|
14207
|
+
const { astFactory: F2, indentInc } = C;
|
|
14137
14208
|
F2.printFilter(ast, () => PRINT_WORD("GRAPH"));
|
|
14138
14209
|
SUBRULE(varOrTerm, ast.graph);
|
|
14139
|
-
F2.printFilter(ast, () =>
|
|
14210
|
+
F2.printFilter(ast, () => {
|
|
14211
|
+
C[traqulaIndentation] += indentInc;
|
|
14212
|
+
PRINT_WORD("{\n");
|
|
14213
|
+
});
|
|
14140
14214
|
SUBRULE(triplesBlock, ast.triples);
|
|
14141
|
-
F2.printFilter(ast, () =>
|
|
14215
|
+
F2.printFilter(ast, () => {
|
|
14216
|
+
C[traqulaIndentation] -= indentInc;
|
|
14217
|
+
PRINT_ON_EMPTY("}\n");
|
|
14218
|
+
});
|
|
14142
14219
|
}
|
|
14143
14220
|
};
|
|
14144
14221
|
|
|
@@ -14161,7 +14238,7 @@ var queryOrUpdate = {
|
|
|
14161
14238
|
...subType,
|
|
14162
14239
|
type: "query",
|
|
14163
14240
|
...values3 && { values: values3 },
|
|
14164
|
-
loc: C.
|
|
14241
|
+
loc: C.astFactory.sourceLocation(prologueValues.at(0), subType, values3)
|
|
14165
14242
|
}));
|
|
14166
14243
|
} },
|
|
14167
14244
|
{ ALT: () => {
|
|
@@ -14185,7 +14262,7 @@ var queryOrUpdate = {
|
|
|
14185
14262
|
const update2 = {
|
|
14186
14263
|
type: "update",
|
|
14187
14264
|
updates,
|
|
14188
|
-
loc: C.
|
|
14265
|
+
loc: C.astFactory.sourceLocation(...updates[0].context, updates[0].operation, ...updates.at(-1).context, updates.at(-1)?.operation)
|
|
14189
14266
|
};
|
|
14190
14267
|
updateNoReuseBlankNodeLabels(update2);
|
|
14191
14268
|
return update2;
|
|
@@ -14193,7 +14270,7 @@ var queryOrUpdate = {
|
|
|
14193
14270
|
} }
|
|
14194
14271
|
]);
|
|
14195
14272
|
},
|
|
14196
|
-
gImpl: ({ SUBRULE }) => (ast, {
|
|
14273
|
+
gImpl: ({ SUBRULE }) => (ast, { astFactory: F2 }) => {
|
|
14197
14274
|
if (F2.isQuery(ast)) {
|
|
14198
14275
|
SUBRULE(query, ast);
|
|
14199
14276
|
} else {
|
|
@@ -14205,13 +14282,15 @@ var queryOrUpdate = {
|
|
|
14205
14282
|
// lib/MinimalSparqlParser.js
|
|
14206
14283
|
function completeParseContext(context) {
|
|
14207
14284
|
return {
|
|
14208
|
-
|
|
14285
|
+
astFactory: context.astFactory ?? new AstFactory(),
|
|
14209
14286
|
baseIRI: context.baseIRI,
|
|
14210
14287
|
prefixes: { ...context.prefixes },
|
|
14211
14288
|
origSource: context.origSource ?? "",
|
|
14212
14289
|
offset: context.offset,
|
|
14213
14290
|
parseMode: context.parseMode ? new Set(context.parseMode) : /* @__PURE__ */ new Set(["canParseVars", "canCreateBlankNodes"]),
|
|
14214
|
-
skipValidation: context.skipValidation ?? false
|
|
14291
|
+
skipValidation: context.skipValidation ?? false,
|
|
14292
|
+
[traqulaIndentation]: context[traqulaIndentation] ?? 0,
|
|
14293
|
+
indentInc: context.indentInc ?? 2
|
|
14215
14294
|
};
|
|
14216
14295
|
}
|
|
14217
14296
|
var MinimalSparqlParser = class {
|
|
@@ -14219,7 +14298,7 @@ var MinimalSparqlParser = class {
|
|
|
14219
14298
|
constructor(parser) {
|
|
14220
14299
|
this.parser = parser;
|
|
14221
14300
|
}
|
|
14222
|
-
F = new
|
|
14301
|
+
F = new AstFactory();
|
|
14223
14302
|
parse(query2, context = {}) {
|
|
14224
14303
|
return this.parser.queryOrUpdate(query2, completeParseContext(context));
|
|
14225
14304
|
}
|