JENA-1899: FIND query syntax; concrete triple terms in VALUES
diff --git a/.travis.yml b/.travis.yml
index 753ab49..068d887 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -6,4 +6,4 @@
- openjdk8
- openjdk11
env:
- - JAVA_OPTS="-Xmx3072M -Xms512M -XX:+UseG1GC"
+ - JAVA_OPTS="-Xmx3072M -Xms512M"
diff --git a/jena-arq/Grammar/arq.jj b/jena-arq/Grammar/arq.jj
index c6c0252..11080aa 100644
--- a/jena-arq/Grammar/arq.jj
+++ b/jena-arq/Grammar/arq.jj
@@ -625,6 +625,8 @@
|
el = InlineData()
|
+ el = Find()
+ |
el = Assignment()
|
el = ExistsElt()
@@ -662,6 +664,16 @@
<RPAREN>
{ return new ElementBind(v, expr) ; }
}
+Element Find() : { Var v ; Node n; }
+{
+ <FIND>
+ <LPAREN>
+ n = TripleTerm()
+ <AS>
+ v = Var()
+ <RPAREN>
+ { return new ElementFind(v, n) ; }
+}
Element InlineData() : { ElementData el ; Token t ; }
{
t = <VALUES>
@@ -676,16 +688,17 @@
{
( InlineDataOneVar() | InlineDataFull() )
}
-void InlineDataOneVar() : { Var v ; Node n ; Token t ; }
+void InlineDataOneVar() : { Var v ; Node n ; Token t ; ; int beginLine; int beginColumn; }
{
v = Var()
{ emitDataBlockVariable(v) ; }
t = <LBRACE>
+ { beginLine = t.beginLine; beginColumn = t.beginColumn; t = null; }
(
n = DataBlockValue()
- { startDataBlockValueRow(-1, -1) ;
- emitDataBlockValue(n, -1, -1) ;
- finishDataBlockValueRow(-1, -1) ;
+ { startDataBlockValueRow(beginLine, beginColumn) ;
+ emitDataBlockValue(n, beginLine, beginColumn) ;
+ finishDataBlockValueRow(beginLine, beginColumn) ;
}
)*
t = <RBRACE>
@@ -724,7 +737,7 @@
| n = RDFLiteral() { return n ; }
| n = NumericLiteral() { return n ; }
| n = BooleanLiteral() { return n ; }
-| n = BlankNode() { return n ; }
+| n = TripleTerm() { return n ; }
| <UNDEF> { return null ; }
}
Element Assignment() : { Var v ; Expr expr ; }
@@ -1158,20 +1171,24 @@
|
n = TriplesNodePath(acc) { return n ; }
}
-Node VarOrTerm() : { Node n = null ; Token t = null; Node s , p , o ; }
+Node VarOrTerm() : { Node n = null ; }
{
- (
- t = <LT2>
- s = VarOrTerm()
- p = Verb()
- o = VarOrTerm()
- { n = createTripleTerm(s,p,o); }
- <GT2>
+ ( n = TripleTerm()
| n = Var()
| n = GraphTerm()
)
{ return n ; }
}
+Node TripleTerm() : { Node n = null ; Token t ; Node s , p , o ; }
+{
+ t = <LT2>
+ s = VarOrTerm()
+ p = Verb()
+ o = VarOrTerm()
+ { n = createTripleTerm(s, p, o, t.beginLine, t.beginColumn); }
+ <GT2>
+ { return n; }
+}
Node VarOrIri() : {Node n = null ; String iri ; }
{
( n = Var() | iri = iri() { n = createNode(iri) ; } )
@@ -1686,6 +1703,7 @@
| < BIND: "bind" >
| < SERVICE: "service" >
| < LET: "let" >
+| < FIND: "find" >
| < EXISTS: "exists" >
| < NOT: "not" >
| < AS: "as" >
diff --git a/jena-arq/Grammar/master.jj b/jena-arq/Grammar/master.jj
index edf80df..5fdd7bd 100644
--- a/jena-arq/Grammar/master.jj
+++ b/jena-arq/Grammar/master.jj
@@ -894,6 +894,9 @@
el = InlineData()
#ifdef ARQ
|
+ //el = BindOrFind()
+ el = Find()
+ |
el = Assignment()
|
el = ExistsElt()
@@ -940,6 +943,32 @@
{ return new ElementBind(v, expr) ; }
}
+#ifdef ARQ
+// To follow RDF* paper using the overloaded "BIND" syntax.
+// Also make Bind() above in GraphPatternNotTriples SPARQL 1.1 only.
+// Element BindOrFind() : { Var v ; Expr expr = null ; Node n = null ; }
+// {
+// <BIND>
+// <LPAREN>
+// ( expr = Expression() | n = TripleTerm() )
+// <AS>
+// v = Var()
+// <RPAREN>
+// { return expr != null ? new ElementBind(v, expr) : new ElementFind(v, n); }
+// }
+
+Element Find() : { Var v ; Node n; }
+{
+ <FIND>
+ <LPAREN>
+ n = TripleTerm()
+ <AS>
+ v = Var()
+ <RPAREN>
+ { return new ElementFind(v, n) ; }
+}
+#endif
+
Element InlineData() : { ElementData el ; Token t ; }
{
t = <VALUES>
@@ -956,16 +985,17 @@
( InlineDataOneVar() | InlineDataFull() )
}
-void InlineDataOneVar() : { Var v ; Node n ; Token t ; }
+void InlineDataOneVar() : { Var v ; Node n ; Token t ; ; int beginLine; int beginColumn; }
{
v = Var()
{ emitDataBlockVariable(v) ; }
t = <LBRACE>
+ { beginLine = t.beginLine; beginColumn = t.beginColumn; t = null; }
(
- n = DataBlockValue()
- { startDataBlockValueRow(-1, -1) ;
- emitDataBlockValue(n, -1, -1) ;
- finishDataBlockValueRow(-1, -1) ;
+ n = DataBlockValue()
+ { startDataBlockValueRow(beginLine, beginColumn) ;
+ emitDataBlockValue(n, beginLine, beginColumn) ;
+ finishDataBlockValueRow(beginLine, beginColumn) ;
}
)*
t = <RBRACE>
@@ -1007,7 +1037,7 @@
| n = NumericLiteral() { return n ; }
| n = BooleanLiteral() { return n ; }
#ifdef ARQ
-| n = BlankNode() { return n ; }
+| n = TripleTerm() { return n ; }
#endif
| <UNDEF> { return null ; }
}
@@ -1624,23 +1654,27 @@
#endif
#ifdef ARQ
// RDF* Triple as term.
-Node VarOrTerm() : { Node n = null ; Token t = null; Node s , p , o ; }
+Node VarOrTerm() : { Node n = null ; }
{
- (
- t = <LT2>
- s = VarOrTerm()
- p = Verb()
- o = VarOrTerm()
- { n = createTripleTerm(s,p,o); }
- <GT2>
+ ( n = TripleTerm()
| n = Var()
| n = GraphTerm()
)
{ return n ; }
}
-#endif
+Node TripleTerm() : { Node n = null ; Token t ; Node s , p , o ; }
+{
+ t = <LT2>
+ s = VarOrTerm()
+ p = Verb()
+ o = VarOrTerm()
+ { n = createTripleTerm(s, p, o, t.beginLine, t.beginColumn); }
+ <GT2>
+ { return n; }
+}
+#endif
// e.g. Property (if no bNodes) + DESCRIBE
Node VarOrIri() : {Node n = null ; String iri ; }
@@ -2372,6 +2406,7 @@
#ifdef ARQ
| < LET: "let" >
+| < FIND: "find" >
#endif
| < EXISTS: "exists" >
| < NOT: "not" >
diff --git a/jena-arq/Grammar/sparql_11.jj b/jena-arq/Grammar/sparql_11.jj
index 0da06d9..49cce0f 100644
--- a/jena-arq/Grammar/sparql_11.jj
+++ b/jena-arq/Grammar/sparql_11.jj
@@ -595,16 +595,17 @@
{
( InlineDataOneVar() | InlineDataFull() )
}
-void InlineDataOneVar() : { Var v ; Node n ; Token t ; }
+void InlineDataOneVar() : { Var v ; Node n ; Token t ; ; int beginLine; int beginColumn; }
{
v = Var()
{ emitDataBlockVariable(v) ; }
t = <LBRACE>
+ { beginLine = t.beginLine; beginColumn = t.beginColumn; t = null; }
(
n = DataBlockValue()
- { startDataBlockValueRow(-1, -1) ;
- emitDataBlockValue(n, -1, -1) ;
- finishDataBlockValueRow(-1, -1) ;
+ { startDataBlockValueRow(beginLine, beginColumn) ;
+ emitDataBlockValue(n, beginLine, beginColumn) ;
+ finishDataBlockValueRow(beginLine, beginColumn) ;
}
)*
t = <RBRACE>
diff --git a/jena-arq/Grammar/sse/sse.jj b/jena-arq/Grammar/sse/sse.jj
index 92ce812..c913151 100644
--- a/jena-arq/Grammar/sse/sse.jj
+++ b/jena-arq/Grammar/sse/sse.jj
@@ -195,7 +195,7 @@
void TripleTerm() : { Token t1 = null ; Token t2 = null ; }
{
- t1 = <LBRACE> // "{"
+ t1 = <LT2>
(<WS>)*
{ tripleTermStart(t1.beginLine, t1.beginColumn); }
RDFTerm()
@@ -204,7 +204,7 @@
(<WS>)*
RDFTerm()
(<WS>)*
- t2 = <RBRACE>
+ t2 = <GT2>
{ tripleTermFinish(t2.beginLine, t2.beginColumn); }
}
diff --git a/jena-arq/Grammar/sse/tokens.inc b/jena-arq/Grammar/sse/tokens.inc
index 87b21e0..0480cdb 100644
--- a/jena-arq/Grammar/sse/tokens.inc
+++ b/jena-arq/Grammar/sse/tokens.inc
@@ -98,6 +98,9 @@
| < LBRACKET: "[" >
| < RBRACKET: "]" >
+
+| < LT2 : "<<" >
+| < GT2 : ">>" >
}
// Specials for literals trailing parts
@@ -149,13 +152,15 @@
// Excludes:
// LPAREN and RPAREN / LBRACKET/RBRACKET / LBRACE/RBRACE
// Quotes, Whitespace
- <#SYM: (~["(", ")", "[", "]", "{", "}", "'", "\"", " ", "\t","\n","\r","\f" ])>
+ <#SYM: (~["<", ">", "(", ")", "[", "]", "{", "}", "'", "\"", " ", "\t","\n","\r","\f" ])>
|
<#SYM1: (~["^", "@",
"(", ")", "[", "]", "{", "}", "'", "\"", " ", "\t","\n","\r","\f" ])>
| <#SYM_ESC: "\\" ( " " | "'" | "\"" ) >
|
- <SYMBOL: <SYM1> (<SYM>)*>
+ <SYMBOL: ( "<" | ">"
+ | (<SYM1> (<SYM>)*)
+ ) >
}
// Catch-all tokens. Must be last.
diff --git a/jena-arq/src/main/java/org/apache/jena/query/Syntax.java b/jena-arq/src/main/java/org/apache/jena/query/Syntax.java
index 7a68a6d..ffda9a5 100644
--- a/jena-arq/src/main/java/org/apache/jena/query/Syntax.java
+++ b/jena-arq/src/main/java/org/apache/jena/query/Syntax.java
@@ -51,32 +51,32 @@
= new Syntax("http://jena.hpl.hp.com/2003/07/query/SPARQL_Algebra") ;
/** The system default syntax */
- public static Syntax defaultSyntax = syntaxSPARQL_11 ;
+ public static Syntax defaultSyntax = syntaxARQ;
/** The name of the default query language for query parsing.
* The default query language syntax must be capable of accepting
* any SPARQL query but may also accept extensions.
*/
- public static Syntax defaultQuerySyntax = syntaxSPARQL_11 ;
+ public static Syntax defaultQuerySyntax = defaultSyntax;
/** The name of the default update language for update parsing.
* The default update language syntax must be capable of accepting
* any SPARQL query but may also accept extensions.
*/
- public static Syntax defaultUpdateSyntax = syntaxSPARQL_11 ;
+ public static Syntax defaultUpdateSyntax = defaultSyntax;
- /** The query syntax currently that is standardized, published, SPARQL - the "default SPARQL Query" */
+ /** The query syntax currently that is standardized, published, SPARQL Query */
public static final Syntax syntaxSPARQL = syntaxSPARQL_11 ;
-// /** The update syntax currently that is standardized, published, SPARQL - the "default SPARQL Update" */
+// /** The update syntax currently that is standardized, published, SPARQL Update */
// private static final Syntax syntaxSPARQL_Update = syntaxSPARQL_11_Update ;
public static TranslationTable<Syntax> querySyntaxNames = new TranslationTable<>(true) ;
static {
querySyntaxNames.put("sparql", syntaxSPARQL) ;
- querySyntaxNames.put("sparql10", syntaxSPARQL_10) ;
+ querySyntaxNames.put("sparql10", syntaxSPARQL_10) ;
querySyntaxNames.put("sparql_10", syntaxSPARQL_10) ;
- querySyntaxNames.put("sparql11", syntaxSPARQL_11) ;
+ querySyntaxNames.put("sparql11", syntaxSPARQL_11) ;
querySyntaxNames.put("sparql_11", syntaxSPARQL_11) ;
querySyntaxNames.put("arq", syntaxARQ) ;
querySyntaxNames.put("alg", syntaxAlgebra) ;
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/algebra/AlgebraGenerator.java b/jena-arq/src/main/java/org/apache/jena/sparql/algebra/AlgebraGenerator.java
index 41fbef3..c993242 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/algebra/AlgebraGenerator.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/algebra/AlgebraGenerator.java
@@ -18,7 +18,10 @@
package org.apache.jena.sparql.algebra;
-import java.util.* ;
+import java.util.ArrayDeque;
+import java.util.ArrayList;
+import java.util.Deque;
+import java.util.List;
import org.apache.jena.atlas.lib.Lib ;
import org.apache.jena.atlas.lib.Pair ;
@@ -140,6 +143,9 @@
if ( elt instanceof ElementTriplesBlock )
return compileBasicPattern(((ElementTriplesBlock)elt).getPattern()) ;
+ if ( elt instanceof ElementFind )
+ return compileFind((ElementFind)elt) ;
+
// Ditto.
if ( elt instanceof ElementPathBlock )
return compilePathBlock(((ElementPathBlock)elt).getPattern()) ;
@@ -293,86 +299,58 @@
return Pair.create(filters, groupElts) ;
}
- protected Op compileOneInGroup(Element elt, Op current, Deque<Op> acc)
- {
- // Elements that operate over their left hand size (query syntax).
-
- if ( elt instanceof ElementAssign )
- {
- ElementAssign assign = (ElementAssign)elt ;
- return OpAssign.assign(current, assign.getVar(), assign.getExpr()) ;
+ protected Op compileOneInGroup(Element elt, Op current, Deque<Op> acc) {
+ // Elements that operate over their left hand size (query syntax).
+
+ if ( elt instanceof ElementAssign ) {
+ ElementAssign assign = (ElementAssign)elt;
+ return OpAssign.assign(current, assign.getVar(), assign.getExpr());
}
- if ( elt instanceof ElementBind )
- {
- ElementBind bind = (ElementBind)elt ;
- return OpExtend.create(current, bind.getVar(), bind.getExpr()) ;
+ if ( elt instanceof ElementBind ) {
+ ElementBind bind = (ElementBind)elt;
+ return OpExtend.create(current, bind.getVar(), bind.getExpr());
}
- if ( elt instanceof ElementOptional )
- {
- ElementOptional eltOpt = (ElementOptional)elt ;
- return compileElementOptional(eltOpt, current) ;
+ if ( elt instanceof ElementOptional ) {
+ ElementOptional eltOpt = (ElementOptional)elt;
+ return compileElementOptional(eltOpt, current);
}
-
- if ( elt instanceof ElementMinus )
- {
- ElementMinus elt2 = (ElementMinus)elt ;
- Op op = compileElementMinus(current, elt2) ;
- return op ;
+
+ if ( elt instanceof ElementMinus ) {
+ ElementMinus elt2 = (ElementMinus)elt;
+ Op op = compileElementMinus(current, elt2);
+ return op;
}
// All elements that simply "join" into the algebra.
- if ( elt instanceof ElementGroup ||
- elt instanceof ElementNamedGraph ||
- elt instanceof ElementService ||
- elt instanceof ElementUnion ||
- elt instanceof ElementSubQuery ||
- elt instanceof ElementData ||
- elt instanceof ElementTriplesBlock ||
- elt instanceof ElementPathBlock
- )
- {
- Op op = compileElement(elt) ;
- return join(current, op) ;
+ if ( elt instanceof ElementGroup || elt instanceof ElementNamedGraph || elt instanceof ElementService || elt instanceof ElementUnion
+ || elt instanceof ElementSubQuery || elt instanceof ElementData || elt instanceof ElementTriplesBlock
+ || elt instanceof ElementPathBlock || elt instanceof ElementFind ) {
+ Op op = compileElement(elt);
+ return join(current, op);
}
-
+
// Specials.
-
- if ( elt instanceof ElementExists )
- {
- ElementExists elt2 = (ElementExists)elt ;
- Op op = compileElementExists(current, elt2) ;
- return op ;
+
+ if ( elt instanceof ElementExists ) {
+ ElementExists elt2 = (ElementExists)elt;
+ Op op = compileElementExists(current, elt2);
+ return op;
}
-
- if ( elt instanceof ElementNotExists )
- {
- ElementNotExists elt2 = (ElementNotExists)elt ;
- Op op = compileElementNotExists(current, elt2) ;
- return op ;
+
+ if ( elt instanceof ElementNotExists ) {
+ ElementNotExists elt2 = (ElementNotExists)elt;
+ Op op = compileElementNotExists(current, elt2);
+ return op;
}
-
+
// Filters were collected together by prepareGroup
- // This only handles filters left in place by some magic.
- if ( elt instanceof ElementFilter )
- {
- ElementFilter f = (ElementFilter)elt ;
- return OpFilter.filter(f.getExpr(), current) ;
+ // This only handles filters left in place by some magic.
+ if ( elt instanceof ElementFilter ) {
+ ElementFilter f = (ElementFilter)elt;
+ return OpFilter.filter(f.getExpr(), current);
}
-
-// // SPARQL 1.1 UNION -- did not make it into SPARQL
-// if ( elt instanceof ElementUnion )
-// {
-// ElementUnion elt2 = (ElementUnion)elt ;
-// if ( elt2.getElements().size() == 1 )
-// {
-// Op op = compileElementUnion(current, elt2) ;
-// return op ;
-// }
-// }
-
-
return compileUnknownElement(elt, "compile/Element not recognized: "+Lib.className(elt));
}
@@ -458,6 +436,12 @@
return PathLib.pathToTriples(pathBlock) ;
}
+ protected Op compileFind(ElementFind elFind) {
+ Var var = elFind.getVar();
+ Triple triple = elFind.getTriple();
+ return new OpFind(triple, var);
+ }
+
protected Op compileElementGraph(ElementNamedGraph eltGraph)
{
Node graphNode = eltGraph.getGraphNameNode() ;
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/algebra/OpAsQuery.java b/jena-arq/src/main/java/org/apache/jena/sparql/algebra/OpAsQuery.java
index 7889260..c34f0c8 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/algebra/OpAsQuery.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/algebra/OpAsQuery.java
@@ -418,6 +418,12 @@
}
@Override
+ public void visit(OpFind opFind) {
+ Element elt = new ElementFind(opFind.getVar(), opFind.getTriple());
+ currentGroup().addElement(elt) ;
+ }
+
+ @Override
public void visit(OpProcedure opProcedure) {
throw new ARQNotImplemented("OpProcedure") ;
}
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/algebra/OpVisitor.java b/jena-arq/src/main/java/org/apache/jena/sparql/algebra/OpVisitor.java
index ef3e952..b8b71ba 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/algebra/OpVisitor.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/algebra/OpVisitor.java
@@ -29,6 +29,7 @@
public void visit(OpTriple opTriple) ;
public void visit(OpQuad opQuad) ;
public void visit(OpPath opPath) ;
+ public void visit(OpFind opFind) ;
public void visit(OpTable opTable) ;
public void visit(OpNull opNull) ;
@@ -49,7 +50,6 @@
public void visit(OpUnion opUnion) ;
public void visit(OpDiff opDiff) ;
public void visit(OpMinus opMinus) ;
-
public void visit(OpConditional opCondition) ;
// OpN
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/algebra/OpVisitorBase.java b/jena-arq/src/main/java/org/apache/jena/sparql/algebra/OpVisitorBase.java
index 14fe7c0..a2b78f5 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/algebra/OpVisitorBase.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/algebra/OpVisitorBase.java
@@ -77,6 +77,8 @@
@Override public void visit(OpAssign opAssign) {}
@Override public void visit(OpExtend opExtend) {}
+
+ @Override public void visit(OpFind opFind) {}
@Override public void visit(OpList opList) {}
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/algebra/OpVisitorByType.java b/jena-arq/src/main/java/org/apache/jena/sparql/algebra/OpVisitorByType.java
index 01863bb..cf05898 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/algebra/OpVisitorByType.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/algebra/OpVisitorByType.java
@@ -68,6 +68,10 @@
{ visit0(opPath) ; }
@Override
+ public void visit(OpFind opFind)
+ { visit0(opFind) ; }
+
+ @Override
public void visit(OpProcedure opProcedure)
{ visit1(opProcedure) ; }
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/algebra/Transform.java b/jena-arq/src/main/java/org/apache/jena/sparql/algebra/Transform.java
index 4d18e47..86b5a40 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/algebra/Transform.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/algebra/Transform.java
@@ -30,6 +30,7 @@
public Op transform(OpTriple opTriple) ;
public Op transform(OpQuad opQuad) ;
public Op transform(OpPath opPath) ;
+ public Op transform(OpFind opFind) ;
public Op transform(OpDatasetNames dsNames) ;
public Op transform(OpQuadPattern quadPattern) ;
public Op transform(OpQuadBlock quadBlock) ;
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/algebra/TransformBase.java b/jena-arq/src/main/java/org/apache/jena/sparql/algebra/TransformBase.java
index 761eb77..8f758bd 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/algebra/TransformBase.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/algebra/TransformBase.java
@@ -22,7 +22,8 @@
import org.apache.jena.sparql.algebra.op.* ;
-/** When writing {@link Transform}s to be applied to a tree,
+/**
+ * When writing {@link Transform}s to be applied to a tree,
* extend {@link TransformCopy}, not this class.
*/
public class TransformBase implements Transform
@@ -37,6 +38,8 @@
public Op transform(OpQuad opQuad) { return opQuad ; }
@Override
public Op transform(OpPath opPath) { return opPath ; }
+ @Override
+ public Op transform(OpFind opFind) { return opFind ; }
@Override
public Op transform(OpProcedure opProc, Op subOp) { return opProc ; }
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/algebra/TransformCopy.java b/jena-arq/src/main/java/org/apache/jena/sparql/algebra/TransformCopy.java
index da75ecc..a722c89 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/algebra/TransformCopy.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/algebra/TransformCopy.java
@@ -48,6 +48,8 @@
public Op transform(OpQuad opQuad) { return xform(opQuad) ; }
@Override
public Op transform(OpPath opPath) { return xform(opPath) ; }
+ @Override
+ public Op transform(OpFind opFind) { return xform(opFind) ; }
@Override
public Op transform(OpProcedure opProc, Op subOp) { return xform(opProc, subOp) ; }
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/algebra/TransformWrapper.java b/jena-arq/src/main/java/org/apache/jena/sparql/algebra/TransformWrapper.java
index afa9b82..c92ec4e 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/algebra/TransformWrapper.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/algebra/TransformWrapper.java
@@ -42,6 +42,8 @@
public Op transform(OpQuad opQuad) { return transform.transform(opQuad) ; }
@Override
public Op transform(OpPath opPath) { return transform.transform(opPath) ; }
+ @Override
+ public Op transform(OpFind opFind) { return transform.transform(opFind) ; }
@Override
public Op transform(OpProcedure opProc, Op subOp) { return transform.transform(opProc, subOp) ; }
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/algebra/op/OpBase.java b/jena-arq/src/main/java/org/apache/jena/sparql/algebra/op/OpBase.java
index b7fb90e..1dc5180 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/algebra/op/OpBase.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/algebra/op/OpBase.java
@@ -35,6 +35,7 @@
@Override
final public boolean equals(Object other)
{
+ if ( other == null ) return false;
if ( this == other ) return true ;
if ( ! ( other instanceof Op ) )
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/algebra/op/OpFind.java b/jena-arq/src/main/java/org/apache/jena/sparql/algebra/op/OpFind.java
new file mode 100644
index 0000000..272e692
--- /dev/null
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/algebra/op/OpFind.java
@@ -0,0 +1,90 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.jena.sparql.algebra.op;
+
+import java.util.Objects;
+
+import org.apache.jena.graph.Triple;
+import org.apache.jena.sparql.algebra.Op;
+import org.apache.jena.sparql.algebra.OpVisitor;
+import org.apache.jena.sparql.algebra.Transform;
+import org.apache.jena.sparql.core.Var;
+import org.apache.jena.sparql.sse.Tags;
+import org.apache.jena.sparql.util.Iso;
+import org.apache.jena.sparql.util.NodeIsomorphismMap;
+
+public class OpFind extends Op0 {
+
+ private final Triple triple;
+ private final Var var;
+
+ public OpFind(Triple triple, Var var) {
+ super();
+ this.triple = triple;
+ this.var = var;
+ }
+
+ @Override
+ public String getName() {
+ return Tags.tagFind;
+ }
+
+ @Override
+ public Op apply(Transform transform) {
+ return transform.transform(this);
+ }
+
+ @Override
+ public Op0 copy() {
+ OpFind op = new OpFind(triple, var);
+ return op;
+ }
+
+ @Override
+ public void visit(OpVisitor opVisitor) {
+ opVisitor.visit(this) ;
+ }
+
+ public Triple getTriple() {
+ return triple;
+ }
+
+ public Var getVar() {
+ return var;
+ }
+
+ @Override
+ public boolean equalTo(Op other, NodeIsomorphismMap labelMap) {
+ if ( other == null )
+ return false;
+ if ( this == other )
+ return true;
+ if ( ! (other instanceof OpFind) )
+ return false ;
+ OpFind opFind = (OpFind)other;
+ if ( ! Objects.equals(getVar(), opFind.getVar()) )
+ return false;
+ return Iso.tripleIso(getTriple(), opFind.getTriple(), labelMap) ;
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(triple, var);
+ }
+}
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/algebra/op/OpProcedure.java b/jena-arq/src/main/java/org/apache/jena/sparql/algebra/op/OpProcedure.java
index bab14c5..aa324b9 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/algebra/op/OpProcedure.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/algebra/op/OpProcedure.java
@@ -32,7 +32,8 @@
*
* See also the similar algebra form for property functions. The difference is in argument handling.
* A property function has a URI and two argument lists, one for subject, one for objects.
- * A procedure is a URI and a list of arguments. */
+ * A procedure is a URI and a list of arguments.
+ */
public class OpProcedure extends Op1
{
private Node procId ;
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/algebra/walker/ElementWalker_New.java b/jena-arq/src/main/java/org/apache/jena/sparql/algebra/walker/ElementWalker_New.java
deleted file mode 100644
index f41b51f..0000000
--- a/jena-arq/src/main/java/org/apache/jena/sparql/algebra/walker/ElementWalker_New.java
+++ /dev/null
@@ -1,198 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.jena.sparql.algebra.walker;
-
-import org.apache.jena.sparql.expr.* ;
-import org.apache.jena.sparql.syntax.* ;
-
-/** An element visitor that walks the graph pattern tree for one query level.
- * applying a visitor at each Element traversed.<br/>
- * Does not process subqueries.<br/>
- * Does not process (NOT)EXISTS in filters.<br/>
- * These will need to call down themselves if it is meaningful for the visitor.
- * Bottom-up walk - apply to subelements before applying to current element.
- */
-
-public class ElementWalker_New {
- public static void walk(Element el, ElementVisitor visitor) {
- walk(el, visitor, null) ;
- }
-
- public static void walk(Element el, ElementVisitor elVisitor, ExprVisitor exprVisitor) {
- EltWalker w = new EltWalker(elVisitor, exprVisitor) ;
- el.visit(w) ;
- }
-
-// protected static void walk$(Element el, Walker walker) {
-// el.visit(walker) ;
-// }
-
- static public class EltWalker implements ElementVisitor, ExprVisitorFunction {
- protected final ElementVisitor elementVisitor ;
- protected final ExprVisitor exprVisitor ;
-
- protected EltWalker(ElementVisitor visitor, ExprVisitor exprVisitor) {
- this.elementVisitor = visitor ;
- this.exprVisitor = exprVisitor ;
- }
-
- @Override
- public void visit(ElementTriplesBlock el) {
- elementVisitor.visit(el) ;
- }
-
- @Override
- public void visit(ElementFilter el) {
- el.getExpr().visit(this);
- elementVisitor.visit(el) ;
- }
-
- @Override
- public void visit(ElementAssign el) {
- elementVisitor.visit(el) ;
- }
-
- @Override
- public void visit(ElementBind el) {
- elementVisitor.visit(el) ;
- }
-
- @Override
- public void visit(ElementData el) {
- elementVisitor.visit(el) ;
- }
-
- @Override
- public void visit(ElementUnion el) {
- for ( Element e : el.getElements() )
- e.visit(this) ;
- elementVisitor.visit(el) ;
- }
-
- @Override
- public void visit(ElementGroup el) {
- for ( Element e : el.getElements() )
- e.visit(this) ;
- elementVisitor.visit(el) ;
- }
-
- @Override
- public void visit(ElementOptional el) {
- if ( el.getOptionalElement() != null )
- el.getOptionalElement().visit(this) ;
- elementVisitor.visit(el) ;
- }
-
- @Override
- public void visit(ElementDataset el) {
- if ( el.getElement() != null )
- el.getElement().visit(this) ;
- elementVisitor.visit(el) ;
- }
-
- @Override
- public void visit(ElementNamedGraph el) {
- if ( el.getElement() != null )
- el.getElement().visit(this) ;
- elementVisitor.visit(el) ;
- }
-
- @Override
- public void visit(ElementService el) {
- if ( el.getElement() != null )
- el.getElement().visit(this) ;
- elementVisitor.visit(el) ;
- }
-
- // EXISTs, NOT EXISTs also occur in FILTERs via expressions.
-
- @Override
- public void visit(ElementExists el) {
- elementVisitor.visit(el) ;
- }
-
- @Override
- public void visit(ElementNotExists el) {
- elementVisitor.visit(el) ;
- }
-
- @Override
- public void visit(ElementMinus el) {
- if ( el.getMinusElement() != null )
- el.getMinusElement().visit(this) ;
- elementVisitor.visit(el) ;
- }
-
- @Override
- public void visit(ElementSubQuery el) {
- // This does not automatically walk into the subquery.
- elementVisitor.visit(el) ;
- }
-
- @Override
- public void visit(ElementPathBlock el) {
- elementVisitor.visit(el) ;
- }
-
- @Override
- public void visit(ExprFunction0 func) { visitExprFunction(func) ; }
- @Override
- public void visit(ExprFunction1 func) { visitExprFunction(func) ; }
- @Override
- public void visit(ExprFunction2 func) { visitExprFunction(func) ; }
- @Override
- public void visit(ExprFunction3 func) { visitExprFunction(func) ; }
- @Override
- public void visit(ExprFunctionN func) { visitExprFunction(func) ; }
-
- @Override
- public void visitExprFunction(ExprFunction func) {
- for ( int i = 1 ; i <= func.numArgs() ; i++ )
- {
- Expr expr = func.getArg(i) ;
- if ( expr == null )
- // Put a dummy in, e.g. to keep the transform stack aligned.
- Expr.NONE.visit(this) ;
- else
- expr.visit(this) ;
- }
- func.visit(exprVisitor) ;
- }
-
- @Override
- public void visit(ExprFunctionOp funcOp) {
- // Walk the op
- funcOp.getElement().visit(this);
- funcOp.visit(exprVisitor) ;
- }
-
- @Override
- public void visit(NodeValue nv) { nv.visit(exprVisitor) ; }
- @Override
- public void visit(ExprVar v) { v.visit(exprVisitor) ; }
- @Override
- public void visit(ExprNone v) { v.visit(exprVisitor) ; }
- @Override
- public void visit(ExprAggregator eAgg) {
- //eAgg.getAggVar().visit(visitorExpr);
- // XXX XXX Hack for varsMentioned
- eAgg.visit(exprVisitor) ;
- }
- }
-}
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/algebra/walker/OpVisitorByTypeAndExpr.java b/jena-arq/src/main/java/org/apache/jena/sparql/algebra/walker/OpVisitorByTypeAndExpr.java
index c78e724..dff3de0 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/algebra/walker/OpVisitorByTypeAndExpr.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/algebra/walker/OpVisitorByTypeAndExpr.java
@@ -88,6 +88,11 @@
}
@Override
+ public default void visit(OpFind opFind) {
+ visit0(opFind);
+ }
+
+ @Override
public default void visit(OpProcedure opProcedure) {
visit1(opProcedure);
}
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/algebra/walker/WalkerVisitor.java b/jena-arq/src/main/java/org/apache/jena/sparql/algebra/walker/WalkerVisitor.java
index f3d7e27..d4dc1e0 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/algebra/walker/WalkerVisitor.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/algebra/walker/WalkerVisitor.java
@@ -214,13 +214,11 @@
visit1$(opExtend) ;
after(opExtend) ;
}
-
// Transforming to quads needs the graph node handled before doing the sub-algebra ops
// so it has to be done as before/after by the Walker. By the time visit(OpGraph) is called,
// the sub-tree has already been visited.
-
// @Override
// public void visit(OpGraph op) {
// pushGraph(op.getNode()) ;
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/engine/iterator/QueryIterAddTripleTerm.java b/jena-arq/src/main/java/org/apache/jena/sparql/engine/iterator/QueryIterAddTripleTerm.java
index d253248..0b36285 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/engine/iterator/QueryIterAddTripleTerm.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/engine/iterator/QueryIterAddTripleTerm.java
@@ -37,7 +37,7 @@
* with terms from the current binding. It is an error not to have substitutions for
* all variables and results in the original binding unchanged.
*/
-class QueryIterAddTripleTerm extends QueryIterTriplePattern {
+public class QueryIterAddTripleTerm extends QueryIterTriplePattern {
private final Triple triple;
private final Var var;
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/engine/iterator/QueryIterBlockTriplesStar.java b/jena-arq/src/main/java/org/apache/jena/sparql/engine/iterator/QueryIterBlockTriplesStar.java
index 59036f9..22e4b24 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/engine/iterator/QueryIterBlockTriplesStar.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/engine/iterator/QueryIterBlockTriplesStar.java
@@ -18,15 +18,9 @@
package org.apache.jena.sparql.engine.iterator;
-import static org.apache.jena.graph.Node_Triple.triple;
-
import org.apache.jena.atlas.io.IndentedWriter;
-import org.apache.jena.atlas.lib.Pair;
-import org.apache.jena.graph.Node;
import org.apache.jena.graph.Triple;
import org.apache.jena.sparql.core.BasicPattern;
-import org.apache.jena.sparql.core.Var;
-import org.apache.jena.sparql.core.VarAlloc;
import org.apache.jena.sparql.engine.ExecutionContext;
import org.apache.jena.sparql.engine.QueryIterator;
import org.apache.jena.sparql.engine.binding.Binding;
@@ -50,7 +44,7 @@
this.pattern = pattern;
QueryIterator chain = getInput();
for (Triple triple : pattern) {
- chain = rdfStarTriple(chain, triple);
+ chain = RX.rdfStarTriple(chain, triple, execContext);
}
output = chain;
}
@@ -78,103 +72,6 @@
output.cancel();
}
- static String allocTripleTerms = "*";
- static VarAlloc varAlloc = new VarAlloc(allocTripleTerms) ;
-
- /** Top level function */
- private QueryIterator rdfStarTriple(QueryIterator chain, Triple triple) {
- // Should all work without this trap for plain RDF but for now,
- // fast track the non-RDF* case.
- if ( ! tripleHasNodeTriple(triple) )
- // No RDF* : direct to data. Behaviour the same as QueryIterBlockTriples.
- return matchData(chain, triple, getExecContext());
- return rdfStarTripleSub(chain, triple, getExecContext());
- }
-
- /**
- * Insert the stages necessary for a triple with triple pattern term inside it.
- * If the triple pattern has a triple term, possibly with variables, introduce
- * an iterator to solve for that, assign the matching triple term to a hidden
- * variable, and put allocated variable in to main triple pattern. Do for subject
- * and object positions, and also any nested triple pattern terms.
- */
- private static QueryIterator rdfStarTripleSub(QueryIterator chain, Triple triple, ExecutionContext execContext) {
- Pair<QueryIterator, Triple> pair = preprocess(chain, triple, execContext);
- QueryIterator chain2 = matchData(pair.getLeft(), pair.getRight(), execContext);
- return chain2;
- }
-
- // If we assume the data is correct (in PG mode), no need to test for the triple
- // of a concrete Node_Triple because we able to test for it in the triple
- // pattern itself.
- // This should be "false".
- private static final boolean TEST_FOR_CONCRETE_TRIPLE_TERM = false;
-
- private static Pair<QueryIterator, Triple> preprocess(QueryIterator chain, Triple triple, ExecutionContext execContext) {
- Triple triple2 = triple;
- Node s = triple.getSubject();
- Node p = triple.getPredicate();
- Node o = triple.getObject();
- Node s1 = null;
- Node o1 = null;
-
- // Recurse.
- if ( s.isNodeTriple() ) {
- if ( TEST_FOR_CONCRETE_TRIPLE_TERM || ! s.isConcrete() ) {
- Triple t2 = triple(s);
- Var var = varAlloc.allocVar();
- Triple tripleTerm = Triple.create(t2.getSubject(), t2.getPredicate(), t2.getObject());
- chain = matchTripleStar(chain, var, tripleTerm, execContext);
- s1 = var;
- }
- }
- if ( o.isNodeTriple() ) {
- if ( TEST_FOR_CONCRETE_TRIPLE_TERM || ! o.isConcrete() ) {
- Triple t2 = triple(o);
- Var var = varAlloc.allocVar();
- Triple tripleTerm = Triple.create(t2.getSubject(), t2.getPredicate(), t2.getObject());
- chain = matchTripleStar(chain, var, tripleTerm, execContext);
- o1 = var;
- }
- }
-
- // No triple term in this triple.
- if ( s1 == null && o1 == null )
- return Pair.create(chain, triple);
-
- // Change. Replace original.
- if ( s1 == null )
- s1 = s ;
- if ( o1 == null )
- o1 = o ;
- Triple triple1 = Triple.create(s1, p, o1);
- return Pair.create(chain, triple1);
- }
-
- /** Match the graph with a triple pattern, after any triple terms have been dealt with. */
- private static QueryIterator matchData(QueryIterator chain, Triple triple, ExecutionContext execContext) {
- QueryIterator qIter = new QueryIterTriplePattern(chain, triple, execContext);
- return qIter;
- }
-
- /** Match a triple term pattern; add matches using the supplied variable. */
- private static QueryIterator matchTripleStar(QueryIterator chain, Var var, Triple triple, ExecutionContext execContext) {
- if ( tripleHasNodeTriple(triple) ) {
- Pair<QueryIterator, Triple> pair = preprocess(chain, triple, execContext);
- chain = pair.getLeft();
- triple = pair.getRight();
- }
- // Assign to var in each binding, based on the triple pattern grounded by the match.
- QueryIterator qIter = new QueryIterAddTripleTerm(chain, var, triple, execContext);
- return qIter;
- }
-
- private static boolean tripleHasNodeTriple(Triple triple) {
- return triple.getSubject().isNodeTriple()
- /*|| triple.getPredicate().isNodeTriple()*/
- || triple.getObject().isNodeTriple();
- }
-
@Override
protected void details(IndentedWriter out, SerializationContext sCxt) {
out.print(this.getClass().getSimpleName()+": " + pattern);
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/engine/iterator/QueryIterTriplePattern.java b/jena-arq/src/main/java/org/apache/jena/sparql/engine/iterator/QueryIterTriplePattern.java
index df272dc..b82753d 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/engine/iterator/QueryIterTriplePattern.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/engine/iterator/QueryIterTriplePattern.java
@@ -33,6 +33,7 @@
import org.apache.jena.util.iterator.ClosableIterator ;
import org.apache.jena.util.iterator.NiceIterator ;
+/** Match a single triple pattern */
public class QueryIterTriplePattern extends QueryIterRepeatApply
{
private final Triple pattern ;
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/engine/iterator/RX.java b/jena-arq/src/main/java/org/apache/jena/sparql/engine/iterator/RX.java
new file mode 100644
index 0000000..e00ea78
--- /dev/null
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/engine/iterator/RX.java
@@ -0,0 +1,201 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.jena.sparql.engine.iterator;
+
+import static org.apache.jena.graph.Node_Triple.triple;
+
+import org.apache.jena.atlas.lib.Pair;
+import org.apache.jena.graph.Node;
+import org.apache.jena.graph.Triple;
+import org.apache.jena.sparql.core.Var;
+import org.apache.jena.sparql.core.VarAlloc;
+import org.apache.jena.sparql.engine.ExecutionContext;
+import org.apache.jena.sparql.engine.QueryIterator;
+
+/**
+ * Solver library for RDF*.
+ * <p>
+ * There are two entry points.
+ * <p>
+ * Function {@link #rdfStarTriple} for matching a single triple pattern in a basic
+ * graph pattern that may involve RDF* terms.
+ * <p>
+ * Function {@link #matchTripleStar} for matches a triple term and assigning the
+ * triple matched to a variable. It is used within {@link #rdfStarTriple} for nested
+ * triple term and a temporary allocated variable as well can for
+ * {@code FIND(<<...>> AS ?t)}.
+ */
+public class RX {
+ // From context?
+ static String allocTripleTerms = "*";
+ static VarAlloc varAlloc = new VarAlloc(allocTripleTerms) ;
+
+ // QueryIterator - acceptable as API as universal.
+ // Internal TDB is a delayed binding iterator.
+ // <Triple, Node> vs <Tuple, NodeId>
+ // TDB: Iterator<BindingNodeId>
+
+ // TDB: StageMatchTuple ~~ QueryIterTriplePattern
+
+ // TDB: SolverLib.solve
+ // The two solver libs are identical except for imports.
+ /*
+ public static Iterator<BindingNodeId> solve(NodeTupleTable nodeTupleTable,
+ Tuple<Node> tuple,
+ boolean anyGraph,
+ Iterator<BindingNodeId> chain, Predicate<Tuple<NodeId>> filter,
+ ExecutionContext execCxt)
+ {
+ return new StageMatchTuple(nodeTupleTable, chain, tuple, anyGraph, filter, execCxt) ;
+ }
+ */
+
+
+ /**
+ * Match a single triple pattern that may involve RDF* terms.
+ * This is the top level function for matching triples.
+ *
+ * The function {@link #matchTripleStar} matches a triple term and assigns the triple matched to a variable.
+ * It is used within {@link #rdfStarTriple} for nested triple term and a temporary allocated variable
+ * as well can for {@code FIND(<<...>> AS ?t)}.
+ *
+ * @implNote
+ * Without RDF*, this would be a plain call of {@link #matchData} which is simply:
+ * <pre>
+ * new QueryIterTriplePattern(chain, triple, execContext)}
+ * </pre>
+ *
+ */
+ public static QueryIterator rdfStarTriple(QueryIterator chain, Triple triple, ExecutionContext execCxt) {
+ // Should all work without this trap for plain RDF but for now,
+ // fast track the non-RDF* case.
+ if ( ! tripleHasNodeTriple(triple) )
+ // No RDF* : direct to data.
+ return matchData(chain, triple, execCxt);
+ return rdfStarTripleSub(chain, triple, execCxt);
+ }
+
+ /**
+ * Insert the stages necessary for a triple with triple pattern term inside it.
+ * If the triple pattern has a triple term, possibly with variables, introduce
+ * an iterator to solve for that, assign the matching triple term to a hidden
+ * variable, and put allocated variable in to main triple pattern. Do for subject
+ * and object positions, and also any nested triple pattern terms.
+ */
+ private static QueryIterator rdfStarTripleSub(QueryIterator chain, Triple triple, ExecutionContext execContext) {
+ Pair<QueryIterator, Triple> pair = preprocess(chain, triple, execContext);
+ QueryIterator chain2 = matchData(pair.getLeft(), pair.getRight(), execContext);
+ return chain2;
+ }
+
+ /**
+ * Match a triple pattern (which may have nested triple terms in it).
+ * Any matched triples are added as triple terms bound to the supplied variable.
+ */
+ public static QueryIterator matchTripleStar(QueryIterator chain, Var var, Triple triple, ExecutionContext execContext) {
+ if ( tripleHasNodeTriple(triple) ) {
+ Pair<QueryIterator, Triple> pair = preprocess(chain, triple, execContext);
+ chain = pair.getLeft();
+ triple = pair.getRight();
+ }
+ // Assign to var in each binding, based on the triple pattern grounded by the match.
+ QueryIterator qIter = bindTripleTerm(chain, var, triple, execContext);
+ return qIter;
+ }
+
+ // If we assume the data is correct (in PG mode), no need to test for the triple
+ // of a concrete Node_Triple because we are able to test for it in the triple
+ // pattern itself. This should be "false".
+ // XXX To be removed.
+ private static final boolean TEST_FOR_CONCRETE_TRIPLE_TERM = false;
+
+ /**
+ * Process a triple for triple terms.
+ * <p>
+ * This creates additional matchers for triple terms in the pattern triple recursively.
+ */
+ private static Pair<QueryIterator, Triple> preprocess(QueryIterator chain, Triple patternTriple, ExecutionContext execContext) {
+ Triple triple2 = patternTriple;
+ Node s = patternTriple.getSubject();
+ Node p = patternTriple.getPredicate();
+ Node o = patternTriple.getObject();
+ Node s1 = null;
+ Node o1 = null;
+
+ // Recurse.
+ if ( s.isNodeTriple() ) {
+ if ( TEST_FOR_CONCRETE_TRIPLE_TERM || ! s.isConcrete() ) {
+ Triple t2 = triple(s);
+ Var var = varAlloc.allocVar();
+ Triple tripleTerm = Triple.create(t2.getSubject(), t2.getPredicate(), t2.getObject());
+ chain = matchTripleStar(chain, var, tripleTerm, execContext);
+ s1 = var;
+ }
+ }
+ if ( o.isNodeTriple() ) {
+ if ( TEST_FOR_CONCRETE_TRIPLE_TERM || ! o.isConcrete() ) {
+ Triple t2 = triple(o);
+ Var var = varAlloc.allocVar();
+ Triple tripleTerm = Triple.create(t2.getSubject(), t2.getPredicate(), t2.getObject());
+ chain = matchTripleStar(chain, var, tripleTerm, execContext);
+ o1 = var;
+ }
+ }
+
+ // No triple term in this triple.
+ if ( s1 == null && o1 == null )
+ return Pair.create(chain, patternTriple);
+
+ // Change. Replace original.
+ if ( s1 == null )
+ s1 = s ;
+ if ( o1 == null )
+ o1 = o ;
+ Triple triple1 = Triple.create(s1, p, o1);
+ return Pair.create(chain, triple1);
+ }
+
+ /**
+ * Match the graph with a triple pattern.
+ * This is the accessor the graph.
+ * It assumes any triple terms have been dealt with.
+ */
+ private static QueryIterator matchData(QueryIterator chain, Triple triple, ExecutionContext execContext) {
+ QueryIterator qIter = new QueryIterTriplePattern(chain, triple, execContext);
+ return qIter;
+ }
+
+ /**
+ * Add a binding to each row with triple grounded by the current row.
+ * If the triple isn't concrete, then just return the row as-is.
+ */
+ private static QueryIterator bindTripleTerm(QueryIterator chain, Var var, Triple triple, ExecutionContext execContext) {
+ return new QueryIterAddTripleTerm(chain, var, triple, execContext);
+ }
+
+ /**
+ * Test whether a triple has an triple term as one of its components.
+ */
+ private static boolean tripleHasNodeTriple(Triple triple) {
+ return triple.getSubject().isNodeTriple()
+ /*|| triple.getPredicate().isNodeTriple()*/
+ || triple.getObject().isNodeTriple();
+ }
+}
+
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/engine/main/ExecutionDispatch.java b/jena-arq/src/main/java/org/apache/jena/sparql/engine/main/ExecutionDispatch.java
index cdd5547..38b04e3 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/engine/main/ExecutionDispatch.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/engine/main/ExecutionDispatch.java
@@ -100,6 +100,14 @@
}
@Override
+ public void visit(OpFind opFind)
+ {
+ QueryIterator input = pop() ;
+ QueryIterator qIter = opExecutor.execute(opFind, input) ;
+ push(qIter) ;
+ }
+
+ @Override
public void visit(OpProcedure opProc)
{
QueryIterator input = pop() ;
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/engine/main/OpExecutor.java b/jena-arq/src/main/java/org/apache/jena/sparql/engine/main/OpExecutor.java
index e303263..7e3b18b 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/engine/main/OpExecutor.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/engine/main/OpExecutor.java
@@ -136,6 +136,10 @@
return execute(opTriple.asBGP(), input) ;
}
+ protected QueryIterator execute(OpFind opFind, QueryIterator input) {
+ return RX.matchTripleStar(input, opFind.getVar(), opFind.getTriple(), execCxt);
+ }
+
protected QueryIterator execute(OpGraph opGraph, QueryIterator input) {
QueryIterator qIter = specialcase(opGraph.getNode(), opGraph.getSubOp(), input) ;
if (qIter != null)
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/engine/main/VarFinder.java b/jena-arq/src/main/java/org/apache/jena/sparql/engine/main/VarFinder.java
index 54533e0..5fbea97 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/engine/main/VarFinder.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/engine/main/VarFinder.java
@@ -165,6 +165,12 @@
}
@Override
+ public void visit(OpFind opFind) {
+ defines.add(opFind.getVar());
+ addVarsFromTriple(defines, opFind.getTriple());
+ }
+
+ @Override
public void visit(OpExt opExt) {
opExt.effectiveOp().visit(this);
}
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/engine/ref/Evaluator.java b/jena-arq/src/main/java/org/apache/jena/sparql/engine/ref/Evaluator.java
index a11795c..ba094e3 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/engine/ref/Evaluator.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/engine/ref/Evaluator.java
@@ -21,6 +21,7 @@
import java.util.List ;
import org.apache.jena.graph.Node ;
+import org.apache.jena.graph.Triple;
import org.apache.jena.query.SortCondition ;
import org.apache.jena.sparql.algebra.Table ;
import org.apache.jena.sparql.core.BasicPattern ;
@@ -37,8 +38,8 @@
public ExecutionContext getExecContext() ;
public Table basicPattern(BasicPattern pattern) ;
-
public Table pathPattern(TriplePath triplePath) ;
+ public Table find(Var var, Triple tripleterm) ;
// Two forms that provide custom code evaluation
public Table procedure(Table table, Node procId, ExprList args) ;
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/engine/ref/EvaluatorDispatch.java b/jena-arq/src/main/java/org/apache/jena/sparql/engine/ref/EvaluatorDispatch.java
index bdd9fbc..b43611c 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/engine/ref/EvaluatorDispatch.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/engine/ref/EvaluatorDispatch.java
@@ -97,6 +97,11 @@
Table table = evaluator.pathPattern(opPath.getTriplePath()) ;
push(table) ;
}
+
+ @Override
+ public void visit(OpFind opFind) {
+ Table table = evaluator.find(opFind.getVar(), opFind.getTriple());
+ }
@Override
public void visit(OpProcedure opProc)
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/engine/ref/EvaluatorSimple.java b/jena-arq/src/main/java/org/apache/jena/sparql/engine/ref/EvaluatorSimple.java
index f2fc9b4..b0baf78 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/engine/ref/EvaluatorSimple.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/engine/ref/EvaluatorSimple.java
@@ -23,10 +23,14 @@
import org.apache.jena.atlas.lib.Lib ;
import org.apache.jena.graph.Node ;
+import org.apache.jena.graph.Triple;
import org.apache.jena.query.ResultSet ;
import org.apache.jena.query.ResultSetFormatter ;
import org.apache.jena.query.SortCondition ;
-import org.apache.jena.sparql.algebra.* ;
+import org.apache.jena.sparql.algebra.Algebra;
+import org.apache.jena.sparql.algebra.JoinType;
+import org.apache.jena.sparql.algebra.Table;
+import org.apache.jena.sparql.algebra.TableFactory;
import org.apache.jena.sparql.algebra.table.TableN ;
import org.apache.jena.sparql.core.BasicPattern ;
import org.apache.jena.sparql.core.TriplePath ;
@@ -78,6 +82,12 @@
}
@Override
+ public Table find(Var var, Triple tripleTerm) {
+ QueryIterator qIter = RX.matchTripleStar(QueryIterRoot.create(execCxt), var, tripleTerm, execCxt);
+ return TableFactory.create(qIter) ;
+ }
+
+ @Override
public Table procedure(Table table, Node procId, ExprList args)
{
Procedure proc = ProcEval.build(procId, args, execCxt) ;
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/lang/ParserBase.java b/jena-arq/src/main/java/org/apache/jena/sparql/lang/ParserBase.java
index 5d9186f..33764ce 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/lang/ParserBase.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/lang/ParserBase.java
@@ -331,6 +331,11 @@
// --------
+ protected void checkConcrete(Node n, int line, int column) {
+ if ( ! n.isConcrete() )
+ throwParseException("Term is not concrete: "+n, line, column) ;
+ }
+
// BNode from a list
// protected Node createListNode()
// { return listLabelMap.allocNode() ; }
@@ -355,7 +360,7 @@
return activeLabelMap.asNode(label) ;
}
- protected Node createTripleTerm(Node s, Node p, Node o) {
+ protected Node createTripleTerm(Node s, Node p, Node o, int line, int column) {
return NodeFactory.createTripleNode(s, p, o);
}
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/lang/SPARQLParserBase.java b/jena-arq/src/main/java/org/apache/jena/sparql/lang/SPARQLParserBase.java
index d3fcd7b..47ef0ad 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/lang/SPARQLParserBase.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/lang/SPARQLParserBase.java
@@ -286,9 +286,12 @@
return ;
Var v = variables.get(currentColumn) ;
+ if ( n != null && ! n.isConcrete() ) {
+ String msg = QueryParseException.formatMessage("Term is not concrete: "+n, line, col) ;
+ throw new QueryParseException(msg, line, col) ;
+ }
if ( n != null )
currentValueRow().add(v, n) ;
-
}
protected void finishDataBlockValueRow(int line, int col)
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/lang/arq/ARQParser.java b/jena-arq/src/main/java/org/apache/jena/sparql/lang/arq/ARQParser.java
index f251923..8f274b8 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/lang/arq/ARQParser.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/lang/arq/ARQParser.java
@@ -2378,6 +2378,7 @@
case BIND:
case SERVICE:
case LET:
+ case FIND:
case EXISTS:
case NOT:
case FILTER:
@@ -2528,6 +2529,10 @@
el = InlineData();
break;
}
+ case FIND:{
+ el = Find();
+ break;
+ }
case LET:{
el = Assignment();
break;
@@ -2593,6 +2598,17 @@
throw new Error("Missing return statement in function");
}
+ final public Element Find() throws ParseException {Var v ; Node n;
+ jj_consume_token(FIND);
+ jj_consume_token(LPAREN);
+ n = TripleTerm();
+ jj_consume_token(AS);
+ v = Var();
+ jj_consume_token(RPAREN);
+{if ("" != null) return new ElementFind(v, n) ;}
+ throw new Error("Missing return statement in function");
+ }
+
final public Element InlineData() throws ParseException {ElementData el ; Token t ;
t = jj_consume_token(VALUES);
int beginLine = t.beginLine; int beginColumn = t.beginColumn; t = null;
@@ -2623,17 +2639,17 @@
}
}
- final public void InlineDataOneVar() throws ParseException {Var v ; Node n ; Token t ;
+ final public void InlineDataOneVar() throws ParseException {Var v ; Node n ; Token t ; ; int beginLine; int beginColumn;
v = Var();
emitDataBlockVariable(v) ;
t = jj_consume_token(LBRACE);
+beginLine = t.beginLine; beginColumn = t.beginColumn; t = null;
label_20:
while (true) {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case IRIref:
case PNAME_NS:
case PNAME_LN:
- case BLANK_NODE_LABEL:
case UNDEF:
case TRUE:
case FALSE:
@@ -2650,7 +2666,7 @@
case STRING_LITERAL2:
case STRING_LITERAL_LONG1:
case STRING_LITERAL_LONG2:
- case ANON:{
+ case LT2:{
;
break;
}
@@ -2659,9 +2675,9 @@
break label_20;
}
n = DataBlockValue();
-startDataBlockValueRow(-1, -1) ;
- emitDataBlockValue(n, -1, -1) ;
- finishDataBlockValueRow(-1, -1) ;
+startDataBlockValueRow(beginLine, beginColumn) ;
+ emitDataBlockValue(n, beginLine, beginColumn) ;
+ finishDataBlockValueRow(beginLine, beginColumn) ;
}
t = jj_consume_token(RBRACE);
}
@@ -2721,7 +2737,6 @@
case IRIref:
case PNAME_NS:
case PNAME_LN:
- case BLANK_NODE_LABEL:
case UNDEF:
case TRUE:
case FALSE:
@@ -2738,7 +2753,7 @@
case STRING_LITERAL2:
case STRING_LITERAL_LONG1:
case STRING_LITERAL_LONG2:
- case ANON:{
+ case LT2:{
;
break;
}
@@ -2806,9 +2821,8 @@
{if ("" != null) return n ;}
break;
}
- case BLANK_NODE_LABEL:
- case ANON:{
- n = BlankNode();
+ case LT2:{
+ n = TripleTerm();
{if ("" != null) return n ;}
break;
}
@@ -4086,15 +4100,10 @@
throw new Error("Missing return statement in function");
}
- final public Node VarOrTerm() throws ParseException {Node n = null ; Token t = null; Node s , p , o ;
+ final public Node VarOrTerm() throws ParseException {Node n = null ;
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case LT2:{
- t = jj_consume_token(LT2);
- s = VarOrTerm();
- p = Verb();
- o = VarOrTerm();
-n = createTripleTerm(s,p,o);
- jj_consume_token(GT2);
+ n = TripleTerm();
break;
}
case VAR1:
@@ -4135,6 +4144,17 @@
throw new Error("Missing return statement in function");
}
+ final public Node TripleTerm() throws ParseException {Node n = null ; Token t ; Node s , p , o ;
+ t = jj_consume_token(LT2);
+ s = VarOrTerm();
+ p = Verb();
+ o = VarOrTerm();
+n = createTripleTerm(s, p, o, t.beginLine, t.beginColumn);
+ jj_consume_token(GT2);
+{if ("" != null) return n;}
+ throw new Error("Missing return statement in function");
+ }
+
final public Node VarOrIri() throws ParseException {Node n = null ; String iri ;
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case VAR1:
@@ -6159,48 +6179,6 @@
finally { jj_save(4, xla); }
}
- private boolean jj_3R_134()
- {
- if (jj_scan_token(AGG)) return true;
- if (jj_3R_144()) return true;
- return false;
- }
-
- private boolean jj_3R_133()
- {
- if (jj_scan_token(VAR_POP)) return true;
- if (jj_scan_token(LPAREN)) return true;
- return false;
- }
-
- private boolean jj_3R_132()
- {
- if (jj_scan_token(VAR_SAMP)) return true;
- if (jj_scan_token(LPAREN)) return true;
- return false;
- }
-
- private boolean jj_3R_131()
- {
- if (jj_scan_token(VARIANCE)) return true;
- if (jj_scan_token(LPAREN)) return true;
- return false;
- }
-
- private boolean jj_3R_130()
- {
- if (jj_scan_token(STDEV_POP)) return true;
- if (jj_scan_token(LPAREN)) return true;
- return false;
- }
-
- private boolean jj_3R_129()
- {
- if (jj_scan_token(STDEV_SAMP)) return true;
- if (jj_scan_token(LPAREN)) return true;
- return false;
- }
-
private boolean jj_3R_128()
{
if (jj_scan_token(STDEV)) return true;
@@ -6215,55 +6193,6 @@
return false;
}
- private boolean jj_3_2()
- {
- if (jj_scan_token(SEMICOLON)) return true;
- if (jj_3R_44()) return true;
- Token xsp;
- xsp = jj_scanpos;
- if (jj_scan_token(138)) {
- jj_scanpos = xsp;
- if (jj_scan_token(139)) {
- jj_scanpos = xsp;
- if (jj_scan_token(146)) {
- jj_scanpos = xsp;
- if (jj_scan_token(141)) {
- jj_scanpos = xsp;
- if (jj_scan_token(142)) {
- jj_scanpos = xsp;
- if (jj_scan_token(143)) {
- jj_scanpos = xsp;
- if (jj_scan_token(140)) {
- jj_scanpos = xsp;
- if (jj_scan_token(151)) {
- jj_scanpos = xsp;
- if (jj_scan_token(134)) {
- jj_scanpos = xsp;
- if (jj_scan_token(133)) {
- jj_scanpos = xsp;
- if (jj_scan_token(152)) {
- jj_scanpos = xsp;
- if (jj_scan_token(135)) {
- jj_scanpos = xsp;
- if (jj_scan_token(136)) {
- jj_scanpos = xsp;
- if (jj_scan_token(137)) return true;
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- return false;
- }
-
private boolean jj_3R_127()
{
if (jj_scan_token(GROUP_CONCAT)) return true;
@@ -6306,12 +6235,6 @@
return false;
}
- private boolean jj_3R_148()
- {
- if (jj_scan_token(LPAREN)) return true;
- return false;
- }
-
private boolean jj_3R_121()
{
if (jj_scan_token(MIN)) return true;
@@ -6326,6 +6249,61 @@
return false;
}
+ private boolean jj_3R_149()
+ {
+ if (jj_scan_token(LPAREN)) return true;
+ return false;
+ }
+
+ private boolean jj_3_2()
+ {
+ if (jj_scan_token(SEMICOLON)) return true;
+ if (jj_3R_44()) return true;
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_scan_token(139)) {
+ jj_scanpos = xsp;
+ if (jj_scan_token(140)) {
+ jj_scanpos = xsp;
+ if (jj_scan_token(147)) {
+ jj_scanpos = xsp;
+ if (jj_scan_token(142)) {
+ jj_scanpos = xsp;
+ if (jj_scan_token(143)) {
+ jj_scanpos = xsp;
+ if (jj_scan_token(144)) {
+ jj_scanpos = xsp;
+ if (jj_scan_token(141)) {
+ jj_scanpos = xsp;
+ if (jj_scan_token(152)) {
+ jj_scanpos = xsp;
+ if (jj_scan_token(135)) {
+ jj_scanpos = xsp;
+ if (jj_scan_token(134)) {
+ jj_scanpos = xsp;
+ if (jj_scan_token(153)) {
+ jj_scanpos = xsp;
+ if (jj_scan_token(136)) {
+ jj_scanpos = xsp;
+ if (jj_scan_token(137)) {
+ jj_scanpos = xsp;
+ if (jj_scan_token(138)) return true;
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ return false;
+ }
+
private boolean jj_3R_119()
{
if (jj_scan_token(COUNT)) return true;
@@ -6393,18 +6371,12 @@
return false;
}
- private boolean jj_3R_149()
+ private boolean jj_3R_150()
{
if (jj_scan_token(LBRACKET)) return true;
return false;
}
- private boolean jj_3R_143()
- {
- if (jj_3R_149()) return true;
- return false;
- }
-
private boolean jj_3R_113()
{
if (jj_scan_token(EXISTS)) return true;
@@ -6412,6 +6384,12 @@
return false;
}
+ private boolean jj_3R_143()
+ {
+ if (jj_3R_150()) return true;
+ return false;
+ }
+
private boolean jj_3R_118()
{
Token xsp;
@@ -6425,7 +6403,7 @@
private boolean jj_3R_142()
{
- if (jj_3R_148()) return true;
+ if (jj_3R_149()) return true;
return false;
}
@@ -6854,12 +6832,6 @@
return false;
}
- private boolean jj_3R_136()
- {
- if (jj_scan_token(LBRACE)) return true;
- return false;
- }
-
private boolean jj_3R_46()
{
if (jj_3R_106()) return true;
@@ -7042,6 +7014,12 @@
return false;
}
+ private boolean jj_3R_136()
+ {
+ if (jj_scan_token(LBRACE)) return true;
+ return false;
+ }
+
private boolean jj_3_3()
{
if (jj_scan_token(DOT)) return true;
@@ -7049,50 +7027,67 @@
return false;
}
- private boolean jj_3_1()
- {
- if (jj_3R_43()) return true;
- return false;
- }
-
private boolean jj_3R_145()
{
if (jj_scan_token(IRIref)) return true;
return false;
}
- private boolean jj_3R_172()
+ private boolean jj_3_1()
+ {
+ if (jj_3R_43()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_173()
{
if (jj_scan_token(ANON)) return true;
return false;
}
- private boolean jj_3R_162()
+ private boolean jj_3R_163()
{
Token xsp;
xsp = jj_scanpos;
- if (jj_3R_171()) {
+ if (jj_3R_172()) {
jj_scanpos = xsp;
- if (jj_3R_172()) return true;
+ if (jj_3R_173()) return true;
}
return false;
}
- private boolean jj_3R_171()
+ private boolean jj_3R_172()
{
if (jj_scan_token(BLANK_NODE_LABEL)) return true;
return false;
}
+ private boolean jj_3R_165()
+ {
+ if (jj_scan_token(PNAME_NS)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_164()
+ {
+ if (jj_scan_token(PNAME_LN)) return true;
+ return false;
+ }
+
private boolean jj_3R_105()
{
if (jj_3R_118()) return true;
return false;
}
- private boolean jj_3R_164()
+ private boolean jj_3R_159()
{
- if (jj_scan_token(PNAME_NS)) return true;
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_164()) {
+ jj_scanpos = xsp;
+ if (jj_3R_165()) return true;
+ }
return false;
}
@@ -7113,9 +7108,51 @@
return false;
}
- private boolean jj_3R_163()
+ private boolean jj_3_4()
{
- if (jj_scan_token(PNAME_LN)) return true;
+ if (jj_scan_token(DOT)) return true;
+ if (jj_3R_45()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_152()
+ {
+ if (jj_3R_159()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_144()
+ {
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_151()) {
+ jj_scanpos = xsp;
+ if (jj_3R_152()) return true;
+ }
+ return false;
+ }
+
+ private boolean jj_3R_151()
+ {
+ if (jj_3R_145()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_177()
+ {
+ if (jj_scan_token(STRING_LITERAL_LONG2)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_176()
+ {
+ if (jj_scan_token(STRING_LITERAL_LONG1)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_175()
+ {
+ if (jj_scan_token(STRING_LITERAL2)) return true;
return false;
}
@@ -7125,20 +7162,25 @@
return false;
}
- private boolean jj_3_4()
+ private boolean jj_3R_174()
{
- if (jj_scan_token(DOT)) return true;
- if (jj_3R_45()) return true;
+ if (jj_scan_token(STRING_LITERAL1)) return true;
return false;
}
- private boolean jj_3R_158()
+ private boolean jj_3R_166()
{
Token xsp;
xsp = jj_scanpos;
- if (jj_3R_163()) {
+ if (jj_3R_174()) {
jj_scanpos = xsp;
- if (jj_3R_164()) return true;
+ if (jj_3R_175()) {
+ jj_scanpos = xsp;
+ if (jj_3R_176()) {
+ jj_scanpos = xsp;
+ if (jj_3R_177()) return true;
+ }
+ }
}
return false;
}
@@ -7151,26 +7193,32 @@
return false;
}
- private boolean jj_3R_151()
+ private boolean jj_3R_171()
{
- if (jj_3R_158()) return true;
+ if (jj_scan_token(FALSE)) return true;
return false;
}
- private boolean jj_3R_144()
+ private boolean jj_3R_162()
{
Token xsp;
xsp = jj_scanpos;
- if (jj_3R_150()) {
+ if (jj_3R_170()) {
jj_scanpos = xsp;
- if (jj_3R_151()) return true;
+ if (jj_3R_171()) return true;
}
return false;
}
- private boolean jj_3R_150()
+ private boolean jj_3R_170()
{
- if (jj_3R_145()) return true;
+ if (jj_scan_token(TRUE)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_135()
+ {
+ if (jj_scan_token(LPAREN)) return true;
return false;
}
@@ -7181,6 +7229,18 @@
return false;
}
+ private boolean jj_3R_189()
+ {
+ if (jj_scan_token(DOUBLE_NEGATIVE)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_188()
+ {
+ if (jj_scan_token(DECIMAL_NEGATIVE)) return true;
+ return false;
+ }
+
private boolean jj_3R_103()
{
Token xsp;
@@ -7198,9 +7258,34 @@
return false;
}
- private boolean jj_3R_176()
+ private boolean jj_3R_187()
{
- if (jj_scan_token(STRING_LITERAL_LONG2)) return true;
+ if (jj_scan_token(INTEGER_NEGATIVE)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_109()
+ {
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_scan_token(174)) {
+ jj_scanpos = xsp;
+ if (jj_3R_135()) return true;
+ }
+ return false;
+ }
+
+ private boolean jj_3R_180()
+ {
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_187()) {
+ jj_scanpos = xsp;
+ if (jj_3R_188()) {
+ jj_scanpos = xsp;
+ if (jj_3R_189()) return true;
+ }
+ }
return false;
}
@@ -7214,96 +7299,27 @@
return false;
}
- private boolean jj_3R_175()
- {
- if (jj_scan_token(STRING_LITERAL_LONG1)) return true;
- return false;
- }
-
- private boolean jj_3R_174()
- {
- if (jj_scan_token(STRING_LITERAL2)) return true;
- return false;
- }
-
- private boolean jj_3R_173()
- {
- if (jj_scan_token(STRING_LITERAL1)) return true;
- return false;
- }
-
- private boolean jj_3R_165()
- {
- Token xsp;
- xsp = jj_scanpos;
- if (jj_3R_173()) {
- jj_scanpos = xsp;
- if (jj_3R_174()) {
- jj_scanpos = xsp;
- if (jj_3R_175()) {
- jj_scanpos = xsp;
- if (jj_3R_176()) return true;
- }
- }
- }
- return false;
- }
-
- private boolean jj_3R_135()
- {
- if (jj_scan_token(LPAREN)) return true;
- return false;
- }
-
- private boolean jj_3R_170()
- {
- if (jj_scan_token(FALSE)) return true;
- return false;
- }
-
- private boolean jj_3R_161()
- {
- Token xsp;
- xsp = jj_scanpos;
- if (jj_3R_169()) {
- jj_scanpos = xsp;
- if (jj_3R_170()) return true;
- }
- return false;
- }
-
- private boolean jj_3R_169()
- {
- if (jj_scan_token(TRUE)) return true;
- return false;
- }
-
- private boolean jj_3R_109()
- {
- Token xsp;
- xsp = jj_scanpos;
- if (jj_scan_token(173)) {
- jj_scanpos = xsp;
- if (jj_3R_135()) return true;
- }
- return false;
- }
-
- private boolean jj_3R_188()
- {
- if (jj_scan_token(DOUBLE_NEGATIVE)) return true;
- return false;
- }
-
- private boolean jj_3R_187()
- {
- if (jj_scan_token(DECIMAL_NEGATIVE)) return true;
- return false;
- }
-
private boolean jj_3R_186()
{
- if (jj_scan_token(INTEGER_NEGATIVE)) return true;
+ if (jj_scan_token(DOUBLE_POSITIVE)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_185()
+ {
+ if (jj_scan_token(DECIMAL_POSITIVE)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_184()
+ {
+ if (jj_scan_token(INTEGER_POSITIVE)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_158()
+ {
+ if (jj_scan_token(NIL)) return true;
return false;
}
@@ -7311,51 +7327,19 @@
{
Token xsp;
xsp = jj_scanpos;
- if (jj_3R_186()) {
+ if (jj_3R_184()) {
jj_scanpos = xsp;
- if (jj_3R_187()) {
+ if (jj_3R_185()) {
jj_scanpos = xsp;
- if (jj_3R_188()) return true;
+ if (jj_3R_186()) return true;
}
}
return false;
}
- private boolean jj_3R_185()
- {
- if (jj_scan_token(DOUBLE_POSITIVE)) return true;
- return false;
- }
-
- private boolean jj_3R_184()
- {
- if (jj_scan_token(DECIMAL_POSITIVE)) return true;
- return false;
- }
-
- private boolean jj_3R_183()
- {
- if (jj_scan_token(INTEGER_POSITIVE)) return true;
- return false;
- }
-
private boolean jj_3R_157()
{
- if (jj_scan_token(NIL)) return true;
- return false;
- }
-
- private boolean jj_3R_178()
- {
- Token xsp;
- xsp = jj_scanpos;
- if (jj_3R_183()) {
- jj_scanpos = xsp;
- if (jj_3R_184()) {
- jj_scanpos = xsp;
- if (jj_3R_185()) return true;
- }
- }
+ if (jj_3R_163()) return true;
return false;
}
@@ -7371,6 +7355,12 @@
return false;
}
+ private boolean jj_3R_183()
+ {
+ if (jj_scan_token(DOUBLE)) return true;
+ return false;
+ }
+
private boolean jj_3R_154()
{
if (jj_3R_160()) return true;
@@ -7379,28 +7369,14 @@
private boolean jj_3R_182()
{
- if (jj_scan_token(DOUBLE)) return true;
- return false;
- }
-
- private boolean jj_3R_153()
- {
- if (jj_3R_159()) return true;
- return false;
- }
-
- private boolean jj_3R_181()
- {
if (jj_scan_token(DECIMAL)) return true;
return false;
}
- private boolean jj_3R_147()
+ private boolean jj_3R_148()
{
Token xsp;
xsp = jj_scanpos;
- if (jj_3R_152()) {
- jj_scanpos = xsp;
if (jj_3R_153()) {
jj_scanpos = xsp;
if (jj_3R_154()) {
@@ -7409,7 +7385,9 @@
jj_scanpos = xsp;
if (jj_3R_156()) {
jj_scanpos = xsp;
- if (jj_3R_157()) return true;
+ if (jj_3R_157()) {
+ jj_scanpos = xsp;
+ if (jj_3R_158()) return true;
}
}
}
@@ -7418,33 +7396,33 @@
return false;
}
- private boolean jj_3R_152()
+ private boolean jj_3R_153()
{
if (jj_3R_144()) return true;
return false;
}
- private boolean jj_3R_177()
- {
- Token xsp;
- xsp = jj_scanpos;
- if (jj_3R_180()) {
- jj_scanpos = xsp;
- if (jj_3R_181()) {
- jj_scanpos = xsp;
- if (jj_3R_182()) return true;
- }
- }
- return false;
- }
-
- private boolean jj_3R_180()
+ private boolean jj_3R_181()
{
if (jj_scan_token(INTEGER)) return true;
return false;
}
- private boolean jj_3R_146()
+ private boolean jj_3R_178()
+ {
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_181()) {
+ jj_scanpos = xsp;
+ if (jj_3R_182()) {
+ jj_scanpos = xsp;
+ if (jj_3R_183()) return true;
+ }
+ }
+ return false;
+ }
+
+ private boolean jj_3R_147()
{
Token xsp;
xsp = jj_scanpos;
@@ -7455,6 +7433,12 @@
return false;
}
+ private boolean jj_3R_169()
+ {
+ if (jj_3R_180()) return true;
+ return false;
+ }
+
private boolean jj_3R_168()
{
if (jj_3R_179()) return true;
@@ -7467,47 +7451,47 @@
return false;
}
- private boolean jj_3R_166()
+ private boolean jj_3R_161()
{
- if (jj_3R_177()) return true;
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_167()) {
+ jj_scanpos = xsp;
+ if (jj_3R_168()) {
+ jj_scanpos = xsp;
+ if (jj_3R_169()) return true;
+ }
+ }
return false;
}
private boolean jj_3R_160()
{
- Token xsp;
- xsp = jj_scanpos;
- if (jj_3R_166()) {
- jj_scanpos = xsp;
- if (jj_3R_167()) {
- jj_scanpos = xsp;
- if (jj_3R_168()) return true;
- }
- }
+ if (jj_3R_166()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_146()
+ {
+ if (jj_scan_token(LT2)) return true;
return false;
}
private boolean jj_3R_141()
{
- if (jj_3R_147()) return true;
+ if (jj_3R_148()) return true;
return false;
}
private boolean jj_3R_140()
{
- if (jj_3R_146()) return true;
- return false;
- }
-
- private boolean jj_3R_159()
- {
- if (jj_3R_165()) return true;
+ if (jj_3R_147()) return true;
return false;
}
private boolean jj_3R_139()
{
- if (jj_scan_token(LT2)) return true;
+ if (jj_3R_146()) return true;
return false;
}
@@ -7525,6 +7509,48 @@
return false;
}
+ private boolean jj_3R_134()
+ {
+ if (jj_scan_token(AGG)) return true;
+ if (jj_3R_144()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_133()
+ {
+ if (jj_scan_token(VAR_POP)) return true;
+ if (jj_scan_token(LPAREN)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_132()
+ {
+ if (jj_scan_token(VAR_SAMP)) return true;
+ if (jj_scan_token(LPAREN)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_131()
+ {
+ if (jj_scan_token(VARIANCE)) return true;
+ if (jj_scan_token(LPAREN)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_130()
+ {
+ if (jj_scan_token(STDEV_POP)) return true;
+ if (jj_scan_token(LPAREN)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_129()
+ {
+ if (jj_scan_token(STDEV_SAMP)) return true;
+ if (jj_scan_token(LPAREN)) return true;
+ return false;
+ }
+
/** Generated Token Manager. */
public ARQParserTokenManager token_source;
JavaCharStream jj_input_stream;
@@ -7554,25 +7580,25 @@
jj_la1_init_6();
}
private static void jj_la1_init_0() {
- jj_la1_0 = new int[] {0x1e400000,0x200,0x300000,0x300000,0x0,0x1800000,0x1800000,0x1c00,0x0,0xdc00,0xdc00,0xdc00,0x0,0x0,0x0,0xdc00,0xdc00,0x0,0x0,0x0,0x0,0x0,0xc000,0x1c00,0x0,0x0,0x0,0x80000000,0x60000000,0xdc00,0x0,0xdc00,0x1c00,0xdc00,0x0,0xdc00,0xdc00,0x40000000,0x20000000,0x60000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1c00,0x0,0x1c00,0x0,0xfc00,0x0,0x0,0xfc00,0xfc00,0xfc00,0x0,0x0,0xfc00,0x0,0xfc00,0x0,0x400000,0xfc00,0x0,0x0,0xfc00,0xfc00,0x0,0x0,0x0,0xc000,0x3c00,0xc000,0x0,0x0,0x3c00,0x0,0x3c00,0x0,0x1c00,0x800000,0x0,0x0,0x0,0x0,0x0,0xfc00,0x8dc00,0x0,0x8dc00,0x8dc00,0x0,0xfc00,0x88dc00,0x88dc00,0x0,0x88dc00,0x88dc00,0x0,0x0,0x0,0x0,0x0,0x881c00,0x0,0x0,0x0,0x0,0x881c00,0x0,0x81c00,0x81c00,0x81c00,0x81c00,0x0,0x0,0xfc00,0xfc00,0xfc00,0xfc00,0xfc00,0xdc00,0xfc00,0xc000,0x3c00,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xdc00,0xdc00,0x0,0x0,0x0,0x0,0x0,0x0,0x800000,0xdc00,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x0,0x0,0x0,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x0,0x0,0x10000,0x10000,0x0,0x0,0x0,0x0,0x0,0x0,0x1c00,0x1800,0x2000,};
+ jj_la1_0 = new int[] {0x1e400000,0x200,0x300000,0x300000,0x0,0x1800000,0x1800000,0x1c00,0x0,0xdc00,0xdc00,0xdc00,0x0,0x0,0x0,0xdc00,0xdc00,0x0,0x0,0x0,0x0,0x0,0xc000,0x1c00,0x0,0x0,0x0,0x80000000,0x60000000,0xdc00,0x0,0xdc00,0x1c00,0xdc00,0x0,0xdc00,0xdc00,0x40000000,0x20000000,0x60000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1c00,0x0,0x1c00,0x0,0xfc00,0x0,0x0,0xfc00,0xfc00,0xfc00,0x0,0x0,0xfc00,0x0,0xfc00,0x0,0x400000,0xfc00,0x0,0x0,0xfc00,0xfc00,0x0,0x0,0x0,0xc000,0x1c00,0xc000,0x0,0x0,0x1c00,0x0,0x1c00,0x0,0x1c00,0x800000,0x0,0x0,0x0,0x0,0x0,0xfc00,0x8dc00,0x0,0x8dc00,0x8dc00,0x0,0xfc00,0x88dc00,0x88dc00,0x0,0x88dc00,0x88dc00,0x0,0x0,0x0,0x0,0x0,0x881c00,0x0,0x0,0x0,0x0,0x881c00,0x0,0x81c00,0x81c00,0x81c00,0x81c00,0x0,0x0,0xfc00,0xfc00,0xfc00,0xfc00,0xfc00,0xdc00,0xfc00,0xc000,0x3c00,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xdc00,0xdc00,0x0,0x0,0x0,0x0,0x0,0x0,0x800000,0xdc00,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x0,0x0,0x0,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x0,0x0,0x10000,0x10000,0x0,0x0,0x0,0x0,0x0,0x0,0x1c00,0x1800,0x2000,};
}
private static void jj_la1_init_1() {
- jj_la1_1 = new int[] {0x0,0x0,0x0,0x0,0x40,0x0,0x0,0x0,0x40000,0xffc30000,0xffc30000,0xffc30000,0x40,0x40,0xc0,0x0,0x0,0x40,0x80,0x40,0x40,0x0,0x0,0x20,0x80,0x80000,0x100000,0x0,0x0,0xffc30000,0x40000,0xffc30000,0xffc30000,0xffc30018,0x18,0xffc30000,0xffc30018,0x0,0x0,0x0,0x2,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x20,0x200,0x200,0x220,0x0,0x200,0x0,0x0,0x0,0x0,0x200,0x0,0x0,0x200,0x0,0x0,0x0,0x0,0x3f602,0x0,0x0,0x0,0x0,0x3f602,0x0,0x0,0x4,0x0,0x0,0x0,0x4,0x0,0x4,0x800,0xffc30000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x20000,0x20000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xffc30000,0xffc30000,0x0,0x0,0xffc30000,0x0,0x0,0x0,0x0,0xffc30000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xffc00000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,};
+ jj_la1_1 = new int[] {0x0,0x0,0x0,0x0,0x40,0x0,0x0,0x0,0x80000,0xff860000,0xff860000,0xff860000,0x40,0x40,0xc0,0x0,0x0,0x40,0x80,0x40,0x40,0x0,0x0,0x20,0x80,0x100000,0x200000,0x0,0x0,0xff860000,0x80000,0xff860000,0xff860000,0xff860018,0x18,0xff860000,0xff860018,0x0,0x0,0x0,0x2,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x20,0x200,0x200,0x220,0x0,0x200,0x0,0x0,0x0,0x0,0x200,0x0,0x0,0x200,0x0,0x0,0x0,0x0,0x7f602,0x0,0x0,0x0,0x0,0x7f602,0x0,0x0,0x4,0x0,0x0,0x0,0x4,0x0,0x4,0x800,0xff860000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x40000,0x40000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff860000,0xff860000,0x0,0x0,0xff860000,0x0,0x0,0x0,0x0,0xff860000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff800000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,};
}
private static void jj_la1_init_2() {
- jj_la1_2 = new int[] {0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xfffcbdbf,0xfffcbdbf,0xfffcbdbf,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xfffcbdbf,0x0,0xfffcbdbf,0xfffcbdbf,0xfffcbdbf,0x0,0xfffcbdbf,0xfffcbdbf,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x40,0x0,0x0,0x0,0x0,0x40,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xfffcbdbf,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x30000,0x30000,0x0,0x30000,0x30000,0x0,0x0,0x0,0x0,0x0,0x30000,0x0,0x0,0x0,0x0,0x30000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x200,0x200,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xfffcbdbf,0xfffcbdbf,0x0,0x0,0xfffcbdbf,0x0,0x0,0x0,0x0,0xfffcbdbf,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,};
+ jj_la1_2 = new int[] {0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xfff97b7f,0xfff97b7f,0xfff97b7f,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xfff97b7f,0x0,0xfff97b7f,0xfff97b7f,0xfff97b7f,0x0,0xfff97b7f,0xfff97b7f,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x80,0x0,0x0,0x0,0x0,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xfff97b7f,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x60000,0x60000,0x0,0x60000,0x60000,0x0,0x0,0x0,0x0,0x0,0x60000,0x0,0x0,0x0,0x0,0x60000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x400,0x400,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xfff97b7f,0xfff97b7f,0x0,0x0,0xfff97b7f,0x0,0x0,0x0,0x0,0xfff97b7f,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,};
}
private static void jj_la1_init_3() {
- jj_la1_3 = new int[] {0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xbfffffff,0xbfffffff,0xbfffffff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xbfffffff,0x0,0xbfffffff,0xbfffffff,0xbfffffff,0x0,0xbfffffff,0xbfffffff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xbfffffff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xbfffffff,0xbfffffff,0x0,0x0,0xbfffffff,0x0,0x0,0x0,0x0,0xbfffffff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,};
+ jj_la1_3 = new int[] {0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7fffffff,0x7fffffff,0x7fffffff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7fffffff,0x0,0x7fffffff,0x7fffffff,0x7fffffff,0x0,0x7fffffff,0x7fffffff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7fffffff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7fffffff,0x7fffffff,0x0,0x0,0x7fffffff,0x0,0x0,0x0,0x0,0x7fffffff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,};
}
private static void jj_la1_init_4() {
- jj_la1_4 = new int[] {0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xfc00000c,0x0,0xfc00000f,0xfc00000f,0xfc00000f,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xfc00000c,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0x0,0x3,0x3,0x3,0x0,0x3,0x3,0x0,0x0,0x0,0x0,0x0,0x84ffe0,0x84ffe0,0x20000,0x80000,0x20000,0x20000,0x20000,0x20000,0x20000,0x20000,0x800000,0x20,0x60,0x1000000,0x0,0x0,0x200000,0x600000,0xfc00000c,0x0,0x0,0xfc00000c,0xfc00000c,0xfc00000c,0x0,0x0,0xfc00000c,0x0,0xfc00000c,0x0,0x0,0xfc00000c,0x0,0x0,0xfc00000c,0xfc00000c,0x0,0x0,0x20000,0x0,0xfc00000c,0x0,0x0,0x0,0xfc00000c,0x0,0xfc00000c,0x0,0x3,0x0,0x0,0x0,0x0,0x0,0x0,0xfc00000c,0x0,0x0,0x0,0x0,0x0,0xfc00000c,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x4000000,0x0,0x4000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xfc00000c,0xfc00000c,0xfc00000c,0xfc00000c,0xfc00000c,0x0,0x0,0x0,0xfc00000c,0x0,0x0,0x0,0x0,0xe0000000,0xe0000000,0x0,0x0,0xe0000000,0x0,0x0,0xfc00000f,0xfc00000f,0x0,0x0,0x3,0x0,0x0,0x0,0x0,0xfc00000f,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xfc000000,0x1c000000,0xe0000000,0x0,0xc,0x0,0x0,0x0,0x0,};
+ jj_la1_4 = new int[] {0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf8000018,0x0,0xf800001f,0xf800001f,0xf800001f,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf8000018,0x0,0x0,0x0,0x0,0x0,0x0,0x7,0x0,0x7,0x7,0x7,0x0,0x7,0x7,0x0,0x0,0x0,0x0,0x0,0x109ffc0,0x109ffc0,0x40000,0x100000,0x40000,0x40000,0x40000,0x40000,0x40000,0x40000,0x1000000,0x40,0xc0,0x2000000,0x0,0x0,0x400000,0xc00000,0xf8000018,0x0,0x0,0xf8000018,0xf8000018,0xf8000018,0x0,0x0,0xf8000018,0x0,0xf8000018,0x0,0x0,0xf8000018,0x0,0x0,0xf8000018,0xf8000018,0x0,0x0,0x40000,0x0,0xf8000018,0x0,0x0,0x0,0xf8000018,0x0,0xf8000018,0x0,0x7,0x0,0x0,0x0,0x0,0x0,0x0,0xf8000018,0x0,0x0,0x0,0x0,0x0,0xf8000018,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x8000000,0x0,0x8000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf8000018,0xf8000018,0xf8000018,0xf8000018,0xf8000018,0x0,0x0,0x0,0xf8000018,0x0,0x0,0x0,0x0,0xc0000000,0xc0000000,0x0,0x0,0xc0000000,0x0,0x0,0xf800001f,0xf800001f,0x0,0x0,0x7,0x0,0x0,0x0,0x0,0xf800001f,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf8000000,0x38000000,0xc0000000,0x0,0x18,0x0,0x0,0x0,0x0,};
}
private static void jj_la1_init_5() {
- jj_la1_5 = new int[] {0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x787,0x0,0xf87,0xf87,0xf87,0x0,0x0,0x4000,0x0,0x0,0x0,0x4000,0x0,0x0,0x100000,0x787,0x0,0x0,0x0,0x0,0x0,0x0,0x800,0x0,0x800,0x800,0x800,0x0,0x800,0x800,0x0,0x0,0x0,0x0,0x80000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x20052f87,0x0,0x200000,0x20052f87,0x20052f87,0x20052f87,0x4000,0x200000,0x20052f87,0x0,0x20052f87,0x200000,0x0,0x20052f87,0x4000,0x200000,0x20052f87,0x20052f87,0x200000,0x4000,0x0,0x2800,0x40787,0x0,0x2800,0x2800,0x40787,0x2800,0x40787,0x0,0x800,0x0,0x100000,0x2800,0x100000,0x2800,0x200000,0x20052f87,0x0,0x80000,0x0,0x0,0x100000,0x20052f87,0x40000800,0x40000800,0x80000,0x40000800,0x40000800,0x100000,0x0,0x0,0x0,0x4000,0x40000800,0x8000,0x108000,0x100000,0x4000,0x40000800,0x0,0x0,0x800,0x0,0x0,0x10800,0x10800,0x20052f87,0x20052f87,0x20052f87,0x20052f87,0x20042787,0x0,0x40000,0x0,0x42787,0x0,0x0,0xfc00000,0xfc00000,0x7,0x7,0x0,0x0,0x7,0x0,0x0,0x40000f87,0xf87,0x2800,0x100000,0x0,0x100000,0x100000,0x100000,0x0,0x40000f87,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x80000,0x80000,0x80000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x2800,0x0,0x0,0x7,0x0,0x0,0x7,0x0,0x780,0x0,0x0,0x40000,};
+ jj_la1_5 = new int[] {0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf0f,0x0,0x1f0f,0x1f0f,0x1f0f,0x0,0x0,0x8000,0x0,0x0,0x0,0x8000,0x0,0x0,0x200000,0xf0f,0x0,0x0,0x0,0x0,0x0,0x0,0x1000,0x0,0x1000,0x1000,0x1000,0x0,0x1000,0x1000,0x0,0x0,0x0,0x0,0x100000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x400a5f0f,0x0,0x400000,0x400a5f0f,0x400a5f0f,0x400a5f0f,0x8000,0x400000,0x400a5f0f,0x0,0x400a5f0f,0x400000,0x0,0x400a5f0f,0x8000,0x400000,0x400a5f0f,0x400a5f0f,0x400000,0x8000,0x0,0x5000,0x40000f0f,0x0,0x5000,0x5000,0x40000f0f,0x5000,0x40000f0f,0x0,0x1000,0x0,0x200000,0x5000,0x200000,0x5000,0x400000,0x400a5f0f,0x0,0x100000,0x0,0x0,0x200000,0x400a5f0f,0x80001000,0x80001000,0x100000,0x80001000,0x80001000,0x200000,0x0,0x0,0x0,0x8000,0x80001000,0x10000,0x210000,0x200000,0x8000,0x80001000,0x0,0x0,0x1000,0x0,0x0,0x21000,0x21000,0x400a5f0f,0x400a5f0f,0x400a5f0f,0x400a5f0f,0x40084f0f,0x0,0x80000,0x0,0x84f0f,0x0,0x0,0x1f800000,0x1f800000,0xf,0xf,0x0,0x0,0xf,0x0,0x0,0x80001f0f,0x1f0f,0x5000,0x200000,0x0,0x200000,0x200000,0x200000,0x0,0x80001f0f,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x100000,0x100000,0x100000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x5000,0x0,0x0,0xf,0x0,0x1,0xe,0x0,0xf00,0x0,0x0,0x80000,};
}
private static void jj_la1_init_6() {
- jj_la1_6 = new int[] {0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x20,0x0,0x0,0x0,0x0,0x20,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x800,0x800,0x0,0x800,0x800,0x0,0x400,0x840,0x840,0x4028,0x800,0x0,0x0,0x28,0x4028,0x0,0x400,0x800,0x800,0x0,0x800,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x2,0x4,0x0,0x0,0x18,0x0,0x60,0x60,0x18,0x60,0x60,0x18,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x38,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x80,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,};
+ jj_la1_6 = new int[] {0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x40,0x0,0x0,0x0,0x0,0x40,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1000,0x1000,0x0,0x1000,0x1000,0x0,0x800,0x1080,0x1080,0x8050,0x1000,0x0,0x0,0x50,0x8050,0x0,0x800,0x1000,0x1000,0x0,0x1000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x4,0x8,0x0,0x0,0x30,0x0,0xc0,0xc0,0x30,0xc0,0xc0,0x30,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x70,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x100,0x100,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,};
}
final private JJCalls[] jj_2_rtns = new JJCalls[5];
private boolean jj_rescan = false;
@@ -7759,7 +7785,7 @@
/** Generate ParseException. */
public ParseException generateParseException() {
jj_expentries.clear();
- boolean[] la1tokens = new boolean[218];
+ boolean[] la1tokens = new boolean[219];
if (jj_kind >= 0) {
la1tokens[jj_kind] = true;
jj_kind = -1;
@@ -7791,7 +7817,7 @@
}
}
}
- for (int i = 0; i < 218; i++) {
+ for (int i = 0; i < 219; i++) {
if (la1tokens[i]) {
jj_expentry = new int[1];
jj_expentry[0] = i;
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/lang/arq/ARQParserConstants.java b/jena-arq/src/main/java/org/apache/jena/sparql/lang/arq/ARQParserConstants.java
index 35f2688..f031b72 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/lang/arq/ARQParserConstants.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/lang/arq/ARQParserConstants.java
@@ -95,345 +95,347 @@
/** RegularExpression Id. */
int LET = 47;
/** RegularExpression Id. */
- int EXISTS = 48;
+ int FIND = 48;
/** RegularExpression Id. */
- int NOT = 49;
+ int EXISTS = 49;
/** RegularExpression Id. */
- int AS = 50;
+ int NOT = 50;
/** RegularExpression Id. */
- int GROUP = 51;
+ int AS = 51;
/** RegularExpression Id. */
- int HAVING = 52;
+ int GROUP = 52;
/** RegularExpression Id. */
- int SEPARATOR = 53;
+ int HAVING = 53;
/** RegularExpression Id. */
- int AGG = 54;
+ int SEPARATOR = 54;
/** RegularExpression Id. */
- int COUNT = 55;
+ int AGG = 55;
/** RegularExpression Id. */
- int MIN = 56;
+ int COUNT = 56;
/** RegularExpression Id. */
- int MAX = 57;
+ int MIN = 57;
/** RegularExpression Id. */
- int SUM = 58;
+ int MAX = 58;
/** RegularExpression Id. */
- int AVG = 59;
+ int SUM = 59;
/** RegularExpression Id. */
- int MEDIAN = 60;
+ int AVG = 60;
/** RegularExpression Id. */
- int MODE = 61;
+ int MEDIAN = 61;
/** RegularExpression Id. */
- int STDEV = 62;
+ int MODE = 62;
/** RegularExpression Id. */
- int STDEV_SAMP = 63;
+ int STDEV = 63;
/** RegularExpression Id. */
- int STDEV_POP = 64;
+ int STDEV_SAMP = 64;
/** RegularExpression Id. */
- int VARIANCE = 65;
+ int STDEV_POP = 65;
/** RegularExpression Id. */
- int VAR_SAMP = 66;
+ int VARIANCE = 66;
/** RegularExpression Id. */
- int VAR_POP = 67;
+ int VAR_SAMP = 67;
/** RegularExpression Id. */
- int SAMPLE = 68;
+ int VAR_POP = 68;
/** RegularExpression Id. */
- int GROUP_CONCAT = 69;
+ int SAMPLE = 69;
/** RegularExpression Id. */
- int FILTER = 70;
+ int GROUP_CONCAT = 70;
/** RegularExpression Id. */
- int BOUND = 71;
+ int FILTER = 71;
/** RegularExpression Id. */
- int COALESCE = 72;
+ int BOUND = 72;
/** RegularExpression Id. */
- int IN = 73;
+ int COALESCE = 73;
/** RegularExpression Id. */
- int IF = 74;
+ int IN = 74;
/** RegularExpression Id. */
- int BNODE = 75;
+ int IF = 75;
/** RegularExpression Id. */
- int IRI = 76;
+ int BNODE = 76;
/** RegularExpression Id. */
- int URI = 77;
+ int IRI = 77;
/** RegularExpression Id. */
- int CAST = 78;
+ int URI = 78;
/** RegularExpression Id. */
- int CALL = 79;
+ int CAST = 79;
/** RegularExpression Id. */
- int MULTI = 80;
+ int CALL = 80;
/** RegularExpression Id. */
- int SHORTEST = 81;
+ int MULTI = 81;
/** RegularExpression Id. */
- int STR = 82;
+ int SHORTEST = 82;
/** RegularExpression Id. */
- int STRLANG = 83;
+ int STR = 83;
/** RegularExpression Id. */
- int STRDT = 84;
+ int STRLANG = 84;
/** RegularExpression Id. */
- int DTYPE = 85;
+ int STRDT = 85;
/** RegularExpression Id. */
- int LANG = 86;
+ int DTYPE = 86;
/** RegularExpression Id. */
- int LANGMATCHES = 87;
+ int LANG = 87;
/** RegularExpression Id. */
- int IS_URI = 88;
+ int LANGMATCHES = 88;
/** RegularExpression Id. */
- int IS_IRI = 89;
+ int IS_URI = 89;
/** RegularExpression Id. */
- int IS_BLANK = 90;
+ int IS_IRI = 90;
/** RegularExpression Id. */
- int IS_LITERAL = 91;
+ int IS_BLANK = 91;
/** RegularExpression Id. */
- int IS_NUMERIC = 92;
+ int IS_LITERAL = 92;
/** RegularExpression Id. */
- int REGEX = 93;
+ int IS_NUMERIC = 93;
/** RegularExpression Id. */
- int SAME_TERM = 94;
+ int REGEX = 94;
/** RegularExpression Id. */
- int RAND = 95;
+ int SAME_TERM = 95;
/** RegularExpression Id. */
- int ABS = 96;
+ int RAND = 96;
/** RegularExpression Id. */
- int CEIL = 97;
+ int ABS = 97;
/** RegularExpression Id. */
- int FLOOR = 98;
+ int CEIL = 98;
/** RegularExpression Id. */
- int ROUND = 99;
+ int FLOOR = 99;
/** RegularExpression Id. */
- int CONCAT = 100;
+ int ROUND = 100;
/** RegularExpression Id. */
- int SUBSTR = 101;
+ int CONCAT = 101;
/** RegularExpression Id. */
- int STRLEN = 102;
+ int SUBSTR = 102;
/** RegularExpression Id. */
- int REPLACE = 103;
+ int STRLEN = 103;
/** RegularExpression Id. */
- int UCASE = 104;
+ int REPLACE = 104;
/** RegularExpression Id. */
- int LCASE = 105;
+ int UCASE = 105;
/** RegularExpression Id. */
- int ENCODE_FOR_URI = 106;
+ int LCASE = 106;
/** RegularExpression Id. */
- int CONTAINS = 107;
+ int ENCODE_FOR_URI = 107;
/** RegularExpression Id. */
- int STRSTARTS = 108;
+ int CONTAINS = 108;
/** RegularExpression Id. */
- int STRENDS = 109;
+ int STRSTARTS = 109;
/** RegularExpression Id. */
- int STRBEFORE = 110;
+ int STRENDS = 110;
/** RegularExpression Id. */
- int STRAFTER = 111;
+ int STRBEFORE = 111;
/** RegularExpression Id. */
- int YEAR = 112;
+ int STRAFTER = 112;
/** RegularExpression Id. */
- int MONTH = 113;
+ int YEAR = 113;
/** RegularExpression Id. */
- int DAY = 114;
+ int MONTH = 114;
/** RegularExpression Id. */
- int HOURS = 115;
+ int DAY = 115;
/** RegularExpression Id. */
- int MINUTES = 116;
+ int HOURS = 116;
/** RegularExpression Id. */
- int SECONDS = 117;
+ int MINUTES = 117;
/** RegularExpression Id. */
- int TIMEZONE = 118;
+ int SECONDS = 118;
/** RegularExpression Id. */
- int TZ = 119;
+ int TIMEZONE = 119;
/** RegularExpression Id. */
- int NOW = 120;
+ int TZ = 120;
/** RegularExpression Id. */
- int UUID = 121;
+ int NOW = 121;
/** RegularExpression Id. */
- int STRUUID = 122;
+ int UUID = 122;
/** RegularExpression Id. */
- int VERSION = 123;
+ int STRUUID = 123;
/** RegularExpression Id. */
- int MD5 = 124;
+ int VERSION = 124;
/** RegularExpression Id. */
- int SHA1 = 125;
+ int MD5 = 125;
/** RegularExpression Id. */
- int SHA224 = 126;
+ int SHA1 = 126;
/** RegularExpression Id. */
- int SHA256 = 127;
+ int SHA224 = 127;
/** RegularExpression Id. */
- int SHA384 = 128;
+ int SHA256 = 128;
/** RegularExpression Id. */
- int SHA512 = 129;
+ int SHA384 = 129;
/** RegularExpression Id. */
- int TRUE = 130;
+ int SHA512 = 130;
/** RegularExpression Id. */
- int FALSE = 131;
+ int TRUE = 131;
/** RegularExpression Id. */
- int DATA = 132;
+ int FALSE = 132;
+ /** RegularExpression Id. */
+ int DATA = 133;
/** RegularExpression Id. */
- int INSERT = 133;
+ int INSERT = 134;
/** RegularExpression Id. */
- int DELETE = 134;
+ int DELETE = 135;
/** RegularExpression Id. */
- int INSERT_DATA = 135;
+ int INSERT_DATA = 136;
/** RegularExpression Id. */
- int DELETE_DATA = 136;
+ int DELETE_DATA = 137;
/** RegularExpression Id. */
- int DELETE_WHERE = 137;
+ int DELETE_WHERE = 138;
/** RegularExpression Id. */
- int LOAD = 138;
+ int LOAD = 139;
/** RegularExpression Id. */
- int CLEAR = 139;
+ int CLEAR = 140;
/** RegularExpression Id. */
- int CREATE = 140;
+ int CREATE = 141;
/** RegularExpression Id. */
- int ADD = 141;
+ int ADD = 142;
/** RegularExpression Id. */
- int MOVE = 142;
+ int MOVE = 143;
/** RegularExpression Id. */
- int COPY = 143;
+ int COPY = 144;
/** RegularExpression Id. */
- int META = 144;
+ int META = 145;
/** RegularExpression Id. */
- int SILENT = 145;
+ int SILENT = 146;
/** RegularExpression Id. */
- int DROP = 146;
+ int DROP = 147;
/** RegularExpression Id. */
- int INTO = 147;
+ int INTO = 148;
/** RegularExpression Id. */
- int TO = 148;
+ int TO = 149;
/** RegularExpression Id. */
- int DFT = 149;
+ int DFT = 150;
/** RegularExpression Id. */
- int ALL = 150;
+ int ALL = 151;
/** RegularExpression Id. */
- int WITH = 151;
+ int WITH = 152;
/** RegularExpression Id. */
- int USING = 152;
+ int USING = 153;
/** RegularExpression Id. */
- int DIGITS = 153;
+ int DIGITS = 154;
/** RegularExpression Id. */
- int INTEGER = 154;
+ int INTEGER = 155;
/** RegularExpression Id. */
- int DECIMAL = 155;
+ int DECIMAL = 156;
/** RegularExpression Id. */
- int DOUBLE = 156;
+ int DOUBLE = 157;
/** RegularExpression Id. */
- int INTEGER_POSITIVE = 157;
+ int INTEGER_POSITIVE = 158;
/** RegularExpression Id. */
- int DECIMAL_POSITIVE = 158;
+ int DECIMAL_POSITIVE = 159;
/** RegularExpression Id. */
- int DOUBLE_POSITIVE = 159;
+ int DOUBLE_POSITIVE = 160;
/** RegularExpression Id. */
- int INTEGER_NEGATIVE = 160;
+ int INTEGER_NEGATIVE = 161;
/** RegularExpression Id. */
- int DECIMAL_NEGATIVE = 161;
+ int DECIMAL_NEGATIVE = 162;
/** RegularExpression Id. */
- int DOUBLE_NEGATIVE = 162;
+ int DOUBLE_NEGATIVE = 163;
/** RegularExpression Id. */
- int EXPONENT = 163;
+ int EXPONENT = 164;
/** RegularExpression Id. */
- int QUOTE_3D = 164;
+ int QUOTE_3D = 165;
/** RegularExpression Id. */
- int QUOTE_3S = 165;
+ int QUOTE_3S = 166;
/** RegularExpression Id. */
- int ECHAR = 166;
+ int ECHAR = 167;
/** RegularExpression Id. */
- int STRING_LITERAL1 = 167;
+ int STRING_LITERAL1 = 168;
/** RegularExpression Id. */
- int STRING_LITERAL2 = 168;
+ int STRING_LITERAL2 = 169;
/** RegularExpression Id. */
- int STRING_LITERAL_LONG1 = 169;
+ int STRING_LITERAL_LONG1 = 170;
/** RegularExpression Id. */
- int STRING_LITERAL_LONG2 = 170;
+ int STRING_LITERAL_LONG2 = 171;
/** RegularExpression Id. */
- int LPAREN = 171;
+ int LPAREN = 172;
/** RegularExpression Id. */
- int RPAREN = 172;
+ int RPAREN = 173;
/** RegularExpression Id. */
- int NIL = 173;
+ int NIL = 174;
/** RegularExpression Id. */
- int LBRACE = 174;
+ int LBRACE = 175;
/** RegularExpression Id. */
- int RBRACE = 175;
+ int RBRACE = 176;
/** RegularExpression Id. */
- int LBRACKET = 176;
+ int LBRACKET = 177;
/** RegularExpression Id. */
- int RBRACKET = 177;
+ int RBRACKET = 178;
/** RegularExpression Id. */
- int ANON = 178;
+ int ANON = 179;
/** RegularExpression Id. */
- int SEMICOLON = 179;
+ int SEMICOLON = 180;
/** RegularExpression Id. */
- int COMMA = 180;
+ int COMMA = 181;
/** RegularExpression Id. */
- int DOT = 181;
+ int DOT = 182;
/** RegularExpression Id. */
- int EQ = 182;
+ int EQ = 183;
/** RegularExpression Id. */
- int NE = 183;
+ int NE = 184;
/** RegularExpression Id. */
- int GT = 184;
+ int GT = 185;
/** RegularExpression Id. */
- int LT = 185;
+ int LT = 186;
/** RegularExpression Id. */
- int LE = 186;
+ int LE = 187;
/** RegularExpression Id. */
- int GE = 187;
+ int GE = 188;
/** RegularExpression Id. */
- int GT2 = 188;
+ int GT2 = 189;
/** RegularExpression Id. */
- int LT2 = 189;
+ int LT2 = 190;
/** RegularExpression Id. */
- int BANG = 190;
+ int BANG = 191;
/** RegularExpression Id. */
- int TILDE = 191;
+ int TILDE = 192;
/** RegularExpression Id. */
- int COLON = 192;
+ int COLON = 193;
/** RegularExpression Id. */
- int SC_OR = 193;
+ int SC_OR = 194;
/** RegularExpression Id. */
- int SC_AND = 194;
+ int SC_AND = 195;
/** RegularExpression Id. */
- int PLUS = 195;
+ int PLUS = 196;
/** RegularExpression Id. */
- int MINUS = 196;
+ int MINUS = 197;
/** RegularExpression Id. */
- int STAR = 197;
+ int STAR = 198;
/** RegularExpression Id. */
- int SLASH = 198;
+ int SLASH = 199;
/** RegularExpression Id. */
- int DATATYPE = 199;
+ int DATATYPE = 200;
/** RegularExpression Id. */
- int AT = 200;
+ int AT = 201;
/** RegularExpression Id. */
- int ASSIGN = 201;
+ int ASSIGN = 202;
/** RegularExpression Id. */
- int VBAR = 202;
+ int VBAR = 203;
/** RegularExpression Id. */
- int CARAT = 203;
+ int CARAT = 204;
/** RegularExpression Id. */
- int FPATH = 204;
+ int FPATH = 205;
/** RegularExpression Id. */
- int RPATH = 205;
+ int RPATH = 206;
/** RegularExpression Id. */
- int QMARK = 206;
+ int QMARK = 207;
/** RegularExpression Id. */
- int PN_CHARS_BASE = 207;
+ int PN_CHARS_BASE = 208;
/** RegularExpression Id. */
- int PN_CHARS_U = 208;
+ int PN_CHARS_U = 209;
/** RegularExpression Id. */
- int PN_CHARS = 209;
+ int PN_CHARS = 210;
/** RegularExpression Id. */
- int PN_PREFIX = 210;
+ int PN_PREFIX = 211;
/** RegularExpression Id. */
- int PN_LOCAL = 211;
+ int PN_LOCAL = 212;
/** RegularExpression Id. */
- int VARNAME = 212;
+ int VARNAME = 213;
/** RegularExpression Id. */
- int PN_LOCAL_ESC = 213;
+ int PN_LOCAL_ESC = 214;
/** RegularExpression Id. */
- int PLX = 214;
+ int PLX = 215;
/** RegularExpression Id. */
- int HEX = 215;
+ int HEX = 216;
/** RegularExpression Id. */
- int PERCENT = 216;
+ int PERCENT = 217;
/** RegularExpression Id. */
- int UNKNOWN = 217;
+ int UNKNOWN = 218;
/** Lexical state. */
int DEFAULT = 0;
@@ -488,6 +490,7 @@
"\"bind\"",
"\"service\"",
"\"let\"",
+ "\"find\"",
"\"exists\"",
"\"not\"",
"\"as\"",
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/lang/arq/ARQParserTokenManager.java b/jena-arq/src/main/java/org/apache/jena/sparql/lang/arq/ARQParserTokenManager.java
index 17c29ab..a9fd774 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/lang/arq/ARQParserTokenManager.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/lang/arq/ARQParserTokenManager.java
@@ -45,164 +45,164 @@
jjmatchedKind = 1;
return jjMoveNfa_0(0, 0);
case 33:
- jjmatchedKind = 190;
- return jjMoveStringLiteralDfa1_0(0x0L, 0x0L, 0x80000000000000L, 0x0L);
+ jjmatchedKind = 191;
+ return jjMoveStringLiteralDfa1_0(0x0L, 0x0L, 0x100000000000000L, 0x0L);
case 38:
- return jjMoveStringLiteralDfa1_0(0x0L, 0x0L, 0x0L, 0x4L);
+ return jjMoveStringLiteralDfa1_0(0x0L, 0x0L, 0x0L, 0x8L);
case 40:
- jjmatchedKind = 171;
- return jjMoveNfa_0(0, 0);
- case 41:
jjmatchedKind = 172;
return jjMoveNfa_0(0, 0);
+ case 41:
+ jjmatchedKind = 173;
+ return jjMoveNfa_0(0, 0);
case 42:
- jjmatchedKind = 197;
- return jjMoveNfa_0(0, 0);
- case 43:
- jjmatchedKind = 195;
- return jjMoveNfa_0(0, 0);
- case 44:
- jjmatchedKind = 180;
- return jjMoveNfa_0(0, 0);
- case 45:
- jjmatchedKind = 196;
- return jjMoveStringLiteralDfa1_0(0x0L, 0x0L, 0x0L, 0x1000L);
- case 46:
- jjmatchedKind = 181;
- return jjMoveNfa_0(0, 0);
- case 47:
jjmatchedKind = 198;
return jjMoveNfa_0(0, 0);
- case 58:
- jjmatchedKind = 192;
- return jjMoveStringLiteralDfa1_0(0x0L, 0x0L, 0x0L, 0x200L);
- case 59:
- jjmatchedKind = 179;
+ case 43:
+ jjmatchedKind = 196;
return jjMoveNfa_0(0, 0);
- case 60:
- jjmatchedKind = 185;
- return jjMoveStringLiteralDfa1_0(0x0L, 0x0L, 0x2400000000000000L, 0x2000L);
- case 61:
+ case 44:
+ jjmatchedKind = 181;
+ return jjMoveNfa_0(0, 0);
+ case 45:
+ jjmatchedKind = 197;
+ return jjMoveStringLiteralDfa1_0(0x0L, 0x0L, 0x0L, 0x2000L);
+ case 46:
jjmatchedKind = 182;
return jjMoveNfa_0(0, 0);
+ case 47:
+ jjmatchedKind = 199;
+ return jjMoveNfa_0(0, 0);
+ case 58:
+ jjmatchedKind = 193;
+ return jjMoveStringLiteralDfa1_0(0x0L, 0x0L, 0x0L, 0x400L);
+ case 59:
+ jjmatchedKind = 180;
+ return jjMoveNfa_0(0, 0);
+ case 60:
+ jjmatchedKind = 186;
+ return jjMoveStringLiteralDfa1_0(0x0L, 0x0L, 0x4800000000000000L, 0x4000L);
+ case 61:
+ jjmatchedKind = 183;
+ return jjMoveNfa_0(0, 0);
case 62:
- jjmatchedKind = 184;
- return jjMoveStringLiteralDfa1_0(0x0L, 0x0L, 0x1800000000000000L, 0x0L);
+ jjmatchedKind = 185;
+ return jjMoveStringLiteralDfa1_0(0x0L, 0x0L, 0x3000000000000000L, 0x0L);
case 63:
- jjmatchedKind = 206;
+ jjmatchedKind = 207;
return jjMoveNfa_0(0, 0);
case 64:
- jjmatchedKind = 200;
+ jjmatchedKind = 201;
return jjMoveNfa_0(0, 0);
case 65:
- return jjMoveStringLiteralDfa1_0(0x844010810000000L, 0x100000000L, 0x402000L, 0x0L);
+ return jjMoveStringLiteralDfa1_0(0x1088010810000000L, 0x200000000L, 0x804000L, 0x0L);
case 66:
- return jjMoveStringLiteralDfa1_0(0x200100100000L, 0x880L, 0x0L, 0x0L);
+ return jjMoveStringLiteralDfa1_0(0x200100100000L, 0x1100L, 0x0L, 0x0L);
case 67:
- return jjMoveStringLiteralDfa1_0(0x80000008000000L, 0x8120000c100L, 0x9800L, 0x0L);
+ return jjMoveStringLiteralDfa1_0(0x100000008000000L, 0x102400018200L, 0x13000L, 0x0L);
case 68:
- return jjMoveStringLiteralDfa1_0(0x1004800000L, 0x4000000200000L, 0x240050L, 0x0L);
+ return jjMoveStringLiteralDfa1_0(0x1004800000L, 0x8000000400000L, 0x4800a0L, 0x0L);
case 69:
- return jjMoveStringLiteralDfa1_0(0x1000000000000L, 0x40000000000L, 0x0L, 0x0L);
+ return jjMoveStringLiteralDfa1_0(0x2000000000000L, 0x80000000000L, 0x0L, 0x0L);
case 70:
- return jjMoveStringLiteralDfa1_0(0x4000000000L, 0x400000040L, 0x8L, 0x0L);
+ return jjMoveStringLiteralDfa1_0(0x1004000000000L, 0x800000080L, 0x10L, 0x0L);
case 71:
- return jjMoveStringLiteralDfa1_0(0x8020000000000L, 0x20L, 0x0L, 0x0L);
+ return jjMoveStringLiteralDfa1_0(0x10020000000000L, 0x40L, 0x0L, 0x0L);
case 72:
- return jjMoveStringLiteralDfa1_0(0x10000000000000L, 0x8000000000000L, 0x0L, 0x0L);
+ return jjMoveStringLiteralDfa1_0(0x20000000000000L, 0x10000000000000L, 0x0L, 0x0L);
case 73:
- return jjMoveStringLiteralDfa1_0(0x0L, 0x1f001600L, 0x80020L, 0x0L);
+ return jjMoveStringLiteralDfa1_0(0x0L, 0x3e002c00L, 0x100040L, 0x0L);
case 74:
return jjMoveStringLiteralDfa1_0(0x2000000L, 0x0L, 0x0L, 0x0L);
case 76:
- return jjMoveStringLiteralDfa1_0(0x800020000000L, 0x20000c00000L, 0x400L, 0x0L);
+ return jjMoveStringLiteralDfa1_0(0x800020000000L, 0x40001800000L, 0x800L, 0x0L);
case 77:
- return jjMoveStringLiteralDfa1_0(0x3300100000000000L, 0x1012000000010000L, 0x14000L, 0x0L);
+ return jjMoveStringLiteralDfa1_0(0x6600100000000000L, 0x2024000000020000L, 0x28000L, 0x0L);
case 78:
- return jjMoveStringLiteralDfa1_0(0x2002000000000L, 0x100000000000000L, 0x0L, 0x0L);
+ return jjMoveStringLiteralDfa1_0(0x4002000000000L, 0x200000000000000L, 0x0L, 0x0L);
case 79:
return jjMoveStringLiteralDfa1_0(0x400c0000000L, 0x0L, 0x0L, 0x0L);
case 80:
return jjMoveStringLiteralDfa1_0(0x200000L, 0x0L, 0x0L, 0x0L);
case 82:
- return jjMoveStringLiteralDfa1_0(0x1000000L, 0x88a0000000L, 0x0L, 0x0L);
+ return jjMoveStringLiteralDfa1_0(0x1000000L, 0x11140000000L, 0x0L, 0x0L);
case 83:
- return jjMoveStringLiteralDfa1_0(0xc420400000400000L, 0xe420f060401e0011L, 0x20003L, 0x0L);
+ return jjMoveStringLiteralDfa1_0(0x8840400000400000L, 0xc841e0c0803c0023L, 0x40007L, 0x0L);
case 84:
- return jjMoveStringLiteralDfa1_0(0x0L, 0xc0000000000000L, 0x100004L, 0x0L);
+ return jjMoveStringLiteralDfa1_0(0x0L, 0x180000000000000L, 0x200008L, 0x0L);
case 85:
- return jjMoveStringLiteralDfa1_0(0x80400000000L, 0x200010000002000L, 0x1000000L, 0x0L);
+ return jjMoveStringLiteralDfa1_0(0x80400000000L, 0x400020000004000L, 0x2000000L, 0x0L);
case 86:
- return jjMoveStringLiteralDfa1_0(0x200000000L, 0x80000000000000eL, 0x0L, 0x0L);
+ return jjMoveStringLiteralDfa1_0(0x200000000L, 0x100000000000001cL, 0x0L, 0x0L);
case 87:
- return jjMoveStringLiteralDfa1_0(0x8000000000L, 0x0L, 0x800000L, 0x0L);
+ return jjMoveStringLiteralDfa1_0(0x8000000000L, 0x0L, 0x1000000L, 0x0L);
case 89:
- return jjMoveStringLiteralDfa1_0(0x0L, 0x1000000000000L, 0x0L, 0x0L);
+ return jjMoveStringLiteralDfa1_0(0x0L, 0x2000000000000L, 0x0L, 0x0L);
case 91:
- jjmatchedKind = 176;
- return jjMoveNfa_0(0, 0);
- case 93:
jjmatchedKind = 177;
return jjMoveNfa_0(0, 0);
+ case 93:
+ jjmatchedKind = 178;
+ return jjMoveNfa_0(0, 0);
case 94:
- jjmatchedKind = 203;
- return jjMoveStringLiteralDfa1_0(0x0L, 0x0L, 0x0L, 0x80L);
+ jjmatchedKind = 204;
+ return jjMoveStringLiteralDfa1_0(0x0L, 0x0L, 0x0L, 0x100L);
case 97:
jjmatchedKind = 19;
- return jjMoveStringLiteralDfa1_0(0x844010810000000L, 0x100000000L, 0x402000L, 0x0L);
+ return jjMoveStringLiteralDfa1_0(0x1088010810000000L, 0x200000000L, 0x804000L, 0x0L);
case 98:
- return jjMoveStringLiteralDfa1_0(0x200100100000L, 0x880L, 0x0L, 0x0L);
+ return jjMoveStringLiteralDfa1_0(0x200100100000L, 0x1100L, 0x0L, 0x0L);
case 99:
- return jjMoveStringLiteralDfa1_0(0x80000008000000L, 0x8120000c100L, 0x9800L, 0x0L);
+ return jjMoveStringLiteralDfa1_0(0x100000008000000L, 0x102400018200L, 0x13000L, 0x0L);
case 100:
- return jjMoveStringLiteralDfa1_0(0x1004800000L, 0x4000000200000L, 0x240050L, 0x0L);
+ return jjMoveStringLiteralDfa1_0(0x1004800000L, 0x8000000400000L, 0x4800a0L, 0x0L);
case 101:
- return jjMoveStringLiteralDfa1_0(0x1000000000000L, 0x40000000000L, 0x0L, 0x0L);
+ return jjMoveStringLiteralDfa1_0(0x2000000000000L, 0x80000000000L, 0x0L, 0x0L);
case 102:
- return jjMoveStringLiteralDfa1_0(0x4000000000L, 0x400000040L, 0x8L, 0x0L);
+ return jjMoveStringLiteralDfa1_0(0x1004000000000L, 0x800000080L, 0x10L, 0x0L);
case 103:
- return jjMoveStringLiteralDfa1_0(0x8020000000000L, 0x20L, 0x0L, 0x0L);
+ return jjMoveStringLiteralDfa1_0(0x10020000000000L, 0x40L, 0x0L, 0x0L);
case 104:
- return jjMoveStringLiteralDfa1_0(0x10000000000000L, 0x8000000000000L, 0x0L, 0x0L);
+ return jjMoveStringLiteralDfa1_0(0x20000000000000L, 0x10000000000000L, 0x0L, 0x0L);
case 105:
- return jjMoveStringLiteralDfa1_0(0x0L, 0x1f001600L, 0x80020L, 0x0L);
+ return jjMoveStringLiteralDfa1_0(0x0L, 0x3e002c00L, 0x100040L, 0x0L);
case 106:
return jjMoveStringLiteralDfa1_0(0x2000000L, 0x0L, 0x0L, 0x0L);
case 108:
- return jjMoveStringLiteralDfa1_0(0x800020000000L, 0x20000c00000L, 0x400L, 0x0L);
+ return jjMoveStringLiteralDfa1_0(0x800020000000L, 0x40001800000L, 0x800L, 0x0L);
case 109:
- return jjMoveStringLiteralDfa1_0(0x3300100000000000L, 0x1012000000010000L, 0x14000L, 0x0L);
+ return jjMoveStringLiteralDfa1_0(0x6600100000000000L, 0x2024000000020000L, 0x28000L, 0x0L);
case 110:
- return jjMoveStringLiteralDfa1_0(0x2002000000000L, 0x100000000000000L, 0x0L, 0x0L);
+ return jjMoveStringLiteralDfa1_0(0x4002000000000L, 0x200000000000000L, 0x0L, 0x0L);
case 111:
return jjMoveStringLiteralDfa1_0(0x400c0000000L, 0x0L, 0x0L, 0x0L);
case 112:
return jjMoveStringLiteralDfa1_0(0x200000L, 0x0L, 0x0L, 0x0L);
case 114:
- return jjMoveStringLiteralDfa1_0(0x1000000L, 0x88a0000000L, 0x0L, 0x0L);
+ return jjMoveStringLiteralDfa1_0(0x1000000L, 0x11140000000L, 0x0L, 0x0L);
case 115:
- return jjMoveStringLiteralDfa1_0(0xc420400000400000L, 0xe420f060401e0011L, 0x20003L, 0x0L);
+ return jjMoveStringLiteralDfa1_0(0x8840400000400000L, 0xc841e0c0803c0023L, 0x40007L, 0x0L);
case 116:
- return jjMoveStringLiteralDfa1_0(0x0L, 0xc0000000000000L, 0x100004L, 0x0L);
+ return jjMoveStringLiteralDfa1_0(0x0L, 0x180000000000000L, 0x200008L, 0x0L);
case 117:
- return jjMoveStringLiteralDfa1_0(0x80400000000L, 0x200010000002000L, 0x1000000L, 0x0L);
+ return jjMoveStringLiteralDfa1_0(0x80400000000L, 0x400020000004000L, 0x2000000L, 0x0L);
case 118:
- return jjMoveStringLiteralDfa1_0(0x200000000L, 0x80000000000000eL, 0x0L, 0x0L);
+ return jjMoveStringLiteralDfa1_0(0x200000000L, 0x100000000000001cL, 0x0L, 0x0L);
case 119:
- return jjMoveStringLiteralDfa1_0(0x8000000000L, 0x0L, 0x800000L, 0x0L);
+ return jjMoveStringLiteralDfa1_0(0x8000000000L, 0x0L, 0x1000000L, 0x0L);
case 121:
- return jjMoveStringLiteralDfa1_0(0x0L, 0x1000000000000L, 0x0L, 0x0L);
+ return jjMoveStringLiteralDfa1_0(0x0L, 0x2000000000000L, 0x0L, 0x0L);
case 123:
- jjmatchedKind = 174;
- return jjMoveNfa_0(0, 0);
- case 124:
- jjmatchedKind = 202;
- return jjMoveStringLiteralDfa1_0(0x0L, 0x0L, 0x0L, 0x2L);
- case 125:
jjmatchedKind = 175;
return jjMoveNfa_0(0, 0);
+ case 124:
+ jjmatchedKind = 203;
+ return jjMoveStringLiteralDfa1_0(0x0L, 0x0L, 0x0L, 0x4L);
+ case 125:
+ jjmatchedKind = 176;
+ return jjMoveNfa_0(0, 0);
case 126:
- jjmatchedKind = 191;
+ jjmatchedKind = 192;
return jjMoveNfa_0(0, 0);
case 65279:
jjmatchedKind = 9;
@@ -219,35 +219,30 @@
switch(curChar)
{
case 38:
- if ((active3 & 0x4L) != 0L)
+ if ((active3 & 0x8L) != 0L)
{
- jjmatchedKind = 194;
+ jjmatchedKind = 195;
jjmatchedPos = 1;
}
break;
case 45:
- if ((active3 & 0x2000L) != 0L)
+ if ((active3 & 0x4000L) != 0L)
{
- jjmatchedKind = 205;
+ jjmatchedKind = 206;
jjmatchedPos = 1;
}
break;
case 60:
- if ((active2 & 0x2000000000000000L) != 0L)
+ if ((active2 & 0x4000000000000000L) != 0L)
{
- jjmatchedKind = 189;
+ jjmatchedKind = 190;
jjmatchedPos = 1;
}
break;
case 61:
- if ((active2 & 0x80000000000000L) != 0L)
+ if ((active2 & 0x100000000000000L) != 0L)
{
- jjmatchedKind = 183;
- jjmatchedPos = 1;
- }
- else if ((active2 & 0x400000000000000L) != 0L)
- {
- jjmatchedKind = 186;
+ jjmatchedKind = 184;
jjmatchedPos = 1;
}
else if ((active2 & 0x800000000000000L) != 0L)
@@ -255,82 +250,87 @@
jjmatchedKind = 187;
jjmatchedPos = 1;
}
- else if ((active3 & 0x200L) != 0L)
- {
- jjmatchedKind = 201;
- jjmatchedPos = 1;
- }
- break;
- case 62:
- if ((active2 & 0x1000000000000000L) != 0L)
+ else if ((active2 & 0x1000000000000000L) != 0L)
{
jjmatchedKind = 188;
jjmatchedPos = 1;
}
- else if ((active3 & 0x1000L) != 0L)
+ else if ((active3 & 0x400L) != 0L)
{
- jjmatchedKind = 204;
+ jjmatchedKind = 202;
+ jjmatchedPos = 1;
+ }
+ break;
+ case 62:
+ if ((active2 & 0x2000000000000000L) != 0L)
+ {
+ jjmatchedKind = 189;
+ jjmatchedPos = 1;
+ }
+ else if ((active3 & 0x2000L) != 0L)
+ {
+ jjmatchedKind = 205;
jjmatchedPos = 1;
}
break;
case 65:
- return jjMoveStringLiteralDfa2_0(active0, 0x210002200100000L, active1, 0x40000c0e0c01eL, active2, 0x18L, active3, 0L);
+ return jjMoveStringLiteralDfa2_0(active0, 0x420002200100000L, active1, 0x8000181c1803cL, active2, 0x30L, active3, 0L);
case 66:
- return jjMoveStringLiteralDfa2_0(active0, 0L, active1, 0x100000000L, active2, 0L, active3, 0L);
+ return jjMoveStringLiteralDfa2_0(active0, 0L, active1, 0x200000000L, active2, 0L, active3, 0L);
case 67:
- return jjMoveStringLiteralDfa2_0(active0, 0L, active1, 0x30000000000L, active2, 0L, active3, 0L);
+ return jjMoveStringLiteralDfa2_0(active0, 0L, active1, 0x60000000000L, active2, 0L, active3, 0L);
case 68:
- return jjMoveStringLiteralDfa2_0(active0, 0L, active1, 0x1000000000000000L, active2, 0x2000L, active3, 0L);
+ return jjMoveStringLiteralDfa2_0(active0, 0L, active1, 0x2000000000000000L, active2, 0x4000L, active3, 0L);
case 69:
- return jjMoveStringLiteralDfa2_0(active0, 0x1020c01005400000L, active1, 0x821008220000000L, active2, 0x210040L, active3, 0L);
+ return jjMoveStringLiteralDfa2_0(active0, 0x2040c01005400000L, active1, 0x1042010440000000L, active2, 0x420080L, active3, 0L);
case 70:
+ if ((active1 & 0x800L) != 0L)
+ {
+ jjmatchedKind = 75;
+ jjmatchedPos = 1;
+ }
+ return jjMoveStringLiteralDfa2_0(active0, 0x40000000L, active1, 0L, active2, 0L, active3, 0L);
+ case 71:
+ return jjMoveStringLiteralDfa2_0(active0, 0x80000000000000L, active1, 0L, active2, 0L, active3, 0L);
+ case 72:
+ return jjMoveStringLiteralDfa2_0(active0, 0x8000000000L, active1, 0xc000000000040000L, active2, 0x7L, active3, 0L);
+ case 73:
+ return jjMoveStringLiteralDfa2_0(active0, 0x201300020800000L, active1, 0xa0000000000080L, active2, 0x1040000L, active3, 0L);
+ case 76:
+ return jjMoveStringLiteralDfa2_0(active0, 0L, active1, 0x800000000L, active2, 0x801000L, active3, 0L);
+ case 78:
if ((active1 & 0x400L) != 0L)
{
jjmatchedKind = 74;
jjmatchedPos = 1;
}
- return jjMoveStringLiteralDfa2_0(active0, 0x40000000L, active1, 0L, active2, 0L, active3, 0L);
- case 71:
- return jjMoveStringLiteralDfa2_0(active0, 0x40000000000000L, active1, 0L, active2, 0L, active3, 0L);
- case 72:
- return jjMoveStringLiteralDfa2_0(active0, 0x8000000000L, active1, 0xe000000000020000L, active2, 0x3L, active3, 0L);
- case 73:
- return jjMoveStringLiteralDfa2_0(active0, 0x100300020800000L, active1, 0x50000000000040L, active2, 0x820000L, active3, 0L);
- case 76:
- return jjMoveStringLiteralDfa2_0(active0, 0L, active1, 0x400000000L, active2, 0x400800L, active3, 0L);
- case 78:
- if ((active1 & 0x200L) != 0L)
- {
- jjmatchedKind = 73;
- jjmatchedPos = 1;
- }
- return jjMoveStringLiteralDfa2_0(active0, 0x90400000000L, active1, 0x40000000800L, active2, 0x80020L, active3, 0L);
+ return jjMoveStringLiteralDfa2_0(active0, 0x90400000000L, active1, 0x80000001000L, active2, 0x100040L, active3, 0L);
case 79:
- if ((active2 & 0x100000L) != 0L)
+ if ((active2 & 0x200000L) != 0L)
{
- jjmatchedKind = 148;
+ jjmatchedKind = 149;
jjmatchedPos = 1;
}
- return jjMoveStringLiteralDfa2_0(active0, 0x2082000008000000L, active1, 0x10a081800000180L, active2, 0xc400L, active3, 0L);
+ return jjMoveStringLiteralDfa2_0(active0, 0x4104000008000000L, active1, 0x214103000000300L, active2, 0x18800L, active3, 0L);
case 80:
return jjMoveStringLiteralDfa2_0(active0, 0x40000000000L, active1, 0L, active2, 0L, active3, 0L);
case 82:
- return jjMoveStringLiteralDfa2_0(active0, 0x8024080200000L, active1, 0x3020L, active2, 0x41004L, active3, 0L);
+ return jjMoveStringLiteralDfa2_0(active0, 0x10024080200000L, active1, 0x6040L, active2, 0x82008L, active3, 0L);
case 83:
- if ((active0 & 0x4000000000000L) != 0L)
+ if ((active0 & 0x8000000000000L) != 0L)
{
- jjmatchedKind = 50;
+ jjmatchedKind = 51;
jjmatchedPos = 1;
}
- return jjMoveStringLiteralDfa2_0(active0, 0x812000000L, active1, 0x1f000000L, active2, 0x1000000L, active3, 0L);
+ return jjMoveStringLiteralDfa2_0(active0, 0x812000000L, active1, 0x3e000000L, active2, 0x2000000L, active3, 0L);
case 84:
- return jjMoveStringLiteralDfa2_0(active0, 0xc000000000000000L, active1, 0x400f040001c0001L, active2, 0L, active3, 0L);
+ return jjMoveStringLiteralDfa2_0(active0, 0x8000000000000000L, active1, 0x801e08000380003L, active2, 0L, active3, 0L);
case 85:
- return jjMoveStringLiteralDfa2_0(active0, 0x400000000000000L, active1, 0x200002000010000L, active2, 0L, active3, 0L);
+ return jjMoveStringLiteralDfa2_0(active0, 0x800000000000000L, active1, 0x400004000020000L, active2, 0L, active3, 0L);
case 86:
- return jjMoveStringLiteralDfa2_0(active0, 0x800000000000000L, active1, 0L, active2, 0L, active3, 0L);
+ return jjMoveStringLiteralDfa2_0(active0, 0x1000000000000000L, active1, 0L, active2, 0L, active3, 0L);
case 88:
- return jjMoveStringLiteralDfa2_0(active0, 0x1000000000000L, active1, 0L, active2, 0L, active3, 0L);
+ return jjMoveStringLiteralDfa2_0(active0, 0x2000000000000L, active1, 0L, active2, 0L, active3, 0L);
case 89:
if ((active0 & 0x100000000L) != 0L)
{
@@ -339,77 +339,77 @@
}
break;
case 90:
- if ((active1 & 0x80000000000000L) != 0L)
+ if ((active1 & 0x100000000000000L) != 0L)
{
- jjmatchedKind = 119;
+ jjmatchedKind = 120;
jjmatchedPos = 1;
}
break;
case 94:
- if ((active3 & 0x80L) != 0L)
+ if ((active3 & 0x100L) != 0L)
{
- jjmatchedKind = 199;
+ jjmatchedKind = 200;
jjmatchedPos = 1;
}
break;
case 97:
- return jjMoveStringLiteralDfa2_0(active0, 0x210002200100000L, active1, 0x40000c0e0c01eL, active2, 0x18L, active3, 0L);
+ return jjMoveStringLiteralDfa2_0(active0, 0x420002200100000L, active1, 0x8000181c1803cL, active2, 0x30L, active3, 0L);
case 98:
- return jjMoveStringLiteralDfa2_0(active0, 0L, active1, 0x100000000L, active2, 0L, active3, 0L);
+ return jjMoveStringLiteralDfa2_0(active0, 0L, active1, 0x200000000L, active2, 0L, active3, 0L);
case 99:
- return jjMoveStringLiteralDfa2_0(active0, 0L, active1, 0x30000000000L, active2, 0L, active3, 0L);
+ return jjMoveStringLiteralDfa2_0(active0, 0L, active1, 0x60000000000L, active2, 0L, active3, 0L);
case 100:
- return jjMoveStringLiteralDfa2_0(active0, 0L, active1, 0x1000000000000000L, active2, 0x2000L, active3, 0L);
+ return jjMoveStringLiteralDfa2_0(active0, 0L, active1, 0x2000000000000000L, active2, 0x4000L, active3, 0L);
case 101:
- return jjMoveStringLiteralDfa2_0(active0, 0x1020c01005400000L, active1, 0x821008220000000L, active2, 0x210040L, active3, 0L);
+ return jjMoveStringLiteralDfa2_0(active0, 0x2040c01005400000L, active1, 0x1042010440000000L, active2, 0x420080L, active3, 0L);
case 102:
+ if ((active1 & 0x800L) != 0L)
+ {
+ jjmatchedKind = 75;
+ jjmatchedPos = 1;
+ }
+ return jjMoveStringLiteralDfa2_0(active0, 0x40000000L, active1, 0L, active2, 0L, active3, 0L);
+ case 103:
+ return jjMoveStringLiteralDfa2_0(active0, 0x80000000000000L, active1, 0L, active2, 0L, active3, 0L);
+ case 104:
+ return jjMoveStringLiteralDfa2_0(active0, 0x8000000000L, active1, 0xc000000000040000L, active2, 0x7L, active3, 0L);
+ case 105:
+ return jjMoveStringLiteralDfa2_0(active0, 0x201300020800000L, active1, 0xa0000000000080L, active2, 0x1040000L, active3, 0L);
+ case 108:
+ return jjMoveStringLiteralDfa2_0(active0, 0L, active1, 0x800000000L, active2, 0x801000L, active3, 0L);
+ case 110:
if ((active1 & 0x400L) != 0L)
{
jjmatchedKind = 74;
jjmatchedPos = 1;
}
- return jjMoveStringLiteralDfa2_0(active0, 0x40000000L, active1, 0L, active2, 0L, active3, 0L);
- case 103:
- return jjMoveStringLiteralDfa2_0(active0, 0x40000000000000L, active1, 0L, active2, 0L, active3, 0L);
- case 104:
- return jjMoveStringLiteralDfa2_0(active0, 0x8000000000L, active1, 0xe000000000020000L, active2, 0x3L, active3, 0L);
- case 105:
- return jjMoveStringLiteralDfa2_0(active0, 0x100300020800000L, active1, 0x50000000000040L, active2, 0x820000L, active3, 0L);
- case 108:
- return jjMoveStringLiteralDfa2_0(active0, 0L, active1, 0x400000000L, active2, 0x400800L, active3, 0L);
- case 110:
- if ((active1 & 0x200L) != 0L)
- {
- jjmatchedKind = 73;
- jjmatchedPos = 1;
- }
- return jjMoveStringLiteralDfa2_0(active0, 0x90400000000L, active1, 0x40000000800L, active2, 0x80020L, active3, 0L);
+ return jjMoveStringLiteralDfa2_0(active0, 0x90400000000L, active1, 0x80000001000L, active2, 0x100040L, active3, 0L);
case 111:
- if ((active2 & 0x100000L) != 0L)
+ if ((active2 & 0x200000L) != 0L)
{
- jjmatchedKind = 148;
+ jjmatchedKind = 149;
jjmatchedPos = 1;
}
- return jjMoveStringLiteralDfa2_0(active0, 0x2082000008000000L, active1, 0x10a081800000180L, active2, 0xc400L, active3, 0L);
+ return jjMoveStringLiteralDfa2_0(active0, 0x4104000008000000L, active1, 0x214103000000300L, active2, 0x18800L, active3, 0L);
case 112:
return jjMoveStringLiteralDfa2_0(active0, 0x40000000000L, active1, 0L, active2, 0L, active3, 0L);
case 114:
- return jjMoveStringLiteralDfa2_0(active0, 0x8024080200000L, active1, 0x3020L, active2, 0x41004L, active3, 0L);
+ return jjMoveStringLiteralDfa2_0(active0, 0x10024080200000L, active1, 0x6040L, active2, 0x82008L, active3, 0L);
case 115:
- if ((active0 & 0x4000000000000L) != 0L)
+ if ((active0 & 0x8000000000000L) != 0L)
{
- jjmatchedKind = 50;
+ jjmatchedKind = 51;
jjmatchedPos = 1;
}
- return jjMoveStringLiteralDfa2_0(active0, 0x812000000L, active1, 0x1f000000L, active2, 0x1000000L, active3, 0L);
+ return jjMoveStringLiteralDfa2_0(active0, 0x812000000L, active1, 0x3e000000L, active2, 0x2000000L, active3, 0L);
case 116:
- return jjMoveStringLiteralDfa2_0(active0, 0xc000000000000000L, active1, 0x400f040001c0001L, active2, 0L, active3, 0L);
+ return jjMoveStringLiteralDfa2_0(active0, 0x8000000000000000L, active1, 0x801e08000380003L, active2, 0L, active3, 0L);
case 117:
- return jjMoveStringLiteralDfa2_0(active0, 0x400000000000000L, active1, 0x200002000010000L, active2, 0L, active3, 0L);
+ return jjMoveStringLiteralDfa2_0(active0, 0x800000000000000L, active1, 0x400004000020000L, active2, 0L, active3, 0L);
case 118:
- return jjMoveStringLiteralDfa2_0(active0, 0x800000000000000L, active1, 0L, active2, 0L, active3, 0L);
+ return jjMoveStringLiteralDfa2_0(active0, 0x1000000000000000L, active1, 0L, active2, 0L, active3, 0L);
case 120:
- return jjMoveStringLiteralDfa2_0(active0, 0x1000000000000L, active1, 0L, active2, 0L, active3, 0L);
+ return jjMoveStringLiteralDfa2_0(active0, 0x2000000000000L, active1, 0L, active2, 0L, active3, 0L);
case 121:
if ((active0 & 0x100000000L) != 0L)
{
@@ -418,16 +418,16 @@
}
break;
case 122:
- if ((active1 & 0x80000000000000L) != 0L)
+ if ((active1 & 0x100000000000000L) != 0L)
{
- jjmatchedKind = 119;
+ jjmatchedKind = 120;
jjmatchedPos = 1;
}
break;
case 124:
- if ((active3 & 0x2L) != 0L)
+ if ((active3 & 0x4L) != 0L)
{
- jjmatchedKind = 193;
+ jjmatchedKind = 194;
jjmatchedPos = 1;
}
break;
@@ -446,63 +446,63 @@
switch(curChar)
{
case 53:
- if ((active1 & 0x1000000000000000L) != 0L)
+ if ((active1 & 0x2000000000000000L) != 0L)
{
- jjmatchedKind = 124;
+ jjmatchedKind = 125;
jjmatchedPos = 2;
}
break;
case 65:
- return jjMoveStringLiteralDfa3_0(active0, 0x20000000000L, active1, 0xe001030000000100L, active2, 0x403L);
+ return jjMoveStringLiteralDfa3_0(active0, 0x20000000000L, active1, 0xc002060000000200L, active2, 0x807L);
case 66:
- return jjMoveStringLiteralDfa3_0(active0, 0L, active1, 0x2004000000L, active2, 0L);
+ return jjMoveStringLiteralDfa3_0(active0, 0L, active1, 0x4008000000L, active2, 0L);
case 67:
if ((active0 & 0x800000000L) != 0L)
{
jjmatchedKind = 35;
jjmatchedPos = 2;
}
- return jjMoveStringLiteralDfa3_0(active0, 0L, active1, 0x20040000000000L, active2, 0L);
+ return jjMoveStringLiteralDfa3_0(active0, 0L, active1, 0x40080000000000L, active2, 0L);
case 68:
if ((active0 & 0x10000000000L) != 0L)
{
jjmatchedKind = 40;
jjmatchedPos = 2;
}
- else if ((active2 & 0x2000L) != 0L)
+ else if ((active2 & 0x4000L) != 0L)
{
- jjmatchedKind = 141;
+ jjmatchedKind = 142;
jjmatchedPos = 2;
}
- return jjMoveStringLiteralDfa3_0(active0, 0xf000000481000000L, active1, 0x1L, active2, 0L);
+ return jjMoveStringLiteralDfa3_0(active0, 0xe000000481000000L, active1, 0x3L, active2, 0L);
case 69:
- return jjMoveStringLiteralDfa3_0(active0, 0x8000200000L, active1, 0L, active2, 0x1800L);
+ return jjMoveStringLiteralDfa3_0(active0, 0x8000200000L, active1, 0L, active2, 0x3000L);
case 70:
- return jjMoveStringLiteralDfa3_0(active0, 0x40000000L, active1, 0L, active2, 0x200000L);
+ return jjMoveStringLiteralDfa3_0(active0, 0x40000000L, active1, 0L, active2, 0x400000L);
case 71:
- if ((active0 & 0x40000000000000L) != 0L)
+ if ((active0 & 0x80000000000000L) != 0L)
{
- jjmatchedKind = 54;
+ jjmatchedKind = 55;
jjmatchedPos = 2;
}
- else if ((active0 & 0x800000000000000L) != 0L)
+ else if ((active0 & 0x1000000000000000L) != 0L)
{
- jjmatchedKind = 59;
+ jjmatchedKind = 60;
jjmatchedPos = 2;
}
- return jjMoveStringLiteralDfa3_0(active0, 0L, active1, 0x20000000L, active2, 0L);
+ return jjMoveStringLiteralDfa3_0(active0, 0L, active1, 0x40000000L, active2, 0L);
case 73:
- if ((active1 & 0x1000L) != 0L)
- {
- jjmatchedKind = 76;
- jjmatchedPos = 2;
- }
- else if ((active1 & 0x2000L) != 0L)
+ if ((active1 & 0x2000L) != 0L)
{
jjmatchedKind = 77;
jjmatchedPos = 2;
}
- return jjMoveStringLiteralDfa3_0(active0, 0x1080000000000L, active1, 0x200000202000000L, active2, 0x1000000L);
+ else if ((active1 & 0x4000L) != 0L)
+ {
+ jjmatchedKind = 78;
+ jjmatchedPos = 2;
+ }
+ return jjMoveStringLiteralDfa3_0(active0, 0x2080000000000L, active1, 0x400000404000000L, active2, 0x2000000L);
case 75:
if ((active0 & 0x10000000L) != 0L)
{
@@ -511,132 +511,132 @@
}
break;
case 76:
- if ((active2 & 0x400000L) != 0L)
+ if ((active2 & 0x800000L) != 0L)
{
- jjmatchedKind = 150;
+ jjmatchedKind = 151;
jjmatchedPos = 2;
}
- return jjMoveStringLiteralDfa3_0(active0, 0x200400000L, active1, 0x8018040L, active2, 0x20048L);
+ return jjMoveStringLiteralDfa3_0(active0, 0x200400000L, active1, 0x10030080L, active2, 0x40090L);
case 77:
- if ((active0 & 0x400000000000000L) != 0L)
+ if ((active0 & 0x800000000000000L) != 0L)
{
- jjmatchedKind = 58;
+ jjmatchedKind = 59;
jjmatchedPos = 2;
}
- return jjMoveStringLiteralDfa3_0(active0, 0x2020000000L, active1, 0x40000040000010L, active2, 0L);
+ return jjMoveStringLiteralDfa3_0(active0, 0x2020000000L, active1, 0x80000080000020L, active2, 0L);
case 78:
- if ((active0 & 0x100000000000000L) != 0L)
+ if ((active0 & 0x200000000000000L) != 0L)
{
- jjmatchedKind = 56;
+ jjmatchedKind = 57;
jjmatchedPos = 2;
}
- return jjMoveStringLiteralDfa3_0(active0, 0x300008000000L, active1, 0x12081090c00000L, active2, 0L);
+ return jjMoveStringLiteralDfa3_0(active0, 0x1300008000000L, active1, 0x24102121800000L, active2, 0L);
case 79:
- return jjMoveStringLiteralDfa3_0(active0, 0x8004002000000L, active1, 0x400020820L, active2, 0x40000L);
+ return jjMoveStringLiteralDfa3_0(active0, 0x10004002000000L, active1, 0x800041040L, active2, 0x80000L);
case 80:
- return jjMoveStringLiteralDfa3_0(active0, 0x20000000000000L, active1, 0x8000000000L, active2, 0x8000L);
+ return jjMoveStringLiteralDfa3_0(active0, 0x40000000000000L, active1, 0x10000000000L, active2, 0x10000L);
case 82:
- if ((active1 & 0x40000L) != 0L)
+ if ((active1 & 0x80000L) != 0L)
{
- jjmatchedKind = 82;
+ jjmatchedKind = 83;
jjmatchedPos = 2;
}
- return jjMoveStringLiteralDfa3_0(active0, 0x400000000000L, active1, 0xc00f0400018000eL, active2, 0L);
+ return jjMoveStringLiteralDfa3_0(active0, 0x400000000000L, active1, 0x1801e0800030001cL, active2, 0L);
case 83:
- if ((active1 & 0x100000000L) != 0L)
+ if ((active1 & 0x200000000L) != 0L)
{
- jjmatchedKind = 96;
+ jjmatchedKind = 97;
jjmatchedPos = 2;
}
- return jjMoveStringLiteralDfa3_0(active0, 0x1004900000L, active1, 0x4000L, active2, 0x20L);
+ return jjMoveStringLiteralDfa3_0(active0, 0x1004900000L, active1, 0x8000L, active2, 0x40L);
case 84:
if ((active0 & 0x800000000000L) != 0L)
{
jjmatchedKind = 47;
jjmatchedPos = 2;
}
- else if ((active0 & 0x2000000000000L) != 0L)
+ else if ((active0 & 0x4000000000000L) != 0L)
{
- jjmatchedKind = 49;
+ jjmatchedKind = 50;
jjmatchedPos = 2;
}
- return jjMoveStringLiteralDfa3_0(active0, 0x40000000000L, active1, 0x200000L, active2, 0x890010L);
+ return jjMoveStringLiteralDfa3_0(active0, 0x40000000000L, active1, 0x400000L, active2, 0x1120020L);
case 85:
- return jjMoveStringLiteralDfa3_0(active0, 0x80000000000000L, active1, 0x8000801000080L, active2, 0x4L);
+ return jjMoveStringLiteralDfa3_0(active0, 0x100000000000000L, active1, 0x10001002000100L, active2, 0x8L);
case 86:
- return jjMoveStringLiteralDfa3_0(active0, 0x10000000000000L, active1, 0L, active2, 0x4000L);
+ return jjMoveStringLiteralDfa3_0(active0, 0x20000000000000L, active1, 0L, active2, 0x8000L);
case 87:
- if ((active1 & 0x100000000000000L) != 0L)
+ if ((active1 & 0x200000000000000L) != 0L)
{
- jjmatchedKind = 120;
+ jjmatchedKind = 121;
jjmatchedPos = 2;
}
break;
case 88:
- if ((active0 & 0x200000000000000L) != 0L)
+ if ((active0 & 0x400000000000000L) != 0L)
{
- jjmatchedKind = 57;
+ jjmatchedKind = 58;
jjmatchedPos = 2;
}
break;
case 89:
- if ((active1 & 0x4000000000000L) != 0L)
+ if ((active1 & 0x8000000000000L) != 0L)
{
- jjmatchedKind = 114;
+ jjmatchedKind = 115;
jjmatchedPos = 2;
}
break;
case 97:
- return jjMoveStringLiteralDfa3_0(active0, 0x20000000000L, active1, 0xe001030000000100L, active2, 0x403L);
+ return jjMoveStringLiteralDfa3_0(active0, 0x20000000000L, active1, 0xc002060000000200L, active2, 0x807L);
case 98:
- return jjMoveStringLiteralDfa3_0(active0, 0L, active1, 0x2004000000L, active2, 0L);
+ return jjMoveStringLiteralDfa3_0(active0, 0L, active1, 0x4008000000L, active2, 0L);
case 99:
if ((active0 & 0x800000000L) != 0L)
{
jjmatchedKind = 35;
jjmatchedPos = 2;
}
- return jjMoveStringLiteralDfa3_0(active0, 0L, active1, 0x20040000000000L, active2, 0L);
+ return jjMoveStringLiteralDfa3_0(active0, 0L, active1, 0x40080000000000L, active2, 0L);
case 100:
if ((active0 & 0x10000000000L) != 0L)
{
jjmatchedKind = 40;
jjmatchedPos = 2;
}
- else if ((active2 & 0x2000L) != 0L)
+ else if ((active2 & 0x4000L) != 0L)
{
- jjmatchedKind = 141;
+ jjmatchedKind = 142;
jjmatchedPos = 2;
}
- return jjMoveStringLiteralDfa3_0(active0, 0xf000000481000000L, active1, 0x1L, active2, 0L);
+ return jjMoveStringLiteralDfa3_0(active0, 0xe000000481000000L, active1, 0x3L, active2, 0L);
case 101:
- return jjMoveStringLiteralDfa3_0(active0, 0x8000200000L, active1, 0L, active2, 0x1800L);
+ return jjMoveStringLiteralDfa3_0(active0, 0x8000200000L, active1, 0L, active2, 0x3000L);
case 102:
- return jjMoveStringLiteralDfa3_0(active0, 0x40000000L, active1, 0L, active2, 0x200000L);
+ return jjMoveStringLiteralDfa3_0(active0, 0x40000000L, active1, 0L, active2, 0x400000L);
case 103:
- if ((active0 & 0x40000000000000L) != 0L)
+ if ((active0 & 0x80000000000000L) != 0L)
{
- jjmatchedKind = 54;
+ jjmatchedKind = 55;
jjmatchedPos = 2;
}
- else if ((active0 & 0x800000000000000L) != 0L)
+ else if ((active0 & 0x1000000000000000L) != 0L)
{
- jjmatchedKind = 59;
+ jjmatchedKind = 60;
jjmatchedPos = 2;
}
- return jjMoveStringLiteralDfa3_0(active0, 0L, active1, 0x20000000L, active2, 0L);
+ return jjMoveStringLiteralDfa3_0(active0, 0L, active1, 0x40000000L, active2, 0L);
case 105:
- if ((active1 & 0x1000L) != 0L)
- {
- jjmatchedKind = 76;
- jjmatchedPos = 2;
- }
- else if ((active1 & 0x2000L) != 0L)
+ if ((active1 & 0x2000L) != 0L)
{
jjmatchedKind = 77;
jjmatchedPos = 2;
}
- return jjMoveStringLiteralDfa3_0(active0, 0x1080000000000L, active1, 0x200000202000000L, active2, 0x1000000L);
+ else if ((active1 & 0x4000L) != 0L)
+ {
+ jjmatchedKind = 78;
+ jjmatchedPos = 2;
+ }
+ return jjMoveStringLiteralDfa3_0(active0, 0x2080000000000L, active1, 0x400000404000000L, active2, 0x2000000L);
case 107:
if ((active0 & 0x10000000L) != 0L)
{
@@ -645,78 +645,78 @@
}
break;
case 108:
- if ((active2 & 0x400000L) != 0L)
+ if ((active2 & 0x800000L) != 0L)
{
- jjmatchedKind = 150;
+ jjmatchedKind = 151;
jjmatchedPos = 2;
}
- return jjMoveStringLiteralDfa3_0(active0, 0x200400000L, active1, 0x8018040L, active2, 0x20048L);
+ return jjMoveStringLiteralDfa3_0(active0, 0x200400000L, active1, 0x10030080L, active2, 0x40090L);
case 109:
- if ((active0 & 0x400000000000000L) != 0L)
+ if ((active0 & 0x800000000000000L) != 0L)
{
- jjmatchedKind = 58;
+ jjmatchedKind = 59;
jjmatchedPos = 2;
}
- return jjMoveStringLiteralDfa3_0(active0, 0x2020000000L, active1, 0x40000040000010L, active2, 0L);
+ return jjMoveStringLiteralDfa3_0(active0, 0x2020000000L, active1, 0x80000080000020L, active2, 0L);
case 110:
- if ((active0 & 0x100000000000000L) != 0L)
+ if ((active0 & 0x200000000000000L) != 0L)
{
- jjmatchedKind = 56;
+ jjmatchedKind = 57;
jjmatchedPos = 2;
}
- return jjMoveStringLiteralDfa3_0(active0, 0x300008000000L, active1, 0x12081090c00000L, active2, 0L);
+ return jjMoveStringLiteralDfa3_0(active0, 0x1300008000000L, active1, 0x24102121800000L, active2, 0L);
case 111:
- return jjMoveStringLiteralDfa3_0(active0, 0x8004002000000L, active1, 0x400020820L, active2, 0x40000L);
+ return jjMoveStringLiteralDfa3_0(active0, 0x10004002000000L, active1, 0x800041040L, active2, 0x80000L);
case 112:
- return jjMoveStringLiteralDfa3_0(active0, 0x20000000000000L, active1, 0x8000000000L, active2, 0x8000L);
+ return jjMoveStringLiteralDfa3_0(active0, 0x40000000000000L, active1, 0x10000000000L, active2, 0x10000L);
case 114:
- if ((active1 & 0x40000L) != 0L)
+ if ((active1 & 0x80000L) != 0L)
{
- jjmatchedKind = 82;
+ jjmatchedKind = 83;
jjmatchedPos = 2;
}
- return jjMoveStringLiteralDfa3_0(active0, 0x400000000000L, active1, 0xc00f0400018000eL, active2, 0L);
+ return jjMoveStringLiteralDfa3_0(active0, 0x400000000000L, active1, 0x1801e0800030001cL, active2, 0L);
case 115:
- if ((active1 & 0x100000000L) != 0L)
+ if ((active1 & 0x200000000L) != 0L)
{
- jjmatchedKind = 96;
+ jjmatchedKind = 97;
jjmatchedPos = 2;
}
- return jjMoveStringLiteralDfa3_0(active0, 0x1004900000L, active1, 0x4000L, active2, 0x20L);
+ return jjMoveStringLiteralDfa3_0(active0, 0x1004900000L, active1, 0x8000L, active2, 0x40L);
case 116:
if ((active0 & 0x800000000000L) != 0L)
{
jjmatchedKind = 47;
jjmatchedPos = 2;
}
- else if ((active0 & 0x2000000000000L) != 0L)
+ else if ((active0 & 0x4000000000000L) != 0L)
{
- jjmatchedKind = 49;
+ jjmatchedKind = 50;
jjmatchedPos = 2;
}
- return jjMoveStringLiteralDfa3_0(active0, 0x40000000000L, active1, 0x200000L, active2, 0x890010L);
+ return jjMoveStringLiteralDfa3_0(active0, 0x40000000000L, active1, 0x400000L, active2, 0x1120020L);
case 117:
- return jjMoveStringLiteralDfa3_0(active0, 0x80000000000000L, active1, 0x8000801000080L, active2, 0x4L);
+ return jjMoveStringLiteralDfa3_0(active0, 0x100000000000000L, active1, 0x10001002000100L, active2, 0x8L);
case 118:
- return jjMoveStringLiteralDfa3_0(active0, 0x10000000000000L, active1, 0L, active2, 0x4000L);
+ return jjMoveStringLiteralDfa3_0(active0, 0x20000000000000L, active1, 0L, active2, 0x8000L);
case 119:
- if ((active1 & 0x100000000000000L) != 0L)
+ if ((active1 & 0x200000000000000L) != 0L)
{
- jjmatchedKind = 120;
+ jjmatchedKind = 121;
jjmatchedPos = 2;
}
break;
case 120:
- if ((active0 & 0x200000000000000L) != 0L)
+ if ((active0 & 0x400000000000000L) != 0L)
{
- jjmatchedKind = 57;
+ jjmatchedKind = 58;
jjmatchedPos = 2;
}
break;
case 121:
- if ((active1 & 0x4000000000000L) != 0L)
+ if ((active1 & 0x8000000000000L) != 0L)
{
- jjmatchedKind = 114;
+ jjmatchedKind = 115;
jjmatchedPos = 2;
}
break;
@@ -735,113 +735,118 @@
switch(curChar)
{
case 49:
- if ((active1 & 0x2000000000000000L) != 0L)
+ if ((active1 & 0x4000000000000000L) != 0L)
{
- jjmatchedKind = 125;
+ jjmatchedKind = 126;
jjmatchedPos = 3;
}
break;
case 50:
- return jjMoveStringLiteralDfa4_0(active0, 0L, active1, 0xc000000000000000L, active2, 0L);
+ return jjMoveStringLiteralDfa4_0(active0, 0L, active1, 0x8000000000000000L, active2, 0x1L);
case 51:
- return jjMoveStringLiteralDfa4_0(active0, 0L, active1, 0L, active2, 0x1L);
- case 53:
return jjMoveStringLiteralDfa4_0(active0, 0L, active1, 0L, active2, 0x2L);
+ case 53:
+ return jjMoveStringLiteralDfa4_0(active0, 0L, active1, 0L, active2, 0x4L);
case 65:
- if ((active2 & 0x10L) != 0L)
+ if ((active2 & 0x20L) != 0L)
{
- jjmatchedKind = 132;
+ jjmatchedKind = 133;
jjmatchedPos = 3;
}
- else if ((active2 & 0x10000L) != 0L)
+ else if ((active2 & 0x20000L) != 0L)
{
- jjmatchedKind = 144;
+ jjmatchedKind = 145;
jjmatchedPos = 3;
}
- return jjMoveStringLiteralDfa4_0(active0, 0x20000000000000L, active1, 0x800000200000L, active2, 0x201800L);
+ return jjMoveStringLiteralDfa4_0(active0, 0x40000000000000L, active1, 0x1000000400000L, active2, 0x403000L);
case 66:
- return jjMoveStringLiteralDfa4_0(active0, 0L, active1, 0x400000000000L, active2, 0L);
+ return jjMoveStringLiteralDfa4_0(active0, 0L, active1, 0x800000000000L, active2, 0L);
case 67:
if ((active0 & 0x1000000000L) != 0L)
{
jjmatchedKind = 36;
jjmatchedPos = 3;
}
- return jjMoveStringLiteralDfa4_0(active0, 0x4000000L, active1, 0x1000000000L, active2, 0L);
+ return jjMoveStringLiteralDfa4_0(active0, 0x4000000L, active1, 0x2000000000L, active2, 0L);
case 68:
if ((active0 & 0x200000000000L) != 0L)
{
jjmatchedKind = 45;
jjmatchedPos = 3;
}
- else if ((active1 & 0x80000000L) != 0L)
+ else if ((active0 & 0x1000000000000L) != 0L)
{
- jjmatchedKind = 95;
+ jjmatchedKind = 48;
jjmatchedPos = 3;
}
- else if ((active1 & 0x200000000000000L) != 0L)
+ else if ((active1 & 0x100000000L) != 0L)
{
- jjmatchedKind = 121;
+ jjmatchedKind = 96;
jjmatchedPos = 3;
}
- else if ((active2 & 0x400L) != 0L)
+ else if ((active1 & 0x400000000000000L) != 0L)
{
- jjmatchedKind = 138;
+ jjmatchedKind = 122;
jjmatchedPos = 3;
}
- return jjMoveStringLiteralDfa4_0(active0, 0L, active1, 0x100800L, active2, 0L);
+ else if ((active2 & 0x800L) != 0L)
+ {
+ jjmatchedKind = 139;
+ jjmatchedPos = 3;
+ }
+ return jjMoveStringLiteralDfa4_0(active0, 0L, active1, 0x201000L, active2, 0L);
case 69:
if ((active0 & 0x100000L) != 0L)
{
jjmatchedKind = 20;
jjmatchedPos = 3;
}
- else if ((active0 & 0x2000000000000000L) != 0L)
+ else if ((active0 & 0x4000000000000000L) != 0L)
{
- jjmatchedKind = 61;
+ jjmatchedKind = 62;
jjmatchedPos = 3;
}
- else if ((active2 & 0x4L) != 0L)
+ else if ((active2 & 0x8L) != 0L)
{
- jjmatchedKind = 130;
+ jjmatchedKind = 131;
jjmatchedPos = 3;
}
- else if ((active2 & 0x4000L) != 0L)
+ else if ((active2 & 0x8000L) != 0L)
{
- jjmatchedKind = 142;
+ jjmatchedKind = 143;
jjmatchedPos = 3;
}
- return jjMoveStringLiteralDfa4_0(active0, 0xc000002480400000L, active1, 0x40200060000001L, active2, 0x20060L);
+ return jjMoveStringLiteralDfa4_0(active0, 0x8000002480400000L, active1, 0x804000c0000003L, active2, 0x400c0L);
case 70:
return jjMoveStringLiteralDfa4_0(active0, 0x200000L, active1, 0L, active2, 0L);
case 71:
- if ((active1 & 0x400000L) != 0L)
+ if ((active1 & 0x800000L) != 0L)
{
- jjmatchedKind = 86;
+ jjmatchedKind = 87;
jjmatchedPos = 3;
}
- return jjMoveStringLiteralDfa4_0(active0, 0L, active1, 0x800000L, active2, 0L);
+ return jjMoveStringLiteralDfa4_0(active0, 0L, active1, 0x1000000L, active2, 0L);
case 72:
- if ((active2 & 0x800000L) != 0L)
+ if ((active2 & 0x1000000L) != 0L)
{
- jjmatchedKind = 151;
+ jjmatchedKind = 152;
jjmatchedPos = 3;
}
break;
case 73:
- return jjMoveStringLiteralDfa4_0(active0, 0x1010040020000000L, active1, 0x8000002L, active2, 0L);
+ return jjMoveStringLiteralDfa4_0(active0, 0x2020040020000000L, active1, 0x10000004L, active2, 0L);
case 76:
- if ((active1 & 0x8000L) != 0L)
+ if ((active1 & 0x10000L) != 0L)
{
- jjmatchedKind = 79;
+ jjmatchedKind = 80;
jjmatchedPos = 3;
}
- else if ((active1 & 0x200000000L) != 0L)
+ else if ((active1 & 0x400000000L) != 0L)
{
- jjmatchedKind = 97;
+ jjmatchedKind = 98;
jjmatchedPos = 3;
}
- return jjMoveStringLiteralDfa4_0(active0, 0L, active1, 0xc004080100L, active2, 0L);
+ return jjMoveStringLiteralDfa4_0(active0, 0L, active1, 0x18008100200L, active2, 0L);
case 77:
if ((active0 & 0x4000000000L) != 0L)
{
@@ -855,145 +860,150 @@
jjmatchedKind = 25;
jjmatchedPos = 3;
}
- return jjMoveStringLiteralDfa4_0(active0, 0x80000000000000L, active1, 0x800000080L, active2, 0x1000000L);
+ return jjMoveStringLiteralDfa4_0(active0, 0x100000000000000L, active1, 0x1000000100L, active2, 0x2000000L);
case 79:
+ if ((active2 & 0x100000L) != 0L)
+ {
+ jjmatchedKind = 148;
+ jjmatchedPos = 3;
+ }
+ return jjMoveStringLiteralDfa4_0(active0, 0x80000000000L, active1, 0x40080800000000L, active2, 0L);
+ case 80:
if ((active2 & 0x80000L) != 0L)
{
jjmatchedKind = 147;
jjmatchedPos = 3;
}
- return jjMoveStringLiteralDfa4_0(active0, 0x80000000000L, active1, 0x20040400000000L, active2, 0L);
- case 80:
- if ((active2 & 0x40000L) != 0L)
- {
- jjmatchedKind = 146;
- jjmatchedPos = 3;
- }
- return jjMoveStringLiteralDfa4_0(active0, 0x20000000000L, active1, 0x10L, active2, 0L);
+ return jjMoveStringLiteralDfa4_0(active0, 0x20000000000L, active1, 0x20L, active2, 0L);
case 82:
- if ((active1 & 0x1000000000000L) != 0L)
+ if ((active1 & 0x2000000000000L) != 0L)
{
- jjmatchedKind = 112;
+ jjmatchedKind = 113;
jjmatchedPos = 3;
}
- return jjMoveStringLiteralDfa4_0(active0, 0x8000000000L, active1, 0x8000003020000L, active2, 0L);
+ return jjMoveStringLiteralDfa4_0(active0, 0x8000000000L, active1, 0x10000006040000L, active2, 0L);
case 83:
- return jjMoveStringLiteralDfa4_0(active0, 0x1000048000000L, active1, 0x800132000000000L, active2, 0x8L);
+ return jjMoveStringLiteralDfa4_0(active0, 0x2000048000000L, active1, 0x1000264000000000L, active2, 0x10L);
case 84:
- if ((active1 & 0x4000L) != 0L)
+ if ((active1 & 0x8000L) != 0L)
{
- jjmatchedKind = 78;
+ jjmatchedKind = 79;
jjmatchedPos = 3;
}
- return jjMoveStringLiteralDfa4_0(active0, 0x800000L, active1, 0x2080000010040L, active2, 0L);
+ return jjMoveStringLiteralDfa4_0(active0, 0x800000L, active1, 0x4100000020080L, active2, 0L);
case 85:
- return jjMoveStringLiteralDfa4_0(active0, 0x8100201000000L, active1, 0x410000010000020L, active2, 0L);
+ return jjMoveStringLiteralDfa4_0(active0, 0x10100201000000L, active1, 0x820000020000040L, active2, 0L);
case 86:
return jjMoveStringLiteralDfa4_0(active0, 0x400000000000L, active1, 0L, active2, 0L);
case 89:
- if ((active2 & 0x8000L) != 0L)
- {
- jjmatchedKind = 143;
- jjmatchedPos = 3;
- }
- break;
- case 95:
- return jjMoveStringLiteralDfa4_0(active0, 0L, active1, 0xcL, active2, 0L);
- case 97:
- if ((active2 & 0x10L) != 0L)
- {
- jjmatchedKind = 132;
- jjmatchedPos = 3;
- }
- else if ((active2 & 0x10000L) != 0L)
+ if ((active2 & 0x10000L) != 0L)
{
jjmatchedKind = 144;
jjmatchedPos = 3;
}
- return jjMoveStringLiteralDfa4_0(active0, 0x20000000000000L, active1, 0x800000200000L, active2, 0x201800L);
+ break;
+ case 95:
+ return jjMoveStringLiteralDfa4_0(active0, 0L, active1, 0x18L, active2, 0L);
+ case 97:
+ if ((active2 & 0x20L) != 0L)
+ {
+ jjmatchedKind = 133;
+ jjmatchedPos = 3;
+ }
+ else if ((active2 & 0x20000L) != 0L)
+ {
+ jjmatchedKind = 145;
+ jjmatchedPos = 3;
+ }
+ return jjMoveStringLiteralDfa4_0(active0, 0x40000000000000L, active1, 0x1000000400000L, active2, 0x403000L);
case 98:
- return jjMoveStringLiteralDfa4_0(active0, 0L, active1, 0x400000000000L, active2, 0L);
+ return jjMoveStringLiteralDfa4_0(active0, 0L, active1, 0x800000000000L, active2, 0L);
case 99:
if ((active0 & 0x1000000000L) != 0L)
{
jjmatchedKind = 36;
jjmatchedPos = 3;
}
- return jjMoveStringLiteralDfa4_0(active0, 0x4000000L, active1, 0x1000000000L, active2, 0L);
+ return jjMoveStringLiteralDfa4_0(active0, 0x4000000L, active1, 0x2000000000L, active2, 0L);
case 100:
if ((active0 & 0x200000000000L) != 0L)
{
jjmatchedKind = 45;
jjmatchedPos = 3;
}
- else if ((active1 & 0x80000000L) != 0L)
+ else if ((active0 & 0x1000000000000L) != 0L)
{
- jjmatchedKind = 95;
+ jjmatchedKind = 48;
jjmatchedPos = 3;
}
- else if ((active1 & 0x200000000000000L) != 0L)
+ else if ((active1 & 0x100000000L) != 0L)
{
- jjmatchedKind = 121;
+ jjmatchedKind = 96;
jjmatchedPos = 3;
}
- else if ((active2 & 0x400L) != 0L)
+ else if ((active1 & 0x400000000000000L) != 0L)
{
- jjmatchedKind = 138;
+ jjmatchedKind = 122;
jjmatchedPos = 3;
}
- return jjMoveStringLiteralDfa4_0(active0, 0L, active1, 0x100800L, active2, 0L);
+ else if ((active2 & 0x800L) != 0L)
+ {
+ jjmatchedKind = 139;
+ jjmatchedPos = 3;
+ }
+ return jjMoveStringLiteralDfa4_0(active0, 0L, active1, 0x201000L, active2, 0L);
case 101:
if ((active0 & 0x100000L) != 0L)
{
jjmatchedKind = 20;
jjmatchedPos = 3;
}
- else if ((active0 & 0x2000000000000000L) != 0L)
+ else if ((active0 & 0x4000000000000000L) != 0L)
{
- jjmatchedKind = 61;
+ jjmatchedKind = 62;
jjmatchedPos = 3;
}
- else if ((active2 & 0x4L) != 0L)
+ else if ((active2 & 0x8L) != 0L)
{
- jjmatchedKind = 130;
+ jjmatchedKind = 131;
jjmatchedPos = 3;
}
- else if ((active2 & 0x4000L) != 0L)
+ else if ((active2 & 0x8000L) != 0L)
{
- jjmatchedKind = 142;
+ jjmatchedKind = 143;
jjmatchedPos = 3;
}
- return jjMoveStringLiteralDfa4_0(active0, 0xc000002480400000L, active1, 0x40200060000001L, active2, 0x20060L);
+ return jjMoveStringLiteralDfa4_0(active0, 0x8000002480400000L, active1, 0x804000c0000003L, active2, 0x400c0L);
case 102:
return jjMoveStringLiteralDfa4_0(active0, 0x200000L, active1, 0L, active2, 0L);
case 103:
- if ((active1 & 0x400000L) != 0L)
+ if ((active1 & 0x800000L) != 0L)
{
- jjmatchedKind = 86;
+ jjmatchedKind = 87;
jjmatchedPos = 3;
}
- return jjMoveStringLiteralDfa4_0(active0, 0L, active1, 0x800000L, active2, 0L);
+ return jjMoveStringLiteralDfa4_0(active0, 0L, active1, 0x1000000L, active2, 0L);
case 104:
- if ((active2 & 0x800000L) != 0L)
+ if ((active2 & 0x1000000L) != 0L)
{
- jjmatchedKind = 151;
+ jjmatchedKind = 152;
jjmatchedPos = 3;
}
break;
case 105:
- return jjMoveStringLiteralDfa4_0(active0, 0x1010040020000000L, active1, 0x8000002L, active2, 0L);
+ return jjMoveStringLiteralDfa4_0(active0, 0x2020040020000000L, active1, 0x10000004L, active2, 0L);
case 108:
- if ((active1 & 0x8000L) != 0L)
+ if ((active1 & 0x10000L) != 0L)
{
- jjmatchedKind = 79;
+ jjmatchedKind = 80;
jjmatchedPos = 3;
}
- else if ((active1 & 0x200000000L) != 0L)
+ else if ((active1 & 0x400000000L) != 0L)
{
- jjmatchedKind = 97;
+ jjmatchedKind = 98;
jjmatchedPos = 3;
}
- return jjMoveStringLiteralDfa4_0(active0, 0L, active1, 0xc004080100L, active2, 0L);
+ return jjMoveStringLiteralDfa4_0(active0, 0L, active1, 0x18008100200L, active2, 0L);
case 109:
if ((active0 & 0x4000000000L) != 0L)
{
@@ -1007,45 +1017,45 @@
jjmatchedKind = 25;
jjmatchedPos = 3;
}
- return jjMoveStringLiteralDfa4_0(active0, 0x80000000000000L, active1, 0x800000080L, active2, 0x1000000L);
+ return jjMoveStringLiteralDfa4_0(active0, 0x100000000000000L, active1, 0x1000000100L, active2, 0x2000000L);
case 111:
+ if ((active2 & 0x100000L) != 0L)
+ {
+ jjmatchedKind = 148;
+ jjmatchedPos = 3;
+ }
+ return jjMoveStringLiteralDfa4_0(active0, 0x80000000000L, active1, 0x40080800000000L, active2, 0L);
+ case 112:
if ((active2 & 0x80000L) != 0L)
{
jjmatchedKind = 147;
jjmatchedPos = 3;
}
- return jjMoveStringLiteralDfa4_0(active0, 0x80000000000L, active1, 0x20040400000000L, active2, 0L);
- case 112:
- if ((active2 & 0x40000L) != 0L)
- {
- jjmatchedKind = 146;
- jjmatchedPos = 3;
- }
- return jjMoveStringLiteralDfa4_0(active0, 0x20000000000L, active1, 0x10L, active2, 0L);
+ return jjMoveStringLiteralDfa4_0(active0, 0x20000000000L, active1, 0x20L, active2, 0L);
case 114:
- if ((active1 & 0x1000000000000L) != 0L)
+ if ((active1 & 0x2000000000000L) != 0L)
{
- jjmatchedKind = 112;
+ jjmatchedKind = 113;
jjmatchedPos = 3;
}
- return jjMoveStringLiteralDfa4_0(active0, 0x8000000000L, active1, 0x8000003020000L, active2, 0L);
+ return jjMoveStringLiteralDfa4_0(active0, 0x8000000000L, active1, 0x10000006040000L, active2, 0L);
case 115:
- return jjMoveStringLiteralDfa4_0(active0, 0x1000048000000L, active1, 0x800132000000000L, active2, 0x8L);
+ return jjMoveStringLiteralDfa4_0(active0, 0x2000048000000L, active1, 0x1000264000000000L, active2, 0x10L);
case 116:
- if ((active1 & 0x4000L) != 0L)
+ if ((active1 & 0x8000L) != 0L)
{
- jjmatchedKind = 78;
+ jjmatchedKind = 79;
jjmatchedPos = 3;
}
- return jjMoveStringLiteralDfa4_0(active0, 0x800000L, active1, 0x2080000010040L, active2, 0L);
+ return jjMoveStringLiteralDfa4_0(active0, 0x800000L, active1, 0x4100000020080L, active2, 0L);
case 117:
- return jjMoveStringLiteralDfa4_0(active0, 0x8100201000000L, active1, 0x410000010000020L, active2, 0L);
+ return jjMoveStringLiteralDfa4_0(active0, 0x10100201000000L, active1, 0x820000020000040L, active2, 0L);
case 118:
return jjMoveStringLiteralDfa4_0(active0, 0x400000000000L, active1, 0L, active2, 0L);
case 121:
- if ((active2 & 0x8000L) != 0L)
+ if ((active2 & 0x10000L) != 0L)
{
- jjmatchedKind = 143;
+ jjmatchedKind = 144;
jjmatchedPos = 3;
}
break;
@@ -1064,15 +1074,15 @@
switch(curChar)
{
case 49:
- return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0L, active2, 0x2L);
+ return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0L, active2, 0x4L);
case 50:
- return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0x4000000000000000L, active2, 0L);
- case 53:
return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0x8000000000000000L, active2, 0L);
- case 56:
+ case 53:
return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0L, active2, 0x1L);
+ case 56:
+ return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0L, active2, 0x2L);
case 65:
- return jjMoveStringLiteralDfa5_0(active0, 0x1000000000000000L, active1, 0x89004080002L, active2, 0L);
+ return jjMoveStringLiteralDfa5_0(active0, 0x2000000000000000L, active1, 0x112008100004L, active2, 0L);
case 67:
return jjMoveStringLiteralDfa5_0(active0, 0x1400000L, active1, 0L, active2, 0L);
case 68:
@@ -1081,31 +1091,26 @@
jjmatchedKind = 37;
jjmatchedPos = 4;
}
- else if ((active1 & 0x80L) != 0L)
+ else if ((active1 & 0x100L) != 0L)
{
- jjmatchedKind = 71;
+ jjmatchedKind = 72;
jjmatchedPos = 4;
}
- else if ((active1 & 0x800000000L) != 0L)
+ else if ((active1 & 0x1000000000L) != 0L)
{
- jjmatchedKind = 99;
+ jjmatchedKind = 100;
jjmatchedPos = 4;
}
- return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0x40000000000L, active2, 0L);
+ return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0x80000000000L, active2, 0L);
case 69:
if ((active0 & 0x8000000000L) != 0L)
{
jjmatchedKind = 39;
jjmatchedPos = 4;
}
- else if ((active1 & 0x800L) != 0L)
+ else if ((active1 & 0x1000L) != 0L)
{
- jjmatchedKind = 75;
- jjmatchedPos = 4;
- }
- else if ((active1 & 0x10000000000L) != 0L)
- {
- jjmatchedKind = 104;
+ jjmatchedKind = 76;
jjmatchedPos = 4;
}
else if ((active1 & 0x20000000000L) != 0L)
@@ -1113,23 +1118,28 @@
jjmatchedKind = 105;
jjmatchedPos = 4;
}
- else if ((active2 & 0x8L) != 0L)
+ else if ((active1 & 0x40000000000L) != 0L)
{
- jjmatchedKind = 131;
+ jjmatchedKind = 106;
jjmatchedPos = 4;
}
- return jjMoveStringLiteralDfa5_0(active0, 0x240000000L, active1, 0x404000000140L, active2, 0L);
+ else if ((active2 & 0x10L) != 0L)
+ {
+ jjmatchedKind = 132;
+ jjmatchedPos = 4;
+ }
+ return jjMoveStringLiteralDfa5_0(active0, 0x240000000L, active1, 0x808000000280L, active2, 0L);
case 70:
if ((active0 & 0x400000000L) != 0L)
{
jjmatchedKind = 34;
jjmatchedPos = 4;
}
- return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0x800000000000L, active2, 0L);
+ return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0x1000000000000L, active2, 0L);
case 71:
- if ((active2 & 0x1000000L) != 0L)
+ if ((active2 & 0x2000000L) != 0L)
{
- jjmatchedKind = 152;
+ jjmatchedKind = 153;
jjmatchedPos = 4;
}
break;
@@ -1139,21 +1149,16 @@
jjmatchedKind = 41;
jjmatchedPos = 4;
}
- else if ((active1 & 0x2000000000000L) != 0L)
+ else if ((active1 & 0x4000000000000L) != 0L)
{
- jjmatchedKind = 113;
+ jjmatchedKind = 114;
jjmatchedPos = 4;
}
break;
case 73:
- if ((active1 & 0x10000L) != 0L)
+ if ((active1 & 0x20000L) != 0L)
{
- jjmatchedKind = 80;
- jjmatchedPos = 4;
- }
- else if ((active1 & 0x1000000L) != 0L)
- {
- jjmatchedKind = 88;
+ jjmatchedKind = 81;
jjmatchedPos = 4;
}
else if ((active1 & 0x2000000L) != 0L)
@@ -1161,93 +1166,98 @@
jjmatchedKind = 89;
jjmatchedPos = 4;
}
- return jjMoveStringLiteralDfa5_0(active0, 0x400000a00000L, active1, 0x800000000000000L, active2, 0L);
+ else if ((active1 & 0x4000000L) != 0L)
+ {
+ jjmatchedKind = 90;
+ jjmatchedPos = 4;
+ }
+ return jjMoveStringLiteralDfa5_0(active0, 0x400000a00000L, active1, 0x1000000000000000L, active2, 0L);
case 76:
- return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0x10L, active2, 0L);
+ return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0x20L, active2, 0L);
case 77:
- return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0x10800000L, active2, 0L);
+ return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0x21000000L, active2, 0L);
case 78:
if ((active0 & 0x80000000000L) != 0L)
{
jjmatchedKind = 43;
jjmatchedPos = 4;
}
- return jjMoveStringLiteralDfa5_0(active0, 0x10000000000000L, active1, 0x20200000000000L, active2, 0x20000L);
+ return jjMoveStringLiteralDfa5_0(active0, 0x20000000000000L, active1, 0x40400000000000L, active2, 0x40000L);
case 79:
return jjMoveStringLiteralDfa5_0(active0, 0x40000000000L, active1, 0L, active2, 0L);
case 80:
- if ((active0 & 0x8000000000000L) != 0L)
+ if ((active0 & 0x10000000000000L) != 0L)
{
- jjmatchedKind = 51;
+ jjmatchedKind = 52;
jjmatchedPos = 4;
}
- return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0x28L, active2, 0L);
+ return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0x50L, active2, 0L);
case 82:
if ((active0 & 0x80000000L) != 0L)
{
jjmatchedKind = 31;
jjmatchedPos = 4;
}
- else if ((active1 & 0x400000000L) != 0L)
+ else if ((active1 & 0x800000000L) != 0L)
{
- jjmatchedKind = 98;
+ jjmatchedKind = 99;
jjmatchedPos = 4;
}
- else if ((active2 & 0x800L) != 0L)
+ else if ((active2 & 0x1000L) != 0L)
{
- jjmatchedKind = 139;
+ jjmatchedKind = 140;
jjmatchedPos = 4;
}
- return jjMoveStringLiteralDfa5_0(active0, 0x20000004000000L, active1, 0L, active2, 0x20L);
+ return jjMoveStringLiteralDfa5_0(active0, 0x40000004000000L, active1, 0L, active2, 0x40L);
case 83:
if ((active0 & 0x100000000000L) != 0L)
{
jjmatchedKind = 44;
jjmatchedPos = 4;
}
- else if ((active1 & 0x8000000000000L) != 0L)
+ else if ((active1 & 0x10000000000000L) != 0L)
{
- jjmatchedKind = 115;
+ jjmatchedKind = 116;
jjmatchedPos = 4;
}
- return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0x4L, active2, 0L);
+ return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0x8L, active2, 0L);
case 84:
if ((active0 & 0x20000000L) != 0L)
{
jjmatchedKind = 29;
jjmatchedPos = 4;
}
- else if ((active0 & 0x80000000000000L) != 0L)
+ else if ((active0 & 0x100000000000000L) != 0L)
{
- jjmatchedKind = 55;
+ jjmatchedKind = 56;
jjmatchedPos = 4;
}
- else if ((active1 & 0x100000L) != 0L)
+ else if ((active1 & 0x200000L) != 0L)
{
- jjmatchedKind = 84;
+ jjmatchedKind = 85;
jjmatchedPos = 4;
}
- return jjMoveStringLiteralDfa5_0(active0, 0x1000008000000L, active1, 0x10102048220000L, active2, 0x1040L);
+ return jjMoveStringLiteralDfa5_0(active0, 0x2000008000000L, active1, 0x20204090440000L, active2, 0x2080L);
case 85:
- return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0x400000000000000L, active2, 0x200000L);
+ return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0x800000000000000L, active2, 0x400000L);
case 86:
- if ((active0 & 0x4000000000000000L) != 0L)
+ if ((active0 & 0x8000000000000000L) != 0L)
{
- jjmatchedKind = 62;
+ jjmatchedKind = 63;
jjmatchedPos = 4;
}
- return jjMoveStringLiteralDfa5_0(active0, 0x8000000000000000L, active1, 0x1L, active2, 0L);
+ return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0x3L, active2, 0L);
case 88:
- if ((active1 & 0x20000000L) != 0L)
+ if ((active1 & 0x40000000L) != 0L)
{
- jjmatchedKind = 93;
+ jjmatchedKind = 94;
jjmatchedPos = 4;
}
break;
case 90:
- return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0x40000000000000L, active2, 0L);
+ return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0x80000000000000L, active2, 0L);
case 97:
- return jjMoveStringLiteralDfa5_0(active0, 0x1000000000000000L, active1, 0x89004080002L, active2, 0L);
+ return jjMoveStringLiteralDfa5_0(active0, 0x2000000000000000L, active1, 0x112008100004L, active2, 0L);
case 99:
return jjMoveStringLiteralDfa5_0(active0, 0x1400000L, active1, 0L, active2, 0L);
case 100:
@@ -1256,31 +1266,26 @@
jjmatchedKind = 37;
jjmatchedPos = 4;
}
- else if ((active1 & 0x80L) != 0L)
+ else if ((active1 & 0x100L) != 0L)
{
- jjmatchedKind = 71;
+ jjmatchedKind = 72;
jjmatchedPos = 4;
}
- else if ((active1 & 0x800000000L) != 0L)
+ else if ((active1 & 0x1000000000L) != 0L)
{
- jjmatchedKind = 99;
+ jjmatchedKind = 100;
jjmatchedPos = 4;
}
- return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0x40000000000L, active2, 0L);
+ return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0x80000000000L, active2, 0L);
case 101:
if ((active0 & 0x8000000000L) != 0L)
{
jjmatchedKind = 39;
jjmatchedPos = 4;
}
- else if ((active1 & 0x800L) != 0L)
+ else if ((active1 & 0x1000L) != 0L)
{
- jjmatchedKind = 75;
- jjmatchedPos = 4;
- }
- else if ((active1 & 0x10000000000L) != 0L)
- {
- jjmatchedKind = 104;
+ jjmatchedKind = 76;
jjmatchedPos = 4;
}
else if ((active1 & 0x20000000000L) != 0L)
@@ -1288,23 +1293,28 @@
jjmatchedKind = 105;
jjmatchedPos = 4;
}
- else if ((active2 & 0x8L) != 0L)
+ else if ((active1 & 0x40000000000L) != 0L)
{
- jjmatchedKind = 131;
+ jjmatchedKind = 106;
jjmatchedPos = 4;
}
- return jjMoveStringLiteralDfa5_0(active0, 0x240000000L, active1, 0x404000000140L, active2, 0L);
+ else if ((active2 & 0x10L) != 0L)
+ {
+ jjmatchedKind = 132;
+ jjmatchedPos = 4;
+ }
+ return jjMoveStringLiteralDfa5_0(active0, 0x240000000L, active1, 0x808000000280L, active2, 0L);
case 102:
if ((active0 & 0x400000000L) != 0L)
{
jjmatchedKind = 34;
jjmatchedPos = 4;
}
- return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0x800000000000L, active2, 0L);
+ return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0x1000000000000L, active2, 0L);
case 103:
- if ((active2 & 0x1000000L) != 0L)
+ if ((active2 & 0x2000000L) != 0L)
{
- jjmatchedKind = 152;
+ jjmatchedKind = 153;
jjmatchedPos = 4;
}
break;
@@ -1314,21 +1324,16 @@
jjmatchedKind = 41;
jjmatchedPos = 4;
}
- else if ((active1 & 0x2000000000000L) != 0L)
+ else if ((active1 & 0x4000000000000L) != 0L)
{
- jjmatchedKind = 113;
+ jjmatchedKind = 114;
jjmatchedPos = 4;
}
break;
case 105:
- if ((active1 & 0x10000L) != 0L)
+ if ((active1 & 0x20000L) != 0L)
{
- jjmatchedKind = 80;
- jjmatchedPos = 4;
- }
- else if ((active1 & 0x1000000L) != 0L)
- {
- jjmatchedKind = 88;
+ jjmatchedKind = 81;
jjmatchedPos = 4;
}
else if ((active1 & 0x2000000L) != 0L)
@@ -1336,91 +1341,96 @@
jjmatchedKind = 89;
jjmatchedPos = 4;
}
- return jjMoveStringLiteralDfa5_0(active0, 0x400000a00000L, active1, 0x800000000000000L, active2, 0L);
+ else if ((active1 & 0x4000000L) != 0L)
+ {
+ jjmatchedKind = 90;
+ jjmatchedPos = 4;
+ }
+ return jjMoveStringLiteralDfa5_0(active0, 0x400000a00000L, active1, 0x1000000000000000L, active2, 0L);
case 108:
- return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0x10L, active2, 0L);
+ return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0x20L, active2, 0L);
case 109:
- return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0x10800000L, active2, 0L);
+ return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0x21000000L, active2, 0L);
case 110:
if ((active0 & 0x80000000000L) != 0L)
{
jjmatchedKind = 43;
jjmatchedPos = 4;
}
- return jjMoveStringLiteralDfa5_0(active0, 0x10000000000000L, active1, 0x20200000000000L, active2, 0x20000L);
+ return jjMoveStringLiteralDfa5_0(active0, 0x20000000000000L, active1, 0x40400000000000L, active2, 0x40000L);
case 111:
return jjMoveStringLiteralDfa5_0(active0, 0x40000000000L, active1, 0L, active2, 0L);
case 112:
- if ((active0 & 0x8000000000000L) != 0L)
+ if ((active0 & 0x10000000000000L) != 0L)
{
- jjmatchedKind = 51;
+ jjmatchedKind = 52;
jjmatchedPos = 4;
}
- return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0x28L, active2, 0L);
+ return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0x50L, active2, 0L);
case 114:
if ((active0 & 0x80000000L) != 0L)
{
jjmatchedKind = 31;
jjmatchedPos = 4;
}
- else if ((active1 & 0x400000000L) != 0L)
+ else if ((active1 & 0x800000000L) != 0L)
{
- jjmatchedKind = 98;
+ jjmatchedKind = 99;
jjmatchedPos = 4;
}
- else if ((active2 & 0x800L) != 0L)
+ else if ((active2 & 0x1000L) != 0L)
{
- jjmatchedKind = 139;
+ jjmatchedKind = 140;
jjmatchedPos = 4;
}
- return jjMoveStringLiteralDfa5_0(active0, 0x20000004000000L, active1, 0L, active2, 0x20L);
+ return jjMoveStringLiteralDfa5_0(active0, 0x40000004000000L, active1, 0L, active2, 0x40L);
case 115:
if ((active0 & 0x100000000000L) != 0L)
{
jjmatchedKind = 44;
jjmatchedPos = 4;
}
- else if ((active1 & 0x8000000000000L) != 0L)
+ else if ((active1 & 0x10000000000000L) != 0L)
{
- jjmatchedKind = 115;
+ jjmatchedKind = 116;
jjmatchedPos = 4;
}
- return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0x4L, active2, 0L);
+ return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0x8L, active2, 0L);
case 116:
if ((active0 & 0x20000000L) != 0L)
{
jjmatchedKind = 29;
jjmatchedPos = 4;
}
- else if ((active0 & 0x80000000000000L) != 0L)
+ else if ((active0 & 0x100000000000000L) != 0L)
{
- jjmatchedKind = 55;
+ jjmatchedKind = 56;
jjmatchedPos = 4;
}
- else if ((active1 & 0x100000L) != 0L)
+ else if ((active1 & 0x200000L) != 0L)
{
- jjmatchedKind = 84;
+ jjmatchedKind = 85;
jjmatchedPos = 4;
}
- return jjMoveStringLiteralDfa5_0(active0, 0x1000008000000L, active1, 0x10102048220000L, active2, 0x1040L);
+ return jjMoveStringLiteralDfa5_0(active0, 0x2000008000000L, active1, 0x20204090440000L, active2, 0x2080L);
case 117:
- return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0x400000000000000L, active2, 0x200000L);
+ return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0x800000000000000L, active2, 0x400000L);
case 118:
- if ((active0 & 0x4000000000000000L) != 0L)
+ if ((active0 & 0x8000000000000000L) != 0L)
{
- jjmatchedKind = 62;
+ jjmatchedKind = 63;
jjmatchedPos = 4;
}
- return jjMoveStringLiteralDfa5_0(active0, 0x8000000000000000L, active1, 0x1L, active2, 0L);
+ return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0x3L, active2, 0L);
case 120:
- if ((active1 & 0x20000000L) != 0L)
+ if ((active1 & 0x40000000L) != 0L)
{
- jjmatchedKind = 93;
+ jjmatchedKind = 94;
jjmatchedPos = 4;
}
break;
case 122:
- return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0x40000000000000L, active2, 0L);
+ return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0x80000000000000L, active2, 0L);
default :
break;
}
@@ -1436,71 +1446,85 @@
switch(curChar)
{
case 50:
- if ((active2 & 0x2L) != 0L)
+ if ((active2 & 0x4L) != 0L)
{
- jjmatchedKind = 129;
+ jjmatchedKind = 130;
jjmatchedPos = 5;
}
break;
case 52:
- if ((active1 & 0x4000000000000000L) != 0L)
- {
- jjmatchedKind = 126;
- jjmatchedPos = 5;
- }
- else if ((active2 & 0x1L) != 0L)
- {
- jjmatchedKind = 128;
- jjmatchedPos = 5;
- }
- break;
- case 54:
if ((active1 & 0x8000000000000000L) != 0L)
{
jjmatchedKind = 127;
jjmatchedPos = 5;
}
+ else if ((active2 & 0x2L) != 0L)
+ {
+ jjmatchedKind = 129;
+ jjmatchedPos = 5;
+ }
+ break;
+ case 54:
+ if ((active2 & 0x1L) != 0L)
+ {
+ jjmatchedKind = 128;
+ jjmatchedPos = 5;
+ }
break;
case 65:
- return jjMoveStringLiteralDfa6_0(active0, 0x20000000000000L, active1, 0x100000800004L, active2, 0L);
+ return jjMoveStringLiteralDfa6_0(active0, 0x40000000000000L, active1, 0x200001000008L, active2, 0L);
case 67:
- return jjMoveStringLiteralDfa6_0(active0, 0x400000000000L, active1, 0x8000000000L, active2, 0L);
+ return jjMoveStringLiteralDfa6_0(active0, 0x400000000000L, active1, 0x10000000000L, active2, 0L);
case 68:
- return jjMoveStringLiteralDfa6_0(active0, 0L, active1, 0x20200000000000L, active2, 0L);
+ return jjMoveStringLiteralDfa6_0(active0, 0L, active1, 0x40400000000000L, active2, 0L);
case 69:
- if ((active1 & 0x10L) != 0L)
+ if ((active1 & 0x20L) != 0L)
{
- jjmatchedKind = 68;
+ jjmatchedKind = 69;
jjmatchedPos = 5;
}
- else if ((active2 & 0x40L) != 0L)
+ else if ((active2 & 0x80L) != 0L)
{
- jjmatchedKind = 134;
+ jjmatchedKind = 135;
jjmatchedPos = 5;
}
- else if ((active2 & 0x1000L) != 0L)
+ else if ((active2 & 0x2000L) != 0L)
{
- jjmatchedKind = 140;
+ jjmatchedKind = 141;
jjmatchedPos = 5;
}
- return jjMoveStringLiteralDfa6_0(active0, 0x1000000L, active1, 0x10040058020000L, active2, 0L);
+ return jjMoveStringLiteralDfa6_0(active0, 0x1000000L, active1, 0x200800b0040000L, active2, 0L);
case 70:
- return jjMoveStringLiteralDfa6_0(active0, 0L, active1, 0x400000000000L, active2, 0L);
+ return jjMoveStringLiteralDfa6_0(active0, 0L, active1, 0x800000000000L, active2, 0L);
case 71:
- if ((active0 & 0x10000000000000L) != 0L)
+ if ((active0 & 0x20000000000000L) != 0L)
{
- jjmatchedKind = 52;
+ jjmatchedKind = 53;
jjmatchedPos = 5;
}
break;
case 73:
- return jjMoveStringLiteralDfa6_0(active0, 0x4000000L, active1, 0x400080000000000L, active2, 0L);
+ return jjMoveStringLiteralDfa6_0(active0, 0x4000000L, active1, 0x800100000000000L, active2, 0L);
case 76:
- return jjMoveStringLiteralDfa6_0(active0, 0L, active1, 0L, active2, 0x200000L);
+ return jjMoveStringLiteralDfa6_0(active0, 0L, active1, 0L, active2, 0x400000L);
case 78:
- if ((active0 & 0x1000000000000000L) != 0L)
+ if ((active0 & 0x2000000000000000L) != 0L)
{
- jjmatchedKind = 60;
+ jjmatchedKind = 61;
+ jjmatchedPos = 5;
+ }
+ else if ((active1 & 0x8000000000L) != 0L)
+ {
+ jjmatchedKind = 103;
+ jjmatchedPos = 5;
+ }
+ return jjMoveStringLiteralDfa6_0(active0, 0x40000800000L, active1, 0x8100004L, active2, 0L);
+ case 79:
+ return jjMoveStringLiteralDfa6_0(active0, 0L, active1, 0x1080000000000010L, active2, 0L);
+ case 82:
+ if ((active1 & 0x80L) != 0L)
+ {
+ jjmatchedKind = 71;
jjmatchedPos = 5;
}
else if ((active1 & 0x4000000000L) != 0L)
@@ -1508,20 +1532,6 @@
jjmatchedKind = 102;
jjmatchedPos = 5;
}
- return jjMoveStringLiteralDfa6_0(active0, 0x40000800000L, active1, 0x4080002L, active2, 0L);
- case 79:
- return jjMoveStringLiteralDfa6_0(active0, 0L, active1, 0x840000000000008L, active2, 0L);
- case 82:
- if ((active1 & 0x40L) != 0L)
- {
- jjmatchedKind = 70;
- jjmatchedPos = 5;
- }
- else if ((active1 & 0x2000000000L) != 0L)
- {
- jjmatchedKind = 101;
- jjmatchedPos = 5;
- }
return jjMoveStringLiteralDfa6_0(active0, 0x8000000L, active1, 0L, active2, 0L);
case 83:
if ((active0 & 0x200000000L) != 0L)
@@ -1529,12 +1539,12 @@
jjmatchedKind = 33;
jjmatchedPos = 5;
}
- else if ((active0 & 0x1000000000000L) != 0L)
+ else if ((active0 & 0x2000000000000L) != 0L)
{
- jjmatchedKind = 48;
+ jjmatchedKind = 49;
jjmatchedPos = 5;
}
- return jjMoveStringLiteralDfa6_0(active0, 0L, active1, 0x100L, active2, 0L);
+ return jjMoveStringLiteralDfa6_0(active0, 0L, active1, 0x200L, active2, 0L);
case 84:
if ((active0 & 0x400000L) != 0L)
{
@@ -1546,22 +1556,22 @@
jjmatchedKind = 30;
jjmatchedPos = 5;
}
- else if ((active1 & 0x1000000000L) != 0L)
+ else if ((active1 & 0x2000000000L) != 0L)
{
- jjmatchedKind = 100;
+ jjmatchedKind = 101;
jjmatchedPos = 5;
}
- else if ((active2 & 0x20L) != 0L)
+ else if ((active2 & 0x40L) != 0L)
{
- jjmatchedKind = 133;
+ jjmatchedKind = 134;
jjmatchedPos = 5;
}
- else if ((active2 & 0x20000L) != 0L)
+ else if ((active2 & 0x40000L) != 0L)
{
- jjmatchedKind = 145;
+ jjmatchedKind = 146;
jjmatchedPos = 5;
}
- return jjMoveStringLiteralDfa6_0(active0, 0L, active1, 0x800000000000L, active2, 0L);
+ return jjMoveStringLiteralDfa6_0(active0, 0L, active1, 0x1000000000000L, active2, 0L);
case 88:
if ((active0 & 0x200000L) != 0L)
{
@@ -1570,49 +1580,63 @@
}
break;
case 89:
- return jjMoveStringLiteralDfa6_0(active0, 0L, active1, 0x200000L, active2, 0L);
+ return jjMoveStringLiteralDfa6_0(active0, 0L, active1, 0x400000L, active2, 0L);
case 95:
- return jjMoveStringLiteralDfa6_0(active0, 0x8000000000000000L, active1, 0x21L, active2, 0L);
+ return jjMoveStringLiteralDfa6_0(active0, 0L, active1, 0x43L, active2, 0L);
case 97:
- return jjMoveStringLiteralDfa6_0(active0, 0x20000000000000L, active1, 0x100000800004L, active2, 0L);
+ return jjMoveStringLiteralDfa6_0(active0, 0x40000000000000L, active1, 0x200001000008L, active2, 0L);
case 99:
- return jjMoveStringLiteralDfa6_0(active0, 0x400000000000L, active1, 0x8000000000L, active2, 0L);
+ return jjMoveStringLiteralDfa6_0(active0, 0x400000000000L, active1, 0x10000000000L, active2, 0L);
case 100:
- return jjMoveStringLiteralDfa6_0(active0, 0L, active1, 0x20200000000000L, active2, 0L);
+ return jjMoveStringLiteralDfa6_0(active0, 0L, active1, 0x40400000000000L, active2, 0L);
case 101:
- if ((active1 & 0x10L) != 0L)
+ if ((active1 & 0x20L) != 0L)
{
- jjmatchedKind = 68;
+ jjmatchedKind = 69;
jjmatchedPos = 5;
}
- else if ((active2 & 0x40L) != 0L)
+ else if ((active2 & 0x80L) != 0L)
{
- jjmatchedKind = 134;
+ jjmatchedKind = 135;
jjmatchedPos = 5;
}
- else if ((active2 & 0x1000L) != 0L)
+ else if ((active2 & 0x2000L) != 0L)
{
- jjmatchedKind = 140;
+ jjmatchedKind = 141;
jjmatchedPos = 5;
}
- return jjMoveStringLiteralDfa6_0(active0, 0x1000000L, active1, 0x10040058020000L, active2, 0L);
+ return jjMoveStringLiteralDfa6_0(active0, 0x1000000L, active1, 0x200800b0040000L, active2, 0L);
case 102:
- return jjMoveStringLiteralDfa6_0(active0, 0L, active1, 0x400000000000L, active2, 0L);
+ return jjMoveStringLiteralDfa6_0(active0, 0L, active1, 0x800000000000L, active2, 0L);
case 103:
- if ((active0 & 0x10000000000000L) != 0L)
+ if ((active0 & 0x20000000000000L) != 0L)
{
- jjmatchedKind = 52;
+ jjmatchedKind = 53;
jjmatchedPos = 5;
}
break;
case 105:
- return jjMoveStringLiteralDfa6_0(active0, 0x4000000L, active1, 0x400080000000000L, active2, 0L);
+ return jjMoveStringLiteralDfa6_0(active0, 0x4000000L, active1, 0x800100000000000L, active2, 0L);
case 108:
- return jjMoveStringLiteralDfa6_0(active0, 0L, active1, 0L, active2, 0x200000L);
+ return jjMoveStringLiteralDfa6_0(active0, 0L, active1, 0L, active2, 0x400000L);
case 110:
- if ((active0 & 0x1000000000000000L) != 0L)
+ if ((active0 & 0x2000000000000000L) != 0L)
{
- jjmatchedKind = 60;
+ jjmatchedKind = 61;
+ jjmatchedPos = 5;
+ }
+ else if ((active1 & 0x8000000000L) != 0L)
+ {
+ jjmatchedKind = 103;
+ jjmatchedPos = 5;
+ }
+ return jjMoveStringLiteralDfa6_0(active0, 0x40000800000L, active1, 0x8100004L, active2, 0L);
+ case 111:
+ return jjMoveStringLiteralDfa6_0(active0, 0L, active1, 0x1080000000000010L, active2, 0L);
+ case 114:
+ if ((active1 & 0x80L) != 0L)
+ {
+ jjmatchedKind = 71;
jjmatchedPos = 5;
}
else if ((active1 & 0x4000000000L) != 0L)
@@ -1620,20 +1644,6 @@
jjmatchedKind = 102;
jjmatchedPos = 5;
}
- return jjMoveStringLiteralDfa6_0(active0, 0x40000800000L, active1, 0x4080002L, active2, 0L);
- case 111:
- return jjMoveStringLiteralDfa6_0(active0, 0L, active1, 0x840000000000008L, active2, 0L);
- case 114:
- if ((active1 & 0x40L) != 0L)
- {
- jjmatchedKind = 70;
- jjmatchedPos = 5;
- }
- else if ((active1 & 0x2000000000L) != 0L)
- {
- jjmatchedKind = 101;
- jjmatchedPos = 5;
- }
return jjMoveStringLiteralDfa6_0(active0, 0x8000000L, active1, 0L, active2, 0L);
case 115:
if ((active0 & 0x200000000L) != 0L)
@@ -1641,12 +1651,12 @@
jjmatchedKind = 33;
jjmatchedPos = 5;
}
- else if ((active0 & 0x1000000000000L) != 0L)
+ else if ((active0 & 0x2000000000000L) != 0L)
{
- jjmatchedKind = 48;
+ jjmatchedKind = 49;
jjmatchedPos = 5;
}
- return jjMoveStringLiteralDfa6_0(active0, 0L, active1, 0x100L, active2, 0L);
+ return jjMoveStringLiteralDfa6_0(active0, 0L, active1, 0x200L, active2, 0L);
case 116:
if ((active0 & 0x400000L) != 0L)
{
@@ -1658,22 +1668,22 @@
jjmatchedKind = 30;
jjmatchedPos = 5;
}
- else if ((active1 & 0x1000000000L) != 0L)
+ else if ((active1 & 0x2000000000L) != 0L)
{
- jjmatchedKind = 100;
+ jjmatchedKind = 101;
jjmatchedPos = 5;
}
- else if ((active2 & 0x20L) != 0L)
+ else if ((active2 & 0x40L) != 0L)
{
- jjmatchedKind = 133;
+ jjmatchedKind = 134;
jjmatchedPos = 5;
}
- else if ((active2 & 0x20000L) != 0L)
+ else if ((active2 & 0x40000L) != 0L)
{
- jjmatchedKind = 145;
+ jjmatchedKind = 146;
jjmatchedPos = 5;
}
- return jjMoveStringLiteralDfa6_0(active0, 0L, active1, 0x800000000000L, active2, 0L);
+ return jjMoveStringLiteralDfa6_0(active0, 0L, active1, 0x1000000000000L, active2, 0L);
case 120:
if ((active0 & 0x200000L) != 0L)
{
@@ -1682,7 +1692,7 @@
}
break;
case 121:
- return jjMoveStringLiteralDfa6_0(active0, 0L, active1, 0x200000L, active2, 0L);
+ return jjMoveStringLiteralDfa6_0(active0, 0L, active1, 0x400000L, active2, 0L);
default :
break;
}
@@ -1702,16 +1712,16 @@
case 66:
return jjMoveStringLiteralDfa7_0(active0, 0x4000000L, active1, 0L, active2, 0L);
case 67:
- return jjMoveStringLiteralDfa7_0(active0, 0x800000L, active1, 0x122L, active2, 0L);
+ return jjMoveStringLiteralDfa7_0(active0, 0x800000L, active1, 0x244L, active2, 0L);
case 68:
if ((active0 & 0x1000000L) != 0L)
{
jjmatchedKind = 24;
jjmatchedPos = 6;
}
- else if ((active1 & 0x400000000000000L) != 0L)
+ else if ((active1 & 0x800000000000000L) != 0L)
{
- jjmatchedKind = 122;
+ jjmatchedKind = 123;
jjmatchedPos = 6;
}
break;
@@ -1721,55 +1731,50 @@
jjmatchedKind = 46;
jjmatchedPos = 6;
}
- else if ((active1 & 0x8000000000L) != 0L)
+ else if ((active1 & 0x10000000000L) != 0L)
{
- jjmatchedKind = 103;
+ jjmatchedKind = 104;
jjmatchedPos = 6;
}
- return jjMoveStringLiteralDfa7_0(active0, 0L, active1, 0x800000000000L, active2, 0L);
+ return jjMoveStringLiteralDfa7_0(active0, 0L, active1, 0x1000000000000L, active2, 0L);
case 71:
- if ((active1 & 0x80000L) != 0L)
+ if ((active1 & 0x100000L) != 0L)
{
- jjmatchedKind = 83;
+ jjmatchedKind = 84;
jjmatchedPos = 6;
}
break;
case 75:
- if ((active1 & 0x4000000L) != 0L)
+ if ((active1 & 0x8000000L) != 0L)
{
- jjmatchedKind = 90;
+ jjmatchedKind = 91;
jjmatchedPos = 6;
}
break;
case 77:
- return jjMoveStringLiteralDfa7_0(active0, 0L, active1, 0x4L, active2, 0L);
+ return jjMoveStringLiteralDfa7_0(active0, 0L, active1, 0x8L, active2, 0L);
case 78:
- if ((active1 & 0x800000000000000L) != 0L)
+ if ((active1 & 0x1000000000000000L) != 0L)
{
- jjmatchedKind = 123;
+ jjmatchedKind = 124;
jjmatchedPos = 6;
}
- return jjMoveStringLiteralDfa7_0(active0, 0L, active1, 0x40080000000000L, active2, 0L);
+ return jjMoveStringLiteralDfa7_0(active0, 0L, active1, 0x80100000000000L, active2, 0L);
case 79:
- return jjMoveStringLiteralDfa7_0(active0, 0L, active1, 0x400000000000L, active2, 0L);
+ return jjMoveStringLiteralDfa7_0(active0, 0L, active1, 0x800000000000L, active2, 0L);
case 80:
- if ((active1 & 0x8L) != 0L)
+ if ((active1 & 0x10L) != 0L)
{
- jjmatchedKind = 67;
+ jjmatchedKind = 68;
jjmatchedPos = 6;
}
- return jjMoveStringLiteralDfa7_0(active0, 0L, active1, 0x200001L, active2, 0L);
+ return jjMoveStringLiteralDfa7_0(active0, 0L, active1, 0x400002L, active2, 0L);
case 82:
- return jjMoveStringLiteralDfa7_0(active0, 0L, active1, 0x100058000000L, active2, 0L);
+ return jjMoveStringLiteralDfa7_0(active0, 0L, active1, 0x2000b0000000L, active2, 0L);
case 83:
- if ((active1 & 0x200000000000L) != 0L)
+ if ((active1 & 0x400000000000L) != 0L)
{
- jjmatchedKind = 109;
- jjmatchedPos = 6;
- }
- else if ((active1 & 0x10000000000000L) != 0L)
- {
- jjmatchedKind = 116;
+ jjmatchedKind = 110;
jjmatchedPos = 6;
}
else if ((active1 & 0x20000000000000L) != 0L)
@@ -1777,33 +1782,38 @@
jjmatchedKind = 117;
jjmatchedPos = 6;
}
- return jjMoveStringLiteralDfa7_0(active0, 0x8000000000000000L, active1, 0x20000L, active2, 0L);
- case 84:
- if ((active2 & 0x200000L) != 0L)
+ else if ((active1 & 0x40000000000000L) != 0L)
{
- jjmatchedKind = 149;
+ jjmatchedKind = 118;
jjmatchedPos = 6;
}
- return jjMoveStringLiteralDfa7_0(active0, 0x20000000000000L, active1, 0x800000L, active2, 0L);
+ return jjMoveStringLiteralDfa7_0(active0, 0L, active1, 0x40001L, active2, 0L);
+ case 84:
+ if ((active2 & 0x400000L) != 0L)
+ {
+ jjmatchedKind = 150;
+ jjmatchedPos = 6;
+ }
+ return jjMoveStringLiteralDfa7_0(active0, 0x40000000000000L, active1, 0x1000000L, active2, 0L);
case 85:
return jjMoveStringLiteralDfa7_0(active0, 0x8000000L, active1, 0L, active2, 0L);
case 95:
- return jjMoveStringLiteralDfa7_0(active0, 0L, active1, 0x40000000000L, active2, 0L);
+ return jjMoveStringLiteralDfa7_0(active0, 0L, active1, 0x80000000000L, active2, 0L);
case 97:
return jjMoveStringLiteralDfa7_0(active0, 0x40000000000L, active1, 0L, active2, 0L);
case 98:
return jjMoveStringLiteralDfa7_0(active0, 0x4000000L, active1, 0L, active2, 0L);
case 99:
- return jjMoveStringLiteralDfa7_0(active0, 0x800000L, active1, 0x122L, active2, 0L);
+ return jjMoveStringLiteralDfa7_0(active0, 0x800000L, active1, 0x244L, active2, 0L);
case 100:
if ((active0 & 0x1000000L) != 0L)
{
jjmatchedKind = 24;
jjmatchedPos = 6;
}
- else if ((active1 & 0x400000000000000L) != 0L)
+ else if ((active1 & 0x800000000000000L) != 0L)
{
- jjmatchedKind = 122;
+ jjmatchedKind = 123;
jjmatchedPos = 6;
}
break;
@@ -1813,55 +1823,50 @@
jjmatchedKind = 46;
jjmatchedPos = 6;
}
- else if ((active1 & 0x8000000000L) != 0L)
+ else if ((active1 & 0x10000000000L) != 0L)
{
- jjmatchedKind = 103;
+ jjmatchedKind = 104;
jjmatchedPos = 6;
}
- return jjMoveStringLiteralDfa7_0(active0, 0L, active1, 0x800000000000L, active2, 0L);
+ return jjMoveStringLiteralDfa7_0(active0, 0L, active1, 0x1000000000000L, active2, 0L);
case 103:
- if ((active1 & 0x80000L) != 0L)
+ if ((active1 & 0x100000L) != 0L)
{
- jjmatchedKind = 83;
+ jjmatchedKind = 84;
jjmatchedPos = 6;
}
break;
case 107:
- if ((active1 & 0x4000000L) != 0L)
+ if ((active1 & 0x8000000L) != 0L)
{
- jjmatchedKind = 90;
+ jjmatchedKind = 91;
jjmatchedPos = 6;
}
break;
case 109:
- return jjMoveStringLiteralDfa7_0(active0, 0L, active1, 0x4L, active2, 0L);
+ return jjMoveStringLiteralDfa7_0(active0, 0L, active1, 0x8L, active2, 0L);
case 110:
- if ((active1 & 0x800000000000000L) != 0L)
+ if ((active1 & 0x1000000000000000L) != 0L)
{
- jjmatchedKind = 123;
+ jjmatchedKind = 124;
jjmatchedPos = 6;
}
- return jjMoveStringLiteralDfa7_0(active0, 0L, active1, 0x40080000000000L, active2, 0L);
+ return jjMoveStringLiteralDfa7_0(active0, 0L, active1, 0x80100000000000L, active2, 0L);
case 111:
- return jjMoveStringLiteralDfa7_0(active0, 0L, active1, 0x400000000000L, active2, 0L);
+ return jjMoveStringLiteralDfa7_0(active0, 0L, active1, 0x800000000000L, active2, 0L);
case 112:
- if ((active1 & 0x8L) != 0L)
+ if ((active1 & 0x10L) != 0L)
{
- jjmatchedKind = 67;
+ jjmatchedKind = 68;
jjmatchedPos = 6;
}
- return jjMoveStringLiteralDfa7_0(active0, 0L, active1, 0x200001L, active2, 0L);
+ return jjMoveStringLiteralDfa7_0(active0, 0L, active1, 0x400002L, active2, 0L);
case 114:
- return jjMoveStringLiteralDfa7_0(active0, 0L, active1, 0x100058000000L, active2, 0L);
+ return jjMoveStringLiteralDfa7_0(active0, 0L, active1, 0x2000b0000000L, active2, 0L);
case 115:
- if ((active1 & 0x200000000000L) != 0L)
+ if ((active1 & 0x400000000000L) != 0L)
{
- jjmatchedKind = 109;
- jjmatchedPos = 6;
- }
- else if ((active1 & 0x10000000000000L) != 0L)
- {
- jjmatchedKind = 116;
+ jjmatchedKind = 110;
jjmatchedPos = 6;
}
else if ((active1 & 0x20000000000000L) != 0L)
@@ -1869,14 +1874,19 @@
jjmatchedKind = 117;
jjmatchedPos = 6;
}
- return jjMoveStringLiteralDfa7_0(active0, 0x8000000000000000L, active1, 0x20000L, active2, 0L);
- case 116:
- if ((active2 & 0x200000L) != 0L)
+ else if ((active1 & 0x40000000000000L) != 0L)
{
- jjmatchedKind = 149;
+ jjmatchedKind = 118;
jjmatchedPos = 6;
}
- return jjMoveStringLiteralDfa7_0(active0, 0x20000000000000L, active1, 0x800000L, active2, 0L);
+ return jjMoveStringLiteralDfa7_0(active0, 0L, active1, 0x40001L, active2, 0L);
+ case 116:
+ if ((active2 & 0x400000L) != 0L)
+ {
+ jjmatchedKind = 150;
+ jjmatchedPos = 6;
+ }
+ return jjMoveStringLiteralDfa7_0(active0, 0x40000000000000L, active1, 0x1000000L, active2, 0L);
case 117:
return jjMoveStringLiteralDfa7_0(active0, 0x8000000L, active1, 0L, active2, 0L);
default :
@@ -1894,40 +1904,40 @@
switch(curChar)
{
case 65:
- return jjMoveStringLiteralDfa8_0(active0, 0x8000000000000000L, active1, 0x8000000L);
+ return jjMoveStringLiteralDfa8_0(active0, 0L, active1, 0x10000001L);
case 67:
- return jjMoveStringLiteralDfa8_0(active0, 0x8000000L, active1, 0x800000L);
+ return jjMoveStringLiteralDfa8_0(active0, 0x8000000L, active1, 0x1000000L);
case 69:
if ((active0 & 0x4000000L) != 0L)
{
jjmatchedKind = 26;
jjmatchedPos = 7;
}
- else if ((active1 & 0x2L) != 0L)
+ else if ((active1 & 0x4L) != 0L)
{
- jjmatchedKind = 65;
+ jjmatchedKind = 66;
jjmatchedPos = 7;
}
- else if ((active1 & 0x100L) != 0L)
+ else if ((active1 & 0x200L) != 0L)
{
- jjmatchedKind = 72;
+ jjmatchedKind = 73;
jjmatchedPos = 7;
}
- else if ((active1 & 0x200000L) != 0L)
+ else if ((active1 & 0x400000L) != 0L)
{
- jjmatchedKind = 85;
+ jjmatchedKind = 86;
jjmatchedPos = 7;
}
- else if ((active1 & 0x40000000000000L) != 0L)
+ else if ((active1 & 0x80000000000000L) != 0L)
{
- jjmatchedKind = 118;
+ jjmatchedKind = 119;
jjmatchedPos = 7;
}
break;
case 70:
- return jjMoveStringLiteralDfa8_0(active0, 0L, active1, 0x40000000000L);
+ return jjMoveStringLiteralDfa8_0(active0, 0L, active1, 0x80000000000L);
case 73:
- return jjMoveStringLiteralDfa8_0(active0, 0L, active1, 0x10000000L);
+ return jjMoveStringLiteralDfa8_0(active0, 0L, active1, 0x20000000L);
case 76:
if ((active0 & 0x40000000000L) != 0L)
{
@@ -1936,32 +1946,32 @@
}
break;
case 77:
- if ((active1 & 0x40000000L) != 0L)
+ if ((active1 & 0x80000000L) != 0L)
{
- jjmatchedKind = 94;
+ jjmatchedKind = 95;
jjmatchedPos = 7;
}
break;
case 79:
- return jjMoveStringLiteralDfa8_0(active0, 0x20000000000000L, active1, 0x21L);
+ return jjMoveStringLiteralDfa8_0(active0, 0x40000000000000L, active1, 0x42L);
case 80:
- if ((active1 & 0x4L) != 0L)
+ if ((active1 & 0x8L) != 0L)
{
- jjmatchedKind = 66;
+ jjmatchedKind = 67;
jjmatchedPos = 7;
}
break;
case 82:
- if ((active1 & 0x800000000000L) != 0L)
+ if ((active1 & 0x1000000000000L) != 0L)
{
- jjmatchedKind = 111;
+ jjmatchedKind = 112;
jjmatchedPos = 7;
}
- return jjMoveStringLiteralDfa8_0(active0, 0L, active1, 0x400000000000L);
+ return jjMoveStringLiteralDfa8_0(active0, 0L, active1, 0x800000000000L);
case 83:
- if ((active1 & 0x80000000000L) != 0L)
+ if ((active1 & 0x100000000000L) != 0L)
{
- jjmatchedKind = 107;
+ jjmatchedKind = 108;
jjmatchedPos = 7;
}
break;
@@ -1971,47 +1981,47 @@
jjmatchedKind = 23;
jjmatchedPos = 7;
}
- else if ((active1 & 0x20000L) != 0L)
+ else if ((active1 & 0x40000L) != 0L)
{
- jjmatchedKind = 81;
+ jjmatchedKind = 82;
jjmatchedPos = 7;
}
- return jjMoveStringLiteralDfa8_0(active0, 0L, active1, 0x100000000000L);
+ return jjMoveStringLiteralDfa8_0(active0, 0L, active1, 0x200000000000L);
case 97:
- return jjMoveStringLiteralDfa8_0(active0, 0x8000000000000000L, active1, 0x8000000L);
+ return jjMoveStringLiteralDfa8_0(active0, 0L, active1, 0x10000001L);
case 99:
- return jjMoveStringLiteralDfa8_0(active0, 0x8000000L, active1, 0x800000L);
+ return jjMoveStringLiteralDfa8_0(active0, 0x8000000L, active1, 0x1000000L);
case 101:
if ((active0 & 0x4000000L) != 0L)
{
jjmatchedKind = 26;
jjmatchedPos = 7;
}
- else if ((active1 & 0x2L) != 0L)
+ else if ((active1 & 0x4L) != 0L)
{
- jjmatchedKind = 65;
+ jjmatchedKind = 66;
jjmatchedPos = 7;
}
- else if ((active1 & 0x100L) != 0L)
+ else if ((active1 & 0x200L) != 0L)
{
- jjmatchedKind = 72;
+ jjmatchedKind = 73;
jjmatchedPos = 7;
}
- else if ((active1 & 0x200000L) != 0L)
+ else if ((active1 & 0x400000L) != 0L)
{
- jjmatchedKind = 85;
+ jjmatchedKind = 86;
jjmatchedPos = 7;
}
- else if ((active1 & 0x40000000000000L) != 0L)
+ else if ((active1 & 0x80000000000000L) != 0L)
{
- jjmatchedKind = 118;
+ jjmatchedKind = 119;
jjmatchedPos = 7;
}
break;
case 102:
- return jjMoveStringLiteralDfa8_0(active0, 0L, active1, 0x40000000000L);
+ return jjMoveStringLiteralDfa8_0(active0, 0L, active1, 0x80000000000L);
case 105:
- return jjMoveStringLiteralDfa8_0(active0, 0L, active1, 0x10000000L);
+ return jjMoveStringLiteralDfa8_0(active0, 0L, active1, 0x20000000L);
case 108:
if ((active0 & 0x40000000000L) != 0L)
{
@@ -2020,32 +2030,32 @@
}
break;
case 109:
- if ((active1 & 0x40000000L) != 0L)
+ if ((active1 & 0x80000000L) != 0L)
{
- jjmatchedKind = 94;
+ jjmatchedKind = 95;
jjmatchedPos = 7;
}
break;
case 111:
- return jjMoveStringLiteralDfa8_0(active0, 0x20000000000000L, active1, 0x21L);
+ return jjMoveStringLiteralDfa8_0(active0, 0x40000000000000L, active1, 0x42L);
case 112:
- if ((active1 & 0x4L) != 0L)
+ if ((active1 & 0x8L) != 0L)
{
- jjmatchedKind = 66;
+ jjmatchedKind = 67;
jjmatchedPos = 7;
}
break;
case 114:
- if ((active1 & 0x800000000000L) != 0L)
+ if ((active1 & 0x1000000000000L) != 0L)
{
- jjmatchedKind = 111;
+ jjmatchedKind = 112;
jjmatchedPos = 7;
}
- return jjMoveStringLiteralDfa8_0(active0, 0L, active1, 0x400000000000L);
+ return jjMoveStringLiteralDfa8_0(active0, 0L, active1, 0x800000000000L);
case 115:
- if ((active1 & 0x80000000000L) != 0L)
+ if ((active1 & 0x100000000000L) != 0L)
{
- jjmatchedKind = 107;
+ jjmatchedKind = 108;
jjmatchedPos = 7;
}
break;
@@ -2055,12 +2065,12 @@
jjmatchedKind = 23;
jjmatchedPos = 7;
}
- else if ((active1 & 0x20000L) != 0L)
+ else if ((active1 & 0x40000L) != 0L)
{
- jjmatchedKind = 81;
+ jjmatchedKind = 82;
jjmatchedPos = 7;
}
- return jjMoveStringLiteralDfa8_0(active0, 0L, active1, 0x100000000000L);
+ return jjMoveStringLiteralDfa8_0(active0, 0L, active1, 0x200000000000L);
default :
break;
}
@@ -2076,52 +2086,52 @@
switch(curChar)
{
case 67:
+ if ((active1 & 0x20000000L) != 0L)
+ {
+ jjmatchedKind = 93;
+ jjmatchedPos = 8;
+ }
+ break;
+ case 69:
+ if ((active1 & 0x800000000000L) != 0L)
+ {
+ jjmatchedKind = 111;
+ jjmatchedPos = 8;
+ }
+ break;
+ case 72:
+ return jjMoveStringLiteralDfa9_0(active0, 0L, active1, 0x1000000L);
+ case 76:
if ((active1 & 0x10000000L) != 0L)
{
jjmatchedKind = 92;
jjmatchedPos = 8;
}
break;
- case 69:
- if ((active1 & 0x400000000000L) != 0L)
- {
- jjmatchedKind = 110;
- jjmatchedPos = 8;
- }
- break;
- case 72:
- return jjMoveStringLiteralDfa9_0(active0, 0L, active1, 0x800000L);
- case 76:
- if ((active1 & 0x8000000L) != 0L)
- {
- jjmatchedKind = 91;
- jjmatchedPos = 8;
- }
- break;
case 77:
- return jjMoveStringLiteralDfa9_0(active0, 0x8000000000000000L, active1, 0L);
+ return jjMoveStringLiteralDfa9_0(active0, 0L, active1, 0x1L);
case 78:
- return jjMoveStringLiteralDfa9_0(active0, 0L, active1, 0x20L);
+ return jjMoveStringLiteralDfa9_0(active0, 0L, active1, 0x40L);
case 79:
- return jjMoveStringLiteralDfa9_0(active0, 0L, active1, 0x40000000000L);
+ return jjMoveStringLiteralDfa9_0(active0, 0L, active1, 0x80000000000L);
case 80:
- if ((active1 & 0x1L) != 0L)
+ if ((active1 & 0x2L) != 0L)
{
- jjmatchedKind = 64;
+ jjmatchedKind = 65;
jjmatchedPos = 8;
}
break;
case 82:
- if ((active0 & 0x20000000000000L) != 0L)
+ if ((active0 & 0x40000000000000L) != 0L)
{
- jjmatchedKind = 53;
+ jjmatchedKind = 54;
jjmatchedPos = 8;
}
break;
case 83:
- if ((active1 & 0x100000000000L) != 0L)
+ if ((active1 & 0x200000000000L) != 0L)
{
- jjmatchedKind = 108;
+ jjmatchedKind = 109;
jjmatchedPos = 8;
}
break;
@@ -2133,52 +2143,52 @@
}
break;
case 99:
+ if ((active1 & 0x20000000L) != 0L)
+ {
+ jjmatchedKind = 93;
+ jjmatchedPos = 8;
+ }
+ break;
+ case 101:
+ if ((active1 & 0x800000000000L) != 0L)
+ {
+ jjmatchedKind = 111;
+ jjmatchedPos = 8;
+ }
+ break;
+ case 104:
+ return jjMoveStringLiteralDfa9_0(active0, 0L, active1, 0x1000000L);
+ case 108:
if ((active1 & 0x10000000L) != 0L)
{
jjmatchedKind = 92;
jjmatchedPos = 8;
}
break;
- case 101:
- if ((active1 & 0x400000000000L) != 0L)
- {
- jjmatchedKind = 110;
- jjmatchedPos = 8;
- }
- break;
- case 104:
- return jjMoveStringLiteralDfa9_0(active0, 0L, active1, 0x800000L);
- case 108:
- if ((active1 & 0x8000000L) != 0L)
- {
- jjmatchedKind = 91;
- jjmatchedPos = 8;
- }
- break;
case 109:
- return jjMoveStringLiteralDfa9_0(active0, 0x8000000000000000L, active1, 0L);
+ return jjMoveStringLiteralDfa9_0(active0, 0L, active1, 0x1L);
case 110:
- return jjMoveStringLiteralDfa9_0(active0, 0L, active1, 0x20L);
+ return jjMoveStringLiteralDfa9_0(active0, 0L, active1, 0x40L);
case 111:
- return jjMoveStringLiteralDfa9_0(active0, 0L, active1, 0x40000000000L);
+ return jjMoveStringLiteralDfa9_0(active0, 0L, active1, 0x80000000000L);
case 112:
- if ((active1 & 0x1L) != 0L)
+ if ((active1 & 0x2L) != 0L)
{
- jjmatchedKind = 64;
+ jjmatchedKind = 65;
jjmatchedPos = 8;
}
break;
case 114:
- if ((active0 & 0x20000000000000L) != 0L)
+ if ((active0 & 0x40000000000000L) != 0L)
{
- jjmatchedKind = 53;
+ jjmatchedKind = 54;
jjmatchedPos = 8;
}
break;
case 115:
- if ((active1 & 0x100000000000L) != 0L)
+ if ((active1 & 0x200000000000L) != 0L)
{
- jjmatchedKind = 108;
+ jjmatchedKind = 109;
jjmatchedPos = 8;
}
break;
@@ -2204,38 +2214,38 @@
switch(curChar)
{
case 67:
- return jjMoveStringLiteralDfa10_0(active0, 0L, active1, 0x20L);
+ return jjMoveStringLiteralDfa10_0(active1, 0x40L);
case 69:
- return jjMoveStringLiteralDfa10_0(active0, 0L, active1, 0x800000L);
+ return jjMoveStringLiteralDfa10_0(active1, 0x1000000L);
case 80:
- if ((active0 & 0x8000000000000000L) != 0L)
+ if ((active1 & 0x1L) != 0L)
{
- jjmatchedKind = 63;
+ jjmatchedKind = 64;
jjmatchedPos = 9;
}
break;
case 82:
- return jjMoveStringLiteralDfa10_0(active0, 0L, active1, 0x40000000000L);
+ return jjMoveStringLiteralDfa10_0(active1, 0x80000000000L);
case 99:
- return jjMoveStringLiteralDfa10_0(active0, 0L, active1, 0x20L);
+ return jjMoveStringLiteralDfa10_0(active1, 0x40L);
case 101:
- return jjMoveStringLiteralDfa10_0(active0, 0L, active1, 0x800000L);
+ return jjMoveStringLiteralDfa10_0(active1, 0x1000000L);
case 112:
- if ((active0 & 0x8000000000000000L) != 0L)
+ if ((active1 & 0x1L) != 0L)
{
- jjmatchedKind = 63;
+ jjmatchedKind = 64;
jjmatchedPos = 9;
}
break;
case 114:
- return jjMoveStringLiteralDfa10_0(active0, 0L, active1, 0x40000000000L);
+ return jjMoveStringLiteralDfa10_0(active1, 0x80000000000L);
default :
break;
}
return jjMoveNfa_0(0, 9);
}
-private int jjMoveStringLiteralDfa10_0(long old0, long active0, long old1, long active1){
- if (((active0 &= old0) | (active1 &= old1)) == 0L)
+private int jjMoveStringLiteralDfa10_0(long old1, long active1){
+ if (((active1 &= old1)) == 0L)
return jjMoveNfa_0(0, 9);
try { curChar = input_stream.readChar(); }
catch(java.io.IOException e) {
@@ -2244,22 +2254,22 @@
switch(curChar)
{
case 65:
- return jjMoveStringLiteralDfa11_0(active1, 0x20L);
+ return jjMoveStringLiteralDfa11_0(active1, 0x40L);
case 83:
- if ((active1 & 0x800000L) != 0L)
+ if ((active1 & 0x1000000L) != 0L)
{
- jjmatchedKind = 87;
+ jjmatchedKind = 88;
jjmatchedPos = 10;
}
break;
case 95:
- return jjMoveStringLiteralDfa11_0(active1, 0x40000000000L);
+ return jjMoveStringLiteralDfa11_0(active1, 0x80000000000L);
case 97:
- return jjMoveStringLiteralDfa11_0(active1, 0x20L);
+ return jjMoveStringLiteralDfa11_0(active1, 0x40L);
case 115:
- if ((active1 & 0x800000L) != 0L)
+ if ((active1 & 0x1000000L) != 0L)
{
- jjmatchedKind = 87;
+ jjmatchedKind = 88;
jjmatchedPos = 10;
}
break;
@@ -2278,23 +2288,23 @@
switch(curChar)
{
case 84:
- if ((active1 & 0x20L) != 0L)
+ if ((active1 & 0x40L) != 0L)
{
- jjmatchedKind = 69;
+ jjmatchedKind = 70;
jjmatchedPos = 11;
}
break;
case 85:
- return jjMoveStringLiteralDfa12_0(active1, 0x40000000000L);
+ return jjMoveStringLiteralDfa12_0(active1, 0x80000000000L);
case 116:
- if ((active1 & 0x20L) != 0L)
+ if ((active1 & 0x40L) != 0L)
{
- jjmatchedKind = 69;
+ jjmatchedKind = 70;
jjmatchedPos = 11;
}
break;
case 117:
- return jjMoveStringLiteralDfa12_0(active1, 0x40000000000L);
+ return jjMoveStringLiteralDfa12_0(active1, 0x80000000000L);
default :
break;
}
@@ -2310,9 +2320,9 @@
switch(curChar)
{
case 82:
- return jjMoveStringLiteralDfa13_0(active1, 0x40000000000L);
+ return jjMoveStringLiteralDfa13_0(active1, 0x80000000000L);
case 114:
- return jjMoveStringLiteralDfa13_0(active1, 0x40000000000L);
+ return jjMoveStringLiteralDfa13_0(active1, 0x80000000000L);
default :
break;
}
@@ -2328,16 +2338,16 @@
switch(curChar)
{
case 73:
- if ((active1 & 0x40000000000L) != 0L)
+ if ((active1 & 0x80000000000L) != 0L)
{
- jjmatchedKind = 106;
+ jjmatchedKind = 107;
jjmatchedPos = 13;
}
break;
case 105:
- if ((active1 & 0x40000000000L) != 0L)
+ if ((active1 & 0x80000000000L) != 0L)
{
- jjmatchedKind = 106;
+ jjmatchedKind = 107;
jjmatchedPos = 13;
}
break;
@@ -2410,8 +2420,8 @@
case 0:
if ((0x3ff000000000000L & l) != 0L)
{
- if (kind > 154)
- kind = 154;
+ if (kind > 155)
+ kind = 155;
{ jjCheckNAddStates(0, 6); }
}
else if (curChar == 45)
@@ -2559,8 +2569,8 @@
jjstateSet[jjnewStateCnt++] = 32;
break;
case 40:
- if ((0x8400000000L & l) != 0L && kind > 166)
- kind = 166;
+ if ((0x8400000000L & l) != 0L && kind > 167)
+ kind = 167;
break;
case 41:
if (curChar == 39)
@@ -2575,8 +2585,8 @@
{ jjCheckNAddStates(29, 31); }
break;
case 45:
- if (curChar == 39 && kind > 167)
- kind = 167;
+ if (curChar == 39 && kind > 168)
+ kind = 168;
break;
case 46:
if (curChar == 34)
@@ -2591,8 +2601,8 @@
{ jjCheckNAddStates(26, 28); }
break;
case 50:
- if (curChar == 34 && kind > 168)
- kind = 168;
+ if (curChar == 34 && kind > 169)
+ kind = 169;
break;
case 51:
if (curChar == 39)
@@ -2616,8 +2626,8 @@
{ jjAddStates(45, 46); }
break;
case 58:
- if (curChar == 39 && kind > 169)
- kind = 169;
+ if (curChar == 39 && kind > 170)
+ kind = 170;
break;
case 59:
if (curChar == 39)
@@ -2653,8 +2663,8 @@
{ jjAddStates(51, 52); }
break;
case 69:
- if (curChar == 34 && kind > 170)
- kind = 170;
+ if (curChar == 34 && kind > 171)
+ kind = 171;
break;
case 70:
if (curChar == 34)
@@ -2689,8 +2699,8 @@
{ jjCheckNAddStates(20, 22); }
break;
case 78:
- if (curChar == 41 && kind > 173)
- kind = 173;
+ if (curChar == 41 && kind > 174)
+ kind = 174;
break;
case 79:
if (curChar == 10)
@@ -2871,15 +2881,15 @@
case 145:
if ((0x3ff000000000000L & l) == 0L)
break;
- if (kind > 154)
- kind = 154;
+ if (kind > 155)
+ kind = 155;
{ jjCheckNAddStates(0, 6); }
break;
case 146:
if ((0x3ff000000000000L & l) == 0L)
break;
- if (kind > 154)
- kind = 154;
+ if (kind > 155)
+ kind = 155;
{ jjCheckNAdd(146); }
break;
case 147:
@@ -2893,8 +2903,8 @@
case 149:
if ((0x3ff000000000000L & l) == 0L)
break;
- if (kind > 155)
- kind = 155;
+ if (kind > 156)
+ kind = 156;
{ jjCheckNAdd(149); }
break;
case 150:
@@ -2916,8 +2926,8 @@
case 155:
if ((0x3ff000000000000L & l) == 0L)
break;
- if (kind > 156)
- kind = 156;
+ if (kind > 157)
+ kind = 157;
{ jjCheckNAdd(155); }
break;
case 156:
@@ -2931,8 +2941,8 @@
case 159:
if ((0x3ff000000000000L & l) == 0L)
break;
- if (kind > 156)
- kind = 156;
+ if (kind > 157)
+ kind = 157;
{ jjCheckNAdd(159); }
break;
case 160:
@@ -2950,8 +2960,8 @@
case 164:
if ((0x3ff000000000000L & l) == 0L)
break;
- if (kind > 156)
- kind = 156;
+ if (kind > 157)
+ kind = 157;
{ jjCheckNAdd(164); }
break;
case 165:
@@ -2961,8 +2971,8 @@
case 166:
if ((0x3ff000000000000L & l) == 0L)
break;
- if (kind > 157)
- kind = 157;
+ if (kind > 158)
+ kind = 158;
{ jjCheckNAdd(166); }
break;
case 167:
@@ -2976,8 +2986,8 @@
case 169:
if ((0x3ff000000000000L & l) == 0L)
break;
- if (kind > 158)
- kind = 158;
+ if (kind > 159)
+ kind = 159;
{ jjCheckNAdd(169); }
break;
case 170:
@@ -2995,8 +3005,8 @@
case 174:
if ((0x3ff000000000000L & l) == 0L)
break;
- if (kind > 159)
- kind = 159;
+ if (kind > 160)
+ kind = 160;
{ jjCheckNAdd(174); }
break;
case 175:
@@ -3022,8 +3032,8 @@
case 181:
if ((0x3ff000000000000L & l) == 0L)
break;
- if (kind > 159)
- kind = 159;
+ if (kind > 160)
+ kind = 160;
{ jjCheckNAdd(181); }
break;
case 182:
@@ -3037,8 +3047,8 @@
case 185:
if ((0x3ff000000000000L & l) == 0L)
break;
- if (kind > 159)
- kind = 159;
+ if (kind > 160)
+ kind = 160;
{ jjCheckNAdd(185); }
break;
case 186:
@@ -3048,8 +3058,8 @@
case 187:
if ((0x3ff000000000000L & l) == 0L)
break;
- if (kind > 160)
- kind = 160;
+ if (kind > 161)
+ kind = 161;
{ jjCheckNAdd(187); }
break;
case 188:
@@ -3063,8 +3073,8 @@
case 190:
if ((0x3ff000000000000L & l) == 0L)
break;
- if (kind > 161)
- kind = 161;
+ if (kind > 162)
+ kind = 162;
{ jjCheckNAdd(190); }
break;
case 191:
@@ -3082,8 +3092,8 @@
case 195:
if ((0x3ff000000000000L & l) == 0L)
break;
- if (kind > 162)
- kind = 162;
+ if (kind > 163)
+ kind = 163;
{ jjCheckNAdd(195); }
break;
case 196:
@@ -3109,8 +3119,8 @@
case 202:
if ((0x3ff000000000000L & l) == 0L)
break;
- if (kind > 162)
- kind = 162;
+ if (kind > 163)
+ kind = 163;
{ jjCheckNAdd(202); }
break;
case 203:
@@ -3124,8 +3134,8 @@
case 206:
if ((0x3ff000000000000L & l) == 0L)
break;
- if (kind > 162)
- kind = 162;
+ if (kind > 163)
+ kind = 163;
{ jjCheckNAdd(206); }
break;
default : break;
@@ -3225,8 +3235,8 @@
{ jjCheckNAddStates(32, 37); }
break;
case 28:
- if ((0x200000002L & l) != 0L && kind > 135)
- kind = 135;
+ if ((0x200000002L & l) != 0L && kind > 136)
+ kind = 136;
break;
case 29:
if ((0x10000000100000L & l) != 0L)
@@ -3265,8 +3275,8 @@
jjstateSet[jjnewStateCnt++] = 40;
break;
case 40:
- if ((0x14404410000000L & l) != 0L && kind > 166)
- kind = 166;
+ if ((0x14404410000000L & l) != 0L && kind > 167)
+ kind = 167;
break;
case 42:
if ((0xffffffffefffffffL & l) != 0L)
@@ -3327,8 +3337,8 @@
{ jjCheckNAddStates(59, 64); }
break;
case 86:
- if (curChar == 93 && kind > 178)
- kind = 178;
+ if (curChar == 93 && kind > 179)
+ kind = 179;
break;
case 89:
if ((0x7fffffe07fffffeL & l) != 0L)
@@ -3427,8 +3437,8 @@
{ jjCheckNAddStates(78, 83); }
break;
case 119:
- if ((0x200000002L & l) != 0L && kind > 136)
- kind = 136;
+ if ((0x200000002L & l) != 0L && kind > 137)
+ kind = 137;
break;
case 120:
if ((0x10000000100000L & l) != 0L)
@@ -3466,8 +3476,8 @@
{ jjCheckNAddStates(87, 92); }
break;
case 134:
- if ((0x2000000020L & l) != 0L && kind > 137)
- kind = 137;
+ if ((0x2000000020L & l) != 0L && kind > 138)
+ kind = 138;
break;
case 135:
if ((0x4000000040000L & l) != 0L)
@@ -3799,11 +3809,11 @@
null, null, null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null, null, null, null,
-null, null, null, null, "\50", "\51", null, "\173", "\175", "\133", "\135", null,
-"\73", "\54", "\56", "\75", "\41\75", "\76", "\74", "\74\75", "\76\75", "\76\76",
-"\74\74", "\41", "\176", "\72", "\174\174", "\46\46", "\53", "\55", "\52", "\57",
-"\136\136", "\100", "\72\75", "\174", "\136", "\55\76", "\74\55", "\77", null, null, null,
-null, null, null, null, null, null, null, null, };
+null, null, null, null, null, "\50", "\51", null, "\173", "\175", "\133", "\135",
+null, "\73", "\54", "\56", "\75", "\41\75", "\76", "\74", "\74\75", "\76\75",
+"\76\76", "\74\74", "\41", "\176", "\72", "\174\174", "\46\46", "\53", "\55", "\52",
+"\57", "\136\136", "\100", "\72\75", "\174", "\136", "\55\76", "\74\55", "\77", null,
+null, null, null, null, null, null, null, null, null, null, };
protected Token jjFillToken()
{
final Token t;
@@ -3990,7 +4000,7 @@
"DEFAULT",
};
static final long[] jjtoToken = {
- 0xfffffffffff9fe01L, 0xffffffffffffffffL, 0xffffffc7fdffffffL, 0x7fffL,
+ 0xfffffffffff9fe01L, 0xffffffffffffffffL, 0xffffff8ffbffffffL, 0xffffL,
};
static final long[] jjtoSkip = {
0x7eL, 0x0L, 0x0L, 0x0L,
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/lang/sparql_11/SPARQLParser11.java b/jena-arq/src/main/java/org/apache/jena/sparql/lang/sparql_11/SPARQLParser11.java
index 3258ff1..1924a19 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/lang/sparql_11/SPARQLParser11.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/lang/sparql_11/SPARQLParser11.java
@@ -2019,10 +2019,11 @@
}
}
- final public void InlineDataOneVar() throws ParseException {Var v ; Node n ; Token t ;
+ final public void InlineDataOneVar() throws ParseException {Var v ; Node n ; Token t ; ; int beginLine; int beginColumn;
v = Var();
emitDataBlockVariable(v) ;
t = jj_consume_token(LBRACE);
+beginLine = t.beginLine; beginColumn = t.beginColumn; t = null;
label_15:
while (true) {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
@@ -2053,9 +2054,9 @@
break label_15;
}
n = DataBlockValue();
-startDataBlockValueRow(-1, -1) ;
- emitDataBlockValue(n, -1, -1) ;
- finishDataBlockValueRow(-1, -1) ;
+startDataBlockValueRow(beginLine, beginColumn) ;
+ emitDataBlockValue(n, beginLine, beginColumn) ;
+ finishDataBlockValueRow(beginLine, beginColumn) ;
}
t = jj_consume_token(RBRACE);
}
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/resultset/ResultSetCompare.java b/jena-arq/src/main/java/org/apache/jena/sparql/resultset/ResultSetCompare.java
index 57516eb..7a1b518 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/resultset/ResultSetCompare.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/resultset/ResultSetCompare.java
@@ -22,12 +22,17 @@
import org.apache.jena.atlas.iterator.Iter ;
import org.apache.jena.graph.Node ;
-import org.apache.jena.query.* ;
+import org.apache.jena.graph.Node_Triple;
+import org.apache.jena.graph.Triple;
+import org.apache.jena.query.ResultSet;
+import org.apache.jena.query.ResultSetFactory;
+import org.apache.jena.query.ResultSetRewindable;
import org.apache.jena.rdf.model.Model ;
import org.apache.jena.sparql.core.Var ;
import org.apache.jena.sparql.engine.binding.Binding ;
import org.apache.jena.sparql.engine.binding.BindingUtils ;
import org.apache.jena.sparql.util.EqualityTest;
+import org.apache.jena.sparql.util.Iso;
import org.apache.jena.sparql.util.NodeIsomorphismMap ;
import org.apache.jena.sparql.util.NodeUtils ;
@@ -323,10 +328,16 @@
return literalTest.equal(n1, n2) ;
if ( n1.isBlank() && n2.isBlank() )
- return mapping.makeIsomorphic(n1, n2) ;
+ return Iso.nodeIso(n1, n2, mapping);
if ( n1.isVariable() && n2.isVariable() )
return mapping.makeIsomorphic(n1, n2) ;
+
+ if ( n1.isNodeTriple() && n2.isNodeTriple() ) {
+ Triple t1 = Node_Triple.triple(n1);
+ Triple t2 = Node_Triple.triple(n2);
+ return Iso.tripleIso(t1, t2, mapping);
+ }
return false ;
}
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/serializer/FormatterElement.java b/jena-arq/src/main/java/org/apache/jena/sparql/serializer/FormatterElement.java
index e3a6aa6..ac68e43 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/serializer/FormatterElement.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/serializer/FormatterElement.java
@@ -237,6 +237,17 @@
}
@Override
+ public void visit(ElementFind el) {
+ out.print("FIND(");
+ out.print("<< ");
+ formatTriple(el.getTriple());
+ out.print(" >>");
+ out.print(" AS ");
+ out.print("?" + el.getVar().getVarName());
+ out.print(")");
+ }
+
+ @Override
public void visit(ElementData el) {
QuerySerializer.outputDataBlock(out, el.getVars(), el.getRows(), context);
}
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/sse/Tags.java b/jena-arq/src/main/java/org/apache/jena/sparql/sse/Tags.java
index 5b90326..071d2df 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/sse/Tags.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/sse/Tags.java
@@ -83,6 +83,7 @@
public static final String tagDistinct = "distinct" ;
public static final String tagReduced = "reduced" ;
public static final String tagAssign = "assign" ;
+ public static final String tagFind = "find" ;
public static final String tagExtend = "extend" ;
public static final String symAssign = ":=" ;
public static final String tagSlice = "slice" ;
@@ -114,7 +115,6 @@
public static final String tagExt = "ext" ;
// Expressions
- // NB RDF* triple terms use { }. , not << or >>
// sym => swiggly thing, tag => word-ish thing
public static final String tagExpr = "expr" ;
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/sse/builders/BuilderOp.java b/jena-arq/src/main/java/org/apache/jena/sparql/sse/builders/BuilderOp.java
index 2382a88..fc1ff41 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/sse/builders/BuilderOp.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/sse/builders/BuilderOp.java
@@ -94,6 +94,7 @@
addBuild(Tags.tagAssign, buildAssign) ;
addBuild(Tags.tagExtend, buildExtend) ;
addBuild(Tags.symAssign, buildAssign) ;
+ addBuild(Tags.tagFind, buildFind) ;
addBuild(Tags.tagSlice, buildSlice) ;
addBuild(Tags.tagTable, buildTable) ;
@@ -728,25 +729,34 @@
return OpExtend.create(sub, x) ;
}
} ;
+
+ final protected Build buildFind = list -> {
+ BuilderLib.checkLength(3, list, "find") ;
+ // Var
+ Item item1 = list.get(1); // var
+ Var var = BuilderNode.buildVar(item1);
+ // Triple
+ Item tItem = list.get(2);
+ BuilderLib.checkList(tItem);
+ Triple triple = BuilderGraph.buildTriple(tItem.getList()) ;
+
+ return new OpFind(triple, var);
+ };
- final protected Build buildSlice = new Build()
- {
- @Override
- public Op make(ItemList list)
- {
- BuilderLib.checkLength(4, list, "slice") ;
- long start = BuilderNode.buildLong(list, 1, -1) ;
- long length = BuilderNode.buildLong(list, 2, -1) ;
+ final protected Build buildSlice = list -> {
+ BuilderLib.checkLength(4, list, "slice") ;
+ long start = BuilderNode.buildLong(list, 1, -1) ;
+ long length = BuilderNode.buildLong(list, 2, -1) ;
- if ( start == -1 )
- start = Query.NOLIMIT ;
- if ( length == -1 )
- length = Query.NOLIMIT ;
+ if ( start == -1 )
+ start = Query.NOLIMIT ;
+ if ( length == -1 )
+ length = Query.NOLIMIT ;
- Op sub = build(list, 3) ;
- return new OpSlice(sub, start, length) ;
- }
- } ;
+ Op sub = build(list, 3) ;
+ return new OpSlice(sub, start, length) ;
+ };
+
final protected Build buildNull = new Build()
{
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/sse/lang/parser/SSE_ParserCore.java b/jena-arq/src/main/java/org/apache/jena/sparql/sse/lang/parser/SSE_ParserCore.java
index e99eb96..6b447d6 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/sse/lang/parser/SSE_ParserCore.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/sse/lang/parser/SSE_ParserCore.java
@@ -68,7 +68,7 @@
case STRING_LITERAL2:
case STRING_LITERAL_LONG1:
case STRING_LITERAL_LONG2:
- case LBRACE:
+ case LT2:
case SYMBOL:{
Term();
label_2:
@@ -192,8 +192,8 @@
case STRING_LITERAL_LONG1:
case STRING_LITERAL_LONG2:
case LPAREN:
- case LBRACE:
case LBRACKET:
+ case LT2:
case SYMBOL:{
;
break;
@@ -224,7 +224,7 @@
case STRING_LITERAL2:
case STRING_LITERAL_LONG1:
case STRING_LITERAL_LONG2:
- case LBRACE:{
+ case LT2:{
RDFTerm();
break;
}
@@ -264,7 +264,7 @@
BlankNode();
break;
}
- case LBRACE:{
+ case LT2:{
TripleTerm();
break;
}
@@ -339,7 +339,7 @@
}
final public void TripleTerm() throws ParseException {Token t1 = null ; Token t2 = null ;
- t1 = jj_consume_token(LBRACE);
+ t1 = jj_consume_token(LT2);
label_8:
while (true) {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
@@ -396,7 +396,7 @@
}
jj_consume_token(WS);
}
- t2 = jj_consume_token(RBRACE);
+ t2 = jj_consume_token(GT2);
tripleTermFinish(t2.beginLine, t2.beginColumn);
}
@@ -515,10 +515,10 @@
jj_la1_init_1();
}
private static void jj_la1_init_0() {
- jj_la1_0 = new int[] {0x2,0x2,0x2be1df0,0x2,0x2,0x2,0x2,0x2200000,0x2be1df0,0x9e1df0,0x9e1df0,0x180,0x1e1c00,0x2,0x2,0x2,0x2,0x1e0000,0x30,0x18000000,0x18000000,0x1c00,};
+ jj_la1_0 = new int[] {0x2,0x2,0xa3e1df0,0x2,0x2,0x2,0x2,0x2200000,0xa3e1df0,0x81e1df0,0x81e1df0,0x180,0x1e1c00,0x2,0x2,0x2,0x2,0x1e0000,0x30,0x60000000,0x60000000,0x1c00,};
}
private static void jj_la1_init_1() {
- jj_la1_1 = new int[] {0x0,0x0,0x200,0x0,0x0,0x0,0x0,0x0,0x200,0x200,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,};
+ jj_la1_1 = new int[] {0x0,0x0,0x800,0x0,0x0,0x0,0x0,0x0,0x800,0x800,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,};
}
/** Constructor with InputStream. */
@@ -635,7 +635,7 @@
/** Generate ParseException. */
public ParseException generateParseException() {
jj_expentries.clear();
- boolean[] la1tokens = new boolean[43];
+ boolean[] la1tokens = new boolean[45];
if (jj_kind >= 0) {
la1tokens[jj_kind] = true;
jj_kind = -1;
@@ -652,7 +652,7 @@
}
}
}
- for (int i = 0; i < 43; i++) {
+ for (int i = 0; i < 45; i++) {
if (la1tokens[i]) {
jj_expentry = new int[1];
jj_expentry[0] = i;
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/sse/lang/parser/SSE_ParserCoreConstants.java b/jena-arq/src/main/java/org/apache/jena/sparql/sse/lang/parser/SSE_ParserCoreConstants.java
index 596ef29..5a82a1f 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/sse/lang/parser/SSE_ParserCoreConstants.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/sse/lang/parser/SSE_ParserCoreConstants.java
@@ -80,37 +80,41 @@
/** RegularExpression Id. */
int RBRACKET = 26;
/** RegularExpression Id. */
- int DATATYPE = 27;
+ int LT2 = 27;
/** RegularExpression Id. */
- int LANGTAG = 28;
+ int GT2 = 28;
/** RegularExpression Id. */
- int AT = 29;
+ int DATATYPE = 29;
/** RegularExpression Id. */
- int A2Z = 30;
+ int LANGTAG = 30;
/** RegularExpression Id. */
- int A2ZN = 31;
+ int AT = 31;
/** RegularExpression Id. */
- int PN_CHARS_BASE = 32;
+ int A2Z = 32;
/** RegularExpression Id. */
- int PN_CHARS_U = 33;
+ int A2ZN = 33;
/** RegularExpression Id. */
- int PN_CHARS = 34;
+ int PN_CHARS_BASE = 34;
/** RegularExpression Id. */
- int PN_PREFIX = 35;
+ int PN_CHARS_U = 35;
/** RegularExpression Id. */
- int PN_LOCAL = 36;
+ int PN_CHARS = 36;
/** RegularExpression Id. */
- int VARNAME = 37;
+ int PN_PREFIX = 37;
/** RegularExpression Id. */
- int SYM = 38;
+ int PN_LOCAL = 38;
/** RegularExpression Id. */
- int SYM1 = 39;
+ int VARNAME = 39;
/** RegularExpression Id. */
- int SYM_ESC = 40;
+ int SYM = 40;
/** RegularExpression Id. */
- int SYMBOL = 41;
+ int SYM1 = 41;
/** RegularExpression Id. */
- int UNKNOWN = 42;
+ int SYM_ESC = 42;
+ /** RegularExpression Id. */
+ int SYMBOL = 43;
+ /** RegularExpression Id. */
+ int UNKNOWN = 44;
/** Lexical state. */
int DEFAULT = 0;
@@ -144,6 +148,8 @@
"\"}\"",
"\"[\"",
"\"]\"",
+ "\"<<\"",
+ "\">>\"",
"\"^^\"",
"<LANGTAG>",
"\"@\"",
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/sse/lang/parser/SSE_ParserCoreTokenManager.java b/jena-arq/src/main/java/org/apache/jena/sparql/sse/lang/parser/SSE_ParserCoreTokenManager.java
index 86705f4..249bb45 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/sse/lang/parser/SSE_ParserCoreTokenManager.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/sse/lang/parser/SSE_ParserCoreTokenManager.java
@@ -30,6 +30,18 @@
private final int jjStopStringLiteralDfa_0(int pos, long active0){
switch (pos)
{
+ case 0:
+ if ((active0 & 0x8000000L) != 0L)
+ {
+ jjmatchedKind = 43;
+ return 94;
+ }
+ if ((active0 & 0x10000000L) != 0L)
+ {
+ jjmatchedKind = 43;
+ return 66;
+ }
+ return -1;
default :
return -1;
}
@@ -50,12 +62,16 @@
return jjStopAtPos(0, 21);
case 41:
return jjStopAtPos(0, 22);
+ case 60:
+ return jjMoveStringLiteralDfa1_0(0x8000000L);
+ case 62:
+ return jjMoveStringLiteralDfa1_0(0x10000000L);
case 91:
return jjStopAtPos(0, 25);
case 93:
return jjStopAtPos(0, 26);
case 94:
- return jjMoveStringLiteralDfa1_0(0x8000000L);
+ return jjMoveStringLiteralDfa1_0(0x20000000L);
case 123:
return jjStopAtPos(0, 23);
case 125:
@@ -72,10 +88,18 @@
}
switch(curChar)
{
- case 94:
+ case 60:
if ((active0 & 0x8000000L) != 0L)
return jjStopAtPos(1, 27);
break;
+ case 62:
+ if ((active0 & 0x10000000L) != 0L)
+ return jjStopAtPos(1, 28);
+ break;
+ case 94:
+ if ((active0 & 0x20000000L) != 0L)
+ return jjStopAtPos(1, 29);
+ break;
default :
break;
}
@@ -120,7 +144,7 @@
private int jjMoveNfa_0(int startState, int curPos)
{
int startsAt = 0;
- jjnewStateCnt = 93;
+ jjnewStateCnt = 94;
int i = 1;
jjstateSet[0] = startState;
int kind = 0x7fffffff;
@@ -135,12 +159,27 @@
{
switch(jjstateSet[--i])
{
+ case 94:
+ if ((0xaffffc7affffc9ffL & l) != 0L)
+ {
+ if (kind > 43)
+ kind = 43;
+ { jjCheckNAdd(66); }
+ }
+ else if (curChar == 62)
+ {
+ if (kind > 4)
+ kind = 4;
+ }
+ if ((0xaffffffe00000000L & l) != 0L)
+ { jjCheckNAddTwoStates(12, 13); }
+ break;
case 0:
if ((0xfffffc7affffc9ffL & l) != 0L)
{
- if (kind > 41)
- kind = 41;
- { jjCheckNAdd(65); }
+ if (kind > 43)
+ kind = 43;
+ { jjCheckNAdd(66); }
}
else if ((0x100003600L & l) != 0L)
{
@@ -159,8 +198,13 @@
}
else if ((0x280000000000L & l) != 0L)
{ jjCheckNAddStates(7, 10); }
+ else if ((0x5000000000000000L & l) != 0L)
+ {
+ if (kind > 43)
+ kind = 43;
+ }
else if (curChar == 46)
- { jjCheckNAddTwoStates(76, 89); }
+ { jjCheckNAddTwoStates(77, 90); }
else if (curChar == 34)
{ jjCheckNAddStates(11, 13); }
else if (curChar == 39)
@@ -171,8 +215,6 @@
kind = 5;
jjstateSet[jjnewStateCnt++] = 18;
}
- else if (curChar == 60)
- { jjCheckNAddTwoStates(12, 13); }
else if (curChar == 59)
{
if (kind > 3)
@@ -189,8 +231,10 @@
{
if (kind > 7)
kind = 7;
- { jjCheckNAddTwoStates(67, 69); }
+ { jjCheckNAddTwoStates(68, 70); }
}
+ if (curChar == 60)
+ { jjCheckNAddTwoStates(12, 13); }
break;
case 1:
if (curChar != 35)
@@ -425,143 +469,153 @@
case 63:
if ((0x3ff000000000000L & l) == 0L)
break;
- if (kind > 28)
- kind = 28;
+ if (kind > 30)
+ kind = 30;
{ jjCheckNAddTwoStates(62, 63); }
break;
case 64:
+ if ((0x5000000000000000L & l) != 0L && kind > 43)
+ kind = 43;
+ break;
case 65:
if ((0xfffffc7affffc9ffL & l) == 0L)
break;
- if (kind > 41)
- kind = 41;
- { jjCheckNAdd(65); }
+ if (kind > 43)
+ kind = 43;
+ { jjCheckNAdd(66); }
break;
case 66:
+ if ((0xaffffc7affffc9ffL & l) == 0L)
+ break;
+ if (kind > 43)
+ kind = 43;
+ { jjCheckNAdd(66); }
+ break;
+ case 67:
if (curChar != 63)
break;
if (kind > 7)
kind = 7;
- { jjCheckNAddTwoStates(67, 69); }
+ { jjCheckNAddTwoStates(68, 70); }
break;
- case 67:
case 68:
+ case 69:
if ((0x3ff000000000000L & l) == 0L)
break;
if (kind > 7)
kind = 7;
- { jjCheckNAdd(68); }
- break;
- case 69:
- if ((0xfffffc7affffc9ffL & l) == 0L)
- break;
- if (kind > 8)
- kind = 8;
{ jjCheckNAdd(69); }
break;
case 70:
+ if ((0xaffffc7affffc9ffL & l) == 0L)
+ break;
+ if (kind > 8)
+ kind = 8;
+ { jjCheckNAdd(70); }
+ break;
+ case 71:
if ((0x280000000000L & l) != 0L)
{ jjCheckNAddStates(7, 10); }
break;
- case 71:
+ case 72:
if ((0x3ff000000000000L & l) == 0L)
break;
if (kind > 10)
kind = 10;
- { jjCheckNAdd(71); }
- break;
- case 72:
- if ((0x3ff000000000000L & l) != 0L)
- { jjCheckNAddTwoStates(72, 73); }
+ { jjCheckNAdd(72); }
break;
case 73:
+ if ((0x3ff000000000000L & l) != 0L)
+ { jjCheckNAddTwoStates(73, 74); }
+ break;
+ case 74:
if (curChar != 46)
break;
if (kind > 11)
kind = 11;
- { jjCheckNAdd(74); }
- break;
- case 74:
- if ((0x3ff000000000000L & l) == 0L)
- break;
- if (kind > 11)
- kind = 11;
- { jjCheckNAdd(74); }
+ { jjCheckNAdd(75); }
break;
case 75:
- if (curChar == 46)
- { jjCheckNAdd(76); }
- break;
- case 76:
if ((0x3ff000000000000L & l) == 0L)
break;
if (kind > 11)
kind = 11;
- { jjCheckNAdd(76); }
+ { jjCheckNAdd(75); }
+ break;
+ case 76:
+ if (curChar == 46)
+ { jjCheckNAdd(77); }
break;
case 77:
- if ((0x3ff000000000000L & l) != 0L)
- { jjCheckNAddTwoStates(77, 78); }
+ if ((0x3ff000000000000L & l) == 0L)
+ break;
+ if (kind > 11)
+ kind = 11;
+ { jjCheckNAdd(77); }
break;
case 78:
- if (curChar == 46)
- { jjCheckNAddTwoStates(79, 80); }
+ if ((0x3ff000000000000L & l) != 0L)
+ { jjCheckNAddTwoStates(78, 79); }
break;
case 79:
- if ((0x3ff000000000000L & l) != 0L)
- { jjCheckNAddTwoStates(79, 80); }
+ if (curChar == 46)
+ { jjCheckNAddTwoStates(80, 81); }
break;
- case 81:
- if ((0x280000000000L & l) != 0L)
- { jjCheckNAdd(82); }
+ case 80:
+ if ((0x3ff000000000000L & l) != 0L)
+ { jjCheckNAddTwoStates(80, 81); }
break;
case 82:
+ if ((0x280000000000L & l) != 0L)
+ { jjCheckNAdd(83); }
+ break;
+ case 83:
if ((0x3ff000000000000L & l) == 0L)
break;
if (kind > 12)
kind = 12;
- { jjCheckNAdd(82); }
+ { jjCheckNAdd(83); }
break;
- case 83:
+ case 84:
if ((0x3ff000000000000L & l) == 0L)
break;
if (kind > 10)
kind = 10;
{ jjCheckNAddStates(0, 6); }
break;
- case 84:
+ case 85:
if ((0x3ff000000000000L & l) != 0L)
- { jjCheckNAddTwoStates(84, 85); }
- break;
- case 86:
- if ((0x280000000000L & l) != 0L)
- { jjCheckNAdd(87); }
+ { jjCheckNAddTwoStates(85, 86); }
break;
case 87:
- if ((0x3ff000000000000L & l) == 0L)
- break;
- if (kind > 12)
- kind = 12;
- { jjCheckNAdd(87); }
+ if ((0x280000000000L & l) != 0L)
+ { jjCheckNAdd(88); }
break;
case 88:
- if (curChar == 46)
- { jjCheckNAddTwoStates(76, 89); }
- break;
- case 89:
- if ((0x3ff000000000000L & l) != 0L)
- { jjCheckNAddTwoStates(89, 90); }
- break;
- case 91:
- if ((0x280000000000L & l) != 0L)
- { jjCheckNAdd(92); }
- break;
- case 92:
if ((0x3ff000000000000L & l) == 0L)
break;
if (kind > 12)
kind = 12;
- { jjCheckNAdd(92); }
+ { jjCheckNAdd(88); }
+ break;
+ case 89:
+ if (curChar == 46)
+ { jjCheckNAddTwoStates(77, 90); }
+ break;
+ case 90:
+ if ((0x3ff000000000000L & l) != 0L)
+ { jjCheckNAddTwoStates(90, 91); }
+ break;
+ case 92:
+ if ((0x280000000000L & l) != 0L)
+ { jjCheckNAdd(93); }
+ break;
+ case 93:
+ if ((0x3ff000000000000L & l) == 0L)
+ break;
+ if (kind > 12)
+ kind = 12;
+ { jjCheckNAdd(93); }
break;
default : break;
}
@@ -574,12 +628,21 @@
{
switch(jjstateSet[--i])
{
+ case 94:
+ { jjCheckNAddTwoStates(12, 13); }
+ if ((0xd7ffffffd7ffffffL & l) != 0L)
+ {
+ if (kind > 43)
+ kind = 43;
+ { jjCheckNAdd(66); }
+ }
+ break;
case 0:
if ((0xd7ffffff97fffffeL & l) != 0L)
{
- if (kind > 41)
- kind = 41;
- { jjCheckNAdd(65); }
+ if (kind > 43)
+ kind = 43;
+ { jjCheckNAdd(66); }
}
else if (curChar == 64)
{ jjCheckNAdd(61); }
@@ -601,7 +664,7 @@
{ jjAddStates(17, 19); }
break;
case 12:
- { jjAddStates(40, 41); }
+ { jjCheckNAddTwoStates(12, 13); }
break;
case 14:
if ((0x7fffffe07fffffeL & l) != 0L)
@@ -712,58 +775,58 @@
case 61:
if ((0x7fffffe07fffffeL & l) == 0L)
break;
- if (kind > 28)
- kind = 28;
+ if (kind > 30)
+ kind = 30;
{ jjCheckNAddTwoStates(61, 62); }
break;
case 63:
if ((0x7fffffe07fffffeL & l) == 0L)
break;
- if (kind > 28)
- kind = 28;
+ if (kind > 30)
+ kind = 30;
{ jjCheckNAddTwoStates(62, 63); }
break;
- case 64:
+ case 65:
if ((0xd7ffffff97fffffeL & l) == 0L)
break;
- if (kind > 41)
- kind = 41;
- { jjCheckNAdd(65); }
+ if (kind > 43)
+ kind = 43;
+ { jjCheckNAdd(66); }
break;
- case 65:
+ case 66:
if ((0xd7ffffffd7ffffffL & l) == 0L)
break;
- if (kind > 41)
- kind = 41;
- { jjCheckNAdd(65); }
+ if (kind > 43)
+ kind = 43;
+ { jjCheckNAdd(66); }
break;
- case 67:
case 68:
+ case 69:
if ((0x7fffffe87fffffeL & l) == 0L)
break;
if (kind > 7)
kind = 7;
- { jjCheckNAdd(68); }
+ { jjCheckNAdd(69); }
break;
- case 69:
+ case 70:
if ((0xd7ffffffd7ffffffL & l) == 0L)
break;
if (kind > 8)
kind = 8;
- jjstateSet[jjnewStateCnt++] = 69;
+ jjstateSet[jjnewStateCnt++] = 70;
break;
- case 80:
+ case 81:
+ if ((0x2000000020L & l) != 0L)
+ { jjAddStates(40, 41); }
+ break;
+ case 86:
if ((0x2000000020L & l) != 0L)
{ jjAddStates(42, 43); }
break;
- case 85:
+ case 91:
if ((0x2000000020L & l) != 0L)
{ jjAddStates(44, 45); }
break;
- case 90:
- if ((0x2000000020L & l) != 0L)
- { jjAddStates(46, 47); }
- break;
default : break;
}
} while(i != startsAt);
@@ -779,14 +842,24 @@
{
switch(jjstateSet[--i])
{
+ case 94:
+ if (jjCanMove_0(hiByte, i1, i2, l1, l2))
+ { jjCheckNAddTwoStates(12, 13); }
+ if (jjCanMove_0(hiByte, i1, i2, l1, l2))
+ {
+ if (kind > 43)
+ kind = 43;
+ { jjCheckNAdd(66); }
+ }
+ break;
case 0:
if (jjCanMove_1(hiByte, i1, i2, l1, l2))
{ jjCheckNAddStates(37, 39); }
if (jjCanMove_0(hiByte, i1, i2, l1, l2))
{
- if (kind > 41)
- kind = 41;
- { jjCheckNAdd(65); }
+ if (kind > 43)
+ kind = 43;
+ { jjCheckNAdd(66); }
}
break;
case 2:
@@ -805,7 +878,7 @@
break;
case 12:
if (jjCanMove_0(hiByte, i1, i2, l1, l2))
- { jjAddStates(40, 41); }
+ { jjCheckNAddTwoStates(12, 13); }
break;
case 14:
if (jjCanMove_1(hiByte, i1, i2, l1, l2))
@@ -865,34 +938,40 @@
if (jjCanMove_0(hiByte, i1, i2, l1, l2))
{ jjAddStates(31, 34); }
break;
- case 64:
case 65:
if (!jjCanMove_0(hiByte, i1, i2, l1, l2))
break;
- if (kind > 41)
- kind = 41;
- { jjCheckNAdd(65); }
+ if (kind > 43)
+ kind = 43;
+ { jjCheckNAdd(66); }
break;
- case 67:
+ case 66:
+ if (!jjCanMove_0(hiByte, i1, i2, l1, l2))
+ break;
+ if (kind > 43)
+ kind = 43;
+ { jjCheckNAdd(66); }
+ break;
+ case 68:
if (!jjCanMove_1(hiByte, i1, i2, l1, l2))
break;
if (kind > 7)
kind = 7;
- { jjCheckNAdd(68); }
+ { jjCheckNAdd(69); }
break;
- case 68:
+ case 69:
if (!jjCanMove_2(hiByte, i1, i2, l1, l2))
break;
if (kind > 7)
kind = 7;
- { jjCheckNAdd(68); }
+ { jjCheckNAdd(69); }
break;
- case 69:
+ case 70:
if (!jjCanMove_0(hiByte, i1, i2, l1, l2))
break;
if (kind > 8)
kind = 8;
- jjstateSet[jjnewStateCnt++] = 69;
+ jjstateSet[jjnewStateCnt++] = 70;
break;
default : if (i1 == 0 || l1 == 0 || i2 == 0 || l2 == 0) break; else break;
}
@@ -905,16 +984,16 @@
kind = 0x7fffffff;
}
++curPos;
- if ((i = jjnewStateCnt) == (startsAt = 93 - (jjnewStateCnt = startsAt)))
+ if ((i = jjnewStateCnt) == (startsAt = 94 - (jjnewStateCnt = startsAt)))
return curPos;
try { curChar = input_stream.readChar(); }
catch(java.io.IOException e) { return curPos; }
}
}
static final int[] jjnextStates = {
- 71, 72, 73, 77, 78, 84, 85, 71, 72, 75, 77, 34, 35, 37, 29, 30,
+ 72, 73, 74, 78, 79, 85, 86, 72, 73, 76, 78, 34, 35, 37, 29, 30,
32, 7, 8, 10, 2, 3, 5, 15, 16, 39, 40, 41, 43, 44, 46, 50,
- 51, 52, 54, 55, 57, 15, 16, 17, 12, 13, 81, 82, 86, 87, 91, 92,
+ 51, 52, 54, 55, 57, 15, 16, 17, 82, 83, 87, 88, 92, 93,
};
private static final boolean jjCanMove_0(int hiByte, int i1, int i2, long l1, long l2)
{
@@ -981,8 +1060,8 @@
public static final String[] jjstrLiteralImages = {
"", null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, "\50", "\51", "\173", "\175",
-"\133", "\135", "\136\136", null, null, null, null, null, null, null, null, null, null,
-null, null, null, null, null, };
+"\133", "\135", "\74\74", "\76\76", "\136\136", null, null, null, null, null, null,
+null, null, null, null, null, null, null, null, null, };
protected Token jjFillToken()
{
final Token t;
@@ -1144,7 +1223,7 @@
{
int i;
jjround = 0x80000001;
- for (i = 93; i-- > 0;)
+ for (i = 94; i-- > 0;)
jjrounds[i] = 0x80000000;
}
@@ -1169,7 +1248,7 @@
"DEFAULT",
};
static final long[] jjtoToken = {
- 0x2001fff1df3L,
+ 0x8007fff1df3L,
};
static final long[] jjtoSkip = {
0xcL,
@@ -1179,8 +1258,8 @@
};
protected JavaCharStream input_stream;
- private final int[] jjrounds = new int[93];
- private final int[] jjstateSet = new int[2 * 93];
+ private final int[] jjrounds = new int[94];
+ private final int[] jjstateSet = new int[2 * 94];
protected char curChar;
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/sse/writers/WriterNode.java b/jena-arq/src/main/java/org/apache/jena/sparql/sse/writers/WriterNode.java
index 21582e3..8332e9f 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/sse/writers/WriterNode.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/sse/writers/WriterNode.java
@@ -91,14 +91,13 @@
{
if ( node.isNodeTriple() ) {
Triple t = Node_Triple.triple(node);
- // special syntax.
- out.print("{ ");
+ out.print("<< ");
output(out, t.getSubject(), naming);
out.print(" ");
output(out, t.getPredicate(), naming);
out.print(" ");
output(out, t.getObject(), naming);
- out.print(" }");
+ out.print(" >>");
} else
out.print(FmtUtils.stringForNode(node, naming)) ;
}
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/sse/writers/WriterOp.java b/jena-arq/src/main/java/org/apache/jena/sparql/sse/writers/WriterOp.java
index c8ff308..9c9f873 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/sse/writers/WriterOp.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/sse/writers/WriterOp.java
@@ -235,6 +235,16 @@
}
@Override
+ public void visit(OpFind opFind) {
+ start(opFind, NoNL) ;
+ out.print(opFind.getVar());
+ out.print(" ");
+ formatTriple(opFind.getTriple()) ;
+ out.println() ;
+ finish(opFind) ;
+ }
+
+ @Override
public void visit(OpProcedure opProc) {
start(opProc, NoNL) ;
WriterNode.output(out, opProc.getProcId(), sContext) ;
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/syntax/ElementFind.java b/jena-arq/src/main/java/org/apache/jena/sparql/syntax/ElementFind.java
new file mode 100644
index 0000000..b82b302
--- /dev/null
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/syntax/ElementFind.java
@@ -0,0 +1,77 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.jena.sparql.syntax;
+
+import java.util.Objects;
+
+import org.apache.jena.graph.Node;
+import org.apache.jena.graph.Node_Triple;
+import org.apache.jena.graph.Triple;
+import org.apache.jena.sparql.ARQException;
+import org.apache.jena.sparql.core.Var;
+import org.apache.jena.sparql.util.NodeIsomorphismMap;
+
+public class ElementFind extends Element {
+ private final Var var;
+ private final Triple triple;
+
+ public ElementFind(Var v, Node node) {
+ Objects.requireNonNull(node);
+ if ( ! node.isNodeTriple() ) {
+ throw new ARQException("Not a triple term: "+node);
+ }
+ this.var = v;
+ this.triple = Node_Triple.triple(node);
+ }
+
+ public ElementFind(Var v, Triple triple) {
+ this.var = Objects.requireNonNull(v);
+ this.triple = Objects.requireNonNull(triple);
+ }
+
+ public Var getVar() {
+ return var;
+ }
+
+ public Triple getTriple() {
+ return triple;
+ }
+
+ @Override
+ public boolean equalTo(Element el2, NodeIsomorphismMap isoMap) {
+ if ( !(el2 instanceof ElementFind) )
+ return false;
+ ElementFind f2 = (ElementFind)el2;
+ if ( !this.getVar().equals(f2.getVar()) )
+ return false;
+ if ( !this.getTriple().equals(f2.getTriple()) )
+ return false;
+ return true;
+ }
+
+ @Override
+ public int hashCode() {
+ return var.hashCode() ^ triple.hashCode();
+ }
+
+ @Override
+ public void visit(ElementVisitor v) {
+ v.visit(this);
+ }
+}
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/syntax/ElementVisitor.java b/jena-arq/src/main/java/org/apache/jena/sparql/syntax/ElementVisitor.java
index c1e7cf1..fa7929d 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/syntax/ElementVisitor.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/syntax/ElementVisitor.java
@@ -25,6 +25,7 @@
public void visit(ElementFilter el) ;
public void visit(ElementAssign el) ;
public void visit(ElementBind el) ;
+ public void visit(ElementFind el) ;
public void visit(ElementData el) ;
public void visit(ElementUnion el) ;
public void visit(ElementOptional el) ;
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/syntax/ElementVisitorBase.java b/jena-arq/src/main/java/org/apache/jena/sparql/syntax/ElementVisitorBase.java
index 0e3e445..93bd298 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/syntax/ElementVisitorBase.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/syntax/ElementVisitorBase.java
@@ -37,6 +37,9 @@
public void visit(ElementBind el) { }
@Override
+ public void visit(ElementFind el) { }
+
+ @Override
public void visit(ElementData el) { }
@Override
@@ -56,16 +59,16 @@
@Override
public void visit(ElementExists el) { }
-
+
@Override
public void visit(ElementNotExists el) { }
-
+
@Override
public void visit(ElementMinus el) { }
@Override
public void visit(ElementService el) { }
-
+
@Override
public void visit(ElementSubQuery el) { }
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/syntax/ElementWalker.java b/jena-arq/src/main/java/org/apache/jena/sparql/syntax/ElementWalker.java
index 36c0434..74bd54c 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/syntax/ElementWalker.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/syntax/ElementWalker.java
@@ -50,26 +50,26 @@
protected final ElementVisitor proc ;
protected final ElementVisitor beforeVisitor ;
protected final ElementVisitor afterVisitor ;
-
+
protected EltWalker(ElementVisitor visitor, ElementVisitor beforeVisitor, ElementVisitor afterVisitor)
{
proc = visitor ;
this.beforeVisitor= beforeVisitor ;
this.afterVisitor = afterVisitor ;
}
-
+
private void before(Element elt)
{
if ( beforeVisitor != null )
elt.visit(beforeVisitor) ;
}
-
+
private void after(Element elt)
{
if ( afterVisitor != null )
elt.visit(afterVisitor) ;
}
-
+
@Override
public void visit(ElementTriplesBlock el)
{
@@ -77,7 +77,7 @@
proc.visit(el) ;
after(el) ;
}
-
+
@Override
public void visit(ElementFilter el)
{
@@ -93,7 +93,7 @@
proc.visit(el) ;
after(el) ;
}
-
+
@Override
public void visit(ElementBind el)
{
@@ -101,7 +101,16 @@
proc.visit(el) ;
after(el) ;
}
+
+ @Override
+ public void visit(ElementFind el)
+ {
+ before(el) ;
+ proc.visit(el) ;
+ after(el) ;
+ }
+
@Override
public void visit(ElementData el)
{
@@ -109,7 +118,7 @@
proc.visit(el) ;
after(el) ;
}
-
+
@Override
public void visit(ElementUnion el)
{
@@ -119,7 +128,7 @@
proc.visit(el) ;
after(el) ;
}
-
+
@Override
public void visit(ElementGroup el)
{
@@ -129,7 +138,7 @@
proc.visit(el) ;
after(el) ;
}
-
+
@Override
public void visit(ElementOptional el)
{
@@ -139,7 +148,7 @@
proc.visit(el) ;
after(el) ;
}
-
+
@Override
public void visit(ElementDataset el)
{
@@ -159,7 +168,7 @@
proc.visit(el) ;
after(el) ;
}
-
+
@Override
public void visit(ElementService el)
{
@@ -197,7 +206,7 @@
proc.visit(el) ;
after(el) ;
}
-
+
@Override
public void visit(ElementSubQuery el)
{
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/syntax/PatternVars.java b/jena-arq/src/main/java/org/apache/jena/sparql/syntax/PatternVars.java
index 247c933..a7e8c7e 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/syntax/PatternVars.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/syntax/PatternVars.java
@@ -25,7 +25,7 @@
/** Get the variables potentially bound by an element.
* All mentioned variables except those in MINUS and FILTER (and hence NOT EXISTS)
- * The work is done by PatternVarsVisitor.
+ * The work is done by PatternVarsVisitor.
*/
public class PatternVars
{
@@ -37,13 +37,13 @@
vars(element, v) ;
return s ;
}
-
+
public static void vars(Element element, PatternVarsVisitor visitor)
{
ElementWalker.EltWalker walker = new WalkerSkipMinus(visitor) ;
ElementWalker.walk$(element, walker) ;
}
-
+
public static class WalkerSkipMinus extends ElementWalker.EltWalker
{
protected WalkerSkipMinus(ElementVisitor visitor)
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/syntax/PatternVarsVisitor.java b/jena-arq/src/main/java/org/apache/jena/sparql/syntax/PatternVarsVisitor.java
index 0270b5f..b89d256 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/syntax/PatternVarsVisitor.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/syntax/PatternVarsVisitor.java
@@ -18,44 +18,42 @@
package org.apache.jena.sparql.syntax;
-import java.util.Collection ;
-import java.util.Iterator ;
+import java.util.Collection;
+import java.util.Iterator;
-import org.apache.jena.graph.Triple ;
-import org.apache.jena.sparql.core.TriplePath ;
-import org.apache.jena.sparql.core.Var ;
-import org.apache.jena.sparql.core.VarExprList ;
-import org.apache.jena.sparql.util.VarUtils ;
+import org.apache.jena.graph.Triple;
+import org.apache.jena.sparql.core.TriplePath;
+import org.apache.jena.sparql.core.Var;
+import org.apache.jena.sparql.core.VarExprList;
+import org.apache.jena.sparql.util.VarUtils;
public class PatternVarsVisitor extends ElementVisitorBase
{
- public Collection<Var> acc ;
- public PatternVarsVisitor(Collection<Var> s) { acc = s ; }
-
+ public Collection<Var> acc;
+ public PatternVarsVisitor(Collection<Var> s) {
+ acc = s;
+ }
+
@Override
- public void visit(ElementTriplesBlock el)
- {
- for (Iterator<Triple> iter = el.patternElts() ; iter.hasNext() ; )
- {
- Triple t = iter.next() ;
- VarUtils.addVarsFromTriple(acc, t) ;
+ public void visit(ElementTriplesBlock el) {
+ for ( Iterator<Triple> iter = el.patternElts() ; iter.hasNext() ; ) {
+ Triple t = iter.next();
+ VarUtils.addVarsFromTriple(acc, t);
}
}
@Override
- public void visit(ElementPathBlock el)
- {
- for (Iterator<TriplePath> iter = el.patternElts() ; iter.hasNext() ; )
- {
- TriplePath tp = iter.next() ;
- // If it's triple-izable, then use the triple.
+ public void visit(ElementPathBlock el) {
+ for ( Iterator<TriplePath> iter = el.patternElts() ; iter.hasNext() ; ) {
+ TriplePath tp = iter.next();
+ // If it's triple-izable, then use the triple.
if ( tp.isTriple() )
- VarUtils.addVarsFromTriple(acc, tp.asTriple()) ;
+ VarUtils.addVarsFromTriple(acc, tp.asTriple());
else
- VarUtils.addVarsFromTriplePath(acc, tp) ;
+ VarUtils.addVarsFromTriplePath(acc, tp);
}
}
-
+
// Variables here are non-binding.
@Override public void visit(ElementExists el) { }
@Override public void visit(ElementNotExists el) { }
@@ -63,43 +61,41 @@
@Override public void visit(ElementFilter el) { }
@Override
- public void visit(ElementNamedGraph el)
- {
- VarUtils.addVar(acc, el.getGraphNameNode()) ;
+ public void visit(ElementNamedGraph el) {
+ VarUtils.addVar(acc, el.getGraphNameNode());
}
@Override
- public void visit(ElementSubQuery el)
- {
- el.getQuery().setResultVars() ;
- VarExprList x = el.getQuery().getProject() ;
- acc.addAll(x.getVars()) ;
+ public void visit(ElementSubQuery el) {
+ el.getQuery().setResultVars();
+ VarExprList x = el.getQuery().getProject();
+ acc.addAll(x.getVars());
}
@Override
- public void visit(ElementAssign el)
- {
- acc.add(el.getVar()) ;
+ public void visit(ElementAssign el) {
+ acc.add(el.getVar());
}
@Override
- public void visit(ElementBind el)
- {
- acc.add(el.getVar()) ;
+ public void visit(ElementBind el) {
+ acc.add(el.getVar());
}
@Override
- public void visit(ElementData el)
- {
- acc.addAll(el.getVars()) ;
+ public void visit(ElementFind el) {
+ acc.add(el.getVar());
+ VarUtils.addVarsFromTriple(acc, el.getTriple());
}
-
+ @Override
+ public void visit(ElementData el) {
+ acc.addAll(el.getVars());
+ }
+
// @Override
-// public void visit(ElementService el)
-// {
+// public void visit(ElementService el) {
// // Although if this isn't defined elsewhere the query won't work.
-// VarUtils.addVar(acc, el.getServiceNode()) ;
+// VarUtils.addVar(acc, el.getServiceNode());
// }
-
}
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/syntax/RecursiveElementVisitor.java b/jena-arq/src/main/java/org/apache/jena/sparql/syntax/RecursiveElementVisitor.java
index ebdccd8..42e6d08 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/syntax/RecursiveElementVisitor.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/syntax/RecursiveElementVisitor.java
@@ -41,27 +41,30 @@
public class RecursiveElementVisitor implements ElementVisitor
{
-
+
// ---- Call points.
// Not abstract, because subclasses don't have to implement them.
-
+
public void startElement(ElementTriplesBlock el) {}
public void endElement (ElementTriplesBlock el) {}
public void startElement(ElementDataset el) {}
public void endElement (ElementDataset el) {}
- public void startElement(ElementFilter el) {}
- public void endElement (ElementFilter el) {}
+ public void startElement(ElementFilter el) {}
+ public void endElement (ElementFilter el) {}
- public void startElement(ElementAssign el) {}
- public void endElement (ElementAssign el) {}
+ public void startElement(ElementAssign el) {}
+ public void endElement (ElementAssign el) {}
- public void startElement(ElementBind el) {}
- public void endElement (ElementBind el) {}
+ public void startElement(ElementBind el) {}
+ public void endElement (ElementBind el) {}
- public void startElement(ElementData el) {}
- public void endElement (ElementData el) {}
+ public void startElement(ElementFind el) {}
+ public void endElement (ElementFind el) {}
+
+ public void startElement(ElementData el) {}
+ public void endElement (ElementData el) {}
public void startElement(ElementUnion el) {}
public void endElement (ElementUnion el) {}
@@ -98,22 +101,22 @@
public void startElement(ElementPathBlock el) {}
protected ElementVisitor visitor = null ;
-
+
// ----
-
+
private RecursiveElementVisitor() { this.visitor = new ElementVisitorBase() ; }
public RecursiveElementVisitor(ElementVisitor visitor) { this.visitor = visitor ; }
-
+
// Visitor pattern on Elements
-
+
@Override
public final void visit(ElementTriplesBlock el)
{
startElement(el) ;
endElement(el) ;
}
-
+
@Override
public final void visit(ElementDataset el)
{
@@ -142,14 +145,21 @@
startElement(el) ;
endElement(el) ;
}
-
+
+ @Override
+ public void visit(ElementFind el)
+ {
+ startElement(el) ;
+ endElement(el) ;
+ }
+
@Override
public void visit(ElementData el)
{
startElement(el) ;
endElement(el) ;
}
-
+
@Override
public final void visit(ElementUnion el)
{
@@ -162,7 +172,7 @@
}
endElement(el) ;
}
-
+
@Override
public final void visit(ElementGroup el)
{
@@ -184,7 +194,6 @@
endElement(el) ;
}
-
@Override
public final void visit(ElementNamedGraph el)
{
@@ -200,7 +209,7 @@
el.getElement().visit(this) ;
endElement(el) ;
}
-
+
@Override
public final void visit(ElementExists el)
{
@@ -225,14 +234,13 @@
endElement(el) ;
}
-
-
@Override
public void visit(ElementSubQuery el)
{
startElement(el) ;
endElement(el) ;
}
+
@Override
public void visit(ElementPathBlock el)
{
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/syntax/syntaxtransform/ApplyElementTransformVisitor.java b/jena-arq/src/main/java/org/apache/jena/sparql/syntax/syntaxtransform/ApplyElementTransformVisitor.java
index 2ebd8fd..8db3f4f 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/syntax/syntaxtransform/ApplyElementTransformVisitor.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/syntax/syntaxtransform/ApplyElementTransformVisitor.java
@@ -24,6 +24,7 @@
import org.apache.jena.atlas.logging.Log;
import org.apache.jena.graph.Node;
+import org.apache.jena.graph.Triple;
import org.apache.jena.query.Query;
import org.apache.jena.sparql.core.Var;
import org.apache.jena.sparql.expr.Expr;
@@ -95,7 +96,16 @@
Var v1 = TransformElementLib.applyVar(v, exprTransform) ;
Expr expr = el.getExpr() ;
Expr expr1 = ExprTransformer.transform(exprTransform, expr) ;
- Element el2 = transform.transform(el, v1, expr1 ) ;
+ Element el2 = transform.transform(el, v1, expr1) ;
+ push(el2) ;
+ }
+
+ @Override
+ public void visit(ElementFind el) {
+ Var v = el.getVar() ;
+ Var v1 = TransformElementLib.applyVar(v, exprTransform) ;
+ Triple t1 = transform.transform(el.getTriple());
+ Element el2 = transform.transform(el, v1, t1);
push(el2) ;
}
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/syntax/syntaxtransform/ElementTransform.java b/jena-arq/src/main/java/org/apache/jena/sparql/syntax/syntaxtransform/ElementTransform.java
index f0bbcd3..cc586de 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/syntax/syntaxtransform/ElementTransform.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/syntax/syntaxtransform/ElementTransform.java
@@ -18,34 +18,36 @@
package org.apache.jena.sparql.syntax.syntaxtransform;
-import java.util.List ;
+import java.util.List;
-import org.apache.jena.graph.Node ;
-import org.apache.jena.query.Query ;
-import org.apache.jena.sparql.core.Var ;
-import org.apache.jena.sparql.expr.Expr ;
-import org.apache.jena.sparql.syntax.* ;
+import org.apache.jena.graph.Node;
+import org.apache.jena.graph.Triple;
+import org.apache.jena.query.Query;
+import org.apache.jena.sparql.core.Var;
+import org.apache.jena.sparql.expr.Expr;
+import org.apache.jena.sparql.syntax.*;
/** Transformation function on an Element
* @see ElementTransformer
*/
public interface ElementTransform
{
- public Element transform(ElementTriplesBlock el) ;
- public Element transform(ElementPathBlock el) ;
- public Element transform(ElementFilter el, Expr expr2) ;
- public Element transform(ElementAssign el, Var v, Expr expr2) ;
- public Element transform(ElementBind el, Var v, Expr expr2) ;
- public Element transform(ElementData el) ;
- public Element transform(ElementDataset el, Element subElt) ;
- public Element transform(ElementUnion el, List<Element> elements) ;
- public Element transform(ElementOptional el, Element opElt) ;
- public Element transform(ElementGroup el, List<Element> members) ;
- public Element transform(ElementNamedGraph el, Node gn, Element subElt) ;
- public Element transform(ElementExists el, Element subElt) ;
- public Element transform(ElementNotExists el, Element subElt) ;
- public Element transform(ElementMinus el, Element eltRHS) ;
- public Element transform(ElementService el, Node service, Element subElt) ;
- public Element transform(ElementSubQuery el, Query query) ;
+ public Element transform(ElementTriplesBlock el);
+ public Element transform(ElementPathBlock el);
+ public Element transform(ElementFilter el, Expr expr2);
+ public Element transform(ElementAssign el, Var v, Expr expr2);
+ public Element transform(ElementBind el, Var v, Expr expr2);
+ public Element transform(ElementFind el, Var v, Triple triple2);
+ public Triple transform(Triple triple);
+ public Element transform(ElementData el);
+ public Element transform(ElementDataset el, Element subElt);
+ public Element transform(ElementUnion el, List<Element> elements);
+ public Element transform(ElementOptional el, Element opElt);
+ public Element transform(ElementGroup el, List<Element> members);
+ public Element transform(ElementNamedGraph el, Node gn, Element subElt);
+ public Element transform(ElementExists el, Element subElt);
+ public Element transform(ElementNotExists el, Element subElt);
+ public Element transform(ElementMinus el, Element eltRHS);
+ public Element transform(ElementService el, Node service, Element subElt);
+ public Element transform(ElementSubQuery el, Query query);
}
-
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/syntax/syntaxtransform/ElementTransformCopyBase.java b/jena-arq/src/main/java/org/apache/jena/sparql/syntax/syntaxtransform/ElementTransformCopyBase.java
index 19bb35a..ff30a95 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/syntax/syntaxtransform/ElementTransformCopyBase.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/syntax/syntaxtransform/ElementTransformCopyBase.java
@@ -21,6 +21,7 @@
import java.util.List ;
import org.apache.jena.graph.Node ;
+import org.apache.jena.graph.Triple;
import org.apache.jena.query.Query ;
import org.apache.jena.sparql.core.BasicPattern ;
import org.apache.jena.sparql.core.PathBlock ;
@@ -54,7 +55,6 @@
before.getList().forEach(copy::add);
el = new ElementTriplesBlock(copy);
}
-
return el ;
}
@@ -66,11 +66,15 @@
before.getList().forEach(copy::add);
el = new ElementPathBlock(copy);
}
-
return el ;
}
@Override
+ public Triple transform(Triple triple) {
+ return triple;
+ }
+
+ @Override
public Element transform(ElementFilter el, Expr expr2) {
if ( !alwaysCopy && el.getExpr() == expr2 )
return el ;
@@ -92,6 +96,13 @@
}
@Override
+ public Element transform(ElementFind el, Var v, Triple triple2) {
+ if ( !alwaysCopy && el.getVar() == v && el.getTriple() == triple2 )
+ return el ;
+ return new ElementFind(v, triple2) ;
+ }
+
+ @Override
public Element transform(ElementData el) {
if( alwaysCopy ) {
ElementData copy = new ElementData();
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/syntax/syntaxtransform/ElementTransformIdentity.java b/jena-arq/src/main/java/org/apache/jena/sparql/syntax/syntaxtransform/ElementTransformIdentity.java
index 777be34..98d006c 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/syntax/syntaxtransform/ElementTransformIdentity.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/syntax/syntaxtransform/ElementTransformIdentity.java
@@ -21,6 +21,7 @@
import java.util.List ;
import org.apache.jena.graph.Node ;
+import org.apache.jena.graph.Triple;
import org.apache.jena.query.Query ;
import org.apache.jena.sparql.core.Var ;
import org.apache.jena.sparql.expr.Expr ;
@@ -49,6 +50,10 @@
@Override
public Element transform(ElementBind el, Var v, Expr expr2) { return el ; }
@Override
+ public Element transform(ElementFind el, Var v, Triple triple2) { return el ; }
+ @Override
+ public Triple transform(Triple triple) { return triple; }
+ @Override
public Element transform(ElementData el) { return el ; }
@Override
public Element transform(ElementUnion el, List<Element> elements) { return el ; }
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/syntax/syntaxtransform/ElementTransformSubst.java b/jena-arq/src/main/java/org/apache/jena/sparql/syntax/syntaxtransform/ElementTransformSubst.java
index 868b04c..240f5fe 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/syntax/syntaxtransform/ElementTransformSubst.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/syntax/syntaxtransform/ElementTransformSubst.java
@@ -34,7 +34,7 @@
* Because a {@link Var} is a subclass of {@link Node_Variable} which is a {@link Node},
* this includes variable renaming.
* <p>
- * This is a transformation on the syntax - all occurences of a variable are replaced, even if
+ * This is a transformation on the syntax - all occurrences of a variable are replaced, even if
* inside sub-select's and not project (which means it is effectively a different variable).
*/
public class ElementTransformSubst extends ElementTransformCopyBase {
@@ -90,7 +90,8 @@
return new TriplePath(s1, path.getPath(), o1) ;
}
- private Triple transform(Triple triple) {
+ @Override
+ public Triple transform(Triple triple) {
Node s = triple.getSubject() ;
Node s1 = transform(s) ;
Node p = triple.getPredicate() ;
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/util/QueryUtils.java b/jena-arq/src/main/java/org/apache/jena/sparql/util/QueryUtils.java
index 4cfc74a..47e3324 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/util/QueryUtils.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/util/QueryUtils.java
@@ -111,7 +111,12 @@
if ( query.hashCode() != query2.hashCode() )
throw new QueryCheckException("reparsed query hashCode does not equal parsed input query \nQuery (hashCode: " + query.hashCode() + ")=\n" + query + "\n\nQuery2 (hashCode: " + query2.hashCode() + ")=\n" + query2) ;
- if ( ! query.equals(query2) )
+ if ( ! query.equals(query2) ) {
+ if ( false ) {
+ System.err.println(query);
+ System.err.println(query2);
+ }
throw new QueryCheckException("reparsed output does not equal parsed input") ;
+ }
}
}
diff --git a/jena-arq/src/test/java/org/apache/jena/sparql/sse/TestSSE_Basic.java b/jena-arq/src/test/java/org/apache/jena/sparql/sse/TestSSE_Basic.java
index 52311fb..3c5373d 100644
--- a/jena-arq/src/test/java/org/apache/jena/sparql/sse/TestSSE_Basic.java
+++ b/jena-arq/src/test/java/org/apache/jena/sparql/sse/TestSSE_Basic.java
@@ -246,15 +246,15 @@
@Test public void testMisc_11() { testNotEquals("(a)", "()") ; }
@Test public void testMisc_12() { testNotEquals("(a)", "(<a>)") ; }
- @Test public void testTripleTerm_1() { testNode("{:s :p :o}"); }
- @Test public void testTripleTerm_2() { testNode("{ :s :p :o }"); }
- @Test public void testTripleTerm_3() { testNode("{ ?s ?p ?o }"); }
- @Test public void testTripleTerm_4() { testNode("{{ :s :p :o } :q { :s :p :o }}"); }
+ @Test public void testTripleTerm_1() { testNode("<< :s :p :o >>"); }
+ @Test public void testTripleTerm_2() { testNode("<<:s :p :o>>"); }
+ @Test public void testTripleTerm_3() { testNode("<< ?s ?p ?o >>"); }
+ @Test public void testTripleTerm_4() { testNode("<<<< :s :p :o >> :q << :s :p :o >>>>"); }
- @Test public void testTripleTerm_10() { parseBad("{ :s :p :o "); }
- @Test public void testTripleTerm_11() { parseBad("{ :s }"); }
- @Test public void testTripleTerm_12() { parseBad("{ :s :p }"); }
- @Test public void testTripleTerm_13() { parseBad("{ {:s :p :o} :q } "); }
+ @Test public void testTripleTerm_10() { parseBad("<< :s :p :o "); }
+ @Test public void testTripleTerm_11() { parseBad("<< :s >>"); }
+ @Test public void testTripleTerm_12() { parseBad("<< :s :p >>"); }
+ @Test public void testTripleTerm_13() { parseBad("<< <<:s :p :o >> :q >> "); }
@Test public void testTaggedList_1()
{
diff --git a/jena-db/jena-tdb2/src/test/java/org/apache/jena/tdb2/TestTDB2.java b/jena-db/jena-tdb2/src/test/java/org/apache/jena/tdb2/TestTDB2.java
index d1af13c..a7fd3c8 100644
--- a/jena-db/jena-tdb2/src/test/java/org/apache/jena/tdb2/TestTDB2.java
+++ b/jena-db/jena-tdb2/src/test/java/org/apache/jena/tdb2/TestTDB2.java
@@ -40,8 +40,8 @@
/** Misc tests for TDB2. */
public class TestTDB2 {
// Safe on MS Windows - different directories for abort1 and abort2.
- static String DIR1 = "DB_1";
- static String DIR2 = "DB_2";
+ static String DIR1 = "target/tdb-testing/DB_1";
+ static String DIR2 = "target/tdb-testing/DB_2";
@BeforeClass public static void beforeClass() {
FileOps.ensureDir(DIR1);
diff --git a/jena-extras/jena-querybuilder/src/main/java/org/apache/jena/arq/querybuilder/rewriters/BuildElementVisitor.java b/jena-extras/jena-querybuilder/src/main/java/org/apache/jena/arq/querybuilder/rewriters/BuildElementVisitor.java
index 9a3b89a..7890740 100644
--- a/jena-extras/jena-querybuilder/src/main/java/org/apache/jena/arq/querybuilder/rewriters/BuildElementVisitor.java
+++ b/jena-extras/jena-querybuilder/src/main/java/org/apache/jena/arq/querybuilder/rewriters/BuildElementVisitor.java
@@ -20,24 +20,7 @@
import java.util.List;
import org.apache.jena.arq.querybuilder.handlers.WhereHandler;
-import org.apache.jena.sparql.syntax.Element;
-import org.apache.jena.sparql.syntax.ElementAssign;
-import org.apache.jena.sparql.syntax.ElementBind;
-import org.apache.jena.sparql.syntax.ElementData;
-import org.apache.jena.sparql.syntax.ElementDataset;
-import org.apache.jena.sparql.syntax.ElementExists;
-import org.apache.jena.sparql.syntax.ElementFilter;
-import org.apache.jena.sparql.syntax.ElementGroup;
-import org.apache.jena.sparql.syntax.ElementMinus;
-import org.apache.jena.sparql.syntax.ElementNamedGraph;
-import org.apache.jena.sparql.syntax.ElementNotExists;
-import org.apache.jena.sparql.syntax.ElementOptional;
-import org.apache.jena.sparql.syntax.ElementPathBlock;
-import org.apache.jena.sparql.syntax.ElementService;
-import org.apache.jena.sparql.syntax.ElementSubQuery;
-import org.apache.jena.sparql.syntax.ElementTriplesBlock;
-import org.apache.jena.sparql.syntax.ElementUnion;
-import org.apache.jena.sparql.syntax.ElementVisitor;
+import org.apache.jena.sparql.syntax.*;
/**
* An element visitor that does an in-place modification of the elements to
@@ -88,6 +71,11 @@
result=el;
}
+ @Override public void visit(ElementFind el) {
+ // no change
+ result=el;
+ }
+
@Override
public void visit(ElementData el) {
// no change
diff --git a/jena-extras/jena-querybuilder/src/main/java/org/apache/jena/arq/querybuilder/rewriters/ElementRewriter.java b/jena-extras/jena-querybuilder/src/main/java/org/apache/jena/arq/querybuilder/rewriters/ElementRewriter.java
index 6ec675e..7a99ff4 100644
--- a/jena-extras/jena-querybuilder/src/main/java/org/apache/jena/arq/querybuilder/rewriters/ElementRewriter.java
+++ b/jena-extras/jena-querybuilder/src/main/java/org/apache/jena/arq/querybuilder/rewriters/ElementRewriter.java
@@ -99,6 +99,20 @@
push(new ElementTriplesBlock());
}
}
+
+ @Override
+ public void visit(ElementFind el) {
+ Node n = changeNode(el.getVar());
+ Triple triple = rewrite(el.getTriple());
+
+ if (n.equals(el.getVar())) {
+ push(new ElementFind(Var.alloc(n), triple));
+ } else {
+ ElementTriplesBlock etb = new ElementTriplesBlock();
+ etb.addTriple(triple);
+ push(etb);
+ }
+ }
@Override
public void visit(ElementData el) {
diff --git a/jena-extras/jena-querybuilder/src/main/java/org/apache/jena/arq/querybuilder/rewriters/OpRewriter.java b/jena-extras/jena-querybuilder/src/main/java/org/apache/jena/arq/querybuilder/rewriters/OpRewriter.java
index 28bc58c..71dd5e3 100644
--- a/jena-extras/jena-querybuilder/src/main/java/org/apache/jena/arq/querybuilder/rewriters/OpRewriter.java
+++ b/jena-extras/jena-querybuilder/src/main/java/org/apache/jena/arq/querybuilder/rewriters/OpRewriter.java
@@ -23,7 +23,9 @@
import java.util.Map;
import org.apache.jena.graph.Node ;
+import org.apache.jena.graph.Triple;
import org.apache.jena.query.SortCondition ;
+import org.apache.jena.shared.JenaException;
import org.apache.jena.sparql.algebra.Op ;
import org.apache.jena.sparql.algebra.OpVisitor ;
import org.apache.jena.sparql.algebra.Table ;
@@ -107,7 +109,21 @@
push(new OpPath(rewrite(opPath.getTriplePath())));
}
- @Override
+ @Override
+ public void visit(OpFind opFind) {
+ Var var = opFind.getVar();
+ Triple triple = opFind.getTriple();
+
+ Node n2 = changeNode(var);
+ if ( ! Var.isVar(n2) )
+ throw new JenaException("OpFind: Write if not a variable");
+
+ Var var2 = Var.alloc(n2);
+ Triple triple2 = rewrite(triple);
+ push(new OpFind(triple2, var2));
+ }
+
+ @Override
public void visit(OpTable opTable) {
Table tbl = opTable.getTable();
boolean process = false;
diff --git a/jena-extras/jena-querybuilder/src/main/java/org/apache/jena/arq/querybuilder/updatebuilder/QuadIteratorBuilder.java b/jena-extras/jena-querybuilder/src/main/java/org/apache/jena/arq/querybuilder/updatebuilder/QuadIteratorBuilder.java
index 16cd1a2..8331a80 100644
--- a/jena-extras/jena-querybuilder/src/main/java/org/apache/jena/arq/querybuilder/updatebuilder/QuadIteratorBuilder.java
+++ b/jena-extras/jena-querybuilder/src/main/java/org/apache/jena/arq/querybuilder/updatebuilder/QuadIteratorBuilder.java
@@ -26,24 +26,7 @@
import org.apache.jena.query.QueryParseException;
import org.apache.jena.sparql.core.Quad;
import org.apache.jena.sparql.core.TriplePath;
-import org.apache.jena.sparql.syntax.Element;
-import org.apache.jena.sparql.syntax.ElementAssign;
-import org.apache.jena.sparql.syntax.ElementBind;
-import org.apache.jena.sparql.syntax.ElementData;
-import org.apache.jena.sparql.syntax.ElementDataset;
-import org.apache.jena.sparql.syntax.ElementExists;
-import org.apache.jena.sparql.syntax.ElementFilter;
-import org.apache.jena.sparql.syntax.ElementGroup;
-import org.apache.jena.sparql.syntax.ElementMinus;
-import org.apache.jena.sparql.syntax.ElementNamedGraph;
-import org.apache.jena.sparql.syntax.ElementNotExists;
-import org.apache.jena.sparql.syntax.ElementOptional;
-import org.apache.jena.sparql.syntax.ElementPathBlock;
-import org.apache.jena.sparql.syntax.ElementService;
-import org.apache.jena.sparql.syntax.ElementSubQuery;
-import org.apache.jena.sparql.syntax.ElementTriplesBlock;
-import org.apache.jena.sparql.syntax.ElementUnion;
-import org.apache.jena.sparql.syntax.ElementVisitor;
+import org.apache.jena.sparql.syntax.*;
import org.apache.jena.util.iterator.ExtendedIterator;
import org.apache.jena.util.iterator.WrappedIterator;
@@ -118,6 +101,11 @@
}
@Override
+ public void visit(ElementFind el) {
+ throw new QueryParseException("FIND not permitted in data quad", -1, -1) ;
+ }
+
+ @Override
public void visit(ElementData el) {
throw new QueryParseException("element data not permitted in data quad", -1, -1) ;
}
diff --git a/jena-extras/jena-querybuilder/src/test/java/org/apache/jena/arq/querybuilder/WhereValidator.java b/jena-extras/jena-querybuilder/src/test/java/org/apache/jena/arq/querybuilder/WhereValidator.java
index b04e68b..5165298 100644
--- a/jena-extras/jena-querybuilder/src/test/java/org/apache/jena/arq/querybuilder/WhereValidator.java
+++ b/jena-extras/jena-querybuilder/src/test/java/org/apache/jena/arq/querybuilder/WhereValidator.java
@@ -19,24 +19,7 @@
import java.util.List;
-import org.apache.jena.sparql.syntax.Element;
-import org.apache.jena.sparql.syntax.ElementAssign;
-import org.apache.jena.sparql.syntax.ElementBind;
-import org.apache.jena.sparql.syntax.ElementData;
-import org.apache.jena.sparql.syntax.ElementDataset;
-import org.apache.jena.sparql.syntax.ElementExists;
-import org.apache.jena.sparql.syntax.ElementFilter;
-import org.apache.jena.sparql.syntax.ElementGroup;
-import org.apache.jena.sparql.syntax.ElementMinus;
-import org.apache.jena.sparql.syntax.ElementNamedGraph;
-import org.apache.jena.sparql.syntax.ElementNotExists;
-import org.apache.jena.sparql.syntax.ElementOptional;
-import org.apache.jena.sparql.syntax.ElementPathBlock;
-import org.apache.jena.sparql.syntax.ElementService;
-import org.apache.jena.sparql.syntax.ElementSubQuery;
-import org.apache.jena.sparql.syntax.ElementTriplesBlock;
-import org.apache.jena.sparql.syntax.ElementUnion;
-import org.apache.jena.sparql.syntax.ElementVisitor;
+import org.apache.jena.sparql.syntax.*;
import org.apache.jena.sparql.util.NodeIsomorphismMap;
/**
@@ -110,7 +93,13 @@
return;
}
- @Override
+ @Override
+ public void visit(ElementFind el) {
+ checkMatching( el );
+ return;
+ }
+
+ @Override
public void visit(ElementData el) {
checkMatching( el );
return;
diff --git a/jena-permissions/src/main/java/org/apache/jena/permissions/query/rewriter/OpRewriter.java b/jena-permissions/src/main/java/org/apache/jena/permissions/query/rewriter/OpRewriter.java
index 189bbe4..77a768f 100644
--- a/jena-permissions/src/main/java/org/apache/jena/permissions/query/rewriter/OpRewriter.java
+++ b/jena-permissions/src/main/java/org/apache/jena/permissions/query/rewriter/OpRewriter.java
@@ -324,16 +324,27 @@
}
/**
- * rewrites the subop of filter.
+ * Returns the opFind
*/
@Override
- public void visit(final OpFilter opFilter) {
+ public void visit(final OpFind opFind) {
if (LOG.isDebugEnabled()) {
- LOG.debug("Starting visiting OpFilter");
+ LOG.debug("Starting visiting OpFind");
}
- addOp(OpFilter.filterBy(opFilter.getExprs(), rewriteOp1(opFilter)));
+ addOp(opFind);
}
+ /**
+ * rewrites the subop of filter.
+ */
+ @Override
+ public void visit(final OpFilter opFilter) {
+ if (LOG.isDebugEnabled()) {
+ LOG.debug("Starting visiting OpFilter");
+ }
+ addOp(OpFilter.filterBy(opFilter.getExprs(), rewriteOp1(opFilter)));
+ }
+
/**
* rewrites the subop of graph.
*/
diff --git a/jena-shacl/src/main/java/org/apache/jena/shacl/engine/ShaclPaths.java b/jena-shacl/src/main/java/org/apache/jena/shacl/engine/ShaclPaths.java
index 01814e1..437d85c 100644
--- a/jena-shacl/src/main/java/org/apache/jena/shacl/engine/ShaclPaths.java
+++ b/jena-shacl/src/main/java/org/apache/jena/shacl/engine/ShaclPaths.java
@@ -274,11 +274,12 @@
@Override
public void visit(P_Alt pathAlt) {
+ // [ sh:alternativePath ( elt1 elt2 ) ]
Node n1 = pathToRDF$(pathAlt.getLeft());
Node n2 = pathToRDF$(pathAlt.getRight());
Node list = list(acc, n1, n2);
+ point = NodeFactory.createBlankNode();
Triple t = Triple.create(point, SHACL.alternativePath, list);
- point = list;
acc.accept(t);
}