diff --git a/jena-arq/Grammar/arq.jj b/jena-arq/Grammar/arq.jj index c9b7d5ed61f..b20888b7c24 100644 --- a/jena-arq/Grammar/arq.jj +++ b/jena-arq/Grammar/arq.jj @@ -35,6 +35,8 @@ import org.apache.jena.sparql.expr.aggregate.lib.* ; import org.apache.jena.update.* ; import org.apache.jena.sparql.modify.request.* ; import org.apache.jena.sparql.core.Quad ; +import java.util.List; +import java.util.ArrayList; public class ARQParser extends ARQParserBase {} PARSER_END(ARQParser) @@ -612,6 +614,8 @@ Element GraphPatternNotTriples() : { Element el = null ; } el = GroupOrUnionGraphPattern() | el = OptionalGraphPattern() + | + el = LateralGraphPattern() | el = MinusGraphPattern() | @@ -637,6 +641,10 @@ Element OptionalGraphPattern() : { Element el ; } { el = GroupGraphPattern() { return new ElementOptional(el) ; } } +Element LateralGraphPattern() : { Element el ; } +{ el = GroupGraphPattern() + { return new ElementLateral(el) ; } +} Element GraphGraphPattern() : { Element el ; Node n ;} { n = VarOrIri() el = GroupGraphPattern() @@ -1783,6 +1791,7 @@ TOKEN [IGNORE_CASE] : | < SUBJECT: "SUBJECT" > | < PREDICATE: "PREDICATE" > | < OBJECT: "OBJECT" > +| < LATERAL: "LATERAL" > | < EXISTS: "exists" > | < NOT: "not" > | < AS: "as" > diff --git a/jena-arq/Grammar/main.jj b/jena-arq/Grammar/main.jj index e6340718387..26d60d327c6 100644 --- a/jena-arq/Grammar/main.jj +++ b/jena-arq/Grammar/main.jj @@ -99,6 +99,8 @@ import org.apache.jena.sparql.modify.request.* ; #endif #ifdef ARQ import org.apache.jena.sparql.core.Quad ; +import java.util.List; +import java.util.ArrayList; #endif public class CLASS extends PARSERBASE @@ -879,6 +881,10 @@ Element GraphPatternNotTriples() : { Element el = null ; } el = GroupOrUnionGraphPattern() | el = OptionalGraphPattern() +#ifdef ARQ + | + el = LateralGraphPattern() +#endif | el = MinusGraphPattern() | @@ -910,13 +916,19 @@ Element OptionalGraphPattern() : { Element el ; } { return new ElementOptional(el) ; } } +#ifdef ARQ +Element LateralGraphPattern() : { Element el ; } +{ el = GroupGraphPattern() + { return new ElementLateral(el) ; } +} +#endif + Element GraphGraphPattern() : { Element el ; Node n ;} { n = VarOrIri() el = GroupGraphPattern() { return new ElementNamedGraph(n, el) ; } } - Element ServiceGraphPattern() : { Element el ; Node n ; boolean silent = false ; } { @@ -2522,6 +2534,7 @@ TOKEN [IGNORE_CASE] : | < SUBJECT: "SUBJECT" > | < PREDICATE: "PREDICATE" > | < OBJECT: "OBJECT" > +| < LATERAL: "LATERAL" > #endif | < EXISTS: "exists" > | < NOT: "not" > diff --git a/jena-arq/Grammar/tokens.txt b/jena-arq/Grammar/tokens.txt index bd4e4e69b15..41d0d13a81e 100644 --- a/jena-arq/Grammar/tokens.txt +++ b/jena-arq/Grammar/tokens.txt @@ -104,6 +104,7 @@ [] ::= 'GRAPH' [] ::= 'UNION' [] ::= 'OPTIONAL' +[] ::= 'LATERAL' [] ::= 'BOUND' [] ::= 'COALESCE' [] ::= 'IF' 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 ad21560b4d0..5ba5d9bb0e5 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 @@ -301,6 +301,11 @@ protected Op compileOneInGroup(Element elt, Op current, Deque acc) { return compileElementOptional(eltOpt, current); } + if ( elt instanceof ElementLateral ) { + ElementLateral eltLateral = (ElementLateral)elt; + return compileElementLateral(eltLateral, current); + } + if ( elt instanceof ElementMinus ) { ElementMinus elt2 = (ElementMinus)elt; Op op = compileElementMinus(current, elt2); @@ -397,6 +402,12 @@ protected Op compileElementOptional(ElementOptional eltOpt, Op current) { return current; } + protected Op compileElementLateral(ElementLateral eltLateral, Op current) { + Element subElt = eltLateral.getLateralElement(); + Op op = compileElement(subElt); + return OpLateral.create(current, op); + } + protected Op compileBasicPattern(BasicPattern pattern) { return new OpBGP(pattern); } 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 4b29b1195ae..546cbc5b8ba 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 @@ -37,11 +37,15 @@ import org.apache.jena.sparql.core.Var ; import org.apache.jena.sparql.core.VarExprList ; import org.apache.jena.sparql.engine.QueryIterator ; +import org.apache.jena.sparql.engine.Rename; import org.apache.jena.sparql.expr.* ; import org.apache.jena.sparql.expr.aggregate.Aggregator ; import org.apache.jena.sparql.pfunction.PropFuncArg ; import org.apache.jena.sparql.syntax.* ; -import org.apache.jena.sparql.syntax.syntaxtransform.*; +import org.apache.jena.sparql.syntax.syntaxtransform.ElementTransform; +import org.apache.jena.sparql.syntax.syntaxtransform.ElementTransformCleanGroupsOfOne; +import org.apache.jena.sparql.syntax.syntaxtransform.ElementTransformer; +import org.apache.jena.sparql.syntax.syntaxtransform.ExprTransformApplyElementTransform; import org.apache.jena.sparql.util.graph.GraphList ; import org.apache.jena.vocabulary.RDF ; @@ -698,9 +702,25 @@ public void visit(OpUnion opUnion) { currentGroup().addElement(elUnion) ; } + @Override + public void visit(OpLateral opLateral) { + Element eLeft = asElement(opLateral.getLeft()) ; + ElementGroup eRight = asElementGroup(opLateral.getRight()) ; + ElementGroup g = currentGroup() ; + if ( !emptyGroup(eLeft) ) { + if ( eLeft instanceof ElementGroup ) + g.getElements().addAll(((ElementGroup)eLeft).getElements()) ; + else + g.addElement(eLeft) ; + } + ElementLateral eltLateral = new ElementLateral(eRight) ; + g.addElement(eltLateral) ; + } + @Override public void visit(OpConditional opCondition) { - // Possibly imperfect because there might be filters outside the OpConditional. + // Possibly completely reversing a query exactly because + // there might be filters outside the OpConditional. convertLeftJoin(opCondition.getLeft(), opCondition.getRight(), null); } @@ -822,7 +842,10 @@ private void newLevel(Op op) { } private void convertAsSubQuery(Op op) { - Converter subConverter = new Converter(op) ; + // Reverse scoped renaming. + // ?/x is illegal so the original query string must have had ?x at this point for any number of "/" + Op op1 = Rename.reverseVarRename(op, true); + Converter subConverter = new Converter(op1) ; ElementSubQuery subQuery = new ElementSubQuery(subConverter.convert()) ; ElementGroup g = currentGroup() ; g.addElement(subQuery) ; 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 040ce7b9d5d..15a13d5fd44 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 @@ -49,6 +49,7 @@ public interface OpVisitor public void visit(OpUnion opUnion) ; public void visit(OpDiff opDiff) ; public void visit(OpMinus opMinus) ; + public void visit(OpLateral opLateral) ; 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 ae593ec7e26..8eccc40e9d2 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 @@ -49,6 +49,8 @@ public OpVisitorBase() {} @Override public void visit(OpLeftJoin opLeftJoin) {} + @Override public void visit(OpLateral opLateral) {} + @Override public void visit(OpConditional opCond) {} @Override public void visit(OpMinus opMinus) {} 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 f980979ea1f..b331f817a5f 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 @@ -103,6 +103,9 @@ public void visit(OpMinus opMinus) public void visit(OpUnion opUnion) { visit2(opUnion) ; } + @Override public void visit(OpLateral opLateral) + { visit2(opLateral) ; } + @Override public void visit(OpConditional opCond) { visit2(opCond) ; } 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 d6a560b05f5..98fbc1b872a 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 @@ -51,6 +51,7 @@ public interface Transform public Op transform(OpDiff opDiff, Op left, Op right) ; public Op transform(OpMinus opMinus, Op left, Op right) ; public Op transform(OpUnion opUnion, Op left, Op right) ; + public Op transform(OpLateral opLater, Op left, Op right) ; public Op transform(OpConditional opCondition, Op left, Op right) ; // OpN 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 c82fe96ea09..32ecd34b178 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 @@ -80,6 +80,8 @@ public class TransformCopy implements Transform @Override public Op transform(OpUnion opUnion, Op left, Op right) { return xform(opUnion, left, right) ; } @Override + public Op transform(OpLateral opLateral, Op left, Op right) { return xform(opLateral, left, right) ; } + @Override public Op transform(OpConditional opCond, Op left, Op right) { return xform(opCond, left, right) ; } @Override diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/algebra/TransformSingle.java b/jena-arq/src/main/java/org/apache/jena/sparql/algebra/TransformSingle.java index fee5cce5236..5515cb85e75 100644 --- a/jena-arq/src/main/java/org/apache/jena/sparql/algebra/TransformSingle.java +++ b/jena-arq/src/main/java/org/apache/jena/sparql/algebra/TransformSingle.java @@ -24,7 +24,7 @@ /** * Special purpose base class for a single transformation. - * + * * When writing {@link Transform}s to be applied to a tree, * extend {@link TransformCopy}, not this class. */ @@ -76,6 +76,8 @@ public class TransformSingle implements Transform @Override public Op transform(OpUnion opUnion, Op left, Op right) { return opUnion ; } @Override + public Op transform(OpLateral opCopLateral, Op left, Op right) { return opCopLateral ; } + @Override public Op transform(OpConditional opCond, Op left, Op right) { return opCond ; } @Override 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 6d9bde045ba..30bff50c707 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 @@ -78,6 +78,8 @@ public TransformWrapper(Transform transform) @Override public Op transform(OpUnion opUnion, Op left, Op right) { return transform.transform(opUnion, left, right) ; } @Override + public Op transform(OpLateral opLateral, Op left, Op right) { return transform.transform(opLateral, left, right) ; } + @Override public Op transform(OpConditional opCond, Op left, Op right) { return transform.transform(opCond, left, right) ; } @Override diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/algebra/op/OpLateral.java b/jena-arq/src/main/java/org/apache/jena/sparql/algebra/op/OpLateral.java new file mode 100644 index 00000000000..019a44b4f58 --- /dev/null +++ b/jena-arq/src/main/java/org/apache/jena/sparql/algebra/op/OpLateral.java @@ -0,0 +1,56 @@ +/* + * 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 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.sse.Tags; +import org.apache.jena.sparql.util.NodeIsomorphismMap; + +public class OpLateral extends Op2 +{ + public static Op create(Op left, Op right) { + return new OpLateral(left, right); + } + + private OpLateral(Op left, Op right) { + super(left, right); + } + + @Override + public String getName() { return Tags.tagLateral; } + + @Override + public Op apply(Transform transform, Op left, Op right) + { return transform.transform(this, left, right); } + + @Override + public void visit(OpVisitor opVisitor) { opVisitor.visit(this); } + + @Override + public Op2 copy(Op newLeft, Op newRight) + { return new OpLateral(newLeft, newRight); } + + @Override + public boolean equalTo(Op op2, NodeIsomorphismMap labelMap) { + if ( ! ( op2 instanceof OpLateral) ) return false; + return super.sameArgumentsAs((Op2)op2, labelMap); + } +} diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/algebra/optimize/TransformFilterImplicitJoin.java b/jena-arq/src/main/java/org/apache/jena/sparql/algebra/optimize/TransformFilterImplicitJoin.java index efd47f8f74a..3e75319a9a5 100644 --- a/jena-arq/src/main/java/org/apache/jena/sparql/algebra/optimize/TransformFilterImplicitJoin.java +++ b/jena-arq/src/main/java/org/apache/jena/sparql/algebra/optimize/TransformFilterImplicitJoin.java @@ -120,10 +120,14 @@ private static Op apply(ExprList exprs, Op subOp) { // ---- Check if the subOp is the right shape to transform. Op op = subOp; - // Special case : deduce that the filter will always "eval unbound" - // hence eliminate all rows. Return the empty table. + // LATERAL : This is not longer true. +// // Special case : deduce that the filter will always "eval unbound" +// // hence eliminate all rows. Return the empty table. +// if (testSpecialCaseUnused(subOp, joins, remaining)) +// return OpTable.empty(); + // But simply skipping this causes (filter) to become (assign) which fails as (assign) does not handle errors. if (testSpecialCaseUnused(subOp, joins, remaining)) - return OpTable.empty(); + return null; // Special case: the deep left op of a OpConditional/OpLeftJoin is unit // table. 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 d4e22634542..5387afab57b 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 @@ -133,6 +133,11 @@ public default void visit(OpUnion opUnion) { visit2(opUnion); } + @Override + public default void visit(OpLateral opLateral) { + visit2(opLateral); + } + @Override public default void visit(OpConditional opCond) { visit2(opCond); diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/engine/iterator/QueryIter1.java b/jena-arq/src/main/java/org/apache/jena/sparql/engine/iterator/QueryIter1.java index 197c91afbad..76c38cff9e0 100644 --- a/jena-arq/src/main/java/org/apache/jena/sparql/engine/iterator/QueryIter1.java +++ b/jena-arq/src/main/java/org/apache/jena/sparql/engine/iterator/QueryIter1.java @@ -28,52 +28,49 @@ * This class supports a QueryIter that takes one QueryIterator as input. */ public abstract class QueryIter1 extends QueryIter { - private QueryIterator input ; - - public QueryIter1(QueryIterator input, ExecutionContext execCxt) - { - super(execCxt) ; - this.input = input ; + private QueryIterator input; + + public QueryIter1(QueryIterator input, ExecutionContext execCxt) { + super(execCxt); + this.input = input; } - + protected QueryIterator getInput() { return input ; } - + @Override - protected final - void closeIterator() - { - closeSubIterator() ; - performClose(input) ; - input = null ; + protected final void closeIterator() { + closeSubIterator(); + performClose(input); + input = null; } - + @Override - protected final - void requestCancel() - { - requestSubCancel() ; - performRequestCancel(input) ; + protected final void requestCancel() { + requestSubCancel(); + performRequestCancel(input); } - + /** Cancellation of the query execution is happening */ - protected abstract void requestSubCancel() ; - - /** Pass on the close method - no need to close the QueryIterator passed to the QueryIter1 constructor */ - protected abstract void closeSubIterator() ; - + protected abstract void requestSubCancel(); + + /** + * Pass on the close method - no need to close the QueryIterator passed to the + * QueryIter1 constructor + */ + protected abstract void closeSubIterator(); + // Do better @Override - public void output(IndentedWriter out, SerializationContext sCxt) - { + public void output(IndentedWriter out, SerializationContext sCxt) { // Linear form. if ( getInput() != null ) // Closed - getInput().output(out, sCxt) ; + getInput().output(out, sCxt); else out.println("Closed"); - out.ensureStartOfLine() ; - details(out, sCxt) ; - out.ensureStartOfLine() ; + out.ensureStartOfLine(); + details(out, sCxt); + out.ensureStartOfLine(); // details(out, sCxt) ; // out.ensureStartOfLine() ; @@ -83,9 +80,7 @@ public void output(IndentedWriter out, SerializationContext sCxt) // out.ensureStartOfLine() ; } - protected void details(IndentedWriter out, SerializationContext sCxt) - { - out.println(Lib.className(this)) ; + protected void details(IndentedWriter out, SerializationContext sCxt) { + out.println(Lib.className(this)); } - } diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/engine/iterator/QueryIterLateral.java b/jena-arq/src/main/java/org/apache/jena/sparql/engine/iterator/QueryIterLateral.java new file mode 100644 index 00000000000..0a5629f3f28 --- /dev/null +++ b/jena-arq/src/main/java/org/apache/jena/sparql/engine/iterator/QueryIterLateral.java @@ -0,0 +1,54 @@ +/* + * 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 org.apache.jena.sparql.algebra.Op; +import org.apache.jena.sparql.algebra.op.OpTable; +import org.apache.jena.sparql.core.Substitute; +import org.apache.jena.sparql.engine.ExecutionContext; +import org.apache.jena.sparql.engine.QueryIterator; +import org.apache.jena.sparql.engine.binding.Binding; +import org.apache.jena.sparql.engine.main.QC; + +public class QueryIterLateral extends QueryIterRepeatApply { + + private final Op lateralOp; + private final boolean isUnit; + + public QueryIterLateral(QueryIterator input, Op lateralOp, ExecutionContext execCxt) { + super(input, execCxt); + this.lateralOp = lateralOp; + this.isUnit = isJoinIdentity(lateralOp); + } + + private boolean isJoinIdentity(Op op) { + if( ! ( op instanceof OpTable ) ) + return false; + OpTable table = (OpTable)lateralOp; + return table.isJoinIdentity(); + } + + @Override + protected QueryIterator nextStage(Binding binding) { + if ( isUnit ) + return QueryIterSingleton.create(binding, super.getExecContext()); + Op op = Substitute.substitute(lateralOp, binding); + return QC.execute(op, binding, super.getExecContext()); + } +} 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 25297db7cc0..923836a7bcb 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 @@ -18,317 +18,288 @@ package org.apache.jena.sparql.engine.main; -import java.util.ArrayDeque ; -import java.util.Deque ; +import java.util.ArrayDeque; +import java.util.Deque; -import org.apache.jena.atlas.logging.Log ; -import org.apache.jena.sparql.algebra.Op ; -import org.apache.jena.sparql.algebra.OpVisitor ; -import org.apache.jena.sparql.algebra.op.* ; -import org.apache.jena.sparql.engine.QueryIterator ; +import org.apache.jena.atlas.logging.Log; +import org.apache.jena.sparql.algebra.Op; +import org.apache.jena.sparql.algebra.OpVisitor; +import org.apache.jena.sparql.algebra.op.*; +import org.apache.jena.sparql.engine.QueryIterator; -/** Class to provide type-safe execution dispatch using the visitor support of Op */ +/** Class to provide type-safe execution dispatch using the visitor support of Op */ -class ExecutionDispatch implements OpVisitor -{ - private Deque stack = new ArrayDeque<>() ; - private OpExecutor opExecutor ; +class ExecutionDispatch implements OpVisitor { + private Deque stack = new ArrayDeque<>(); + private OpExecutor opExecutor; - ExecutionDispatch(OpExecutor exec) - { - opExecutor = exec ; + ExecutionDispatch(OpExecutor exec) { + opExecutor = exec; } - QueryIterator exec(Op op, QueryIterator input) - { - push(input) ; - int x = stack.size() ; - op.visit(this) ; - int y = stack.size() ; + QueryIterator exec(Op op, QueryIterator input) { + push(input); + int x = stack.size(); + op.visit(this); + int y = stack.size(); if ( x != y ) - Log.warn(this, "Possible stack misalignment") ; - QueryIterator qIter = pop() ; - return qIter ; + Log.warn(this, "Possible stack misalignment"); + QueryIterator qIter = pop(); + return qIter; } @Override - public void visit(OpBGP opBGP) - { - QueryIterator input = pop() ; - QueryIterator qIter = opExecutor.execute(opBGP, input) ; - push(qIter) ; + public void visit(OpBGP opBGP) { + QueryIterator input = pop(); + QueryIterator qIter = opExecutor.execute(opBGP, input); + push(qIter); } @Override - public void visit(OpQuadPattern quadPattern) - { - QueryIterator input = pop() ; - QueryIterator qIter = opExecutor.execute(quadPattern, input) ; - push(qIter) ; + public void visit(OpQuadPattern quadPattern) { + QueryIterator input = pop(); + QueryIterator qIter = opExecutor.execute(quadPattern, input); + push(qIter); } @Override - public void visit(OpQuadBlock quadBlock) - { - QueryIterator input = pop() ; - QueryIterator qIter = opExecutor.execute(quadBlock, input) ; - push(qIter) ; + public void visit(OpQuadBlock quadBlock) { + QueryIterator input = pop(); + QueryIterator qIter = opExecutor.execute(quadBlock, input); + push(qIter); } @Override - public void visit(OpTriple opTriple) - { - QueryIterator input = pop() ; - QueryIterator qIter = opExecutor.execute(opTriple, input) ; - push(qIter) ; + public void visit(OpTriple opTriple) { + QueryIterator input = pop(); + QueryIterator qIter = opExecutor.execute(opTriple, input); + push(qIter); } @Override - public void visit(OpQuad opQuad) - { - QueryIterator input = pop() ; - QueryIterator qIter = opExecutor.execute(opQuad, input) ; - push(qIter) ; + public void visit(OpQuad opQuad) { + QueryIterator input = pop(); + QueryIterator qIter = opExecutor.execute(opQuad, input); + push(qIter); } @Override - public void visit(OpPath opPath) - { - QueryIterator input = pop() ; - QueryIterator qIter = opExecutor.execute(opPath, input) ; - push(qIter) ; + public void visit(OpPath opPath) { + QueryIterator input = pop(); + QueryIterator qIter = opExecutor.execute(opPath, input); + push(qIter); } @Override - public void visit(OpProcedure opProc) - { - QueryIterator input = pop() ; - QueryIterator qIter = opExecutor.execute(opProc, input) ; - push(qIter) ; + public void visit(OpProcedure opProc) { + QueryIterator input = pop(); + QueryIterator qIter = opExecutor.execute(opProc, input); + push(qIter); } @Override - public void visit(OpPropFunc opPropFunc) - { - QueryIterator input = pop() ; - QueryIterator qIter = opExecutor.execute(opPropFunc, input) ; - push(qIter) ; + public void visit(OpPropFunc opPropFunc) { + QueryIterator input = pop(); + QueryIterator qIter = opExecutor.execute(opPropFunc, input); + push(qIter); } @Override - public void visit(OpJoin opJoin) - { - QueryIterator input = pop() ; - QueryIterator qIter = opExecutor.execute(opJoin, input) ; - push(qIter) ; + public void visit(OpJoin opJoin) { + QueryIterator input = pop(); + QueryIterator qIter = opExecutor.execute(opJoin, input); + push(qIter); } @Override - public void visit(OpSequence opSequence) - { - QueryIterator input = pop() ; - QueryIterator qIter = opExecutor.execute(opSequence, input) ; - push(qIter) ; + public void visit(OpSequence opSequence) { + QueryIterator input = pop(); + QueryIterator qIter = opExecutor.execute(opSequence, input); + push(qIter); } @Override - public void visit(OpDisjunction opDisjunction) - { - QueryIterator input = pop() ; - QueryIterator qIter = opExecutor.execute(opDisjunction, input) ; - push(qIter) ; + public void visit(OpDisjunction opDisjunction) { + QueryIterator input = pop(); + QueryIterator qIter = opExecutor.execute(opDisjunction, input); + push(qIter); } + @Override + public void visit(OpLeftJoin opLeftJoin) { + QueryIterator input = pop(); + QueryIterator qIter = opExecutor.execute(opLeftJoin, input); + push(qIter); + } @Override - public void visit(OpLeftJoin opLeftJoin) - { - QueryIterator input = pop() ; - QueryIterator qIter = opExecutor.execute(opLeftJoin, input) ; - push(qIter) ; + public void visit(OpDiff opDiff) { + QueryIterator input = pop(); + QueryIterator qIter = opExecutor.execute(opDiff, input); + push(qIter); } @Override - public void visit(OpDiff opDiff) - { - QueryIterator input = pop() ; - QueryIterator qIter = opExecutor.execute(opDiff, input) ; - push(qIter) ; + public void visit(OpMinus opMinus) { + QueryIterator input = pop(); + QueryIterator qIter = opExecutor.execute(opMinus, input); + push(qIter); } @Override - public void visit(OpMinus opMinus) - { - QueryIterator input = pop() ; - QueryIterator qIter = opExecutor.execute(opMinus, input) ; - push(qIter) ; + public void visit(OpUnion opUnion) { + QueryIterator input = pop(); + QueryIterator qIter = opExecutor.execute(opUnion, input); + push(qIter); } @Override - public void visit(OpUnion opUnion) - { - QueryIterator input = pop() ; - QueryIterator qIter = opExecutor.execute(opUnion, input) ; - push(qIter) ; + public void visit(OpLateral opLateral) { + QueryIterator input = pop(); + QueryIterator qIter = opExecutor.execute(opLateral, input); + push(qIter); } @Override - public void visit(OpConditional opCondition) - { - QueryIterator input = pop() ; - QueryIterator qIter = opExecutor.execute(opCondition, input) ; - push(qIter) ; + public void visit(OpConditional opCondition) { + QueryIterator input = pop(); + QueryIterator qIter = opExecutor.execute(opCondition, input); + push(qIter); } @Override - public void visit(OpFilter opFilter) - { - QueryIterator input = pop() ; - QueryIterator qIter = opExecutor.execute(opFilter, input) ; - push(qIter) ; + public void visit(OpFilter opFilter) { + QueryIterator input = pop(); + QueryIterator qIter = opExecutor.execute(opFilter, input); + push(qIter); } @Override - public void visit(OpGraph opGraph) - { - QueryIterator input = pop() ; - QueryIterator qIter = opExecutor.execute(opGraph, input) ; - push(qIter) ; + public void visit(OpGraph opGraph) { + QueryIterator input = pop(); + QueryIterator qIter = opExecutor.execute(opGraph, input); + push(qIter); } @Override - public void visit(OpService opService) - { - QueryIterator input = pop() ; - QueryIterator qIter = opExecutor.execute(opService, input) ; - push(qIter) ; + public void visit(OpService opService) { + QueryIterator input = pop(); + QueryIterator qIter = opExecutor.execute(opService, input); + push(qIter); } @Override - public void visit(OpDatasetNames dsNames) - { - QueryIterator input = pop() ; - QueryIterator qIter = opExecutor.execute(dsNames, input) ; - push(qIter) ; + public void visit(OpDatasetNames dsNames) { + QueryIterator input = pop(); + QueryIterator qIter = opExecutor.execute(dsNames, input); + push(qIter); } @Override - public void visit(OpTable opTable) - { - QueryIterator input = pop() ; - QueryIterator qIter = opExecutor.execute(opTable, input) ; - push(qIter) ; + public void visit(OpTable opTable) { + QueryIterator input = pop(); + QueryIterator qIter = opExecutor.execute(opTable, input); + push(qIter); } @Override - public void visit(OpExt opExt) - { - QueryIterator input = pop() ; - QueryIterator qIter = opExecutor.execute(opExt, input) ; - push(qIter) ; + public void visit(OpExt opExt) { + QueryIterator input = pop(); + QueryIterator qIter = opExecutor.execute(opExt, input); + push(qIter); } @Override - public void visit(OpNull opNull) - { - QueryIterator input = pop() ; - QueryIterator qIter = opExecutor.execute(opNull, input) ; - push(qIter) ; + public void visit(OpNull opNull) { + QueryIterator input = pop(); + QueryIterator qIter = opExecutor.execute(opNull, input); + push(qIter); } @Override - public void visit(OpLabel opLabel) - { - QueryIterator input = pop() ; - QueryIterator qIter = opExecutor.execute(opLabel, input) ; - push(qIter) ; + public void visit(OpLabel opLabel) { + QueryIterator input = pop(); + QueryIterator qIter = opExecutor.execute(opLabel, input); + push(qIter); } @Override - public void visit(OpList opList) - { - QueryIterator input = pop() ; - QueryIterator qIter = opExecutor.execute(opList, input) ; - push(qIter) ; + public void visit(OpList opList) { + QueryIterator input = pop(); + QueryIterator qIter = opExecutor.execute(opList, input); + push(qIter); } @Override - public void visit(OpOrder opOrder) - { - QueryIterator input = pop() ; - QueryIterator qIter = opExecutor.execute(opOrder, input) ; - push(qIter) ; + public void visit(OpOrder opOrder) { + QueryIterator input = pop(); + QueryIterator qIter = opExecutor.execute(opOrder, input); + push(qIter); } @Override - public void visit(OpProject opProject) - { - QueryIterator input = pop() ; - QueryIterator qIter = opExecutor.execute(opProject, input) ; - push(qIter) ; + public void visit(OpProject opProject) { + QueryIterator input = pop(); + QueryIterator qIter = opExecutor.execute(opProject, input); + push(qIter); } @Override - public void visit(OpDistinct opDistinct) - { - QueryIterator input = pop() ; - QueryIterator qIter = opExecutor.execute(opDistinct, input) ; - push(qIter) ; + public void visit(OpDistinct opDistinct) { + QueryIterator input = pop(); + QueryIterator qIter = opExecutor.execute(opDistinct, input); + push(qIter); } @Override - public void visit(OpReduced opReduced) - { - QueryIterator input = pop() ; - QueryIterator qIter = opExecutor.execute(opReduced, input) ; - push(qIter) ; + public void visit(OpReduced opReduced) { + QueryIterator input = pop(); + QueryIterator qIter = opExecutor.execute(opReduced, input); + push(qIter); } @Override - public void visit(OpAssign opAssign) - { - QueryIterator input = pop() ; - QueryIterator qIter = opExecutor.execute(opAssign, input) ; - push(qIter) ; + public void visit(OpAssign opAssign) { + QueryIterator input = pop(); + QueryIterator qIter = opExecutor.execute(opAssign, input); + push(qIter); } @Override - public void visit(OpExtend opExtend) - { - QueryIterator input = pop() ; - QueryIterator qIter = opExecutor.execute(opExtend, input) ; - push(qIter) ; + public void visit(OpExtend opExtend) { + QueryIterator input = pop(); + QueryIterator qIter = opExecutor.execute(opExtend, input); + push(qIter); } @Override - public void visit(OpSlice opSlice) - { - QueryIterator input = pop() ; - QueryIterator qIter = opExecutor.execute(opSlice, input) ; - push(qIter) ; + public void visit(OpSlice opSlice) { + QueryIterator input = pop(); + QueryIterator qIter = opExecutor.execute(opSlice, input); + push(qIter); } @Override - public void visit(OpGroup opGroup) - { - QueryIterator input = pop() ; - QueryIterator qIter = opExecutor.execute(opGroup, input) ; - push(qIter) ; + public void visit(OpGroup opGroup) { + QueryIterator input = pop(); + QueryIterator qIter = opExecutor.execute(opGroup, input); + push(qIter); } @Override - public void visit(OpTopN opTop) - { - QueryIterator input = pop() ; - QueryIterator qIter = opExecutor.execute(opTop, input) ; - push(qIter) ; + public void visit(OpTopN opTop) { + QueryIterator input = pop(); + QueryIterator qIter = opExecutor.execute(opTop, input); + push(qIter); + } + + private void push(QueryIterator qIter) { + stack.push(qIter); } - private void push(QueryIterator qIter) { stack.push(qIter) ; } - private QueryIterator pop() - { + private QueryIterator pop() { if ( stack.size() == 0 ) - Log.warn(this, "Warning: pop: empty stack") ; - return stack.pop() ; + Log.warn(this, "Warning: pop: empty stack"); + return stack.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 fbd3e98fc0e..1bcde171726 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 @@ -16,187 +16,182 @@ * limitations under the License. */ -package org.apache.jena.sparql.engine.main ; +package org.apache.jena.sparql.engine.main; -import java.util.ArrayList ; -import java.util.Iterator ; -import java.util.List ; -import java.util.Set ; +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; +import java.util.Set; -import org.apache.jena.atlas.iterator.Iter ; -import org.apache.jena.graph.Node ; -import org.apache.jena.query.ARQ ; -import org.apache.jena.query.QueryExecException ; +import org.apache.jena.atlas.iterator.Iter; +import org.apache.jena.graph.Node; +import org.apache.jena.query.ARQ; +import org.apache.jena.query.QueryExecException; import org.apache.jena.query.SortCondition; -import org.apache.jena.sparql.ARQNotImplemented ; -import org.apache.jena.sparql.algebra.Op ; -import org.apache.jena.sparql.algebra.OpVars ; -import org.apache.jena.sparql.algebra.op.* ; -import org.apache.jena.sparql.core.BasicPattern ; -import org.apache.jena.sparql.core.Quad ; -import org.apache.jena.sparql.core.Var ; -import org.apache.jena.sparql.engine.ExecutionContext ; -import org.apache.jena.sparql.engine.QueryIterator ; -import org.apache.jena.sparql.engine.binding.Binding ; -import org.apache.jena.sparql.engine.iterator.* ; -import org.apache.jena.sparql.engine.join.Join ; -import org.apache.jena.sparql.engine.main.iterator.* ; -import org.apache.jena.sparql.expr.Expr ; -import org.apache.jena.sparql.expr.ExprList ; -import org.apache.jena.sparql.procedure.ProcEval ; -import org.apache.jena.sparql.procedure.Procedure ; +import org.apache.jena.sparql.ARQNotImplemented; +import org.apache.jena.sparql.algebra.Op; +import org.apache.jena.sparql.algebra.OpVars; +import org.apache.jena.sparql.algebra.op.*; +import org.apache.jena.sparql.core.BasicPattern; +import org.apache.jena.sparql.core.Quad; +import org.apache.jena.sparql.core.Var; +import org.apache.jena.sparql.engine.ExecutionContext; +import org.apache.jena.sparql.engine.QueryIterator; +import org.apache.jena.sparql.engine.binding.Binding; +import org.apache.jena.sparql.engine.iterator.*; +import org.apache.jena.sparql.engine.join.Join; +import org.apache.jena.sparql.engine.main.iterator.QueryIterGraph; +import org.apache.jena.sparql.engine.main.iterator.QueryIterOptionalIndex; +import org.apache.jena.sparql.engine.main.iterator.QueryIterUnion; +import org.apache.jena.sparql.expr.Expr; +import org.apache.jena.sparql.expr.ExprList; +import org.apache.jena.sparql.procedure.ProcEval; +import org.apache.jena.sparql.procedure.Procedure; import org.apache.jena.sparql.service.ServiceExecutorRegistry; /** - * Turn an Op expression into an execution of QueryIterators. - * - * Does not consider optimizing the algebra expression (that should happen - * elsewhere). BGPs are still subject to StageBuilding during iterator - * execution. - * - * During execution, when a substitution into an algebra expression - * happens (in other words, a streaming operation, index-join-like), there is a - * call into the executor each time so it does not just happen once before a - * query starts. + * Turn an Op expression into an execution of QueryIterators. Does not consider + * optimizing the algebra expression (that should happen elsewhere). BGPs are still + * subject to StageBuilding during iterator execution. During execution, when a + * substitution into an algebra expression happens (in other words, a streaming + * operation, index-join-like), there is a call into the executor each time so it + * does not just happen once before a query starts. */ -public class OpExecutor -{ +public class OpExecutor { public static final OpExecutorFactory stdFactory = new OpExecutorFactory() { @Override public OpExecutor create(ExecutionContext execCxt) { - return new OpExecutor(execCxt) ; + return new OpExecutor(execCxt); } - } ; + }; private static OpExecutor createOpExecutor(ExecutionContext execCxt) { - OpExecutorFactory factory = execCxt.getExecutor() ; - if (factory == null) - factory = stdFactory ; - if (factory == null) - return new OpExecutor(execCxt) ; - return factory.create(execCxt) ; + OpExecutorFactory factory = execCxt.getExecutor(); + if ( factory == null ) + factory = stdFactory; + if ( factory == null ) + return new OpExecutor(execCxt); + return factory.create(execCxt); } // ------- static QueryIterator execute(Op op, ExecutionContext execCxt) { - return execute(op, createRootQueryIterator(execCxt), execCxt) ; + return execute(op, createRootQueryIterator(execCxt), execCxt); } /** Public interface is via QC.execute. **/ static QueryIterator execute(Op op, QueryIterator qIter, ExecutionContext execCxt) { - OpExecutor exec = createOpExecutor(execCxt) ; - QueryIterator q = exec.exec(op, qIter) ; - return q ; + OpExecutor exec = createOpExecutor(execCxt); + QueryIterator q = exec.exec(op, qIter); + return q; } // -------- The object starts here -------- - protected ExecutionContext execCxt ; - protected ExecutionDispatch dispatcher = null ; - protected static final int TOP_LEVEL = 0 ; - protected int level = TOP_LEVEL - 1 ; - private final boolean hideBNodeVars ; - protected final StageGenerator stageGenerator ; + protected ExecutionContext execCxt; + protected ExecutionDispatch dispatcher = null; + protected static final int TOP_LEVEL = 0; + protected int level = TOP_LEVEL - 1; + private final boolean hideBNodeVars; + protected final StageGenerator stageGenerator; - protected OpExecutor(ExecutionContext execCxt) - { - this.execCxt = execCxt ; - this.dispatcher = new ExecutionDispatch(this) ; - this.hideBNodeVars = execCxt.getContext().isTrue(ARQ.hideNonDistiguishedVariables) ; - this.stageGenerator = StageBuilder.chooseStageGenerator(execCxt.getContext()) ; + protected OpExecutor(ExecutionContext execCxt) { + this.execCxt = execCxt; + this.dispatcher = new ExecutionDispatch(this); + this.hideBNodeVars = execCxt.getContext().isTrue(ARQ.hideNonDistiguishedVariables); + this.stageGenerator = StageBuilder.chooseStageGenerator(execCxt.getContext()); } // Public interface public QueryIterator executeOp(Op op, QueryIterator input) { - return exec(op, input) ; + return exec(op, input); } // ---- The recursive step. protected QueryIterator exec(Op op, QueryIterator input) { - level++ ; - QueryIterator qIter = dispatcher.exec(op, input) ; + level++; + QueryIterator qIter = dispatcher.exec(op, input); // Intentionally not try/finally so exceptions leave some evidence // around. - level-- ; - return qIter ; + level--; + return qIter; } // ---- All the cases protected QueryIterator execute(OpBGP opBGP, QueryIterator input) { - BasicPattern pattern = opBGP.getPattern() ; - QueryIterator qIter = stageGenerator.execute(pattern, input, execCxt) ; - if (hideBNodeVars) - qIter = new QueryIterDistinguishedVars(qIter, execCxt) ; - return qIter ; + BasicPattern pattern = opBGP.getPattern(); + QueryIterator qIter = stageGenerator.execute(pattern, input, execCxt); + if ( hideBNodeVars ) + qIter = new QueryIterDistinguishedVars(qIter, execCxt); + return qIter; } protected QueryIterator execute(OpTriple opTriple, QueryIterator input) { - return execute(opTriple.asBGP(), input) ; + return execute(opTriple.asBGP(), input); } protected QueryIterator execute(OpGraph opGraph, QueryIterator input) { - QueryIterator qIter = specialcase(opGraph.getNode(), opGraph.getSubOp(), input) ; - if (qIter != null) - return qIter ; - return new QueryIterGraph(input, opGraph, execCxt) ; + QueryIterator qIter = specialcase(opGraph.getNode(), opGraph.getSubOp(), input); + if ( qIter != null ) + return qIter; + return new QueryIterGraph(input, opGraph, execCxt); } private QueryIterator specialcase(Node gn, Op subOp, QueryIterator input) { // This is a placeholder for code to specially handle explicitly named // default graph and union graph. - if (Quad.isDefaultGraph(gn)) { - ExecutionContext cxt2 = new ExecutionContext(execCxt, execCxt.getDataset().getDefaultGraph()) ; - return execute(subOp, input, cxt2) ; + if ( Quad.isDefaultGraph(gn) ) { + ExecutionContext cxt2 = new ExecutionContext(execCxt, execCxt.getDataset().getDefaultGraph()); + return execute(subOp, input, cxt2); } // Bad news -- if ( Lib.equals(gn, Quad.tripleInQuad) ) {} - return null ; + return null; } protected QueryIterator execute(OpQuad opQuad, QueryIterator input) { - return execute(opQuad.asQuadPattern(), input) ; + return execute(opQuad.asQuadPattern(), input); } protected QueryIterator execute(OpQuadPattern quadPattern, QueryIterator input) { // Convert to BGP forms to execute in this graph-centric engine. - if (quadPattern.isDefaultGraph() && execCxt.getActiveGraph() == execCxt.getDataset().getDefaultGraph()) { + if ( quadPattern.isDefaultGraph() && execCxt.getActiveGraph() == execCxt.getDataset().getDefaultGraph() ) { // Note we tested that the containing graph was the dataset's // default graph. // Easy case. - OpBGP opBGP = new OpBGP(quadPattern.getBasicPattern()) ; - return execute(opBGP, input) ; + OpBGP opBGP = new OpBGP(quadPattern.getBasicPattern()); + return execute(opBGP, input); } // Not default graph - (graph .... ) - OpBGP opBGP = new OpBGP(quadPattern.getBasicPattern()) ; - OpGraph op = new OpGraph(quadPattern.getGraphNode(), opBGP) ; - return execute(op, input) ; + OpBGP opBGP = new OpBGP(quadPattern.getBasicPattern()); + OpGraph op = new OpGraph(quadPattern.getGraphNode(), opBGP); + return execute(op, input); } protected QueryIterator execute(OpQuadBlock quadBlock, QueryIterator input) { - Op op = quadBlock.convertOp() ; - return exec(op, input) ; + Op op = quadBlock.convertOp(); + return exec(op, input); } protected QueryIterator execute(OpPath opPath, QueryIterator input) { - return new QueryIterPath(opPath.getTriplePath(), input, execCxt) ; + return new QueryIterPath(opPath.getTriplePath(), input, execCxt); } protected QueryIterator execute(OpProcedure opProc, QueryIterator input) { - Procedure procedure = ProcEval.build(opProc, execCxt) ; - QueryIterator qIter = exec(opProc.getSubOp(), input) ; + Procedure procedure = ProcEval.build(opProc, execCxt); + QueryIterator qIter = exec(opProc.getSubOp(), input); // Delay until query starts executing. - return new QueryIterProcedure(qIter, procedure, execCxt) ; + return new QueryIterProcedure(qIter, procedure, execCxt); } protected QueryIterator execute(OpPropFunc opPropFunc, QueryIterator input) { - Procedure procedure = ProcEval.build(opPropFunc.getProperty(), opPropFunc.getSubjectArgs(), - opPropFunc.getObjectArgs(), execCxt) ; - QueryIterator qIter = exec(opPropFunc.getSubOp(), input) ; - return new QueryIterProcedure(qIter, procedure, execCxt) ; + Procedure procedure = ProcEval.build(opPropFunc.getProperty(), opPropFunc.getSubjectArgs(), opPropFunc.getObjectArgs(), execCxt); + QueryIterator qIter = exec(opPropFunc.getSubOp(), input); + return new QueryIterProcedure(qIter, procedure, execCxt); } protected QueryIterator execute(OpJoin opJoin, QueryIterator input) { @@ -204,105 +199,112 @@ protected QueryIterator execute(OpJoin opJoin, QueryIterator input) { // Do by evaling for each input case, the left and right and concat'ing // the results. - if (false) { + if ( false ) { // If needed, applies to OpDiff and OpLeftJoin as well. - List a = all(input) ; - QueryIterator qIter1 = QueryIterPlainWrapper.create(a.iterator(), execCxt) ; - QueryIterator qIter2 = QueryIterPlainWrapper.create(a.iterator(), execCxt) ; - - QueryIterator left = exec(opJoin.getLeft(), qIter1) ; - QueryIterator right = exec(opJoin.getRight(), qIter2) ; - QueryIterator qIter = Join.join(left, right, execCxt) ; - return qIter ; + List a = all(input); + QueryIterator qIter1 = QueryIterPlainWrapper.create(a.iterator(), execCxt); + QueryIterator qIter2 = QueryIterPlainWrapper.create(a.iterator(), execCxt); + + QueryIterator left = exec(opJoin.getLeft(), qIter1); + QueryIterator right = exec(opJoin.getRight(), qIter2); + QueryIterator qIter = Join.join(left, right, execCxt); + return qIter; } - QueryIterator left = exec(opJoin.getLeft(), input) ; - QueryIterator right = exec(opJoin.getRight(), root()) ; + QueryIterator left = exec(opJoin.getLeft(), input); + QueryIterator right = exec(opJoin.getRight(), root()); // Join key. - QueryIterator qIter = Join.join(left, right, execCxt) ; - return qIter ; + QueryIterator qIter = Join.join(left, right, execCxt); + return qIter; } // Pass iterator from one step directly into the next. protected QueryIterator execute(OpSequence opSequence, QueryIterator input) { - QueryIterator qIter = input ; - for (Iterator iter = opSequence.iterator(); iter.hasNext();) { - Op sub = iter.next() ; - qIter = exec(sub, qIter) ; + QueryIterator qIter = input; + for ( Iterator iter = opSequence.iterator() ; iter.hasNext() ; ) { + Op sub = iter.next(); + qIter = exec(sub, qIter); } - return qIter ; + return qIter; } protected QueryIterator execute(OpLeftJoin opLeftJoin, QueryIterator input) { - QueryIterator left = exec(opLeftJoin.getLeft(), input) ; - QueryIterator right = exec(opLeftJoin.getRight(), root()) ; - QueryIterator qIter = Join.leftJoin(left, right, opLeftJoin.getExprs(), execCxt) ; - return qIter ; + QueryIterator left = exec(opLeftJoin.getLeft(), input); + QueryIterator right = exec(opLeftJoin.getRight(), root()); + QueryIterator qIter = Join.leftJoin(left, right, opLeftJoin.getExprs(), execCxt); + return qIter; + } + + protected QueryIterator execute(OpLateral opLateral, QueryIterator input) { + QueryIterator left = exec(opLateral.getLeft(), input); + // For each row, substitute and execute. + QueryIterator qIter = new QueryIterLateral(left, opLateral.getRight(), execCxt); + return qIter; } protected QueryIterator execute(OpConditional opCondition, QueryIterator input) { - QueryIterator left = exec(opCondition.getLeft(), input) ; - QueryIterator qIter = new QueryIterOptionalIndex(left, opCondition.getRight(), execCxt) ; - return qIter ; + QueryIterator left = exec(opCondition.getLeft(), input); + QueryIterator qIter = new QueryIterOptionalIndex(left, opCondition.getRight(), execCxt); + return qIter; } protected QueryIterator execute(OpDiff opDiff, QueryIterator input) { - QueryIterator left = exec(opDiff.getLeft(), input) ; - QueryIterator right = exec(opDiff.getRight(), root()) ; - return new QueryIterDiff(left, right, execCxt) ; + QueryIterator left = exec(opDiff.getLeft(), input); + QueryIterator right = exec(opDiff.getRight(), root()); + return new QueryIterDiff(left, right, execCxt); } protected QueryIterator execute(OpMinus opMinus, QueryIterator input) { - Op lhsOp = opMinus.getLeft() ; - Op rhsOp = opMinus.getRight() ; + Op lhsOp = opMinus.getLeft(); + Op rhsOp = opMinus.getRight(); - QueryIterator left = exec(lhsOp, input) ; - QueryIterator right = exec(rhsOp, root()) ; + QueryIterator left = exec(lhsOp, input); + QueryIterator right = exec(rhsOp, root()); - Set commonVars = OpVars.visibleVars(lhsOp) ; - commonVars.retainAll(OpVars.visibleVars(rhsOp)) ; + Set commonVars = OpVars.visibleVars(lhsOp); + commonVars.retainAll(OpVars.visibleVars(rhsOp)); - return QueryIterMinus.create(left, right, commonVars, execCxt) ; + return QueryIterMinus.create(left, right, commonVars, execCxt); } protected QueryIterator execute(OpDisjunction opDisjunction, QueryIterator input) { - QueryIterator cIter = new QueryIterUnion(input, opDisjunction.getElements(), execCxt) ; - return cIter ; + QueryIterator cIter = new QueryIterUnion(input, opDisjunction.getElements(), execCxt); + return cIter; } protected QueryIterator execute(OpUnion opUnion, QueryIterator input) { - List x = flattenUnion(opUnion) ; - QueryIterator cIter = new QueryIterUnion(input, x, execCxt) ; - return cIter ; + List x = flattenUnion(opUnion); + QueryIterator cIter = new QueryIterUnion(input, x, execCxt); + return cIter; } // Based on code from Olaf Hartig. protected List flattenUnion(OpUnion opUnion) { - List x = new ArrayList<>() ; - flattenUnion(x, opUnion) ; - return x ; + List x = new ArrayList<>(); + flattenUnion(x, opUnion); + return x; } protected void flattenUnion(List acc, OpUnion opUnion) { - if (opUnion.getLeft() instanceof OpUnion) - flattenUnion(acc, (OpUnion)opUnion.getLeft()) ; + if ( opUnion.getLeft() instanceof OpUnion ) + flattenUnion(acc, (OpUnion)opUnion.getLeft()); else - acc.add(opUnion.getLeft()) ; + acc.add(opUnion.getLeft()); - if (opUnion.getRight() instanceof OpUnion) - flattenUnion(acc, (OpUnion)opUnion.getRight()) ; + if ( opUnion.getRight() instanceof OpUnion ) + flattenUnion(acc, (OpUnion)opUnion.getRight()); else - acc.add(opUnion.getRight()) ; + acc.add(opUnion.getRight()); } protected QueryIterator execute(OpFilter opFilter, QueryIterator input) { - ExprList exprs = opFilter.getExprs() ; + ExprList exprs = opFilter.getExprs(); - Op base = opFilter.getSubOp() ; - QueryIterator qIter = exec(base, input) ; + Op base = opFilter.getSubOp(); + QueryIterator qIter = exec(base, input); - for (Expr expr : exprs) - qIter = new QueryIterFilterExpr(qIter, expr, execCxt) ; - return qIter ; + for ( Expr expr : exprs ) + qIter = new QueryIterFilterExpr(qIter, expr, execCxt); + return qIter; } protected QueryIterator execute(OpService opService, QueryIterator input) { @@ -312,73 +314,73 @@ protected QueryIterator execute(OpService opService, QueryIterator input) { // Quad form, "GRAPH ?g {}" Flip back to OpGraph. // Normally quad stores override this. protected QueryIterator execute(OpDatasetNames dsNames, QueryIterator input) { - if (false) { - OpGraph op = new OpGraph(dsNames.getGraphNode(), new OpBGP()) ; - return execute(op, input) ; + if ( false ) { + OpGraph op = new OpGraph(dsNames.getGraphNode(), new OpBGP()); + return execute(op, input); } - throw new ARQNotImplemented("execute/OpDatasetNames") ; + throw new ARQNotImplemented("execute/OpDatasetNames"); } protected QueryIterator execute(OpTable opTable, QueryIterator input) { - if (opTable.isJoinIdentity()) - return input ; - if (input.isJoinIdentity() ) { - input.close() ; + if ( opTable.isJoinIdentity() ) + return input; + if ( input.isJoinIdentity() ) { + input.close(); return opTable.getTable().iterator(execCxt); } - QueryIterator qIterT = opTable.getTable().iterator(execCxt) ; - QueryIterator qIter = Join.join(input, qIterT, execCxt) ; - return qIter ; + QueryIterator qIterT = opTable.getTable().iterator(execCxt); + QueryIterator qIter = Join.join(input, qIterT, execCxt); + return qIter; } protected QueryIterator execute(OpExt opExt, QueryIterator input) { try { - QueryIterator qIter = opExt.eval(input, execCxt) ; - if (qIter != null) - return qIter ; + QueryIterator qIter = opExt.eval(input, execCxt); + if ( qIter != null ) + return qIter; } catch (UnsupportedOperationException ex) {} // null or UnsupportedOperationException - throw new QueryExecException("Encountered unsupported OpExt: " + opExt.getName()) ; + throw new QueryExecException("Encountered unsupported OpExt: " + opExt.getName()); } protected QueryIterator execute(OpLabel opLabel, QueryIterator input) { - if (!opLabel.hasSubOp()) - return input ; + if ( !opLabel.hasSubOp() ) + return input; - return exec(opLabel.getSubOp(), input) ; + return exec(opLabel.getSubOp(), input); } protected QueryIterator execute(OpNull opNull, QueryIterator input) { // Loose the input. - input.close() ; - return QueryIterNullIterator.create(execCxt) ; + input.close(); + return QueryIterNullIterator.create(execCxt); } protected QueryIterator execute(OpList opList, QueryIterator input) { - return exec(opList.getSubOp(), input) ; + return exec(opList.getSubOp(), input); } protected QueryIterator execute(OpOrder opOrder, QueryIterator input) { - QueryIterator qIter = exec(opOrder.getSubOp(), input) ; - qIter = new QueryIterSort(qIter, opOrder.getConditions(), execCxt) ; - return qIter ; + QueryIterator qIter = exec(opOrder.getSubOp(), input); + qIter = new QueryIterSort(qIter, opOrder.getConditions(), execCxt); + return qIter; } protected QueryIterator execute(OpTopN opTop, QueryIterator input) { - QueryIterator qIter = null ; + QueryIterator qIter = null; // We could also do (reduced) here as well. // but it's detected in TransformTopN and turned into (distinct) // there so that code catches that already. // We leave this to do the strict case of (top (distinct ...)) - if (opTop.getSubOp() instanceof OpDistinct) { - OpDistinct opDistinct = (OpDistinct)opTop.getSubOp() ; - qIter = exec(opDistinct.getSubOp(), input) ; - qIter = new QueryIterTopN(qIter, opTop.getConditions(), opTop.getLimit(), true, execCxt) ; + if ( opTop.getSubOp() instanceof OpDistinct ) { + OpDistinct opDistinct = (OpDistinct)opTop.getSubOp(); + qIter = exec(opDistinct.getSubOp(), input); + qIter = new QueryIterTopN(qIter, opTop.getConditions(), opTop.getLimit(), true, execCxt); } else { - qIter = exec(opTop.getSubOp(), input) ; - qIter = new QueryIterTopN(qIter, opTop.getConditions(), opTop.getLimit(), false, execCxt) ; + qIter = exec(opTop.getSubOp(), input); + qIter = new QueryIterTopN(qIter, opTop.getConditions(), opTop.getLimit(), false, execCxt); } - return qIter ; + return qIter; } protected QueryIterator execute(OpProject opProject, QueryIterator input) { @@ -387,89 +389,90 @@ protected QueryIterator execute(OpProject opProject, QueryIterator input) { // More intelligent QueryIterProject needed. - if (input instanceof QueryIterRoot) { - QueryIterator qIter = exec(opProject.getSubOp(), input) ; - qIter = new QueryIterProject(qIter, opProject.getVars(), execCxt) ; - return qIter ; + if ( input instanceof QueryIterRoot ) { + QueryIterator qIter = exec(opProject.getSubOp(), input); + qIter = new QueryIterProject(qIter, opProject.getVars(), execCxt); + return qIter; } // Nested projected : need to ensure the input is seen. - QueryIterator qIter = new QueryIterProjectMerge(opProject, input, this, execCxt) ; - return qIter ; + QueryIterator qIter = new QueryIterProjectMerge(opProject, input, this, execCxt); + return qIter; } protected QueryIterator execute(OpSlice opSlice, QueryIterator input) { - QueryIterator qIter = exec(opSlice.getSubOp(), input) ; - qIter = new QueryIterSlice(qIter, opSlice.getStart(), opSlice.getLength(), execCxt) ; - return qIter ; + QueryIterator qIter = exec(opSlice.getSubOp(), input); + qIter = new QueryIterSlice(qIter, opSlice.getStart(), opSlice.getLength(), execCxt); + return qIter; } protected QueryIterator execute(OpGroup opGroup, QueryIterator input) { - QueryIterator qIter = exec(opGroup.getSubOp(), input) ; - qIter = new QueryIterGroup(qIter, opGroup.getGroupVars(), opGroup.getAggregators(), execCxt) ; - return qIter ; + QueryIterator qIter = exec(opGroup.getSubOp(), input); + qIter = new QueryIterGroup(qIter, opGroup.getGroupVars(), opGroup.getAggregators(), execCxt); + return qIter; } protected QueryIterator execute(OpDistinct opDistinct, QueryIterator input) { - QueryIterator qIter = exec(opDistinct.getSubOp(), input) ; + QueryIterator qIter = exec(opDistinct.getSubOp(), input); List conditions = null; if ( opDistinct.getSubOp() instanceof OpOrder ) { // For DISTINCT-ORDER, and if DISTINCT spills // then we need to take account of the ORDER. // The normal (non-spill case) already preserves the input order, - // passing through the first occurence. It is only if a spill happens that + // passing through the first occurence. It is only if a spill happens + // that // we need to ensure the spill buckets respect sort order. OpOrder subOrder = (OpOrder)opDistinct.getSubOp(); conditions = subOrder.getConditions(); } - qIter = new QueryIterDistinct(qIter, conditions, execCxt) ; - return qIter ; + qIter = new QueryIterDistinct(qIter, conditions, execCxt); + return qIter; } protected QueryIterator execute(OpReduced opReduced, QueryIterator input) { - QueryIterator qIter = exec(opReduced.getSubOp(), input) ; - qIter = new QueryIterReduced(qIter, execCxt) ; - return qIter ; + QueryIterator qIter = exec(opReduced.getSubOp(), input); + qIter = new QueryIterReduced(qIter, execCxt); + return qIter; } protected QueryIterator execute(OpAssign opAssign, QueryIterator input) { - QueryIterator qIter = exec(opAssign.getSubOp(), input) ; - qIter = new QueryIterAssign(qIter, opAssign.getVarExprList(), execCxt, false) ; - return qIter ; + QueryIterator qIter = exec(opAssign.getSubOp(), input); + qIter = new QueryIterAssign(qIter, opAssign.getVarExprList(), execCxt, false); + return qIter; } protected QueryIterator execute(OpExtend opExtend, QueryIterator input) { // We know (parse time checking) the variable is unused so far in // the query so we can use QueryIterAssign knowing that it behaves // the same as extend. The boolean should only be a check. - QueryIterator qIter = exec(opExtend.getSubOp(), input) ; - qIter = new QueryIterAssign(qIter, opExtend.getVarExprList(), execCxt, true) ; - return qIter ; + QueryIterator qIter = exec(opExtend.getSubOp(), input); + qIter = new QueryIterAssign(qIter, opExtend.getVarExprList(), execCxt, true); + return qIter; } public static QueryIterator createRootQueryIterator(ExecutionContext execCxt) { - return QueryIterRoot.create(execCxt) ; + return QueryIterRoot.create(execCxt); } protected QueryIterator root() { - return createRootQueryIterator(execCxt) ; + return createRootQueryIterator(execCxt); } // Use this to debug evaluation // Example: // input = debug(input) ; private QueryIterator debug(String marker, QueryIterator input) { - List x = all(input) ; - for (Binding b : x) { - System.out.print(marker) ; - System.out.print(": ") ; - System.out.println(b) ; + List x = all(input); + for ( Binding b : x ) { + System.out.print(marker); + System.out.print(": "); + System.out.println(b); } - return QueryIterPlainWrapper.create(x.iterator(), execCxt) ; + return QueryIterPlainWrapper.create(x.iterator(), execCxt); } private static List all(QueryIterator input) { - return Iter.toList(input) ; + return Iter.toList(input); } } 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 0a111f31510..71b2403e684 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 @@ -226,7 +226,6 @@ private static void combinefilterMentions(VarUsageVisitor usage, Set mentio @Override public void visit(OpLateral opLateral) { - // [LATERAL] ??? mergeVars(opLateral.getLeft()); mergeVars(opLateral.getRight()); } 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 66b3966a12f..5299b5c1f7e 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 @@ -22,6 +22,7 @@ import org.apache.jena.graph.Node; import org.apache.jena.query.SortCondition; +import org.apache.jena.sparql.algebra.Op; import org.apache.jena.sparql.algebra.Table; import org.apache.jena.sparql.core.BasicPattern; import org.apache.jena.sparql.core.TriplePath; @@ -51,7 +52,7 @@ public interface Evaluator public Table diff(Table tableLeft, Table tableRight); public Table minus(Table left, Table right); public Table union(Table tableLeft, Table tableRight); - //public Table lateral(Table left, Op right, List vars); + public Table lateral(Table left, Op right); public Table condition(Table left, Table right); public Table filter(ExprList expressions, Table tableLeft); 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 35b5fc5224e..1df12f683bb 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 @@ -22,7 +22,6 @@ import java.util.Deque; import java.util.Iterator; -import org.apache.jena.atlas.lib.NotImplemented; import org.apache.jena.atlas.logging.Log; import org.apache.jena.query.ARQ; import org.apache.jena.query.QueryExecException; @@ -203,12 +202,8 @@ public void visit(OpConditional opCond) @Override public void visit(OpLateral opLateral) { - if ( true ) - throw new NotImplemented(); Table left = eval(opLateral.getLeft()); - // But right is substitute and eval. - //Table table = evaluator.lateral(left, opLateral.getRight(), opLateral.vars()); - Table table = null; + Table table = evaluator.lateral(left, opLateral.getRight()); push(table); } diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/engine/ref/EvaluatorFactory.java b/jena-arq/src/main/java/org/apache/jena/sparql/engine/ref/EvaluatorFactory.java index 0074b74e0fa..80d89ea71be 100644 --- a/jena-arq/src/main/java/org/apache/jena/sparql/engine/ref/EvaluatorFactory.java +++ b/jena-arq/src/main/java/org/apache/jena/sparql/engine/ref/EvaluatorFactory.java @@ -18,12 +18,11 @@ package org.apache.jena.sparql.engine.ref; - -import org.apache.jena.sparql.engine.ExecutionContext ; +import org.apache.jena.sparql.engine.ExecutionContext; public class EvaluatorFactory { public static Evaluator create(ExecutionContext context) - { return new EvaluatorSimple(context) ; } + { return new EvaluatorSimple(context); } } 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 299da20c84e..c37b84a7cf0 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 @@ -26,19 +26,14 @@ import org.apache.jena.query.ResultSet; import org.apache.jena.query.ResultSetFormatter; import org.apache.jena.query.SortCondition; -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.*; import org.apache.jena.sparql.algebra.table.TableN; -import org.apache.jena.sparql.core.BasicPattern; -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.core.*; import org.apache.jena.sparql.engine.ExecutionContext; import org.apache.jena.sparql.engine.QueryIterator; import org.apache.jena.sparql.engine.ResultSetStream; import org.apache.jena.sparql.engine.binding.Binding; +import org.apache.jena.sparql.engine.binding.BindingBuilder; import org.apache.jena.sparql.engine.iterator.*; import org.apache.jena.sparql.engine.main.QC; import org.apache.jena.sparql.expr.ExprAggregator; @@ -174,6 +169,25 @@ public Table condition(Table left, Table right) { return left; } + @Override + public Table lateral(Table left, Op right) { + if ( left.isEmpty() ) { + left.close(); + return TableFactory.createEmpty(); + } + TableN result = new TableN(); + left.iterator(getExecContext()).forEachRemaining(binding->{ + Op op = Substitute.substitute(right, binding); + Table t = RefEval.eval(this, op); + t.iterator(getExecContext()).forEachRemaining(b->{ + Binding b2 = BindingBuilder.create(binding).addAll(b).build(); + result.addBinding(b2); + }); + }); + left.close(); + return result; + } + @Override public Table list(Table table) { return table; diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/lang/SyntaxVarScope.java b/jena-arq/src/main/java/org/apache/jena/sparql/lang/SyntaxVarScope.java index 38d7f960afd..cb79fd01ce8 100644 --- a/jena-arq/src/main/java/org/apache/jena/sparql/lang/SyntaxVarScope.java +++ b/jena-arq/src/main/java/org/apache/jena/sparql/lang/SyntaxVarScope.java @@ -222,12 +222,15 @@ public void visit(ElementGroup el) { // Tests. if ( e instanceof ElementBind ) { Collection accScope = calcScopeAll(el.getElements(), i); - check(accScope, (ElementBind)e); + checkBIND(accScope, (ElementBind)e); } - if ( e instanceof ElementService ) { Collection accScope = calcScopeAll(el.getElements(), i); - check(accScope, (ElementService)e); + checkSERVICE(accScope, (ElementService)e); + } + if ( e instanceof ElementLateral ) { + Collection accScope = calcScopeAll(el.getElements(), i); + checkLATERAL(accScope, e); } } } @@ -246,19 +249,64 @@ private static Collection calcScope(List elements, int start, int return accScope; } - private static void check(Collection scope, ElementBind el) { + private static void checkBIND(Collection scope, ElementBind el) { Var var = el.getVar(); if ( scope.contains(var) ) throw new QueryParseException("BIND: Variable used when already in-scope: " + var + " in " + el, -1, -1); checkExpr(scope, el.getExpr(), var); } - private static void check(Collection scope, ElementService el) { + private static void checkSERVICE(Collection scope, ElementService el) { if ( ARQ.isStrictMode() && el.getServiceNode().isVariable() ) { Var var = Var.alloc(el.getServiceNode()); if ( !scope.contains(var) ) throw new QueryParseException("SERVICE: Variable not already in-scope: " + var + " in " + el, -1, -1); } } + + private void checkLATERAL(Collection accScope, Element el) { + // Look for BIND/VALUES/SELECT-AS inside LATERAL + ElementVisitor checker = new ElementVisitorBase() { + @Override + public void visit(ElementBind eltBind) { + if ( accScope.contains(eltBind.getVar()) ) + throw new QueryParseException("BIND: Variable " + eltBind.getVar() + " defined", -1, -1); + } + // @Override public void visit(ElementAssign eltAssign) {} -- LET - + // always OK + + @Override + public void visit(ElementData eltData) { + eltData.getVars().forEach(v -> { + if ( accScope.contains(v) ) + throw new QueryParseException("VALUES: Variable " + v + " defined", -1, -1); + }); + } + + @Override + public void visit(ElementSubQuery eltSubQuery) { + // Only called when there is an expression. + eltSubQuery.getQuery().getProject().forEachExpr((var, expr) -> { + if ( accScope.contains(var) ) + throw new QueryParseException("SELECT: Variable " + var + " defined", -1 ,-1); + }); + // Check inside query pattern + Query subQuery = eltSubQuery.getQuery(); + Collection accScope2 = accScope; + //eltSubQuery.getQuery().setResultVars(); + if ( ! subQuery.isQueryResultStar() ) { + List projectVars = eltSubQuery.getQuery().getProject().getVars(); + // Calculate variables passed down : scope which are in the project vars. + accScope2 = new ArrayList<>(accScope); + accScope2.removeIf(v->!projectVars.contains(v)); + } + Element el2 = eltSubQuery.getQuery().getQueryPattern(); + checkLATERAL(accScope2, el2); + } + }; + + // Does not walk into subqueries but we need to change the scoep for sub-queries. + ElementWalker.walk(el, checker); + } } } 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 7e6826372c3..5190ac7912a 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 @@ -12,6 +12,8 @@ import org.apache.jena.update.* ; import org.apache.jena.sparql.modify.request.* ; import org.apache.jena.sparql.core.Quad ; +import java.util.List; +import java.util.ArrayList; @SuppressWarnings("all") public class ARQParser extends ARQParserBase implements ARQParserConstants { @@ -2441,6 +2443,7 @@ final public void TriplesTemplate(TripleCollector acc) throws ParseException { case BIND: case SERVICE: case LET: + case LATERAL: case EXISTS: case NOT: case FILTER: @@ -2567,6 +2570,10 @@ final public Element TriplesBlock(ElementPathBlock acc) throws ParseException { el = OptionalGraphPattern(); break; } + case LATERAL:{ + el = LateralGraphPattern(); + break; + } case MINUS_P:{ el = MinusGraphPattern(); break; @@ -2619,6 +2626,13 @@ final public Element TriplesBlock(ElementPathBlock acc) throws ParseException { throw new Error("Missing return statement in function"); } + final public Element LateralGraphPattern() throws ParseException {Element el ; + jj_consume_token(LATERAL); + el = GroupGraphPattern(); +{if ("" != null) return new ElementLateral(el) ;} + throw new Error("Missing return statement in function"); +} + final public Element GraphGraphPattern() throws ParseException {Element el ; Node n ; jj_consume_token(GRAPH); n = VarOrIri(); @@ -6537,81 +6551,99 @@ private boolean jj_2_5(int xla) finally { jj_save(4, xla); } } - private boolean jj_3R_SubstringExpression_1522_5_117() - { - if (jj_scan_token(SUBSTR)) return true; - if (jj_scan_token(LPAREN)) return true; - return false; - } - - private boolean jj_3R_RegexExpression_1510_5_119() + private boolean jj_3R_RegexExpression_1518_5_119() { if (jj_scan_token(REGEX)) return true; if (jj_scan_token(LPAREN)) return true; return false; } - private boolean jj_3R_BuiltInCall_1504_5_109() + private boolean jj_3R_BuiltInCall_1512_5_109() { if (jj_scan_token(OBJECT)) return true; if (jj_scan_token(LPAREN)) return true; return false; } - private boolean jj_3R_BuiltInCall_1502_5_108() + private boolean jj_3R_BuiltInCall_1510_5_108() { if (jj_scan_token(PREDICATE)) return true; if (jj_scan_token(LPAREN)) return true; return false; } - private boolean jj_3R_BuiltInCall_1500_5_107() + private boolean jj_3R_BuiltInCall_1508_5_107() { if (jj_scan_token(SUBJECT)) return true; if (jj_scan_token(LPAREN)) return true; return false; } - private boolean jj_3R_BuiltInCall_1498_5_106() + private boolean jj_3R_BuiltInCall_1506_5_106() { if (jj_scan_token(TRIPLE)) return true; if (jj_scan_token(LPAREN)) return true; return false; } + private boolean jj_3R_BuiltInCall_1504_5_105() + { + if (jj_scan_token(IS_TRIPLE)) return true; + if (jj_scan_token(LPAREN)) return true; + return false; + } + + private boolean jj_3R_BuiltInCall_1503_5_104() + { + if (jj_3R_NotExistsFunc_1559_4_121()) return true; + return false; + } + + private boolean jj_3R_BuiltInCall_1502_5_103() + { + if (jj_3R_ExistsFunc_1553_4_120()) return true; + return false; + } + + private boolean jj_3R_BuiltInCall_1501_5_102() + { + if (jj_3R_RegexExpression_1518_5_119()) return true; + return false; + } + private boolean jj_3_2() { if (jj_scan_token(SEMICOLON)) return true; - if (jj_3R_Prologue_70_3_44()) return true; + if (jj_3R_Prologue_72_3_44()) return true; Token xsp; xsp = jj_scanpos; - if (jj_scan_token(145)) { - jj_scanpos = xsp; if (jj_scan_token(146)) { jj_scanpos = xsp; - if (jj_scan_token(153)) { + if (jj_scan_token(147)) { jj_scanpos = xsp; - if (jj_scan_token(148)) { + if (jj_scan_token(154)) { jj_scanpos = xsp; if (jj_scan_token(149)) { jj_scanpos = xsp; if (jj_scan_token(150)) { jj_scanpos = xsp; - if (jj_scan_token(147)) { - jj_scanpos = xsp; - if (jj_scan_token(158)) { + if (jj_scan_token(151)) { jj_scanpos = xsp; - if (jj_scan_token(141)) { - jj_scanpos = xsp; - if (jj_scan_token(140)) { + if (jj_scan_token(148)) { jj_scanpos = xsp; if (jj_scan_token(159)) { jj_scanpos = xsp; if (jj_scan_token(142)) { jj_scanpos = xsp; + if (jj_scan_token(141)) { + jj_scanpos = xsp; + if (jj_scan_token(160)) { + jj_scanpos = xsp; if (jj_scan_token(143)) { jj_scanpos = xsp; - if (jj_scan_token(144)) return true; + if (jj_scan_token(144)) { + jj_scanpos = xsp; + if (jj_scan_token(145)) return true; } } } @@ -6628,603 +6660,578 @@ private boolean jj_3_2() return false; } - private boolean jj_3R_BuiltInCall_1496_5_105() - { - if (jj_scan_token(IS_TRIPLE)) return true; - if (jj_scan_token(LPAREN)) return true; - return false; - } - - private boolean jj_3R_BuiltInCall_1495_5_104() - { - if (jj_3R_NotExistsFunc_1551_4_121()) return true; - return false; - } - - private boolean jj_3R_BuiltInCall_1494_5_103() - { - if (jj_3R_ExistsFunc_1545_4_120()) return true; - return false; - } - - private boolean jj_3R_BuiltInCall_1493_5_102() - { - if (jj_3R_RegexExpression_1510_5_119()) return true; - return false; - } - - private boolean jj_3R_BuiltInCall_1490_5_101() + private boolean jj_3R_BuiltInCall_1498_5_101() { if (jj_scan_token(IS_NUMERIC)) return true; if (jj_scan_token(LPAREN)) return true; return false; } - private boolean jj_3R_Collection_1108_3_156() + private boolean jj_3R_Collection_1116_3_156() { if (jj_scan_token(LPAREN)) return true; return false; } - private boolean jj_3R_BuiltInCall_1488_5_100() + private boolean jj_3R_BuiltInCall_1496_5_100() { if (jj_scan_token(IS_LITERAL)) return true; if (jj_scan_token(LPAREN)) return true; return false; } - private boolean jj_3R_BuiltInCall_1486_5_99() + private boolean jj_3R_BuiltInCall_1494_5_99() { if (jj_scan_token(IS_BLANK)) return true; if (jj_scan_token(LPAREN)) return true; return false; } - private boolean jj_3R_BuiltInCall_1484_5_98() + private boolean jj_3R_BuiltInCall_1492_5_98() { if (jj_scan_token(IS_URI)) return true; if (jj_scan_token(LPAREN)) return true; return false; } - private boolean jj_3R_BuiltInCall_1482_5_97() + private boolean jj_3R_BuiltInCall_1490_5_97() { if (jj_scan_token(IS_IRI)) return true; if (jj_scan_token(LPAREN)) return true; return false; } - private boolean jj_3R_BuiltInCall_1480_5_96() + private boolean jj_3R_BuiltInCall_1488_5_96() { if (jj_scan_token(SAME_TERM)) return true; if (jj_scan_token(LPAREN)) return true; return false; } - private boolean jj_3R_BuiltInCall_1478_5_95() + private boolean jj_3R_BuiltInCall_1486_5_95() { if (jj_scan_token(STRDT)) return true; if (jj_scan_token(LPAREN)) return true; return false; } - private boolean jj_3R_BuiltInCall_1476_5_94() + private boolean jj_3R_BuiltInCall_1484_5_94() { if (jj_scan_token(STRLANG)) return true; if (jj_scan_token(LPAREN)) return true; return false; } - private boolean jj_3R_BuiltInCall_1472_5_93() + private boolean jj_3R_BuiltInCall_1480_5_93() { if (jj_scan_token(IF)) return true; if (jj_scan_token(LPAREN)) return true; return false; } - private boolean jj_3R_BlankNodePropertyList_1085_3_157() + private boolean jj_3R_BlankNodePropertyList_1093_3_157() { if (jj_scan_token(LBRACKET)) return true; return false; } - private boolean jj_3R_BuiltInCall_1465_5_92() + private boolean jj_3R_BuiltInCall_1473_5_92() { if (jj_scan_token(CALL)) return true; if (jj_scan_token(LPAREN)) return true; return false; } - private boolean jj_3R_BuiltInCall_1463_5_91() + private boolean jj_3R_BuiltInCall_1471_5_91() { if (jj_scan_token(COALESCE)) return true; - if (jj_3R_ExpressionList_826_3_116()) return true; + if (jj_3R_ExpressionList_834_3_116()) return true; return false; } - private boolean jj_3R_TriplesNode_1081_3_150() + private boolean jj_3R_TriplesNode_1089_3_150() { - if (jj_3R_BlankNodePropertyList_1085_3_157()) return true; + if (jj_3R_BlankNodePropertyList_1093_3_157()) return true; return false; } - private boolean jj_3R_BuiltInCall_1462_5_90() + private boolean jj_3R_BuiltInCall_1470_5_90() { if (jj_scan_token(VERSION)) return true; if (jj_scan_token(NIL)) return true; return false; } - private boolean jj_3R_BuiltInCall_1461_5_89() + private boolean jj_3R_BuiltInCall_1469_5_89() { if (jj_scan_token(SHA512)) return true; if (jj_scan_token(LPAREN)) return true; return false; } - private boolean jj_3R_TriplesNode_1079_3_125() + private boolean jj_3R_TriplesNode_1087_3_125() { Token xsp; xsp = jj_scanpos; - if (jj_3R_TriplesNode_1079_3_149()) { + if (jj_3R_TriplesNode_1087_3_149()) { jj_scanpos = xsp; - if (jj_3R_TriplesNode_1081_3_150()) return true; + if (jj_3R_TriplesNode_1089_3_150()) return true; } return false; } - private boolean jj_3R_TriplesNode_1079_3_149() + private boolean jj_3R_TriplesNode_1087_3_149() { - if (jj_3R_Collection_1108_3_156()) return true; + if (jj_3R_Collection_1116_3_156()) return true; return false; } - private boolean jj_3R_BuiltInCall_1460_5_88() + private boolean jj_3R_BuiltInCall_1468_5_88() { if (jj_scan_token(SHA384)) return true; if (jj_scan_token(LPAREN)) return true; return false; } - private boolean jj_3R_BuiltInCall_1459_5_87() + private boolean jj_3R_BuiltInCall_1467_5_87() { if (jj_scan_token(SHA256)) return true; if (jj_scan_token(LPAREN)) return true; return false; } - private boolean jj_3R_BuiltInCall_1458_5_86() + private boolean jj_3R_BuiltInCall_1466_5_86() { if (jj_scan_token(SHA1)) return true; if (jj_scan_token(LPAREN)) return true; return false; } - private boolean jj_3R_BuiltInCall_1457_5_85() + private boolean jj_3R_BuiltInCall_1465_5_85() { if (jj_scan_token(MD5)) return true; if (jj_scan_token(LPAREN)) return true; return false; } - private boolean jj_3R_BuiltInCall_1456_5_84() + private boolean jj_3R_BuiltInCall_1464_5_84() { if (jj_scan_token(STRUUID)) return true; if (jj_scan_token(NIL)) return true; return false; } - private boolean jj_3R_BuiltInCall_1455_5_83() + private boolean jj_3R_BuiltInCall_1463_5_83() { if (jj_scan_token(UUID)) return true; if (jj_scan_token(NIL)) return true; return false; } - private boolean jj_3R_BuiltInCall_1454_5_82() + private boolean jj_3R_BuiltInCall_1462_5_82() { if (jj_scan_token(NOW)) return true; if (jj_scan_token(NIL)) return true; return false; } - private boolean jj_3R_BuiltInCall_1453_5_81() + private boolean jj_3R_BuiltInCall_1461_5_81() { if (jj_scan_token(TZ)) return true; if (jj_scan_token(LPAREN)) return true; return false; } - private boolean jj_3R_BuiltInCall_1452_5_80() + private boolean jj_3R_BuiltInCall_1460_5_80() { if (jj_scan_token(TIMEZONE)) return true; if (jj_scan_token(LPAREN)) return true; return false; } - private boolean jj_3R_BuiltInCall_1451_5_79() + private boolean jj_3R_BuiltInCall_1459_5_79() { if (jj_scan_token(SECONDS)) return true; if (jj_scan_token(LPAREN)) return true; return false; } - private boolean jj_3R_BuiltInCall_1450_5_78() + private boolean jj_3R_BuiltInCall_1458_5_78() { if (jj_scan_token(MINUTES)) return true; if (jj_scan_token(LPAREN)) return true; return false; } - private boolean jj_3R_BuiltInCall_1449_5_77() + private boolean jj_3R_BuiltInCall_1457_5_77() { if (jj_scan_token(HOURS)) return true; if (jj_scan_token(LPAREN)) return true; return false; } - private boolean jj_3R_BuiltInCall_1448_5_76() + private boolean jj_3R_BuiltInCall_1456_5_76() { if (jj_scan_token(DAY)) return true; if (jj_scan_token(LPAREN)) return true; return false; } - private boolean jj_3R_BuiltInCall_1447_5_75() + private boolean jj_3R_BuiltInCall_1455_5_75() { if (jj_scan_token(MONTH)) return true; if (jj_scan_token(LPAREN)) return true; return false; } - private boolean jj_3R_BuiltInCall_1446_5_74() + private boolean jj_3R_BuiltInCall_1454_5_74() { if (jj_scan_token(YEAR)) return true; if (jj_scan_token(LPAREN)) return true; return false; } - private boolean jj_3R_BuiltInCall_1444_5_73() + private boolean jj_3R_BuiltInCall_1452_5_73() { if (jj_scan_token(STRAFTER)) return true; if (jj_scan_token(LPAREN)) return true; return false; } - private boolean jj_3R_BuiltInCall_1442_5_72() + private boolean jj_3R_BuiltInCall_1450_5_72() { if (jj_scan_token(STRBEFORE)) return true; if (jj_scan_token(LPAREN)) return true; return false; } - private boolean jj_3R_BuiltInCall_1440_5_71() + private boolean jj_3R_BuiltInCall_1448_5_71() { if (jj_scan_token(STRENDS)) return true; if (jj_scan_token(LPAREN)) return true; return false; } - private boolean jj_3R_BuiltInCall_1438_5_70() + private boolean jj_3R_BuiltInCall_1446_5_70() { if (jj_scan_token(STRSTARTS)) return true; if (jj_scan_token(LPAREN)) return true; return false; } - private boolean jj_3R_BuiltInCall_1436_5_69() + private boolean jj_3R_BuiltInCall_1444_5_69() { if (jj_scan_token(CONTAINS)) return true; if (jj_scan_token(LPAREN)) return true; return false; } - private boolean jj_3R_BuiltInCall_1435_5_68() + private boolean jj_3R_BuiltInCall_1443_5_68() { if (jj_scan_token(ENCODE_FOR_URI)) return true; if (jj_scan_token(LPAREN)) return true; return false; } - private boolean jj_3R_BuiltInCall_1434_5_67() + private boolean jj_3R_BuiltInCall_1442_5_67() { if (jj_scan_token(LCASE)) return true; if (jj_scan_token(LPAREN)) return true; return false; } - private boolean jj_3R_BuiltInCall_1433_5_66() + private boolean jj_3R_BuiltInCall_1441_5_66() { if (jj_scan_token(UCASE)) return true; if (jj_scan_token(LPAREN)) return true; return false; } - private boolean jj_3R_BuiltInCall_1432_5_65() + private boolean jj_3R_BuiltInCall_1440_5_65() { - if (jj_3R_StrReplaceExpression_1534_3_118()) return true; + if (jj_3R_StrReplaceExpression_1542_3_118()) return true; return false; } - private boolean jj_3R_BuiltInCall_1431_5_64() + private boolean jj_3R_BuiltInCall_1439_5_64() { if (jj_scan_token(STRLEN)) return true; if (jj_scan_token(LPAREN)) return true; return false; } - private boolean jj_3R_BuiltInCall_1430_5_63() + private boolean jj_3R_BuiltInCall_1438_5_63() { - if (jj_3R_SubstringExpression_1522_5_117()) return true; + if (jj_3R_SubstringExpression_1530_5_117()) return true; return false; } - private boolean jj_3R_BuiltInCall_1429_5_62() + private boolean jj_3R_BuiltInCall_1437_5_62() { if (jj_scan_token(CONCAT)) return true; - if (jj_3R_ExpressionList_826_3_116()) return true; + if (jj_3R_ExpressionList_834_3_116()) return true; return false; } - private boolean jj_3R_BuiltInCall_1428_5_61() + private boolean jj_3R_BuiltInCall_1436_5_61() { if (jj_scan_token(IDIV)) return true; if (jj_scan_token(LPAREN)) return true; return false; } - private boolean jj_3R_BuiltInCall_1427_5_60() + private boolean jj_3R_BuiltInCall_1435_5_60() { if (jj_scan_token(MOD)) return true; if (jj_scan_token(LPAREN)) return true; return false; } - private boolean jj_3R_BuiltInCall_1426_5_59() + private boolean jj_3R_BuiltInCall_1434_5_59() { if (jj_scan_token(ROUND)) return true; if (jj_scan_token(LPAREN)) return true; return false; } - private boolean jj_3R_BuiltInCall_1425_5_58() + private boolean jj_3R_BuiltInCall_1433_5_58() { if (jj_scan_token(FLOOR)) return true; if (jj_scan_token(LPAREN)) return true; return false; } - private boolean jj_3R_BuiltInCall_1424_5_57() + private boolean jj_3R_BuiltInCall_1432_5_57() { if (jj_scan_token(CEIL)) return true; if (jj_scan_token(LPAREN)) return true; return false; } - private boolean jj_3R_BuiltInCall_1423_5_56() + private boolean jj_3R_BuiltInCall_1431_5_56() { if (jj_scan_token(ABS)) return true; if (jj_scan_token(LPAREN)) return true; return false; } - private boolean jj_3R_BuiltInCall_1422_5_55() + private boolean jj_3R_BuiltInCall_1430_5_55() { if (jj_scan_token(RAND)) return true; if (jj_scan_token(NIL)) return true; return false; } - private boolean jj_3R_BuiltInCall_1420_7_115() + private boolean jj_3R_BuiltInCall_1428_7_115() { if (jj_scan_token(NIL)) return true; return false; } - private boolean jj_3R_BuiltInCall_1417_7_114() + private boolean jj_3R_BuiltInCall_1425_7_114() { if (jj_scan_token(LPAREN)) return true; return false; } - private boolean jj_3R_BuiltInCall_1416_5_54() + private boolean jj_3R_BuiltInCall_1424_5_54() { if (jj_scan_token(BNODE)) return true; Token xsp; xsp = jj_scanpos; - if (jj_3R_BuiltInCall_1417_7_114()) { + if (jj_3R_BuiltInCall_1425_7_114()) { jj_scanpos = xsp; - if (jj_3R_BuiltInCall_1420_7_115()) return true; + if (jj_3R_BuiltInCall_1428_7_115()) return true; } return false; } - private boolean jj_3R_BuiltInCall_1414_5_53() + private boolean jj_3R_BuiltInCall_1422_5_53() { if (jj_scan_token(URI)) return true; if (jj_scan_token(LPAREN)) return true; return false; } - private boolean jj_3R_BuiltInCall_1412_5_52() + private boolean jj_3R_BuiltInCall_1420_5_52() { if (jj_scan_token(IRI)) return true; if (jj_scan_token(LPAREN)) return true; return false; } - private boolean jj_3R_BuiltInCall_1410_5_51() + private boolean jj_3R_BuiltInCall_1418_5_51() { if (jj_scan_token(BOUND)) return true; if (jj_scan_token(LPAREN)) return true; return false; } - private boolean jj_3R_BuiltInCall_1408_5_50() + private boolean jj_3R_BuiltInCall_1416_5_50() { if (jj_scan_token(DTYPE)) return true; if (jj_scan_token(LPAREN)) return true; return false; } - private boolean jj_3R_BuiltInCall_1405_5_49() + private boolean jj_3R_BuiltInCall_1413_5_49() { if (jj_scan_token(LANGMATCHES)) return true; if (jj_scan_token(LPAREN)) return true; return false; } - private boolean jj_3R_BuiltInCall_1403_5_48() + private boolean jj_3R_BuiltInCall_1411_5_48() { if (jj_scan_token(LANG)) return true; if (jj_scan_token(LPAREN)) return true; return false; } - private boolean jj_3R_BuiltInCall_1401_5_47() + private boolean jj_3R_BuiltInCall_1409_5_47() { if (jj_scan_token(STR)) return true; if (jj_scan_token(LPAREN)) return true; return false; } - private boolean jj_3R_BuiltInCall_1399_5_46() + private boolean jj_3R_BuiltInCall_1407_5_46() { - if (jj_3R_Aggregate_1561_3_113()) return true; + if (jj_3R_Aggregate_1569_3_113()) return true; return false; } - private boolean jj_3R_BuiltInCall_1399_5_43() + private boolean jj_3R_BuiltInCall_1407_5_43() { Token xsp; xsp = jj_scanpos; - if (jj_3R_BuiltInCall_1399_5_46()) { + if (jj_3R_BuiltInCall_1407_5_46()) { jj_scanpos = xsp; - if (jj_3R_BuiltInCall_1401_5_47()) { + if (jj_3R_BuiltInCall_1409_5_47()) { jj_scanpos = xsp; - if (jj_3R_BuiltInCall_1403_5_48()) { + if (jj_3R_BuiltInCall_1411_5_48()) { jj_scanpos = xsp; - if (jj_3R_BuiltInCall_1405_5_49()) { + if (jj_3R_BuiltInCall_1413_5_49()) { jj_scanpos = xsp; - if (jj_3R_BuiltInCall_1408_5_50()) { + if (jj_3R_BuiltInCall_1416_5_50()) { jj_scanpos = xsp; - if (jj_3R_BuiltInCall_1410_5_51()) { + if (jj_3R_BuiltInCall_1418_5_51()) { jj_scanpos = xsp; - if (jj_3R_BuiltInCall_1412_5_52()) { + if (jj_3R_BuiltInCall_1420_5_52()) { jj_scanpos = xsp; - if (jj_3R_BuiltInCall_1414_5_53()) { + if (jj_3R_BuiltInCall_1422_5_53()) { jj_scanpos = xsp; - if (jj_3R_BuiltInCall_1416_5_54()) { + if (jj_3R_BuiltInCall_1424_5_54()) { jj_scanpos = xsp; - if (jj_3R_BuiltInCall_1422_5_55()) { + if (jj_3R_BuiltInCall_1430_5_55()) { jj_scanpos = xsp; - if (jj_3R_BuiltInCall_1423_5_56()) { + if (jj_3R_BuiltInCall_1431_5_56()) { jj_scanpos = xsp; - if (jj_3R_BuiltInCall_1424_5_57()) { + if (jj_3R_BuiltInCall_1432_5_57()) { jj_scanpos = xsp; - if (jj_3R_BuiltInCall_1425_5_58()) { + if (jj_3R_BuiltInCall_1433_5_58()) { jj_scanpos = xsp; - if (jj_3R_BuiltInCall_1426_5_59()) { + if (jj_3R_BuiltInCall_1434_5_59()) { jj_scanpos = xsp; - if (jj_3R_BuiltInCall_1427_5_60()) { + if (jj_3R_BuiltInCall_1435_5_60()) { jj_scanpos = xsp; - if (jj_3R_BuiltInCall_1428_5_61()) { + if (jj_3R_BuiltInCall_1436_5_61()) { jj_scanpos = xsp; - if (jj_3R_BuiltInCall_1429_5_62()) { + if (jj_3R_BuiltInCall_1437_5_62()) { jj_scanpos = xsp; - if (jj_3R_BuiltInCall_1430_5_63()) { + if (jj_3R_BuiltInCall_1438_5_63()) { jj_scanpos = xsp; - if (jj_3R_BuiltInCall_1431_5_64()) { + if (jj_3R_BuiltInCall_1439_5_64()) { jj_scanpos = xsp; - if (jj_3R_BuiltInCall_1432_5_65()) { + if (jj_3R_BuiltInCall_1440_5_65()) { jj_scanpos = xsp; - if (jj_3R_BuiltInCall_1433_5_66()) { + if (jj_3R_BuiltInCall_1441_5_66()) { jj_scanpos = xsp; - if (jj_3R_BuiltInCall_1434_5_67()) { + if (jj_3R_BuiltInCall_1442_5_67()) { jj_scanpos = xsp; - if (jj_3R_BuiltInCall_1435_5_68()) { + if (jj_3R_BuiltInCall_1443_5_68()) { jj_scanpos = xsp; - if (jj_3R_BuiltInCall_1436_5_69()) { + if (jj_3R_BuiltInCall_1444_5_69()) { jj_scanpos = xsp; - if (jj_3R_BuiltInCall_1438_5_70()) { + if (jj_3R_BuiltInCall_1446_5_70()) { jj_scanpos = xsp; - if (jj_3R_BuiltInCall_1440_5_71()) { + if (jj_3R_BuiltInCall_1448_5_71()) { jj_scanpos = xsp; - if (jj_3R_BuiltInCall_1442_5_72()) { + if (jj_3R_BuiltInCall_1450_5_72()) { jj_scanpos = xsp; - if (jj_3R_BuiltInCall_1444_5_73()) { + if (jj_3R_BuiltInCall_1452_5_73()) { jj_scanpos = xsp; - if (jj_3R_BuiltInCall_1446_5_74()) { + if (jj_3R_BuiltInCall_1454_5_74()) { jj_scanpos = xsp; - if (jj_3R_BuiltInCall_1447_5_75()) { + if (jj_3R_BuiltInCall_1455_5_75()) { jj_scanpos = xsp; - if (jj_3R_BuiltInCall_1448_5_76()) { + if (jj_3R_BuiltInCall_1456_5_76()) { jj_scanpos = xsp; - if (jj_3R_BuiltInCall_1449_5_77()) { + if (jj_3R_BuiltInCall_1457_5_77()) { jj_scanpos = xsp; - if (jj_3R_BuiltInCall_1450_5_78()) { + if (jj_3R_BuiltInCall_1458_5_78()) { jj_scanpos = xsp; - if (jj_3R_BuiltInCall_1451_5_79()) { + if (jj_3R_BuiltInCall_1459_5_79()) { jj_scanpos = xsp; - if (jj_3R_BuiltInCall_1452_5_80()) { + if (jj_3R_BuiltInCall_1460_5_80()) { jj_scanpos = xsp; - if (jj_3R_BuiltInCall_1453_5_81()) { + if (jj_3R_BuiltInCall_1461_5_81()) { jj_scanpos = xsp; - if (jj_3R_BuiltInCall_1454_5_82()) { + if (jj_3R_BuiltInCall_1462_5_82()) { jj_scanpos = xsp; - if (jj_3R_BuiltInCall_1455_5_83()) { + if (jj_3R_BuiltInCall_1463_5_83()) { jj_scanpos = xsp; - if (jj_3R_BuiltInCall_1456_5_84()) { + if (jj_3R_BuiltInCall_1464_5_84()) { jj_scanpos = xsp; - if (jj_3R_BuiltInCall_1457_5_85()) { + if (jj_3R_BuiltInCall_1465_5_85()) { jj_scanpos = xsp; - if (jj_3R_BuiltInCall_1458_5_86()) { + if (jj_3R_BuiltInCall_1466_5_86()) { jj_scanpos = xsp; - if (jj_3R_BuiltInCall_1459_5_87()) { + if (jj_3R_BuiltInCall_1467_5_87()) { jj_scanpos = xsp; - if (jj_3R_BuiltInCall_1460_5_88()) { + if (jj_3R_BuiltInCall_1468_5_88()) { jj_scanpos = xsp; - if (jj_3R_BuiltInCall_1461_5_89()) { + if (jj_3R_BuiltInCall_1469_5_89()) { jj_scanpos = xsp; - if (jj_3R_BuiltInCall_1462_5_90()) { + if (jj_3R_BuiltInCall_1470_5_90()) { jj_scanpos = xsp; - if (jj_3R_BuiltInCall_1463_5_91()) { + if (jj_3R_BuiltInCall_1471_5_91()) { jj_scanpos = xsp; - if (jj_3R_BuiltInCall_1465_5_92()) { + if (jj_3R_BuiltInCall_1473_5_92()) { jj_scanpos = xsp; - if (jj_3R_BuiltInCall_1472_5_93()) { + if (jj_3R_BuiltInCall_1480_5_93()) { jj_scanpos = xsp; - if (jj_3R_BuiltInCall_1476_5_94()) { + if (jj_3R_BuiltInCall_1484_5_94()) { jj_scanpos = xsp; - if (jj_3R_BuiltInCall_1478_5_95()) { + if (jj_3R_BuiltInCall_1486_5_95()) { jj_scanpos = xsp; - if (jj_3R_BuiltInCall_1480_5_96()) { + if (jj_3R_BuiltInCall_1488_5_96()) { jj_scanpos = xsp; - if (jj_3R_BuiltInCall_1482_5_97()) { + if (jj_3R_BuiltInCall_1490_5_97()) { jj_scanpos = xsp; - if (jj_3R_BuiltInCall_1484_5_98()) { + if (jj_3R_BuiltInCall_1492_5_98()) { jj_scanpos = xsp; - if (jj_3R_BuiltInCall_1486_5_99()) { + if (jj_3R_BuiltInCall_1494_5_99()) { jj_scanpos = xsp; - if (jj_3R_BuiltInCall_1488_5_100()) { + if (jj_3R_BuiltInCall_1496_5_100()) { jj_scanpos = xsp; - if (jj_3R_BuiltInCall_1490_5_101()) { + if (jj_3R_BuiltInCall_1498_5_101()) { jj_scanpos = xsp; - if (jj_3R_BuiltInCall_1493_5_102()) { + if (jj_3R_BuiltInCall_1501_5_102()) { jj_scanpos = xsp; - if (jj_3R_BuiltInCall_1494_5_103()) { + if (jj_3R_BuiltInCall_1502_5_103()) { jj_scanpos = xsp; - if (jj_3R_BuiltInCall_1495_5_104()) { + if (jj_3R_BuiltInCall_1503_5_104()) { jj_scanpos = xsp; - if (jj_3R_BuiltInCall_1496_5_105()) { + if (jj_3R_BuiltInCall_1504_5_105()) { jj_scanpos = xsp; - if (jj_3R_BuiltInCall_1498_5_106()) { + if (jj_3R_BuiltInCall_1506_5_106()) { jj_scanpos = xsp; - if (jj_3R_BuiltInCall_1500_5_107()) { + if (jj_3R_BuiltInCall_1508_5_107()) { jj_scanpos = xsp; - if (jj_3R_BuiltInCall_1502_5_108()) { + if (jj_3R_BuiltInCall_1510_5_108()) { jj_scanpos = xsp; - if (jj_3R_BuiltInCall_1504_5_109()) return true; + if (jj_3R_BuiltInCall_1512_5_109()) return true; } } } @@ -7291,349 +7298,349 @@ private boolean jj_3R_BuiltInCall_1399_5_43() return false; } - private boolean jj_3R_IRIREF_1721_3_152() + private boolean jj_3R_IRIREF_1729_3_152() { if (jj_scan_token(IRIref)) return true; return false; } - private boolean jj_3R_BlankNode_1717_3_180() + private boolean jj_3R_BlankNode_1725_3_180() { if (jj_scan_token(ANON)) return true; return false; } - private boolean jj_3R_BlankNode_1714_3_170() + private boolean jj_3R_BlankNode_1722_3_170() { Token xsp; xsp = jj_scanpos; - if (jj_3R_BlankNode_1714_3_179()) { + if (jj_3R_BlankNode_1722_3_179()) { jj_scanpos = xsp; - if (jj_3R_BlankNode_1717_3_180()) return true; + if (jj_3R_BlankNode_1725_3_180()) return true; } return false; } - private boolean jj_3R_BlankNode_1714_3_179() + private boolean jj_3R_BlankNode_1722_3_179() { if (jj_scan_token(BLANK_NODE_LABEL)) return true; return false; } - private boolean jj_3R_GroupGraphPattern_562_3_143() - { - if (jj_scan_token(LBRACE)) return true; - return false; - } - - private boolean jj_3R_PrefixedName_1708_5_172() + private boolean jj_3R_PrefixedName_1716_5_172() { if (jj_scan_token(PNAME_NS)) return true; return false; } - private boolean jj_3_3() + private boolean jj_3R_PrefixedName_1713_5_171() { - if (jj_scan_token(DOT)) return true; - if (jj_3R_TriplesSameSubject_854_3_45()) return true; + if (jj_scan_token(PNAME_LN)) return true; return false; } - private boolean jj_3R_PrefixedName_1705_5_171() + private boolean jj_3R_GroupGraphPattern_564_3_143() { - if (jj_scan_token(PNAME_LN)) return true; + if (jj_scan_token(LBRACE)) return true; return false; } - private boolean jj_3R_PrefixedName_1705_3_166() + private boolean jj_3R_PrefixedName_1713_3_166() { Token xsp; xsp = jj_scanpos; - if (jj_3R_PrefixedName_1705_5_171()) { + if (jj_3R_PrefixedName_1713_5_171()) { jj_scanpos = xsp; - if (jj_3R_PrefixedName_1708_5_172()) return true; + if (jj_3R_PrefixedName_1716_5_172()) return true; } return false; } - private boolean jj_3R_iri_1701_3_159() + private boolean jj_3_3() + { + if (jj_scan_token(DOT)) return true; + if (jj_3R_TriplesSameSubject_862_3_45()) return true; + return false; + } + + private boolean jj_3R_iri_1709_3_159() { - if (jj_3R_PrefixedName_1705_3_166()) return true; + if (jj_3R_PrefixedName_1713_3_166()) return true; return false; } - private boolean jj_3R_iri_1699_3_151() + private boolean jj_3R_iri_1707_3_151() { Token xsp; xsp = jj_scanpos; - if (jj_3R_iri_1699_3_158()) { + if (jj_3R_iri_1707_3_158()) { jj_scanpos = xsp; - if (jj_3R_iri_1701_3_159()) return true; + if (jj_3R_iri_1709_3_159()) return true; } return false; } - private boolean jj_3R_iri_1699_3_158() + private boolean jj_3R_iri_1707_3_158() { - if (jj_3R_IRIREF_1721_3_152()) return true; + if (jj_3R_IRIREF_1729_3_152()) return true; return false; } - private boolean jj_3R_String_1690_5_184() + private boolean jj_3R_String_1698_5_184() { if (jj_scan_token(STRING_LITERAL_LONG2)) return true; return false; } - private boolean jj_3R_String_1689_5_183() + private boolean jj_3R_String_1697_5_183() { if (jj_scan_token(STRING_LITERAL_LONG1)) return true; return false; } - private boolean jj_3R_String_1688_5_182() + private boolean jj_3R_String_1696_5_182() { if (jj_scan_token(STRING_LITERAL2)) return true; return false; } - private boolean jj_3R_String_1687_5_181() + private boolean jj_3R_String_1695_5_181() { if (jj_scan_token(STRING_LITERAL1)) return true; return false; } - private boolean jj_3R_String_1687_3_173() + private boolean jj_3R_String_1695_3_173() { Token xsp; xsp = jj_scanpos; - if (jj_3R_String_1687_5_181()) { + if (jj_3R_String_1695_5_181()) { jj_scanpos = xsp; - if (jj_3R_String_1688_5_182()) { + if (jj_3R_String_1696_5_182()) { jj_scanpos = xsp; - if (jj_3R_String_1689_5_183()) { + if (jj_3R_String_1697_5_183()) { jj_scanpos = xsp; - if (jj_3R_String_1690_5_184()) return true; + if (jj_3R_String_1698_5_184()) return true; } } } return false; } - private boolean jj_3R_BooleanLiteral_1683_3_178() + private boolean jj_3R_BooleanLiteral_1691_3_178() { if (jj_scan_token(FALSE)) return true; return false; } - private boolean jj_3R_BooleanLiteral_1681_3_169() + private boolean jj_3R_BooleanLiteral_1689_3_169() { Token xsp; xsp = jj_scanpos; - if (jj_3R_BooleanLiteral_1681_3_177()) { + if (jj_3R_BooleanLiteral_1689_3_177()) { jj_scanpos = xsp; - if (jj_3R_BooleanLiteral_1683_3_178()) return true; + if (jj_3R_BooleanLiteral_1691_3_178()) return true; } return false; } - private boolean jj_3R_BooleanLiteral_1681_3_177() + private boolean jj_3R_BooleanLiteral_1689_3_177() { if (jj_scan_token(TRUE)) return true; return false; } - private boolean jj_3R_NumericLiteralNegative_1677_3_196() + private boolean jj_3R_NumericLiteralNegative_1685_3_196() { if (jj_scan_token(DOUBLE_NEGATIVE)) return true; return false; } - private boolean jj_3R_NumericLiteralNegative_1676_3_195() + private boolean jj_3R_NumericLiteralNegative_1684_3_195() { if (jj_scan_token(DECIMAL_NEGATIVE)) return true; return false; } - private boolean jj_3R_NumericLiteralNegative_1675_3_194() + private boolean jj_3R_NumericLiteralNegative_1683_3_194() { if (jj_scan_token(INTEGER_NEGATIVE)) return true; return false; } - private boolean jj_3R_NumericLiteralNegative_1675_3_187() + private boolean jj_3R_NumericLiteralNegative_1683_3_187() { Token xsp; xsp = jj_scanpos; - if (jj_3R_NumericLiteralNegative_1675_3_194()) { + if (jj_3R_NumericLiteralNegative_1683_3_194()) { jj_scanpos = xsp; - if (jj_3R_NumericLiteralNegative_1676_3_195()) { + if (jj_3R_NumericLiteralNegative_1684_3_195()) { jj_scanpos = xsp; - if (jj_3R_NumericLiteralNegative_1677_3_196()) return true; + if (jj_3R_NumericLiteralNegative_1685_3_196()) return true; } } return false; } - private boolean jj_3R_NumericLiteralPositive_1671_3_193() + private boolean jj_3R_NumericLiteralPositive_1679_3_193() { if (jj_scan_token(DOUBLE_POSITIVE)) return true; return false; } - private boolean jj_3R_NumericLiteralPositive_1670_3_192() + private boolean jj_3R_NumericLiteralPositive_1678_3_192() { if (jj_scan_token(DECIMAL_POSITIVE)) return true; return false; } - private boolean jj_3R_NumericLiteralPositive_1669_3_191() + private boolean jj_3R_NumericLiteralPositive_1677_3_191() { if (jj_scan_token(INTEGER_POSITIVE)) return true; return false; } - private boolean jj_3R_NumericLiteralPositive_1669_3_186() + private boolean jj_3R_NumericLiteralPositive_1677_3_186() { Token xsp; xsp = jj_scanpos; - if (jj_3R_NumericLiteralPositive_1669_3_191()) { + if (jj_3R_NumericLiteralPositive_1677_3_191()) { jj_scanpos = xsp; - if (jj_3R_NumericLiteralPositive_1670_3_192()) { + if (jj_3R_NumericLiteralPositive_1678_3_192()) { jj_scanpos = xsp; - if (jj_3R_NumericLiteralPositive_1671_3_193()) return true; + if (jj_3R_NumericLiteralPositive_1679_3_193()) return true; } } return false; } - private boolean jj_3R_NumericLiteralUnsigned_1665_3_190() + private boolean jj_3R_NumericLiteralUnsigned_1673_3_190() { if (jj_scan_token(DOUBLE)) return true; return false; } - private boolean jj_3R_NumericLiteralUnsigned_1664_3_189() + private boolean jj_3R_NumericLiteralUnsigned_1672_3_189() { if (jj_scan_token(DECIMAL)) return true; return false; } - private boolean jj_3R_NumericLiteralUnsigned_1663_3_188() + private boolean jj_3R_NumericLiteralUnsigned_1671_3_188() { if (jj_scan_token(INTEGER)) return true; return false; } - private boolean jj_3R_NumericLiteralUnsigned_1663_3_185() + private boolean jj_3R_NumericLiteralUnsigned_1671_3_185() { Token xsp; xsp = jj_scanpos; - if (jj_3R_NumericLiteralUnsigned_1663_3_188()) { + if (jj_3R_NumericLiteralUnsigned_1671_3_188()) { jj_scanpos = xsp; - if (jj_3R_NumericLiteralUnsigned_1664_3_189()) { + if (jj_3R_NumericLiteralUnsigned_1672_3_189()) { jj_scanpos = xsp; - if (jj_3R_NumericLiteralUnsigned_1665_3_190()) return true; + if (jj_3R_NumericLiteralUnsigned_1673_3_190()) return true; } } return false; } - private boolean jj_3R_NumericLiteral_1657_5_176() + private boolean jj_3R_NumericLiteral_1665_5_176() { - if (jj_3R_NumericLiteralNegative_1675_3_187()) return true; + if (jj_3R_NumericLiteralNegative_1683_3_187()) return true; return false; } - private boolean jj_3R_NumericLiteral_1656_5_175() + private boolean jj_3R_NumericLiteral_1664_5_175() { - if (jj_3R_NumericLiteralPositive_1669_3_186()) return true; + if (jj_3R_NumericLiteralPositive_1677_3_186()) return true; return false; } - private boolean jj_3R_NumericLiteral_1655_5_174() + private boolean jj_3R_NumericLiteral_1663_5_174() { - if (jj_3R_NumericLiteralUnsigned_1663_3_185()) return true; + if (jj_3R_NumericLiteralUnsigned_1671_3_185()) return true; return false; } - private boolean jj_3R_NumericLiteral_1654_3_168() + private boolean jj_3R_NumericLiteral_1662_3_168() { Token xsp; xsp = jj_scanpos; - if (jj_3R_NumericLiteral_1655_5_174()) { + if (jj_3R_NumericLiteral_1663_5_174()) { jj_scanpos = xsp; - if (jj_3R_NumericLiteral_1656_5_175()) { + if (jj_3R_NumericLiteral_1664_5_175()) { jj_scanpos = xsp; - if (jj_3R_NumericLiteral_1657_5_176()) return true; + if (jj_3R_NumericLiteral_1665_5_176()) return true; } } return false; } - private boolean jj_3_1() + private boolean jj_3R_RDFLiteral_1651_3_167() { - if (jj_3R_BuiltInCall_1399_5_43()) return true; + if (jj_3R_String_1695_3_173()) return true; return false; } - private boolean jj_3R_RDFLiteral_1643_3_167() + private boolean jj_3_1() { - if (jj_3R_String_1687_3_173()) return true; + if (jj_3R_BuiltInCall_1407_5_43()) return true; return false; } - private boolean jj_3R_GraphTerm_1245_3_165() + private boolean jj_3R_GraphTerm_1253_3_165() { if (jj_scan_token(NIL)) return true; return false; } - private boolean jj_3R_GraphTerm_1244_3_164() + private boolean jj_3R_GraphTerm_1252_3_164() { - if (jj_3R_BlankNode_1714_3_170()) return true; + if (jj_3R_BlankNode_1722_3_170()) return true; return false; } - private boolean jj_3R_GraphTerm_1243_3_163() + private boolean jj_3R_GraphTerm_1251_3_163() { - if (jj_3R_BooleanLiteral_1681_3_169()) return true; + if (jj_3R_BooleanLiteral_1689_3_169()) return true; return false; } - private boolean jj_3R_GraphTerm_1242_3_162() + private boolean jj_3R_GraphTerm_1250_3_162() { - if (jj_3R_NumericLiteral_1654_3_168()) return true; + if (jj_3R_NumericLiteral_1662_3_168()) return true; return false; } - private boolean jj_3R_GraphTerm_1241_3_161() + private boolean jj_3R_GraphTerm_1249_3_161() { - if (jj_3R_RDFLiteral_1643_3_167()) return true; + if (jj_3R_RDFLiteral_1651_3_167()) return true; return false; } - private boolean jj_3R_TriplesSameSubject_857_3_112() + private boolean jj_3R_TriplesSameSubject_865_3_112() { - if (jj_3R_TriplesNode_1079_3_125()) return true; + if (jj_3R_TriplesNode_1087_3_125()) return true; return false; } - private boolean jj_3R_GraphTerm_1240_3_155() + private boolean jj_3R_GraphTerm_1248_3_155() { Token xsp; xsp = jj_scanpos; - if (jj_3R_GraphTerm_1240_3_160()) { + if (jj_3R_GraphTerm_1248_3_160()) { jj_scanpos = xsp; - if (jj_3R_GraphTerm_1241_3_161()) { + if (jj_3R_GraphTerm_1249_3_161()) { jj_scanpos = xsp; - if (jj_3R_GraphTerm_1242_3_162()) { + if (jj_3R_GraphTerm_1250_3_162()) { jj_scanpos = xsp; - if (jj_3R_GraphTerm_1243_3_163()) { + if (jj_3R_GraphTerm_1251_3_163()) { jj_scanpos = xsp; - if (jj_3R_GraphTerm_1244_3_164()) { + if (jj_3R_GraphTerm_1252_3_164()) { jj_scanpos = xsp; - if (jj_3R_GraphTerm_1245_3_165()) return true; + if (jj_3R_GraphTerm_1253_3_165()) return true; } } } @@ -7642,30 +7649,30 @@ private boolean jj_3R_GraphTerm_1240_3_155() return false; } - private boolean jj_3R_GraphTerm_1240_3_160() + private boolean jj_3R_GraphTerm_1248_3_160() { - if (jj_3R_iri_1699_3_151()) return true; + if (jj_3R_iri_1707_3_151()) return true; return false; } - private boolean jj_3R_TriplesSameSubject_854_3_45() + private boolean jj_3R_TriplesSameSubject_862_3_45() { Token xsp; xsp = jj_scanpos; - if (jj_3R_TriplesSameSubject_854_3_111()) { + if (jj_3R_TriplesSameSubject_862_3_111()) { jj_scanpos = xsp; - if (jj_3R_TriplesSameSubject_857_3_112()) return true; + if (jj_3R_TriplesSameSubject_865_3_112()) return true; } return false; } - private boolean jj_3R_TriplesSameSubject_854_3_111() + private boolean jj_3R_TriplesSameSubject_862_3_111() { - if (jj_3R_VarOrTerm_1189_3_124()) return true; + if (jj_3R_VarOrTerm_1197_3_124()) return true; return false; } - private boolean jj_3R_Var_1235_5_154() + private boolean jj_3R_Var_1243_5_154() { Token xsp; xsp = jj_scanpos; @@ -7679,120 +7686,120 @@ private boolean jj_3R_Var_1235_5_154() private boolean jj_3_4() { if (jj_scan_token(DOT)) return true; - if (jj_3R_TriplesSameSubject_854_3_45()) return true; - return false; - } - - private boolean jj_3R_Prologue_70_18_123() - { - if (jj_3R_PrefixDecl_79_5_145()) return true; + if (jj_3R_TriplesSameSubject_862_3_45()) return true; return false; } - private boolean jj_3R_PrefixDecl_79_5_145() + private boolean jj_3R_Prologue_72_18_123() { - if (jj_scan_token(PREFIX)) return true; - if (jj_scan_token(PNAME_NS)) return true; - if (jj_3R_IRIREF_1721_3_152()) return true; + if (jj_3R_PrefixDecl_81_5_145()) return true; return false; } - private boolean jj_3R_Aggregate_1608_5_141() + private boolean jj_3R_Aggregate_1616_5_141() { if (jj_scan_token(AGG)) return true; - if (jj_3R_iri_1699_3_151()) return true; + if (jj_3R_iri_1707_3_151()) return true; return false; } - private boolean jj_3R_Aggregate_1606_5_140() + private boolean jj_3R_Aggregate_1614_5_140() { if (jj_scan_token(VAR_POP)) return true; if (jj_scan_token(LPAREN)) return true; return false; } - private boolean jj_3R_BaseDecl_74_3_144() + private boolean jj_3R_PrefixDecl_81_5_145() { - if (jj_scan_token(BASE)) return true; - if (jj_3R_IRIREF_1721_3_152()) return true; + if (jj_scan_token(PREFIX)) return true; + if (jj_scan_token(PNAME_NS)) return true; + if (jj_3R_IRIREF_1729_3_152()) return true; return false; } - private boolean jj_3R_Aggregate_1604_5_139() + private boolean jj_3R_Aggregate_1612_5_139() { if (jj_scan_token(VAR_SAMP)) return true; if (jj_scan_token(LPAREN)) return true; return false; } - private boolean jj_3R_Prologue_70_5_110() + private boolean jj_3R_Aggregate_1610_5_138() { - Token xsp; - xsp = jj_scanpos; - if (jj_3R_Prologue_70_5_122()) { - jj_scanpos = xsp; - if (jj_3R_Prologue_70_18_123()) return true; - } + if (jj_scan_token(VARIANCE)) return true; + if (jj_scan_token(LPAREN)) return true; return false; } - private boolean jj_3R_Prologue_70_5_122() + private boolean jj_3R_Aggregate_1608_5_137() { - if (jj_3R_BaseDecl_74_3_144()) return true; + if (jj_scan_token(STDEV_POP)) return true; + if (jj_scan_token(LPAREN)) return true; return false; } - private boolean jj_3R_Aggregate_1602_5_138() + private boolean jj_3R_BaseDecl_76_3_144() { - if (jj_scan_token(VARIANCE)) return true; + if (jj_scan_token(BASE)) return true; + if (jj_3R_IRIREF_1729_3_152()) return true; + return false; + } + + private boolean jj_3R_Aggregate_1606_5_136() + { + if (jj_scan_token(STDEV_SAMP)) return true; if (jj_scan_token(LPAREN)) return true; return false; } - private boolean jj_3R_Prologue_70_3_44() + private boolean jj_3R_Prologue_72_5_110() { Token xsp; - while (true) { - xsp = jj_scanpos; - if (jj_3R_Prologue_70_5_110()) { jj_scanpos = xsp; break; } + xsp = jj_scanpos; + if (jj_3R_Prologue_72_5_122()) { + jj_scanpos = xsp; + if (jj_3R_Prologue_72_18_123()) return true; } return false; } - private boolean jj_3R_Aggregate_1600_5_137() + private boolean jj_3R_Prologue_72_5_122() { - if (jj_scan_token(STDEV_POP)) return true; - if (jj_scan_token(LPAREN)) return true; + if (jj_3R_BaseDecl_76_3_144()) return true; return false; } - private boolean jj_3R_Aggregate_1598_5_136() + private boolean jj_3R_Aggregate_1604_5_135() { - if (jj_scan_token(STDEV_SAMP)) return true; + if (jj_scan_token(STDEV)) return true; if (jj_scan_token(LPAREN)) return true; return false; } - private boolean jj_3R_Aggregate_1596_5_135() + private boolean jj_3R_ExpressionList_837_5_142() { - if (jj_scan_token(STDEV)) return true; if (jj_scan_token(LPAREN)) return true; return false; } - private boolean jj_3R_ExpressionList_829_5_142() + private boolean jj_3R_Prologue_72_3_44() { - if (jj_scan_token(LPAREN)) return true; + Token xsp; + while (true) { + xsp = jj_scanpos; + if (jj_3R_Prologue_72_5_110()) { jj_scanpos = xsp; break; } + } return false; } - private boolean jj_3R_ExpressionList_826_3_116() + private boolean jj_3R_ExpressionList_834_3_116() { Token xsp; xsp = jj_scanpos; - if (jj_scan_token(183)) { + if (jj_scan_token(184)) { jj_scanpos = xsp; - if (jj_3R_ExpressionList_829_5_142()) return true; + if (jj_3R_ExpressionList_837_5_142()) return true; } return false; } @@ -7804,142 +7811,142 @@ private boolean jj_3_5() return false; } - private boolean jj_3R_Aggregate_1583_5_134() + private boolean jj_3R_Aggregate_1591_5_134() { if (jj_scan_token(GROUP_CONCAT)) return true; if (jj_scan_token(LPAREN)) return true; return false; } - private boolean jj_3R_Aggregate_1581_5_133() + private boolean jj_3R_Aggregate_1589_5_133() { if (jj_scan_token(SAMPLE)) return true; if (jj_scan_token(LPAREN)) return true; return false; } - private boolean jj_3R_Aggregate_1579_5_132() + private boolean jj_3R_Aggregate_1587_5_132() { if (jj_scan_token(MODE)) return true; if (jj_scan_token(LPAREN)) return true; return false; } - private boolean jj_3R_TripleTerm_1197_3_153() + private boolean jj_3R_TripleTerm_1205_3_153() { if (jj_scan_token(LT2)) return true; return false; } - private boolean jj_3R_Aggregate_1577_5_131() + private boolean jj_3R_Aggregate_1585_5_131() { if (jj_scan_token(MEDIAN)) return true; if (jj_scan_token(LPAREN)) return true; return false; } - private boolean jj_3R_Aggregate_1575_5_130() + private boolean jj_3R_Aggregate_1583_5_130() { if (jj_scan_token(AVG)) return true; if (jj_scan_token(LPAREN)) return true; return false; } - private boolean jj_3R_VarOrTerm_1191_5_148() + private boolean jj_3R_VarOrTerm_1199_5_148() { - if (jj_3R_GraphTerm_1240_3_155()) return true; + if (jj_3R_GraphTerm_1248_3_155()) return true; return false; } - private boolean jj_3R_VarOrTerm_1190_5_147() + private boolean jj_3R_VarOrTerm_1198_5_147() { - if (jj_3R_Var_1235_5_154()) return true; + if (jj_3R_Var_1243_5_154()) return true; return false; } - private boolean jj_3R_Aggregate_1573_5_129() + private boolean jj_3R_Aggregate_1581_5_129() { if (jj_scan_token(MAX)) return true; if (jj_scan_token(LPAREN)) return true; return false; } - private boolean jj_3R_VarOrTerm_1189_5_146() + private boolean jj_3R_VarOrTerm_1197_5_146() { - if (jj_3R_TripleTerm_1197_3_153()) return true; + if (jj_3R_TripleTerm_1205_3_153()) return true; return false; } - private boolean jj_3R_Aggregate_1571_5_128() + private boolean jj_3R_Aggregate_1579_5_128() { if (jj_scan_token(MIN)) return true; if (jj_scan_token(LPAREN)) return true; return false; } - private boolean jj_3R_VarOrTerm_1189_3_124() + private boolean jj_3R_VarOrTerm_1197_3_124() { Token xsp; xsp = jj_scanpos; - if (jj_3R_VarOrTerm_1189_5_146()) { + if (jj_3R_VarOrTerm_1197_5_146()) { jj_scanpos = xsp; - if (jj_3R_VarOrTerm_1190_5_147()) { + if (jj_3R_VarOrTerm_1198_5_147()) { jj_scanpos = xsp; - if (jj_3R_VarOrTerm_1191_5_148()) return true; + if (jj_3R_VarOrTerm_1199_5_148()) return true; } } return false; } - private boolean jj_3R_Aggregate_1569_5_127() + private boolean jj_3R_Aggregate_1577_5_127() { if (jj_scan_token(SUM)) return true; if (jj_scan_token(LPAREN)) return true; return false; } - private boolean jj_3R_Aggregate_1562_5_126() + private boolean jj_3R_Aggregate_1570_5_126() { if (jj_scan_token(COUNT)) return true; if (jj_scan_token(LPAREN)) return true; return false; } - private boolean jj_3R_Aggregate_1561_3_113() + private boolean jj_3R_Aggregate_1569_3_113() { Token xsp; xsp = jj_scanpos; - if (jj_3R_Aggregate_1562_5_126()) { + if (jj_3R_Aggregate_1570_5_126()) { jj_scanpos = xsp; - if (jj_3R_Aggregate_1569_5_127()) { + if (jj_3R_Aggregate_1577_5_127()) { jj_scanpos = xsp; - if (jj_3R_Aggregate_1571_5_128()) { + if (jj_3R_Aggregate_1579_5_128()) { jj_scanpos = xsp; - if (jj_3R_Aggregate_1573_5_129()) { + if (jj_3R_Aggregate_1581_5_129()) { jj_scanpos = xsp; - if (jj_3R_Aggregate_1575_5_130()) { + if (jj_3R_Aggregate_1583_5_130()) { jj_scanpos = xsp; - if (jj_3R_Aggregate_1577_5_131()) { + if (jj_3R_Aggregate_1585_5_131()) { jj_scanpos = xsp; - if (jj_3R_Aggregate_1579_5_132()) { + if (jj_3R_Aggregate_1587_5_132()) { jj_scanpos = xsp; - if (jj_3R_Aggregate_1581_5_133()) { + if (jj_3R_Aggregate_1589_5_133()) { jj_scanpos = xsp; - if (jj_3R_Aggregate_1583_5_134()) { + if (jj_3R_Aggregate_1591_5_134()) { jj_scanpos = xsp; - if (jj_3R_Aggregate_1596_5_135()) { + if (jj_3R_Aggregate_1604_5_135()) { jj_scanpos = xsp; - if (jj_3R_Aggregate_1598_5_136()) { + if (jj_3R_Aggregate_1606_5_136()) { jj_scanpos = xsp; - if (jj_3R_Aggregate_1600_5_137()) { + if (jj_3R_Aggregate_1608_5_137()) { jj_scanpos = xsp; - if (jj_3R_Aggregate_1602_5_138()) { + if (jj_3R_Aggregate_1610_5_138()) { jj_scanpos = xsp; - if (jj_3R_Aggregate_1604_5_139()) { + if (jj_3R_Aggregate_1612_5_139()) { jj_scanpos = xsp; - if (jj_3R_Aggregate_1606_5_140()) { + if (jj_3R_Aggregate_1614_5_140()) { jj_scanpos = xsp; - if (jj_3R_Aggregate_1608_5_141()) return true; + if (jj_3R_Aggregate_1616_5_141()) return true; } } } @@ -7958,27 +7965,34 @@ private boolean jj_3R_Aggregate_1561_3_113() return false; } - private boolean jj_3R_NotExistsFunc_1551_4_121() + private boolean jj_3R_NotExistsFunc_1559_4_121() { if (jj_scan_token(NOT)) return true; if (jj_scan_token(EXISTS)) return true; return false; } - private boolean jj_3R_ExistsFunc_1545_4_120() + private boolean jj_3R_ExistsFunc_1553_4_120() { if (jj_scan_token(EXISTS)) return true; - if (jj_3R_GroupGraphPattern_562_3_143()) return true; + if (jj_3R_GroupGraphPattern_564_3_143()) return true; return false; } - private boolean jj_3R_StrReplaceExpression_1534_3_118() + private boolean jj_3R_StrReplaceExpression_1542_3_118() { if (jj_scan_token(REPLACE)) return true; if (jj_scan_token(LPAREN)) return true; return false; } + private boolean jj_3R_SubstringExpression_1530_5_117() + { + if (jj_scan_token(SUBSTR)) return true; + if (jj_scan_token(LPAREN)) return true; + return false; + } + /** Generated Token Manager. */ public ARQParserTokenManager token_source; SimpleCharStream jj_input_stream; @@ -8013,22 +8027,22 @@ 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,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,0x0,0x0,0xfc00,0xfc00,0xfc00,0x81c00,0x1c00,0xdc00,0xfc00,0xc000,0x3c00,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xdc00,0xdc00,0xdc00,0x0,0x0,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,0x800000,0xf87f0000,0xf87f0000,0xf87f0000,0x40,0x40,0xc0,0x0,0x0,0x40,0x80,0x40,0x40,0x0,0x0,0x20,0x80,0x1000000,0x2000000,0x0,0x0,0xf87f0000,0x800000,0xf87f0000,0xf87f0000,0xf87f0018,0x18,0xf87f0000,0xf87f0018,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,0x60f602,0x0,0x0,0x0,0x0,0x60f602,0x0,0x0,0x4,0x0,0x0,0x0,0x4,0x0,0x4,0x800,0xf87f0000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x400000,0x400000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf87f0000,0xf87f0000,0x0,0x0,0x0,0x0,0x0,0xf87f0000,0x0,0x0,0x0,0x0,0xf87f0000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf8000000,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,0x1000000,0xf0df0000,0xf0df0000,0xf0df0000,0x40,0x40,0xc0,0x0,0x0,0x40,0x80,0x40,0x40,0x0,0x0,0x20,0x80,0x2000000,0x4000000,0x0,0x0,0xf0df0000,0x1000000,0xf0df0000,0xf0df0000,0xf0df0018,0x18,0xf0df0000,0xf0df0018,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,0xe0f602,0x0,0x0,0x0,0x0,0xe0f602,0x0,0x0,0x4,0x0,0x0,0x0,0x4,0x0,0x4,0x800,0xf0df0000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x800000,0x800000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf0df0000,0xf0df0000,0x0,0x0,0x0,0x0,0x0,0xf0df0000,0x0,0x0,0x0,0x0,0xf0df0000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf0000000,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,0xff97b7ff,0xff97b7ff,0xff97b7ff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff97b7ff,0x0,0xff97b7ff,0xff97b7ff,0xff97b7ff,0x0,0xff97b7ff,0xff97b7ff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,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,0x0,0x0,0x0,0x0,0x800,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff97b7ff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x600000,0x600000,0x0,0x600000,0x600000,0x0,0x0,0x0,0x0,0x0,0x600000,0x0,0x0,0x0,0x0,0x600000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x4000,0x4000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff97b7ff,0xff97b7ff,0x0,0x0,0x0,0x0,0x0,0xff97b7ff,0x0,0x0,0x0,0x0,0xff97b7ff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7ff,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,0xff2f6fff,0xff2f6fff,0xff2f6fff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff2f6fff,0x0,0xff2f6fff,0xff2f6fff,0xff2f6fff,0x0,0xff2f6fff,0xff2f6fff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,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,0x0,0x0,0x0,0x0,0x1000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff2f6fff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xc00000,0xc00000,0x0,0xc00000,0xc00000,0x0,0x0,0x0,0x0,0x0,0xc00000,0x0,0x0,0x0,0x0,0xc00000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x8000,0x8000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff2f6fff,0xff2f6fff,0x0,0x0,0x0,0x0,0x0,0xff2f6fff,0x0,0x0,0x0,0x0,0xff2f6fff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xfff,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,0xffffffff,0xffffffff,0xffffffff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xffffffff,0x0,0xffffffff,0xffffffff,0xffffffff,0x0,0xffffffff,0xffffffff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xffffffff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x600,0x600,0xffffffff,0xffffffff,0x0,0x0,0x0,0x0,0x0,0xffffffff,0x0,0x0,0x0,0x0,0xffffffff,0x0,0x0,0x0,0x0,0x0,0x0,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,0xffffffff,0xffffffff,0xffffffff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xffffffff,0x0,0xffffffff,0xffffffff,0xffffffff,0x0,0xffffffff,0xffffffff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xffffffff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xc00,0xc00,0xffffffff,0xffffffff,0x0,0x0,0x0,0x0,0x0,0xffffffff,0x0,0x0,0x0,0x0,0xffffffff,0x0,0x0,0x0,0x0,0x0,0x0,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,0x600,0x0,0x7df,0x7df,0x7df,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x600,0x0,0x0,0x0,0x0,0x0,0x0,0x1df,0x0,0x1df,0x1df,0x1df,0x0,0x1df,0x1df,0x0,0x0,0x0,0x0,0x0,0x427ff000,0x427ff000,0x1000000,0x4000000,0x1000000,0x1000000,0x1000000,0x1000000,0x1000000,0x1000000,0x40000000,0x1000,0x3000,0x80000000,0x0,0x0,0x10000000,0x30000000,0x600,0x0,0x0,0x600,0x600,0x600,0x0,0x0,0x600,0x0,0x600,0x0,0x0,0x600,0x0,0x0,0x600,0x600,0x0,0x0,0x1000000,0x0,0x600,0x0,0x0,0x0,0x600,0x0,0x600,0x0,0x1df,0x0,0x0,0x0,0x0,0x0,0x0,0x600,0x0,0x0,0x0,0x0,0x0,0x600,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x600,0x600,0x0,0x0,0x600,0x600,0x600,0x0,0x600,0x0,0x0,0x0,0x600,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7df,0x7df,0x600,0x0,0x0,0x0,0x0,0x1df,0x0,0x0,0x0,0x0,0x7df,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x600,0x0,0x0,0x0,0x0,}; + jj_la1_4 = new int[] {0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xc00,0x0,0xfbf,0xfbf,0xfbf,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xc00,0x0,0x0,0x0,0x0,0x0,0x0,0x3bf,0x0,0x3bf,0x3bf,0x3bf,0x0,0x3bf,0x3bf,0x0,0x0,0x0,0x0,0x0,0x84ffe000,0x84ffe000,0x2000000,0x8000000,0x2000000,0x2000000,0x2000000,0x2000000,0x2000000,0x2000000,0x80000000,0x2000,0x6000,0x0,0x0,0x0,0x20000000,0x60000000,0xc00,0x0,0x0,0xc00,0xc00,0xc00,0x0,0x0,0xc00,0x0,0xc00,0x0,0x0,0xc00,0x0,0x0,0xc00,0xc00,0x0,0x0,0x2000000,0x0,0xc00,0x0,0x0,0x0,0xc00,0x0,0xc00,0x0,0x3bf,0x0,0x0,0x0,0x0,0x0,0x0,0xc00,0x0,0x0,0x0,0x0,0x0,0xc00,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xc00,0xc00,0x0,0x0,0xc00,0xc00,0xc00,0x0,0xc00,0x0,0x0,0x0,0xc00,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xfbf,0xfbf,0xc00,0x0,0x0,0x0,0x0,0x3bf,0x0,0x0,0x0,0x0,0xfbf,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xc00,0x0,0x0,0x0,0x0,}; } private static void jj_la1_init_5() { - jj_la1_5 = new int[] {0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1e03fe,0x0,0x3e03fe,0x3e03fe,0x3e03fe,0x0,0x0,0x1000000,0x0,0x0,0x0,0x1000000,0x0,0x0,0x40000000,0x1e03fe,0x0,0x0,0x0,0x0,0x0,0x0,0x200000,0x0,0x200000,0x200000,0x200000,0x0,0x200000,0x200000,0x0,0x0,0x0,0x0,0x20000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x14be03fe,0x0,0x80000000,0x14be03fe,0x14be03fe,0x14be03fe,0x1000000,0x80000000,0x14be03fe,0x0,0x14be03fe,0x80000000,0x0,0x14be03fe,0x1000000,0x80000000,0x14be03fe,0x14be03fe,0x80000000,0x1000000,0x0,0xa00000,0x1e03fe,0x0,0xa00000,0xa00000,0x1e03fe,0xa00000,0x1e03fe,0x0,0x200000,0x0,0x40000000,0xa00000,0x40000000,0xa00000,0x80000000,0x14be03fe,0x0,0x20000000,0x0,0x0,0x40000000,0x14be03fe,0x200000,0x200000,0x20000000,0x200000,0x200000,0x40000000,0x0,0x0,0x0,0x1000000,0x200000,0x2000002,0x42000000,0x40000002,0x1000000,0x200000,0x0,0x0,0x200000,0x0,0x0,0x4200000,0x4200000,0x14be03fe,0x14be03fe,0x0,0x0,0x14be03fe,0x14be03fe,0x109e03fe,0x0,0x1e03fe,0x0,0x10000000,0x0,0x109e03fe,0x0,0x0,0x0,0x0,0x3f0,0x3f0,0x0,0x0,0x3f0,0x0,0x0,0x3e03fe,0x3e03fe,0x1e03fe,0x40000000,0x40000000,0xa00000,0x40000000,0x0,0x40000000,0x40000000,0x40000000,0x0,0x3e03fe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x20000000,0x20000000,0x20000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xa00000,0x0,0x0,0x3fe,0xe,0x70,0x380,0x0,0x1e0000,0x0,0x0,0x10000000,}; + jj_la1_5 = new int[] {0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3c07fc,0x0,0x7c07fc,0x7c07fc,0x7c07fc,0x0,0x0,0x2000000,0x0,0x0,0x0,0x2000000,0x0,0x0,0x80000000,0x3c07fc,0x0,0x0,0x0,0x0,0x0,0x0,0x400000,0x0,0x400000,0x400000,0x400000,0x0,0x400000,0x400000,0x0,0x0,0x0,0x0,0x40000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x0,0x297c07fc,0x0,0x0,0x297c07fc,0x297c07fc,0x297c07fc,0x2000000,0x0,0x297c07fc,0x0,0x297c07fc,0x0,0x0,0x297c07fc,0x2000000,0x0,0x297c07fc,0x297c07fc,0x0,0x2000000,0x0,0x1400000,0x3c07fc,0x0,0x1400000,0x1400000,0x3c07fc,0x1400000,0x3c07fc,0x0,0x400000,0x0,0x80000000,0x1400000,0x80000000,0x1400000,0x0,0x297c07fc,0x0,0x40000000,0x0,0x0,0x80000000,0x297c07fc,0x400000,0x400000,0x40000000,0x400000,0x400000,0x80000000,0x0,0x0,0x0,0x2000000,0x400000,0x4000004,0x84000000,0x80000004,0x2000000,0x400000,0x0,0x0,0x400000,0x0,0x0,0x8400000,0x8400000,0x297c07fc,0x297c07fc,0x0,0x0,0x297c07fc,0x297c07fc,0x213c07fc,0x0,0x3c07fc,0x0,0x20000000,0x0,0x213c07fc,0x0,0x0,0x0,0x0,0x7e0,0x7e0,0x0,0x0,0x7e0,0x0,0x0,0x7c07fc,0x7c07fc,0x3c07fc,0x80000000,0x80000000,0x1400000,0x80000000,0x0,0x80000000,0x80000000,0x80000000,0x0,0x7c07fc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x40000000,0x40000000,0x40000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1400000,0x0,0x0,0x7fc,0x1c,0xe0,0x700,0x0,0x3c0000,0x0,0x0,0x20000000,}; } private static void jj_la1_init_6() { - jj_la1_6 = new int[] {0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x20000,0x0,0x0,0x0,0x0,0x20000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,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,0x80,0x80,0x80,0x0,0x0,0x80,0x0,0x80,0x0,0x0,0x80,0x0,0x0,0x80,0x80,0x0,0x0,0x0,0x0,0x80,0x0,0x0,0x0,0x80,0x0,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x80,0x0,0x0,0x0,0x0,0x0,0x80,0x800400,0x800400,0x0,0x800400,0x800400,0x0,0x400000,0x840000,0x840000,0x4028000,0x800400,0x0,0x0,0x28000,0x4028000,0x400,0x400000,0x800000,0x800000,0x0,0x800000,0x0,0x0,0x80,0x80,0x100,0x100,0x80,0x80,0x80,0x0,0x80,0x0,0x0,0x0,0x0,0x2000,0x4000,0x3f,0x3f,0x18000,0x0,0x60000,0x60000,0x18000,0x60000,0x60000,0x18480,0x80,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x38480,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x80000,0x80000,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,0x40000,0x0,0x0,0x0,0x0,0x40000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x100,0x0,0x1,0x100,0x100,0x100,0x0,0x1,0x100,0x0,0x100,0x1,0x0,0x100,0x0,0x1,0x100,0x100,0x1,0x0,0x0,0x0,0x100,0x0,0x0,0x0,0x100,0x0,0x100,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0x100,0x0,0x0,0x0,0x0,0x0,0x100,0x1000800,0x1000800,0x0,0x1000800,0x1000800,0x0,0x800000,0x1080000,0x1080000,0x8050000,0x1000800,0x0,0x0,0x50000,0x8050000,0x800,0x800000,0x1000000,0x1000000,0x0,0x1000000,0x0,0x0,0x100,0x100,0x200,0x200,0x100,0x100,0x100,0x0,0x100,0x0,0x0,0x0,0x0,0x4000,0x8000,0x7e,0x7e,0x30000,0x0,0xc0000,0xc0000,0x30000,0xc0000,0xc0000,0x30900,0x100,0x100,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x70900,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x100000,0x100000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,}; } private static void jj_la1_init_7() { jj_la1_7 = new int[] {0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,}; @@ -8244,7 +8258,7 @@ private void jj_add_error_token(int kind, int pos) { /** Generate ParseException. */ public ParseException generateParseException() { jj_expentries.clear(); - boolean[] la1tokens = new boolean[231]; + boolean[] la1tokens = new boolean[232]; if (jj_kind >= 0) { la1tokens[jj_kind] = true; jj_kind = -1; @@ -8279,7 +8293,7 @@ public ParseException generateParseException() { } } } - for (int i = 0; i < 231; i++) { + for (int i = 0; i < 232; 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 9efd44f9992..ba0f5709105 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 @@ -105,361 +105,363 @@ public interface ARQParserConstants { /** RegularExpression Id. */ int OBJECT = 52; /** RegularExpression Id. */ - int EXISTS = 53; + int LATERAL = 53; /** RegularExpression Id. */ - int NOT = 54; + int EXISTS = 54; /** RegularExpression Id. */ - int AS = 55; + int NOT = 55; /** RegularExpression Id. */ - int GROUP = 56; + int AS = 56; /** RegularExpression Id. */ - int HAVING = 57; + int GROUP = 57; /** RegularExpression Id. */ - int SEPARATOR = 58; + int HAVING = 58; /** RegularExpression Id. */ - int AGG = 59; + int SEPARATOR = 59; /** RegularExpression Id. */ - int COUNT = 60; + int AGG = 60; /** RegularExpression Id. */ - int MIN = 61; + int COUNT = 61; /** RegularExpression Id. */ - int MAX = 62; + int MIN = 62; /** RegularExpression Id. */ - int SUM = 63; + int MAX = 63; /** RegularExpression Id. */ - int AVG = 64; + int SUM = 64; /** RegularExpression Id. */ - int MEDIAN = 65; + int AVG = 65; /** RegularExpression Id. */ - int MODE = 66; + int MEDIAN = 66; /** RegularExpression Id. */ - int STDEV = 67; + int MODE = 67; /** RegularExpression Id. */ - int STDEV_SAMP = 68; + int STDEV = 68; /** RegularExpression Id. */ - int STDEV_POP = 69; + int STDEV_SAMP = 69; /** RegularExpression Id. */ - int VARIANCE = 70; + int STDEV_POP = 70; /** RegularExpression Id. */ - int VAR_SAMP = 71; + int VARIANCE = 71; /** RegularExpression Id. */ - int VAR_POP = 72; + int VAR_SAMP = 72; /** RegularExpression Id. */ - int SAMPLE = 73; + int VAR_POP = 73; /** RegularExpression Id. */ - int GROUP_CONCAT = 74; + int SAMPLE = 74; /** RegularExpression Id. */ - int FILTER = 75; + int GROUP_CONCAT = 75; /** RegularExpression Id. */ - int BOUND = 76; + int FILTER = 76; /** RegularExpression Id. */ - int COALESCE = 77; + int BOUND = 77; /** RegularExpression Id. */ - int IN = 78; + int COALESCE = 78; /** RegularExpression Id. */ - int IF = 79; + int IN = 79; /** RegularExpression Id. */ - int BNODE = 80; + int IF = 80; /** RegularExpression Id. */ - int IRI = 81; + int BNODE = 81; /** RegularExpression Id. */ - int URI = 82; + int IRI = 82; /** RegularExpression Id. */ - int CAST = 83; + int URI = 83; /** RegularExpression Id. */ - int CALL = 84; + int CAST = 84; /** RegularExpression Id. */ - int MULTI = 85; + int CALL = 85; /** RegularExpression Id. */ - int SHORTEST = 86; + int MULTI = 86; /** RegularExpression Id. */ - int STR = 87; + int SHORTEST = 87; /** RegularExpression Id. */ - int STRLANG = 88; + int STR = 88; /** RegularExpression Id. */ - int STRDT = 89; + int STRLANG = 89; /** RegularExpression Id. */ - int DTYPE = 90; + int STRDT = 90; /** RegularExpression Id. */ - int LANG = 91; + int DTYPE = 91; /** RegularExpression Id. */ - int LANGMATCHES = 92; + int LANG = 92; /** RegularExpression Id. */ - int IS_URI = 93; + int LANGMATCHES = 93; /** RegularExpression Id. */ - int IS_IRI = 94; + int IS_URI = 94; /** RegularExpression Id. */ - int IS_BLANK = 95; + int IS_IRI = 95; /** RegularExpression Id. */ - int IS_LITERAL = 96; + int IS_BLANK = 96; /** RegularExpression Id. */ - int IS_NUMERIC = 97; + int IS_LITERAL = 97; /** RegularExpression Id. */ - int REGEX = 98; + int IS_NUMERIC = 98; /** RegularExpression Id. */ - int SAME_TERM = 99; + int REGEX = 99; /** RegularExpression Id. */ - int RAND = 100; + int SAME_TERM = 100; /** RegularExpression Id. */ - int ABS = 101; + int RAND = 101; /** RegularExpression Id. */ - int CEIL = 102; + int ABS = 102; /** RegularExpression Id. */ - int FLOOR = 103; + int CEIL = 103; /** RegularExpression Id. */ - int ROUND = 104; + int FLOOR = 104; /** RegularExpression Id. */ - int MOD = 105; + int ROUND = 105; /** RegularExpression Id. */ - int IDIV = 106; + int MOD = 106; /** RegularExpression Id. */ - int CONCAT = 107; + int IDIV = 107; /** RegularExpression Id. */ - int SUBSTR = 108; + int CONCAT = 108; /** RegularExpression Id. */ - int STRLEN = 109; + int SUBSTR = 109; /** RegularExpression Id. */ - int REPLACE = 110; + int STRLEN = 110; /** RegularExpression Id. */ - int UCASE = 111; + int REPLACE = 111; /** RegularExpression Id. */ - int LCASE = 112; + int UCASE = 112; /** RegularExpression Id. */ - int ENCODE_FOR_URI = 113; + int LCASE = 113; /** RegularExpression Id. */ - int CONTAINS = 114; + int ENCODE_FOR_URI = 114; /** RegularExpression Id. */ - int STRSTARTS = 115; + int CONTAINS = 115; /** RegularExpression Id. */ - int STRENDS = 116; + int STRSTARTS = 116; /** RegularExpression Id. */ - int STRBEFORE = 117; + int STRENDS = 117; /** RegularExpression Id. */ - int STRAFTER = 118; + int STRBEFORE = 118; /** RegularExpression Id. */ - int YEAR = 119; + int STRAFTER = 119; /** RegularExpression Id. */ - int MONTH = 120; + int YEAR = 120; /** RegularExpression Id. */ - int DAY = 121; + int MONTH = 121; /** RegularExpression Id. */ - int HOURS = 122; + int DAY = 122; /** RegularExpression Id. */ - int MINUTES = 123; + int HOURS = 123; /** RegularExpression Id. */ - int SECONDS = 124; + int MINUTES = 124; /** RegularExpression Id. */ - int TIMEZONE = 125; + int SECONDS = 125; /** RegularExpression Id. */ - int TZ = 126; + int TIMEZONE = 126; /** RegularExpression Id. */ - int NOW = 127; + int TZ = 127; /** RegularExpression Id. */ - int UUID = 128; + int NOW = 128; /** RegularExpression Id. */ - int STRUUID = 129; + int UUID = 129; /** RegularExpression Id. */ - int VERSION = 130; + int STRUUID = 130; /** RegularExpression Id. */ - int MD5 = 131; + int VERSION = 131; /** RegularExpression Id. */ - int SHA1 = 132; + int MD5 = 132; /** RegularExpression Id. */ - int SHA224 = 133; + int SHA1 = 133; /** RegularExpression Id. */ - int SHA256 = 134; + int SHA224 = 134; /** RegularExpression Id. */ - int SHA384 = 135; + int SHA256 = 135; /** RegularExpression Id. */ - int SHA512 = 136; + int SHA384 = 136; /** RegularExpression Id. */ - int TRUE = 137; + int SHA512 = 137; /** RegularExpression Id. */ - int FALSE = 138; + int TRUE = 138; /** RegularExpression Id. */ - int DATA = 139; + int FALSE = 139; /** RegularExpression Id. */ - int INSERT = 140; + int DATA = 140; /** RegularExpression Id. */ - int DELETE = 141; + int INSERT = 141; /** RegularExpression Id. */ - int INSERT_DATA = 142; + int DELETE = 142; /** RegularExpression Id. */ - int DELETE_DATA = 143; + int INSERT_DATA = 143; /** RegularExpression Id. */ - int DELETE_WHERE = 144; + int DELETE_DATA = 144; /** RegularExpression Id. */ - int LOAD = 145; + int DELETE_WHERE = 145; /** RegularExpression Id. */ - int CLEAR = 146; + int LOAD = 146; /** RegularExpression Id. */ - int CREATE = 147; + int CLEAR = 147; /** RegularExpression Id. */ - int ADD = 148; + int CREATE = 148; /** RegularExpression Id. */ - int MOVE = 149; + int ADD = 149; /** RegularExpression Id. */ - int COPY = 150; + int MOVE = 150; /** RegularExpression Id. */ - int META = 151; + int COPY = 151; /** RegularExpression Id. */ - int SILENT = 152; + int META = 152; /** RegularExpression Id. */ - int DROP = 153; + int SILENT = 153; /** RegularExpression Id. */ - int INTO = 154; + int DROP = 154; /** RegularExpression Id. */ - int TO = 155; + int INTO = 155; /** RegularExpression Id. */ - int DFT = 156; + int TO = 156; /** RegularExpression Id. */ - int ALL = 157; + int DFT = 157; /** RegularExpression Id. */ - int WITH = 158; + int ALL = 158; /** RegularExpression Id. */ - int USING = 159; + int WITH = 159; /** RegularExpression Id. */ - int DIGITS = 160; + int USING = 160; /** RegularExpression Id. */ - int INTEGER = 161; + int DIGITS = 161; /** RegularExpression Id. */ - int DECIMAL = 162; + int INTEGER = 162; /** RegularExpression Id. */ - int DOUBLE = 163; + int DECIMAL = 163; /** RegularExpression Id. */ - int INTEGER_POSITIVE = 164; + int DOUBLE = 164; /** RegularExpression Id. */ - int DECIMAL_POSITIVE = 165; + int INTEGER_POSITIVE = 165; /** RegularExpression Id. */ - int DOUBLE_POSITIVE = 166; + int DECIMAL_POSITIVE = 166; /** RegularExpression Id. */ - int INTEGER_NEGATIVE = 167; + int DOUBLE_POSITIVE = 167; /** RegularExpression Id. */ - int DECIMAL_NEGATIVE = 168; + int INTEGER_NEGATIVE = 168; /** RegularExpression Id. */ - int DOUBLE_NEGATIVE = 169; + int DECIMAL_NEGATIVE = 169; /** RegularExpression Id. */ - int EXPONENT = 170; + int DOUBLE_NEGATIVE = 170; /** RegularExpression Id. */ - int QUOTE_3D = 171; + int EXPONENT = 171; /** RegularExpression Id. */ - int QUOTE_3S = 172; + int QUOTE_3D = 172; /** RegularExpression Id. */ - int ECHAR = 173; + int QUOTE_3S = 173; /** RegularExpression Id. */ - int UCHAR = 174; + int ECHAR = 174; /** RegularExpression Id. */ - int UCHAR4 = 175; + int UCHAR = 175; /** RegularExpression Id. */ - int UCHAR8 = 176; + int UCHAR4 = 176; /** RegularExpression Id. */ - int STRING_LITERAL1 = 177; + int UCHAR8 = 177; /** RegularExpression Id. */ - int STRING_LITERAL2 = 178; + int STRING_LITERAL1 = 178; /** RegularExpression Id. */ - int STRING_LITERAL_LONG1 = 179; + int STRING_LITERAL2 = 179; /** RegularExpression Id. */ - int STRING_LITERAL_LONG2 = 180; + int STRING_LITERAL_LONG1 = 180; /** RegularExpression Id. */ - int LPAREN = 181; + int STRING_LITERAL_LONG2 = 181; /** RegularExpression Id. */ - int RPAREN = 182; + int LPAREN = 182; /** RegularExpression Id. */ - int NIL = 183; + int RPAREN = 183; /** RegularExpression Id. */ - int LBRACE = 184; + int NIL = 184; /** RegularExpression Id. */ - int RBRACE = 185; + int LBRACE = 185; /** RegularExpression Id. */ - int LBRACKET = 186; + int RBRACE = 186; /** RegularExpression Id. */ - int RBRACKET = 187; + int LBRACKET = 187; /** RegularExpression Id. */ - int ANON = 188; + int RBRACKET = 188; /** RegularExpression Id. */ - int SEMICOLON = 189; + int ANON = 189; /** RegularExpression Id. */ - int COMMA = 190; + int SEMICOLON = 190; /** RegularExpression Id. */ - int DOT = 191; + int COMMA = 191; /** RegularExpression Id. */ - int EQ = 192; + int DOT = 192; /** RegularExpression Id. */ - int NE = 193; + int EQ = 193; /** RegularExpression Id. */ - int GT = 194; + int NE = 194; /** RegularExpression Id. */ - int LT = 195; + int GT = 195; /** RegularExpression Id. */ - int LE = 196; + int LT = 196; /** RegularExpression Id. */ - int GE = 197; + int LE = 197; /** RegularExpression Id. */ - int GT2 = 198; + int GE = 198; /** RegularExpression Id. */ - int LT2 = 199; + int GT2 = 199; /** RegularExpression Id. */ - int L_ANN = 200; + int LT2 = 200; /** RegularExpression Id. */ - int R_ANN = 201; + int L_ANN = 201; /** RegularExpression Id. */ - int BANG = 202; + int R_ANN = 202; /** RegularExpression Id. */ - int TILDE = 203; + int BANG = 203; /** RegularExpression Id. */ - int COLON = 204; + int TILDE = 204; /** RegularExpression Id. */ - int SC_OR = 205; + int COLON = 205; /** RegularExpression Id. */ - int SC_AND = 206; + int SC_OR = 206; /** RegularExpression Id. */ - int PLUS = 207; + int SC_AND = 207; /** RegularExpression Id. */ - int MINUS = 208; + int PLUS = 208; /** RegularExpression Id. */ - int STAR = 209; + int MINUS = 209; /** RegularExpression Id. */ - int SLASH = 210; + int STAR = 210; /** RegularExpression Id. */ - int DATATYPE = 211; + int SLASH = 211; /** RegularExpression Id. */ - int AT = 212; + int DATATYPE = 212; /** RegularExpression Id. */ - int ASSIGN = 213; + int AT = 213; /** RegularExpression Id. */ - int VBAR = 214; + int ASSIGN = 214; /** RegularExpression Id. */ - int CARAT = 215; + int VBAR = 215; /** RegularExpression Id. */ - int FPATH = 216; + int CARAT = 216; /** RegularExpression Id. */ - int RPATH = 217; + int FPATH = 217; /** RegularExpression Id. */ - int QMARK = 218; + int RPATH = 218; /** RegularExpression Id. */ - int SURROGATE_PAIR = 219; + int QMARK = 219; /** RegularExpression Id. */ - int PN_CHARS_BASE = 220; + int SURROGATE_PAIR = 220; /** RegularExpression Id. */ - int PN_CHARS_U = 221; + int PN_CHARS_BASE = 221; /** RegularExpression Id. */ - int PN_CHARS = 222; + int PN_CHARS_U = 222; /** RegularExpression Id. */ - int PN_PREFIX = 223; + int PN_CHARS = 223; /** RegularExpression Id. */ - int PN_LOCAL = 224; + int PN_PREFIX = 224; /** RegularExpression Id. */ - int VARNAME = 225; + int PN_LOCAL = 225; /** RegularExpression Id. */ - int PN_LOCAL_ESC = 226; + int VARNAME = 226; /** RegularExpression Id. */ - int PLX = 227; + int PN_LOCAL_ESC = 227; /** RegularExpression Id. */ - int HEX = 228; + int PLX = 228; /** RegularExpression Id. */ - int PERCENT = 229; + int HEX = 229; /** RegularExpression Id. */ - int UNKNOWN = 230; + int PERCENT = 230; + /** RegularExpression Id. */ + int UNKNOWN = 231; /** Lexical state. */ int DEFAULT = 0; @@ -519,6 +521,7 @@ public interface ARQParserConstants { "\"SUBJECT\"", "\"PREDICATE\"", "\"OBJECT\"", + "\"LATERAL\"", "\"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 d10b079f6f3..3c7309dd5bf 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 @@ -12,6 +12,8 @@ import org.apache.jena.update.* ; import org.apache.jena.sparql.modify.request.* ; import org.apache.jena.sparql.core.Quad ; +import java.util.List; +import java.util.ArrayList; /** Token Manager. */ @SuppressWarnings ("unused") @@ -46,164 +48,164 @@ private int jjMoveStringLiteralDfa0_0(){ jjmatchedKind = 1; return jjMoveNfa_0(0, 0); case 33: - jjmatchedKind = 202; - return jjMoveStringLiteralDfa1_0(0x0L, 0x0L, 0x0L, 0x2L); + jjmatchedKind = 203; + return jjMoveStringLiteralDfa1_0(0x0L, 0x0L, 0x0L, 0x4L); case 38: - return jjMoveStringLiteralDfa1_0(0x0L, 0x0L, 0x0L, 0x4000L); + return jjMoveStringLiteralDfa1_0(0x0L, 0x0L, 0x0L, 0x8000L); case 40: - jjmatchedKind = 181; + jjmatchedKind = 182; return jjMoveNfa_0(0, 0); case 41: - jjmatchedKind = 182; + jjmatchedKind = 183; return jjMoveNfa_0(0, 0); case 42: - jjmatchedKind = 209; + jjmatchedKind = 210; return jjMoveNfa_0(0, 0); case 43: - jjmatchedKind = 207; + jjmatchedKind = 208; return jjMoveNfa_0(0, 0); case 44: - jjmatchedKind = 190; + jjmatchedKind = 191; return jjMoveNfa_0(0, 0); case 45: - jjmatchedKind = 208; - return jjMoveStringLiteralDfa1_0(0x0L, 0x0L, 0x0L, 0x1000000L); + jjmatchedKind = 209; + return jjMoveStringLiteralDfa1_0(0x0L, 0x0L, 0x0L, 0x2000000L); case 46: - jjmatchedKind = 191; + jjmatchedKind = 192; return jjMoveNfa_0(0, 0); case 47: - jjmatchedKind = 210; + jjmatchedKind = 211; return jjMoveNfa_0(0, 0); case 58: - jjmatchedKind = 204; - return jjMoveStringLiteralDfa1_0(0x0L, 0x0L, 0x0L, 0x200000L); + jjmatchedKind = 205; + return jjMoveStringLiteralDfa1_0(0x0L, 0x0L, 0x0L, 0x400000L); case 59: - jjmatchedKind = 189; + jjmatchedKind = 190; return jjMoveNfa_0(0, 0); case 60: - jjmatchedKind = 195; - return jjMoveStringLiteralDfa1_0(0x0L, 0x0L, 0x0L, 0x2000090L); + jjmatchedKind = 196; + return jjMoveStringLiteralDfa1_0(0x0L, 0x0L, 0x0L, 0x4000120L); case 61: - jjmatchedKind = 192; + jjmatchedKind = 193; return jjMoveNfa_0(0, 0); case 62: - jjmatchedKind = 194; - return jjMoveStringLiteralDfa1_0(0x0L, 0x0L, 0x0L, 0x60L); + jjmatchedKind = 195; + return jjMoveStringLiteralDfa1_0(0x0L, 0x0L, 0x0L, 0xc0L); case 63: - jjmatchedKind = 218; + jjmatchedKind = 219; return jjMoveNfa_0(0, 0); case 64: - jjmatchedKind = 212; + jjmatchedKind = 213; return jjMoveNfa_0(0, 0); case 65: - return jjMoveStringLiteralDfa1_0(0x880010810000000L, 0x2000000001L, 0x20100000L, 0x0L); + return jjMoveStringLiteralDfa1_0(0x1100010810000000L, 0x4000000002L, 0x40200000L, 0x0L); case 66: - return jjMoveStringLiteralDfa1_0(0x200100100000L, 0x11000L, 0x0L, 0x0L); + return jjMoveStringLiteralDfa1_0(0x200100100000L, 0x22000L, 0x0L, 0x0L); case 67: - return jjMoveStringLiteralDfa1_0(0x1000000008000000L, 0x4084000182000L, 0x4c0000L, 0x0L); + return jjMoveStringLiteralDfa1_0(0x2000000008000000L, 0x8108000304000L, 0x980000L, 0x0L); case 68: - return jjMoveStringLiteralDfa1_0(0x1004800000L, 0x200000004000000L, 0x12002800L, 0x0L); + return jjMoveStringLiteralDfa1_0(0x1004800000L, 0x400000008000000L, 0x24005000L, 0x0L); case 69: - return jjMoveStringLiteralDfa1_0(0x20000000000000L, 0x2000000000000L, 0x0L, 0x0L); + return jjMoveStringLiteralDfa1_0(0x40000000000000L, 0x4000000000000L, 0x0L, 0x0L); case 70: - return jjMoveStringLiteralDfa1_0(0x4000000000L, 0x8000000800L, 0x400L, 0x0L); + return jjMoveStringLiteralDfa1_0(0x4000000000L, 0x10000001000L, 0x800L, 0x0L); case 71: - return jjMoveStringLiteralDfa1_0(0x100020000000000L, 0x400L, 0x0L, 0x0L); + return jjMoveStringLiteralDfa1_0(0x200020000000000L, 0x800L, 0x0L, 0x0L); case 72: - return jjMoveStringLiteralDfa1_0(0x200000000000000L, 0x400000000000000L, 0x0L, 0x0L); + return jjMoveStringLiteralDfa1_0(0x400000000000000L, 0x800000000000000L, 0x0L, 0x0L); case 73: - return jjMoveStringLiteralDfa1_0(0x2000000000000L, 0x403e002c000L, 0x4001000L, 0x0L); + return jjMoveStringLiteralDfa1_0(0x2000000000000L, 0x807c0058000L, 0x8002000L, 0x0L); case 74: return jjMoveStringLiteralDfa1_0(0x2000000L, 0x0L, 0x0L, 0x0L); case 76: - return jjMoveStringLiteralDfa1_0(0x800020000000L, 0x1000018000000L, 0x20000L, 0x0L); + return jjMoveStringLiteralDfa1_0(0x20800020000000L, 0x2000030000000L, 0x40000L, 0x0L); case 77: - return jjMoveStringLiteralDfa1_0(0x6000100000000000L, 0x900020000200006L, 0xa00008L, 0x0L); + return jjMoveStringLiteralDfa1_0(0xc000100000000000L, 0x120004000040000cL, 0x1400010L, 0x0L); case 78: - return jjMoveStringLiteralDfa1_0(0x40002000000000L, 0x8000000000000000L, 0x0L, 0x0L); + return jjMoveStringLiteralDfa1_0(0x80002000000000L, 0x0L, 0x1L, 0x0L); case 79: return jjMoveStringLiteralDfa1_0(0x100400c0000000L, 0x0L, 0x0L, 0x0L); case 80: return jjMoveStringLiteralDfa1_0(0x8000000200000L, 0x0L, 0x0L, 0x0L); case 82: - return jjMoveStringLiteralDfa1_0(0x1000000L, 0x411400000000L, 0x0L, 0x0L); + return jjMoveStringLiteralDfa1_0(0x1000000L, 0x822800000000L, 0x0L, 0x0L); case 83: - return jjMoveStringLiteralDfa1_0(0x8404400000400000L, 0x1078300803c00238L, 0x10001f2L, 0x0L); + return jjMoveStringLiteralDfa1_0(0x804400000400000L, 0x20f0601007800471L, 0x20003e4L, 0x0L); case 84: - return jjMoveStringLiteralDfa1_0(0x1000000000000L, 0x6000000000000000L, 0x8000200L, 0x0L); + return jjMoveStringLiteralDfa1_0(0x1000000000000L, 0xc000000000000000L, 0x10000400L, 0x0L); case 85: - return jjMoveStringLiteralDfa1_0(0x80400000000L, 0x800000040000L, 0x80000001L, 0x0L); + return jjMoveStringLiteralDfa1_0(0x80400000000L, 0x1000000080000L, 0x100000002L, 0x0L); case 86: - return jjMoveStringLiteralDfa1_0(0x200000000L, 0x1c0L, 0x4L, 0x0L); + return jjMoveStringLiteralDfa1_0(0x200000000L, 0x380L, 0x8L, 0x0L); case 87: - return jjMoveStringLiteralDfa1_0(0x8000000000L, 0x0L, 0x40000000L, 0x0L); + return jjMoveStringLiteralDfa1_0(0x8000000000L, 0x0L, 0x80000000L, 0x0L); case 89: - return jjMoveStringLiteralDfa1_0(0x0L, 0x80000000000000L, 0x0L, 0x0L); + return jjMoveStringLiteralDfa1_0(0x0L, 0x100000000000000L, 0x0L, 0x0L); case 91: - jjmatchedKind = 186; + jjmatchedKind = 187; return jjMoveNfa_0(0, 0); case 93: - jjmatchedKind = 187; + jjmatchedKind = 188; return jjMoveNfa_0(0, 0); case 94: - jjmatchedKind = 215; - return jjMoveStringLiteralDfa1_0(0x0L, 0x0L, 0x0L, 0x80000L); + jjmatchedKind = 216; + return jjMoveStringLiteralDfa1_0(0x0L, 0x0L, 0x0L, 0x100000L); case 97: jjmatchedKind = 19; - return jjMoveStringLiteralDfa1_0(0x880010810000000L, 0x2000000001L, 0x20100000L, 0x0L); + return jjMoveStringLiteralDfa1_0(0x1100010810000000L, 0x4000000002L, 0x40200000L, 0x0L); case 98: - return jjMoveStringLiteralDfa1_0(0x200100100000L, 0x11000L, 0x0L, 0x0L); + return jjMoveStringLiteralDfa1_0(0x200100100000L, 0x22000L, 0x0L, 0x0L); case 99: - return jjMoveStringLiteralDfa1_0(0x1000000008000000L, 0x4084000182000L, 0x4c0000L, 0x0L); + return jjMoveStringLiteralDfa1_0(0x2000000008000000L, 0x8108000304000L, 0x980000L, 0x0L); case 100: - return jjMoveStringLiteralDfa1_0(0x1004800000L, 0x200000004000000L, 0x12002800L, 0x0L); + return jjMoveStringLiteralDfa1_0(0x1004800000L, 0x400000008000000L, 0x24005000L, 0x0L); case 101: - return jjMoveStringLiteralDfa1_0(0x20000000000000L, 0x2000000000000L, 0x0L, 0x0L); + return jjMoveStringLiteralDfa1_0(0x40000000000000L, 0x4000000000000L, 0x0L, 0x0L); case 102: - return jjMoveStringLiteralDfa1_0(0x4000000000L, 0x8000000800L, 0x400L, 0x0L); + return jjMoveStringLiteralDfa1_0(0x4000000000L, 0x10000001000L, 0x800L, 0x0L); case 103: - return jjMoveStringLiteralDfa1_0(0x100020000000000L, 0x400L, 0x0L, 0x0L); + return jjMoveStringLiteralDfa1_0(0x200020000000000L, 0x800L, 0x0L, 0x0L); case 104: - return jjMoveStringLiteralDfa1_0(0x200000000000000L, 0x400000000000000L, 0x0L, 0x0L); + return jjMoveStringLiteralDfa1_0(0x400000000000000L, 0x800000000000000L, 0x0L, 0x0L); case 105: - return jjMoveStringLiteralDfa1_0(0x2000000000000L, 0x403e002c000L, 0x4001000L, 0x0L); + return jjMoveStringLiteralDfa1_0(0x2000000000000L, 0x807c0058000L, 0x8002000L, 0x0L); case 106: return jjMoveStringLiteralDfa1_0(0x2000000L, 0x0L, 0x0L, 0x0L); case 108: - return jjMoveStringLiteralDfa1_0(0x800020000000L, 0x1000018000000L, 0x20000L, 0x0L); + return jjMoveStringLiteralDfa1_0(0x20800020000000L, 0x2000030000000L, 0x40000L, 0x0L); case 109: - return jjMoveStringLiteralDfa1_0(0x6000100000000000L, 0x900020000200006L, 0xa00008L, 0x0L); + return jjMoveStringLiteralDfa1_0(0xc000100000000000L, 0x120004000040000cL, 0x1400010L, 0x0L); case 110: - return jjMoveStringLiteralDfa1_0(0x40002000000000L, 0x8000000000000000L, 0x0L, 0x0L); + return jjMoveStringLiteralDfa1_0(0x80002000000000L, 0x0L, 0x1L, 0x0L); case 111: return jjMoveStringLiteralDfa1_0(0x100400c0000000L, 0x0L, 0x0L, 0x0L); case 112: return jjMoveStringLiteralDfa1_0(0x8000000200000L, 0x0L, 0x0L, 0x0L); case 114: - return jjMoveStringLiteralDfa1_0(0x1000000L, 0x411400000000L, 0x0L, 0x0L); + return jjMoveStringLiteralDfa1_0(0x1000000L, 0x822800000000L, 0x0L, 0x0L); case 115: - return jjMoveStringLiteralDfa1_0(0x8404400000400000L, 0x1078300803c00238L, 0x10001f2L, 0x0L); + return jjMoveStringLiteralDfa1_0(0x804400000400000L, 0x20f0601007800471L, 0x20003e4L, 0x0L); case 116: - return jjMoveStringLiteralDfa1_0(0x1000000000000L, 0x6000000000000000L, 0x8000200L, 0x0L); + return jjMoveStringLiteralDfa1_0(0x1000000000000L, 0xc000000000000000L, 0x10000400L, 0x0L); case 117: - return jjMoveStringLiteralDfa1_0(0x80400000000L, 0x800000040000L, 0x80000001L, 0x0L); + return jjMoveStringLiteralDfa1_0(0x80400000000L, 0x1000000080000L, 0x100000002L, 0x0L); case 118: - return jjMoveStringLiteralDfa1_0(0x200000000L, 0x1c0L, 0x4L, 0x0L); + return jjMoveStringLiteralDfa1_0(0x200000000L, 0x380L, 0x8L, 0x0L); case 119: - return jjMoveStringLiteralDfa1_0(0x8000000000L, 0x0L, 0x40000000L, 0x0L); + return jjMoveStringLiteralDfa1_0(0x8000000000L, 0x0L, 0x80000000L, 0x0L); case 121: - return jjMoveStringLiteralDfa1_0(0x0L, 0x80000000000000L, 0x0L, 0x0L); + return jjMoveStringLiteralDfa1_0(0x0L, 0x100000000000000L, 0x0L, 0x0L); case 123: - jjmatchedKind = 184; - return jjMoveStringLiteralDfa1_0(0x0L, 0x0L, 0x0L, 0x100L); + jjmatchedKind = 185; + return jjMoveStringLiteralDfa1_0(0x0L, 0x0L, 0x0L, 0x200L); case 124: - jjmatchedKind = 214; - return jjMoveStringLiteralDfa1_0(0x0L, 0x0L, 0x0L, 0x2200L); + jjmatchedKind = 215; + return jjMoveStringLiteralDfa1_0(0x0L, 0x0L, 0x0L, 0x4400L); case 125: - jjmatchedKind = 185; + jjmatchedKind = 186; return jjMoveNfa_0(0, 0); case 126: - jjmatchedKind = 203; + jjmatchedKind = 204; return jjMoveNfa_0(0, 0); case 65279: jjmatchedKind = 9; @@ -220,118 +222,118 @@ private int jjMoveStringLiteralDfa1_0(long active0, long active1, long active2, switch(curChar) { case 38: - if ((active3 & 0x4000L) != 0L) + if ((active3 & 0x8000L) != 0L) { - jjmatchedKind = 206; + jjmatchedKind = 207; jjmatchedPos = 1; } break; case 45: - if ((active3 & 0x2000000L) != 0L) + if ((active3 & 0x4000000L) != 0L) { - jjmatchedKind = 217; + jjmatchedKind = 218; jjmatchedPos = 1; } break; case 60: - if ((active3 & 0x80L) != 0L) + if ((active3 & 0x100L) != 0L) { - jjmatchedKind = 199; + jjmatchedKind = 200; jjmatchedPos = 1; } break; case 61: - if ((active3 & 0x2L) != 0L) + if ((active3 & 0x4L) != 0L) { - jjmatchedKind = 193; + jjmatchedKind = 194; jjmatchedPos = 1; } - else if ((active3 & 0x10L) != 0L) + else if ((active3 & 0x20L) != 0L) { - jjmatchedKind = 196; + jjmatchedKind = 197; jjmatchedPos = 1; } - else if ((active3 & 0x20L) != 0L) + else if ((active3 & 0x40L) != 0L) { - jjmatchedKind = 197; + jjmatchedKind = 198; jjmatchedPos = 1; } - else if ((active3 & 0x200000L) != 0L) + else if ((active3 & 0x400000L) != 0L) { - jjmatchedKind = 213; + jjmatchedKind = 214; jjmatchedPos = 1; } break; case 62: - if ((active3 & 0x40L) != 0L) + if ((active3 & 0x80L) != 0L) { - jjmatchedKind = 198; + jjmatchedKind = 199; jjmatchedPos = 1; } - else if ((active3 & 0x1000000L) != 0L) + else if ((active3 & 0x2000000L) != 0L) { - jjmatchedKind = 216; + jjmatchedKind = 217; jjmatchedPos = 1; } break; case 65: - return jjMoveStringLiteralDfa2_0(active0, 0x4200002200100000L, active1, 0x20000181c1803c0L, active2, 0xc00L, active3, 0L); + return jjMoveStringLiteralDfa2_0(active0, 0x8420002200100000L, active1, 0x400003038300780L, active2, 0x1800L, active3, 0L); case 66: - return jjMoveStringLiteralDfa2_0(active0, 0x10000000000000L, active1, 0x2000000000L, active2, 0L, active3, 0L); + return jjMoveStringLiteralDfa2_0(active0, 0x10000000000000L, active1, 0x4000000000L, active2, 0L, active3, 0L); case 67: - return jjMoveStringLiteralDfa2_0(active0, 0L, active1, 0x1800000000000L, active2, 0L, active3, 0L); + return jjMoveStringLiteralDfa2_0(active0, 0L, active1, 0x3000000000000L, active2, 0L, active3, 0L); case 68: - return jjMoveStringLiteralDfa2_0(active0, 0L, active1, 0x40000000000L, active2, 0x100008L, active3, 0L); + return jjMoveStringLiteralDfa2_0(active0, 0L, active1, 0x80000000000L, active2, 0x200010L, active3, 0L); case 69: - return jjMoveStringLiteralDfa2_0(active0, 0x400c01005400000L, active1, 0x1080404400000002L, active2, 0x10802004L, active3, 0L); + return jjMoveStringLiteralDfa2_0(active0, 0x800c01005400000L, active1, 0x2100808800000004L, active2, 0x21004008L, active3, 0L); case 70: - if ((active1 & 0x8000L) != 0L) + if ((active1 & 0x10000L) != 0L) { - jjmatchedKind = 79; + jjmatchedKind = 80; jjmatchedPos = 1; } return jjMoveStringLiteralDfa2_0(active0, 0x40000000L, active1, 0L, active2, 0L, active3, 0L); case 71: - return jjMoveStringLiteralDfa2_0(active0, 0x800000000000000L, active1, 0L, active2, 0L, active3, 0L); + return jjMoveStringLiteralDfa2_0(active0, 0x1000000000000000L, active1, 0L, active2, 0L, active3, 0L); case 72: - return jjMoveStringLiteralDfa2_0(active0, 0x8000000000L, active1, 0x400000L, active2, 0x1f0L, active3, 0L); + return jjMoveStringLiteralDfa2_0(active0, 0x8000000000L, active1, 0x800000L, active2, 0x3e0L, active3, 0L); case 73: - return jjMoveStringLiteralDfa2_0(active0, 0x2000300020800000L, active1, 0x2800000000000800L, active2, 0x41000000L, active3, 0L); + return jjMoveStringLiteralDfa2_0(active0, 0x4000300020800000L, active1, 0x5000000000001000L, active2, 0x82000000L, active3, 0L); case 76: - return jjMoveStringLiteralDfa2_0(active0, 0L, active1, 0x8000000000L, active2, 0x20040000L, active3, 0L); + return jjMoveStringLiteralDfa2_0(active0, 0L, active1, 0x10000000000L, active2, 0x40080000L, active3, 0L); case 78: - if ((active1 & 0x4000L) != 0L) + if ((active1 & 0x8000L) != 0L) { - jjmatchedKind = 78; + jjmatchedKind = 79; jjmatchedPos = 1; } - return jjMoveStringLiteralDfa2_0(active0, 0x90400000000L, active1, 0x2000000010000L, active2, 0x4001000L, active3, 0L); + return jjMoveStringLiteralDfa2_0(active0, 0x90400000000L, active1, 0x4000000020000L, active2, 0x8002000L, active3, 0L); case 79: - if ((active2 & 0x8000000L) != 0L) + if ((active2 & 0x10000000L) != 0L) { - jjmatchedKind = 155; + jjmatchedKind = 156; jjmatchedPos = 1; } - return jjMoveStringLiteralDfa2_0(active0, 0x1040000008000000L, active1, 0x85040b0000003004L, active2, 0x620000L, active3, 0L); + return jjMoveStringLiteralDfa2_0(active0, 0x2080000008000000L, active1, 0xa08160000006008L, active2, 0xc40001L, active3, 0L); case 80: return jjMoveStringLiteralDfa2_0(active0, 0x40000000000L, active1, 0L, active2, 0L, active3, 0L); case 82: - return jjMoveStringLiteralDfa2_0(active0, 0x109024080200000L, active1, 0x60400L, active2, 0x2080200L, active3, 0L); + return jjMoveStringLiteralDfa2_0(active0, 0x209024080200000L, active1, 0xc0800L, active2, 0x4100400L, active3, 0L); case 83: - if ((active0 & 0x80000000000000L) != 0L) + if ((active0 & 0x100000000000000L) != 0L) { - jjmatchedKind = 55; + jjmatchedKind = 56; jjmatchedPos = 1; } - return jjMoveStringLiteralDfa2_0(active0, 0x2000812000000L, active1, 0x3e0000000L, active2, 0x80000000L, active3, 0L); + return jjMoveStringLiteralDfa2_0(active0, 0x2000812000000L, active1, 0x7c0000000L, active2, 0x100000000L, active3, 0L); case 84: - return jjMoveStringLiteralDfa2_0(active0, 0L, active1, 0x78200003800038L, active2, 0x2L, active3, 0L); + return jjMoveStringLiteralDfa2_0(active0, 0L, active1, 0xf0400007000070L, active2, 0x4L, active3, 0L); case 85: - return jjMoveStringLiteralDfa2_0(active0, 0x8004000000000000L, active1, 0x100000200000L, active2, 0x1L, active3, 0L); + return jjMoveStringLiteralDfa2_0(active0, 0x4000000000000L, active1, 0x200000400001L, active2, 0x2L, active3, 0L); case 86: - return jjMoveStringLiteralDfa2_0(active0, 0L, active1, 0x1L, active2, 0L, active3, 0L); + return jjMoveStringLiteralDfa2_0(active0, 0L, active1, 0x2L, active2, 0L, active3, 0L); case 88: - return jjMoveStringLiteralDfa2_0(active0, 0x20000000000000L, active1, 0L, active2, 0L, active3, 0L); + return jjMoveStringLiteralDfa2_0(active0, 0x40000000000000L, active1, 0L, active2, 0L, active3, 0L); case 89: if ((active0 & 0x100000000L) != 0L) { @@ -340,77 +342,77 @@ else if ((active3 & 0x1000000L) != 0L) } break; case 90: - if ((active1 & 0x4000000000000000L) != 0L) + if ((active1 & 0x8000000000000000L) != 0L) { - jjmatchedKind = 126; + jjmatchedKind = 127; jjmatchedPos = 1; } break; case 94: - if ((active3 & 0x80000L) != 0L) + if ((active3 & 0x100000L) != 0L) { - jjmatchedKind = 211; + jjmatchedKind = 212; jjmatchedPos = 1; } break; case 97: - return jjMoveStringLiteralDfa2_0(active0, 0x4200002200100000L, active1, 0x20000181c1803c0L, active2, 0xc00L, active3, 0L); + return jjMoveStringLiteralDfa2_0(active0, 0x8420002200100000L, active1, 0x400003038300780L, active2, 0x1800L, active3, 0L); case 98: - return jjMoveStringLiteralDfa2_0(active0, 0x10000000000000L, active1, 0x2000000000L, active2, 0L, active3, 0L); + return jjMoveStringLiteralDfa2_0(active0, 0x10000000000000L, active1, 0x4000000000L, active2, 0L, active3, 0L); case 99: - return jjMoveStringLiteralDfa2_0(active0, 0L, active1, 0x1800000000000L, active2, 0L, active3, 0L); + return jjMoveStringLiteralDfa2_0(active0, 0L, active1, 0x3000000000000L, active2, 0L, active3, 0L); case 100: - return jjMoveStringLiteralDfa2_0(active0, 0L, active1, 0x40000000000L, active2, 0x100008L, active3, 0L); + return jjMoveStringLiteralDfa2_0(active0, 0L, active1, 0x80000000000L, active2, 0x200010L, active3, 0L); case 101: - return jjMoveStringLiteralDfa2_0(active0, 0x400c01005400000L, active1, 0x1080404400000002L, active2, 0x10802004L, active3, 0L); + return jjMoveStringLiteralDfa2_0(active0, 0x800c01005400000L, active1, 0x2100808800000004L, active2, 0x21004008L, active3, 0L); case 102: - if ((active1 & 0x8000L) != 0L) + if ((active1 & 0x10000L) != 0L) { - jjmatchedKind = 79; + jjmatchedKind = 80; jjmatchedPos = 1; } return jjMoveStringLiteralDfa2_0(active0, 0x40000000L, active1, 0L, active2, 0L, active3, 0L); case 103: - return jjMoveStringLiteralDfa2_0(active0, 0x800000000000000L, active1, 0L, active2, 0L, active3, 0L); + return jjMoveStringLiteralDfa2_0(active0, 0x1000000000000000L, active1, 0L, active2, 0L, active3, 0L); case 104: - return jjMoveStringLiteralDfa2_0(active0, 0x8000000000L, active1, 0x400000L, active2, 0x1f0L, active3, 0L); + return jjMoveStringLiteralDfa2_0(active0, 0x8000000000L, active1, 0x800000L, active2, 0x3e0L, active3, 0L); case 105: - return jjMoveStringLiteralDfa2_0(active0, 0x2000300020800000L, active1, 0x2800000000000800L, active2, 0x41000000L, active3, 0L); + return jjMoveStringLiteralDfa2_0(active0, 0x4000300020800000L, active1, 0x5000000000001000L, active2, 0x82000000L, active3, 0L); case 108: - return jjMoveStringLiteralDfa2_0(active0, 0L, active1, 0x8000000000L, active2, 0x20040000L, active3, 0L); + return jjMoveStringLiteralDfa2_0(active0, 0L, active1, 0x10000000000L, active2, 0x40080000L, active3, 0L); case 110: - if ((active1 & 0x4000L) != 0L) + if ((active1 & 0x8000L) != 0L) { - jjmatchedKind = 78; + jjmatchedKind = 79; jjmatchedPos = 1; } - return jjMoveStringLiteralDfa2_0(active0, 0x90400000000L, active1, 0x2000000010000L, active2, 0x4001000L, active3, 0L); + return jjMoveStringLiteralDfa2_0(active0, 0x90400000000L, active1, 0x4000000020000L, active2, 0x8002000L, active3, 0L); case 111: - if ((active2 & 0x8000000L) != 0L) + if ((active2 & 0x10000000L) != 0L) { - jjmatchedKind = 155; + jjmatchedKind = 156; jjmatchedPos = 1; } - return jjMoveStringLiteralDfa2_0(active0, 0x1040000008000000L, active1, 0x85040b0000003004L, active2, 0x620000L, active3, 0L); + return jjMoveStringLiteralDfa2_0(active0, 0x2080000008000000L, active1, 0xa08160000006008L, active2, 0xc40001L, active3, 0L); case 112: return jjMoveStringLiteralDfa2_0(active0, 0x40000000000L, active1, 0L, active2, 0L, active3, 0L); case 114: - return jjMoveStringLiteralDfa2_0(active0, 0x109024080200000L, active1, 0x60400L, active2, 0x2080200L, active3, 0L); + return jjMoveStringLiteralDfa2_0(active0, 0x209024080200000L, active1, 0xc0800L, active2, 0x4100400L, active3, 0L); case 115: - if ((active0 & 0x80000000000000L) != 0L) + if ((active0 & 0x100000000000000L) != 0L) { - jjmatchedKind = 55; + jjmatchedKind = 56; jjmatchedPos = 1; } - return jjMoveStringLiteralDfa2_0(active0, 0x2000812000000L, active1, 0x3e0000000L, active2, 0x80000000L, active3, 0L); + return jjMoveStringLiteralDfa2_0(active0, 0x2000812000000L, active1, 0x7c0000000L, active2, 0x100000000L, active3, 0L); case 116: - return jjMoveStringLiteralDfa2_0(active0, 0L, active1, 0x78200003800038L, active2, 0x2L, active3, 0L); + return jjMoveStringLiteralDfa2_0(active0, 0L, active1, 0xf0400007000070L, active2, 0x4L, active3, 0L); case 117: - return jjMoveStringLiteralDfa2_0(active0, 0x8004000000000000L, active1, 0x100000200000L, active2, 0x1L, active3, 0L); + return jjMoveStringLiteralDfa2_0(active0, 0x4000000000000L, active1, 0x200000400001L, active2, 0x2L, active3, 0L); case 118: - return jjMoveStringLiteralDfa2_0(active0, 0L, active1, 0x1L, active2, 0L, active3, 0L); + return jjMoveStringLiteralDfa2_0(active0, 0L, active1, 0x2L, active2, 0L, active3, 0L); case 120: - return jjMoveStringLiteralDfa2_0(active0, 0x20000000000000L, active1, 0L, active2, 0L, active3, 0L); + return jjMoveStringLiteralDfa2_0(active0, 0x40000000000000L, active1, 0L, active2, 0L, active3, 0L); case 121: if ((active0 & 0x100000000L) != 0L) { @@ -419,28 +421,28 @@ else if ((active3 & 0x1000000L) != 0L) } break; case 122: - if ((active1 & 0x4000000000000000L) != 0L) + if ((active1 & 0x8000000000000000L) != 0L) { - jjmatchedKind = 126; + jjmatchedKind = 127; jjmatchedPos = 1; } break; case 124: - if ((active3 & 0x100L) != 0L) + if ((active3 & 0x200L) != 0L) { - jjmatchedKind = 200; + jjmatchedKind = 201; jjmatchedPos = 1; } - else if ((active3 & 0x2000L) != 0L) + else if ((active3 & 0x4000L) != 0L) { - jjmatchedKind = 205; + jjmatchedKind = 206; jjmatchedPos = 1; } break; case 125: - if ((active3 & 0x200L) != 0L) + if ((active3 & 0x400L) != 0L) { - jjmatchedKind = 201; + jjmatchedKind = 202; jjmatchedPos = 1; } break; @@ -459,68 +461,68 @@ private int jjMoveStringLiteralDfa2_0(long old0, long active0, long old1, long a switch(curChar) { case 53: - if ((active2 & 0x8L) != 0L) + if ((active2 & 0x10L) != 0L) { - jjmatchedKind = 131; + jjmatchedKind = 132; jjmatchedPos = 2; } break; case 65: - return jjMoveStringLiteralDfa3_0(active0, 0x20000000000L, active1, 0x81800000002000L, active2, 0x201f0L); + return jjMoveStringLiteralDfa3_0(active0, 0x20000000000L, active1, 0x103000000004000L, active2, 0x403e0L); case 66: - return jjMoveStringLiteralDfa3_0(active0, 0x4000000000000L, active1, 0x100080000000L, active2, 0L); + return jjMoveStringLiteralDfa3_0(active0, 0x4000000000000L, active1, 0x200100000000L, active2, 0L); case 67: if ((active0 & 0x800000000L) != 0L) { jjmatchedKind = 35; jjmatchedPos = 2; } - return jjMoveStringLiteralDfa3_0(active0, 0L, active1, 0x1002000000000000L, active2, 0L); + return jjMoveStringLiteralDfa3_0(active0, 0L, active1, 0x2004000000000000L, active2, 0L); case 68: if ((active0 & 0x10000000000L) != 0L) { jjmatchedKind = 40; jjmatchedPos = 2; } - else if ((active1 & 0x20000000000L) != 0L) + else if ((active1 & 0x40000000000L) != 0L) { - jjmatchedKind = 105; + jjmatchedKind = 106; jjmatchedPos = 2; } - else if ((active2 & 0x100000L) != 0L) + else if ((active2 & 0x200000L) != 0L) { - jjmatchedKind = 148; + jjmatchedKind = 149; jjmatchedPos = 2; } - return jjMoveStringLiteralDfa3_0(active0, 0x481000000L, active1, 0x3eL, active2, 0L); + return jjMoveStringLiteralDfa3_0(active0, 0x481000000L, active1, 0x7cL, active2, 0L); case 69: - return jjMoveStringLiteralDfa3_0(active0, 0x8008000200000L, active1, 0L, active2, 0xc0000L); + return jjMoveStringLiteralDfa3_0(active0, 0x8008000200000L, active1, 0L, active2, 0x180000L); case 70: - return jjMoveStringLiteralDfa3_0(active0, 0x40000000L, active1, 0L, active2, 0x10000000L); + return jjMoveStringLiteralDfa3_0(active0, 0x40000000L, active1, 0L, active2, 0x20000000L); case 71: - if ((active0 & 0x800000000000000L) != 0L) + if ((active0 & 0x1000000000000000L) != 0L) { - jjmatchedKind = 59; + jjmatchedKind = 60; jjmatchedPos = 2; } - else if ((active1 & 0x1L) != 0L) + else if ((active1 & 0x2L) != 0L) { - jjmatchedKind = 64; + jjmatchedKind = 65; jjmatchedPos = 2; } - return jjMoveStringLiteralDfa3_0(active0, 0L, active1, 0x400000000L, active2, 0L); + return jjMoveStringLiteralDfa3_0(active0, 0L, active1, 0x800000000L, active2, 0L); case 73: - if ((active1 & 0x20000L) != 0L) + if ((active1 & 0x40000L) != 0L) { - jjmatchedKind = 81; + jjmatchedKind = 82; jjmatchedPos = 2; } - else if ((active1 & 0x40000L) != 0L) + else if ((active1 & 0x80000L) != 0L) { - jjmatchedKind = 82; + jjmatchedKind = 83; jjmatchedPos = 2; } - return jjMoveStringLiteralDfa3_0(active0, 0x21080000000000L, active1, 0x44040000000L, active2, 0x80000001L); + return jjMoveStringLiteralDfa3_0(active0, 0x41080000000000L, active1, 0x88080000000L, active2, 0x100000002L); case 74: return jjMoveStringLiteralDfa3_0(active0, 0x10000000000000L, active1, 0L, active2, 0L); case 75: @@ -531,137 +533,137 @@ else if ((active1 & 0x40000L) != 0L) } break; case 76: - if ((active2 & 0x20000000L) != 0L) + if ((active2 & 0x40000000L) != 0L) { - jjmatchedKind = 157; + jjmatchedKind = 158; jjmatchedPos = 2; } - return jjMoveStringLiteralDfa3_0(active0, 0x200400000L, active1, 0x100300800L, active2, 0x1002400L); + return jjMoveStringLiteralDfa3_0(active0, 0x200400000L, active1, 0x200601000L, active2, 0x2004800L); case 77: - if ((active0 & 0x8000000000000000L) != 0L) + if ((active1 & 0x1L) != 0L) { - jjmatchedKind = 63; + jjmatchedKind = 64; jjmatchedPos = 2; } - return jjMoveStringLiteralDfa3_0(active0, 0x2020000000L, active1, 0x2000000800000200L, active2, 0L); + return jjMoveStringLiteralDfa3_0(active0, 0x2020000000L, active1, 0x4000001000000400L, active2, 0L); case 78: - if ((active0 & 0x2000000000000000L) != 0L) + if ((active0 & 0x4000000000000000L) != 0L) { - jjmatchedKind = 61; + jjmatchedKind = 62; jjmatchedPos = 2; } - return jjMoveStringLiteralDfa3_0(active0, 0x300008000000L, active1, 0x904081218000000L, active2, 0L); + return jjMoveStringLiteralDfa3_0(active0, 0x300008000000L, active1, 0x1208102430000000L, active2, 0L); case 79: - return jjMoveStringLiteralDfa3_0(active0, 0x100004002000000L, active1, 0x8000410400L, active2, 0x2000000L); + return jjMoveStringLiteralDfa3_0(active0, 0x200004002000000L, active1, 0x10000820800L, active2, 0x4000000L); case 80: - return jjMoveStringLiteralDfa3_0(active0, 0x400000000000000L, active1, 0x400000000000L, active2, 0x400000L); + return jjMoveStringLiteralDfa3_0(active0, 0x800000000000000L, active1, 0x800000000000L, active2, 0x800000L); case 82: - if ((active1 & 0x800000L) != 0L) + if ((active1 & 0x1000000L) != 0L) { - jjmatchedKind = 87; + jjmatchedKind = 88; jjmatchedPos = 2; } - return jjMoveStringLiteralDfa3_0(active0, 0x400000000000L, active1, 0x782000030001c0L, active2, 0x6L); + return jjMoveStringLiteralDfa3_0(active0, 0x400000000000L, active1, 0xf0400006000380L, active2, 0xcL); case 83: - if ((active1 & 0x2000000000L) != 0L) + if ((active1 & 0x4000000000L) != 0L) { - jjmatchedKind = 101; + jjmatchedKind = 102; jjmatchedPos = 2; } - return jjMoveStringLiteralDfa3_0(active0, 0x1004900000L, active1, 0x80000L, active2, 0x1000L); + return jjMoveStringLiteralDfa3_0(active0, 0x1004900000L, active1, 0x100000L, active2, 0x2000L); case 84: if ((active0 & 0x800000000000L) != 0L) { jjmatchedKind = 47; jjmatchedPos = 2; } - else if ((active0 & 0x40000000000000L) != 0L) + else if ((active0 & 0x80000000000000L) != 0L) { - jjmatchedKind = 54; + jjmatchedKind = 55; jjmatchedPos = 2; } - return jjMoveStringLiteralDfa3_0(active0, 0x2040000000000L, active1, 0x4000000L, active2, 0x44800800L); + return jjMoveStringLiteralDfa3_0(active0, 0x22040000000000L, active1, 0x8000000L, active2, 0x89001000L); case 85: - return jjMoveStringLiteralDfa3_0(active0, 0x1000000000000000L, active1, 0x400010020001000L, active2, 0x200L); + return jjMoveStringLiteralDfa3_0(active0, 0x2000000000000000L, active1, 0x800020040002000L, active2, 0x400L); case 86: - return jjMoveStringLiteralDfa3_0(active0, 0x200000000000000L, active1, 0L, active2, 0x200000L); + return jjMoveStringLiteralDfa3_0(active0, 0x400000000000000L, active1, 0L, active2, 0x400000L); case 87: - if ((active1 & 0x8000000000000000L) != 0L) + if ((active2 & 0x1L) != 0L) { - jjmatchedKind = 127; + jjmatchedKind = 128; jjmatchedPos = 2; } break; case 88: - if ((active0 & 0x4000000000000000L) != 0L) + if ((active0 & 0x8000000000000000L) != 0L) { - jjmatchedKind = 62; + jjmatchedKind = 63; jjmatchedPos = 2; } break; case 89: - if ((active1 & 0x200000000000000L) != 0L) + if ((active1 & 0x400000000000000L) != 0L) { - jjmatchedKind = 121; + jjmatchedKind = 122; jjmatchedPos = 2; } break; case 97: - return jjMoveStringLiteralDfa3_0(active0, 0x20000000000L, active1, 0x81800000002000L, active2, 0x201f0L); + return jjMoveStringLiteralDfa3_0(active0, 0x20000000000L, active1, 0x103000000004000L, active2, 0x403e0L); case 98: - return jjMoveStringLiteralDfa3_0(active0, 0x4000000000000L, active1, 0x100080000000L, active2, 0L); + return jjMoveStringLiteralDfa3_0(active0, 0x4000000000000L, active1, 0x200100000000L, active2, 0L); case 99: if ((active0 & 0x800000000L) != 0L) { jjmatchedKind = 35; jjmatchedPos = 2; } - return jjMoveStringLiteralDfa3_0(active0, 0L, active1, 0x1002000000000000L, active2, 0L); + return jjMoveStringLiteralDfa3_0(active0, 0L, active1, 0x2004000000000000L, active2, 0L); case 100: if ((active0 & 0x10000000000L) != 0L) { jjmatchedKind = 40; jjmatchedPos = 2; } - else if ((active1 & 0x20000000000L) != 0L) + else if ((active1 & 0x40000000000L) != 0L) { - jjmatchedKind = 105; + jjmatchedKind = 106; jjmatchedPos = 2; } - else if ((active2 & 0x100000L) != 0L) + else if ((active2 & 0x200000L) != 0L) { - jjmatchedKind = 148; + jjmatchedKind = 149; jjmatchedPos = 2; } - return jjMoveStringLiteralDfa3_0(active0, 0x481000000L, active1, 0x3eL, active2, 0L); + return jjMoveStringLiteralDfa3_0(active0, 0x481000000L, active1, 0x7cL, active2, 0L); case 101: - return jjMoveStringLiteralDfa3_0(active0, 0x8008000200000L, active1, 0L, active2, 0xc0000L); + return jjMoveStringLiteralDfa3_0(active0, 0x8008000200000L, active1, 0L, active2, 0x180000L); case 102: - return jjMoveStringLiteralDfa3_0(active0, 0x40000000L, active1, 0L, active2, 0x10000000L); + return jjMoveStringLiteralDfa3_0(active0, 0x40000000L, active1, 0L, active2, 0x20000000L); case 103: - if ((active0 & 0x800000000000000L) != 0L) + if ((active0 & 0x1000000000000000L) != 0L) { - jjmatchedKind = 59; + jjmatchedKind = 60; jjmatchedPos = 2; } - else if ((active1 & 0x1L) != 0L) + else if ((active1 & 0x2L) != 0L) { - jjmatchedKind = 64; + jjmatchedKind = 65; jjmatchedPos = 2; } - return jjMoveStringLiteralDfa3_0(active0, 0L, active1, 0x400000000L, active2, 0L); + return jjMoveStringLiteralDfa3_0(active0, 0L, active1, 0x800000000L, active2, 0L); case 105: - if ((active1 & 0x20000L) != 0L) + if ((active1 & 0x40000L) != 0L) { - jjmatchedKind = 81; + jjmatchedKind = 82; jjmatchedPos = 2; } - else if ((active1 & 0x40000L) != 0L) + else if ((active1 & 0x80000L) != 0L) { - jjmatchedKind = 82; + jjmatchedKind = 83; jjmatchedPos = 2; } - return jjMoveStringLiteralDfa3_0(active0, 0x21080000000000L, active1, 0x44040000000L, active2, 0x80000001L); + return jjMoveStringLiteralDfa3_0(active0, 0x41080000000000L, active1, 0x88080000000L, active2, 0x100000002L); case 106: return jjMoveStringLiteralDfa3_0(active0, 0x10000000000000L, active1, 0L, active2, 0L); case 107: @@ -672,78 +674,78 @@ else if ((active1 & 0x40000L) != 0L) } break; case 108: - if ((active2 & 0x20000000L) != 0L) + if ((active2 & 0x40000000L) != 0L) { - jjmatchedKind = 157; + jjmatchedKind = 158; jjmatchedPos = 2; } - return jjMoveStringLiteralDfa3_0(active0, 0x200400000L, active1, 0x100300800L, active2, 0x1002400L); + return jjMoveStringLiteralDfa3_0(active0, 0x200400000L, active1, 0x200601000L, active2, 0x2004800L); case 109: - if ((active0 & 0x8000000000000000L) != 0L) + if ((active1 & 0x1L) != 0L) { - jjmatchedKind = 63; + jjmatchedKind = 64; jjmatchedPos = 2; } - return jjMoveStringLiteralDfa3_0(active0, 0x2020000000L, active1, 0x2000000800000200L, active2, 0L); + return jjMoveStringLiteralDfa3_0(active0, 0x2020000000L, active1, 0x4000001000000400L, active2, 0L); case 110: - if ((active0 & 0x2000000000000000L) != 0L) + if ((active0 & 0x4000000000000000L) != 0L) { - jjmatchedKind = 61; + jjmatchedKind = 62; jjmatchedPos = 2; } - return jjMoveStringLiteralDfa3_0(active0, 0x300008000000L, active1, 0x904081218000000L, active2, 0L); + return jjMoveStringLiteralDfa3_0(active0, 0x300008000000L, active1, 0x1208102430000000L, active2, 0L); case 111: - return jjMoveStringLiteralDfa3_0(active0, 0x100004002000000L, active1, 0x8000410400L, active2, 0x2000000L); + return jjMoveStringLiteralDfa3_0(active0, 0x200004002000000L, active1, 0x10000820800L, active2, 0x4000000L); case 112: - return jjMoveStringLiteralDfa3_0(active0, 0x400000000000000L, active1, 0x400000000000L, active2, 0x400000L); + return jjMoveStringLiteralDfa3_0(active0, 0x800000000000000L, active1, 0x800000000000L, active2, 0x800000L); case 114: - if ((active1 & 0x800000L) != 0L) + if ((active1 & 0x1000000L) != 0L) { - jjmatchedKind = 87; + jjmatchedKind = 88; jjmatchedPos = 2; } - return jjMoveStringLiteralDfa3_0(active0, 0x400000000000L, active1, 0x782000030001c0L, active2, 0x6L); + return jjMoveStringLiteralDfa3_0(active0, 0x400000000000L, active1, 0xf0400006000380L, active2, 0xcL); case 115: - if ((active1 & 0x2000000000L) != 0L) + if ((active1 & 0x4000000000L) != 0L) { - jjmatchedKind = 101; + jjmatchedKind = 102; jjmatchedPos = 2; } - return jjMoveStringLiteralDfa3_0(active0, 0x1004900000L, active1, 0x80000L, active2, 0x1000L); + return jjMoveStringLiteralDfa3_0(active0, 0x1004900000L, active1, 0x100000L, active2, 0x2000L); case 116: if ((active0 & 0x800000000000L) != 0L) { jjmatchedKind = 47; jjmatchedPos = 2; } - else if ((active0 & 0x40000000000000L) != 0L) + else if ((active0 & 0x80000000000000L) != 0L) { - jjmatchedKind = 54; + jjmatchedKind = 55; jjmatchedPos = 2; } - return jjMoveStringLiteralDfa3_0(active0, 0x2040000000000L, active1, 0x4000000L, active2, 0x44800800L); + return jjMoveStringLiteralDfa3_0(active0, 0x22040000000000L, active1, 0x8000000L, active2, 0x89001000L); case 117: - return jjMoveStringLiteralDfa3_0(active0, 0x1000000000000000L, active1, 0x400010020001000L, active2, 0x200L); + return jjMoveStringLiteralDfa3_0(active0, 0x2000000000000000L, active1, 0x800020040002000L, active2, 0x400L); case 118: - return jjMoveStringLiteralDfa3_0(active0, 0x200000000000000L, active1, 0L, active2, 0x200000L); + return jjMoveStringLiteralDfa3_0(active0, 0x400000000000000L, active1, 0L, active2, 0x400000L); case 119: - if ((active1 & 0x8000000000000000L) != 0L) + if ((active2 & 0x1L) != 0L) { - jjmatchedKind = 127; + jjmatchedKind = 128; jjmatchedPos = 2; } break; case 120: - if ((active0 & 0x4000000000000000L) != 0L) + if ((active0 & 0x8000000000000000L) != 0L) { - jjmatchedKind = 62; + jjmatchedKind = 63; jjmatchedPos = 2; } break; case 121: - if ((active1 & 0x200000000000000L) != 0L) + if ((active1 & 0x400000000000000L) != 0L) { - jjmatchedKind = 121; + jjmatchedKind = 122; jjmatchedPos = 2; } break; @@ -762,115 +764,115 @@ private int jjMoveStringLiteralDfa3_0(long old0, long active0, long old1, long a switch(curChar) { case 49: - if ((active2 & 0x10L) != 0L) + if ((active2 & 0x20L) != 0L) { - jjmatchedKind = 132; + jjmatchedKind = 133; jjmatchedPos = 3; } break; case 50: - return jjMoveStringLiteralDfa4_0(active0, 0L, active1, 0L, active2, 0x60L); + return jjMoveStringLiteralDfa4_0(active0, 0L, active1, 0L, active2, 0xc0L); case 51: - return jjMoveStringLiteralDfa4_0(active0, 0L, active1, 0L, active2, 0x80L); - case 53: return jjMoveStringLiteralDfa4_0(active0, 0L, active1, 0L, active2, 0x100L); + case 53: + return jjMoveStringLiteralDfa4_0(active0, 0L, active1, 0L, active2, 0x200L); case 65: - if ((active2 & 0x800L) != 0L) + if ((active2 & 0x1000L) != 0L) { - jjmatchedKind = 139; + jjmatchedKind = 140; jjmatchedPos = 3; } - else if ((active2 & 0x800000L) != 0L) + else if ((active2 & 0x1000000L) != 0L) { - jjmatchedKind = 151; + jjmatchedKind = 152; jjmatchedPos = 3; } - return jjMoveStringLiteralDfa4_0(active0, 0x400000000000000L, active1, 0x40000004000000L, active2, 0x100c0000L); + return jjMoveStringLiteralDfa4_0(active0, 0x800000000000000L, active1, 0x80000008000000L, active2, 0x20180000L); case 66: - return jjMoveStringLiteralDfa4_0(active0, 0L, active1, 0x20000000000000L, active2, 0L); + return jjMoveStringLiteralDfa4_0(active0, 0L, active1, 0x40000000000000L, active2, 0L); case 67: if ((active0 & 0x1000000000L) != 0L) { jjmatchedKind = 36; jjmatchedPos = 3; } - return jjMoveStringLiteralDfa4_0(active0, 0x4000000L, active1, 0x80000000000L, active2, 0L); + return jjMoveStringLiteralDfa4_0(active0, 0x4000000L, active1, 0x100000000000L, active2, 0L); case 68: if ((active0 & 0x200000000000L) != 0L) { jjmatchedKind = 45; jjmatchedPos = 3; } - else if ((active1 & 0x1000000000L) != 0L) + else if ((active1 & 0x2000000000L) != 0L) { - jjmatchedKind = 100; + jjmatchedKind = 101; jjmatchedPos = 3; } - else if ((active2 & 0x1L) != 0L) + else if ((active2 & 0x2L) != 0L) { - jjmatchedKind = 128; + jjmatchedKind = 129; jjmatchedPos = 3; } - else if ((active2 & 0x20000L) != 0L) + else if ((active2 & 0x40000L) != 0L) { - jjmatchedKind = 145; + jjmatchedKind = 146; jjmatchedPos = 3; } - return jjMoveStringLiteralDfa4_0(active0, 0x8000000000000L, active1, 0x2010000L, active2, 0L); + return jjMoveStringLiteralDfa4_0(active0, 0x8000000000000L, active1, 0x4020000L, active2, 0L); case 69: if ((active0 & 0x100000L) != 0L) { jjmatchedKind = 20; jjmatchedPos = 3; } - else if ((active1 & 0x4L) != 0L) + else if ((active1 & 0x8L) != 0L) { - jjmatchedKind = 66; + jjmatchedKind = 67; jjmatchedPos = 3; } - else if ((active2 & 0x200L) != 0L) + else if ((active2 & 0x400L) != 0L) { - jjmatchedKind = 137; + jjmatchedKind = 138; jjmatchedPos = 3; } - else if ((active2 & 0x200000L) != 0L) + else if ((active2 & 0x400000L) != 0L) { - jjmatchedKind = 149; + jjmatchedKind = 150; jjmatchedPos = 3; } - return jjMoveStringLiteralDfa4_0(active0, 0x10002480400000L, active1, 0x2010000c00000038L, active2, 0x1003000L); + return jjMoveStringLiteralDfa4_0(active0, 0x30002480400000L, active1, 0x4020001800000070L, active2, 0x2006000L); case 70: return jjMoveStringLiteralDfa4_0(active0, 0x200000L, active1, 0L, active2, 0L); case 71: - if ((active1 & 0x8000000L) != 0L) + if ((active1 & 0x10000000L) != 0L) { - jjmatchedKind = 91; + jjmatchedKind = 92; jjmatchedPos = 3; } - return jjMoveStringLiteralDfa4_0(active0, 0L, active1, 0x10000000L, active2, 0L); + return jjMoveStringLiteralDfa4_0(active0, 0L, active1, 0x20000000L, active2, 0L); case 72: - if ((active2 & 0x40000000L) != 0L) + if ((active2 & 0x80000000L) != 0L) { - jjmatchedKind = 158; + jjmatchedKind = 159; jjmatchedPos = 3; } break; case 73: - return jjMoveStringLiteralDfa4_0(active0, 0x200040020000000L, active1, 0x100000042L, active2, 0L); + return jjMoveStringLiteralDfa4_0(active0, 0x400040020000000L, active1, 0x200000084L, active2, 0L); case 74: return jjMoveStringLiteralDfa4_0(active0, 0x4000000000000L, active1, 0L, active2, 0L); case 76: - if ((active1 & 0x100000L) != 0L) + if ((active1 & 0x200000L) != 0L) { - jjmatchedKind = 84; + jjmatchedKind = 85; jjmatchedPos = 3; } - else if ((active1 & 0x4000000000L) != 0L) + else if ((active1 & 0x8000000000L) != 0L) { - jjmatchedKind = 102; + jjmatchedKind = 103; jjmatchedPos = 3; } - return jjMoveStringLiteralDfa4_0(active0, 0L, active1, 0x600081002000L, active2, 0L); + return jjMoveStringLiteralDfa4_0(active0, 0L, active1, 0xc00102004000L, active2, 0L); case 77: if ((active0 & 0x4000000000L) != 0L) { @@ -884,152 +886,152 @@ else if ((active1 & 0x4000000000L) != 0L) jjmatchedKind = 25; jjmatchedPos = 3; } - return jjMoveStringLiteralDfa4_0(active0, 0x1000000000000000L, active1, 0x10000001000L, active2, 0x80000000L); + return jjMoveStringLiteralDfa4_0(active0, 0x2000000000000000L, active1, 0x20000002000L, active2, 0x100000000L); case 79: - if ((active2 & 0x4000000L) != 0L) + if ((active2 & 0x8000000L) != 0L) { - jjmatchedKind = 154; + jjmatchedKind = 155; jjmatchedPos = 3; } - return jjMoveStringLiteralDfa4_0(active0, 0x80000000000L, active1, 0x1002008000000000L, active2, 0L); + return jjMoveStringLiteralDfa4_0(active0, 0x80000000000L, active1, 0x2004010000000000L, active2, 0L); case 80: - if ((active2 & 0x2000000L) != 0L) + if ((active2 & 0x4000000L) != 0L) { - jjmatchedKind = 153; + jjmatchedKind = 154; jjmatchedPos = 3; } - return jjMoveStringLiteralDfa4_0(active0, 0x1020000000000L, active1, 0x200L, active2, 0L); + return jjMoveStringLiteralDfa4_0(active0, 0x1020000000000L, active1, 0x400L, active2, 0L); case 82: - if ((active1 & 0x80000000000000L) != 0L) + if ((active1 & 0x100000000000000L) != 0L) { - jjmatchedKind = 119; + jjmatchedKind = 120; jjmatchedPos = 3; } - return jjMoveStringLiteralDfa4_0(active0, 0x2008000000000L, active1, 0x400000060400000L, active2, 0L); + return jjMoveStringLiteralDfa4_0(active0, 0x2008000000000L, active1, 0x8000000c0800000L, active2, 0L); case 83: - return jjMoveStringLiteralDfa4_0(active0, 0x20000048000000L, active1, 0x9900000000000L, active2, 0x404L); + return jjMoveStringLiteralDfa4_0(active0, 0x40000048000000L, active1, 0x13200000000000L, active2, 0x808L); case 84: - if ((active1 & 0x80000L) != 0L) + if ((active1 & 0x100000L) != 0L) { - jjmatchedKind = 83; + jjmatchedKind = 84; jjmatchedPos = 3; } - return jjMoveStringLiteralDfa4_0(active0, 0x800000L, active1, 0x104000000200800L, active2, 0L); + return jjMoveStringLiteralDfa4_0(active0, 0x800000L, active1, 0x208000000401000L, active2, 0L); case 85: - return jjMoveStringLiteralDfa4_0(active0, 0x100100201000000L, active1, 0x800000200000400L, active2, 0x2L); + return jjMoveStringLiteralDfa4_0(active0, 0x200100201000000L, active1, 0x1000000400000800L, active2, 0x4L); case 86: - if ((active1 & 0x40000000000L) != 0L) + if ((active1 & 0x80000000000L) != 0L) { - jjmatchedKind = 106; + jjmatchedKind = 107; jjmatchedPos = 3; } return jjMoveStringLiteralDfa4_0(active0, 0x400000000000L, active1, 0L, active2, 0L); case 89: - if ((active2 & 0x400000L) != 0L) + if ((active2 & 0x800000L) != 0L) { - jjmatchedKind = 150; + jjmatchedKind = 151; jjmatchedPos = 3; } break; case 95: - return jjMoveStringLiteralDfa4_0(active0, 0L, active1, 0x180L, active2, 0L); + return jjMoveStringLiteralDfa4_0(active0, 0L, active1, 0x300L, active2, 0L); case 97: - if ((active2 & 0x800L) != 0L) + if ((active2 & 0x1000L) != 0L) { - jjmatchedKind = 139; + jjmatchedKind = 140; jjmatchedPos = 3; } - else if ((active2 & 0x800000L) != 0L) + else if ((active2 & 0x1000000L) != 0L) { - jjmatchedKind = 151; + jjmatchedKind = 152; jjmatchedPos = 3; } - return jjMoveStringLiteralDfa4_0(active0, 0x400000000000000L, active1, 0x40000004000000L, active2, 0x100c0000L); + return jjMoveStringLiteralDfa4_0(active0, 0x800000000000000L, active1, 0x80000008000000L, active2, 0x20180000L); case 98: - return jjMoveStringLiteralDfa4_0(active0, 0L, active1, 0x20000000000000L, active2, 0L); + return jjMoveStringLiteralDfa4_0(active0, 0L, active1, 0x40000000000000L, active2, 0L); case 99: if ((active0 & 0x1000000000L) != 0L) { jjmatchedKind = 36; jjmatchedPos = 3; } - return jjMoveStringLiteralDfa4_0(active0, 0x4000000L, active1, 0x80000000000L, active2, 0L); + return jjMoveStringLiteralDfa4_0(active0, 0x4000000L, active1, 0x100000000000L, active2, 0L); case 100: if ((active0 & 0x200000000000L) != 0L) { jjmatchedKind = 45; jjmatchedPos = 3; } - else if ((active1 & 0x1000000000L) != 0L) + else if ((active1 & 0x2000000000L) != 0L) { - jjmatchedKind = 100; + jjmatchedKind = 101; jjmatchedPos = 3; } - else if ((active2 & 0x1L) != 0L) + else if ((active2 & 0x2L) != 0L) { - jjmatchedKind = 128; + jjmatchedKind = 129; jjmatchedPos = 3; } - else if ((active2 & 0x20000L) != 0L) + else if ((active2 & 0x40000L) != 0L) { - jjmatchedKind = 145; + jjmatchedKind = 146; jjmatchedPos = 3; } - return jjMoveStringLiteralDfa4_0(active0, 0x8000000000000L, active1, 0x2010000L, active2, 0L); + return jjMoveStringLiteralDfa4_0(active0, 0x8000000000000L, active1, 0x4020000L, active2, 0L); case 101: if ((active0 & 0x100000L) != 0L) { jjmatchedKind = 20; jjmatchedPos = 3; } - else if ((active1 & 0x4L) != 0L) + else if ((active1 & 0x8L) != 0L) { - jjmatchedKind = 66; + jjmatchedKind = 67; jjmatchedPos = 3; } - else if ((active2 & 0x200L) != 0L) + else if ((active2 & 0x400L) != 0L) { - jjmatchedKind = 137; + jjmatchedKind = 138; jjmatchedPos = 3; } - else if ((active2 & 0x200000L) != 0L) + else if ((active2 & 0x400000L) != 0L) { - jjmatchedKind = 149; + jjmatchedKind = 150; jjmatchedPos = 3; } - return jjMoveStringLiteralDfa4_0(active0, 0x10002480400000L, active1, 0x2010000c00000038L, active2, 0x1003000L); + return jjMoveStringLiteralDfa4_0(active0, 0x30002480400000L, active1, 0x4020001800000070L, active2, 0x2006000L); case 102: return jjMoveStringLiteralDfa4_0(active0, 0x200000L, active1, 0L, active2, 0L); case 103: - if ((active1 & 0x8000000L) != 0L) + if ((active1 & 0x10000000L) != 0L) { - jjmatchedKind = 91; + jjmatchedKind = 92; jjmatchedPos = 3; } - return jjMoveStringLiteralDfa4_0(active0, 0L, active1, 0x10000000L, active2, 0L); + return jjMoveStringLiteralDfa4_0(active0, 0L, active1, 0x20000000L, active2, 0L); case 104: - if ((active2 & 0x40000000L) != 0L) + if ((active2 & 0x80000000L) != 0L) { - jjmatchedKind = 158; + jjmatchedKind = 159; jjmatchedPos = 3; } break; case 105: - return jjMoveStringLiteralDfa4_0(active0, 0x200040020000000L, active1, 0x100000042L, active2, 0L); + return jjMoveStringLiteralDfa4_0(active0, 0x400040020000000L, active1, 0x200000084L, active2, 0L); case 106: return jjMoveStringLiteralDfa4_0(active0, 0x4000000000000L, active1, 0L, active2, 0L); case 108: - if ((active1 & 0x100000L) != 0L) + if ((active1 & 0x200000L) != 0L) { - jjmatchedKind = 84; + jjmatchedKind = 85; jjmatchedPos = 3; } - else if ((active1 & 0x4000000000L) != 0L) + else if ((active1 & 0x8000000000L) != 0L) { - jjmatchedKind = 102; + jjmatchedKind = 103; jjmatchedPos = 3; } - return jjMoveStringLiteralDfa4_0(active0, 0L, active1, 0x600081002000L, active2, 0L); + return jjMoveStringLiteralDfa4_0(active0, 0L, active1, 0xc00102004000L, active2, 0L); case 109: if ((active0 & 0x4000000000L) != 0L) { @@ -1043,50 +1045,50 @@ else if ((active1 & 0x4000000000L) != 0L) jjmatchedKind = 25; jjmatchedPos = 3; } - return jjMoveStringLiteralDfa4_0(active0, 0x1000000000000000L, active1, 0x10000001000L, active2, 0x80000000L); + return jjMoveStringLiteralDfa4_0(active0, 0x2000000000000000L, active1, 0x20000002000L, active2, 0x100000000L); case 111: - if ((active2 & 0x4000000L) != 0L) + if ((active2 & 0x8000000L) != 0L) { - jjmatchedKind = 154; + jjmatchedKind = 155; jjmatchedPos = 3; } - return jjMoveStringLiteralDfa4_0(active0, 0x80000000000L, active1, 0x1002008000000000L, active2, 0L); + return jjMoveStringLiteralDfa4_0(active0, 0x80000000000L, active1, 0x2004010000000000L, active2, 0L); case 112: - if ((active2 & 0x2000000L) != 0L) + if ((active2 & 0x4000000L) != 0L) { - jjmatchedKind = 153; + jjmatchedKind = 154; jjmatchedPos = 3; } - return jjMoveStringLiteralDfa4_0(active0, 0x1020000000000L, active1, 0x200L, active2, 0L); + return jjMoveStringLiteralDfa4_0(active0, 0x1020000000000L, active1, 0x400L, active2, 0L); case 114: - if ((active1 & 0x80000000000000L) != 0L) + if ((active1 & 0x100000000000000L) != 0L) { - jjmatchedKind = 119; + jjmatchedKind = 120; jjmatchedPos = 3; } - return jjMoveStringLiteralDfa4_0(active0, 0x2008000000000L, active1, 0x400000060400000L, active2, 0L); + return jjMoveStringLiteralDfa4_0(active0, 0x2008000000000L, active1, 0x8000000c0800000L, active2, 0L); case 115: - return jjMoveStringLiteralDfa4_0(active0, 0x20000048000000L, active1, 0x9900000000000L, active2, 0x404L); + return jjMoveStringLiteralDfa4_0(active0, 0x40000048000000L, active1, 0x13200000000000L, active2, 0x808L); case 116: - if ((active1 & 0x80000L) != 0L) + if ((active1 & 0x100000L) != 0L) { - jjmatchedKind = 83; + jjmatchedKind = 84; jjmatchedPos = 3; } - return jjMoveStringLiteralDfa4_0(active0, 0x800000L, active1, 0x104000000200800L, active2, 0L); + return jjMoveStringLiteralDfa4_0(active0, 0x800000L, active1, 0x208000000401000L, active2, 0L); case 117: - return jjMoveStringLiteralDfa4_0(active0, 0x100100201000000L, active1, 0x800000200000400L, active2, 0x2L); + return jjMoveStringLiteralDfa4_0(active0, 0x200100201000000L, active1, 0x1000000400000800L, active2, 0x4L); case 118: - if ((active1 & 0x40000000000L) != 0L) + if ((active1 & 0x80000000000L) != 0L) { - jjmatchedKind = 106; + jjmatchedKind = 107; jjmatchedPos = 3; } return jjMoveStringLiteralDfa4_0(active0, 0x400000000000L, active1, 0L, active2, 0L); case 121: - if ((active2 & 0x400000L) != 0L) + if ((active2 & 0x800000L) != 0L) { - jjmatchedKind = 150; + jjmatchedKind = 151; jjmatchedPos = 3; } break; @@ -1105,15 +1107,15 @@ private int jjMoveStringLiteralDfa4_0(long old0, long active0, long old1, long a switch(curChar) { case 49: - return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0L, active2, 0x100L); + return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0L, active2, 0x200L); case 50: - return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0L, active2, 0x20L); - case 53: return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0L, active2, 0x40L); - case 56: + case 53: return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0L, active2, 0x80L); + case 56: + return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0L, active2, 0x100L); case 65: - return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0x4480081000042L, active2, 0L); + return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0x8900102000084L, active2, 0L); case 67: return jjMoveStringLiteralDfa5_0(active0, 0x10000001400000L, active1, 0L, active2, 0L); case 68: @@ -1122,55 +1124,55 @@ private int jjMoveStringLiteralDfa4_0(long old0, long active0, long old1, long a jjmatchedKind = 37; jjmatchedPos = 4; } - else if ((active1 & 0x1000L) != 0L) + else if ((active1 & 0x2000L) != 0L) { - jjmatchedKind = 76; + jjmatchedKind = 77; jjmatchedPos = 4; } - else if ((active1 & 0x10000000000L) != 0L) + else if ((active1 & 0x20000000000L) != 0L) { - jjmatchedKind = 104; + jjmatchedKind = 105; jjmatchedPos = 4; } - return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0x2000000000000L, active2, 0L); + return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0x4000000000000L, active2, 0L); case 69: if ((active0 & 0x8000000000L) != 0L) { jjmatchedKind = 39; jjmatchedPos = 4; } - else if ((active1 & 0x10000L) != 0L) + else if ((active1 & 0x20000L) != 0L) { - jjmatchedKind = 80; + jjmatchedKind = 81; jjmatchedPos = 4; } - else if ((active1 & 0x800000000000L) != 0L) + else if ((active1 & 0x1000000000000L) != 0L) { - jjmatchedKind = 111; + jjmatchedKind = 112; jjmatchedPos = 4; } - else if ((active1 & 0x1000000000000L) != 0L) + else if ((active1 & 0x2000000000000L) != 0L) { - jjmatchedKind = 112; + jjmatchedKind = 113; jjmatchedPos = 4; } - else if ((active2 & 0x400L) != 0L) + else if ((active2 & 0x800L) != 0L) { - jjmatchedKind = 138; + jjmatchedKind = 139; jjmatchedPos = 4; } - return jjMoveStringLiteralDfa5_0(active0, 0x4000240000000L, active1, 0x20200000002800L, active2, 0L); + return jjMoveStringLiteralDfa5_0(active0, 0x4000240000000L, active1, 0x40400000005000L, active2, 0L); case 70: if ((active0 & 0x400000000L) != 0L) { jjmatchedKind = 34; jjmatchedPos = 4; } - return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0x40000000000000L, active2, 0L); + return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0x80000000000000L, active2, 0L); case 71: - if ((active2 & 0x80000000L) != 0L) + if ((active2 & 0x100000000L) != 0L) { - jjmatchedKind = 159; + jjmatchedKind = 160; jjmatchedPos = 4; } break; @@ -1180,115 +1182,115 @@ else if ((active2 & 0x400L) != 0L) jjmatchedKind = 41; jjmatchedPos = 4; } - else if ((active1 & 0x100000000000000L) != 0L) + else if ((active1 & 0x200000000000000L) != 0L) { - jjmatchedKind = 120; + jjmatchedKind = 121; jjmatchedPos = 4; } break; case 73: - if ((active1 & 0x200000L) != 0L) + if ((active1 & 0x400000L) != 0L) { - jjmatchedKind = 85; + jjmatchedKind = 86; jjmatchedPos = 4; } - else if ((active1 & 0x20000000L) != 0L) + else if ((active1 & 0x40000000L) != 0L) { - jjmatchedKind = 93; + jjmatchedKind = 94; jjmatchedPos = 4; } - else if ((active1 & 0x40000000L) != 0L) + else if ((active1 & 0x80000000L) != 0L) { - jjmatchedKind = 94; + jjmatchedKind = 95; jjmatchedPos = 4; } - return jjMoveStringLiteralDfa5_0(active0, 0xa400000a00000L, active1, 0L, active2, 0x4L); + return jjMoveStringLiteralDfa5_0(active0, 0xa400000a00000L, active1, 0L, active2, 0x8L); case 76: - return jjMoveStringLiteralDfa5_0(active0, 0x1000000000000L, active1, 0x200L, active2, 0L); + return jjMoveStringLiteralDfa5_0(active0, 0x1000000000000L, active1, 0x400L, active2, 0L); case 77: - return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0x210000000L, active2, 0L); + return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0x420000000L, active2, 0L); case 78: if ((active0 & 0x80000000000L) != 0L) { jjmatchedKind = 43; jjmatchedPos = 4; } - return jjMoveStringLiteralDfa5_0(active0, 0x200000000000000L, active1, 0x1010000000000000L, active2, 0x1000000L); + return jjMoveStringLiteralDfa5_0(active0, 0x400000000000000L, active1, 0x2020000000000000L, active2, 0x2000000L); case 79: return jjMoveStringLiteralDfa5_0(active0, 0x40000000000L, active1, 0L, active2, 0L); case 80: - if ((active0 & 0x100000000000000L) != 0L) + if ((active0 & 0x200000000000000L) != 0L) { - jjmatchedKind = 56; + jjmatchedKind = 57; jjmatchedPos = 4; } - return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0x500L, active2, 0L); + return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0xa00L, active2, 0L); case 82: if ((active0 & 0x80000000L) != 0L) { jjmatchedKind = 31; jjmatchedPos = 4; } - else if ((active1 & 0x8000000000L) != 0L) + else if ((active1 & 0x10000000000L) != 0L) { - jjmatchedKind = 103; + jjmatchedKind = 104; jjmatchedPos = 4; } - else if ((active2 & 0x40000L) != 0L) + else if ((active2 & 0x80000L) != 0L) { - jjmatchedKind = 146; + jjmatchedKind = 147; jjmatchedPos = 4; } - return jjMoveStringLiteralDfa5_0(active0, 0x400000004000000L, active1, 0L, active2, 0x1000L); + return jjMoveStringLiteralDfa5_0(active0, 0x820000004000000L, active1, 0L, active2, 0x2000L); case 83: if ((active0 & 0x100000000000L) != 0L) { jjmatchedKind = 44; jjmatchedPos = 4; } - else if ((active1 & 0x400000000000000L) != 0L) + else if ((active1 & 0x800000000000000L) != 0L) { - jjmatchedKind = 122; + jjmatchedKind = 123; jjmatchedPos = 4; } - return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0x80L, active2, 0L); + return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0x100L, active2, 0L); case 84: if ((active0 & 0x20000000L) != 0L) { jjmatchedKind = 29; jjmatchedPos = 4; } - else if ((active0 & 0x1000000000000000L) != 0L) + else if ((active0 & 0x2000000000000000L) != 0L) { - jjmatchedKind = 60; + jjmatchedKind = 61; jjmatchedPos = 4; } - else if ((active1 & 0x2000000L) != 0L) + else if ((active1 & 0x4000000L) != 0L) { - jjmatchedKind = 89; + jjmatchedKind = 90; jjmatchedPos = 4; } - return jjMoveStringLiteralDfa5_0(active0, 0x20000008000000L, active1, 0x808100904400000L, active2, 0x82000L); + return jjMoveStringLiteralDfa5_0(active0, 0x40000008000000L, active1, 0x1010201208800000L, active2, 0x104000L); case 85: - return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0L, active2, 0x10000002L); + return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0L, active2, 0x20000004L); case 86: - if ((active1 & 0x8L) != 0L) + if ((active1 & 0x10L) != 0L) { - jjmatchedKind = 67; + jjmatchedKind = 68; jjmatchedPos = 4; } - return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0x30L, active2, 0L); + return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0x60L, active2, 0L); case 88: - if ((active1 & 0x400000000L) != 0L) + if ((active1 & 0x800000000L) != 0L) { - jjmatchedKind = 98; + jjmatchedKind = 99; jjmatchedPos = 4; } break; case 90: - return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0x2000000000000000L, active2, 0L); + return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0x4000000000000000L, active2, 0L); case 97: - return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0x4480081000042L, active2, 0L); + return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0x8900102000084L, active2, 0L); case 99: return jjMoveStringLiteralDfa5_0(active0, 0x10000001400000L, active1, 0L, active2, 0L); case 100: @@ -1297,55 +1299,55 @@ else if ((active1 & 0x2000000L) != 0L) jjmatchedKind = 37; jjmatchedPos = 4; } - else if ((active1 & 0x1000L) != 0L) + else if ((active1 & 0x2000L) != 0L) { - jjmatchedKind = 76; + jjmatchedKind = 77; jjmatchedPos = 4; } - else if ((active1 & 0x10000000000L) != 0L) + else if ((active1 & 0x20000000000L) != 0L) { - jjmatchedKind = 104; + jjmatchedKind = 105; jjmatchedPos = 4; } - return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0x2000000000000L, active2, 0L); + return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0x4000000000000L, active2, 0L); case 101: if ((active0 & 0x8000000000L) != 0L) { jjmatchedKind = 39; jjmatchedPos = 4; } - else if ((active1 & 0x10000L) != 0L) + else if ((active1 & 0x20000L) != 0L) { - jjmatchedKind = 80; + jjmatchedKind = 81; jjmatchedPos = 4; } - else if ((active1 & 0x800000000000L) != 0L) + else if ((active1 & 0x1000000000000L) != 0L) { - jjmatchedKind = 111; + jjmatchedKind = 112; jjmatchedPos = 4; } - else if ((active1 & 0x1000000000000L) != 0L) + else if ((active1 & 0x2000000000000L) != 0L) { - jjmatchedKind = 112; + jjmatchedKind = 113; jjmatchedPos = 4; } - else if ((active2 & 0x400L) != 0L) + else if ((active2 & 0x800L) != 0L) { - jjmatchedKind = 138; + jjmatchedKind = 139; jjmatchedPos = 4; } - return jjMoveStringLiteralDfa5_0(active0, 0x4000240000000L, active1, 0x20200000002800L, active2, 0L); + return jjMoveStringLiteralDfa5_0(active0, 0x4000240000000L, active1, 0x40400000005000L, active2, 0L); case 102: if ((active0 & 0x400000000L) != 0L) { jjmatchedKind = 34; jjmatchedPos = 4; } - return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0x40000000000000L, active2, 0L); + return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0x80000000000000L, active2, 0L); case 103: - if ((active2 & 0x80000000L) != 0L) + if ((active2 & 0x100000000L) != 0L) { - jjmatchedKind = 159; + jjmatchedKind = 160; jjmatchedPos = 4; } break; @@ -1355,113 +1357,113 @@ else if ((active2 & 0x400L) != 0L) jjmatchedKind = 41; jjmatchedPos = 4; } - else if ((active1 & 0x100000000000000L) != 0L) + else if ((active1 & 0x200000000000000L) != 0L) { - jjmatchedKind = 120; + jjmatchedKind = 121; jjmatchedPos = 4; } break; case 105: - if ((active1 & 0x200000L) != 0L) + if ((active1 & 0x400000L) != 0L) { - jjmatchedKind = 85; + jjmatchedKind = 86; jjmatchedPos = 4; } - else if ((active1 & 0x20000000L) != 0L) + else if ((active1 & 0x40000000L) != 0L) { - jjmatchedKind = 93; + jjmatchedKind = 94; jjmatchedPos = 4; } - else if ((active1 & 0x40000000L) != 0L) + else if ((active1 & 0x80000000L) != 0L) { - jjmatchedKind = 94; + jjmatchedKind = 95; jjmatchedPos = 4; } - return jjMoveStringLiteralDfa5_0(active0, 0xa400000a00000L, active1, 0L, active2, 0x4L); + return jjMoveStringLiteralDfa5_0(active0, 0xa400000a00000L, active1, 0L, active2, 0x8L); case 108: - return jjMoveStringLiteralDfa5_0(active0, 0x1000000000000L, active1, 0x200L, active2, 0L); + return jjMoveStringLiteralDfa5_0(active0, 0x1000000000000L, active1, 0x400L, active2, 0L); case 109: - return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0x210000000L, active2, 0L); + return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0x420000000L, active2, 0L); case 110: if ((active0 & 0x80000000000L) != 0L) { jjmatchedKind = 43; jjmatchedPos = 4; } - return jjMoveStringLiteralDfa5_0(active0, 0x200000000000000L, active1, 0x1010000000000000L, active2, 0x1000000L); + return jjMoveStringLiteralDfa5_0(active0, 0x400000000000000L, active1, 0x2020000000000000L, active2, 0x2000000L); case 111: return jjMoveStringLiteralDfa5_0(active0, 0x40000000000L, active1, 0L, active2, 0L); case 112: - if ((active0 & 0x100000000000000L) != 0L) + if ((active0 & 0x200000000000000L) != 0L) { - jjmatchedKind = 56; + jjmatchedKind = 57; jjmatchedPos = 4; } - return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0x500L, active2, 0L); + return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0xa00L, active2, 0L); case 114: if ((active0 & 0x80000000L) != 0L) { jjmatchedKind = 31; jjmatchedPos = 4; } - else if ((active1 & 0x8000000000L) != 0L) + else if ((active1 & 0x10000000000L) != 0L) { - jjmatchedKind = 103; + jjmatchedKind = 104; jjmatchedPos = 4; } - else if ((active2 & 0x40000L) != 0L) + else if ((active2 & 0x80000L) != 0L) { - jjmatchedKind = 146; + jjmatchedKind = 147; jjmatchedPos = 4; } - return jjMoveStringLiteralDfa5_0(active0, 0x400000004000000L, active1, 0L, active2, 0x1000L); + return jjMoveStringLiteralDfa5_0(active0, 0x820000004000000L, active1, 0L, active2, 0x2000L); case 115: if ((active0 & 0x100000000000L) != 0L) { jjmatchedKind = 44; jjmatchedPos = 4; } - else if ((active1 & 0x400000000000000L) != 0L) + else if ((active1 & 0x800000000000000L) != 0L) { - jjmatchedKind = 122; + jjmatchedKind = 123; jjmatchedPos = 4; } - return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0x80L, active2, 0L); + return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0x100L, active2, 0L); case 116: if ((active0 & 0x20000000L) != 0L) { jjmatchedKind = 29; jjmatchedPos = 4; } - else if ((active0 & 0x1000000000000000L) != 0L) + else if ((active0 & 0x2000000000000000L) != 0L) { - jjmatchedKind = 60; + jjmatchedKind = 61; jjmatchedPos = 4; } - else if ((active1 & 0x2000000L) != 0L) + else if ((active1 & 0x4000000L) != 0L) { - jjmatchedKind = 89; + jjmatchedKind = 90; jjmatchedPos = 4; } - return jjMoveStringLiteralDfa5_0(active0, 0x20000008000000L, active1, 0x808100904400000L, active2, 0x82000L); + return jjMoveStringLiteralDfa5_0(active0, 0x40000008000000L, active1, 0x1010201208800000L, active2, 0x104000L); case 117: - return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0L, active2, 0x10000002L); + return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0L, active2, 0x20000004L); case 118: - if ((active1 & 0x8L) != 0L) + if ((active1 & 0x10L) != 0L) { - jjmatchedKind = 67; + jjmatchedKind = 68; jjmatchedPos = 4; } - return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0x30L, active2, 0L); + return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0x60L, active2, 0L); case 120: - if ((active1 & 0x400000000L) != 0L) + if ((active1 & 0x800000000L) != 0L) { - jjmatchedKind = 98; + jjmatchedKind = 99; jjmatchedPos = 4; } break; case 122: - return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0x2000000000000000L, active2, 0L); + return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0x4000000000000000L, active2, 0L); default : break; } @@ -1477,97 +1479,97 @@ private int jjMoveStringLiteralDfa5_0(long old0, long active0, long old1, long a switch(curChar) { case 50: - if ((active2 & 0x100L) != 0L) + if ((active2 & 0x200L) != 0L) { - jjmatchedKind = 136; + jjmatchedKind = 137; jjmatchedPos = 5; } break; case 52: - if ((active2 & 0x20L) != 0L) + if ((active2 & 0x40L) != 0L) { - jjmatchedKind = 133; + jjmatchedKind = 134; jjmatchedPos = 5; } - else if ((active2 & 0x80L) != 0L) + else if ((active2 & 0x100L) != 0L) { - jjmatchedKind = 135; + jjmatchedKind = 136; jjmatchedPos = 5; } break; case 54: - if ((active2 & 0x40L) != 0L) + if ((active2 & 0x80L) != 0L) { - jjmatchedKind = 134; + jjmatchedKind = 135; jjmatchedPos = 5; } break; case 65: - return jjMoveStringLiteralDfa6_0(active0, 0x400000000000000L, active1, 0x8000010000080L, active2, 0L); + return jjMoveStringLiteralDfa6_0(active0, 0x820000000000000L, active1, 0x10000020000100L, active2, 0L); case 67: - return jjMoveStringLiteralDfa6_0(active0, 0xc400000000000L, active1, 0x400000000000L, active2, 0L); + return jjMoveStringLiteralDfa6_0(active0, 0xc400000000000L, active1, 0x800000000000L, active2, 0L); case 68: - return jjMoveStringLiteralDfa6_0(active0, 0L, active1, 0x1010000000000000L, active2, 0L); + return jjMoveStringLiteralDfa6_0(active0, 0L, active1, 0x2020000000000000L, active2, 0L); case 69: if ((active0 & 0x1000000000000L) != 0L) { jjmatchedKind = 48; jjmatchedPos = 5; } - else if ((active1 & 0x200L) != 0L) + else if ((active1 & 0x400L) != 0L) { - jjmatchedKind = 73; + jjmatchedKind = 74; jjmatchedPos = 5; } - else if ((active2 & 0x2000L) != 0L) + else if ((active2 & 0x4000L) != 0L) { - jjmatchedKind = 141; + jjmatchedKind = 142; jjmatchedPos = 5; } - else if ((active2 & 0x80000L) != 0L) + else if ((active2 & 0x100000L) != 0L) { - jjmatchedKind = 147; + jjmatchedKind = 148; jjmatchedPos = 5; } - return jjMoveStringLiteralDfa6_0(active0, 0x1000000L, active1, 0x802000b00400000L, active2, 0L); + return jjMoveStringLiteralDfa6_0(active0, 0x1000000L, active1, 0x1004001600800000L, active2, 0L); case 70: - return jjMoveStringLiteralDfa6_0(active0, 0L, active1, 0x20000000000000L, active2, 0L); + return jjMoveStringLiteralDfa6_0(active0, 0L, active1, 0x40000000000000L, active2, 0L); case 71: - if ((active0 & 0x200000000000000L) != 0L) + if ((active0 & 0x400000000000000L) != 0L) { - jjmatchedKind = 57; + jjmatchedKind = 58; jjmatchedPos = 5; } break; case 73: - return jjMoveStringLiteralDfa6_0(active0, 0x4000000L, active1, 0x4000000000000L, active2, 0x2L); + return jjMoveStringLiteralDfa6_0(active0, 0x4000000L, active1, 0x8000000000000L, active2, 0x4L); case 76: - return jjMoveStringLiteralDfa6_0(active0, 0L, active1, 0L, active2, 0x10000000L); + return jjMoveStringLiteralDfa6_0(active0, 0L, active1, 0L, active2, 0x20000000L); case 78: - if ((active1 & 0x2L) != 0L) + if ((active1 & 0x4L) != 0L) { - jjmatchedKind = 65; + jjmatchedKind = 66; jjmatchedPos = 5; } - else if ((active1 & 0x200000000000L) != 0L) + else if ((active1 & 0x400000000000L) != 0L) { - jjmatchedKind = 109; + jjmatchedKind = 110; jjmatchedPos = 5; } - return jjMoveStringLiteralDfa6_0(active0, 0x40000800000L, active1, 0x81000040L, active2, 0L); + return jjMoveStringLiteralDfa6_0(active0, 0x40000800000L, active1, 0x102000080L, active2, 0L); case 79: - return jjMoveStringLiteralDfa6_0(active0, 0L, active1, 0x2000000000000100L, active2, 0x4L); + return jjMoveStringLiteralDfa6_0(active0, 0L, active1, 0x4000000000000200L, active2, 0x8L); case 80: return jjMoveStringLiteralDfa6_0(active0, 0x2000000000000L, active1, 0L, active2, 0L); case 82: - if ((active1 & 0x800L) != 0L) + if ((active1 & 0x1000L) != 0L) { - jjmatchedKind = 75; + jjmatchedKind = 76; jjmatchedPos = 5; } - else if ((active1 & 0x100000000000L) != 0L) + else if ((active1 & 0x200000000000L) != 0L) { - jjmatchedKind = 108; + jjmatchedKind = 109; jjmatchedPos = 5; } return jjMoveStringLiteralDfa6_0(active0, 0x8000000L, active1, 0L, active2, 0L); @@ -1577,12 +1579,12 @@ else if ((active1 & 0x100000000000L) != 0L) jjmatchedKind = 33; jjmatchedPos = 5; } - else if ((active0 & 0x20000000000000L) != 0L) + else if ((active0 & 0x40000000000000L) != 0L) { - jjmatchedKind = 53; + jjmatchedKind = 54; jjmatchedPos = 5; } - return jjMoveStringLiteralDfa6_0(active0, 0L, active1, 0x2000L, active2, 0L); + return jjMoveStringLiteralDfa6_0(active0, 0L, active1, 0x4000L, active2, 0L); case 84: if ((active0 & 0x400000L) != 0L) { @@ -1599,22 +1601,22 @@ else if ((active0 & 0x10000000000000L) != 0L) jjmatchedKind = 52; jjmatchedPos = 5; } - else if ((active1 & 0x80000000000L) != 0L) + else if ((active1 & 0x100000000000L) != 0L) { - jjmatchedKind = 107; + jjmatchedKind = 108; jjmatchedPos = 5; } - else if ((active2 & 0x1000L) != 0L) + else if ((active2 & 0x2000L) != 0L) { - jjmatchedKind = 140; + jjmatchedKind = 141; jjmatchedPos = 5; } - else if ((active2 & 0x1000000L) != 0L) + else if ((active2 & 0x2000000L) != 0L) { - jjmatchedKind = 152; + jjmatchedKind = 153; jjmatchedPos = 5; } - return jjMoveStringLiteralDfa6_0(active0, 0L, active1, 0x40000000000000L, active2, 0L); + return jjMoveStringLiteralDfa6_0(active0, 0L, active1, 0x80000000000000L, active2, 0L); case 88: if ((active0 & 0x200000L) != 0L) { @@ -1623,75 +1625,75 @@ else if ((active2 & 0x1000000L) != 0L) } break; case 89: - return jjMoveStringLiteralDfa6_0(active0, 0L, active1, 0x4000000L, active2, 0L); + return jjMoveStringLiteralDfa6_0(active0, 0L, active1, 0x8000000L, active2, 0L); case 95: - return jjMoveStringLiteralDfa6_0(active0, 0L, active1, 0x430L, active2, 0L); + return jjMoveStringLiteralDfa6_0(active0, 0L, active1, 0x860L, active2, 0L); case 97: - return jjMoveStringLiteralDfa6_0(active0, 0x400000000000000L, active1, 0x8000010000080L, active2, 0L); + return jjMoveStringLiteralDfa6_0(active0, 0x820000000000000L, active1, 0x10000020000100L, active2, 0L); case 99: - return jjMoveStringLiteralDfa6_0(active0, 0xc400000000000L, active1, 0x400000000000L, active2, 0L); + return jjMoveStringLiteralDfa6_0(active0, 0xc400000000000L, active1, 0x800000000000L, active2, 0L); case 100: - return jjMoveStringLiteralDfa6_0(active0, 0L, active1, 0x1010000000000000L, active2, 0L); + return jjMoveStringLiteralDfa6_0(active0, 0L, active1, 0x2020000000000000L, active2, 0L); case 101: if ((active0 & 0x1000000000000L) != 0L) { jjmatchedKind = 48; jjmatchedPos = 5; } - else if ((active1 & 0x200L) != 0L) + else if ((active1 & 0x400L) != 0L) { - jjmatchedKind = 73; + jjmatchedKind = 74; jjmatchedPos = 5; } - else if ((active2 & 0x2000L) != 0L) + else if ((active2 & 0x4000L) != 0L) { - jjmatchedKind = 141; + jjmatchedKind = 142; jjmatchedPos = 5; } - else if ((active2 & 0x80000L) != 0L) + else if ((active2 & 0x100000L) != 0L) { - jjmatchedKind = 147; + jjmatchedKind = 148; jjmatchedPos = 5; } - return jjMoveStringLiteralDfa6_0(active0, 0x1000000L, active1, 0x802000b00400000L, active2, 0L); + return jjMoveStringLiteralDfa6_0(active0, 0x1000000L, active1, 0x1004001600800000L, active2, 0L); case 102: - return jjMoveStringLiteralDfa6_0(active0, 0L, active1, 0x20000000000000L, active2, 0L); + return jjMoveStringLiteralDfa6_0(active0, 0L, active1, 0x40000000000000L, active2, 0L); case 103: - if ((active0 & 0x200000000000000L) != 0L) + if ((active0 & 0x400000000000000L) != 0L) { - jjmatchedKind = 57; + jjmatchedKind = 58; jjmatchedPos = 5; } break; case 105: - return jjMoveStringLiteralDfa6_0(active0, 0x4000000L, active1, 0x4000000000000L, active2, 0x2L); + return jjMoveStringLiteralDfa6_0(active0, 0x4000000L, active1, 0x8000000000000L, active2, 0x4L); case 108: - return jjMoveStringLiteralDfa6_0(active0, 0L, active1, 0L, active2, 0x10000000L); + return jjMoveStringLiteralDfa6_0(active0, 0L, active1, 0L, active2, 0x20000000L); case 110: - if ((active1 & 0x2L) != 0L) + if ((active1 & 0x4L) != 0L) { - jjmatchedKind = 65; + jjmatchedKind = 66; jjmatchedPos = 5; } - else if ((active1 & 0x200000000000L) != 0L) + else if ((active1 & 0x400000000000L) != 0L) { - jjmatchedKind = 109; + jjmatchedKind = 110; jjmatchedPos = 5; } - return jjMoveStringLiteralDfa6_0(active0, 0x40000800000L, active1, 0x81000040L, active2, 0L); + return jjMoveStringLiteralDfa6_0(active0, 0x40000800000L, active1, 0x102000080L, active2, 0L); case 111: - return jjMoveStringLiteralDfa6_0(active0, 0L, active1, 0x2000000000000100L, active2, 0x4L); + return jjMoveStringLiteralDfa6_0(active0, 0L, active1, 0x4000000000000200L, active2, 0x8L); case 112: return jjMoveStringLiteralDfa6_0(active0, 0x2000000000000L, active1, 0L, active2, 0L); case 114: - if ((active1 & 0x800L) != 0L) + if ((active1 & 0x1000L) != 0L) { - jjmatchedKind = 75; + jjmatchedKind = 76; jjmatchedPos = 5; } - else if ((active1 & 0x100000000000L) != 0L) + else if ((active1 & 0x200000000000L) != 0L) { - jjmatchedKind = 108; + jjmatchedKind = 109; jjmatchedPos = 5; } return jjMoveStringLiteralDfa6_0(active0, 0x8000000L, active1, 0L, active2, 0L); @@ -1701,12 +1703,12 @@ else if ((active1 & 0x100000000000L) != 0L) jjmatchedKind = 33; jjmatchedPos = 5; } - else if ((active0 & 0x20000000000000L) != 0L) + else if ((active0 & 0x40000000000000L) != 0L) { - jjmatchedKind = 53; + jjmatchedKind = 54; jjmatchedPos = 5; } - return jjMoveStringLiteralDfa6_0(active0, 0L, active1, 0x2000L, active2, 0L); + return jjMoveStringLiteralDfa6_0(active0, 0L, active1, 0x4000L, active2, 0L); case 116: if ((active0 & 0x400000L) != 0L) { @@ -1723,22 +1725,22 @@ else if ((active0 & 0x10000000000000L) != 0L) jjmatchedKind = 52; jjmatchedPos = 5; } - else if ((active1 & 0x80000000000L) != 0L) + else if ((active1 & 0x100000000000L) != 0L) { - jjmatchedKind = 107; + jjmatchedKind = 108; jjmatchedPos = 5; } - else if ((active2 & 0x1000L) != 0L) + else if ((active2 & 0x2000L) != 0L) { - jjmatchedKind = 140; + jjmatchedKind = 141; jjmatchedPos = 5; } - else if ((active2 & 0x1000000L) != 0L) + else if ((active2 & 0x2000000L) != 0L) { - jjmatchedKind = 152; + jjmatchedKind = 153; jjmatchedPos = 5; } - return jjMoveStringLiteralDfa6_0(active0, 0L, active1, 0x40000000000000L, active2, 0L); + return jjMoveStringLiteralDfa6_0(active0, 0L, active1, 0x80000000000000L, active2, 0L); case 120: if ((active0 & 0x200000L) != 0L) { @@ -1747,7 +1749,7 @@ else if ((active2 & 0x1000000L) != 0L) } break; case 121: - return jjMoveStringLiteralDfa6_0(active0, 0L, active1, 0x4000000L, active2, 0L); + return jjMoveStringLiteralDfa6_0(active0, 0L, active1, 0x8000000L, active2, 0L); default : break; } @@ -1767,16 +1769,16 @@ private int jjMoveStringLiteralDfa6_0(long old0, long active0, long old1, long a case 66: return jjMoveStringLiteralDfa7_0(active0, 0x4000000L, active1, 0L, active2, 0L); case 67: - return jjMoveStringLiteralDfa7_0(active0, 0x800000L, active1, 0x2440L, active2, 0L); + return jjMoveStringLiteralDfa7_0(active0, 0x800000L, active1, 0x4880L, active2, 0L); case 68: if ((active0 & 0x1000000L) != 0L) { jjmatchedKind = 24; jjmatchedPos = 6; } - else if ((active2 & 0x2L) != 0L) + else if ((active2 & 0x4L) != 0L) { - jjmatchedKind = 129; + jjmatchedKind = 130; jjmatchedPos = 6; } break; @@ -1786,96 +1788,101 @@ else if ((active2 & 0x2L) != 0L) jjmatchedKind = 46; jjmatchedPos = 6; } - else if ((active1 & 0x400000000000L) != 0L) + else if ((active1 & 0x800000000000L) != 0L) { - jjmatchedKind = 110; + jjmatchedKind = 111; jjmatchedPos = 6; } - return jjMoveStringLiteralDfa7_0(active0, 0L, active1, 0x40000000000000L, active2, 0L); + return jjMoveStringLiteralDfa7_0(active0, 0L, active1, 0x80000000000000L, active2, 0L); case 71: - if ((active1 & 0x1000000L) != 0L) + if ((active1 & 0x2000000L) != 0L) { - jjmatchedKind = 88; + jjmatchedKind = 89; jjmatchedPos = 6; } break; case 75: - if ((active1 & 0x80000000L) != 0L) + if ((active1 & 0x100000000L) != 0L) { - jjmatchedKind = 95; + jjmatchedKind = 96; jjmatchedPos = 6; } break; case 76: + if ((active0 & 0x20000000000000L) != 0L) + { + jjmatchedKind = 53; + jjmatchedPos = 6; + } return jjMoveStringLiteralDfa7_0(active0, 0x2000000000000L, active1, 0L, active2, 0L); case 77: - return jjMoveStringLiteralDfa7_0(active0, 0L, active1, 0x80L, active2, 0L); + return jjMoveStringLiteralDfa7_0(active0, 0L, active1, 0x100L, active2, 0L); case 78: - if ((active2 & 0x4L) != 0L) + if ((active2 & 0x8L) != 0L) { - jjmatchedKind = 130; + jjmatchedKind = 131; jjmatchedPos = 6; } - return jjMoveStringLiteralDfa7_0(active0, 0L, active1, 0x2004000000000000L, active2, 0L); + return jjMoveStringLiteralDfa7_0(active0, 0L, active1, 0x4008000000000000L, active2, 0L); case 79: - return jjMoveStringLiteralDfa7_0(active0, 0L, active1, 0x20000000000000L, active2, 0L); + return jjMoveStringLiteralDfa7_0(active0, 0L, active1, 0x40000000000000L, active2, 0L); case 80: - if ((active1 & 0x100L) != 0L) + if ((active1 & 0x200L) != 0L) { - jjmatchedKind = 72; + jjmatchedKind = 73; jjmatchedPos = 6; } - return jjMoveStringLiteralDfa7_0(active0, 0L, active1, 0x4000020L, active2, 0L); + return jjMoveStringLiteralDfa7_0(active0, 0L, active1, 0x8000040L, active2, 0L); case 82: - return jjMoveStringLiteralDfa7_0(active0, 0L, active1, 0x8000b00000000L, active2, 0L); + return jjMoveStringLiteralDfa7_0(active0, 0L, active1, 0x10001600000000L, active2, 0L); case 83: - if ((active1 & 0x10000000000000L) != 0L) + if ((active1 & 0x20000000000000L) != 0L) { - jjmatchedKind = 116; + jjmatchedKind = 117; jjmatchedPos = 6; } - else if ((active1 & 0x800000000000000L) != 0L) + else if ((active1 & 0x1000000000000000L) != 0L) { - jjmatchedKind = 123; + jjmatchedKind = 124; jjmatchedPos = 6; } - else if ((active1 & 0x1000000000000000L) != 0L) + else if ((active1 & 0x2000000000000000L) != 0L) { - jjmatchedKind = 124; + jjmatchedKind = 125; jjmatchedPos = 6; } - return jjMoveStringLiteralDfa7_0(active0, 0L, active1, 0x400010L, active2, 0L); + return jjMoveStringLiteralDfa7_0(active0, 0L, active1, 0x800020L, active2, 0L); case 84: if ((active0 & 0x4000000000000L) != 0L) { jjmatchedKind = 50; jjmatchedPos = 6; } - else if ((active2 & 0x10000000L) != 0L) + else if ((active2 & 0x20000000L) != 0L) { - jjmatchedKind = 156; + jjmatchedKind = 157; jjmatchedPos = 6; } - return jjMoveStringLiteralDfa7_0(active0, 0x400000000000000L, active1, 0x10000000L, active2, 0L); + return jjMoveStringLiteralDfa7_0(active0, 0x800000000000000L, active1, 0x20000000L, active2, 0L); case 85: return jjMoveStringLiteralDfa7_0(active0, 0x8000000L, active1, 0L, active2, 0L); case 95: - return jjMoveStringLiteralDfa7_0(active0, 0L, active1, 0x2000000000000L, active2, 0L); + return jjMoveStringLiteralDfa7_0(active0, 0L, active1, 0x4000000000000L, active2, 0L); case 97: return jjMoveStringLiteralDfa7_0(active0, 0x8040000000000L, active1, 0L, active2, 0L); case 98: return jjMoveStringLiteralDfa7_0(active0, 0x4000000L, active1, 0L, active2, 0L); case 99: - return jjMoveStringLiteralDfa7_0(active0, 0x800000L, active1, 0x2440L, active2, 0L); + return jjMoveStringLiteralDfa7_0(active0, 0x800000L, active1, 0x4880L, active2, 0L); case 100: if ((active0 & 0x1000000L) != 0L) { jjmatchedKind = 24; jjmatchedPos = 6; } - else if ((active2 & 0x2L) != 0L) + else if ((active2 & 0x4L) != 0L) { - jjmatchedKind = 129; + jjmatchedKind = 130; jjmatchedPos = 6; } break; @@ -1885,77 +1892,82 @@ else if ((active2 & 0x2L) != 0L) jjmatchedKind = 46; jjmatchedPos = 6; } - else if ((active1 & 0x400000000000L) != 0L) + else if ((active1 & 0x800000000000L) != 0L) { - jjmatchedKind = 110; + jjmatchedKind = 111; jjmatchedPos = 6; } - return jjMoveStringLiteralDfa7_0(active0, 0L, active1, 0x40000000000000L, active2, 0L); + return jjMoveStringLiteralDfa7_0(active0, 0L, active1, 0x80000000000000L, active2, 0L); case 103: - if ((active1 & 0x1000000L) != 0L) + if ((active1 & 0x2000000L) != 0L) { - jjmatchedKind = 88; + jjmatchedKind = 89; jjmatchedPos = 6; } break; case 107: - if ((active1 & 0x80000000L) != 0L) + if ((active1 & 0x100000000L) != 0L) { - jjmatchedKind = 95; + jjmatchedKind = 96; jjmatchedPos = 6; } break; case 108: + if ((active0 & 0x20000000000000L) != 0L) + { + jjmatchedKind = 53; + jjmatchedPos = 6; + } return jjMoveStringLiteralDfa7_0(active0, 0x2000000000000L, active1, 0L, active2, 0L); case 109: - return jjMoveStringLiteralDfa7_0(active0, 0L, active1, 0x80L, active2, 0L); + return jjMoveStringLiteralDfa7_0(active0, 0L, active1, 0x100L, active2, 0L); case 110: - if ((active2 & 0x4L) != 0L) + if ((active2 & 0x8L) != 0L) { - jjmatchedKind = 130; + jjmatchedKind = 131; jjmatchedPos = 6; } - return jjMoveStringLiteralDfa7_0(active0, 0L, active1, 0x2004000000000000L, active2, 0L); + return jjMoveStringLiteralDfa7_0(active0, 0L, active1, 0x4008000000000000L, active2, 0L); case 111: - return jjMoveStringLiteralDfa7_0(active0, 0L, active1, 0x20000000000000L, active2, 0L); + return jjMoveStringLiteralDfa7_0(active0, 0L, active1, 0x40000000000000L, active2, 0L); case 112: - if ((active1 & 0x100L) != 0L) + if ((active1 & 0x200L) != 0L) { - jjmatchedKind = 72; + jjmatchedKind = 73; jjmatchedPos = 6; } - return jjMoveStringLiteralDfa7_0(active0, 0L, active1, 0x4000020L, active2, 0L); + return jjMoveStringLiteralDfa7_0(active0, 0L, active1, 0x8000040L, active2, 0L); case 114: - return jjMoveStringLiteralDfa7_0(active0, 0L, active1, 0x8000b00000000L, active2, 0L); + return jjMoveStringLiteralDfa7_0(active0, 0L, active1, 0x10001600000000L, active2, 0L); case 115: - if ((active1 & 0x10000000000000L) != 0L) + if ((active1 & 0x20000000000000L) != 0L) { - jjmatchedKind = 116; + jjmatchedKind = 117; jjmatchedPos = 6; } - else if ((active1 & 0x800000000000000L) != 0L) + else if ((active1 & 0x1000000000000000L) != 0L) { - jjmatchedKind = 123; + jjmatchedKind = 124; jjmatchedPos = 6; } - else if ((active1 & 0x1000000000000000L) != 0L) + else if ((active1 & 0x2000000000000000L) != 0L) { - jjmatchedKind = 124; + jjmatchedKind = 125; jjmatchedPos = 6; } - return jjMoveStringLiteralDfa7_0(active0, 0L, active1, 0x400010L, active2, 0L); + return jjMoveStringLiteralDfa7_0(active0, 0L, active1, 0x800020L, active2, 0L); case 116: if ((active0 & 0x4000000000000L) != 0L) { jjmatchedKind = 50; jjmatchedPos = 6; } - else if ((active2 & 0x10000000L) != 0L) + else if ((active2 & 0x20000000L) != 0L) { - jjmatchedKind = 156; + jjmatchedKind = 157; jjmatchedPos = 6; } - return jjMoveStringLiteralDfa7_0(active0, 0x400000000000000L, active1, 0x10000000L, active2, 0L); + return jjMoveStringLiteralDfa7_0(active0, 0x800000000000000L, active1, 0x20000000L, active2, 0L); case 117: return jjMoveStringLiteralDfa7_0(active0, 0x8000000L, active1, 0L, active2, 0L); default : @@ -1973,9 +1985,9 @@ private int jjMoveStringLiteralDfa7_0(long old0, long active0, long old1, long a switch(curChar) { case 65: - return jjMoveStringLiteralDfa8_0(active0, 0L, active1, 0x100000010L); + return jjMoveStringLiteralDfa8_0(active0, 0L, active1, 0x200000020L); case 67: - return jjMoveStringLiteralDfa8_0(active0, 0x8000000L, active1, 0x10000000L); + return jjMoveStringLiteralDfa8_0(active0, 0x8000000L, active1, 0x20000000L); case 69: if ((active0 & 0x4000000L) != 0L) { @@ -1987,31 +1999,31 @@ else if ((active0 & 0x2000000000000L) != 0L) jjmatchedKind = 49; jjmatchedPos = 7; } - else if ((active1 & 0x40L) != 0L) + else if ((active1 & 0x80L) != 0L) { - jjmatchedKind = 70; + jjmatchedKind = 71; jjmatchedPos = 7; } - else if ((active1 & 0x2000L) != 0L) + else if ((active1 & 0x4000L) != 0L) { - jjmatchedKind = 77; + jjmatchedKind = 78; jjmatchedPos = 7; } - else if ((active1 & 0x4000000L) != 0L) + else if ((active1 & 0x8000000L) != 0L) { - jjmatchedKind = 90; + jjmatchedKind = 91; jjmatchedPos = 7; } - else if ((active1 & 0x2000000000000000L) != 0L) + else if ((active1 & 0x4000000000000000L) != 0L) { - jjmatchedKind = 125; + jjmatchedKind = 126; jjmatchedPos = 7; } break; case 70: - return jjMoveStringLiteralDfa8_0(active0, 0L, active1, 0x2000000000000L); + return jjMoveStringLiteralDfa8_0(active0, 0L, active1, 0x4000000000000L); case 73: - return jjMoveStringLiteralDfa8_0(active0, 0L, active1, 0x200000000L); + return jjMoveStringLiteralDfa8_0(active0, 0L, active1, 0x400000000L); case 76: if ((active0 & 0x40000000000L) != 0L) { @@ -2020,32 +2032,32 @@ else if ((active1 & 0x2000000000000000L) != 0L) } break; case 77: - if ((active1 & 0x800000000L) != 0L) + if ((active1 & 0x1000000000L) != 0L) { - jjmatchedKind = 99; + jjmatchedKind = 100; jjmatchedPos = 7; } break; case 79: - return jjMoveStringLiteralDfa8_0(active0, 0x400000000000000L, active1, 0x420L); + return jjMoveStringLiteralDfa8_0(active0, 0x800000000000000L, active1, 0x840L); case 80: - if ((active1 & 0x80L) != 0L) + if ((active1 & 0x100L) != 0L) { - jjmatchedKind = 71; + jjmatchedKind = 72; jjmatchedPos = 7; } break; case 82: - if ((active1 & 0x40000000000000L) != 0L) + if ((active1 & 0x80000000000000L) != 0L) { - jjmatchedKind = 118; + jjmatchedKind = 119; jjmatchedPos = 7; } - return jjMoveStringLiteralDfa8_0(active0, 0L, active1, 0x20000000000000L); + return jjMoveStringLiteralDfa8_0(active0, 0L, active1, 0x40000000000000L); case 83: - if ((active1 & 0x4000000000000L) != 0L) + if ((active1 & 0x8000000000000L) != 0L) { - jjmatchedKind = 114; + jjmatchedKind = 115; jjmatchedPos = 7; } break; @@ -2055,16 +2067,16 @@ else if ((active1 & 0x2000000000000000L) != 0L) jjmatchedKind = 23; jjmatchedPos = 7; } - else if ((active1 & 0x400000L) != 0L) + else if ((active1 & 0x800000L) != 0L) { - jjmatchedKind = 86; + jjmatchedKind = 87; jjmatchedPos = 7; } - return jjMoveStringLiteralDfa8_0(active0, 0x8000000000000L, active1, 0x8000000000000L); + return jjMoveStringLiteralDfa8_0(active0, 0x8000000000000L, active1, 0x10000000000000L); case 97: - return jjMoveStringLiteralDfa8_0(active0, 0L, active1, 0x100000010L); + return jjMoveStringLiteralDfa8_0(active0, 0L, active1, 0x200000020L); case 99: - return jjMoveStringLiteralDfa8_0(active0, 0x8000000L, active1, 0x10000000L); + return jjMoveStringLiteralDfa8_0(active0, 0x8000000L, active1, 0x20000000L); case 101: if ((active0 & 0x4000000L) != 0L) { @@ -2076,31 +2088,31 @@ else if ((active0 & 0x2000000000000L) != 0L) jjmatchedKind = 49; jjmatchedPos = 7; } - else if ((active1 & 0x40L) != 0L) + else if ((active1 & 0x80L) != 0L) { - jjmatchedKind = 70; + jjmatchedKind = 71; jjmatchedPos = 7; } - else if ((active1 & 0x2000L) != 0L) + else if ((active1 & 0x4000L) != 0L) { - jjmatchedKind = 77; + jjmatchedKind = 78; jjmatchedPos = 7; } - else if ((active1 & 0x4000000L) != 0L) + else if ((active1 & 0x8000000L) != 0L) { - jjmatchedKind = 90; + jjmatchedKind = 91; jjmatchedPos = 7; } - else if ((active1 & 0x2000000000000000L) != 0L) + else if ((active1 & 0x4000000000000000L) != 0L) { - jjmatchedKind = 125; + jjmatchedKind = 126; jjmatchedPos = 7; } break; case 102: - return jjMoveStringLiteralDfa8_0(active0, 0L, active1, 0x2000000000000L); + return jjMoveStringLiteralDfa8_0(active0, 0L, active1, 0x4000000000000L); case 105: - return jjMoveStringLiteralDfa8_0(active0, 0L, active1, 0x200000000L); + return jjMoveStringLiteralDfa8_0(active0, 0L, active1, 0x400000000L); case 108: if ((active0 & 0x40000000000L) != 0L) { @@ -2109,32 +2121,32 @@ else if ((active1 & 0x2000000000000000L) != 0L) } break; case 109: - if ((active1 & 0x800000000L) != 0L) + if ((active1 & 0x1000000000L) != 0L) { - jjmatchedKind = 99; + jjmatchedKind = 100; jjmatchedPos = 7; } break; case 111: - return jjMoveStringLiteralDfa8_0(active0, 0x400000000000000L, active1, 0x420L); + return jjMoveStringLiteralDfa8_0(active0, 0x800000000000000L, active1, 0x840L); case 112: - if ((active1 & 0x80L) != 0L) + if ((active1 & 0x100L) != 0L) { - jjmatchedKind = 71; + jjmatchedKind = 72; jjmatchedPos = 7; } break; case 114: - if ((active1 & 0x40000000000000L) != 0L) + if ((active1 & 0x80000000000000L) != 0L) { - jjmatchedKind = 118; + jjmatchedKind = 119; jjmatchedPos = 7; } - return jjMoveStringLiteralDfa8_0(active0, 0L, active1, 0x20000000000000L); + return jjMoveStringLiteralDfa8_0(active0, 0L, active1, 0x40000000000000L); case 115: - if ((active1 & 0x4000000000000L) != 0L) + if ((active1 & 0x8000000000000L) != 0L) { - jjmatchedKind = 114; + jjmatchedKind = 115; jjmatchedPos = 7; } break; @@ -2144,12 +2156,12 @@ else if ((active1 & 0x2000000000000000L) != 0L) jjmatchedKind = 23; jjmatchedPos = 7; } - else if ((active1 & 0x400000L) != 0L) + else if ((active1 & 0x800000L) != 0L) { - jjmatchedKind = 86; + jjmatchedKind = 87; jjmatchedPos = 7; } - return jjMoveStringLiteralDfa8_0(active0, 0x8000000000000L, active1, 0x8000000000000L); + return jjMoveStringLiteralDfa8_0(active0, 0x8000000000000L, active1, 0x10000000000000L); default : break; } @@ -2165,9 +2177,9 @@ private int jjMoveStringLiteralDfa8_0(long old0, long active0, long old1, long a switch(curChar) { case 67: - if ((active1 & 0x200000000L) != 0L) + if ((active1 & 0x400000000L) != 0L) { - jjmatchedKind = 97; + jjmatchedKind = 98; jjmatchedPos = 8; } break; @@ -2177,45 +2189,45 @@ private int jjMoveStringLiteralDfa8_0(long old0, long active0, long old1, long a jjmatchedKind = 51; jjmatchedPos = 8; } - else if ((active1 & 0x20000000000000L) != 0L) + else if ((active1 & 0x40000000000000L) != 0L) { - jjmatchedKind = 117; + jjmatchedKind = 118; jjmatchedPos = 8; } break; case 72: - return jjMoveStringLiteralDfa9_0(active0, 0L, active1, 0x10000000L); + return jjMoveStringLiteralDfa9_0(active0, 0L, active1, 0x20000000L); case 76: - if ((active1 & 0x100000000L) != 0L) + if ((active1 & 0x200000000L) != 0L) { - jjmatchedKind = 96; + jjmatchedKind = 97; jjmatchedPos = 8; } break; case 77: - return jjMoveStringLiteralDfa9_0(active0, 0L, active1, 0x10L); + return jjMoveStringLiteralDfa9_0(active0, 0L, active1, 0x20L); case 78: - return jjMoveStringLiteralDfa9_0(active0, 0L, active1, 0x400L); + return jjMoveStringLiteralDfa9_0(active0, 0L, active1, 0x800L); case 79: - return jjMoveStringLiteralDfa9_0(active0, 0L, active1, 0x2000000000000L); + return jjMoveStringLiteralDfa9_0(active0, 0L, active1, 0x4000000000000L); case 80: - if ((active1 & 0x20L) != 0L) + if ((active1 & 0x40L) != 0L) { - jjmatchedKind = 69; + jjmatchedKind = 70; jjmatchedPos = 8; } break; case 82: - if ((active0 & 0x400000000000000L) != 0L) + if ((active0 & 0x800000000000000L) != 0L) { - jjmatchedKind = 58; + jjmatchedKind = 59; jjmatchedPos = 8; } break; case 83: - if ((active1 & 0x8000000000000L) != 0L) + if ((active1 & 0x10000000000000L) != 0L) { - jjmatchedKind = 115; + jjmatchedKind = 116; jjmatchedPos = 8; } break; @@ -2227,9 +2239,9 @@ else if ((active1 & 0x20000000000000L) != 0L) } break; case 99: - if ((active1 & 0x200000000L) != 0L) + if ((active1 & 0x400000000L) != 0L) { - jjmatchedKind = 97; + jjmatchedKind = 98; jjmatchedPos = 8; } break; @@ -2239,45 +2251,45 @@ else if ((active1 & 0x20000000000000L) != 0L) jjmatchedKind = 51; jjmatchedPos = 8; } - else if ((active1 & 0x20000000000000L) != 0L) + else if ((active1 & 0x40000000000000L) != 0L) { - jjmatchedKind = 117; + jjmatchedKind = 118; jjmatchedPos = 8; } break; case 104: - return jjMoveStringLiteralDfa9_0(active0, 0L, active1, 0x10000000L); + return jjMoveStringLiteralDfa9_0(active0, 0L, active1, 0x20000000L); case 108: - if ((active1 & 0x100000000L) != 0L) + if ((active1 & 0x200000000L) != 0L) { - jjmatchedKind = 96; + jjmatchedKind = 97; jjmatchedPos = 8; } break; case 109: - return jjMoveStringLiteralDfa9_0(active0, 0L, active1, 0x10L); + return jjMoveStringLiteralDfa9_0(active0, 0L, active1, 0x20L); case 110: - return jjMoveStringLiteralDfa9_0(active0, 0L, active1, 0x400L); + return jjMoveStringLiteralDfa9_0(active0, 0L, active1, 0x800L); case 111: - return jjMoveStringLiteralDfa9_0(active0, 0L, active1, 0x2000000000000L); + return jjMoveStringLiteralDfa9_0(active0, 0L, active1, 0x4000000000000L); case 112: - if ((active1 & 0x20L) != 0L) + if ((active1 & 0x40L) != 0L) { - jjmatchedKind = 69; + jjmatchedKind = 70; jjmatchedPos = 8; } break; case 114: - if ((active0 & 0x400000000000000L) != 0L) + if ((active0 & 0x800000000000000L) != 0L) { - jjmatchedKind = 58; + jjmatchedKind = 59; jjmatchedPos = 8; } break; case 115: - if ((active1 & 0x8000000000000L) != 0L) + if ((active1 & 0x10000000000000L) != 0L) { - jjmatchedKind = 115; + jjmatchedKind = 116; jjmatchedPos = 8; } break; @@ -2303,31 +2315,31 @@ private int jjMoveStringLiteralDfa9_0(long old0, long active0, long old1, long a switch(curChar) { case 67: - return jjMoveStringLiteralDfa10_0(active1, 0x400L); + return jjMoveStringLiteralDfa10_0(active1, 0x800L); case 69: - return jjMoveStringLiteralDfa10_0(active1, 0x10000000L); + return jjMoveStringLiteralDfa10_0(active1, 0x20000000L); case 80: - if ((active1 & 0x10L) != 0L) + if ((active1 & 0x20L) != 0L) { - jjmatchedKind = 68; + jjmatchedKind = 69; jjmatchedPos = 9; } break; case 82: - return jjMoveStringLiteralDfa10_0(active1, 0x2000000000000L); + return jjMoveStringLiteralDfa10_0(active1, 0x4000000000000L); case 99: - return jjMoveStringLiteralDfa10_0(active1, 0x400L); + return jjMoveStringLiteralDfa10_0(active1, 0x800L); case 101: - return jjMoveStringLiteralDfa10_0(active1, 0x10000000L); + return jjMoveStringLiteralDfa10_0(active1, 0x20000000L); case 112: - if ((active1 & 0x10L) != 0L) + if ((active1 & 0x20L) != 0L) { - jjmatchedKind = 68; + jjmatchedKind = 69; jjmatchedPos = 9; } break; case 114: - return jjMoveStringLiteralDfa10_0(active1, 0x2000000000000L); + return jjMoveStringLiteralDfa10_0(active1, 0x4000000000000L); default : break; } @@ -2343,22 +2355,22 @@ private int jjMoveStringLiteralDfa10_0(long old1, long active1){ switch(curChar) { case 65: - return jjMoveStringLiteralDfa11_0(active1, 0x400L); + return jjMoveStringLiteralDfa11_0(active1, 0x800L); case 83: - if ((active1 & 0x10000000L) != 0L) + if ((active1 & 0x20000000L) != 0L) { - jjmatchedKind = 92; + jjmatchedKind = 93; jjmatchedPos = 10; } break; case 95: - return jjMoveStringLiteralDfa11_0(active1, 0x2000000000000L); + return jjMoveStringLiteralDfa11_0(active1, 0x4000000000000L); case 97: - return jjMoveStringLiteralDfa11_0(active1, 0x400L); + return jjMoveStringLiteralDfa11_0(active1, 0x800L); case 115: - if ((active1 & 0x10000000L) != 0L) + if ((active1 & 0x20000000L) != 0L) { - jjmatchedKind = 92; + jjmatchedKind = 93; jjmatchedPos = 10; } break; @@ -2377,23 +2389,23 @@ private int jjMoveStringLiteralDfa11_0(long old1, long active1){ switch(curChar) { case 84: - if ((active1 & 0x400L) != 0L) + if ((active1 & 0x800L) != 0L) { - jjmatchedKind = 74; + jjmatchedKind = 75; jjmatchedPos = 11; } break; case 85: - return jjMoveStringLiteralDfa12_0(active1, 0x2000000000000L); + return jjMoveStringLiteralDfa12_0(active1, 0x4000000000000L); case 116: - if ((active1 & 0x400L) != 0L) + if ((active1 & 0x800L) != 0L) { - jjmatchedKind = 74; + jjmatchedKind = 75; jjmatchedPos = 11; } break; case 117: - return jjMoveStringLiteralDfa12_0(active1, 0x2000000000000L); + return jjMoveStringLiteralDfa12_0(active1, 0x4000000000000L); default : break; } @@ -2409,9 +2421,9 @@ private int jjMoveStringLiteralDfa12_0(long old1, long active1){ switch(curChar) { case 82: - return jjMoveStringLiteralDfa13_0(active1, 0x2000000000000L); + return jjMoveStringLiteralDfa13_0(active1, 0x4000000000000L); case 114: - return jjMoveStringLiteralDfa13_0(active1, 0x2000000000000L); + return jjMoveStringLiteralDfa13_0(active1, 0x4000000000000L); default : break; } @@ -2427,16 +2439,16 @@ private int jjMoveStringLiteralDfa13_0(long old1, long active1){ switch(curChar) { case 73: - if ((active1 & 0x2000000000000L) != 0L) + if ((active1 & 0x4000000000000L) != 0L) { - jjmatchedKind = 113; + jjmatchedKind = 114; jjmatchedPos = 13; } break; case 105: - if ((active1 & 0x2000000000000L) != 0L) + if ((active1 & 0x4000000000000L) != 0L) { - jjmatchedKind = 113; + jjmatchedKind = 114; jjmatchedPos = 13; } break; @@ -2515,8 +2527,8 @@ private int jjMoveNfa_0(int startState, int curPos) case 0: if ((0x3ff000000000000L & l) != 0L) { - if (kind > 161) - kind = 161; + if (kind > 162) + kind = 162; { jjCheckNAddStates(0, 6); } } else if (curChar == 45) @@ -2705,8 +2717,8 @@ else if (curChar == 39) jjstateSet[jjnewStateCnt++] = 57; break; case 65: - if ((0x8400000000L & l) != 0L && kind > 173) - kind = 173; + if ((0x8400000000L & l) != 0L && kind > 174) + kind = 174; break; case 66: if (curChar == 39) @@ -2717,8 +2729,8 @@ else if (curChar == 39) { jjCheckNAddStates(37, 39); } break; case 68: - if (curChar == 39 && kind > 177) - kind = 177; + if (curChar == 39 && kind > 178) + kind = 178; break; case 70: if ((0x8400000000L & l) != 0L) @@ -2774,8 +2786,8 @@ else if (curChar == 39) { jjCheckNAddStates(34, 36); } break; case 86: - if (curChar == 34 && kind > 178) - kind = 178; + if (curChar == 34 && kind > 179) + kind = 179; break; case 88: if ((0x8400000000L & l) != 0L) @@ -2885,8 +2897,8 @@ else if (curChar == 39) jjstateSet[jjnewStateCnt++] = 121; break; case 122: - if (curChar == 39 && kind > 179) - kind = 179; + if (curChar == 39 && kind > 180) + kind = 180; break; case 123: if (curChar == 39) @@ -2963,8 +2975,8 @@ else if (curChar == 39) jjstateSet[jjnewStateCnt++] = 145; break; case 146: - if (curChar == 34 && kind > 180) - kind = 180; + if (curChar == 34 && kind > 181) + kind = 181; break; case 147: if (curChar == 34) @@ -2999,8 +3011,8 @@ else if (curChar == 39) { jjCheckNAddStates(21, 23); } break; case 155: - if (curChar == 41 && kind > 183) - kind = 183; + if (curChar == 41 && kind > 184) + kind = 184; break; case 156: if (curChar == 10) @@ -3181,15 +3193,15 @@ else if (curChar == 39) case 236: if ((0x3ff000000000000L & l) == 0L) break; - if (kind > 161) - kind = 161; + if (kind > 162) + kind = 162; { jjCheckNAddStates(0, 6); } break; case 237: if ((0x3ff000000000000L & l) == 0L) break; - if (kind > 161) - kind = 161; + if (kind > 162) + kind = 162; { jjCheckNAdd(237); } break; case 238: @@ -3203,8 +3215,8 @@ else if (curChar == 39) case 240: if ((0x3ff000000000000L & l) == 0L) break; - if (kind > 162) - kind = 162; + if (kind > 163) + kind = 163; { jjCheckNAdd(240); } break; case 241: @@ -3226,8 +3238,8 @@ else if (curChar == 39) case 246: if ((0x3ff000000000000L & l) == 0L) break; - if (kind > 163) - kind = 163; + if (kind > 164) + kind = 164; { jjCheckNAdd(246); } break; case 247: @@ -3241,8 +3253,8 @@ else if (curChar == 39) case 250: if ((0x3ff000000000000L & l) == 0L) break; - if (kind > 163) - kind = 163; + if (kind > 164) + kind = 164; { jjCheckNAdd(250); } break; case 251: @@ -3260,8 +3272,8 @@ else if (curChar == 39) case 255: if ((0x3ff000000000000L & l) == 0L) break; - if (kind > 163) - kind = 163; + if (kind > 164) + kind = 164; { jjCheckNAdd(255); } break; case 256: @@ -3271,8 +3283,8 @@ else if (curChar == 39) case 257: if ((0x3ff000000000000L & l) == 0L) break; - if (kind > 164) - kind = 164; + if (kind > 165) + kind = 165; { jjCheckNAdd(257); } break; case 258: @@ -3286,8 +3298,8 @@ else if (curChar == 39) case 260: if ((0x3ff000000000000L & l) == 0L) break; - if (kind > 165) - kind = 165; + if (kind > 166) + kind = 166; { jjCheckNAdd(260); } break; case 261: @@ -3305,8 +3317,8 @@ else if (curChar == 39) case 265: if ((0x3ff000000000000L & l) == 0L) break; - if (kind > 166) - kind = 166; + if (kind > 167) + kind = 167; { jjCheckNAdd(265); } break; case 266: @@ -3332,8 +3344,8 @@ else if (curChar == 39) case 272: if ((0x3ff000000000000L & l) == 0L) break; - if (kind > 166) - kind = 166; + if (kind > 167) + kind = 167; { jjCheckNAdd(272); } break; case 273: @@ -3347,8 +3359,8 @@ else if (curChar == 39) case 276: if ((0x3ff000000000000L & l) == 0L) break; - if (kind > 166) - kind = 166; + if (kind > 167) + kind = 167; { jjCheckNAdd(276); } break; case 277: @@ -3358,8 +3370,8 @@ else if (curChar == 39) case 278: if ((0x3ff000000000000L & l) == 0L) break; - if (kind > 167) - kind = 167; + if (kind > 168) + kind = 168; { jjCheckNAdd(278); } break; case 279: @@ -3373,8 +3385,8 @@ else if (curChar == 39) case 281: if ((0x3ff000000000000L & l) == 0L) break; - if (kind > 168) - kind = 168; + if (kind > 169) + kind = 169; { jjCheckNAdd(281); } break; case 282: @@ -3392,8 +3404,8 @@ else if (curChar == 39) case 286: if ((0x3ff000000000000L & l) == 0L) break; - if (kind > 169) - kind = 169; + if (kind > 170) + kind = 170; { jjCheckNAdd(286); } break; case 287: @@ -3419,8 +3431,8 @@ else if (curChar == 39) case 293: if ((0x3ff000000000000L & l) == 0L) break; - if (kind > 169) - kind = 169; + if (kind > 170) + kind = 170; { jjCheckNAdd(293); } break; case 294: @@ -3434,8 +3446,8 @@ else if (curChar == 39) case 297: if ((0x3ff000000000000L & l) == 0L) break; - if (kind > 169) - kind = 169; + if (kind > 170) + kind = 170; { jjCheckNAdd(297); } break; default : break; @@ -3588,8 +3600,8 @@ else if ((0x20000000200L & l) != 0L) { jjCheckNAddStates(45, 50); } break; case 53: - if ((0x200000002L & l) != 0L && kind > 142) - kind = 142; + if ((0x200000002L & l) != 0L && kind > 143) + kind = 143; break; case 54: if ((0x10000000100000L & l) != 0L) @@ -3628,8 +3640,8 @@ else if ((0x20000000200L & l) != 0L) jjstateSet[jjnewStateCnt++] = 65; break; case 65: - if ((0x14404410000000L & l) != 0L && kind > 173) - kind = 173; + if ((0x14404410000000L & l) != 0L && kind > 174) + kind = 174; break; case 67: if ((0xffffffffefffffffL & l) != 0L) @@ -3886,8 +3898,8 @@ else if ((0x20000000200L & l) != 0L) { jjCheckNAddStates(72, 77); } break; case 163: - if (curChar == 93 && kind > 188) - kind = 188; + if (curChar == 93 && kind > 189) + kind = 189; break; case 166: if ((0x7fffffe07fffffeL & l) != 0L) @@ -3986,8 +3998,8 @@ else if ((0x20000000200L & l) != 0L) { jjCheckNAddStates(94, 99); } break; case 210: - if ((0x200000002L & l) != 0L && kind > 143) - kind = 143; + if ((0x200000002L & l) != 0L && kind > 144) + kind = 144; break; case 211: if ((0x10000000100000L & l) != 0L) @@ -4025,8 +4037,8 @@ else if ((0x20000000200L & l) != 0L) { jjCheckNAddStates(103, 108); } break; case 225: - if ((0x2000000020L & l) != 0L && kind > 144) - kind = 144; + if ((0x2000000020L & l) != 0L && kind > 145) + kind = 145; break; case 226: if ((0x4000000040000L & l) != 0L) @@ -4406,11 +4418,11 @@ else if (jjmatchedPos == strPos && jjmatchedKind > strKind) 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", "\173\174", "\174\175", -"\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, "\50", "\51", null, "\173", "\175", "\133", "\135", null, "\73", "\54", "\56", +"\75", "\41\75", "\76", "\74", "\74\75", "\76\75", "\76\76", "\74\74", "\173\174", +"\174\175", "\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, }; protected Token jjFillToken() { final Token t; @@ -4964,10 +4976,10 @@ public void SwitchTo(int lexState) -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, }; static final long[] jjtoToken = { - 0xfffffffffff9fe01L, 0xffffffffffffffffL, 0xfffe23feffffffffL, 0x7ffffffL, + 0xfffffffffff9fe01L, 0xffffffffffffffffL, 0xfffc47fdffffffffL, 0xfffffffL, }; static final long[] jjtoSkip = { 0x7eL, 0x0L, 0x0L, 0x0L, diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/lang/arq/TokenMgrError.java b/jena-arq/src/main/java/org/apache/jena/sparql/lang/arq/TokenMgrError.java index ee0ae084bb6..7260bb1d483 100644 --- a/jena-arq/src/main/java/org/apache/jena/sparql/lang/arq/TokenMgrError.java +++ b/jena-arq/src/main/java/org/apache/jena/sparql/lang/arq/TokenMgrError.java @@ -105,11 +105,10 @@ protected static final String addEscapes(String str) { * Note: You can customize the lexical error message by modifying this method. */ protected static String LexicalErr(boolean EOFSeen, int lexState, int errorLine, int errorColumn, String errorAfter, int curChar) { - char curChar1 = (char)curChar; return("Lexical error at line " + // errorLine + ", column " + // errorColumn + ". Encountered: " + // - (EOFSeen ? "" : ("'" + addEscapes(String.valueOf(curChar)) + "' (" + (int)curChar + "),")) + // + (EOFSeen ? "" : ("'" + addEscapes(String.valueOf(curChar)) + "' (" + curChar + "),")) + // (errorAfter == null || errorAfter.length() == 0 ? "" : " after prefix \"" + addEscapes(errorAfter) + "\"")) + // (lexState == 0 ? "" : " (in lexical state " + lexState + ")"); } @@ -147,4 +146,4 @@ public TokenMgrError(boolean EOFSeen, int lexState, int errorLine, int errorColu this(LexicalErr(EOFSeen, lexState, errorLine, errorColumn, errorAfter, curChar), reason); } } -/* JavaCC - OriginalChecksum=6f8bb1bf2d7bf314888e29762aa35fa0 (do not edit this line) */ +/* JavaCC - OriginalChecksum=26900e63a554da1bde0d1d6ebd69f6c3 (do not edit this line) */ diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/lang/sparql_11/JavaCharStream.java b/jena-arq/src/main/java/org/apache/jena/sparql/lang/sparql_11/JavaCharStream.java index 073cf097d1e..b3d01b9c83b 100644 --- a/jena-arq/src/main/java/org/apache/jena/sparql/lang/sparql_11/JavaCharStream.java +++ b/jena-arq/src/main/java/org/apache/jena/sparql/lang/sparql_11/JavaCharStream.java @@ -13,7 +13,7 @@ class JavaCharStream { /** Whether parser is static. */ - + @SuppressWarnings("all") public static final boolean staticFlag = false; @@ -65,7 +65,7 @@ static final int hexval(char c) throws java.io.IOException { } /* Position in buffer. */ - + @SuppressWarnings("all") public int bufpos = -1; int bufsize; @@ -90,10 +90,10 @@ static final int hexval(char c) throws java.io.IOException { protected int tabSize = 1; protected boolean trackLineColumn = true; - + @SuppressWarnings("all") public void setTabSize(int i) { tabSize = i; } - + @SuppressWarnings("all") public int getTabSize() { return tabSize; } @@ -185,7 +185,7 @@ protected char ReadByte() throws java.io.IOException } /* @return starting character for token. */ - + @SuppressWarnings("all") public char BeginToken() throws java.io.IOException { @@ -267,7 +267,7 @@ else if (prevCharIsCR) } /* Read a character. */ - + @SuppressWarnings("all") public char readChar() throws java.io.IOException { @@ -367,7 +367,7 @@ public char readChar() throws java.io.IOException * @see #getEndColumn */ @Deprecated - + @SuppressWarnings("all") public int getColumn() { return bufcolumn[bufpos]; @@ -379,7 +379,7 @@ public int getColumn() { * @return the line number. */ @Deprecated - + @SuppressWarnings("all") public int getLine() { return bufline[bufpos]; @@ -388,7 +388,7 @@ public int getLine() { /** Get end column. * @return the end column or -1 */ - + @SuppressWarnings("all") public int getEndColumn() { return bufcolumn[bufpos]; @@ -397,7 +397,7 @@ public int getEndColumn() { /** Get end line. * @return the end line number or -1 */ - + @SuppressWarnings("all") public int getEndLine() { return bufline[bufpos]; @@ -405,21 +405,21 @@ public int getEndLine() { /** Get the beginning column. * @return column of token start */ - + @SuppressWarnings("all") public int getBeginColumn() { return bufcolumn[tokenBegin]; } /** @return line number of token start */ - + @SuppressWarnings("all") public int getBeginLine() { return bufline[tokenBegin]; } /** Retreat. */ - + @SuppressWarnings("all") public void backup(int amount) { @@ -434,7 +434,7 @@ public void backup(int amount) { * @param startcolumn column number of the first character of the stream. * @param buffersize size of the buffer */ - + @SuppressWarnings("all") public JavaCharStream(java.io.Reader dstream, int startline, int startcolumn, int buffersize) @@ -455,7 +455,7 @@ public JavaCharStream(java.io.Reader dstream, * @param startline line number of the first character of the stream, mostly for error messages. * @param startcolumn column number of the first character of the stream. */ - + @SuppressWarnings("all") public JavaCharStream(java.io.Reader dstream, int startline, int startcolumn) @@ -465,15 +465,16 @@ public JavaCharStream(java.io.Reader dstream, /** Constructor. * @param dstream the underlying data source. + * @param startline line number of the first character of the stream, mostly for error messages. */ - + @SuppressWarnings("all") public JavaCharStream(java.io.Reader dstream) { this(dstream, 1, 1, 4096); } /* Reinitialise. */ - + @SuppressWarnings("all") public void ReInit(java.io.Reader dstream, int startline, int startcolumn, int buffersize) @@ -496,7 +497,7 @@ public void ReInit(java.io.Reader dstream, } /* Reinitialise. */ - + @SuppressWarnings("all") public void ReInit(java.io.Reader dstream, int startline, int startcolumn) @@ -505,14 +506,14 @@ public void ReInit(java.io.Reader dstream, } /* Reinitialise. */ - + @SuppressWarnings("all") public void ReInit(java.io.Reader dstream) { ReInit(dstream, 1, 1, 4096); } /** Constructor. */ - + @SuppressWarnings("all") public JavaCharStream(java.io.InputStream dstream, String encoding, int startline, int startcolumn, int buffersize) throws java.io.UnsupportedEncodingException @@ -526,7 +527,7 @@ public JavaCharStream(java.io.InputStream dstream, String encoding, int startlin * @param startcolumn column number of the first character of the stream. * @param buffersize size of the buffer */ - + @SuppressWarnings("all") public JavaCharStream(java.io.InputStream dstream, int startline, int startcolumn, int buffersize) @@ -539,9 +540,9 @@ public JavaCharStream(java.io.InputStream dstream, int startline, * @param encoding the character encoding of the data stream. * @param startline line number of the first character of the stream, mostly for error messages. * @param startcolumn column number of the first character of the stream. - * @throws java.io.UnsupportedEncodingException encoding is invalid or unsupported. + * @throws UnsupportedEncodingException encoding is invalid or unsupported. */ - + @SuppressWarnings("all") public JavaCharStream(java.io.InputStream dstream, String encoding, int startline, int startcolumn) throws java.io.UnsupportedEncodingException @@ -554,7 +555,7 @@ public JavaCharStream(java.io.InputStream dstream, String encoding, int startlin * @param startline line number of the first character of the stream, mostly for error messages. * @param startcolumn column number of the first character of the stream. */ - + @SuppressWarnings("all") public JavaCharStream(java.io.InputStream dstream, int startline, int startcolumn) @@ -565,9 +566,9 @@ public JavaCharStream(java.io.InputStream dstream, int startline, /** Constructor. * @param dstream the underlying data source. * @param encoding the character encoding of the data stream. - * @throws java.io.UnsupportedEncodingException encoding is invalid or unsupported. + * @throws UnsupportedEncodingException encoding is invalid or unsupported. */ - + @SuppressWarnings("all") public JavaCharStream(java.io.InputStream dstream, String encoding) throws java.io.UnsupportedEncodingException { @@ -577,7 +578,7 @@ public JavaCharStream(java.io.InputStream dstream, String encoding) throws java. /** Constructor. * @param dstream the underlying data source. */ - + @SuppressWarnings("all") public JavaCharStream(java.io.InputStream dstream) { @@ -591,7 +592,7 @@ public JavaCharStream(java.io.InputStream dstream) * @param startcolumn column number of the first character of the stream. * @param buffersize size of the buffer */ - + @SuppressWarnings("all") public void ReInit(java.io.InputStream dstream, String encoding, int startline, int startcolumn, int buffersize) throws java.io.UnsupportedEncodingException @@ -605,7 +606,7 @@ public void ReInit(java.io.InputStream dstream, String encoding, int startline, * @param startcolumn column number of the first character of the stream. * @param buffersize size of the buffer */ - + @SuppressWarnings("all") public void ReInit(java.io.InputStream dstream, int startline, int startcolumn, int buffersize) @@ -617,9 +618,9 @@ public void ReInit(java.io.InputStream dstream, int startline, * @param encoding the character encoding of the data stream. * @param startline line number of the first character of the stream, mostly for error messages. * @param startcolumn column number of the first character of the stream. - * @throws java.io.UnsupportedEncodingException encoding is invalid or unsupported. + * @throws UnsupportedEncodingException encoding is invalid or unsupported. */ - + @SuppressWarnings("all") public void ReInit(java.io.InputStream dstream, String encoding, int startline, int startcolumn) throws java.io.UnsupportedEncodingException @@ -631,7 +632,7 @@ public void ReInit(java.io.InputStream dstream, String encoding, int startline, * @param startline line number of the first character of the stream, mostly for error messages. * @param startcolumn column number of the first character of the stream. */ - + @SuppressWarnings("all") public void ReInit(java.io.InputStream dstream, int startline, int startcolumn) @@ -641,9 +642,9 @@ public void ReInit(java.io.InputStream dstream, int startline, /** Reinitialise. * @param dstream the underlying data source. * @param encoding the character encoding of the data stream. - * @throws java.io.UnsupportedEncodingException encoding is invalid or unsupported. + * @throws UnsupportedEncodingException encoding is invalid or unsupported. */ - + @SuppressWarnings("all") public void ReInit(java.io.InputStream dstream, String encoding) throws java.io.UnsupportedEncodingException { @@ -653,7 +654,7 @@ public void ReInit(java.io.InputStream dstream, String encoding) throws java.io. /** Reinitialise. * @param dstream the underlying data source. */ - + @SuppressWarnings("all") public void ReInit(java.io.InputStream dstream) { @@ -662,7 +663,7 @@ public void ReInit(java.io.InputStream dstream) /** Get the token timage. * @return token image as String */ - + @SuppressWarnings("all") public String GetImage() { @@ -676,7 +677,7 @@ public String GetImage() /** Get the suffix as an array of characters. * @param len the length of the array to return. * @return suffix */ - + @SuppressWarnings("all") public char[] GetSuffix(int len) { @@ -695,7 +696,7 @@ public char[] GetSuffix(int len) } /** Set buffers back to null when finished. */ - + @SuppressWarnings("all") public void Done() { @@ -711,7 +712,7 @@ public void Done() * @param newLine the new line number. * @param newCol the new column number. */ - + @SuppressWarnings("all") public void adjustBeginLineColumn(int newLine, int newCol) { diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/lang/sparql_11/TokenMgrError.java b/jena-arq/src/main/java/org/apache/jena/sparql/lang/sparql_11/TokenMgrError.java index baff41ede86..a7d04ca9323 100644 --- a/jena-arq/src/main/java/org/apache/jena/sparql/lang/sparql_11/TokenMgrError.java +++ b/jena-arq/src/main/java/org/apache/jena/sparql/lang/sparql_11/TokenMgrError.java @@ -105,11 +105,10 @@ protected static final String addEscapes(String str) { * Note: You can customize the lexical error message by modifying this method. */ protected static String LexicalErr(boolean EOFSeen, int lexState, int errorLine, int errorColumn, String errorAfter, int curChar) { - char curChar1 = (char)curChar; return("Lexical error at line " + // errorLine + ", column " + // errorColumn + ". Encountered: " + // - (EOFSeen ? "" : ("'" + addEscapes(String.valueOf(curChar)) + "' (" + (int)curChar + "),")) + // + (EOFSeen ? "" : ("'" + addEscapes(String.valueOf(curChar)) + "' (" + curChar + "),")) + // (errorAfter == null || errorAfter.length() == 0 ? "" : " after prefix \"" + addEscapes(errorAfter) + "\"")) + // (lexState == 0 ? "" : " (in lexical state " + lexState + ")"); } @@ -147,4 +146,4 @@ public TokenMgrError(boolean EOFSeen, int lexState, int errorLine, int errorColu this(LexicalErr(EOFSeen, lexState, errorLine, errorColumn, errorAfter, curChar), reason); } } -/* JavaCC - OriginalChecksum=bac6a264c897b52c9c1f67facccb2bde (do not edit this line) */ +/* JavaCC - OriginalChecksum=b8503915d6e2e75526fb396931f35aa6 (do not edit this line) */ 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 0930a7e45af..093574a9633 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 @@ -341,6 +341,15 @@ public void visit(ElementOptional el) { out.decIndent(INDENT); } + @Override + public void visit(ElementLateral el) { + out.print("LATERAL"); + out.incIndent(INDENT); + out.newline(); + visitAsGroup(el.getLateralElement()); + out.decIndent(INDENT); + } + @Override public void visit(ElementNamedGraph el) { visitNodePattern("GRAPH", el.getGraphNameNode(), el.getElement()); 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 1f7cbf83d7b..90194a9d83e 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 @@ -66,18 +66,21 @@ public class Tags public static final String tagFilter = "filter"; public static final String tagLabel = "label"; public static final String tagService = "service"; - public static final String tagProc = "proc"; - public static final String tagPropFunc = "propfunc"; public static final String tagJoin = "join"; - public static final String tagSequence = "sequence"; - public static final String tagDisjunction = "disjunction"; + public static final String tagLateral = "lateral"; public static final String tagLeftJoin = "leftjoin"; - public static final String tagConditional = "conditional"; public static final String tagDiff = "diff"; public static final String tagMinus = "minus"; public static final String tagUnion = "union"; public static final String tagDatasetNames = "datasetnames"; + // Additional operators. + public static final String tagProc = "proc"; + public static final String tagPropFunc = "propfunc"; + public static final String tagSequence = "sequence"; + public static final String tagDisjunction = "disjunction"; + public static final String tagConditional = "conditional"; + public static final String tagToList = "tolist"; public static final String tagOrderBy = "order"; public static final String tagTopN = "top"; @@ -150,6 +153,7 @@ public class Tags public static final String tagSubtract = "subtract"; public static final String tagUnaryMinus = "unaryminus"; public static final String symMult = "*"; + public static final String symStar = "*"; // Synonym public static final String tagMultiply = "multiply"; public static final String symDiv = "/"; public static final String tagDivide = "divide"; 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 8e7a3d5e594..32a1ad7636c 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 @@ -82,6 +82,7 @@ public BuilderOp() addBuild(Tags.tagMinus, buildMinus); addBuild(Tags.tagUnion, buildUnion); addBuild(Tags.tagDatasetNames, buildDatasetNames); + addBuild(Tags.tagLateral, buildLateral); addBuild(Tags.tagConditional, buildConditional); addBuild(Tags.tagToList, buildToList); @@ -358,6 +359,14 @@ final private void addOps(OpN op, ItemList list) return new OpDatasetNames(n); }; + final protected Build buildLateral = (ItemList list) -> { + BuilderLib.checkLength(3, 4, list, "lateral"); + Op left = build(list, 1); + Op right = build(list, 2); + Op op = OpLateral.create(left, right); + return op; + }; + final protected Build buildConditional = (ItemList list) -> { BuilderLib.checkLength(2, 3, list, "condition"); Op left = build(list, 1); 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 032377287eb..5e9a339de98 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 @@ -129,6 +129,15 @@ private void visitOpN(OpN op) { finish(op); } + private void visitOp2(Op2 op) { + start(op, NL); + printOp(op.getLeft()); + out.ensureStartOfLine(); + printOp(op.getRight()); + finish(op); + } + + // Op2 with a associate expression (e.g. LeftJoin). private void visitOp2(Op2 op, ExprList exprs) { start(op, NL); printOp(op.getLeft()); @@ -268,7 +277,7 @@ private void outputPF(PropFuncArg pfArg) { @Override public void visit(OpJoin opJoin) { - visitOp2(opJoin, null); + visitOp2(opJoin); } @Override @@ -288,22 +297,27 @@ public void visit(OpLeftJoin opLeftJoin) { @Override public void visit(OpDiff opDiff) { - visitOp2(opDiff, null); + visitOp2(opDiff); } @Override public void visit(OpMinus opMinus) { - visitOp2(opMinus, null); + visitOp2(opMinus); } @Override public void visit(OpUnion opUnion) { - visitOp2(opUnion, null); + visitOp2(opUnion); + } + + @Override + public void visit(OpLateral opLateral) { + visitOp2(opLateral); } @Override public void visit(OpConditional opCondition) { - visitOp2(opCondition, null); + visitOp2(opCondition); } @Override diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/syntax/Element.java b/jena-arq/src/main/java/org/apache/jena/sparql/syntax/Element.java index c27cfc019b9..c9ec7cc1c82 100644 --- a/jena-arq/src/main/java/org/apache/jena/sparql/syntax/Element.java +++ b/jena-arq/src/main/java/org/apache/jena/sparql/syntax/Element.java @@ -26,32 +26,32 @@ public abstract class Element { public abstract void visit(ElementVisitor v) ; - + @Override public abstract int hashCode() ; // If the labelMap is null, do .equals() on nodes, else map from - // bNode varables in one to bNodes variables in the other + // bNode varables in one to bNodes variables in the other public abstract boolean equalTo(Element el2, NodeIsomorphismMap isoMap) ; - + @Override final public boolean equals(Object el2) - { + { if ( this == el2 ) return true ; if ( ! ( el2 instanceof Element ) ) return false ; return equalTo((Element)el2, null) ; } - + @Override public String toString() { return FormatterElement.asString(this) ; } - + // Constants used in hashing to stop an element and it's subelement // (if just one) having the same hash. - + static final int HashBasicGraphPattern = 0xA1 ; static final int HashGroup = 0xA2 ; static final int HashUnion = 0xA3 ; @@ -61,4 +61,5 @@ public String toString() static final int HashNotExists = 0xA7 ; static final int HashPath = 0xA8 ; static final int HashFetch = 0xA9 ; + static final int HashLateral = 0xAA ; } diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/syntax/Element1.java b/jena-arq/src/main/java/org/apache/jena/sparql/syntax/Element1.java index ec3e200c800..bf1e7fbd01a 100644 --- a/jena-arq/src/main/java/org/apache/jena/sparql/syntax/Element1.java +++ b/jena-arq/src/main/java/org/apache/jena/sparql/syntax/Element1.java @@ -24,13 +24,11 @@ public abstract class Element1 extends Element { // Not used very widely. - // For historicial reasons ElementOptional does not use this. - // It could do - it just doesn't. + // For historical reasons ElementOptional does not use this. + // It could do - it just doesn't. private Element element ; protected Element1(Element element) { this.element = element ; } - - public Element getElement() { return element ; } - + public Element getElement() { return element ; } } diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/syntax/ElementLateral.java b/jena-arq/src/main/java/org/apache/jena/sparql/syntax/ElementLateral.java new file mode 100644 index 00000000000..b2116174fa6 --- /dev/null +++ b/jena-arq/src/main/java/org/apache/jena/sparql/syntax/ElementLateral.java @@ -0,0 +1,60 @@ +/* + * 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.List; + +import org.apache.jena.sparql.core.Var; +import org.apache.jena.sparql.util.NodeIsomorphismMap; + +/** LATERAL */ + +public class ElementLateral extends Element +{ + private final Element right ; + + public ElementLateral(Element right) { + this(right, null, false); + } + + private ElementLateral(Element right, List vars, boolean seenStar) { + this.right = right ; + } + + public Element getLateralElement() { return right ; } + + @Override + public int hashCode() { + int hash = Element.HashLateral ; + hash = hash ^ getLateralElement().hashCode() ; + return hash ; + } + + @Override + public boolean equalTo(Element el2, NodeIsomorphismMap isoMap) { + if ( el2 == null ) return false ; + if ( ! ( el2 instanceof ElementLateral ) ) + return false ; + ElementLateral other = (ElementLateral)el2 ; + return getLateralElement().equalTo(other.getLateralElement(), isoMap); + } + + @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 c1e7cf12d6c..97ffe1c8d19 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 @@ -28,6 +28,7 @@ public interface ElementVisitor public void visit(ElementData el) ; public void visit(ElementUnion el) ; public void visit(ElementOptional el) ; + public void visit(ElementLateral el) ; public void visit(ElementGroup el) ; public void visit(ElementDataset el) ; public void visit(ElementNamedGraph 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 3c1094df515..f460529d0c4 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 @@ -48,6 +48,9 @@ public void visit(ElementDataset el) { } @Override public void visit(ElementOptional el) { } + @Override + public void visit(ElementLateral el) { } + @Override public void visit(ElementGroup 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 4dd4da0982d..92fcce4e3a7 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 @@ -18,201 +18,186 @@ package 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.
- * Does not process subqueries.
- * Does not process (NOT)EXISTS in filters.
- * 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. +/** + * An element visitor that walks the graph pattern tree for one query level. applying + * a visitor at each Element traversed.
+ * Does not process subqueries.
+ * Does not process (NOT)EXISTS in filters.
+ * 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 -{ - public static void walk(Element el, ElementVisitor visitor) - { - walk(el, visitor, null, null) ; +public class ElementWalker { + public static void walk(Element el, ElementVisitor visitor) { + walk(el, visitor, null, null); } - public static void walk(Element el, ElementVisitor visitor, ElementVisitor beforeVisitor, ElementVisitor afterVisitor) - { - EltWalker w = new EltWalker(visitor, beforeVisitor, afterVisitor) ; - el.visit(w) ; + public static void walk(Element el, ElementVisitor visitor, ElementVisitor beforeVisitor, ElementVisitor afterVisitor) { + EltWalker w = new EltWalker(visitor, beforeVisitor, afterVisitor); + el.visit(w); } - protected static void walk$(Element el, EltWalker walker) - { - el.visit(walker) ; + protected static void walk$(Element el, EltWalker walker) { + el.visit(walker); } - static class EltWalker implements ElementVisitor - { - protected final ElementVisitor proc ; - protected final ElementVisitor beforeVisitor ; - protected final ElementVisitor afterVisitor ; + static class EltWalker implements ElementVisitor { + 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 ; + protected EltWalker(ElementVisitor visitor, ElementVisitor beforeVisitor, ElementVisitor afterVisitor) { + proc = visitor; + this.beforeVisitor = beforeVisitor; + this.afterVisitor = afterVisitor; } - private void before(Element elt) - { + private void before(Element elt) { if ( beforeVisitor != null ) - elt.visit(beforeVisitor) ; + elt.visit(beforeVisitor); } - private void after(Element elt) - { + private void after(Element elt) { if ( afterVisitor != null ) - elt.visit(afterVisitor) ; + elt.visit(afterVisitor); } @Override - public void visit(ElementTriplesBlock el) - { - before(el) ; - proc.visit(el) ; - after(el) ; + public void visit(ElementTriplesBlock el) { + before(el); + proc.visit(el); + after(el); } @Override - public void visit(ElementFilter el) - { - before(el) ; - proc.visit(el) ; - after(el) ; + public void visit(ElementFilter el) { + before(el); + proc.visit(el); + after(el); } @Override - public void visit(ElementAssign el) - { - before(el) ; - proc.visit(el) ; - after(el) ; + public void visit(ElementAssign el) { + before(el); + proc.visit(el); + after(el); } @Override - public void visit(ElementBind el) - { - before(el) ; - proc.visit(el) ; - after(el) ; + public void visit(ElementBind el) { + before(el); + proc.visit(el); + after(el); } @Override - public void visit(ElementData el) - { - before(el) ; - proc.visit(el) ; - after(el) ; + public void visit(ElementData el) { + before(el); + proc.visit(el); + after(el); } @Override - public void visit(ElementUnion el) - { - before(el) ; + public void visit(ElementUnion el) { + before(el); for ( Element e : el.getElements() ) - e.visit(this) ; - proc.visit(el) ; - after(el) ; + e.visit(this); + proc.visit(el); + after(el); } @Override - public void visit(ElementGroup el) - { - before(el) ; - for (Element e : el.getElements()) - e.visit(this) ; - proc.visit(el) ; - after(el) ; + public void visit(ElementGroup el) { + before(el); + for ( Element e : el.getElements() ) + e.visit(this); + proc.visit(el); + after(el); } @Override - public void visit(ElementOptional el) - { - before(el) ; + public void visit(ElementOptional el) { + before(el); if ( el.getOptionalElement() != null ) - el.getOptionalElement().visit(this) ; - proc.visit(el) ; - after(el) ; + el.getOptionalElement().visit(this); + proc.visit(el); + after(el); + } + + @Override + public void visit(ElementLateral el) { + before(el); + if ( el.getLateralElement() != null ) + el.getLateralElement().visit(this); + proc.visit(el); + after(el); } @Override - public void visit(ElementDataset el) - { - before(el) ; + public void visit(ElementDataset el) { + before(el); if ( el.getElement() != null ) - el.getElement().visit(this) ; - proc.visit(el) ; - after(el) ; + el.getElement().visit(this); + proc.visit(el); + after(el); } @Override - public void visit(ElementNamedGraph el) - { - before(el) ; + public void visit(ElementNamedGraph el) { + before(el); if ( el.getElement() != null ) - el.getElement().visit(this) ; - proc.visit(el) ; - after(el) ; + el.getElement().visit(this); + proc.visit(el); + after(el); } @Override - public void visit(ElementService el) - { - before(el) ; + public void visit(ElementService el) { + before(el); if ( el.getElement() != null ) - el.getElement().visit(this) ; - proc.visit(el) ; - after(el) ; + el.getElement().visit(this); + proc.visit(el); + after(el); } // EXISTs, NOT EXISTs also occur in FILTERs via expressions. @Override - public void visit(ElementExists el) - { - before(el) ; - proc.visit(el) ; - after(el) ; + public void visit(ElementExists el) { + before(el); + proc.visit(el); + after(el); } @Override - public void visit(ElementNotExists el) - { - before(el) ; - proc.visit(el) ; - after(el) ; + public void visit(ElementNotExists el) { + before(el); + proc.visit(el); + after(el); } @Override - public void visit(ElementMinus el) - { - before(el) ; + public void visit(ElementMinus el) { + before(el); if ( el.getMinusElement() != null ) - el.getMinusElement().visit(this) ; - proc.visit(el) ; - after(el) ; + el.getMinusElement().visit(this); + proc.visit(el); + after(el); } @Override - public void visit(ElementSubQuery el) - { - before(el) ; + public void visit(ElementSubQuery el) { + before(el); // This does not automatically walk into the subquery. - proc.visit(el) ; - after(el) ; + proc.visit(el); + after(el); } @Override - public void visit(ElementPathBlock el) - { - before(el) ; - proc.visit(el) ; - after(el) ; + public void visit(ElementPathBlock el) { + before(el); + proc.visit(el); + after(el); } } } 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 deleted file mode 100644 index a7993e69eed..00000000000 --- a/jena-arq/src/main/java/org/apache/jena/sparql/syntax/RecursiveElementVisitor.java +++ /dev/null @@ -1,240 +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.syntax; - - -/**

Visitor pattern helper that walks the entire tree calling operations - * are various points in the walking process. It is a depth first traversal.

- * - *

Every visit operation is bracketted by a start/end pair making the - * calling points: - *

- *
    - *
  • start of element
  • - *
  • start each sub element
  • - *
  • end of each sub element
  • - *
  • end of element
  • - *
- *

The calls before and after subElements pass in the containing Element. - * These calls are in addition to the start/end call on elements as - * part of the recursive walk.

- * - *

Usage: inherit from this class and implement startElement/endElement as needed. - * The ElementWalker is like implementing endElement.

- */ - -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(ElementAssign el) {} - public void endElement (ElementAssign el) {} - - public void startElement(ElementBind el) {} - public void endElement (ElementBind el) {} - - public void startElement(ElementData el) {} - public void endElement (ElementData el) {} - - public void startElement(ElementUnion el) {} - public void endElement (ElementUnion el) {} - public void startSubElement(ElementUnion el, Element subElt) {} - public void endSubElement (ElementUnion el, Element subElt) {} - - public void startElement(ElementGroup el) {} - public void endElement (ElementGroup el) {} - public void startSubElement(ElementGroup el, Element subElt) {} - public void endSubElement (ElementGroup el, Element subElt) {} - - public void startElement(ElementOptional el) {} - public void endElement (ElementOptional el) {} - - public void startElement(ElementNamedGraph el) {} - public void endElement (ElementNamedGraph el) {} - - public void startElement(ElementService el) {} - public void endElement (ElementService el) {} - - public void startElement(ElementExists el) {} - public void endElement (ElementExists el) {} - - public void startElement(ElementNotExists el) {} - public void endElement (ElementNotExists el) {} - - public void startElement(ElementMinus el) {} - public void endElement (ElementMinus el) {} - - public void endElement(ElementSubQuery el) {} - public void startElement(ElementSubQuery el) {} - - public void endElement(ElementPathBlock el) {} - 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) - { - startElement(el) ; - el.getElement().visit(this) ; - endElement(el) ; - } - - @Override - public final void visit(ElementFilter el) - { - startElement(el) ; - endElement(el) ; - } - - @Override - public void visit(ElementAssign el) - { - startElement(el) ; - endElement(el) ; - } - - @Override - public void visit(ElementBind el) - { - startElement(el) ; - endElement(el) ; - } - - @Override - public void visit(ElementData el) - { - startElement(el) ; - endElement(el) ; - } - - @Override - public final void visit(ElementUnion el) - { - startElement(el) ; - for ( Element subElement : el.getElements() ) - { - startSubElement(el, subElement) ; - subElement.visit(this) ; - endSubElement(el, subElement) ; - } - endElement(el) ; - } - - @Override - public final void visit(ElementGroup el) - { - startElement(el) ; - for ( Element subElement : el.getElements() ) - { - startSubElement(el, subElement) ; - subElement.visit(this) ; - endSubElement(el, subElement) ; - } - endElement(el) ; - } - - @Override - public final void visit(ElementOptional el) - { - startElement(el) ; - el.getOptionalElement().visit(this) ; - endElement(el) ; - } - - @Override - public final void visit(ElementNamedGraph el) - { - startElement(el) ; - el.getElement().visit(this) ; - endElement(el) ; - } - - @Override - public final void visit(ElementService el) - { - startElement(el) ; - el.getElement().visit(this) ; - endElement(el) ; - } - - @Override - public final void visit(ElementExists el) - { - startElement(el) ; - el.getElement().visit(this) ; - endElement(el) ; - } - - @Override - public final void visit(ElementNotExists el) - { - startElement(el) ; - el.getElement().visit(this) ; - endElement(el) ; - } - - @Override - public final void visit(ElementMinus el) - { - startElement(el) ; - el.getMinusElement().visit(this) ; - endElement(el) ; - } - - @Override - public void visit(ElementSubQuery el) - { - startElement(el) ; - endElement(el) ; - } - - @Override - public void visit(ElementPathBlock el) - { - startElement(el) ; - endElement(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 1769155ec16..43a93006347 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 @@ -112,6 +112,13 @@ public void visit(ElementOptional el) { push(el2) ; } + @Override + public void visit(ElementLateral el) { + Element elSub = pop() ; + Element el2 = transform.transform(el, elSub) ; + push(el2) ; + } + @Override public void visit(ElementGroup el) { ElementGroup newElt = new ElementGroup() ; 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 3ed995fef7b..954ced762f1 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 @@ -44,6 +44,7 @@ public interface ElementTransform public Element transform(ElementDataset el, Element subElt); public Element transform(ElementUnion el, List elements); public Element transform(ElementOptional el, Element opElt); + public Element transform(ElementLateral el, Element opElt); public Element transform(ElementGroup el, List members); public Element transform(ElementNamedGraph el, Node gn, Element subElt); public Element transform(ElementExists el, Element subElt); 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 474e674c976..360011eed3d 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 @@ -128,6 +128,13 @@ public Element transform(ElementOptional el, Element elt1) { return new ElementOptional(elt1) ; } + @Override + public Element transform(ElementLateral el, Element elt1) { + if ( !alwaysCopy && el.getLateralElement() == elt1 ) + return el ; + return new ElementLateral(elt1); + } + @Override public Element transform(ElementGroup el, List elts) { if ( !alwaysCopy && el.getElements() == elts ) 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 d59afc35f85..7809f1bef5a 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 @@ -59,7 +59,9 @@ private ElementTransformIdentity() {} @Override public Element transform(ElementUnion el, List elements) { return el ; } @Override - public Element transform(ElementOptional el, Element opElt) { return el ; } + public Element transform(ElementOptional el, Element subElt) { return el ; } + @Override + public Element transform(ElementLateral el, Element subElt) { return el ; } @Override public Element transform(ElementGroup el, List members) { return el ; } @Override