@traqula/parser-sparql-1-1 0.0.4 → 0.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -45,6 +45,8 @@ const parser = new Parser();
45
45
  const abstractSyntaxTree = parser.parse('SELECT * { ?s ?p ?o }');
46
46
  ```
47
47
 
48
+ Note that a single parser cannot parse multiple queries in parallel.
49
+
48
50
  The package also contains multiple parserBuilders.
49
51
  These builders can be used either to consume to a parser,
50
52
  or to usage as a starting point for your own grammar.
package/lib/Parser.d.ts CHANGED
@@ -1,12 +1,7 @@
1
1
  import { ParserBuilder } from '@traqula/core';
2
- import { gram, SparqlParser } from '@traqula/rules-sparql-1-1';
3
2
  import type * as T11 from '@traqula/rules-sparql-1-1';
4
- /**
5
- * Query or update, optimized for the Query case.
6
- * One could implement a new rule that does not use BACKTRACK.
7
- */
8
- export declare const queryOrUpdate: T11.SparqlGrammarRule<'queryOrUpdate', T11.SparqlQuery>;
9
- export declare const sparql11ParserBuilder: ParserBuilder<T11.SparqlContext, "string" | "object" | "filter" | "add" | "clear" | "copy" | "move" | "var" | "path" | "drop" | "load" | "update" | "query" | "quads" | "builtInStr" | "builtInLang" | "builtInLangmatches" | "builtInDatatype" | "builtInBound" | "builtInIri" | "builtInUri" | "builtInBnode" | "builtInRand" | "builtInAbs" | "builtInCeil" | "builtInFloor" | "builtInRound" | "builtInConcat" | "builtInStrlen" | "builtInUcase" | "builtInLcase" | "builtInEncode_for_uri" | "builtInContains" | "builtInStrstarts" | "builtInStrends" | "builtInStrbefore" | "builtInStrafter" | "builtInYear" | "builtInMonth" | "builtInDay" | "builtInHours" | "builtInMinutes" | "builtInSeconds" | "builtInTimezone" | "builtInTz" | "builtInNow" | "builtInUuid" | "builtInStruuid" | "builtInMd5" | "builtInSha1" | "builtInSha256" | "builtInSha384" | "builtInSha512" | "builtInCoalesce" | "builtInIf" | "builtInStrlang" | "builtInStrdt" | "builtInSameterm" | "builtInIsiri" | "builtInIsuri" | "builtInIsblank" | "builtInIsliteral" | "builtInIsnumeric" | "builtInRegex" | "builtInSubstr" | "builtInReplace" | "builtInExists" | "builtInNotexists" | "builtInCount" | "builtInSum" | "builtInMin" | "builtInMax" | "builtInAvg" | "builtInSample" | "builtInGroup_concat" | "graphRef" | "create" | "modify" | "datasetClauses" | "bind" | "solutionModifier" | "expression" | "aggregate" | "functionCall" | "blankNode" | "rdfLiteral" | "iri" | "numericLiteral" | "numericLiteralUnsigned" | "numericLiteralPositive" | "numericLiteralNegative" | "booleanLiteral" | "iriFull" | "prefixedName" | "VerbA" | "usingClause" | "datasetClause" | "defaultGraphClause" | "namedGraphClause" | "sourceSelector" | "usingClauses" | "expressionList" | "groupGraphPattern" | "builtInCall" | "prologue" | "baseDecl" | "prefixDecl" | "verb" | "varOrIri" | "varOrTerm" | "graphTerm" | "pathAlternative" | "pathSequence" | "pathEltOrInverse" | "pathElt" | "pathMod" | "pathPrimary" | "pathNegatedPropertySet" | "pathOneInPropertySet" | "triplesBlock" | "triplesSameSubjectPath" | "propertyListPathNotEmpty" | "propertyListNotEmpty" | "triplesNodePath" | "triplesNode" | "propertyListPath" | "propertyList" | "triplesSameSubject" | "triplesTemplate" | "verbPath" | "verbSimple" | "objectList" | "objectListPath" | "graphNodePath" | "graphNode" | "objectPath" | "collection" | "collectionPath" | "blankNodePropertyListPath" | "blankNodePropertyList" | "whereClause" | "subSelect" | "groupGraphPatternSub" | "graphPatternNotTriples" | "groupOrUnionGraphPattern" | "optionalGraphPattern" | "minusGraphPattern" | "graphGraphPattern" | "serviceGraphPattern" | "inlineData" | "dataBlock" | "inlineDataOneVar" | "inlineDataFull" | "dataBlockValue" | "constraint" | "brackettedExpression" | "argList" | "conditionalOrExpression" | "conditionalAndExpression" | "valueLogical" | "relationalExpression" | "numericExpression" | "additiveExpression" | "multiplicativeExpression" | "unaryExpression" | "primaryExpression" | "iriOrFunction" | "limitOffsetClauses" | "groupClause" | "havingClause" | "orderClause" | "groupCondition" | "havingCondition" | "orderCondition" | "limitClause" | "offsetClause" | "queryUnit" | "selectQuery" | "constructQuery" | "describeQuery" | "askQuery" | "valuesClause" | "selectClause" | "constructTemplate" | "constructTriples" | "updateUnit" | "update1" | "insertData" | "quadData" | "deleteData" | "deleteWhere" | "quadPattern" | "graphRefAll" | "graphOrDefault" | "deleteClause" | "insertClause" | "quadsNotTriples" | "queryOrUpdate", {
3
+ import { MinimalSparqlParser } from '@traqula/rules-sparql-1-1';
4
+ export declare const sparql11ParserBuilder: ParserBuilder<T11.SparqlContext, "string" | "object" | "filter" | "add" | "clear" | "copy" | "move" | "var" | "path" | "drop" | "load" | "update" | "query" | "quads" | "builtInStr" | "builtInLang" | "builtInLangmatches" | "builtInDatatype" | "builtInBound" | "builtInIri" | "builtInUri" | "builtInBnode" | "builtInRand" | "builtInAbs" | "builtInCeil" | "builtInFloor" | "builtInRound" | "builtInConcat" | "builtInStrlen" | "builtInUcase" | "builtInLcase" | "builtInEncode_for_uri" | "builtInContains" | "builtInStrstarts" | "builtInStrends" | "builtInStrbefore" | "builtInStrafter" | "builtInYear" | "builtInMonth" | "builtInDay" | "builtInHours" | "builtInMinutes" | "builtInSeconds" | "builtInTimezone" | "builtInTz" | "builtInNow" | "builtInUuid" | "builtInStruuid" | "builtInMd5" | "builtInSha1" | "builtInSha256" | "builtInSha384" | "builtInSha512" | "builtInCoalesce" | "builtInIf" | "builtInStrlang" | "builtInStrdt" | "builtInSameterm" | "builtInIsiri" | "builtInIsuri" | "builtInIsblank" | "builtInIsliteral" | "builtInIsnumeric" | "builtInRegex" | "builtInSubstr" | "builtInReplace" | "builtInExists" | "builtInNotexists" | "builtInCount" | "builtInSum" | "builtInMin" | "builtInMax" | "builtInAvg" | "builtInSample" | "builtInGroup_concat" | "graphRef" | "create" | "modify" | "datasetClauses" | "bind" | "solutionModifier" | "expression" | "aggregate" | "functionCall" | "blankNode" | "rdfLiteral" | "iri" | "numericLiteral" | "numericLiteralUnsigned" | "numericLiteralPositive" | "numericLiteralNegative" | "booleanLiteral" | "iriFull" | "prefixedName" | "VerbA" | "prologue" | "baseDecl" | "prefixDecl" | "verb" | "varOrIri" | "varOrTerm" | "graphTerm" | "usingClause" | "datasetClause" | "defaultGraphClause" | "namedGraphClause" | "sourceSelector" | "usingClauses" | "expressionList" | "groupGraphPattern" | "builtInCall" | "pathAlternative" | "pathSequence" | "pathEltOrInverse" | "pathElt" | "pathMod" | "pathPrimary" | "pathNegatedPropertySet" | "pathOneInPropertySet" | "triplesBlock" | "triplesSameSubjectPath" | "propertyListPathNotEmpty" | "propertyListNotEmpty" | "triplesNodePath" | "triplesNode" | "propertyListPath" | "propertyList" | "triplesSameSubject" | "triplesTemplate" | "verbPath" | "verbSimple" | "objectList" | "objectListPath" | "graphNodePath" | "graphNode" | "objectPath" | "collection" | "collectionPath" | "blankNodePropertyListPath" | "blankNodePropertyList" | "whereClause" | "subSelect" | "groupGraphPatternSub" | "graphPatternNotTriples" | "groupOrUnionGraphPattern" | "optionalGraphPattern" | "minusGraphPattern" | "graphGraphPattern" | "serviceGraphPattern" | "inlineData" | "dataBlock" | "inlineDataOneVar" | "inlineDataFull" | "dataBlockValue" | "constraint" | "brackettedExpression" | "argList" | "conditionalOrExpression" | "conditionalAndExpression" | "valueLogical" | "relationalExpression" | "numericExpression" | "additiveExpression" | "multiplicativeExpression" | "unaryExpression" | "primaryExpression" | "iriOrFunction" | "limitOffsetClauses" | "groupClause" | "havingClause" | "orderClause" | "groupCondition" | "havingCondition" | "orderCondition" | "limitClause" | "offsetClause" | "queryUnit" | "selectQuery" | "constructQuery" | "describeQuery" | "askQuery" | "valuesClause" | "selectClause" | "constructTemplate" | "constructTriples" | "updateUnit" | "update1" | "insertData" | "quadData" | "deleteData" | "deleteWhere" | "quadPattern" | "graphRefAll" | "graphOrDefault" | "deleteClause" | "insertClause" | "quadsNotTriples" | "queryOrUpdate", {
10
5
  string: import("@traqula/core").ParserRule<any, "string"> & T11.SparqlGrammarRule<"string", T11.TermLiteralStr>;
11
6
  object: import("@traqula/core").ParserRule<any, "object"> & T11.SparqlGrammarRule<"object", T11.TripleNesting, [T11.GraphNode, T11.TermIriFull | T11.TermIriPrefixed | T11.TermVariable | T11.PropertyPathChain | T11.PathModified | T11.PathNegated]>;
12
7
  filter: import("@traqula/core").ParserRule<any, "filter"> & T11.SparqlGrammarRule<"filter", T11.PatternFilter, []> & T11.SparqlGeneratorRule<"filter", T11.PatternFilter, []>;
@@ -21,66 +16,66 @@ export declare const sparql11ParserBuilder: ParserBuilder<T11.SparqlContext, "st
21
16
  update: import("@traqula/core").ParserRule<any, "update"> & T11.SparqlGrammarRule<"update", T11.Update, []> & T11.SparqlGeneratorRule<"update", T11.Update, []>;
22
17
  query: import("@traqula/core").ParserRule<any, "query"> & T11.SparqlGrammarRule<"query", T11.Query, []> & T11.SparqlGeneratorRule<"query", T11.Query, []>;
23
18
  quads: import("@traqula/core").ParserRule<any, "quads"> & T11.SparqlGrammarRule<"quads", import("@traqula/core").Wrap<T11.Quads[]>, []> & T11.SparqlGeneratorRule<"quads", import("@traqula/core").Wrap<T11.Quads[]>, []>;
24
- builtInStr: import("@traqula/core").ParserRule<any, "builtInStr"> & gram.RuleDefExpressionFunctionX<"builtInStr", [T11.Expression]>;
25
- builtInLang: import("@traqula/core").ParserRule<any, "builtInLang"> & gram.RuleDefExpressionFunctionX<"builtInLang", [T11.Expression]>;
26
- builtInLangmatches: import("@traqula/core").ParserRule<any, "builtInLangmatches"> & gram.RuleDefExpressionFunctionX<"builtInLangmatches", [T11.Expression, T11.Expression]>;
27
- builtInDatatype: import("@traqula/core").ParserRule<any, "builtInDatatype"> & gram.RuleDefExpressionFunctionX<"builtInDatatype", [T11.Expression]>;
28
- builtInBound: import("@traqula/core").ParserRule<any, "builtInBound"> & gram.RuleDefExpressionFunctionX<"builtInBound", [T11.TermVariable]>;
29
- builtInIri: import("@traqula/core").ParserRule<any, "builtInIri"> & gram.RuleDefExpressionFunctionX<"builtInIri", [T11.Expression]>;
30
- builtInUri: import("@traqula/core").ParserRule<any, "builtInUri"> & gram.RuleDefExpressionFunctionX<"builtInUri", [T11.Expression]>;
31
- builtInBnode: import("@traqula/core").ParserRule<any, "builtInBnode"> & gram.RuleDefExpressionFunctionX<"builtInBnode", [] | [T11.Expression]>;
32
- builtInRand: import("@traqula/core").ParserRule<any, "builtInRand"> & gram.RuleDefExpressionFunctionX<"builtInRand", []>;
33
- builtInAbs: import("@traqula/core").ParserRule<any, "builtInAbs"> & gram.RuleDefExpressionFunctionX<"builtInAbs", [T11.Expression]>;
34
- builtInCeil: import("@traqula/core").ParserRule<any, "builtInCeil"> & gram.RuleDefExpressionFunctionX<"builtInCeil", [T11.Expression]>;
35
- builtInFloor: import("@traqula/core").ParserRule<any, "builtInFloor"> & gram.RuleDefExpressionFunctionX<"builtInFloor", [T11.Expression]>;
36
- builtInRound: import("@traqula/core").ParserRule<any, "builtInRound"> & gram.RuleDefExpressionFunctionX<"builtInRound", [T11.Expression]>;
37
- builtInConcat: import("@traqula/core").ParserRule<any, "builtInConcat"> & gram.RuleDefExpressionFunctionX<"builtInConcat", T11.Expression[]>;
38
- builtInStrlen: import("@traqula/core").ParserRule<any, "builtInStrlen"> & gram.RuleDefExpressionFunctionX<"builtInStrlen", [T11.Expression]>;
39
- builtInUcase: import("@traqula/core").ParserRule<any, "builtInUcase"> & gram.RuleDefExpressionFunctionX<"builtInUcase", [T11.Expression]>;
40
- builtInLcase: import("@traqula/core").ParserRule<any, "builtInLcase"> & gram.RuleDefExpressionFunctionX<"builtInLcase", [T11.Expression]>;
41
- builtInEncode_for_uri: import("@traqula/core").ParserRule<any, "builtInEncode_for_uri"> & gram.RuleDefExpressionFunctionX<"builtInEncode_for_uri", [T11.Expression]>;
42
- builtInContains: import("@traqula/core").ParserRule<any, "builtInContains"> & gram.RuleDefExpressionFunctionX<"builtInContains", [T11.Expression, T11.Expression]>;
43
- builtInStrstarts: import("@traqula/core").ParserRule<any, "builtInStrstarts"> & gram.RuleDefExpressionFunctionX<"builtInStrstarts", [T11.Expression, T11.Expression]>;
44
- builtInStrends: import("@traqula/core").ParserRule<any, "builtInStrends"> & gram.RuleDefExpressionFunctionX<"builtInStrends", [T11.Expression, T11.Expression]>;
45
- builtInStrbefore: import("@traqula/core").ParserRule<any, "builtInStrbefore"> & gram.RuleDefExpressionFunctionX<"builtInStrbefore", [T11.Expression, T11.Expression]>;
46
- builtInStrafter: import("@traqula/core").ParserRule<any, "builtInStrafter"> & gram.RuleDefExpressionFunctionX<"builtInStrafter", [T11.Expression, T11.Expression]>;
47
- builtInYear: import("@traqula/core").ParserRule<any, "builtInYear"> & gram.RuleDefExpressionFunctionX<"builtInYear", [T11.Expression]>;
48
- builtInMonth: import("@traqula/core").ParserRule<any, "builtInMonth"> & gram.RuleDefExpressionFunctionX<"builtInMonth", [T11.Expression]>;
49
- builtInDay: import("@traqula/core").ParserRule<any, "builtInDay"> & gram.RuleDefExpressionFunctionX<"builtInDay", [T11.Expression]>;
50
- builtInHours: import("@traqula/core").ParserRule<any, "builtInHours"> & gram.RuleDefExpressionFunctionX<"builtInHours", [T11.Expression]>;
51
- builtInMinutes: import("@traqula/core").ParserRule<any, "builtInMinutes"> & gram.RuleDefExpressionFunctionX<"builtInMinutes", [T11.Expression]>;
52
- builtInSeconds: import("@traqula/core").ParserRule<any, "builtInSeconds"> & gram.RuleDefExpressionFunctionX<"builtInSeconds", [T11.Expression]>;
53
- builtInTimezone: import("@traqula/core").ParserRule<any, "builtInTimezone"> & gram.RuleDefExpressionFunctionX<"builtInTimezone", [T11.Expression]>;
54
- builtInTz: import("@traqula/core").ParserRule<any, "builtInTz"> & gram.RuleDefExpressionFunctionX<"builtInTz", [T11.Expression]>;
55
- builtInNow: import("@traqula/core").ParserRule<any, "builtInNow"> & gram.RuleDefExpressionFunctionX<"builtInNow", []>;
56
- builtInUuid: import("@traqula/core").ParserRule<any, "builtInUuid"> & gram.RuleDefExpressionFunctionX<"builtInUuid", []>;
57
- builtInStruuid: import("@traqula/core").ParserRule<any, "builtInStruuid"> & gram.RuleDefExpressionFunctionX<"builtInStruuid", []>;
58
- builtInMd5: import("@traqula/core").ParserRule<any, "builtInMd5"> & gram.RuleDefExpressionFunctionX<"builtInMd5", [T11.Expression]>;
59
- builtInSha1: import("@traqula/core").ParserRule<any, "builtInSha1"> & gram.RuleDefExpressionFunctionX<"builtInSha1", [T11.Expression]>;
60
- builtInSha256: import("@traqula/core").ParserRule<any, "builtInSha256"> & gram.RuleDefExpressionFunctionX<"builtInSha256", [T11.Expression]>;
61
- builtInSha384: import("@traqula/core").ParserRule<any, "builtInSha384"> & gram.RuleDefExpressionFunctionX<"builtInSha384", [T11.Expression]>;
62
- builtInSha512: import("@traqula/core").ParserRule<any, "builtInSha512"> & gram.RuleDefExpressionFunctionX<"builtInSha512", [T11.Expression]>;
63
- builtInCoalesce: import("@traqula/core").ParserRule<any, "builtInCoalesce"> & gram.RuleDefExpressionFunctionX<"builtInCoalesce", T11.Expression[]>;
64
- builtInIf: import("@traqula/core").ParserRule<any, "builtInIf"> & gram.RuleDefExpressionFunctionX<"builtInIf", [T11.Expression, T11.Expression, T11.Expression]>;
65
- builtInStrlang: import("@traqula/core").ParserRule<any, "builtInStrlang"> & gram.RuleDefExpressionFunctionX<"builtInStrlang", [T11.Expression, T11.Expression]>;
66
- builtInStrdt: import("@traqula/core").ParserRule<any, "builtInStrdt"> & gram.RuleDefExpressionFunctionX<"builtInStrdt", [T11.Expression, T11.Expression]>;
67
- builtInSameterm: import("@traqula/core").ParserRule<any, "builtInSameterm"> & gram.RuleDefExpressionFunctionX<"builtInSameterm", [T11.Expression, T11.Expression]>;
68
- builtInIsiri: import("@traqula/core").ParserRule<any, "builtInIsiri"> & gram.RuleDefExpressionFunctionX<"builtInIsiri", [T11.Expression]>;
69
- builtInIsuri: import("@traqula/core").ParserRule<any, "builtInIsuri"> & gram.RuleDefExpressionFunctionX<"builtInIsuri", [T11.Expression]>;
70
- builtInIsblank: import("@traqula/core").ParserRule<any, "builtInIsblank"> & gram.RuleDefExpressionFunctionX<"builtInIsblank", [T11.Expression]>;
71
- builtInIsliteral: import("@traqula/core").ParserRule<any, "builtInIsliteral"> & gram.RuleDefExpressionFunctionX<"builtInIsliteral", [T11.Expression]>;
72
- builtInIsnumeric: import("@traqula/core").ParserRule<any, "builtInIsnumeric"> & gram.RuleDefExpressionFunctionX<"builtInIsnumeric", [T11.Expression]>;
73
- builtInRegex: import("@traqula/core").ParserRule<any, "builtInRegex"> & gram.RuleDefExpressionFunctionX<"builtInRegex", [T11.Expression, T11.Expression] | [T11.Expression, T11.Expression, T11.Expression]>;
74
- builtInSubstr: import("@traqula/core").ParserRule<any, "builtInSubstr"> & gram.RuleDefExpressionFunctionX<"builtInSubstr", [T11.Expression, T11.Expression] | [T11.Expression, T11.Expression, T11.Expression]>;
75
- builtInReplace: import("@traqula/core").ParserRule<any, "builtInReplace"> & gram.RuleDefExpressionFunctionX<"builtInReplace", [T11.Expression, T11.Expression, T11.Expression] | [T11.Expression, T11.Expression, T11.Expression, T11.Expression]>;
19
+ builtInStr: import("@traqula/core").ParserRule<any, "builtInStr"> & T11.RuleDefExpressionFunctionX<"builtInStr", [T11.Expression]>;
20
+ builtInLang: import("@traqula/core").ParserRule<any, "builtInLang"> & T11.RuleDefExpressionFunctionX<"builtInLang", [T11.Expression]>;
21
+ builtInLangmatches: import("@traqula/core").ParserRule<any, "builtInLangmatches"> & T11.RuleDefExpressionFunctionX<"builtInLangmatches", [T11.Expression, T11.Expression]>;
22
+ builtInDatatype: import("@traqula/core").ParserRule<any, "builtInDatatype"> & T11.RuleDefExpressionFunctionX<"builtInDatatype", [T11.Expression]>;
23
+ builtInBound: import("@traqula/core").ParserRule<any, "builtInBound"> & T11.RuleDefExpressionFunctionX<"builtInBound", [T11.TermVariable]>;
24
+ builtInIri: import("@traqula/core").ParserRule<any, "builtInIri"> & T11.RuleDefExpressionFunctionX<"builtInIri", [T11.Expression]>;
25
+ builtInUri: import("@traqula/core").ParserRule<any, "builtInUri"> & T11.RuleDefExpressionFunctionX<"builtInUri", [T11.Expression]>;
26
+ builtInBnode: import("@traqula/core").ParserRule<any, "builtInBnode"> & T11.RuleDefExpressionFunctionX<"builtInBnode", [] | [T11.Expression]>;
27
+ builtInRand: import("@traqula/core").ParserRule<any, "builtInRand"> & T11.RuleDefExpressionFunctionX<"builtInRand", []>;
28
+ builtInAbs: import("@traqula/core").ParserRule<any, "builtInAbs"> & T11.RuleDefExpressionFunctionX<"builtInAbs", [T11.Expression]>;
29
+ builtInCeil: import("@traqula/core").ParserRule<any, "builtInCeil"> & T11.RuleDefExpressionFunctionX<"builtInCeil", [T11.Expression]>;
30
+ builtInFloor: import("@traqula/core").ParserRule<any, "builtInFloor"> & T11.RuleDefExpressionFunctionX<"builtInFloor", [T11.Expression]>;
31
+ builtInRound: import("@traqula/core").ParserRule<any, "builtInRound"> & T11.RuleDefExpressionFunctionX<"builtInRound", [T11.Expression]>;
32
+ builtInConcat: import("@traqula/core").ParserRule<any, "builtInConcat"> & T11.RuleDefExpressionFunctionX<"builtInConcat", T11.Expression[]>;
33
+ builtInStrlen: import("@traqula/core").ParserRule<any, "builtInStrlen"> & T11.RuleDefExpressionFunctionX<"builtInStrlen", [T11.Expression]>;
34
+ builtInUcase: import("@traqula/core").ParserRule<any, "builtInUcase"> & T11.RuleDefExpressionFunctionX<"builtInUcase", [T11.Expression]>;
35
+ builtInLcase: import("@traqula/core").ParserRule<any, "builtInLcase"> & T11.RuleDefExpressionFunctionX<"builtInLcase", [T11.Expression]>;
36
+ builtInEncode_for_uri: import("@traqula/core").ParserRule<any, "builtInEncode_for_uri"> & T11.RuleDefExpressionFunctionX<"builtInEncode_for_uri", [T11.Expression]>;
37
+ builtInContains: import("@traqula/core").ParserRule<any, "builtInContains"> & T11.RuleDefExpressionFunctionX<"builtInContains", [T11.Expression, T11.Expression]>;
38
+ builtInStrstarts: import("@traqula/core").ParserRule<any, "builtInStrstarts"> & T11.RuleDefExpressionFunctionX<"builtInStrstarts", [T11.Expression, T11.Expression]>;
39
+ builtInStrends: import("@traqula/core").ParserRule<any, "builtInStrends"> & T11.RuleDefExpressionFunctionX<"builtInStrends", [T11.Expression, T11.Expression]>;
40
+ builtInStrbefore: import("@traqula/core").ParserRule<any, "builtInStrbefore"> & T11.RuleDefExpressionFunctionX<"builtInStrbefore", [T11.Expression, T11.Expression]>;
41
+ builtInStrafter: import("@traqula/core").ParserRule<any, "builtInStrafter"> & T11.RuleDefExpressionFunctionX<"builtInStrafter", [T11.Expression, T11.Expression]>;
42
+ builtInYear: import("@traqula/core").ParserRule<any, "builtInYear"> & T11.RuleDefExpressionFunctionX<"builtInYear", [T11.Expression]>;
43
+ builtInMonth: import("@traqula/core").ParserRule<any, "builtInMonth"> & T11.RuleDefExpressionFunctionX<"builtInMonth", [T11.Expression]>;
44
+ builtInDay: import("@traqula/core").ParserRule<any, "builtInDay"> & T11.RuleDefExpressionFunctionX<"builtInDay", [T11.Expression]>;
45
+ builtInHours: import("@traqula/core").ParserRule<any, "builtInHours"> & T11.RuleDefExpressionFunctionX<"builtInHours", [T11.Expression]>;
46
+ builtInMinutes: import("@traqula/core").ParserRule<any, "builtInMinutes"> & T11.RuleDefExpressionFunctionX<"builtInMinutes", [T11.Expression]>;
47
+ builtInSeconds: import("@traqula/core").ParserRule<any, "builtInSeconds"> & T11.RuleDefExpressionFunctionX<"builtInSeconds", [T11.Expression]>;
48
+ builtInTimezone: import("@traqula/core").ParserRule<any, "builtInTimezone"> & T11.RuleDefExpressionFunctionX<"builtInTimezone", [T11.Expression]>;
49
+ builtInTz: import("@traqula/core").ParserRule<any, "builtInTz"> & T11.RuleDefExpressionFunctionX<"builtInTz", [T11.Expression]>;
50
+ builtInNow: import("@traqula/core").ParserRule<any, "builtInNow"> & T11.RuleDefExpressionFunctionX<"builtInNow", []>;
51
+ builtInUuid: import("@traqula/core").ParserRule<any, "builtInUuid"> & T11.RuleDefExpressionFunctionX<"builtInUuid", []>;
52
+ builtInStruuid: import("@traqula/core").ParserRule<any, "builtInStruuid"> & T11.RuleDefExpressionFunctionX<"builtInStruuid", []>;
53
+ builtInMd5: import("@traqula/core").ParserRule<any, "builtInMd5"> & T11.RuleDefExpressionFunctionX<"builtInMd5", [T11.Expression]>;
54
+ builtInSha1: import("@traqula/core").ParserRule<any, "builtInSha1"> & T11.RuleDefExpressionFunctionX<"builtInSha1", [T11.Expression]>;
55
+ builtInSha256: import("@traqula/core").ParserRule<any, "builtInSha256"> & T11.RuleDefExpressionFunctionX<"builtInSha256", [T11.Expression]>;
56
+ builtInSha384: import("@traqula/core").ParserRule<any, "builtInSha384"> & T11.RuleDefExpressionFunctionX<"builtInSha384", [T11.Expression]>;
57
+ builtInSha512: import("@traqula/core").ParserRule<any, "builtInSha512"> & T11.RuleDefExpressionFunctionX<"builtInSha512", [T11.Expression]>;
58
+ builtInCoalesce: import("@traqula/core").ParserRule<any, "builtInCoalesce"> & T11.RuleDefExpressionFunctionX<"builtInCoalesce", T11.Expression[]>;
59
+ builtInIf: import("@traqula/core").ParserRule<any, "builtInIf"> & T11.RuleDefExpressionFunctionX<"builtInIf", [T11.Expression, T11.Expression, T11.Expression]>;
60
+ builtInStrlang: import("@traqula/core").ParserRule<any, "builtInStrlang"> & T11.RuleDefExpressionFunctionX<"builtInStrlang", [T11.Expression, T11.Expression]>;
61
+ builtInStrdt: import("@traqula/core").ParserRule<any, "builtInStrdt"> & T11.RuleDefExpressionFunctionX<"builtInStrdt", [T11.Expression, T11.Expression]>;
62
+ builtInSameterm: import("@traqula/core").ParserRule<any, "builtInSameterm"> & T11.RuleDefExpressionFunctionX<"builtInSameterm", [T11.Expression, T11.Expression]>;
63
+ builtInIsiri: import("@traqula/core").ParserRule<any, "builtInIsiri"> & T11.RuleDefExpressionFunctionX<"builtInIsiri", [T11.Expression]>;
64
+ builtInIsuri: import("@traqula/core").ParserRule<any, "builtInIsuri"> & T11.RuleDefExpressionFunctionX<"builtInIsuri", [T11.Expression]>;
65
+ builtInIsblank: import("@traqula/core").ParserRule<any, "builtInIsblank"> & T11.RuleDefExpressionFunctionX<"builtInIsblank", [T11.Expression]>;
66
+ builtInIsliteral: import("@traqula/core").ParserRule<any, "builtInIsliteral"> & T11.RuleDefExpressionFunctionX<"builtInIsliteral", [T11.Expression]>;
67
+ builtInIsnumeric: import("@traqula/core").ParserRule<any, "builtInIsnumeric"> & T11.RuleDefExpressionFunctionX<"builtInIsnumeric", [T11.Expression]>;
68
+ builtInRegex: import("@traqula/core").ParserRule<any, "builtInRegex"> & T11.RuleDefExpressionFunctionX<"builtInRegex", [T11.Expression, T11.Expression] | [T11.Expression, T11.Expression, T11.Expression]>;
69
+ builtInSubstr: import("@traqula/core").ParserRule<any, "builtInSubstr"> & T11.RuleDefExpressionFunctionX<"builtInSubstr", [T11.Expression, T11.Expression] | [T11.Expression, T11.Expression, T11.Expression]>;
70
+ builtInReplace: import("@traqula/core").ParserRule<any, "builtInReplace"> & T11.RuleDefExpressionFunctionX<"builtInReplace", [T11.Expression, T11.Expression, T11.Expression] | [T11.Expression, T11.Expression, T11.Expression, T11.Expression]>;
76
71
  builtInExists: import("@traqula/core").ParserRule<any, "builtInExists"> & T11.SparqlGrammarRule<"builtInExists", T11.ExpressionPatternOperation>;
77
72
  builtInNotexists: import("@traqula/core").ParserRule<any, "builtInNotexists"> & T11.SparqlGrammarRule<"builtInNotexists", T11.ExpressionPatternOperation>;
78
73
  builtInCount: import("@traqula/core").ParserRule<any, "builtInCount"> & T11.SparqlGrammarRule<"builtInCount", T11.ExpressionAggregateDefault | T11.ExpressionAggregateOnWildcard>;
79
- builtInSum: import("@traqula/core").ParserRule<any, "builtInSum"> & gram.RuleDefExpressionAggregatorX<"builtInSum">;
80
- builtInMin: import("@traqula/core").ParserRule<any, "builtInMin"> & gram.RuleDefExpressionAggregatorX<"builtInMin">;
81
- builtInMax: import("@traqula/core").ParserRule<any, "builtInMax"> & gram.RuleDefExpressionAggregatorX<"builtInMax">;
82
- builtInAvg: import("@traqula/core").ParserRule<any, "builtInAvg"> & gram.RuleDefExpressionAggregatorX<"builtInAvg">;
83
- builtInSample: import("@traqula/core").ParserRule<any, "builtInSample"> & gram.RuleDefExpressionAggregatorX<"builtInSample">;
74
+ builtInSum: import("@traqula/core").ParserRule<any, "builtInSum"> & T11.RuleDefExpressionAggregatorX<"builtInSum">;
75
+ builtInMin: import("@traqula/core").ParserRule<any, "builtInMin"> & T11.RuleDefExpressionAggregatorX<"builtInMin">;
76
+ builtInMax: import("@traqula/core").ParserRule<any, "builtInMax"> & T11.RuleDefExpressionAggregatorX<"builtInMax">;
77
+ builtInAvg: import("@traqula/core").ParserRule<any, "builtInAvg"> & T11.RuleDefExpressionAggregatorX<"builtInAvg">;
78
+ builtInSample: import("@traqula/core").ParserRule<any, "builtInSample"> & T11.RuleDefExpressionAggregatorX<"builtInSample">;
84
79
  builtInGroup_concat: import("@traqula/core").ParserRule<any, "builtInGroup_concat"> & T11.SparqlGrammarRule<"builtInGroup_concat", T11.ExpressionAggregateDefault | T11.ExpressionAggregateSeparator>;
85
80
  graphRef: import("@traqula/core").ParserRule<any, "graphRef"> & T11.SparqlGrammarRule<"graphRef", T11.GraphRefSpecific, []> & T11.SparqlGeneratorRule<"graphRef", T11.GraphRefSpecific, []>;
86
81
  create: import("@traqula/core").ParserRule<any, "create"> & T11.SparqlGrammarRule<"create", T11.UpdateOperationCreate, []> & T11.SparqlGeneratorRule<"create", T11.UpdateOperationCreate, []>;
@@ -102,6 +97,13 @@ export declare const sparql11ParserBuilder: ParserBuilder<T11.SparqlContext, "st
102
97
  iriFull: import("@traqula/core").ParserRule<any, "iriFull"> & T11.SparqlGrammarRule<"iriFull", T11.TermIriFull, []> & T11.SparqlGeneratorRule<"iriFull", T11.TermIriFull, []>;
103
98
  prefixedName: import("@traqula/core").ParserRule<any, "prefixedName"> & T11.SparqlGrammarRule<"prefixedName", T11.TermIriPrefixed, []> & T11.SparqlGeneratorRule<"prefixedName", T11.TermIriPrefixed, []>;
104
99
  VerbA: import("@traqula/core").ParserRule<any, "VerbA"> & T11.SparqlGrammarRule<"VerbA", T11.TermIriFull>;
100
+ prologue: import("@traqula/core").ParserRule<any, "prologue"> & T11.SparqlGrammarRule<"prologue", T11.ContextDefinition[], []> & T11.SparqlGeneratorRule<"prologue", T11.ContextDefinition[], []>;
101
+ baseDecl: import("@traqula/core").ParserRule<any, "baseDecl"> & T11.SparqlGrammarRule<"baseDecl", T11.ContextDefinitionBase, []> & T11.SparqlGeneratorRule<"baseDecl", T11.ContextDefinitionBase, []>;
102
+ prefixDecl: import("@traqula/core").ParserRule<any, "prefixDecl"> & T11.SparqlGrammarRule<"prefixDecl", T11.ContextDefinitionPrefix, []> & T11.SparqlGeneratorRule<"prefixDecl", T11.ContextDefinitionPrefix, []>;
103
+ verb: import("@traqula/core").ParserRule<any, "verb"> & T11.SparqlGrammarRule<"verb", T11.TermIri | T11.TermVariable>;
104
+ varOrIri: import("@traqula/core").ParserRule<any, "varOrIri"> & T11.SparqlGrammarRule<"varOrIri", T11.TermIri | T11.TermVariable>;
105
+ varOrTerm: import("@traqula/core").ParserRule<any, "varOrTerm"> & T11.SparqlGrammarRule<"varOrTerm", T11.Term, []> & T11.SparqlGeneratorRule<"varOrTerm", T11.Term, []>;
106
+ graphTerm: import("@traqula/core").ParserRule<any, "graphTerm"> & T11.SparqlGrammarRule<"graphTerm", T11.GraphTerm, []> & T11.SparqlGeneratorRule<"graphTerm", T11.GraphTerm, []>;
105
107
  usingClause: import("@traqula/core").ParserRule<any, "usingClause"> & T11.SparqlGrammarRule<"usingClause", import("@traqula/core").Wrap<{
106
108
  clauseType: "default" | "named";
107
109
  value: T11.TermIri;
@@ -117,13 +119,6 @@ export declare const sparql11ParserBuilder: ParserBuilder<T11.SparqlContext, "st
117
119
  expressionList: import("@traqula/core").ParserRule<any, "expressionList"> & T11.SparqlGrammarRule<"expressionList", import("@traqula/core").Wrap<T11.Expression[]>>;
118
120
  groupGraphPattern: import("@traqula/core").ParserRule<any, "groupGraphPattern"> & T11.SparqlGrammarRule<"groupGraphPattern", T11.PatternGroup, []> & T11.SparqlGeneratorRule<"groupGraphPattern", T11.PatternGroup, []>;
119
121
  builtInCall: import("@traqula/core").ParserRule<T11.SparqlContext, "builtInCall", T11.Expression, []>;
120
- prologue: import("@traqula/core").ParserRule<any, "prologue"> & T11.SparqlGrammarRule<"prologue", T11.ContextDefinition[], []> & T11.SparqlGeneratorRule<"prologue", T11.ContextDefinition[], []>;
121
- baseDecl: import("@traqula/core").ParserRule<any, "baseDecl"> & T11.SparqlGrammarRule<"baseDecl", T11.ContextDefinitionBase, []> & T11.SparqlGeneratorRule<"baseDecl", T11.ContextDefinitionBase, []>;
122
- prefixDecl: import("@traqula/core").ParserRule<any, "prefixDecl"> & T11.SparqlGrammarRule<"prefixDecl", T11.ContextDefinitionPrefix, []> & T11.SparqlGeneratorRule<"prefixDecl", T11.ContextDefinitionPrefix, []>;
123
- verb: import("@traqula/core").ParserRule<any, "verb"> & T11.SparqlGrammarRule<"verb", T11.TermIri | T11.TermVariable>;
124
- varOrIri: import("@traqula/core").ParserRule<any, "varOrIri"> & T11.SparqlGrammarRule<"varOrIri", T11.TermIri | T11.TermVariable>;
125
- varOrTerm: import("@traqula/core").ParserRule<any, "varOrTerm"> & T11.SparqlGrammarRule<"varOrTerm", T11.Term, []> & T11.SparqlGeneratorRule<"varOrTerm", T11.Term, []>;
126
- graphTerm: import("@traqula/core").ParserRule<any, "graphTerm"> & T11.SparqlGrammarRule<"graphTerm", T11.GraphTerm, []> & T11.SparqlGeneratorRule<"graphTerm", T11.GraphTerm, []>;
127
122
  pathAlternative: import("@traqula/core").ParserRule<any, "pathAlternative"> & T11.SparqlGrammarRule<"pathAlternative", T11.TermIriFull | T11.TermIriPrefixed | T11.PropertyPathChain | T11.PathModified | T11.PathNegated>;
128
123
  pathSequence: import("@traqula/core").ParserRule<any, "pathSequence"> & T11.SparqlGrammarRule<"pathSequence", T11.TermIriFull | T11.TermIriPrefixed | T11.PropertyPathChain | T11.PathModified | T11.PathNegated>;
129
124
  pathEltOrInverse: import("@traqula/core").ParserRule<any, "pathEltOrInverse"> & T11.SparqlGrammarRule<"pathEltOrInverse", T11.Path>;
@@ -171,7 +166,7 @@ export declare const sparql11ParserBuilder: ParserBuilder<T11.SparqlContext, "st
171
166
  dataBlockValue: import("@traqula/core").ParserRule<any, "dataBlockValue"> & T11.SparqlGrammarRule<"dataBlockValue", T11.TermIri | T11.TermLiteral | undefined>;
172
167
  constraint: import("@traqula/core").ParserRule<any, "constraint"> & T11.SparqlGrammarRule<"constraint", T11.Expression>;
173
168
  brackettedExpression: import("@traqula/core").ParserRule<any, "brackettedExpression"> & T11.SparqlGrammarRule<"brackettedExpression", T11.Expression>;
174
- argList: import("@traqula/core").ParserRule<any, "argList"> & T11.SparqlGrammarRule<"argList", import("@traqula/core").Wrap<gram.IArgList>, []> & T11.SparqlGeneratorRule<"argList", import("@traqula/core").Wrap<gram.IArgList>, []>;
169
+ argList: import("@traqula/core").ParserRule<any, "argList"> & T11.SparqlGrammarRule<"argList", import("@traqula/core").Wrap<T11.gram.IArgList>, []> & T11.SparqlGeneratorRule<"argList", import("@traqula/core").Wrap<T11.gram.IArgList>, []>;
175
170
  conditionalOrExpression: import("@traqula/core").ParserRule<any, "conditionalOrExpression"> & T11.SparqlGrammarRule<"conditionalOrExpression", T11.Expression>;
176
171
  conditionalAndExpression: import("@traqula/core").ParserRule<any, "conditionalAndExpression"> & T11.SparqlGrammarRule<"conditionalAndExpression", T11.Expression>;
177
172
  valueLogical: import("@traqula/core").ParserRule<any, "valueLogical"> & T11.SparqlGrammarRule<"valueLogical", T11.Expression>;
@@ -192,10 +187,10 @@ export declare const sparql11ParserBuilder: ParserBuilder<T11.SparqlContext, "st
192
187
  limitClause: import("@traqula/core").ParserRule<any, "limitClause"> & T11.SparqlGrammarRule<"limitClause", import("@traqula/core").Wrap<number>>;
193
188
  offsetClause: import("@traqula/core").ParserRule<any, "offsetClause"> & T11.SparqlGrammarRule<"offsetClause", import("@traqula/core").Wrap<number>>;
194
189
  queryUnit: import("@traqula/core").ParserRule<any, "queryUnit"> & T11.SparqlGrammarRule<"queryUnit", T11.Query>;
195
- selectQuery: import("@traqula/core").ParserRule<any, "selectQuery"> & T11.SparqlGrammarRule<"selectQuery", Omit<T11.QuerySelect, gram.HandledByBase>, []> & T11.SparqlGeneratorRule<"selectQuery", Omit<T11.QuerySelect, gram.HandledByBase>, []>;
196
- constructQuery: import("@traqula/core").ParserRule<any, "constructQuery"> & T11.SparqlGrammarRule<"constructQuery", Omit<T11.QueryConstruct, gram.HandledByBase>, []> & T11.SparqlGeneratorRule<"constructQuery", Omit<T11.QueryConstruct, gram.HandledByBase>, []>;
197
- describeQuery: import("@traqula/core").ParserRule<any, "describeQuery"> & T11.SparqlGrammarRule<"describeQuery", Omit<T11.QueryDescribe, gram.HandledByBase>, []> & T11.SparqlGeneratorRule<"describeQuery", Omit<T11.QueryDescribe, gram.HandledByBase>, []>;
198
- askQuery: import("@traqula/core").ParserRule<any, "askQuery"> & T11.SparqlGrammarRule<"askQuery", Omit<T11.QueryAsk, gram.HandledByBase>, []> & T11.SparqlGeneratorRule<"askQuery", Omit<T11.QueryAsk, gram.HandledByBase>, []>;
190
+ selectQuery: import("@traqula/core").ParserRule<any, "selectQuery"> & T11.SparqlGrammarRule<"selectQuery", Omit<T11.QuerySelect, T11.gram.HandledByBase>, []> & T11.SparqlGeneratorRule<"selectQuery", Omit<T11.QuerySelect, T11.gram.HandledByBase>, []>;
191
+ constructQuery: import("@traqula/core").ParserRule<any, "constructQuery"> & T11.SparqlGrammarRule<"constructQuery", Omit<T11.QueryConstruct, T11.gram.HandledByBase>, []> & T11.SparqlGeneratorRule<"constructQuery", Omit<T11.QueryConstruct, T11.gram.HandledByBase>, []>;
192
+ describeQuery: import("@traqula/core").ParserRule<any, "describeQuery"> & T11.SparqlGrammarRule<"describeQuery", Omit<T11.QueryDescribe, T11.gram.HandledByBase>, []> & T11.SparqlGeneratorRule<"describeQuery", Omit<T11.QueryDescribe, T11.gram.HandledByBase>, []>;
193
+ askQuery: import("@traqula/core").ParserRule<any, "askQuery"> & T11.SparqlGrammarRule<"askQuery", Omit<T11.QueryAsk, T11.gram.HandledByBase>, []> & T11.SparqlGeneratorRule<"askQuery", Omit<T11.QueryAsk, T11.gram.HandledByBase>, []>;
199
194
  valuesClause: import("@traqula/core").ParserRule<any, "valuesClause"> & T11.SparqlGrammarRule<"valuesClause", T11.PatternValues | undefined>;
200
195
  selectClause: import("@traqula/core").ParserRule<any, "selectClause"> & T11.SparqlGrammarRule<"selectClause", import("@traqula/core").Wrap<Pick<T11.QuerySelect, "distinct" | "variables" | "reduced">>, []> & T11.SparqlGeneratorRule<"selectClause", import("@traqula/core").Wrap<Pick<T11.QuerySelect, "distinct" | "variables" | "reduced">>, []>;
201
196
  constructTemplate: import("@traqula/core").ParserRule<T11.SparqlContext, "constructTemplate", import("@traqula/core").Wrap<T11.PatternBgp>, []>;
@@ -214,6 +209,7 @@ export declare const sparql11ParserBuilder: ParserBuilder<T11.SparqlContext, "st
214
209
  quadsNotTriples: import("@traqula/core").ParserRule<T11.SparqlContext, "quadsNotTriples", T11.GraphQuads, []>;
215
210
  queryOrUpdate: import("@traqula/core").ParserRule<T11.SparqlContext, "queryOrUpdate", T11.SparqlQuery, []>;
216
211
  }>;
217
- export declare class Parser extends SparqlParser<T11.SparqlQuery> {
212
+ export type SparqlParser = ReturnType<typeof sparql11ParserBuilder.build>;
213
+ export declare class Parser extends MinimalSparqlParser<T11.SparqlQuery> {
218
214
  constructor();
219
215
  }
package/lib/Parser.js CHANGED
@@ -1,69 +1,14 @@
1
1
  import { ParserBuilder } from '@traqula/core';
2
- import { gram, lex as l, sparqlCodepointEscape, SparqlParser, updateNoReuseBlankNodeLabels, } from '@traqula/rules-sparql-1-1';
2
+ import { gram, lex as l, MinimalSparqlParser, sparqlCodepointEscape } from '@traqula/rules-sparql-1-1';
3
3
  import { queryUnitParserBuilder } from './queryUnitParser';
4
4
  import { updateParserBuilder } from './updateUnitParser';
5
- /**
6
- * Query or update, optimized for the Query case.
7
- * One could implement a new rule that does not use BACKTRACK.
8
- */
9
- export const queryOrUpdate = {
10
- name: 'queryOrUpdate',
11
- impl: ({ ACTION, SUBRULE, OR1, OR2, MANY, OPTION1, CONSUME, SUBRULE2 }) => (C) => {
12
- const prologueValues = SUBRULE(gram.prologue);
13
- return OR1([
14
- { ALT: () => {
15
- const subType = OR2([
16
- { ALT: () => SUBRULE(gram.selectQuery) },
17
- { ALT: () => SUBRULE(gram.constructQuery) },
18
- { ALT: () => SUBRULE(gram.describeQuery) },
19
- { ALT: () => SUBRULE(gram.askQuery) },
20
- ]);
21
- const values = SUBRULE(gram.valuesClause);
22
- return ACTION(() => ({
23
- context: prologueValues,
24
- ...subType,
25
- type: 'query',
26
- ...(values && { values }),
27
- loc: C.factory.sourceLocation(prologueValues.at(0), subType, values),
28
- }));
29
- } },
30
- { ALT: () => {
31
- const updates = [];
32
- updates.push({ context: prologueValues });
33
- let parsedSemi = true;
34
- MANY({
35
- GATE: () => parsedSemi,
36
- DEF: () => {
37
- parsedSemi = false;
38
- updates.at(-1).operation = SUBRULE(gram.update1);
39
- OPTION1(() => {
40
- CONSUME(l.symbols.semi);
41
- parsedSemi = true;
42
- const innerPrologue = SUBRULE2(gram.prologue);
43
- updates.push({ context: innerPrologue });
44
- });
45
- },
46
- });
47
- return ACTION(() => {
48
- const update = {
49
- type: 'update',
50
- updates,
51
- loc: C.factory.sourceLocation(...updates[0].context, updates[0].operation, ...updates.at(-1).context, updates.at(-1)?.operation),
52
- };
53
- updateNoReuseBlankNodeLabels(update);
54
- return update;
55
- });
56
- } },
57
- ]);
58
- },
59
- };
60
5
  export const sparql11ParserBuilder = ParserBuilder.create(queryUnitParserBuilder)
61
6
  .merge(updateParserBuilder, [])
62
- .addRule(queryOrUpdate);
63
- export class Parser extends SparqlParser {
7
+ .addRule(gram.queryOrUpdate);
8
+ export class Parser extends MinimalSparqlParser {
64
9
  constructor() {
65
10
  const parser = sparql11ParserBuilder.build({
66
- tokenVocabulary: l.sparql11Tokens.tokenVocabulary,
11
+ tokenVocabulary: l.sparql11LexerBuilder.tokenVocabulary,
67
12
  queryPreProcessor: sparqlCodepointEscape,
68
13
  });
69
14
  super(parser);
package/lib/Parser.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Parser.js","sourceRoot":"","sources":["Parser.ts"],"names":[],"mappings":"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","sourcesContent":["import { ParserBuilder } from '@traqula/core';\nimport {\n gram,\n lex as l,\n sparqlCodepointEscape,\n SparqlParser,\n updateNoReuseBlankNodeLabels,\n} from '@traqula/rules-sparql-1-1';\nimport type * as T11 from '@traqula/rules-sparql-1-1';\nimport { queryUnitParserBuilder } from './queryUnitParser';\nimport { updateParserBuilder } from './updateUnitParser';\n\n/**\n * Query or update, optimized for the Query case.\n * One could implement a new rule that does not use BACKTRACK.\n */\nexport const queryOrUpdate: T11.SparqlGrammarRule<'queryOrUpdate', T11.SparqlQuery> = {\n name: 'queryOrUpdate',\n impl: ({ ACTION, SUBRULE, OR1, OR2, MANY, OPTION1, CONSUME, SUBRULE2 }) => (C) => {\n const prologueValues = SUBRULE(gram.prologue);\n return OR1<T11.Query | T11.Update>([\n { ALT: () => {\n const subType = OR2<Omit<T11.Query, T11.gram.HandledByBase>>([\n { ALT: () => SUBRULE(gram.selectQuery) },\n { ALT: () => SUBRULE(gram.constructQuery) },\n { ALT: () => SUBRULE(gram.describeQuery) },\n { ALT: () => SUBRULE(gram.askQuery) },\n ]);\n const values = SUBRULE(gram.valuesClause);\n return ACTION(() => (<T11.Query>{\n context: prologueValues,\n ...subType,\n type: 'query',\n ...(values && { values }),\n loc: C.factory.sourceLocation(\n prologueValues.at(0),\n subType,\n values,\n ),\n }));\n } },\n { ALT: () => {\n const updates: T11.Update['updates'] = [];\n updates.push({ context: prologueValues });\n let parsedSemi = true;\n MANY({\n GATE: () => parsedSemi,\n DEF: () => {\n parsedSemi = false;\n updates.at(-1)!.operation = SUBRULE(gram.update1);\n\n OPTION1(() => {\n CONSUME(l.symbols.semi);\n\n parsedSemi = true;\n const innerPrologue = SUBRULE2(gram.prologue);\n updates.push({ context: innerPrologue });\n });\n },\n });\n return ACTION(() => {\n const update = {\n type: 'update',\n updates,\n loc: C.factory.sourceLocation(\n ...updates[0].context,\n updates[0].operation,\n ...updates.at(-1)!.context,\n updates.at(-1)?.operation,\n ),\n } satisfies T11.Update;\n updateNoReuseBlankNodeLabels(update);\n return update;\n });\n } },\n ]);\n },\n};\n\nexport const sparql11ParserBuilder = ParserBuilder.create(queryUnitParserBuilder)\n .merge(updateParserBuilder, <const> [])\n .addRule(queryOrUpdate);\n\nexport class Parser extends SparqlParser<T11.SparqlQuery> {\n public constructor() {\n const parser = sparql11ParserBuilder.build({\n tokenVocabulary: l.sparql11Tokens.tokenVocabulary,\n queryPreProcessor: sparqlCodepointEscape,\n });\n super(parser);\n }\n}\n"]}
1
+ {"version":3,"file":"Parser.js","sourceRoot":"","sources":["Parser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAE9C,OAAO,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AACvG,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAEzD,MAAM,CAAC,MAAM,qBAAqB,GAAG,aAAa,CAAC,MAAM,CAAC,sBAAsB,CAAC;KAC9E,KAAK,CAAC,mBAAmB,EAAU,EAAE,CAAC;KACtC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;AAI/B,MAAM,OAAO,MAAO,SAAQ,mBAAoC;IAC9D;QACE,MAAM,MAAM,GAAiB,qBAAqB,CAAC,KAAK,CAAC;YACvD,eAAe,EAAE,CAAC,CAAC,oBAAoB,CAAC,eAAe;YACvD,iBAAiB,EAAE,qBAAqB;SACzC,CAAC,CAAC;QACH,KAAK,CAAC,MAAM,CAAC,CAAC;IAChB,CAAC;CACF","sourcesContent":["import { ParserBuilder } from '@traqula/core';\nimport type * as T11 from '@traqula/rules-sparql-1-1';\nimport { gram, lex as l, MinimalSparqlParser, sparqlCodepointEscape } from '@traqula/rules-sparql-1-1';\nimport { queryUnitParserBuilder } from './queryUnitParser';\nimport { updateParserBuilder } from './updateUnitParser';\n\nexport const sparql11ParserBuilder = ParserBuilder.create(queryUnitParserBuilder)\n .merge(updateParserBuilder, <const> [])\n .addRule(gram.queryOrUpdate);\n\nexport type SparqlParser = ReturnType<typeof sparql11ParserBuilder.build>;\n\nexport class Parser extends MinimalSparqlParser<T11.SparqlQuery> {\n public constructor() {\n const parser: SparqlParser = sparql11ParserBuilder.build({\n tokenVocabulary: l.sparql11LexerBuilder.tokenVocabulary,\n queryPreProcessor: sparqlCodepointEscape,\n });\n super(parser);\n }\n}\n"]}
@@ -87,3 +87,4 @@ export declare const expressionParserBuilder: ParserBuilder<import("@traqula/rul
87
87
  primaryExpression: import("@traqula/core").ParserRule<any, "primaryExpression"> & import("@traqula/rules-sparql-1-1").SparqlGrammarRule<"primaryExpression", import("@traqula/rules-sparql-1-1").Expression>;
88
88
  iriOrFunction: import("@traqula/core").ParserRule<any, "iriOrFunction"> & import("@traqula/rules-sparql-1-1").SparqlGrammarRule<"iriOrFunction", import("@traqula/rules-sparql-1-1").ExpressionFunctionCall | import("@traqula/rules-sparql-1-1").TermIri, []> & import("@traqula/rules-sparql-1-1").SparqlGeneratorRule<"iriOrFunction", import("@traqula/rules-sparql-1-1").ExpressionFunctionCall | import("@traqula/rules-sparql-1-1").TermIri, []>;
89
89
  }>;
90
+ export type ExpressionParser = ReturnType<typeof expressionParserBuilder.build>;
@@ -1 +1 @@
1
- {"version":3,"file":"expressionParser.js","sourceRoot":"","sources":["expressionParser.ts"],"names":[],"mappings":"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","sourcesContent":["import { ParserBuilder } from '@traqula/core';\nimport { gram } from '@traqula/rules-sparql-1-1';\n\nconst rulesNoBuiltIn = <const> [\n gram.expression,\n gram.conditionalOrExpression,\n gram.conditionalAndExpression,\n gram.valueLogical,\n gram.relationalExpression,\n gram.numericExpression,\n gram.expressionList,\n gram.additiveExpression,\n gram.multiplicativeExpression,\n gram.unaryExpression,\n gram.primaryExpression,\n gram.brackettedExpression,\n // BuiltInCall,\n gram.iriOrFunction,\n gram.rdfLiteral,\n gram.numericLiteral,\n gram.numericLiteralUnsigned,\n gram.numericLiteralPositive,\n gram.numericLiteralNegative,\n gram.booleanLiteral,\n gram.var_,\n gram.builtInStr,\n gram.builtInLang,\n gram.builtInLangmatches,\n gram.builtInDatatype,\n gram.builtInBound,\n gram.builtInIri,\n gram.builtInUri,\n gram.builtInBnodeSparqlJs,\n gram.builtInRand,\n gram.builtInAbs,\n gram.builtInCeil,\n gram.builtInFloor,\n gram.builtInRound,\n gram.builtInConcat,\n gram.builtInStrlen,\n gram.builtInUcase,\n gram.builtInLcase,\n gram.builtInEncode_for_uri,\n];\n\nconst builtInPatch: typeof gram.builtInCall = {\n name: 'builtInCall',\n impl: ({ OR, SUBRULE }) => () => OR(gram.builtInCallList(SUBRULE).slice(0, -2)),\n};\n\nexport const expressionParserBuilder = ParserBuilder.create(rulesNoBuiltIn)\n .addMany(\n gram.builtInContains,\n gram.builtInStrstarts,\n gram.builtInStrends,\n gram.builtInStrbefore,\n gram.builtInStrafter,\n gram.builtInYear,\n gram.builtInMonth,\n gram.builtInDay,\n gram.builtInHours,\n gram.builtInMinutes,\n gram.builtInSeconds,\n gram.builtInTimezone,\n gram.builtInTz,\n gram.builtInNow,\n gram.builtInUuid,\n gram.builtInStruuid,\n gram.builtInMd5,\n gram.builtInSha1,\n gram.builtInSha256,\n gram.builtInSha384,\n gram.builtInSha512,\n gram.builtInCoalesce,\n gram.builtInIf,\n gram.builtInStrlang,\n gram.builtInStrdt,\n gram.builtInSameterm,\n gram.builtInIsiri,\n gram.builtInIsuri,\n gram.builtInIsblank,\n gram.builtInIsliteral,\n gram.builtInIsnumeric,\n gram.regexExpression,\n gram.substringExpression,\n gram.strReplaceExpression,\n gram.aggregateCount,\n gram.aggregateSum,\n gram.aggregateMin,\n gram.aggregateMax,\n gram.aggregateAvg,\n gram.aggregateSample,\n gram.aggregateGroup_concat,\n gram.aggregate,\n gram.iri,\n gram.prefixedName,\n gram.argList,\n gram.string,\n )\n .addRule(builtInPatch);\n"]}
1
+ {"version":3,"file":"expressionParser.js","sourceRoot":"","sources":["expressionParser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,IAAI,EAAE,MAAM,2BAA2B,CAAC;AAEjD,MAAM,cAAc,GAAW;IAC7B,IAAI,CAAC,UAAU;IACf,IAAI,CAAC,uBAAuB;IAC5B,IAAI,CAAC,wBAAwB;IAC7B,IAAI,CAAC,YAAY;IACjB,IAAI,CAAC,oBAAoB;IACzB,IAAI,CAAC,iBAAiB;IACtB,IAAI,CAAC,cAAc;IACnB,IAAI,CAAC,kBAAkB;IACvB,IAAI,CAAC,wBAAwB;IAC7B,IAAI,CAAC,eAAe;IACpB,IAAI,CAAC,iBAAiB;IACtB,IAAI,CAAC,oBAAoB;IACzB,eAAe;IACf,IAAI,CAAC,aAAa;IAClB,IAAI,CAAC,UAAU;IACf,IAAI,CAAC,cAAc;IACnB,IAAI,CAAC,sBAAsB;IAC3B,IAAI,CAAC,sBAAsB;IAC3B,IAAI,CAAC,sBAAsB;IAC3B,IAAI,CAAC,cAAc;IACnB,IAAI,CAAC,IAAI;IACT,IAAI,CAAC,UAAU;IACf,IAAI,CAAC,WAAW;IAChB,IAAI,CAAC,kBAAkB;IACvB,IAAI,CAAC,eAAe;IACpB,IAAI,CAAC,YAAY;IACjB,IAAI,CAAC,UAAU;IACf,IAAI,CAAC,UAAU;IACf,IAAI,CAAC,oBAAoB;IACzB,IAAI,CAAC,WAAW;IAChB,IAAI,CAAC,UAAU;IACf,IAAI,CAAC,WAAW;IAChB,IAAI,CAAC,YAAY;IACjB,IAAI,CAAC,YAAY;IACjB,IAAI,CAAC,aAAa;IAClB,IAAI,CAAC,aAAa;IAClB,IAAI,CAAC,YAAY;IACjB,IAAI,CAAC,YAAY;IACjB,IAAI,CAAC,qBAAqB;CAC3B,CAAC;AAEF,MAAM,YAAY,GAA4B;IAC5C,IAAI,EAAE,aAAa;IACnB,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;CAChF,CAAC;AAEF,MAAM,CAAC,MAAM,uBAAuB,GAAG,aAAa,CAAC,MAAM,CAAC,cAAc,CAAC;KACxE,OAAO,CACN,IAAI,CAAC,eAAe,EACpB,IAAI,CAAC,gBAAgB,EACrB,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,gBAAgB,EACrB,IAAI,CAAC,eAAe,EACpB,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,eAAe,EACpB,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,eAAe,EACpB,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,eAAe,EACpB,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,gBAAgB,EACrB,IAAI,CAAC,gBAAgB,EACrB,IAAI,CAAC,eAAe,EACpB,IAAI,CAAC,mBAAmB,EACxB,IAAI,CAAC,oBAAoB,EACzB,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,eAAe,EACpB,IAAI,CAAC,qBAAqB,EAC1B,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,GAAG,EACR,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,MAAM,CACZ;KACA,OAAO,CAAC,YAAY,CAAC,CAAC","sourcesContent":["import { ParserBuilder } from '@traqula/core';\nimport { gram } from '@traqula/rules-sparql-1-1';\n\nconst rulesNoBuiltIn = <const> [\n gram.expression,\n gram.conditionalOrExpression,\n gram.conditionalAndExpression,\n gram.valueLogical,\n gram.relationalExpression,\n gram.numericExpression,\n gram.expressionList,\n gram.additiveExpression,\n gram.multiplicativeExpression,\n gram.unaryExpression,\n gram.primaryExpression,\n gram.brackettedExpression,\n // BuiltInCall,\n gram.iriOrFunction,\n gram.rdfLiteral,\n gram.numericLiteral,\n gram.numericLiteralUnsigned,\n gram.numericLiteralPositive,\n gram.numericLiteralNegative,\n gram.booleanLiteral,\n gram.var_,\n gram.builtInStr,\n gram.builtInLang,\n gram.builtInLangmatches,\n gram.builtInDatatype,\n gram.builtInBound,\n gram.builtInIri,\n gram.builtInUri,\n gram.builtInBnodeSparqlJs,\n gram.builtInRand,\n gram.builtInAbs,\n gram.builtInCeil,\n gram.builtInFloor,\n gram.builtInRound,\n gram.builtInConcat,\n gram.builtInStrlen,\n gram.builtInUcase,\n gram.builtInLcase,\n gram.builtInEncode_for_uri,\n];\n\nconst builtInPatch: typeof gram.builtInCall = {\n name: 'builtInCall',\n impl: ({ OR, SUBRULE }) => () => OR(gram.builtInCallList(SUBRULE).slice(0, -2)),\n};\n\nexport const expressionParserBuilder = ParserBuilder.create(rulesNoBuiltIn)\n .addMany(\n gram.builtInContains,\n gram.builtInStrstarts,\n gram.builtInStrends,\n gram.builtInStrbefore,\n gram.builtInStrafter,\n gram.builtInYear,\n gram.builtInMonth,\n gram.builtInDay,\n gram.builtInHours,\n gram.builtInMinutes,\n gram.builtInSeconds,\n gram.builtInTimezone,\n gram.builtInTz,\n gram.builtInNow,\n gram.builtInUuid,\n gram.builtInStruuid,\n gram.builtInMd5,\n gram.builtInSha1,\n gram.builtInSha256,\n gram.builtInSha384,\n gram.builtInSha512,\n gram.builtInCoalesce,\n gram.builtInIf,\n gram.builtInStrlang,\n gram.builtInStrdt,\n gram.builtInSameterm,\n gram.builtInIsiri,\n gram.builtInIsuri,\n gram.builtInIsblank,\n gram.builtInIsliteral,\n gram.builtInIsnumeric,\n gram.regexExpression,\n gram.substringExpression,\n gram.strReplaceExpression,\n gram.aggregateCount,\n gram.aggregateSum,\n gram.aggregateMin,\n gram.aggregateMax,\n gram.aggregateAvg,\n gram.aggregateSample,\n gram.aggregateGroup_concat,\n gram.aggregate,\n gram.iri,\n gram.prefixedName,\n gram.argList,\n gram.string,\n )\n .addRule(builtInPatch);\n\nexport type ExpressionParser = ReturnType<typeof expressionParserBuilder.build>;\n"]}