You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jena.apache.org by an...@apache.org on 2021/06/22 19:45:58 UTC
[jena] branch main updated: JENA-2122: IDIV and MOD
This is an automated email from the ASF dual-hosted git repository.
andy pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/jena.git
The following commit(s) were added to refs/heads/main by this push:
new abdb02e JENA-2122: IDIV and MOD
new 5047dff Merge pull request #1017 from afs/decimal-divide
abdb02e is described below
commit abdb02e425e223666e7a4e67a6702691dd8a234a
Author: Andy Seaborne <an...@apache.org>
AuthorDate: Tue Jun 22 09:34:13 2021 +0100
JENA-2122: IDIV and MOD
---
jena-arq/Grammar/arq.jj | 8 +
jena-arq/Grammar/main.jj | 20 +-
jena-arq/Grammar/tokens.txt | 8 +-
.../jena/sparql/expr/E_OpNumericIntegerDivide.java | 38 +
.../apache/jena/sparql/expr/E_OpNumericMod.java | 38 +
.../org/apache/jena/sparql/expr/NodeValue.java | 7 +-
.../jena/sparql/expr/nodevalue/XSDFuncOp.java | 103 ++-
.../jena/sparql/function/StandardFunctions.java | 65 +-
.../function/library/Op_NumericIntegerDivide.java | 32 +
.../sparql/function/library/Op_NumericMod.java | 32 +
.../org/apache/jena/sparql/lang/arq/ARQParser.java | 696 +++++++-------
.../jena/sparql/lang/arq/ARQParserConstants.java | 254 +++---
.../sparql/lang/arq/ARQParserTokenManager.java | 996 +++++++++++----------
.../main/java/org/apache/jena/sparql/sse/Tags.java | 3 +
.../jena/sparql/sse/builders/BuilderExpr.java | 17 +
.../org/apache/jena/sparql/expr/LibTestExpr.java | 24 +-
.../java/org/apache/jena/sparql/expr/TS_Expr.java | 1 +
.../apache/jena/sparql/expr/TestExpressions.java | 2 +
.../apache/jena/sparql/expr/TestExpressions3.java | 8 +-
.../apache/jena/sparql/expr/TestExpressions4.java | 87 ++
.../jena/sparql/expr/TestExpressionsMath.java | 35 +-
.../jena/sparql/expr/TestLeviathanFunctions.java | 36 +-
.../org/apache/jena/sparql/expr/TestXSDFuncOp.java | 290 +++---
23 files changed, 1644 insertions(+), 1156 deletions(-)
diff --git a/jena-arq/Grammar/arq.jj b/jena-arq/Grammar/arq.jj
index f2403a2..a374a34 100644
--- a/jena-arq/Grammar/arq.jj
+++ b/jena-arq/Grammar/arq.jj
@@ -1341,6 +1341,10 @@ Expr MultiplicativeExpression() : { Expr expr1, expr2 ; }
{ expr1 = new E_Multiply(expr1, expr2) ; }
| <SLASH> expr2 = UnaryExpression()
{ expr1 = new E_Divide(expr1, expr2) ; }
+ | <MOD> expr2 = UnaryExpression()
+ { expr1 = new E_OpNumericMod(expr1, expr2) ; }
+ | <IDIV> expr2 = UnaryExpression()
+ { expr1 = new E_OpNumericIntegerDivide(expr1, expr2) ; }
)*
{ return expr1 ; }
}
@@ -1420,6 +1424,8 @@ Expr BuiltInCall() : { Expr expr ;
| <CEIL> <LPAREN> expr1 = Expression() <RPAREN> { return new E_NumCeiling(expr1) ; }
| <FLOOR> <LPAREN> expr1 = Expression() <RPAREN> { return new E_NumFloor(expr1) ; }
| <ROUND> <LPAREN> expr1 = Expression() <RPAREN> { return new E_NumRound(expr1) ; }
+ | <MOD> <LPAREN> expr1 = Expression() <COMMA> expr2 = Expression() <RPAREN> { return new E_OpNumericMod(expr1, expr2); }
+ | <IDIV> <LPAREN> expr1 = Expression() <COMMA> expr2 = Expression() <RPAREN> { return new E_OpNumericIntegerDivide(expr1, expr2); }
| <CONCAT> a = ExpressionList() { return new E_StrConcat(a) ; }
| expr = SubstringExpression() { return expr ; }
| <STRLEN> <LPAREN> expr1 = Expression() <RPAREN> { return new E_StrLength(expr1) ; }
@@ -1829,6 +1835,8 @@ TOKEN [IGNORE_CASE] :
| < CEIL: "CEIL" >
| < FLOOR: "FLOOR" >
| < ROUND: "ROUND" >
+| < MOD: "MOD" >
+| < IDIV: "IDIV" >
| < CONCAT: "CONCAT" >
| < SUBSTR: "SUBSTR" >
| < STRLEN: "STRLEN" >
diff --git a/jena-arq/Grammar/main.jj b/jena-arq/Grammar/main.jj
index e510c6a..ac95064 100644
--- a/jena-arq/Grammar/main.jj
+++ b/jena-arq/Grammar/main.jj
@@ -1840,8 +1840,12 @@ Expr MultiplicativeExpression() : { Expr expr1, expr2 ; }
{ expr1 = new E_Multiply(expr1, expr2) ; }
| <SLASH> expr2 = UnaryExpression()
{ expr1 = new E_Divide(expr1, expr2) ; }
-// | <REM> expr2 = UnaryExpression()
-// { expr1 = new E_Modulus(expr1, expr2) ; }
+#ifdef ARQ
+ | <MOD> expr2 = UnaryExpression()
+ { expr1 = new E_OpNumericMod(expr1, expr2) ; }
+ | <IDIV> expr2 = UnaryExpression()
+ { expr1 = new E_OpNumericIntegerDivide(expr1, expr2) ; }
+#endif
)*
{ return expr1 ; }
}
@@ -1963,6 +1967,12 @@ Expr BuiltInCall() : { Expr expr ;
| <FLOOR> <LPAREN> expr1 = Expression() <RPAREN> { return new E_NumFloor(expr1) ; }
| <ROUND> <LPAREN> expr1 = Expression() <RPAREN> { return new E_NumRound(expr1) ; }
+
+#if ARQ
+ | <MOD> <LPAREN> expr1 = Expression() <COMMA> expr2 = Expression() <RPAREN> { return new E_OpNumericMod(expr1, expr2); }
+
+ | <IDIV> <LPAREN> expr1 = Expression() <COMMA> expr2 = Expression() <RPAREN> { return new E_OpNumericIntegerDivide(expr1, expr2); }
+#endif
| <CONCAT> a = ExpressionList() { return new E_StrConcat(a) ; }
@@ -2564,6 +2574,11 @@ TOKEN [IGNORE_CASE] :
| < CEIL: "CEIL" >
| < FLOOR: "FLOOR" >
| < ROUND: "ROUND" >
+#ifdef ARQ
+| < MOD: "MOD" >
+| < IDIV: "IDIV" >
+#endif
+
| < CONCAT: "CONCAT" >
| < SUBSTR: "SUBSTR" >
| < STRLEN: "STRLEN" >
@@ -2741,7 +2756,6 @@ TOKEN :
| < STAR: "*" >
| < SLASH: "/" >
-//| < AMP: "&" >
//| < REM: "%" >
| < DATATYPE: "^^">
diff --git a/jena-arq/Grammar/tokens.txt b/jena-arq/Grammar/tokens.txt
index 3be2240..bd4e4e6 100644
--- a/jena-arq/Grammar/tokens.txt
+++ b/jena-arq/Grammar/tokens.txt
@@ -125,6 +125,9 @@
[<CEIL>] ::= 'CEIL'
[<FLOOR>] ::= 'FLOOR'
[<ROUND>] ::= 'ROUND'
+[<IDIV>] ::= 'IDIV'
+[<MOD>] ::= 'MOD'
+
[<CONCAT>] ::= 'CONCAT'
[<SUBSTR>] ::= 'SUBSTR'
[<STRLEN>] ::= 'STRLEN'
@@ -225,11 +228,8 @@
[<BLK1_L>] ::= '(|'
[<BLK1_R>] ::= '|)'
-[<BLK2_L>] ::= '{|'
-[<BLK2_R>] ::= '|}'
-
//[<ANON>] ::= '[' ']'
-<ANON> ::= '[' <WS>* ']'
+<ANON> ::= '[' <WS>* ']'
[<SEMICOLON>] ::= ';'
[<COMMA>] ::= ','
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/expr/E_OpNumericIntegerDivide.java b/jena-arq/src/main/java/org/apache/jena/sparql/expr/E_OpNumericIntegerDivide.java
new file mode 100644
index 0000000..bf54214
--- /dev/null
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/expr/E_OpNumericIntegerDivide.java
@@ -0,0 +1,38 @@
+/*
+ * 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.expr;
+
+import org.apache.jena.sparql.expr.nodevalue.XSDFuncOp;
+import org.apache.jena.sparql.sse.Tags;
+
+public class E_OpNumericIntegerDivide extends ExprFunction2 {
+ private static final String symbol = Tags.tagIDiv;
+
+ public E_OpNumericIntegerDivide(Expr expr1, Expr expr2) {
+ super(expr1, expr2, symbol);
+ }
+
+ @Override
+ public NodeValue eval(NodeValue nv1, NodeValue nv2) {
+ return XSDFuncOp.numIntegerDivide(nv1, nv2);
+ }
+
+ @Override
+ public Expr copy(Expr e1, Expr e2) { return new E_OpNumericIntegerDivide(e1, e2); }
+}
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/expr/E_OpNumericMod.java b/jena-arq/src/main/java/org/apache/jena/sparql/expr/E_OpNumericMod.java
new file mode 100644
index 0000000..07797fd
--- /dev/null
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/expr/E_OpNumericMod.java
@@ -0,0 +1,38 @@
+/*
+ * 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.expr;
+
+import org.apache.jena.sparql.expr.nodevalue.XSDFuncOp;
+import org.apache.jena.sparql.sse.Tags;
+
+public class E_OpNumericMod extends ExprFunction2 {
+ private static final String symbol = Tags.tagMod;
+
+ public E_OpNumericMod(Expr expr1, Expr expr2) {
+ super(expr1, expr2, symbol);
+ }
+
+ @Override
+ public NodeValue eval(NodeValue nv1, NodeValue nv2) {
+ return XSDFuncOp.numericMod(nv1, nv2);
+ }
+
+ @Override
+ public Expr copy(Expr e1, Expr e2) { return new E_OpNumericMod(e1, e2); }
+}
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/expr/NodeValue.java b/jena-arq/src/main/java/org/apache/jena/sparql/expr/NodeValue.java
index 11c78c6..b129d91 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/expr/NodeValue.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/expr/NodeValue.java
@@ -37,6 +37,7 @@ import org.apache.jena.atlas.logging.Log ;
import org.apache.jena.datatypes.DatatypeFormatException ;
import org.apache.jena.datatypes.RDFDatatype ;
import org.apache.jena.datatypes.TypeMapper ;
+import org.apache.jena.datatypes.xsd.XSDDatatype;
import org.apache.jena.datatypes.xsd.XSDDateTime ;
import org.apache.jena.ext.xerces.DatatypeFactoryInst;
import org.apache.jena.graph.Node ;
@@ -340,8 +341,10 @@ public abstract class NodeValue extends ExprNode
public static NodeValue makeNodeDecimal(BigDecimal decimal)
{
- NodeValue nv = XSDFuncOp.canonicalDecimalNV(decimal) ;
- return nv ;
+ String lex = XSDFuncOp.canonicalDecimalStr(decimal);
+ return NodeValue.makeNode(lex, XSDDatatype.XSDdecimal) ;
+// NodeValue nv = XSDFuncOp.canonicalDecimalNV(decimal) ;
+// return nv ;
}
public static NodeValue makeNodeDecimal(String lexicalForm)
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/expr/nodevalue/XSDFuncOp.java b/jena-arq/src/main/java/org/apache/jena/sparql/expr/nodevalue/XSDFuncOp.java
index 6faed1a..017cf3b 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/expr/nodevalue/XSDFuncOp.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/expr/nodevalue/XSDFuncOp.java
@@ -129,8 +129,6 @@ public class XSDFuncOp
public static NodeValue numDivide(NodeValue nv1, NodeValue nv2) {
switch (classifyNumeric("divide", nv1, nv2)) {
case OP_INTEGER : {
- if ( nv2.getInteger().equals(BigInteger.ZERO) )
- throw new ExprEvalException("Divide by zero in divide") ;
// Note: result is a decimal
BigDecimal d1 = new BigDecimal(nv1.getInteger()) ;
BigDecimal d2 = new BigDecimal(nv2.getInteger()) ;
@@ -157,17 +155,104 @@ public class XSDFuncOp
throw new ExprEvalException("Divide by zero in decimal divide") ;
BigDecimal d3;
try {
+ // Jena 3.16.0 used d1.divide(d2, DIVIDE_PRECISION, BigDecimal.ROUND_FLOOR)
+ // which can looses precision even when there is exact answer.
+ // See JENA-1943 and JENA-2116
+ // Casting the dividend (the left hand value) to xsd:double gets approximate division always.
+
+ // Exact where possible.
+ // But this generates an exception when not exact which can be costly in some situations.
d3 = d1.divide(d2, MathContext.UNLIMITED);
} catch (ArithmeticException ex) {
- // Does not throw ArithmeticException
d3 = d1.divide(d2, DIVIDE_PRECISION, RoundingMode.HALF_EVEN);
}
- return canonicalDecimalNV(d3) ;
+ return NodeValue.makeDecimal(d3) ;
+ }
+
+ /** Integer divide */
+ public static NodeValue numIntegerDivide(NodeValue nv1, NodeValue nv2) {
+ switch (XSDFuncOp.classifyNumeric("idiv", nv1, nv2)) {
+ case OP_INTEGER :
+ BigInteger bi1 = nv1.getInteger();
+ BigInteger bi2 = nv2.getInteger();
+ if ( BigInteger.ZERO.equals(bi2) )
+ throw new ExprEvalException("Divide by zero in IDIV") ;
+ BigInteger bi3 = bi1.divide(bi2);
+ return NodeValue.makeInteger(bi3);
+ case OP_DECIMAL :
+ BigDecimal bd_a = nv1.getDecimal();
+ BigDecimal bd_b = nv2.getDecimal();
+ if ( BigDecimal.ZERO.compareTo(bd_b) == 0 )
+ throw new ExprEvalException("Divide by zero in IDIV") ;
+ BigInteger bi = bd_a.divideToIntegralValue(bd_b).toBigIntegerExact();
+ return NodeValue.makeInteger(bi);
+ case OP_FLOAT : {
+ float arg1 = nv1.getFloat();
+ float arg2 = nv2.getFloat();
+ if ( arg2 == 0.0 )
+ throw new ExprEvalException("Divide by zero in IDIV") ;
+ if ( Float.isNaN(arg1) || Float.isNaN(arg2) )
+ throw new ExprEvalException("Divide by NaN in IDIV") ;
+ if ( Float.isInfinite(arg1) )
+ throw new ExprEvalException("+/-INF in IDIV") ;
+ float f = arg1 / arg2;
+ return NodeValue.makeInteger((long)f);
+ }
+ case OP_DOUBLE : {
+ double arg1 = nv1.getDouble();
+ double arg2 = nv2.getDouble();
+ if ( arg2 == 0.0 )
+ throw new ExprEvalException("Divide by zero in IDIV") ;
+ if ( Double.isNaN(arg1) || Double.isNaN(arg2) )
+ throw new ExprEvalException("Divide by NaN in IDIV") ;
+ if ( Double.isInfinite(arg1) )
+ throw new ExprEvalException("+/-INF in IDIV") ;
+ double d = arg1 / arg2;
+ return NodeValue.makeInteger((long)d);
+ }
+ default :
+ throw new ARQInternalErrorException("Unrecognized numeric operation : (" + nv1 + " ," + nv2 + ")") ;
+ }
}
- public static NodeValue canonicalDecimalNV(BigDecimal d) {
- String x = canonicalDecimalStr(d);
- return NodeValue.makeNode(x, XSDDatatype.XSDdecimal) ;
+ public static NodeValue numericMod(NodeValue nv1, NodeValue nv2) {
+ // F&O modulus operation != Java Number.mod operations.
+ switch (XSDFuncOp.classifyNumeric("mod", nv1, nv2)) {
+ // a = (a idiv b)*b+(a mod b)
+ // => except corner cases (none or xsd:decimal except precision?)
+ // a - (a idiv b)*b
+
+ case OP_INTEGER :
+ // Not BigInteger.mod. F&O != Java.
+ BigInteger bi1 = nv1.getInteger();
+ BigInteger bi2 = nv2.getInteger();
+ if ( BigInteger.ZERO.equals(bi2) )
+ throw new ExprEvalException("Divide by zero in MOD") ;
+ BigInteger bi3 = bi1.remainder(bi2);
+ return NodeValue.makeInteger(bi3);
+ case OP_DECIMAL :
+ BigDecimal bd_a = nv1.getDecimal();
+ BigDecimal bd_b = nv2.getDecimal();
+ if ( BigDecimal.ZERO.compareTo(bd_b) == 0 )
+ throw new ExprEvalException("Divide by zero in MOD") ;
+ // This is the MOD for X&O
+ BigDecimal bd_mod = bd_a.remainder(bd_b);
+ return NodeValue.makeDecimal(bd_mod);
+ case OP_FLOAT :
+ float f1 = nv1.getFloat();
+ float f2 = nv2.getFloat();
+ if ( f2 == 0 )
+ throw new ExprEvalException("Divide by zero in MOD") ;
+ return NodeValue.makeFloat( f1 % f2) ;
+ case OP_DOUBLE :
+ double d1 = nv1.getDouble();
+ double d2 = nv2.getDouble();
+ if ( d2 == 0 )
+ throw new ExprEvalException("Divide by zero in MOD") ;
+ return NodeValue.makeDouble(d1 % d2) ;
+ default :
+ throw new ARQInternalErrorException("Unrecognized numeric operation : (" + nv1 + " ," + nv2 + ")") ;
+ }
}
/**
@@ -389,9 +474,9 @@ public class XSDFuncOp
}
// The following function 'roundXpath3' implements the definition for "fn:round" in F&O v3.
- // This is diffrent to the "fn:round" in F&O v2.
+ // This is different to the "fn:round" in F&O v2.
// SPARQL 1.1 references F&O v2.
- private static BigDecimal roundDecimalValue(BigDecimal dec,int precision,boolean isHalfToEven)
+ private static BigDecimal roundDecimalValue(BigDecimal dec, int precision, boolean isHalfToEven)
{
if(isHalfToEven){
return dec.setScale(precision, RoundingMode.HALF_EVEN);
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/function/StandardFunctions.java b/jena-arq/src/main/java/org/apache/jena/sparql/function/StandardFunctions.java
index 64ce126..47c6c62 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/function/StandardFunctions.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/function/StandardFunctions.java
@@ -30,35 +30,35 @@ public class StandardFunctions
{
/* JENA-508
* Missing: (July 2016)
- *
+ *
* fn:format-dateTime
* fn:format-date
* fn:format-time
- *
+ *
* and adapters to SPARQL operations that have keywords:
* fn:replace
* fn:matches
- * and sparql:* for all the SPARQL builtins.
+ * and sparql:* for all the SPARQL builtins.
*/
-
+
/* Implementation notes
* fn:format-dateTime / fn:format-time / fn:format-date
* This is not Java's SimpleDateFormat.
* It has its own picture syntax.
- * Like adjust-* we may need only one function.
+ * Like adjust-* we may need only one function.
*/
-
+
public static void loadStdDefs(FunctionRegistry registry) {
String xfn = ARQConstants.fnPrefix ;
String math = ARQConstants.mathPrefix ;
String sparqlfn = ARQConstants.fnSparql ;
-
+
// Update documentation in xsd-support.md
-
+
// See also:
// http://www.w3.org/TR/xpath-datamodel/#types-hierarchy
// https://www.w3.org/TR/xpath-datamodel-3/
-
+
addCastNumeric(registry, XSDDatatype.XSDdecimal) ;
addCastNumeric(registry, XSDDatatype.XSDinteger) ;
@@ -66,7 +66,7 @@ public class StandardFunctions
addCastNumeric(registry, XSDDatatype.XSDint) ;
addCastNumeric(registry, XSDDatatype.XSDshort) ;
addCastNumeric(registry, XSDDatatype.XSDbyte) ;
-
+
addCastNumeric(registry, XSDDatatype.XSDnonPositiveInteger) ;
addCastNumeric(registry, XSDDatatype.XSDnegativeInteger) ;
@@ -78,14 +78,14 @@ public class StandardFunctions
addCastNumeric(registry, XSDDatatype.XSDdouble) ;
addCastNumeric(registry, XSDDatatype.XSDfloat) ;
-
+
addCastXSD(registry, XSDDatatype.XSDboolean) ;
addCastXSD(registry, XSDDatatype.XSDduration) ;
addCastXSD(registry, XSDDatatype.XSDdayTimeDuration) ;
addCastXSD(registry, XSDDatatype.XSDyearMonthDuration) ;
addCastXSD(registry, XSDDatatype.XSDstring) ;
addCastXSD(registry, XSDDatatype.XSDanyURI) ;
-
+
addCastTemporal(registry, XSDDatatype.XSDdateTime) ;
addCastTemporal(registry, XSDDatatype.XSDdate) ;
addCastTemporal(registry, XSDDatatype.XSDtime) ;
@@ -100,14 +100,14 @@ public class StandardFunctions
//TODO op:numeric-greater-than etc.
//TODO sparql:* for all the SPARQL builtins.
-
+
// Sections refer to XQ/XP Expression 3.1
// https://www.w3.org/TR/xpath-functions-3/
// 3.1.1 fn:error
add(registry, xfn+"error", FN_Error.class) ;
-
+
// 5.4.1 fn:concat
// 5.4.3 fn:substring
// 5.4.4 fn:string-length
@@ -120,7 +120,7 @@ public class StandardFunctions
// 5.5.3 fn:ends-with
// 5.5.4 fn:substring-before
// 5.5.5 fn:substring-after
-
+
//add(registry, xfn+"string-join", FN_StrJoin.class) ; // Works fn:string-join works on a sequence.
add(registry, xfn+"concat", FN_StrConcat.class) ;
add(registry, xfn+"substring", FN_StrSubstring.class) ;
@@ -145,7 +145,7 @@ public class StandardFunctions
add(registry, xfn+"replace", FN_StrReplace.class) ;
// Not 5.6.4 fn:tokenize - returns a sequence.
-
+
// 4.7.2 fn:format-number
add(registry, xfn+"format-number", FN_FormatNumber.class) ;
@@ -163,7 +163,7 @@ public class StandardFunctions
// 6.2 fn:encode-for-uri
// 6.3 fn:iri-to-uri -- meaningless in SPARQL.
// 6.4 fn:escape-html-uri
-
+
add(registry, xfn+"encode-for-uri", FN_StrEncodeForURI.class) ;
add(registry, xfn+"years-from-date", FN_YearsFromDate.class) ;
@@ -175,7 +175,7 @@ public class StandardFunctions
add(registry, xfn+"minutes-from-time", FN_MinutesFromTime.class) ;
add(registry, xfn+"seconds-from-time", FN_SecondsFromTime.class) ;
add(registry, xfn+"timezone-from-time", FN_TimezoneFromTime.class) ;
-
+
add(registry, xfn+"dateTime", FN_DateTime.class) ;
add(registry, xfn+"years-from-dateTime", FN_YearsFromDateTime.class) ;
add(registry, xfn+"months-from-dateTime", FN_MonthsFromDateTime.class) ;
@@ -191,12 +191,12 @@ public class StandardFunctions
add(registry, xfn+"hours-from-duration", FN_HoursFromDuration.class) ;
add(registry, xfn+"minutes-from-duration", FN_MinutesFromDuration.class) ;
add(registry, xfn+"seconds-from-duration", FN_SecondsFromDuration.class) ;
-
+
// 7.3.1 fn:boolean
// 7.3.2 fn:not
add(registry, xfn+"boolean", FN_BEV.class) ;
add(registry, xfn+"not", FN_Not.class) ;
-
+
// XQ/XP 3.
// 9.6.1 fn:adjust-dateTime-to-timezone
add(registry, xfn+"adjust-dateTime-to-timezone", FN_AdjustDatetimeToTimezone.class) ;
@@ -207,12 +207,12 @@ public class StandardFunctions
// 9.8.1 fn:format-dateTime
// 9.8.2 fn:format-date
// 9.8.3 fn:format-time
-
-
+
+
// 15.6 fn:implicit-timezone -> xsd:dayTimeDuration
add(registry, xfn+"implicit-timezone", FN_Timezone.class) ;
// Also available as afn:timezone.
-
+
// math:
// 4.8 Trigonometric and exponential functions
// 4.8.1 math:pi
@@ -229,19 +229,19 @@ public class StandardFunctions
// 4.8.12 math:acos
// 4.8.13 math:atan
// 4.8.14 math:atan2
-
+
// check.
- add(registry, math+"pi", pi.class) ;
+ add(registry, math+"pi", pi.class) ;
add(registry, math+"exp", Math_exp.class) ; // -> XSDFuncOp
add(registry, math+"exp10", Math_exp10.class) ; // -> XSDFuncOp
- // Levianthan "log" is a function which takes one or two arguments.
+ // Levianthan "log" is a function which takes one or two arguments.
add(registry, math+"log", Math_log.class) ; // -> XSDFuncOp ln.class?
add(registry, math+"log10", Math_log10.class) ; // -> XSDFuncOp // - rename
- // math_pow : integer preserving, otherwise doubles.
+ // math_pow : integer preserving, otherwise doubles.
add(registry, math+"pow", Math_pow.class) ; // -> XSDFuncOp
add(registry, math+"sqrt", sqrt.class) ;
-
+
// From leviathan, with math: naming.
add(registry, math+"sin", sin.class) ;
add(registry, math+"cos", cos.class) ;
@@ -249,13 +249,16 @@ public class StandardFunctions
add(registry, math+"asin", sin1.class) ;
add(registry, math+"acos", cos1.class) ;
add(registry, math+"atan", tan1.class) ;
-
+
add(registry, math+"atan2", Math_atan2.class) ;
-
+
// F&O 3.1
add(registry, xfn+"apply", FN_Apply.class);
add(registry, xfn+"collation-key", FN_CollationKey.class);
+ add(registry, xfn+"numeric-mod", Op_NumericMod.class);
+ add(registry, xfn+"numeric-integer-divide", Op_NumericIntegerDivide.class);
+
// And add op:'s
// 4.2.1 op:numeric-add
// 4.2.2 op:numeric-subtract
@@ -314,7 +317,7 @@ public class StandardFunctions
// 9.7.13 op:add-dayTimeDuration-to-time
// 9.7.14 op:subtract-dayTimeDuration-from-time
}
-
+
private static void addCastXSD(FunctionRegistry registry, XSDDatatype dt) {
registry.put(dt.getURI(), new FunctionCastXSD(dt)) ;
}
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/function/library/Op_NumericIntegerDivide.java b/jena-arq/src/main/java/org/apache/jena/sparql/function/library/Op_NumericIntegerDivide.java
new file mode 100644
index 0000000..5fa70d8
--- /dev/null
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/function/library/Op_NumericIntegerDivide.java
@@ -0,0 +1,32 @@
+/*
+ * 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.function.library;
+
+import org.apache.jena.sparql.expr.NodeValue;
+import org.apache.jena.sparql.expr.nodevalue.XSDFuncOp;
+import org.apache.jena.sparql.function.FunctionBase2;
+
+public class Op_NumericIntegerDivide extends FunctionBase2 {
+ public Op_NumericIntegerDivide() { super() ; }
+
+ @Override
+ public NodeValue exec(NodeValue v1, NodeValue v2) {
+ return XSDFuncOp.numIntegerDivide(v1, v2);
+ }
+}
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/function/library/Op_NumericMod.java b/jena-arq/src/main/java/org/apache/jena/sparql/function/library/Op_NumericMod.java
new file mode 100644
index 0000000..6f89cca
--- /dev/null
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/function/library/Op_NumericMod.java
@@ -0,0 +1,32 @@
+/*
+ * 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.function.library;
+
+import org.apache.jena.sparql.expr.NodeValue;
+import org.apache.jena.sparql.expr.nodevalue.XSDFuncOp;
+import org.apache.jena.sparql.function.FunctionBase2;
+
+public class Op_NumericMod extends FunctionBase2 {
+ public Op_NumericMod() { super() ; }
+
+ @Override
+ public NodeValue exec(NodeValue v1, NodeValue v2) {
+ return XSDFuncOp.numericMod(v1, v2);
+ }
+}
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 5275c77..3044f80 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
@@ -228,6 +228,8 @@ setAllowAggregatesInExpressions(true) ;
case CEIL:
case FLOOR:
case ROUND:
+ case MOD:
+ case IDIV:
case CONCAT:
case SUBSTR:
case STRLEN:
@@ -333,6 +335,8 @@ getQuery().addResultVar(v) ;
case CEIL:
case FLOOR:
case ROUND:
+ case MOD:
+ case IDIV:
case CONCAT:
case SUBSTR:
case STRLEN:
@@ -502,6 +506,8 @@ getQuery().setQueryResultStar(false) ;
case CEIL:
case FLOOR:
case ROUND:
+ case MOD:
+ case IDIV:
case CONCAT:
case SUBSTR:
case STRLEN:
@@ -954,6 +960,8 @@ finishWherePattern() ;
case CEIL:
case FLOOR:
case ROUND:
+ case MOD:
+ case IDIV:
case CONCAT:
case SUBSTR:
case STRLEN:
@@ -1044,6 +1052,8 @@ finishWherePattern() ;
case CEIL:
case FLOOR:
case ROUND:
+ case MOD:
+ case IDIV:
case CONCAT:
case SUBSTR:
case STRLEN:
@@ -1172,6 +1182,8 @@ setAllowAggregatesInExpressions(true) ;
case CEIL:
case FLOOR:
case ROUND:
+ case MOD:
+ case IDIV:
case CONCAT:
case SUBSTR:
case STRLEN:
@@ -1281,6 +1293,8 @@ setAllowAggregatesInExpressions(true) ;
case CEIL:
case FLOOR:
case ROUND:
+ case MOD:
+ case IDIV:
case CONCAT:
case SUBSTR:
case STRLEN:
@@ -1399,6 +1413,8 @@ direction = Query.ORDER_DESCENDING ;
case CEIL:
case FLOOR:
case ROUND:
+ case MOD:
+ case IDIV:
case CONCAT:
case SUBSTR:
case STRLEN:
@@ -1481,6 +1497,8 @@ direction = Query.ORDER_DESCENDING ;
case CEIL:
case FLOOR:
case ROUND:
+ case MOD:
+ case IDIV:
case CONCAT:
case SUBSTR:
case STRLEN:
@@ -2988,6 +3006,8 @@ el2.addElement(el) ;
case CEIL:
case FLOOR:
case ROUND:
+ case MOD:
+ case IDIV:
case CONCAT:
case SUBSTR:
case STRLEN:
@@ -4676,6 +4696,8 @@ if ( addition )
label_41:
while (true) {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case MOD:
+ case IDIV:
case STAR:
case SLASH:{
;
@@ -4698,6 +4720,18 @@ expr1 = new E_Multiply(expr1, expr2) ;
expr1 = new E_Divide(expr1, expr2) ;
break;
}
+ case MOD:{
+ jj_consume_token(MOD);
+ expr2 = UnaryExpression();
+expr1 = new E_OpNumericMod(expr1, expr2) ;
+ break;
+ }
+ case IDIV:{
+ jj_consume_token(IDIV);
+ expr2 = UnaryExpression();
+expr1 = new E_OpNumericIntegerDivide(expr1, expr2) ;
+ break;
+ }
default:
jj_la1[150] = jj_gen;
jj_consume_token(-1);
@@ -4781,6 +4815,8 @@ expr1 = new E_Divide(expr1, expr2) ;
case CEIL:
case FLOOR:
case ROUND:
+ case MOD:
+ case IDIV:
case CONCAT:
case SUBSTR:
case STRLEN:
@@ -4894,6 +4930,8 @@ expr1 = new E_Divide(expr1, expr2) ;
case CEIL:
case FLOOR:
case ROUND:
+ case MOD:
+ case IDIV:
case CONCAT:
case SUBSTR:
case STRLEN:
@@ -5192,6 +5230,26 @@ n = createTripleTerm(s, p, o, t.beginLine, t.beginColumn);
{if ("" != null) return new E_NumRound(expr1) ;}
break;
}
+ case MOD:{
+ jj_consume_token(MOD);
+ jj_consume_token(LPAREN);
+ expr1 = Expression();
+ jj_consume_token(COMMA);
+ expr2 = Expression();
+ jj_consume_token(RPAREN);
+{if ("" != null) return new E_OpNumericMod(expr1, expr2);}
+ break;
+ }
+ case IDIV:{
+ jj_consume_token(IDIV);
+ jj_consume_token(LPAREN);
+ expr1 = Expression();
+ jj_consume_token(COMMA);
+ expr2 = Expression();
+ jj_consume_token(RPAREN);
+{if ("" != null) return new E_OpNumericIntegerDivide(expr1, expr2);}
+ break;
+ }
case CONCAT:{
jj_consume_token(CONCAT);
a = ExpressionList();
@@ -5756,6 +5814,8 @@ distinct = true ;
case CEIL:
case FLOOR:
case ROUND:
+ case MOD:
+ case IDIV:
case CONCAT:
case SUBSTR:
case STRLEN:
@@ -6457,30 +6517,44 @@ checkString(lex, t.beginLine, t.beginColumn) ;
finally { jj_save(4, xla); }
}
- private boolean jj_3R_116()
+ private boolean jj_3R_117()
{
- if (jj_scan_token(REPLACE)) return true;
+ if (jj_scan_token(SUBSTR)) return true;
if (jj_scan_token(LPAREN)) return true;
return false;
}
- private boolean jj_3R_115()
+ private boolean jj_3R_119()
{
- if (jj_scan_token(SUBSTR)) return true;
+ if (jj_scan_token(REGEX)) return true;
if (jj_scan_token(LPAREN)) return true;
return false;
}
- private boolean jj_3R_117()
+ private boolean jj_3R_109()
{
- if (jj_scan_token(REGEX)) return true;
+ if (jj_scan_token(OBJECT)) return true;
+ if (jj_scan_token(LPAREN)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_108()
+ {
+ if (jj_scan_token(PREDICATE)) return true;
if (jj_scan_token(LPAREN)) return true;
return false;
}
private boolean jj_3R_107()
{
- if (jj_scan_token(OBJECT)) return true;
+ if (jj_scan_token(SUBJECT)) return true;
+ if (jj_scan_token(LPAREN)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_106()
+ {
+ if (jj_scan_token(TRIPLE)) return true;
if (jj_scan_token(LPAREN)) return true;
return false;
}
@@ -6491,33 +6565,33 @@ checkString(lex, t.beginLine, t.beginColumn) ;
if (jj_3R_44()) return true;
Token xsp;
xsp = jj_scanpos;
- if (jj_scan_token(143)) {
- jj_scanpos = xsp;
- if (jj_scan_token(144)) {
- jj_scanpos = xsp;
- if (jj_scan_token(151)) {
+ if (jj_scan_token(145)) {
jj_scanpos = xsp;
if (jj_scan_token(146)) {
jj_scanpos = xsp;
- if (jj_scan_token(147)) {
+ if (jj_scan_token(153)) {
jj_scanpos = xsp;
if (jj_scan_token(148)) {
jj_scanpos = xsp;
- if (jj_scan_token(145)) {
+ if (jj_scan_token(149)) {
jj_scanpos = xsp;
- if (jj_scan_token(156)) {
+ if (jj_scan_token(150)) {
jj_scanpos = xsp;
- if (jj_scan_token(139)) {
+ if (jj_scan_token(147)) {
jj_scanpos = xsp;
- if (jj_scan_token(138)) {
+ if (jj_scan_token(158)) {
jj_scanpos = xsp;
- if (jj_scan_token(157)) {
+ if (jj_scan_token(141)) {
jj_scanpos = xsp;
if (jj_scan_token(140)) {
jj_scanpos = xsp;
- if (jj_scan_token(141)) {
+ if (jj_scan_token(159)) {
+ jj_scanpos = xsp;
+ if (jj_scan_token(142)) {
+ jj_scanpos = xsp;
+ if (jj_scan_token(143)) {
jj_scanpos = xsp;
- if (jj_scan_token(142)) return true;
+ if (jj_scan_token(144)) return true;
}
}
}
@@ -6534,362 +6608,355 @@ checkString(lex, t.beginLine, t.beginColumn) ;
return false;
}
- private boolean jj_3R_106()
- {
- if (jj_scan_token(PREDICATE)) return true;
- if (jj_scan_token(LPAREN)) return true;
- return false;
- }
-
private boolean jj_3R_105()
{
- if (jj_scan_token(SUBJECT)) return true;
+ if (jj_scan_token(IS_TRIPLE)) return true;
if (jj_scan_token(LPAREN)) return true;
return false;
}
private boolean jj_3R_104()
{
- if (jj_scan_token(TRIPLE)) return true;
- if (jj_scan_token(LPAREN)) return true;
+ if (jj_3R_121()) return true;
return false;
}
private boolean jj_3R_103()
{
- if (jj_scan_token(IS_TRIPLE)) return true;
- if (jj_scan_token(LPAREN)) return true;
+ if (jj_3R_120()) return true;
return false;
}
- private boolean jj_3R_154()
+ private boolean jj_3R_102()
{
- if (jj_scan_token(LPAREN)) return true;
+ if (jj_3R_119()) return true;
return false;
}
- private boolean jj_3R_102()
+ private boolean jj_3R_101()
{
- if (jj_3R_119()) return true;
+ if (jj_scan_token(IS_NUMERIC)) return true;
+ if (jj_scan_token(LPAREN)) return true;
return false;
}
- private boolean jj_3R_101()
+ private boolean jj_3R_156()
{
- if (jj_3R_118()) return true;
+ if (jj_scan_token(LPAREN)) return true;
return false;
}
private boolean jj_3R_100()
{
- if (jj_3R_117()) return true;
+ if (jj_scan_token(IS_LITERAL)) return true;
+ if (jj_scan_token(LPAREN)) return true;
return false;
}
private boolean jj_3R_99()
{
- if (jj_scan_token(IS_NUMERIC)) return true;
+ if (jj_scan_token(IS_BLANK)) return true;
if (jj_scan_token(LPAREN)) return true;
return false;
}
private boolean jj_3R_98()
{
- if (jj_scan_token(IS_LITERAL)) return true;
+ if (jj_scan_token(IS_URI)) return true;
if (jj_scan_token(LPAREN)) return true;
return false;
}
private boolean jj_3R_97()
{
- if (jj_scan_token(IS_BLANK)) return true;
+ if (jj_scan_token(IS_IRI)) return true;
if (jj_scan_token(LPAREN)) return true;
return false;
}
private boolean jj_3R_96()
{
- if (jj_scan_token(IS_URI)) return true;
+ if (jj_scan_token(SAME_TERM)) return true;
if (jj_scan_token(LPAREN)) return true;
return false;
}
private boolean jj_3R_95()
{
- if (jj_scan_token(IS_IRI)) return true;
+ if (jj_scan_token(STRDT)) return true;
if (jj_scan_token(LPAREN)) return true;
return false;
}
private boolean jj_3R_94()
{
- if (jj_scan_token(SAME_TERM)) return true;
+ if (jj_scan_token(STRLANG)) return true;
if (jj_scan_token(LPAREN)) return true;
return false;
}
private boolean jj_3R_93()
{
- if (jj_scan_token(STRDT)) return true;
+ if (jj_scan_token(IF)) return true;
if (jj_scan_token(LPAREN)) return true;
return false;
}
- private boolean jj_3R_92()
+ private boolean jj_3R_157()
{
- if (jj_scan_token(STRLANG)) return true;
- if (jj_scan_token(LPAREN)) return true;
+ if (jj_scan_token(LBRACKET)) return true;
return false;
}
- private boolean jj_3R_155()
+ private boolean jj_3R_92()
{
- if (jj_scan_token(LBRACKET)) return true;
+ if (jj_scan_token(CALL)) return true;
+ if (jj_scan_token(LPAREN)) return true;
return false;
}
private boolean jj_3R_91()
{
- if (jj_scan_token(IF)) return true;
- if (jj_scan_token(LPAREN)) return true;
+ if (jj_scan_token(COALESCE)) return true;
+ if (jj_3R_116()) return true;
return false;
}
- private boolean jj_3R_148()
+ private boolean jj_3R_150()
{
- if (jj_3R_155()) return true;
+ if (jj_3R_157()) return true;
return false;
}
- private boolean jj_3R_123()
+ private boolean jj_3R_90()
{
- Token xsp;
- xsp = jj_scanpos;
- if (jj_3R_147()) {
- jj_scanpos = xsp;
- if (jj_3R_148()) return true;
- }
+ if (jj_scan_token(VERSION)) return true;
+ if (jj_scan_token(NIL)) return true;
return false;
}
- private boolean jj_3R_147()
+ private boolean jj_3R_89()
{
- if (jj_3R_154()) return true;
+ if (jj_scan_token(SHA512)) return true;
+ if (jj_scan_token(LPAREN)) return true;
return false;
}
- private boolean jj_3R_90()
+ private boolean jj_3R_125()
{
- if (jj_scan_token(CALL)) return true;
- if (jj_scan_token(LPAREN)) return true;
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_149()) {
+ jj_scanpos = xsp;
+ if (jj_3R_150()) return true;
+ }
return false;
}
- private boolean jj_3R_89()
+ private boolean jj_3R_149()
{
- if (jj_scan_token(COALESCE)) return true;
- if (jj_3R_114()) return true;
+ if (jj_3R_156()) return true;
return false;
}
private boolean jj_3R_88()
{
- if (jj_scan_token(VERSION)) return true;
- if (jj_scan_token(NIL)) return true;
+ if (jj_scan_token(SHA384)) return true;
+ if (jj_scan_token(LPAREN)) return true;
return false;
}
private boolean jj_3R_87()
{
- if (jj_scan_token(SHA512)) return true;
+ if (jj_scan_token(SHA256)) return true;
if (jj_scan_token(LPAREN)) return true;
return false;
}
private boolean jj_3R_86()
{
- if (jj_scan_token(SHA384)) return true;
+ if (jj_scan_token(SHA1)) return true;
if (jj_scan_token(LPAREN)) return true;
return false;
}
private boolean jj_3R_85()
{
- if (jj_scan_token(SHA256)) return true;
+ if (jj_scan_token(MD5)) return true;
if (jj_scan_token(LPAREN)) return true;
return false;
}
private boolean jj_3R_84()
{
- if (jj_scan_token(SHA1)) return true;
- if (jj_scan_token(LPAREN)) return true;
+ if (jj_scan_token(STRUUID)) return true;
+ if (jj_scan_token(NIL)) return true;
return false;
}
private boolean jj_3R_83()
{
- if (jj_scan_token(MD5)) return true;
- if (jj_scan_token(LPAREN)) return true;
+ if (jj_scan_token(UUID)) return true;
+ if (jj_scan_token(NIL)) return true;
return false;
}
private boolean jj_3R_82()
{
- if (jj_scan_token(STRUUID)) return true;
+ if (jj_scan_token(NOW)) return true;
if (jj_scan_token(NIL)) return true;
return false;
}
private boolean jj_3R_81()
{
- if (jj_scan_token(UUID)) return true;
- if (jj_scan_token(NIL)) return true;
+ if (jj_scan_token(TZ)) return true;
+ if (jj_scan_token(LPAREN)) return true;
return false;
}
private boolean jj_3R_80()
{
- if (jj_scan_token(NOW)) return true;
- if (jj_scan_token(NIL)) return true;
+ if (jj_scan_token(TIMEZONE)) return true;
+ if (jj_scan_token(LPAREN)) return true;
return false;
}
private boolean jj_3R_79()
{
- if (jj_scan_token(TZ)) return true;
+ if (jj_scan_token(SECONDS)) return true;
if (jj_scan_token(LPAREN)) return true;
return false;
}
private boolean jj_3R_78()
{
- if (jj_scan_token(TIMEZONE)) return true;
+ if (jj_scan_token(MINUTES)) return true;
if (jj_scan_token(LPAREN)) return true;
return false;
}
private boolean jj_3R_77()
{
- if (jj_scan_token(SECONDS)) return true;
+ if (jj_scan_token(HOURS)) return true;
if (jj_scan_token(LPAREN)) return true;
return false;
}
private boolean jj_3R_76()
{
- if (jj_scan_token(MINUTES)) return true;
+ if (jj_scan_token(DAY)) return true;
if (jj_scan_token(LPAREN)) return true;
return false;
}
private boolean jj_3R_75()
{
- if (jj_scan_token(HOURS)) return true;
+ if (jj_scan_token(MONTH)) return true;
if (jj_scan_token(LPAREN)) return true;
return false;
}
private boolean jj_3R_74()
{
- if (jj_scan_token(DAY)) return true;
+ if (jj_scan_token(YEAR)) return true;
if (jj_scan_token(LPAREN)) return true;
return false;
}
private boolean jj_3R_73()
{
- if (jj_scan_token(MONTH)) return true;
+ if (jj_scan_token(STRAFTER)) return true;
if (jj_scan_token(LPAREN)) return true;
return false;
}
private boolean jj_3R_72()
{
- if (jj_scan_token(YEAR)) return true;
+ if (jj_scan_token(STRBEFORE)) return true;
if (jj_scan_token(LPAREN)) return true;
return false;
}
private boolean jj_3R_71()
{
- if (jj_scan_token(STRAFTER)) return true;
+ if (jj_scan_token(STRENDS)) return true;
if (jj_scan_token(LPAREN)) return true;
return false;
}
private boolean jj_3R_70()
{
- if (jj_scan_token(STRBEFORE)) return true;
+ if (jj_scan_token(STRSTARTS)) return true;
if (jj_scan_token(LPAREN)) return true;
return false;
}
private boolean jj_3R_69()
{
- if (jj_scan_token(STRENDS)) return true;
+ if (jj_scan_token(CONTAINS)) return true;
if (jj_scan_token(LPAREN)) return true;
return false;
}
private boolean jj_3R_68()
{
- if (jj_scan_token(STRSTARTS)) return true;
+ if (jj_scan_token(ENCODE_FOR_URI)) return true;
if (jj_scan_token(LPAREN)) return true;
return false;
}
private boolean jj_3R_67()
{
- if (jj_scan_token(CONTAINS)) return true;
+ if (jj_scan_token(LCASE)) return true;
if (jj_scan_token(LPAREN)) return true;
return false;
}
private boolean jj_3R_66()
{
- if (jj_scan_token(ENCODE_FOR_URI)) return true;
+ if (jj_scan_token(UCASE)) return true;
if (jj_scan_token(LPAREN)) return true;
return false;
}
private boolean jj_3R_65()
{
- if (jj_scan_token(LCASE)) return true;
- if (jj_scan_token(LPAREN)) return true;
+ if (jj_3R_118()) return true;
return false;
}
private boolean jj_3R_64()
{
- if (jj_scan_token(UCASE)) return true;
+ if (jj_scan_token(STRLEN)) return true;
if (jj_scan_token(LPAREN)) return true;
return false;
}
private boolean jj_3R_63()
{
- if (jj_3R_116()) return true;
+ if (jj_3R_117()) return true;
return false;
}
private boolean jj_3R_62()
{
- if (jj_scan_token(STRLEN)) return true;
- if (jj_scan_token(LPAREN)) return true;
+ if (jj_scan_token(CONCAT)) return true;
+ if (jj_3R_116()) return true;
return false;
}
private boolean jj_3R_61()
{
- if (jj_3R_115()) return true;
+ if (jj_scan_token(IDIV)) return true;
+ if (jj_scan_token(LPAREN)) return true;
return false;
}
private boolean jj_3R_60()
{
- if (jj_scan_token(CONCAT)) return true;
- if (jj_3R_114()) return true;
+ if (jj_scan_token(MOD)) return true;
+ if (jj_scan_token(LPAREN)) return true;
return false;
}
@@ -6928,13 +6995,13 @@ checkString(lex, t.beginLine, t.beginColumn) ;
return false;
}
- private boolean jj_3R_113()
+ private boolean jj_3R_115()
{
if (jj_scan_token(NIL)) return true;
return false;
}
- private boolean jj_3R_112()
+ private boolean jj_3R_114()
{
if (jj_scan_token(LPAREN)) return true;
return false;
@@ -6945,9 +7012,9 @@ checkString(lex, t.beginLine, t.beginColumn) ;
if (jj_scan_token(BNODE)) return true;
Token xsp;
xsp = jj_scanpos;
- if (jj_3R_112()) {
+ if (jj_3R_114()) {
jj_scanpos = xsp;
- if (jj_3R_113()) return true;
+ if (jj_3R_115()) return true;
}
return false;
}
@@ -7003,7 +7070,7 @@ checkString(lex, t.beginLine, t.beginColumn) ;
private boolean jj_3R_46()
{
- if (jj_3R_111()) return true;
+ if (jj_3R_113()) return true;
return false;
}
@@ -7133,7 +7200,13 @@ checkString(lex, t.beginLine, t.beginColumn) ;
jj_scanpos = xsp;
if (jj_3R_106()) {
jj_scanpos = xsp;
- if (jj_3R_107()) return true;
+ if (jj_3R_107()) {
+ jj_scanpos = xsp;
+ if (jj_3R_108()) {
+ jj_scanpos = xsp;
+ if (jj_3R_109()) return true;
+ }
+ }
}
}
}
@@ -7198,281 +7271,281 @@ checkString(lex, t.beginLine, t.beginColumn) ;
return false;
}
- private boolean jj_3R_150()
+ private boolean jj_3R_152()
{
if (jj_scan_token(IRIref)) return true;
return false;
}
- private boolean jj_3R_141()
- {
- if (jj_scan_token(LBRACE)) return true;
- return false;
- }
-
- private boolean jj_3R_178()
+ private boolean jj_3R_180()
{
if (jj_scan_token(ANON)) return true;
return false;
}
- private boolean jj_3_3()
- {
- if (jj_scan_token(DOT)) return true;
- if (jj_3R_45()) return true;
- return false;
- }
-
- private boolean jj_3R_168()
+ private boolean jj_3R_170()
{
Token xsp;
xsp = jj_scanpos;
- if (jj_3R_177()) {
+ if (jj_3R_179()) {
jj_scanpos = xsp;
- if (jj_3R_178()) return true;
+ if (jj_3R_180()) return true;
}
return false;
}
- private boolean jj_3R_177()
+ private boolean jj_3R_179()
{
if (jj_scan_token(BLANK_NODE_LABEL)) return true;
return false;
}
- private boolean jj_3R_170()
+ private boolean jj_3R_143()
+ {
+ if (jj_scan_token(LBRACE)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_172()
{
if (jj_scan_token(PNAME_NS)) return true;
return false;
}
- private boolean jj_3R_169()
+ private boolean jj_3_3()
+ {
+ if (jj_scan_token(DOT)) return true;
+ if (jj_3R_45()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_171()
{
if (jj_scan_token(PNAME_LN)) return true;
return false;
}
- private boolean jj_3R_164()
+ private boolean jj_3R_166()
{
Token xsp;
xsp = jj_scanpos;
- if (jj_3R_169()) {
+ if (jj_3R_171()) {
jj_scanpos = xsp;
- if (jj_3R_170()) return true;
+ if (jj_3R_172()) return true;
}
return false;
}
- private boolean jj_3R_157()
+ private boolean jj_3R_159()
{
- if (jj_3R_164()) return true;
+ if (jj_3R_166()) return true;
return false;
}
- private boolean jj_3R_149()
+ private boolean jj_3R_151()
{
Token xsp;
xsp = jj_scanpos;
- if (jj_3R_156()) {
+ if (jj_3R_158()) {
jj_scanpos = xsp;
- if (jj_3R_157()) return true;
+ if (jj_3R_159()) return true;
}
return false;
}
- private boolean jj_3R_156()
+ private boolean jj_3R_158()
{
- if (jj_3R_150()) return true;
+ if (jj_3R_152()) return true;
return false;
}
- private boolean jj_3R_182()
+ private boolean jj_3R_184()
{
if (jj_scan_token(STRING_LITERAL_LONG2)) return true;
return false;
}
- private boolean jj_3R_181()
+ private boolean jj_3R_183()
{
if (jj_scan_token(STRING_LITERAL_LONG1)) return true;
return false;
}
- private boolean jj_3R_180()
+ private boolean jj_3R_182()
{
if (jj_scan_token(STRING_LITERAL2)) return true;
return false;
}
- private boolean jj_3R_179()
+ private boolean jj_3R_181()
{
if (jj_scan_token(STRING_LITERAL1)) return true;
return false;
}
- private boolean jj_3R_171()
+ private boolean jj_3R_173()
{
Token xsp;
xsp = jj_scanpos;
- if (jj_3R_179()) {
+ if (jj_3R_181()) {
jj_scanpos = xsp;
- if (jj_3R_180()) {
+ if (jj_3R_182()) {
jj_scanpos = xsp;
- if (jj_3R_181()) {
+ if (jj_3R_183()) {
jj_scanpos = xsp;
- if (jj_3R_182()) return true;
+ if (jj_3R_184()) return true;
}
}
}
return false;
}
- private boolean jj_3R_176()
+ private boolean jj_3R_178()
{
if (jj_scan_token(FALSE)) return true;
return false;
}
- private boolean jj_3R_167()
+ private boolean jj_3R_169()
{
Token xsp;
xsp = jj_scanpos;
- if (jj_3R_175()) {
+ if (jj_3R_177()) {
jj_scanpos = xsp;
- if (jj_3R_176()) return true;
+ if (jj_3R_178()) return true;
}
return false;
}
- private boolean jj_3R_175()
+ private boolean jj_3R_177()
{
if (jj_scan_token(TRUE)) return true;
return false;
}
- private boolean jj_3R_194()
+ private boolean jj_3R_196()
{
if (jj_scan_token(DOUBLE_NEGATIVE)) return true;
return false;
}
- private boolean jj_3R_193()
+ private boolean jj_3R_195()
{
if (jj_scan_token(DECIMAL_NEGATIVE)) return true;
return false;
}
- private boolean jj_3R_192()
+ private boolean jj_3R_194()
{
if (jj_scan_token(INTEGER_NEGATIVE)) return true;
return false;
}
- private boolean jj_3R_185()
+ private boolean jj_3R_187()
{
Token xsp;
xsp = jj_scanpos;
- if (jj_3R_192()) {
+ if (jj_3R_194()) {
jj_scanpos = xsp;
- if (jj_3R_193()) {
+ if (jj_3R_195()) {
jj_scanpos = xsp;
- if (jj_3R_194()) return true;
+ if (jj_3R_196()) return true;
}
}
return false;
}
- private boolean jj_3R_191()
+ private boolean jj_3R_193()
{
if (jj_scan_token(DOUBLE_POSITIVE)) return true;
return false;
}
- private boolean jj_3R_190()
+ private boolean jj_3R_192()
{
if (jj_scan_token(DECIMAL_POSITIVE)) return true;
return false;
}
- private boolean jj_3R_189()
+ private boolean jj_3R_191()
{
if (jj_scan_token(INTEGER_POSITIVE)) return true;
return false;
}
- private boolean jj_3R_184()
+ private boolean jj_3R_186()
{
Token xsp;
xsp = jj_scanpos;
- if (jj_3R_189()) {
+ if (jj_3R_191()) {
jj_scanpos = xsp;
- if (jj_3R_190()) {
+ if (jj_3R_192()) {
jj_scanpos = xsp;
- if (jj_3R_191()) return true;
+ if (jj_3R_193()) return true;
}
}
return false;
}
- private boolean jj_3R_188()
+ private boolean jj_3R_190()
{
if (jj_scan_token(DOUBLE)) return true;
return false;
}
- private boolean jj_3R_187()
+ private boolean jj_3R_189()
{
if (jj_scan_token(DECIMAL)) return true;
return false;
}
- private boolean jj_3R_186()
+ private boolean jj_3R_188()
{
if (jj_scan_token(INTEGER)) return true;
return false;
}
- private boolean jj_3R_183()
+ private boolean jj_3R_185()
{
Token xsp;
xsp = jj_scanpos;
- if (jj_3R_186()) {
+ if (jj_3R_188()) {
jj_scanpos = xsp;
- if (jj_3R_187()) {
+ if (jj_3R_189()) {
jj_scanpos = xsp;
- if (jj_3R_188()) return true;
+ if (jj_3R_190()) return true;
}
}
return false;
}
- private boolean jj_3R_174()
+ private boolean jj_3R_176()
{
- if (jj_3R_185()) return true;
+ if (jj_3R_187()) return true;
return false;
}
- private boolean jj_3R_173()
+ private boolean jj_3R_175()
{
- if (jj_3R_184()) return true;
+ if (jj_3R_186()) return true;
return false;
}
- private boolean jj_3R_172()
+ private boolean jj_3R_174()
{
- if (jj_3R_183()) return true;
+ if (jj_3R_185()) return true;
return false;
}
- private boolean jj_3R_166()
+ private boolean jj_3R_168()
{
Token xsp;
xsp = jj_scanpos;
- if (jj_3R_172()) {
+ if (jj_3R_174()) {
jj_scanpos = xsp;
- if (jj_3R_173()) {
+ if (jj_3R_175()) {
jj_scanpos = xsp;
- if (jj_3R_174()) return true;
+ if (jj_3R_176()) return true;
}
}
return false;
@@ -7484,63 +7557,63 @@ checkString(lex, t.beginLine, t.beginColumn) ;
return false;
}
- private boolean jj_3R_165()
+ private boolean jj_3R_167()
{
- if (jj_3R_171()) return true;
+ if (jj_3R_173()) return true;
return false;
}
- private boolean jj_3R_163()
+ private boolean jj_3R_165()
{
if (jj_scan_token(NIL)) return true;
return false;
}
- private boolean jj_3R_162()
+ private boolean jj_3R_164()
{
- if (jj_3R_168()) return true;
+ if (jj_3R_170()) return true;
return false;
}
- private boolean jj_3R_161()
+ private boolean jj_3R_163()
{
- if (jj_3R_167()) return true;
+ if (jj_3R_169()) return true;
return false;
}
- private boolean jj_3R_160()
+ private boolean jj_3R_162()
{
- if (jj_3R_166()) return true;
+ if (jj_3R_168()) return true;
return false;
}
- private boolean jj_3R_159()
+ private boolean jj_3R_161()
{
- if (jj_3R_165()) return true;
+ if (jj_3R_167()) return true;
return false;
}
- private boolean jj_3R_110()
+ private boolean jj_3R_112()
{
- if (jj_3R_123()) return true;
+ if (jj_3R_125()) return true;
return false;
}
- private boolean jj_3R_153()
+ private boolean jj_3R_155()
{
Token xsp;
xsp = jj_scanpos;
- if (jj_3R_158()) {
- jj_scanpos = xsp;
- if (jj_3R_159()) {
- jj_scanpos = xsp;
if (jj_3R_160()) {
jj_scanpos = xsp;
if (jj_3R_161()) {
jj_scanpos = xsp;
if (jj_3R_162()) {
jj_scanpos = xsp;
- if (jj_3R_163()) return true;
+ if (jj_3R_163()) {
+ jj_scanpos = xsp;
+ if (jj_3R_164()) {
+ jj_scanpos = xsp;
+ if (jj_3R_165()) return true;
}
}
}
@@ -7549,9 +7622,9 @@ checkString(lex, t.beginLine, t.beginColumn) ;
return false;
}
- private boolean jj_3R_158()
+ private boolean jj_3R_160()
{
- if (jj_3R_149()) return true;
+ if (jj_3R_151()) return true;
return false;
}
@@ -7559,20 +7632,20 @@ checkString(lex, t.beginLine, t.beginColumn) ;
{
Token xsp;
xsp = jj_scanpos;
- if (jj_3R_109()) {
+ if (jj_3R_111()) {
jj_scanpos = xsp;
- if (jj_3R_110()) return true;
+ if (jj_3R_112()) return true;
}
return false;
}
- private boolean jj_3R_109()
+ private boolean jj_3R_111()
{
- if (jj_3R_122()) return true;
+ if (jj_3R_124()) return true;
return false;
}
- private boolean jj_3R_152()
+ private boolean jj_3R_154()
{
Token xsp;
xsp = jj_scanpos;
@@ -7590,120 +7663,120 @@ checkString(lex, t.beginLine, t.beginColumn) ;
return false;
}
- private boolean jj_3R_121()
+ private boolean jj_3R_123()
{
- if (jj_3R_143()) return true;
+ if (jj_3R_145()) return true;
return false;
}
- private boolean jj_3R_143()
+ private boolean jj_3R_145()
{
if (jj_scan_token(PREFIX)) return true;
if (jj_scan_token(PNAME_NS)) return true;
- if (jj_3R_150()) return true;
+ if (jj_3R_152()) return true;
return false;
}
- private boolean jj_3R_142()
+ private boolean jj_3R_141()
{
- if (jj_scan_token(BASE)) return true;
- if (jj_3R_150()) return true;
+ if (jj_scan_token(AGG)) return true;
+ if (jj_3R_151()) return true;
return false;
}
- private boolean jj_3R_108()
+ private boolean jj_3R_140()
{
- Token xsp;
- xsp = jj_scanpos;
- if (jj_3R_120()) {
- jj_scanpos = xsp;
- if (jj_3R_121()) return true;
- }
+ if (jj_scan_token(VAR_POP)) return true;
+ if (jj_scan_token(LPAREN)) return true;
return false;
}
- private boolean jj_3R_120()
+ private boolean jj_3R_144()
{
- if (jj_3R_142()) return true;
+ if (jj_scan_token(BASE)) return true;
+ if (jj_3R_152()) return true;
return false;
}
private boolean jj_3R_139()
{
- if (jj_scan_token(AGG)) return true;
- if (jj_3R_149()) return true;
+ if (jj_scan_token(VAR_SAMP)) return true;
+ if (jj_scan_token(LPAREN)) return true;
return false;
}
- private boolean jj_3R_44()
+ private boolean jj_3R_110()
{
Token xsp;
- while (true) {
- xsp = jj_scanpos;
- if (jj_3R_108()) { jj_scanpos = xsp; break; }
+ xsp = jj_scanpos;
+ if (jj_3R_122()) {
+ jj_scanpos = xsp;
+ if (jj_3R_123()) return true;
}
return false;
}
+ private boolean jj_3R_122()
+ {
+ if (jj_3R_144()) return true;
+ return false;
+ }
+
private boolean jj_3R_138()
{
- if (jj_scan_token(VAR_POP)) return true;
+ if (jj_scan_token(VARIANCE)) return true;
if (jj_scan_token(LPAREN)) return true;
return false;
}
- private boolean jj_3R_137()
+ private boolean jj_3R_44()
{
- if (jj_scan_token(VAR_SAMP)) return true;
- if (jj_scan_token(LPAREN)) return true;
+ Token xsp;
+ while (true) {
+ xsp = jj_scanpos;
+ if (jj_3R_110()) { jj_scanpos = xsp; break; }
+ }
return false;
}
- private boolean jj_3R_136()
+ private boolean jj_3R_137()
{
- if (jj_scan_token(VARIANCE)) return true;
+ if (jj_scan_token(STDEV_POP)) return true;
if (jj_scan_token(LPAREN)) return true;
return false;
}
- private boolean jj_3R_140()
+ private boolean jj_3R_136()
{
+ if (jj_scan_token(STDEV_SAMP)) return true;
if (jj_scan_token(LPAREN)) return true;
return false;
}
private boolean jj_3R_135()
{
- if (jj_scan_token(STDEV_POP)) return true;
+ if (jj_scan_token(STDEV)) return true;
if (jj_scan_token(LPAREN)) return true;
return false;
}
- private boolean jj_3R_134()
+ private boolean jj_3R_142()
{
- if (jj_scan_token(STDEV_SAMP)) return true;
if (jj_scan_token(LPAREN)) return true;
return false;
}
- private boolean jj_3R_114()
+ private boolean jj_3R_116()
{
Token xsp;
xsp = jj_scanpos;
- if (jj_scan_token(181)) {
+ if (jj_scan_token(183)) {
jj_scanpos = xsp;
- if (jj_3R_140()) return true;
+ if (jj_3R_142()) return true;
}
return false;
}
- private boolean jj_3R_133()
- {
- if (jj_scan_token(STDEV)) return true;
- if (jj_scan_token(LPAREN)) return true;
- return false;
- }
-
private boolean jj_3_5()
{
if (jj_scan_token(SEMICOLON)) return true;
@@ -7711,115 +7784,111 @@ checkString(lex, t.beginLine, t.beginColumn) ;
return false;
}
- private boolean jj_3R_151()
+ private boolean jj_3R_134()
{
- if (jj_scan_token(LT2)) return true;
+ if (jj_scan_token(GROUP_CONCAT)) return true;
+ if (jj_scan_token(LPAREN)) return true;
return false;
}
- private boolean jj_3R_132()
+ private boolean jj_3R_133()
{
- if (jj_scan_token(GROUP_CONCAT)) return true;
+ if (jj_scan_token(SAMPLE)) return true;
if (jj_scan_token(LPAREN)) return true;
return false;
}
- private boolean jj_3R_131()
+ private boolean jj_3R_132()
{
- if (jj_scan_token(SAMPLE)) return true;
+ if (jj_scan_token(MODE)) return true;
if (jj_scan_token(LPAREN)) return true;
return false;
}
- private boolean jj_3R_146()
+ private boolean jj_3R_153()
{
- if (jj_3R_153()) return true;
+ if (jj_scan_token(LT2)) return true;
return false;
}
- private boolean jj_3R_145()
+ private boolean jj_3R_131()
{
- if (jj_3R_152()) return true;
+ if (jj_scan_token(MEDIAN)) return true;
+ if (jj_scan_token(LPAREN)) return true;
return false;
}
private boolean jj_3R_130()
{
- if (jj_scan_token(MODE)) return true;
+ if (jj_scan_token(AVG)) return true;
if (jj_scan_token(LPAREN)) return true;
return false;
}
- private boolean jj_3R_144()
+ private boolean jj_3R_148()
{
- if (jj_3R_151()) return true;
+ if (jj_3R_155()) return true;
return false;
}
- private boolean jj_3R_129()
+ private boolean jj_3R_147()
{
- if (jj_scan_token(MEDIAN)) return true;
- if (jj_scan_token(LPAREN)) return true;
+ if (jj_3R_154()) return true;
return false;
}
- private boolean jj_3R_122()
+ private boolean jj_3R_129()
{
- Token xsp;
- xsp = jj_scanpos;
- if (jj_3R_144()) {
- jj_scanpos = xsp;
- if (jj_3R_145()) {
- jj_scanpos = xsp;
- if (jj_3R_146()) return true;
- }
- }
+ if (jj_scan_token(MAX)) return true;
+ if (jj_scan_token(LPAREN)) return true;
return false;
}
- private boolean jj_3R_128()
+ private boolean jj_3R_146()
{
- if (jj_scan_token(AVG)) return true;
- if (jj_scan_token(LPAREN)) return true;
+ if (jj_3R_153()) return true;
return false;
}
- private boolean jj_3R_127()
+ private boolean jj_3R_128()
{
- if (jj_scan_token(MAX)) return true;
+ if (jj_scan_token(MIN)) return true;
if (jj_scan_token(LPAREN)) return true;
return false;
}
- private boolean jj_3R_126()
+ private boolean jj_3R_124()
{
- if (jj_scan_token(MIN)) return true;
- if (jj_scan_token(LPAREN)) return true;
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_146()) {
+ jj_scanpos = xsp;
+ if (jj_3R_147()) {
+ jj_scanpos = xsp;
+ if (jj_3R_148()) return true;
+ }
+ }
return false;
}
- private boolean jj_3R_125()
+ private boolean jj_3R_127()
{
if (jj_scan_token(SUM)) return true;
if (jj_scan_token(LPAREN)) return true;
return false;
}
- private boolean jj_3R_124()
+ private boolean jj_3R_126()
{
if (jj_scan_token(COUNT)) return true;
if (jj_scan_token(LPAREN)) return true;
return false;
}
- private boolean jj_3R_111()
+ private boolean jj_3R_113()
{
Token xsp;
xsp = jj_scanpos;
- if (jj_3R_124()) {
- jj_scanpos = xsp;
- if (jj_3R_125()) {
- jj_scanpos = xsp;
if (jj_3R_126()) {
jj_scanpos = xsp;
if (jj_3R_127()) {
@@ -7846,7 +7915,11 @@ checkString(lex, t.beginLine, t.beginColumn) ;
jj_scanpos = xsp;
if (jj_3R_138()) {
jj_scanpos = xsp;
- if (jj_3R_139()) return true;
+ if (jj_3R_139()) {
+ jj_scanpos = xsp;
+ if (jj_3R_140()) {
+ jj_scanpos = xsp;
+ if (jj_3R_141()) return true;
}
}
}
@@ -7865,17 +7938,24 @@ checkString(lex, t.beginLine, t.beginColumn) ;
return false;
}
- private boolean jj_3R_119()
+ private boolean jj_3R_121()
{
if (jj_scan_token(NOT)) return true;
if (jj_scan_token(EXISTS)) return true;
return false;
}
- private boolean jj_3R_118()
+ private boolean jj_3R_120()
{
if (jj_scan_token(EXISTS)) return true;
- if (jj_3R_141()) return true;
+ if (jj_3R_143()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_118()
+ {
+ if (jj_scan_token(REPLACE)) return true;
+ if (jj_scan_token(LPAREN)) return true;
return false;
}
@@ -7919,16 +7999,16 @@ checkString(lex, t.beginLine, t.beginColumn) ;
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,0x [...]
}
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,0x [...]
+ 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,0x [...]
}
private static void jj_la1_init_4() {
- jj_la1_4 = new int[] {0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x80000180,0x0,0x800001f7,0x800001f7,0x800001f7,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x80000180,0x0,0x0,0x0,0x0,0x0,0x0,0x77,0x0,0x77,0x77,0x77,0x0,0x77,0x77,0x0,0x0,0x0,0x0,0x0,0x109ffc00,0x109ffc00,0x400000,0x1000000,0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,0x10000000,0x400,0xc00,0x20000000,0x0,0x0,0x4000000,0xc000000,0x80000180,0x0,0x0,0x80000180,0x80000180,0x80000180,0x0,0x0,0x80000180,0x0,0x80000180,0x0,0x0,0x80 [...]
+ 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,0x100000 [...]
}
private static void jj_la1_init_5() {
- jj_la1_5 = new int[] {0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x780ff,0x0,0xf80ff,0xf80ff,0xf80ff,0x0,0x0,0x400000,0x0,0x0,0x0,0x400000,0x0,0x0,0x10000000,0x780ff,0x0,0x0,0x0,0x0,0x0,0x0,0x80000,0x0,0x80000,0x80000,0x80000,0x0,0x80000,0x80000,0x0,0x0,0x0,0x0,0x8000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x52f80ff,0x0,0x20000000,0x52f80ff,0x52f80ff,0x52f80ff,0x400000,0x20000000,0x52f80ff,0x0,0x52f80ff,0x20000000,0x0,0x52f80ff,0x400000,0x20000000,0x52f80ff,0x5 [...]
+ 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,0 [...]
}
private static void jj_la1_init_6() {
- jj_la1_6 = new int[] {0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x8000,0x0,0x0,0x0,0x0,0x8000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x20,0x0,0x0,0x20,0x20,0x20,0x0,0x0,0x20,0x0,0x20,0x0,0x0,0x20,0x0,0x0,0x20,0x20,0x0,0x0,0x0,0x0,0x20,0x0,0x0,0x0,0x20,0x0,0x20,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x20,0x0,0x0,0x0,0x0,0x0,0x20,0x200100,0x200100,0x0,0x2001 [...]
+ 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,0x80 [...]
}
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, [...]
@@ -8118,7 +8198,7 @@ checkString(lex, t.beginLine, t.beginColumn) ;
/** Generate ParseException. */
public ParseException generateParseException() {
jj_expentries.clear();
- boolean[] la1tokens = new boolean[229];
+ boolean[] la1tokens = new boolean[231];
if (jj_kind >= 0) {
la1tokens[jj_kind] = true;
jj_kind = -1;
@@ -8153,7 +8233,7 @@ checkString(lex, t.beginLine, t.beginColumn) ;
}
}
}
- for (int i = 0; i < 229; i++) {
+ for (int i = 0; i < 231; 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 38c8965..9efd44f 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
@@ -209,253 +209,257 @@ public interface ARQParserConstants {
/** RegularExpression Id. */
int ROUND = 104;
/** RegularExpression Id. */
- int CONCAT = 105;
+ int MOD = 105;
/** RegularExpression Id. */
- int SUBSTR = 106;
+ int IDIV = 106;
/** RegularExpression Id. */
- int STRLEN = 107;
+ int CONCAT = 107;
/** RegularExpression Id. */
- int REPLACE = 108;
+ int SUBSTR = 108;
/** RegularExpression Id. */
- int UCASE = 109;
+ int STRLEN = 109;
/** RegularExpression Id. */
- int LCASE = 110;
+ int REPLACE = 110;
/** RegularExpression Id. */
- int ENCODE_FOR_URI = 111;
+ int UCASE = 111;
/** RegularExpression Id. */
- int CONTAINS = 112;
+ int LCASE = 112;
/** RegularExpression Id. */
- int STRSTARTS = 113;
+ int ENCODE_FOR_URI = 113;
/** RegularExpression Id. */
- int STRENDS = 114;
+ int CONTAINS = 114;
/** RegularExpression Id. */
- int STRBEFORE = 115;
+ int STRSTARTS = 115;
/** RegularExpression Id. */
- int STRAFTER = 116;
+ int STRENDS = 116;
/** RegularExpression Id. */
- int YEAR = 117;
+ int STRBEFORE = 117;
/** RegularExpression Id. */
- int MONTH = 118;
+ int STRAFTER = 118;
/** RegularExpression Id. */
- int DAY = 119;
+ int YEAR = 119;
/** RegularExpression Id. */
- int HOURS = 120;
+ int MONTH = 120;
/** RegularExpression Id. */
- int MINUTES = 121;
+ int DAY = 121;
/** RegularExpression Id. */
- int SECONDS = 122;
+ int HOURS = 122;
/** RegularExpression Id. */
- int TIMEZONE = 123;
+ int MINUTES = 123;
/** RegularExpression Id. */
- int TZ = 124;
+ int SECONDS = 124;
/** RegularExpression Id. */
- int NOW = 125;
+ int TIMEZONE = 125;
/** RegularExpression Id. */
- int UUID = 126;
+ int TZ = 126;
/** RegularExpression Id. */
- int STRUUID = 127;
+ int NOW = 127;
/** RegularExpression Id. */
- int VERSION = 128;
+ int UUID = 128;
/** RegularExpression Id. */
- int MD5 = 129;
+ int STRUUID = 129;
/** RegularExpression Id. */
- int SHA1 = 130;
+ int VERSION = 130;
/** RegularExpression Id. */
- int SHA224 = 131;
+ int MD5 = 131;
/** RegularExpression Id. */
- int SHA256 = 132;
+ int SHA1 = 132;
/** RegularExpression Id. */
- int SHA384 = 133;
+ int SHA224 = 133;
/** RegularExpression Id. */
- int SHA512 = 134;
+ int SHA256 = 134;
/** RegularExpression Id. */
- int TRUE = 135;
+ int SHA384 = 135;
/** RegularExpression Id. */
- int FALSE = 136;
+ int SHA512 = 136;
/** RegularExpression Id. */
- int DATA = 137;
+ int TRUE = 137;
/** RegularExpression Id. */
- int INSERT = 138;
+ int FALSE = 138;
/** RegularExpression Id. */
- int DELETE = 139;
+ int DATA = 139;
/** RegularExpression Id. */
- int INSERT_DATA = 140;
+ int INSERT = 140;
/** RegularExpression Id. */
- int DELETE_DATA = 141;
+ int DELETE = 141;
/** RegularExpression Id. */
- int DELETE_WHERE = 142;
+ int INSERT_DATA = 142;
/** RegularExpression Id. */
- int LOAD = 143;
+ int DELETE_DATA = 143;
/** RegularExpression Id. */
- int CLEAR = 144;
+ int DELETE_WHERE = 144;
/** RegularExpression Id. */
- int CREATE = 145;
+ int LOAD = 145;
/** RegularExpression Id. */
- int ADD = 146;
+ int CLEAR = 146;
/** RegularExpression Id. */
- int MOVE = 147;
+ int CREATE = 147;
/** RegularExpression Id. */
- int COPY = 148;
+ int ADD = 148;
/** RegularExpression Id. */
- int META = 149;
+ int MOVE = 149;
/** RegularExpression Id. */
- int SILENT = 150;
+ int COPY = 150;
/** RegularExpression Id. */
- int DROP = 151;
+ int META = 151;
/** RegularExpression Id. */
- int INTO = 152;
+ int SILENT = 152;
/** RegularExpression Id. */
- int TO = 153;
+ int DROP = 153;
/** RegularExpression Id. */
- int DFT = 154;
+ int INTO = 154;
/** RegularExpression Id. */
- int ALL = 155;
+ int TO = 155;
/** RegularExpression Id. */
- int WITH = 156;
+ int DFT = 156;
/** RegularExpression Id. */
- int USING = 157;
+ int ALL = 157;
/** RegularExpression Id. */
- int DIGITS = 158;
+ int WITH = 158;
/** RegularExpression Id. */
- int INTEGER = 159;
+ int USING = 159;
/** RegularExpression Id. */
- int DECIMAL = 160;
+ int DIGITS = 160;
/** RegularExpression Id. */
- int DOUBLE = 161;
+ int INTEGER = 161;
/** RegularExpression Id. */
- int INTEGER_POSITIVE = 162;
+ int DECIMAL = 162;
/** RegularExpression Id. */
- int DECIMAL_POSITIVE = 163;
+ int DOUBLE = 163;
/** RegularExpression Id. */
- int DOUBLE_POSITIVE = 164;
+ int INTEGER_POSITIVE = 164;
/** RegularExpression Id. */
- int INTEGER_NEGATIVE = 165;
+ int DECIMAL_POSITIVE = 165;
/** RegularExpression Id. */
- int DECIMAL_NEGATIVE = 166;
+ int DOUBLE_POSITIVE = 166;
/** RegularExpression Id. */
- int DOUBLE_NEGATIVE = 167;
+ int INTEGER_NEGATIVE = 167;
/** RegularExpression Id. */
- int EXPONENT = 168;
+ int DECIMAL_NEGATIVE = 168;
/** RegularExpression Id. */
- int QUOTE_3D = 169;
+ int DOUBLE_NEGATIVE = 169;
/** RegularExpression Id. */
- int QUOTE_3S = 170;
+ int EXPONENT = 170;
/** RegularExpression Id. */
- int ECHAR = 171;
+ int QUOTE_3D = 171;
/** RegularExpression Id. */
- int UCHAR = 172;
+ int QUOTE_3S = 172;
/** RegularExpression Id. */
- int UCHAR4 = 173;
+ int ECHAR = 173;
/** RegularExpression Id. */
- int UCHAR8 = 174;
+ int UCHAR = 174;
/** RegularExpression Id. */
- int STRING_LITERAL1 = 175;
+ int UCHAR4 = 175;
/** RegularExpression Id. */
- int STRING_LITERAL2 = 176;
+ int UCHAR8 = 176;
/** RegularExpression Id. */
- int STRING_LITERAL_LONG1 = 177;
+ int STRING_LITERAL1 = 177;
/** RegularExpression Id. */
- int STRING_LITERAL_LONG2 = 178;
+ int STRING_LITERAL2 = 178;
/** RegularExpression Id. */
- int LPAREN = 179;
+ int STRING_LITERAL_LONG1 = 179;
/** RegularExpression Id. */
- int RPAREN = 180;
+ int STRING_LITERAL_LONG2 = 180;
/** RegularExpression Id. */
- int NIL = 181;
+ int LPAREN = 181;
/** RegularExpression Id. */
- int LBRACE = 182;
+ int RPAREN = 182;
/** RegularExpression Id. */
- int RBRACE = 183;
+ int NIL = 183;
/** RegularExpression Id. */
- int LBRACKET = 184;
+ int LBRACE = 184;
/** RegularExpression Id. */
- int RBRACKET = 185;
+ int RBRACE = 185;
/** RegularExpression Id. */
- int ANON = 186;
+ int LBRACKET = 186;
/** RegularExpression Id. */
- int SEMICOLON = 187;
+ int RBRACKET = 187;
/** RegularExpression Id. */
- int COMMA = 188;
+ int ANON = 188;
/** RegularExpression Id. */
- int DOT = 189;
+ int SEMICOLON = 189;
/** RegularExpression Id. */
- int EQ = 190;
+ int COMMA = 190;
/** RegularExpression Id. */
- int NE = 191;
+ int DOT = 191;
/** RegularExpression Id. */
- int GT = 192;
+ int EQ = 192;
/** RegularExpression Id. */
- int LT = 193;
+ int NE = 193;
/** RegularExpression Id. */
- int LE = 194;
+ int GT = 194;
/** RegularExpression Id. */
- int GE = 195;
+ int LT = 195;
/** RegularExpression Id. */
- int GT2 = 196;
+ int LE = 196;
/** RegularExpression Id. */
- int LT2 = 197;
+ int GE = 197;
/** RegularExpression Id. */
- int L_ANN = 198;
+ int GT2 = 198;
/** RegularExpression Id. */
- int R_ANN = 199;
+ int LT2 = 199;
/** RegularExpression Id. */
- int BANG = 200;
+ int L_ANN = 200;
/** RegularExpression Id. */
- int TILDE = 201;
+ int R_ANN = 201;
/** RegularExpression Id. */
- int COLON = 202;
+ int BANG = 202;
/** RegularExpression Id. */
- int SC_OR = 203;
+ int TILDE = 203;
/** RegularExpression Id. */
- int SC_AND = 204;
+ int COLON = 204;
/** RegularExpression Id. */
- int PLUS = 205;
+ int SC_OR = 205;
/** RegularExpression Id. */
- int MINUS = 206;
+ int SC_AND = 206;
/** RegularExpression Id. */
- int STAR = 207;
+ int PLUS = 207;
/** RegularExpression Id. */
- int SLASH = 208;
+ int MINUS = 208;
/** RegularExpression Id. */
- int DATATYPE = 209;
+ int STAR = 209;
/** RegularExpression Id. */
- int AT = 210;
+ int SLASH = 210;
/** RegularExpression Id. */
- int ASSIGN = 211;
+ int DATATYPE = 211;
/** RegularExpression Id. */
- int VBAR = 212;
+ int AT = 212;
/** RegularExpression Id. */
- int CARAT = 213;
+ int ASSIGN = 213;
/** RegularExpression Id. */
- int FPATH = 214;
+ int VBAR = 214;
/** RegularExpression Id. */
- int RPATH = 215;
+ int CARAT = 215;
/** RegularExpression Id. */
- int QMARK = 216;
+ int FPATH = 216;
/** RegularExpression Id. */
- int SURROGATE_PAIR = 217;
+ int RPATH = 217;
/** RegularExpression Id. */
- int PN_CHARS_BASE = 218;
+ int QMARK = 218;
/** RegularExpression Id. */
- int PN_CHARS_U = 219;
+ int SURROGATE_PAIR = 219;
/** RegularExpression Id. */
- int PN_CHARS = 220;
+ int PN_CHARS_BASE = 220;
/** RegularExpression Id. */
- int PN_PREFIX = 221;
+ int PN_CHARS_U = 221;
/** RegularExpression Id. */
- int PN_LOCAL = 222;
+ int PN_CHARS = 222;
/** RegularExpression Id. */
- int VARNAME = 223;
+ int PN_PREFIX = 223;
/** RegularExpression Id. */
- int PN_LOCAL_ESC = 224;
+ int PN_LOCAL = 224;
/** RegularExpression Id. */
- int PLX = 225;
+ int VARNAME = 225;
/** RegularExpression Id. */
- int HEX = 226;
+ int PN_LOCAL_ESC = 226;
/** RegularExpression Id. */
- int PERCENT = 227;
+ int PLX = 227;
/** RegularExpression Id. */
- int UNKNOWN = 228;
+ int HEX = 228;
+ /** RegularExpression Id. */
+ int PERCENT = 229;
+ /** RegularExpression Id. */
+ int UNKNOWN = 230;
/** Lexical state. */
int DEFAULT = 0;
@@ -567,6 +571,8 @@ public interface ARQParserConstants {
"\"CEIL\"",
"\"FLOOR\"",
"\"ROUND\"",
+ "\"MOD\"",
+ "\"IDIV\"",
"\"CONCAT\"",
"\"SUBSTR\"",
"\"STRLEN\"",
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 e923936..e6aac7c 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/lang/arq/ARQParserTokenManager.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/lang/arq/ARQParserTokenManager.java
@@ -45,164 +45,164 @@ private int jjMoveStringLiteralDfa0_0(){
jjmatchedKind = 1;
return jjMoveNfa_0(0, 0);
case 33:
- jjmatchedKind = 200;
- return jjMoveStringLiteralDfa1_0(0x0L, 0x0L, 0x8000000000000000L, 0x0L);
+ jjmatchedKind = 202;
+ return jjMoveStringLiteralDfa1_0(0x0L, 0x0L, 0x0L, 0x2L);
case 38:
- return jjMoveStringLiteralDfa1_0(0x0L, 0x0L, 0x0L, 0x1000L);
+ return jjMoveStringLiteralDfa1_0(0x0L, 0x0L, 0x0L, 0x4000L);
case 40:
- jjmatchedKind = 179;
+ jjmatchedKind = 181;
return jjMoveNfa_0(0, 0);
case 41:
- jjmatchedKind = 180;
+ jjmatchedKind = 182;
return jjMoveNfa_0(0, 0);
case 42:
- jjmatchedKind = 207;
+ jjmatchedKind = 209;
return jjMoveNfa_0(0, 0);
case 43:
- jjmatchedKind = 205;
+ jjmatchedKind = 207;
return jjMoveNfa_0(0, 0);
case 44:
- jjmatchedKind = 188;
+ jjmatchedKind = 190;
return jjMoveNfa_0(0, 0);
case 45:
- jjmatchedKind = 206;
- return jjMoveStringLiteralDfa1_0(0x0L, 0x0L, 0x0L, 0x400000L);
+ jjmatchedKind = 208;
+ return jjMoveStringLiteralDfa1_0(0x0L, 0x0L, 0x0L, 0x1000000L);
case 46:
- jjmatchedKind = 189;
+ jjmatchedKind = 191;
return jjMoveNfa_0(0, 0);
case 47:
- jjmatchedKind = 208;
+ jjmatchedKind = 210;
return jjMoveNfa_0(0, 0);
case 58:
- jjmatchedKind = 202;
- return jjMoveStringLiteralDfa1_0(0x0L, 0x0L, 0x0L, 0x80000L);
+ jjmatchedKind = 204;
+ return jjMoveStringLiteralDfa1_0(0x0L, 0x0L, 0x0L, 0x200000L);
case 59:
- jjmatchedKind = 187;
+ jjmatchedKind = 189;
return jjMoveNfa_0(0, 0);
case 60:
- jjmatchedKind = 193;
- return jjMoveStringLiteralDfa1_0(0x0L, 0x0L, 0x0L, 0x800024L);
+ jjmatchedKind = 195;
+ return jjMoveStringLiteralDfa1_0(0x0L, 0x0L, 0x0L, 0x2000090L);
case 61:
- jjmatchedKind = 190;
+ jjmatchedKind = 192;
return jjMoveNfa_0(0, 0);
case 62:
- jjmatchedKind = 192;
- return jjMoveStringLiteralDfa1_0(0x0L, 0x0L, 0x0L, 0x18L);
+ jjmatchedKind = 194;
+ return jjMoveStringLiteralDfa1_0(0x0L, 0x0L, 0x0L, 0x60L);
case 63:
- jjmatchedKind = 216;
+ jjmatchedKind = 218;
return jjMoveNfa_0(0, 0);
case 64:
- jjmatchedKind = 210;
+ jjmatchedKind = 212;
return jjMoveNfa_0(0, 0);
case 65:
- return jjMoveStringLiteralDfa1_0(0x880010810000000L, 0x2000000001L, 0x8040000L, 0x0L);
+ return jjMoveStringLiteralDfa1_0(0x880010810000000L, 0x2000000001L, 0x20100000L, 0x0L);
case 66:
return jjMoveStringLiteralDfa1_0(0x200100100000L, 0x11000L, 0x0L, 0x0L);
case 67:
- return jjMoveStringLiteralDfa1_0(0x1000000008000000L, 0x1024000182000L, 0x130000L, 0x0L);
+ return jjMoveStringLiteralDfa1_0(0x1000000008000000L, 0x4084000182000L, 0x4c0000L, 0x0L);
case 68:
- return jjMoveStringLiteralDfa1_0(0x1004800000L, 0x80000004000000L, 0x4800a00L, 0x0L);
+ return jjMoveStringLiteralDfa1_0(0x1004800000L, 0x200000004000000L, 0x12002800L, 0x0L);
case 69:
- return jjMoveStringLiteralDfa1_0(0x20000000000000L, 0x800000000000L, 0x0L, 0x0L);
+ return jjMoveStringLiteralDfa1_0(0x20000000000000L, 0x2000000000000L, 0x0L, 0x0L);
case 70:
- return jjMoveStringLiteralDfa1_0(0x4000000000L, 0x8000000800L, 0x100L, 0x0L);
+ return jjMoveStringLiteralDfa1_0(0x4000000000L, 0x8000000800L, 0x400L, 0x0L);
case 71:
return jjMoveStringLiteralDfa1_0(0x100020000000000L, 0x400L, 0x0L, 0x0L);
case 72:
- return jjMoveStringLiteralDfa1_0(0x200000000000000L, 0x100000000000000L, 0x0L, 0x0L);
+ return jjMoveStringLiteralDfa1_0(0x200000000000000L, 0x400000000000000L, 0x0L, 0x0L);
case 73:
- return jjMoveStringLiteralDfa1_0(0x2000000000000L, 0x3e002c000L, 0x1000400L, 0x0L);
+ return jjMoveStringLiteralDfa1_0(0x2000000000000L, 0x403e002c000L, 0x4001000L, 0x0L);
case 74:
return jjMoveStringLiteralDfa1_0(0x2000000L, 0x0L, 0x0L, 0x0L);
case 76:
- return jjMoveStringLiteralDfa1_0(0x800020000000L, 0x400018000000L, 0x8000L, 0x0L);
+ return jjMoveStringLiteralDfa1_0(0x800020000000L, 0x1000018000000L, 0x20000L, 0x0L);
case 77:
- return jjMoveStringLiteralDfa1_0(0x6000100000000000L, 0x240000000200006L, 0x280002L, 0x0L);
+ return jjMoveStringLiteralDfa1_0(0x6000100000000000L, 0x900020000200006L, 0xa00008L, 0x0L);
case 78:
- return jjMoveStringLiteralDfa1_0(0x40002000000000L, 0x2000000000000000L, 0x0L, 0x0L);
+ return jjMoveStringLiteralDfa1_0(0x40002000000000L, 0x8000000000000000L, 0x0L, 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, 0x111400000000L, 0x0L, 0x0L);
+ return jjMoveStringLiteralDfa1_0(0x1000000L, 0x411400000000L, 0x0L, 0x0L);
case 83:
- return jjMoveStringLiteralDfa1_0(0x8404400000400000L, 0x841e0c0803c00238L, 0x40007cL, 0x0L);
+ return jjMoveStringLiteralDfa1_0(0x8404400000400000L, 0x1078300803c00238L, 0x10001f2L, 0x0L);
case 84:
- return jjMoveStringLiteralDfa1_0(0x1000000000000L, 0x1800000000000000L, 0x2000080L, 0x0L);
+ return jjMoveStringLiteralDfa1_0(0x1000000000000L, 0x6000000000000000L, 0x8000200L, 0x0L);
case 85:
- return jjMoveStringLiteralDfa1_0(0x80400000000L, 0x4000200000040000L, 0x20000000L, 0x0L);
+ return jjMoveStringLiteralDfa1_0(0x80400000000L, 0x800000040000L, 0x80000001L, 0x0L);
case 86:
- return jjMoveStringLiteralDfa1_0(0x200000000L, 0x1c0L, 0x1L, 0x0L);
+ return jjMoveStringLiteralDfa1_0(0x200000000L, 0x1c0L, 0x4L, 0x0L);
case 87:
- return jjMoveStringLiteralDfa1_0(0x8000000000L, 0x0L, 0x10000000L, 0x0L);
+ return jjMoveStringLiteralDfa1_0(0x8000000000L, 0x0L, 0x40000000L, 0x0L);
case 89:
- return jjMoveStringLiteralDfa1_0(0x0L, 0x20000000000000L, 0x0L, 0x0L);
+ return jjMoveStringLiteralDfa1_0(0x0L, 0x80000000000000L, 0x0L, 0x0L);
case 91:
- jjmatchedKind = 184;
+ jjmatchedKind = 186;
return jjMoveNfa_0(0, 0);
case 93:
- jjmatchedKind = 185;
+ jjmatchedKind = 187;
return jjMoveNfa_0(0, 0);
case 94:
- jjmatchedKind = 213;
- return jjMoveStringLiteralDfa1_0(0x0L, 0x0L, 0x0L, 0x20000L);
+ jjmatchedKind = 215;
+ return jjMoveStringLiteralDfa1_0(0x0L, 0x0L, 0x0L, 0x80000L);
case 97:
jjmatchedKind = 19;
- return jjMoveStringLiteralDfa1_0(0x880010810000000L, 0x2000000001L, 0x8040000L, 0x0L);
+ return jjMoveStringLiteralDfa1_0(0x880010810000000L, 0x2000000001L, 0x20100000L, 0x0L);
case 98:
return jjMoveStringLiteralDfa1_0(0x200100100000L, 0x11000L, 0x0L, 0x0L);
case 99:
- return jjMoveStringLiteralDfa1_0(0x1000000008000000L, 0x1024000182000L, 0x130000L, 0x0L);
+ return jjMoveStringLiteralDfa1_0(0x1000000008000000L, 0x4084000182000L, 0x4c0000L, 0x0L);
case 100:
- return jjMoveStringLiteralDfa1_0(0x1004800000L, 0x80000004000000L, 0x4800a00L, 0x0L);
+ return jjMoveStringLiteralDfa1_0(0x1004800000L, 0x200000004000000L, 0x12002800L, 0x0L);
case 101:
- return jjMoveStringLiteralDfa1_0(0x20000000000000L, 0x800000000000L, 0x0L, 0x0L);
+ return jjMoveStringLiteralDfa1_0(0x20000000000000L, 0x2000000000000L, 0x0L, 0x0L);
case 102:
- return jjMoveStringLiteralDfa1_0(0x4000000000L, 0x8000000800L, 0x100L, 0x0L);
+ return jjMoveStringLiteralDfa1_0(0x4000000000L, 0x8000000800L, 0x400L, 0x0L);
case 103:
return jjMoveStringLiteralDfa1_0(0x100020000000000L, 0x400L, 0x0L, 0x0L);
case 104:
- return jjMoveStringLiteralDfa1_0(0x200000000000000L, 0x100000000000000L, 0x0L, 0x0L);
+ return jjMoveStringLiteralDfa1_0(0x200000000000000L, 0x400000000000000L, 0x0L, 0x0L);
case 105:
- return jjMoveStringLiteralDfa1_0(0x2000000000000L, 0x3e002c000L, 0x1000400L, 0x0L);
+ return jjMoveStringLiteralDfa1_0(0x2000000000000L, 0x403e002c000L, 0x4001000L, 0x0L);
case 106:
return jjMoveStringLiteralDfa1_0(0x2000000L, 0x0L, 0x0L, 0x0L);
case 108:
- return jjMoveStringLiteralDfa1_0(0x800020000000L, 0x400018000000L, 0x8000L, 0x0L);
+ return jjMoveStringLiteralDfa1_0(0x800020000000L, 0x1000018000000L, 0x20000L, 0x0L);
case 109:
- return jjMoveStringLiteralDfa1_0(0x6000100000000000L, 0x240000000200006L, 0x280002L, 0x0L);
+ return jjMoveStringLiteralDfa1_0(0x6000100000000000L, 0x900020000200006L, 0xa00008L, 0x0L);
case 110:
- return jjMoveStringLiteralDfa1_0(0x40002000000000L, 0x2000000000000000L, 0x0L, 0x0L);
+ return jjMoveStringLiteralDfa1_0(0x40002000000000L, 0x8000000000000000L, 0x0L, 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, 0x111400000000L, 0x0L, 0x0L);
+ return jjMoveStringLiteralDfa1_0(0x1000000L, 0x411400000000L, 0x0L, 0x0L);
case 115:
- return jjMoveStringLiteralDfa1_0(0x8404400000400000L, 0x841e0c0803c00238L, 0x40007cL, 0x0L);
+ return jjMoveStringLiteralDfa1_0(0x8404400000400000L, 0x1078300803c00238L, 0x10001f2L, 0x0L);
case 116:
- return jjMoveStringLiteralDfa1_0(0x1000000000000L, 0x1800000000000000L, 0x2000080L, 0x0L);
+ return jjMoveStringLiteralDfa1_0(0x1000000000000L, 0x6000000000000000L, 0x8000200L, 0x0L);
case 117:
- return jjMoveStringLiteralDfa1_0(0x80400000000L, 0x4000200000040000L, 0x20000000L, 0x0L);
+ return jjMoveStringLiteralDfa1_0(0x80400000000L, 0x800000040000L, 0x80000001L, 0x0L);
case 118:
- return jjMoveStringLiteralDfa1_0(0x200000000L, 0x1c0L, 0x1L, 0x0L);
+ return jjMoveStringLiteralDfa1_0(0x200000000L, 0x1c0L, 0x4L, 0x0L);
case 119:
- return jjMoveStringLiteralDfa1_0(0x8000000000L, 0x0L, 0x10000000L, 0x0L);
+ return jjMoveStringLiteralDfa1_0(0x8000000000L, 0x0L, 0x40000000L, 0x0L);
case 121:
- return jjMoveStringLiteralDfa1_0(0x0L, 0x20000000000000L, 0x0L, 0x0L);
+ return jjMoveStringLiteralDfa1_0(0x0L, 0x80000000000000L, 0x0L, 0x0L);
case 123:
- jjmatchedKind = 182;
- return jjMoveStringLiteralDfa1_0(0x0L, 0x0L, 0x0L, 0x40L);
+ jjmatchedKind = 184;
+ return jjMoveStringLiteralDfa1_0(0x0L, 0x0L, 0x0L, 0x100L);
case 124:
- jjmatchedKind = 212;
- return jjMoveStringLiteralDfa1_0(0x0L, 0x0L, 0x0L, 0x880L);
+ jjmatchedKind = 214;
+ return jjMoveStringLiteralDfa1_0(0x0L, 0x0L, 0x0L, 0x2200L);
case 125:
- jjmatchedKind = 183;
+ jjmatchedKind = 185;
return jjMoveNfa_0(0, 0);
case 126:
- jjmatchedKind = 201;
+ jjmatchedKind = 203;
return jjMoveNfa_0(0, 0);
case 65279:
jjmatchedKind = 9;
@@ -219,70 +219,70 @@ private int jjMoveStringLiteralDfa1_0(long active0, long active1, long active2,
switch(curChar)
{
case 38:
- if ((active3 & 0x1000L) != 0L)
+ if ((active3 & 0x4000L) != 0L)
{
- jjmatchedKind = 204;
+ jjmatchedKind = 206;
jjmatchedPos = 1;
}
break;
case 45:
- if ((active3 & 0x800000L) != 0L)
+ if ((active3 & 0x2000000L) != 0L)
{
- jjmatchedKind = 215;
+ jjmatchedKind = 217;
jjmatchedPos = 1;
}
break;
case 60:
- if ((active3 & 0x20L) != 0L)
+ if ((active3 & 0x80L) != 0L)
{
- jjmatchedKind = 197;
+ jjmatchedKind = 199;
jjmatchedPos = 1;
}
break;
case 61:
- if ((active2 & 0x8000000000000000L) != 0L)
+ if ((active3 & 0x2L) != 0L)
{
- jjmatchedKind = 191;
+ jjmatchedKind = 193;
jjmatchedPos = 1;
}
- else if ((active3 & 0x4L) != 0L)
+ else if ((active3 & 0x10L) != 0L)
{
- jjmatchedKind = 194;
+ jjmatchedKind = 196;
jjmatchedPos = 1;
}
- else if ((active3 & 0x8L) != 0L)
+ else if ((active3 & 0x20L) != 0L)
{
- jjmatchedKind = 195;
+ jjmatchedKind = 197;
jjmatchedPos = 1;
}
- else if ((active3 & 0x80000L) != 0L)
+ else if ((active3 & 0x200000L) != 0L)
{
- jjmatchedKind = 211;
+ jjmatchedKind = 213;
jjmatchedPos = 1;
}
break;
case 62:
- if ((active3 & 0x10L) != 0L)
+ if ((active3 & 0x40L) != 0L)
{
- jjmatchedKind = 196;
+ jjmatchedKind = 198;
jjmatchedPos = 1;
}
- else if ((active3 & 0x400000L) != 0L)
+ else if ((active3 & 0x1000000L) != 0L)
{
- jjmatchedKind = 214;
+ jjmatchedKind = 216;
jjmatchedPos = 1;
}
break;
case 65:
- return jjMoveStringLiteralDfa2_0(active0, 0x4200002200100000L, active1, 0x8000181c1803c0L, active2, 0x300L, active3, 0L);
+ return jjMoveStringLiteralDfa2_0(active0, 0x4200002200100000L, active1, 0x20000181c1803c0L, active2, 0xc00L, active3, 0L);
case 66:
return jjMoveStringLiteralDfa2_0(active0, 0x10000000000000L, active1, 0x2000000000L, active2, 0L, active3, 0L);
case 67:
- return jjMoveStringLiteralDfa2_0(active0, 0L, active1, 0x600000000000L, active2, 0L, active3, 0L);
+ return jjMoveStringLiteralDfa2_0(active0, 0L, active1, 0x1800000000000L, active2, 0L, active3, 0L);
case 68:
- return jjMoveStringLiteralDfa2_0(active0, 0L, active1, 0L, active2, 0x40002L, active3, 0L);
+ return jjMoveStringLiteralDfa2_0(active0, 0L, active1, 0x40000000000L, active2, 0x100008L, active3, 0L);
case 69:
- return jjMoveStringLiteralDfa2_0(active0, 0x400c01005400000L, active1, 0x420104400000002L, active2, 0x4200801L, active3, 0L);
+ return jjMoveStringLiteralDfa2_0(active0, 0x400c01005400000L, active1, 0x1080404400000002L, active2, 0x10802004L, active3, 0L);
case 70:
if ((active1 & 0x8000L) != 0L)
{
@@ -293,40 +293,40 @@ private int jjMoveStringLiteralDfa1_0(long active0, long active1, long active2,
case 71:
return jjMoveStringLiteralDfa2_0(active0, 0x800000000000000L, active1, 0L, active2, 0L, active3, 0L);
case 72:
- return jjMoveStringLiteralDfa2_0(active0, 0x8000000000L, active1, 0x400000L, active2, 0x7cL, active3, 0L);
+ return jjMoveStringLiteralDfa2_0(active0, 0x8000000000L, active1, 0x400000L, active2, 0x1f0L, active3, 0L);
case 73:
- return jjMoveStringLiteralDfa2_0(active0, 0x2000300020800000L, active1, 0xa00000000000800L, active2, 0x10400000L, active3, 0L);
+ return jjMoveStringLiteralDfa2_0(active0, 0x2000300020800000L, active1, 0x2800000000000800L, active2, 0x41000000L, active3, 0L);
case 76:
- return jjMoveStringLiteralDfa2_0(active0, 0L, active1, 0x8000000000L, active2, 0x8010000L, active3, 0L);
+ return jjMoveStringLiteralDfa2_0(active0, 0L, active1, 0x8000000000L, active2, 0x20040000L, active3, 0L);
case 78:
if ((active1 & 0x4000L) != 0L)
{
jjmatchedKind = 78;
jjmatchedPos = 1;
}
- return jjMoveStringLiteralDfa2_0(active0, 0x90400000000L, active1, 0x800000010000L, active2, 0x1000400L, active3, 0L);
+ return jjMoveStringLiteralDfa2_0(active0, 0x90400000000L, active1, 0x2000000010000L, active2, 0x4001000L, active3, 0L);
case 79:
- if ((active2 & 0x2000000L) != 0L)
+ if ((active2 & 0x8000000L) != 0L)
{
- jjmatchedKind = 153;
+ jjmatchedKind = 155;
jjmatchedPos = 1;
}
- return jjMoveStringLiteralDfa2_0(active0, 0x1040000008000000L, active1, 0x2141030000003004L, active2, 0x188000L, active3, 0L);
+ return jjMoveStringLiteralDfa2_0(active0, 0x1040000008000000L, active1, 0x85040b0000003004L, active2, 0x620000L, 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, 0x820080L, active3, 0L);
+ return jjMoveStringLiteralDfa2_0(active0, 0x109024080200000L, active1, 0x60400L, active2, 0x2080200L, active3, 0L);
case 83:
if ((active0 & 0x80000000000000L) != 0L)
{
jjmatchedKind = 55;
jjmatchedPos = 1;
}
- return jjMoveStringLiteralDfa2_0(active0, 0x2000812000000L, active1, 0x3e0000000L, active2, 0x20000000L, active3, 0L);
+ return jjMoveStringLiteralDfa2_0(active0, 0x2000812000000L, active1, 0x3e0000000L, active2, 0x80000000L, active3, 0L);
case 84:
- return jjMoveStringLiteralDfa2_0(active0, 0L, active1, 0x801e080003800038L, active2, 0L, active3, 0L);
+ return jjMoveStringLiteralDfa2_0(active0, 0L, active1, 0x78200003800038L, active2, 0x2L, active3, 0L);
case 85:
- return jjMoveStringLiteralDfa2_0(active0, 0x8004000000000000L, active1, 0x4000040000200000L, active2, 0L, active3, 0L);
+ return jjMoveStringLiteralDfa2_0(active0, 0x8004000000000000L, active1, 0x100000200000L, active2, 0x1L, active3, 0L);
case 86:
return jjMoveStringLiteralDfa2_0(active0, 0L, active1, 0x1L, active2, 0L, active3, 0L);
case 88:
@@ -339,29 +339,29 @@ private int jjMoveStringLiteralDfa1_0(long active0, long active1, long active2,
}
break;
case 90:
- if ((active1 & 0x1000000000000000L) != 0L)
+ if ((active1 & 0x4000000000000000L) != 0L)
{
- jjmatchedKind = 124;
+ jjmatchedKind = 126;
jjmatchedPos = 1;
}
break;
case 94:
- if ((active3 & 0x20000L) != 0L)
+ if ((active3 & 0x80000L) != 0L)
{
- jjmatchedKind = 209;
+ jjmatchedKind = 211;
jjmatchedPos = 1;
}
break;
case 97:
- return jjMoveStringLiteralDfa2_0(active0, 0x4200002200100000L, active1, 0x8000181c1803c0L, active2, 0x300L, active3, 0L);
+ return jjMoveStringLiteralDfa2_0(active0, 0x4200002200100000L, active1, 0x20000181c1803c0L, active2, 0xc00L, active3, 0L);
case 98:
return jjMoveStringLiteralDfa2_0(active0, 0x10000000000000L, active1, 0x2000000000L, active2, 0L, active3, 0L);
case 99:
- return jjMoveStringLiteralDfa2_0(active0, 0L, active1, 0x600000000000L, active2, 0L, active3, 0L);
+ return jjMoveStringLiteralDfa2_0(active0, 0L, active1, 0x1800000000000L, active2, 0L, active3, 0L);
case 100:
- return jjMoveStringLiteralDfa2_0(active0, 0L, active1, 0L, active2, 0x40002L, active3, 0L);
+ return jjMoveStringLiteralDfa2_0(active0, 0L, active1, 0x40000000000L, active2, 0x100008L, active3, 0L);
case 101:
- return jjMoveStringLiteralDfa2_0(active0, 0x400c01005400000L, active1, 0x420104400000002L, active2, 0x4200801L, active3, 0L);
+ return jjMoveStringLiteralDfa2_0(active0, 0x400c01005400000L, active1, 0x1080404400000002L, active2, 0x10802004L, active3, 0L);
case 102:
if ((active1 & 0x8000L) != 0L)
{
@@ -372,40 +372,40 @@ private int jjMoveStringLiteralDfa1_0(long active0, long active1, long active2,
case 103:
return jjMoveStringLiteralDfa2_0(active0, 0x800000000000000L, active1, 0L, active2, 0L, active3, 0L);
case 104:
- return jjMoveStringLiteralDfa2_0(active0, 0x8000000000L, active1, 0x400000L, active2, 0x7cL, active3, 0L);
+ return jjMoveStringLiteralDfa2_0(active0, 0x8000000000L, active1, 0x400000L, active2, 0x1f0L, active3, 0L);
case 105:
- return jjMoveStringLiteralDfa2_0(active0, 0x2000300020800000L, active1, 0xa00000000000800L, active2, 0x10400000L, active3, 0L);
+ return jjMoveStringLiteralDfa2_0(active0, 0x2000300020800000L, active1, 0x2800000000000800L, active2, 0x41000000L, active3, 0L);
case 108:
- return jjMoveStringLiteralDfa2_0(active0, 0L, active1, 0x8000000000L, active2, 0x8010000L, active3, 0L);
+ return jjMoveStringLiteralDfa2_0(active0, 0L, active1, 0x8000000000L, active2, 0x20040000L, active3, 0L);
case 110:
if ((active1 & 0x4000L) != 0L)
{
jjmatchedKind = 78;
jjmatchedPos = 1;
}
- return jjMoveStringLiteralDfa2_0(active0, 0x90400000000L, active1, 0x800000010000L, active2, 0x1000400L, active3, 0L);
+ return jjMoveStringLiteralDfa2_0(active0, 0x90400000000L, active1, 0x2000000010000L, active2, 0x4001000L, active3, 0L);
case 111:
- if ((active2 & 0x2000000L) != 0L)
+ if ((active2 & 0x8000000L) != 0L)
{
- jjmatchedKind = 153;
+ jjmatchedKind = 155;
jjmatchedPos = 1;
}
- return jjMoveStringLiteralDfa2_0(active0, 0x1040000008000000L, active1, 0x2141030000003004L, active2, 0x188000L, active3, 0L);
+ return jjMoveStringLiteralDfa2_0(active0, 0x1040000008000000L, active1, 0x85040b0000003004L, active2, 0x620000L, 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, 0x820080L, active3, 0L);
+ return jjMoveStringLiteralDfa2_0(active0, 0x109024080200000L, active1, 0x60400L, active2, 0x2080200L, active3, 0L);
case 115:
if ((active0 & 0x80000000000000L) != 0L)
{
jjmatchedKind = 55;
jjmatchedPos = 1;
}
- return jjMoveStringLiteralDfa2_0(active0, 0x2000812000000L, active1, 0x3e0000000L, active2, 0x20000000L, active3, 0L);
+ return jjMoveStringLiteralDfa2_0(active0, 0x2000812000000L, active1, 0x3e0000000L, active2, 0x80000000L, active3, 0L);
case 116:
- return jjMoveStringLiteralDfa2_0(active0, 0L, active1, 0x801e080003800038L, active2, 0L, active3, 0L);
+ return jjMoveStringLiteralDfa2_0(active0, 0L, active1, 0x78200003800038L, active2, 0x2L, active3, 0L);
case 117:
- return jjMoveStringLiteralDfa2_0(active0, 0x8004000000000000L, active1, 0x4000040000200000L, active2, 0L, active3, 0L);
+ return jjMoveStringLiteralDfa2_0(active0, 0x8004000000000000L, active1, 0x100000200000L, active2, 0x1L, active3, 0L);
case 118:
return jjMoveStringLiteralDfa2_0(active0, 0L, active1, 0x1L, active2, 0L, active3, 0L);
case 120:
@@ -418,28 +418,28 @@ private int jjMoveStringLiteralDfa1_0(long active0, long active1, long active2,
}
break;
case 122:
- if ((active1 & 0x1000000000000000L) != 0L)
+ if ((active1 & 0x4000000000000000L) != 0L)
{
- jjmatchedKind = 124;
+ jjmatchedKind = 126;
jjmatchedPos = 1;
}
break;
case 124:
- if ((active3 & 0x40L) != 0L)
+ if ((active3 & 0x100L) != 0L)
{
- jjmatchedKind = 198;
+ jjmatchedKind = 200;
jjmatchedPos = 1;
}
- else if ((active3 & 0x800L) != 0L)
+ else if ((active3 & 0x2000L) != 0L)
{
- jjmatchedKind = 203;
+ jjmatchedKind = 205;
jjmatchedPos = 1;
}
break;
case 125:
- if ((active3 & 0x80L) != 0L)
+ if ((active3 & 0x200L) != 0L)
{
- jjmatchedKind = 199;
+ jjmatchedKind = 201;
jjmatchedPos = 1;
}
break;
@@ -458,39 +458,44 @@ private int jjMoveStringLiteralDfa2_0(long old0, long active0, long old1, long a
switch(curChar)
{
case 53:
- if ((active2 & 0x2L) != 0L)
+ if ((active2 & 0x8L) != 0L)
{
- jjmatchedKind = 129;
+ jjmatchedKind = 131;
jjmatchedPos = 2;
}
break;
case 65:
- return jjMoveStringLiteralDfa3_0(active0, 0x20000000000L, active1, 0x20600000002000L, active2, 0x807cL);
+ return jjMoveStringLiteralDfa3_0(active0, 0x20000000000L, active1, 0x81800000002000L, active2, 0x201f0L);
case 66:
- return jjMoveStringLiteralDfa3_0(active0, 0x4000000000000L, active1, 0x40080000000L, active2, 0L);
+ return jjMoveStringLiteralDfa3_0(active0, 0x4000000000000L, active1, 0x100080000000L, active2, 0L);
case 67:
if ((active0 & 0x800000000L) != 0L)
{
jjmatchedKind = 35;
jjmatchedPos = 2;
}
- return jjMoveStringLiteralDfa3_0(active0, 0L, active1, 0x400800000000000L, active2, 0L);
+ return jjMoveStringLiteralDfa3_0(active0, 0L, active1, 0x1002000000000000L, active2, 0L);
case 68:
if ((active0 & 0x10000000000L) != 0L)
{
jjmatchedKind = 40;
jjmatchedPos = 2;
}
- else if ((active2 & 0x40000L) != 0L)
+ else if ((active1 & 0x20000000000L) != 0L)
{
- jjmatchedKind = 146;
+ jjmatchedKind = 105;
+ jjmatchedPos = 2;
+ }
+ else if ((active2 & 0x100000L) != 0L)
+ {
+ jjmatchedKind = 148;
jjmatchedPos = 2;
}
return jjMoveStringLiteralDfa3_0(active0, 0x481000000L, active1, 0x3eL, active2, 0L);
case 69:
- return jjMoveStringLiteralDfa3_0(active0, 0x8008000200000L, active1, 0L, active2, 0x30000L);
+ return jjMoveStringLiteralDfa3_0(active0, 0x8008000200000L, active1, 0L, active2, 0xc0000L);
case 70:
- return jjMoveStringLiteralDfa3_0(active0, 0x40000000L, active1, 0L, active2, 0x4000000L);
+ return jjMoveStringLiteralDfa3_0(active0, 0x40000000L, active1, 0L, active2, 0x10000000L);
case 71:
if ((active0 & 0x800000000000000L) != 0L)
{
@@ -514,7 +519,7 @@ private int jjMoveStringLiteralDfa2_0(long old0, long active0, long old1, long a
jjmatchedKind = 82;
jjmatchedPos = 2;
}
- return jjMoveStringLiteralDfa3_0(active0, 0x21080000000000L, active1, 0x4000004040000000L, active2, 0x20000000L);
+ return jjMoveStringLiteralDfa3_0(active0, 0x21080000000000L, active1, 0x44040000000L, active2, 0x80000001L);
case 74:
return jjMoveStringLiteralDfa3_0(active0, 0x10000000000000L, active1, 0L, active2, 0L);
case 75:
@@ -525,44 +530,44 @@ private int jjMoveStringLiteralDfa2_0(long old0, long active0, long old1, long a
}
break;
case 76:
- if ((active2 & 0x8000000L) != 0L)
+ if ((active2 & 0x20000000L) != 0L)
{
- jjmatchedKind = 155;
+ jjmatchedKind = 157;
jjmatchedPos = 2;
}
- return jjMoveStringLiteralDfa3_0(active0, 0x200400000L, active1, 0x100300800L, active2, 0x400900L);
+ return jjMoveStringLiteralDfa3_0(active0, 0x200400000L, active1, 0x100300800L, active2, 0x1002400L);
case 77:
if ((active0 & 0x8000000000000000L) != 0L)
{
jjmatchedKind = 63;
jjmatchedPos = 2;
}
- return jjMoveStringLiteralDfa3_0(active0, 0x2020000000L, active1, 0x800000800000200L, active2, 0L);
+ return jjMoveStringLiteralDfa3_0(active0, 0x2020000000L, active1, 0x2000000800000200L, active2, 0L);
case 78:
if ((active0 & 0x2000000000000000L) != 0L)
{
jjmatchedKind = 61;
jjmatchedPos = 2;
}
- return jjMoveStringLiteralDfa3_0(active0, 0x300008000000L, active1, 0x241021218000000L, active2, 0L);
+ return jjMoveStringLiteralDfa3_0(active0, 0x300008000000L, active1, 0x904081218000000L, active2, 0L);
case 79:
- return jjMoveStringLiteralDfa3_0(active0, 0x100004002000000L, active1, 0x8000410400L, active2, 0x800000L);
+ return jjMoveStringLiteralDfa3_0(active0, 0x100004002000000L, active1, 0x8000410400L, active2, 0x2000000L);
case 80:
- return jjMoveStringLiteralDfa3_0(active0, 0x400000000000000L, active1, 0x100000000000L, active2, 0x100000L);
+ return jjMoveStringLiteralDfa3_0(active0, 0x400000000000000L, active1, 0x400000000000L, active2, 0x400000L);
case 82:
if ((active1 & 0x800000L) != 0L)
{
jjmatchedKind = 87;
jjmatchedPos = 2;
}
- return jjMoveStringLiteralDfa3_0(active0, 0x400000000000L, active1, 0x801e0800030001c0L, active2, 0x1L);
+ return jjMoveStringLiteralDfa3_0(active0, 0x400000000000L, active1, 0x782000030001c0L, active2, 0x6L);
case 83:
if ((active1 & 0x2000000000L) != 0L)
{
jjmatchedKind = 101;
jjmatchedPos = 2;
}
- return jjMoveStringLiteralDfa3_0(active0, 0x1004900000L, active1, 0x80000L, active2, 0x400L);
+ return jjMoveStringLiteralDfa3_0(active0, 0x1004900000L, active1, 0x80000L, active2, 0x1000L);
case 84:
if ((active0 & 0x800000000000L) != 0L)
{
@@ -574,15 +579,15 @@ private int jjMoveStringLiteralDfa2_0(long old0, long active0, long old1, long a
jjmatchedKind = 54;
jjmatchedPos = 2;
}
- return jjMoveStringLiteralDfa3_0(active0, 0x2040000000000L, active1, 0x4000000L, active2, 0x11200200L);
+ return jjMoveStringLiteralDfa3_0(active0, 0x2040000000000L, active1, 0x4000000L, active2, 0x44800800L);
case 85:
- return jjMoveStringLiteralDfa3_0(active0, 0x1000000000000000L, active1, 0x100010020001000L, active2, 0x80L);
+ return jjMoveStringLiteralDfa3_0(active0, 0x1000000000000000L, active1, 0x400010020001000L, active2, 0x200L);
case 86:
- return jjMoveStringLiteralDfa3_0(active0, 0x200000000000000L, active1, 0L, active2, 0x80000L);
+ return jjMoveStringLiteralDfa3_0(active0, 0x200000000000000L, active1, 0L, active2, 0x200000L);
case 87:
- if ((active1 & 0x2000000000000000L) != 0L)
+ if ((active1 & 0x8000000000000000L) != 0L)
{
- jjmatchedKind = 125;
+ jjmatchedKind = 127;
jjmatchedPos = 2;
}
break;
@@ -594,39 +599,44 @@ private int jjMoveStringLiteralDfa2_0(long old0, long active0, long old1, long a
}
break;
case 89:
- if ((active1 & 0x80000000000000L) != 0L)
+ if ((active1 & 0x200000000000000L) != 0L)
{
- jjmatchedKind = 119;
+ jjmatchedKind = 121;
jjmatchedPos = 2;
}
break;
case 97:
- return jjMoveStringLiteralDfa3_0(active0, 0x20000000000L, active1, 0x20600000002000L, active2, 0x807cL);
+ return jjMoveStringLiteralDfa3_0(active0, 0x20000000000L, active1, 0x81800000002000L, active2, 0x201f0L);
case 98:
- return jjMoveStringLiteralDfa3_0(active0, 0x4000000000000L, active1, 0x40080000000L, active2, 0L);
+ return jjMoveStringLiteralDfa3_0(active0, 0x4000000000000L, active1, 0x100080000000L, active2, 0L);
case 99:
if ((active0 & 0x800000000L) != 0L)
{
jjmatchedKind = 35;
jjmatchedPos = 2;
}
- return jjMoveStringLiteralDfa3_0(active0, 0L, active1, 0x400800000000000L, active2, 0L);
+ return jjMoveStringLiteralDfa3_0(active0, 0L, active1, 0x1002000000000000L, active2, 0L);
case 100:
if ((active0 & 0x10000000000L) != 0L)
{
jjmatchedKind = 40;
jjmatchedPos = 2;
}
- else if ((active2 & 0x40000L) != 0L)
+ else if ((active1 & 0x20000000000L) != 0L)
{
- jjmatchedKind = 146;
+ jjmatchedKind = 105;
+ jjmatchedPos = 2;
+ }
+ else if ((active2 & 0x100000L) != 0L)
+ {
+ jjmatchedKind = 148;
jjmatchedPos = 2;
}
return jjMoveStringLiteralDfa3_0(active0, 0x481000000L, active1, 0x3eL, active2, 0L);
case 101:
- return jjMoveStringLiteralDfa3_0(active0, 0x8008000200000L, active1, 0L, active2, 0x30000L);
+ return jjMoveStringLiteralDfa3_0(active0, 0x8008000200000L, active1, 0L, active2, 0xc0000L);
case 102:
- return jjMoveStringLiteralDfa3_0(active0, 0x40000000L, active1, 0L, active2, 0x4000000L);
+ return jjMoveStringLiteralDfa3_0(active0, 0x40000000L, active1, 0L, active2, 0x10000000L);
case 103:
if ((active0 & 0x800000000000000L) != 0L)
{
@@ -650,7 +660,7 @@ private int jjMoveStringLiteralDfa2_0(long old0, long active0, long old1, long a
jjmatchedKind = 82;
jjmatchedPos = 2;
}
- return jjMoveStringLiteralDfa3_0(active0, 0x21080000000000L, active1, 0x4000004040000000L, active2, 0x20000000L);
+ return jjMoveStringLiteralDfa3_0(active0, 0x21080000000000L, active1, 0x44040000000L, active2, 0x80000001L);
case 106:
return jjMoveStringLiteralDfa3_0(active0, 0x10000000000000L, active1, 0L, active2, 0L);
case 107:
@@ -661,44 +671,44 @@ private int jjMoveStringLiteralDfa2_0(long old0, long active0, long old1, long a
}
break;
case 108:
- if ((active2 & 0x8000000L) != 0L)
+ if ((active2 & 0x20000000L) != 0L)
{
- jjmatchedKind = 155;
+ jjmatchedKind = 157;
jjmatchedPos = 2;
}
- return jjMoveStringLiteralDfa3_0(active0, 0x200400000L, active1, 0x100300800L, active2, 0x400900L);
+ return jjMoveStringLiteralDfa3_0(active0, 0x200400000L, active1, 0x100300800L, active2, 0x1002400L);
case 109:
if ((active0 & 0x8000000000000000L) != 0L)
{
jjmatchedKind = 63;
jjmatchedPos = 2;
}
- return jjMoveStringLiteralDfa3_0(active0, 0x2020000000L, active1, 0x800000800000200L, active2, 0L);
+ return jjMoveStringLiteralDfa3_0(active0, 0x2020000000L, active1, 0x2000000800000200L, active2, 0L);
case 110:
if ((active0 & 0x2000000000000000L) != 0L)
{
jjmatchedKind = 61;
jjmatchedPos = 2;
}
- return jjMoveStringLiteralDfa3_0(active0, 0x300008000000L, active1, 0x241021218000000L, active2, 0L);
+ return jjMoveStringLiteralDfa3_0(active0, 0x300008000000L, active1, 0x904081218000000L, active2, 0L);
case 111:
- return jjMoveStringLiteralDfa3_0(active0, 0x100004002000000L, active1, 0x8000410400L, active2, 0x800000L);
+ return jjMoveStringLiteralDfa3_0(active0, 0x100004002000000L, active1, 0x8000410400L, active2, 0x2000000L);
case 112:
- return jjMoveStringLiteralDfa3_0(active0, 0x400000000000000L, active1, 0x100000000000L, active2, 0x100000L);
+ return jjMoveStringLiteralDfa3_0(active0, 0x400000000000000L, active1, 0x400000000000L, active2, 0x400000L);
case 114:
if ((active1 & 0x800000L) != 0L)
{
jjmatchedKind = 87;
jjmatchedPos = 2;
}
- return jjMoveStringLiteralDfa3_0(active0, 0x400000000000L, active1, 0x801e0800030001c0L, active2, 0x1L);
+ return jjMoveStringLiteralDfa3_0(active0, 0x400000000000L, active1, 0x782000030001c0L, active2, 0x6L);
case 115:
if ((active1 & 0x2000000000L) != 0L)
{
jjmatchedKind = 101;
jjmatchedPos = 2;
}
- return jjMoveStringLiteralDfa3_0(active0, 0x1004900000L, active1, 0x80000L, active2, 0x400L);
+ return jjMoveStringLiteralDfa3_0(active0, 0x1004900000L, active1, 0x80000L, active2, 0x1000L);
case 116:
if ((active0 & 0x800000000000L) != 0L)
{
@@ -710,15 +720,15 @@ private int jjMoveStringLiteralDfa2_0(long old0, long active0, long old1, long a
jjmatchedKind = 54;
jjmatchedPos = 2;
}
- return jjMoveStringLiteralDfa3_0(active0, 0x2040000000000L, active1, 0x4000000L, active2, 0x11200200L);
+ return jjMoveStringLiteralDfa3_0(active0, 0x2040000000000L, active1, 0x4000000L, active2, 0x44800800L);
case 117:
- return jjMoveStringLiteralDfa3_0(active0, 0x1000000000000000L, active1, 0x100010020001000L, active2, 0x80L);
+ return jjMoveStringLiteralDfa3_0(active0, 0x1000000000000000L, active1, 0x400010020001000L, active2, 0x200L);
case 118:
- return jjMoveStringLiteralDfa3_0(active0, 0x200000000000000L, active1, 0L, active2, 0x80000L);
+ return jjMoveStringLiteralDfa3_0(active0, 0x200000000000000L, active1, 0L, active2, 0x200000L);
case 119:
- if ((active1 & 0x2000000000000000L) != 0L)
+ if ((active1 & 0x8000000000000000L) != 0L)
{
- jjmatchedKind = 125;
+ jjmatchedKind = 127;
jjmatchedPos = 2;
}
break;
@@ -730,9 +740,9 @@ private int jjMoveStringLiteralDfa2_0(long old0, long active0, long old1, long a
}
break;
case 121:
- if ((active1 & 0x80000000000000L) != 0L)
+ if ((active1 & 0x200000000000000L) != 0L)
{
- jjmatchedKind = 119;
+ jjmatchedKind = 121;
jjmatchedPos = 2;
}
break;
@@ -751,39 +761,39 @@ private int jjMoveStringLiteralDfa3_0(long old0, long active0, long old1, long a
switch(curChar)
{
case 49:
- if ((active2 & 0x4L) != 0L)
+ if ((active2 & 0x10L) != 0L)
{
- jjmatchedKind = 130;
+ jjmatchedKind = 132;
jjmatchedPos = 3;
}
break;
case 50:
- return jjMoveStringLiteralDfa4_0(active0, 0L, active1, 0L, active2, 0x18L);
+ return jjMoveStringLiteralDfa4_0(active0, 0L, active1, 0L, active2, 0x60L);
case 51:
- return jjMoveStringLiteralDfa4_0(active0, 0L, active1, 0L, active2, 0x20L);
+ return jjMoveStringLiteralDfa4_0(active0, 0L, active1, 0L, active2, 0x80L);
case 53:
- return jjMoveStringLiteralDfa4_0(active0, 0L, active1, 0L, active2, 0x40L);
+ return jjMoveStringLiteralDfa4_0(active0, 0L, active1, 0L, active2, 0x100L);
case 65:
- if ((active2 & 0x200L) != 0L)
+ if ((active2 & 0x800L) != 0L)
{
- jjmatchedKind = 137;
+ jjmatchedKind = 139;
jjmatchedPos = 3;
}
- else if ((active2 & 0x200000L) != 0L)
+ else if ((active2 & 0x800000L) != 0L)
{
- jjmatchedKind = 149;
+ jjmatchedKind = 151;
jjmatchedPos = 3;
}
- return jjMoveStringLiteralDfa4_0(active0, 0x400000000000000L, active1, 0x10000004000000L, active2, 0x4030000L);
+ return jjMoveStringLiteralDfa4_0(active0, 0x400000000000000L, active1, 0x40000004000000L, active2, 0x100c0000L);
case 66:
- return jjMoveStringLiteralDfa4_0(active0, 0L, active1, 0x8000000000000L, active2, 0L);
+ return jjMoveStringLiteralDfa4_0(active0, 0L, active1, 0x20000000000000L, active2, 0L);
case 67:
if ((active0 & 0x1000000000L) != 0L)
{
jjmatchedKind = 36;
jjmatchedPos = 3;
}
- return jjMoveStringLiteralDfa4_0(active0, 0x4000000L, active1, 0x20000000000L, active2, 0L);
+ return jjMoveStringLiteralDfa4_0(active0, 0x4000000L, active1, 0x80000000000L, active2, 0L);
case 68:
if ((active0 & 0x200000000000L) != 0L)
{
@@ -795,14 +805,14 @@ private int jjMoveStringLiteralDfa3_0(long old0, long active0, long old1, long a
jjmatchedKind = 100;
jjmatchedPos = 3;
}
- else if ((active1 & 0x4000000000000000L) != 0L)
+ else if ((active2 & 0x1L) != 0L)
{
- jjmatchedKind = 126;
+ jjmatchedKind = 128;
jjmatchedPos = 3;
}
- else if ((active2 & 0x8000L) != 0L)
+ else if ((active2 & 0x20000L) != 0L)
{
- jjmatchedKind = 143;
+ jjmatchedKind = 145;
jjmatchedPos = 3;
}
return jjMoveStringLiteralDfa4_0(active0, 0x8000000000000L, active1, 0x2010000L, active2, 0L);
@@ -817,17 +827,17 @@ private int jjMoveStringLiteralDfa3_0(long old0, long active0, long old1, long a
jjmatchedKind = 66;
jjmatchedPos = 3;
}
- else if ((active2 & 0x80L) != 0L)
+ else if ((active2 & 0x200L) != 0L)
{
- jjmatchedKind = 135;
+ jjmatchedKind = 137;
jjmatchedPos = 3;
}
- else if ((active2 & 0x80000L) != 0L)
+ else if ((active2 & 0x200000L) != 0L)
{
- jjmatchedKind = 147;
+ jjmatchedKind = 149;
jjmatchedPos = 3;
}
- return jjMoveStringLiteralDfa4_0(active0, 0x10002480400000L, active1, 0x804000c00000038L, active2, 0x400c00L);
+ return jjMoveStringLiteralDfa4_0(active0, 0x10002480400000L, active1, 0x2010000c00000038L, active2, 0x1003000L);
case 70:
return jjMoveStringLiteralDfa4_0(active0, 0x200000L, active1, 0L, active2, 0L);
case 71:
@@ -838,9 +848,9 @@ private int jjMoveStringLiteralDfa3_0(long old0, long active0, long old1, long a
}
return jjMoveStringLiteralDfa4_0(active0, 0L, active1, 0x10000000L, active2, 0L);
case 72:
- if ((active2 & 0x10000000L) != 0L)
+ if ((active2 & 0x40000000L) != 0L)
{
- jjmatchedKind = 156;
+ jjmatchedKind = 158;
jjmatchedPos = 3;
}
break;
@@ -859,7 +869,7 @@ private int jjMoveStringLiteralDfa3_0(long old0, long active0, long old1, long a
jjmatchedKind = 102;
jjmatchedPos = 3;
}
- return jjMoveStringLiteralDfa4_0(active0, 0L, active1, 0x180081002000L, active2, 0L);
+ return jjMoveStringLiteralDfa4_0(active0, 0L, active1, 0x600081002000L, active2, 0L);
case 77:
if ((active0 & 0x4000000000L) != 0L)
{
@@ -873,71 +883,76 @@ private int jjMoveStringLiteralDfa3_0(long old0, long active0, long old1, long a
jjmatchedKind = 25;
jjmatchedPos = 3;
}
- return jjMoveStringLiteralDfa4_0(active0, 0x1000000000000000L, active1, 0x10000001000L, active2, 0x20000000L);
+ return jjMoveStringLiteralDfa4_0(active0, 0x1000000000000000L, active1, 0x10000001000L, active2, 0x80000000L);
case 79:
- if ((active2 & 0x1000000L) != 0L)
+ if ((active2 & 0x4000000L) != 0L)
{
- jjmatchedKind = 152;
+ jjmatchedKind = 154;
jjmatchedPos = 3;
}
- return jjMoveStringLiteralDfa4_0(active0, 0x80000000000L, active1, 0x400808000000000L, active2, 0L);
+ return jjMoveStringLiteralDfa4_0(active0, 0x80000000000L, active1, 0x1002008000000000L, active2, 0L);
case 80:
- if ((active2 & 0x800000L) != 0L)
+ if ((active2 & 0x2000000L) != 0L)
{
- jjmatchedKind = 151;
+ jjmatchedKind = 153;
jjmatchedPos = 3;
}
return jjMoveStringLiteralDfa4_0(active0, 0x1020000000000L, active1, 0x200L, active2, 0L);
case 82:
- if ((active1 & 0x20000000000000L) != 0L)
+ if ((active1 & 0x80000000000000L) != 0L)
{
- jjmatchedKind = 117;
+ jjmatchedKind = 119;
jjmatchedPos = 3;
}
- return jjMoveStringLiteralDfa4_0(active0, 0x2008000000000L, active1, 0x100000060400000L, active2, 0L);
+ return jjMoveStringLiteralDfa4_0(active0, 0x2008000000000L, active1, 0x400000060400000L, active2, 0L);
case 83:
- return jjMoveStringLiteralDfa4_0(active0, 0x20000048000000L, active1, 0x2640000000000L, active2, 0x101L);
+ return jjMoveStringLiteralDfa4_0(active0, 0x20000048000000L, active1, 0x9900000000000L, active2, 0x404L);
case 84:
if ((active1 & 0x80000L) != 0L)
{
jjmatchedKind = 83;
jjmatchedPos = 3;
}
- return jjMoveStringLiteralDfa4_0(active0, 0x800000L, active1, 0x41000000200800L, active2, 0L);
+ return jjMoveStringLiteralDfa4_0(active0, 0x800000L, active1, 0x104000000200800L, active2, 0L);
case 85:
- return jjMoveStringLiteralDfa4_0(active0, 0x100100201000000L, active1, 0x8200000200000400L, active2, 0L);
+ return jjMoveStringLiteralDfa4_0(active0, 0x100100201000000L, active1, 0x800000200000400L, active2, 0x2L);
case 86:
+ if ((active1 & 0x40000000000L) != 0L)
+ {
+ jjmatchedKind = 106;
+ jjmatchedPos = 3;
+ }
return jjMoveStringLiteralDfa4_0(active0, 0x400000000000L, active1, 0L, active2, 0L);
case 89:
- if ((active2 & 0x100000L) != 0L)
+ if ((active2 & 0x400000L) != 0L)
{
- jjmatchedKind = 148;
+ jjmatchedKind = 150;
jjmatchedPos = 3;
}
break;
case 95:
return jjMoveStringLiteralDfa4_0(active0, 0L, active1, 0x180L, active2, 0L);
case 97:
- if ((active2 & 0x200L) != 0L)
+ if ((active2 & 0x800L) != 0L)
{
- jjmatchedKind = 137;
+ jjmatchedKind = 139;
jjmatchedPos = 3;
}
- else if ((active2 & 0x200000L) != 0L)
+ else if ((active2 & 0x800000L) != 0L)
{
- jjmatchedKind = 149;
+ jjmatchedKind = 151;
jjmatchedPos = 3;
}
- return jjMoveStringLiteralDfa4_0(active0, 0x400000000000000L, active1, 0x10000004000000L, active2, 0x4030000L);
+ return jjMoveStringLiteralDfa4_0(active0, 0x400000000000000L, active1, 0x40000004000000L, active2, 0x100c0000L);
case 98:
- return jjMoveStringLiteralDfa4_0(active0, 0L, active1, 0x8000000000000L, active2, 0L);
+ return jjMoveStringLiteralDfa4_0(active0, 0L, active1, 0x20000000000000L, active2, 0L);
case 99:
if ((active0 & 0x1000000000L) != 0L)
{
jjmatchedKind = 36;
jjmatchedPos = 3;
}
- return jjMoveStringLiteralDfa4_0(active0, 0x4000000L, active1, 0x20000000000L, active2, 0L);
+ return jjMoveStringLiteralDfa4_0(active0, 0x4000000L, active1, 0x80000000000L, active2, 0L);
case 100:
if ((active0 & 0x200000000000L) != 0L)
{
@@ -949,14 +964,14 @@ private int jjMoveStringLiteralDfa3_0(long old0, long active0, long old1, long a
jjmatchedKind = 100;
jjmatchedPos = 3;
}
- else if ((active1 & 0x4000000000000000L) != 0L)
+ else if ((active2 & 0x1L) != 0L)
{
- jjmatchedKind = 126;
+ jjmatchedKind = 128;
jjmatchedPos = 3;
}
- else if ((active2 & 0x8000L) != 0L)
+ else if ((active2 & 0x20000L) != 0L)
{
- jjmatchedKind = 143;
+ jjmatchedKind = 145;
jjmatchedPos = 3;
}
return jjMoveStringLiteralDfa4_0(active0, 0x8000000000000L, active1, 0x2010000L, active2, 0L);
@@ -971,17 +986,17 @@ private int jjMoveStringLiteralDfa3_0(long old0, long active0, long old1, long a
jjmatchedKind = 66;
jjmatchedPos = 3;
}
- else if ((active2 & 0x80L) != 0L)
+ else if ((active2 & 0x200L) != 0L)
{
- jjmatchedKind = 135;
+ jjmatchedKind = 137;
jjmatchedPos = 3;
}
- else if ((active2 & 0x80000L) != 0L)
+ else if ((active2 & 0x200000L) != 0L)
{
- jjmatchedKind = 147;
+ jjmatchedKind = 149;
jjmatchedPos = 3;
}
- return jjMoveStringLiteralDfa4_0(active0, 0x10002480400000L, active1, 0x804000c00000038L, active2, 0x400c00L);
+ return jjMoveStringLiteralDfa4_0(active0, 0x10002480400000L, active1, 0x2010000c00000038L, active2, 0x1003000L);
case 102:
return jjMoveStringLiteralDfa4_0(active0, 0x200000L, active1, 0L, active2, 0L);
case 103:
@@ -992,9 +1007,9 @@ private int jjMoveStringLiteralDfa3_0(long old0, long active0, long old1, long a
}
return jjMoveStringLiteralDfa4_0(active0, 0L, active1, 0x10000000L, active2, 0L);
case 104:
- if ((active2 & 0x10000000L) != 0L)
+ if ((active2 & 0x40000000L) != 0L)
{
- jjmatchedKind = 156;
+ jjmatchedKind = 158;
jjmatchedPos = 3;
}
break;
@@ -1013,7 +1028,7 @@ private int jjMoveStringLiteralDfa3_0(long old0, long active0, long old1, long a
jjmatchedKind = 102;
jjmatchedPos = 3;
}
- return jjMoveStringLiteralDfa4_0(active0, 0L, active1, 0x180081002000L, active2, 0L);
+ return jjMoveStringLiteralDfa4_0(active0, 0L, active1, 0x600081002000L, active2, 0L);
case 109:
if ((active0 & 0x4000000000L) != 0L)
{
@@ -1027,45 +1042,50 @@ private int jjMoveStringLiteralDfa3_0(long old0, long active0, long old1, long a
jjmatchedKind = 25;
jjmatchedPos = 3;
}
- return jjMoveStringLiteralDfa4_0(active0, 0x1000000000000000L, active1, 0x10000001000L, active2, 0x20000000L);
+ return jjMoveStringLiteralDfa4_0(active0, 0x1000000000000000L, active1, 0x10000001000L, active2, 0x80000000L);
case 111:
- if ((active2 & 0x1000000L) != 0L)
+ if ((active2 & 0x4000000L) != 0L)
{
- jjmatchedKind = 152;
+ jjmatchedKind = 154;
jjmatchedPos = 3;
}
- return jjMoveStringLiteralDfa4_0(active0, 0x80000000000L, active1, 0x400808000000000L, active2, 0L);
+ return jjMoveStringLiteralDfa4_0(active0, 0x80000000000L, active1, 0x1002008000000000L, active2, 0L);
case 112:
- if ((active2 & 0x800000L) != 0L)
+ if ((active2 & 0x2000000L) != 0L)
{
- jjmatchedKind = 151;
+ jjmatchedKind = 153;
jjmatchedPos = 3;
}
return jjMoveStringLiteralDfa4_0(active0, 0x1020000000000L, active1, 0x200L, active2, 0L);
case 114:
- if ((active1 & 0x20000000000000L) != 0L)
+ if ((active1 & 0x80000000000000L) != 0L)
{
- jjmatchedKind = 117;
+ jjmatchedKind = 119;
jjmatchedPos = 3;
}
- return jjMoveStringLiteralDfa4_0(active0, 0x2008000000000L, active1, 0x100000060400000L, active2, 0L);
+ return jjMoveStringLiteralDfa4_0(active0, 0x2008000000000L, active1, 0x400000060400000L, active2, 0L);
case 115:
- return jjMoveStringLiteralDfa4_0(active0, 0x20000048000000L, active1, 0x2640000000000L, active2, 0x101L);
+ return jjMoveStringLiteralDfa4_0(active0, 0x20000048000000L, active1, 0x9900000000000L, active2, 0x404L);
case 116:
if ((active1 & 0x80000L) != 0L)
{
jjmatchedKind = 83;
jjmatchedPos = 3;
}
- return jjMoveStringLiteralDfa4_0(active0, 0x800000L, active1, 0x41000000200800L, active2, 0L);
+ return jjMoveStringLiteralDfa4_0(active0, 0x800000L, active1, 0x104000000200800L, active2, 0L);
case 117:
- return jjMoveStringLiteralDfa4_0(active0, 0x100100201000000L, active1, 0x8200000200000400L, active2, 0L);
+ return jjMoveStringLiteralDfa4_0(active0, 0x100100201000000L, active1, 0x800000200000400L, active2, 0x2L);
case 118:
+ if ((active1 & 0x40000000000L) != 0L)
+ {
+ jjmatchedKind = 106;
+ jjmatchedPos = 3;
+ }
return jjMoveStringLiteralDfa4_0(active0, 0x400000000000L, active1, 0L, active2, 0L);
case 121:
- if ((active2 & 0x100000L) != 0L)
+ if ((active2 & 0x400000L) != 0L)
{
- jjmatchedKind = 148;
+ jjmatchedKind = 150;
jjmatchedPos = 3;
}
break;
@@ -1084,15 +1104,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, 0x40L);
+ return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0L, active2, 0x100L);
case 50:
- return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0L, active2, 0x8L);
+ return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0L, active2, 0x20L);
case 53:
- return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0L, active2, 0x10L);
+ return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0L, active2, 0x40L);
case 56:
- return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0L, active2, 0x20L);
+ return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0L, active2, 0x80L);
case 65:
- return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0x1120081000042L, active2, 0L);
+ return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0x4480081000042L, active2, 0L);
case 67:
return jjMoveStringLiteralDfa5_0(active0, 0x10000001400000L, active1, 0L, active2, 0L);
case 68:
@@ -1111,7 +1131,7 @@ private int jjMoveStringLiteralDfa4_0(long old0, long active0, long old1, long a
jjmatchedKind = 104;
jjmatchedPos = 4;
}
- return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0x800000000000L, active2, 0L);
+ return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0x2000000000000L, active2, 0L);
case 69:
if ((active0 & 0x8000000000L) != 0L)
{
@@ -1123,33 +1143,33 @@ private int jjMoveStringLiteralDfa4_0(long old0, long active0, long old1, long a
jjmatchedKind = 80;
jjmatchedPos = 4;
}
- else if ((active1 & 0x200000000000L) != 0L)
+ else if ((active1 & 0x800000000000L) != 0L)
{
- jjmatchedKind = 109;
+ jjmatchedKind = 111;
jjmatchedPos = 4;
}
- else if ((active1 & 0x400000000000L) != 0L)
+ else if ((active1 & 0x1000000000000L) != 0L)
{
- jjmatchedKind = 110;
+ jjmatchedKind = 112;
jjmatchedPos = 4;
}
- else if ((active2 & 0x100L) != 0L)
+ else if ((active2 & 0x400L) != 0L)
{
- jjmatchedKind = 136;
+ jjmatchedKind = 138;
jjmatchedPos = 4;
}
- return jjMoveStringLiteralDfa5_0(active0, 0x4000240000000L, active1, 0x8080000002800L, active2, 0L);
+ return jjMoveStringLiteralDfa5_0(active0, 0x4000240000000L, active1, 0x20200000002800L, active2, 0L);
case 70:
if ((active0 & 0x400000000L) != 0L)
{
jjmatchedKind = 34;
jjmatchedPos = 4;
}
- return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0x10000000000000L, active2, 0L);
+ return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0x40000000000000L, active2, 0L);
case 71:
- if ((active2 & 0x20000000L) != 0L)
+ if ((active2 & 0x80000000L) != 0L)
{
- jjmatchedKind = 157;
+ jjmatchedKind = 159;
jjmatchedPos = 4;
}
break;
@@ -1159,9 +1179,9 @@ private int jjMoveStringLiteralDfa4_0(long old0, long active0, long old1, long a
jjmatchedKind = 41;
jjmatchedPos = 4;
}
- else if ((active1 & 0x40000000000000L) != 0L)
+ else if ((active1 & 0x100000000000000L) != 0L)
{
- jjmatchedKind = 118;
+ jjmatchedKind = 120;
jjmatchedPos = 4;
}
break;
@@ -1181,7 +1201,7 @@ private int jjMoveStringLiteralDfa4_0(long old0, long active0, long old1, long a
jjmatchedKind = 94;
jjmatchedPos = 4;
}
- return jjMoveStringLiteralDfa5_0(active0, 0xa400000a00000L, active1, 0L, active2, 0x1L);
+ return jjMoveStringLiteralDfa5_0(active0, 0xa400000a00000L, active1, 0L, active2, 0x4L);
case 76:
return jjMoveStringLiteralDfa5_0(active0, 0x1000000000000L, active1, 0x200L, active2, 0L);
case 77:
@@ -1192,7 +1212,7 @@ private int jjMoveStringLiteralDfa4_0(long old0, long active0, long old1, long a
jjmatchedKind = 43;
jjmatchedPos = 4;
}
- return jjMoveStringLiteralDfa5_0(active0, 0x200000000000000L, active1, 0x404000000000000L, active2, 0x400000L);
+ return jjMoveStringLiteralDfa5_0(active0, 0x200000000000000L, active1, 0x1010000000000000L, active2, 0x1000000L);
case 79:
return jjMoveStringLiteralDfa5_0(active0, 0x40000000000L, active1, 0L, active2, 0L);
case 80:
@@ -1213,21 +1233,21 @@ private int jjMoveStringLiteralDfa4_0(long old0, long active0, long old1, long a
jjmatchedKind = 103;
jjmatchedPos = 4;
}
- else if ((active2 & 0x10000L) != 0L)
+ else if ((active2 & 0x40000L) != 0L)
{
- jjmatchedKind = 144;
+ jjmatchedKind = 146;
jjmatchedPos = 4;
}
- return jjMoveStringLiteralDfa5_0(active0, 0x400000004000000L, active1, 0L, active2, 0x400L);
+ return jjMoveStringLiteralDfa5_0(active0, 0x400000004000000L, active1, 0L, active2, 0x1000L);
case 83:
if ((active0 & 0x100000000000L) != 0L)
{
jjmatchedKind = 44;
jjmatchedPos = 4;
}
- else if ((active1 & 0x100000000000000L) != 0L)
+ else if ((active1 & 0x400000000000000L) != 0L)
{
- jjmatchedKind = 120;
+ jjmatchedKind = 122;
jjmatchedPos = 4;
}
return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0x80L, active2, 0L);
@@ -1247,9 +1267,9 @@ private int jjMoveStringLiteralDfa4_0(long old0, long active0, long old1, long a
jjmatchedKind = 89;
jjmatchedPos = 4;
}
- return jjMoveStringLiteralDfa5_0(active0, 0x20000008000000L, active1, 0x202040904400000L, active2, 0x20800L);
+ return jjMoveStringLiteralDfa5_0(active0, 0x20000008000000L, active1, 0x808100904400000L, active2, 0x82000L);
case 85:
- return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0x8000000000000000L, active2, 0x4000000L);
+ return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0L, active2, 0x10000002L);
case 86:
if ((active1 & 0x8L) != 0L)
{
@@ -1265,9 +1285,9 @@ private int jjMoveStringLiteralDfa4_0(long old0, long active0, long old1, long a
}
break;
case 90:
- return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0x800000000000000L, active2, 0L);
+ return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0x2000000000000000L, active2, 0L);
case 97:
- return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0x1120081000042L, active2, 0L);
+ return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0x4480081000042L, active2, 0L);
case 99:
return jjMoveStringLiteralDfa5_0(active0, 0x10000001400000L, active1, 0L, active2, 0L);
case 100:
@@ -1286,7 +1306,7 @@ private int jjMoveStringLiteralDfa4_0(long old0, long active0, long old1, long a
jjmatchedKind = 104;
jjmatchedPos = 4;
}
- return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0x800000000000L, active2, 0L);
+ return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0x2000000000000L, active2, 0L);
case 101:
if ((active0 & 0x8000000000L) != 0L)
{
@@ -1298,33 +1318,33 @@ private int jjMoveStringLiteralDfa4_0(long old0, long active0, long old1, long a
jjmatchedKind = 80;
jjmatchedPos = 4;
}
- else if ((active1 & 0x200000000000L) != 0L)
+ else if ((active1 & 0x800000000000L) != 0L)
{
- jjmatchedKind = 109;
+ jjmatchedKind = 111;
jjmatchedPos = 4;
}
- else if ((active1 & 0x400000000000L) != 0L)
+ else if ((active1 & 0x1000000000000L) != 0L)
{
- jjmatchedKind = 110;
+ jjmatchedKind = 112;
jjmatchedPos = 4;
}
- else if ((active2 & 0x100L) != 0L)
+ else if ((active2 & 0x400L) != 0L)
{
- jjmatchedKind = 136;
+ jjmatchedKind = 138;
jjmatchedPos = 4;
}
- return jjMoveStringLiteralDfa5_0(active0, 0x4000240000000L, active1, 0x8080000002800L, active2, 0L);
+ return jjMoveStringLiteralDfa5_0(active0, 0x4000240000000L, active1, 0x20200000002800L, active2, 0L);
case 102:
if ((active0 & 0x400000000L) != 0L)
{
jjmatchedKind = 34;
jjmatchedPos = 4;
}
- return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0x10000000000000L, active2, 0L);
+ return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0x40000000000000L, active2, 0L);
case 103:
- if ((active2 & 0x20000000L) != 0L)
+ if ((active2 & 0x80000000L) != 0L)
{
- jjmatchedKind = 157;
+ jjmatchedKind = 159;
jjmatchedPos = 4;
}
break;
@@ -1334,9 +1354,9 @@ private int jjMoveStringLiteralDfa4_0(long old0, long active0, long old1, long a
jjmatchedKind = 41;
jjmatchedPos = 4;
}
- else if ((active1 & 0x40000000000000L) != 0L)
+ else if ((active1 & 0x100000000000000L) != 0L)
{
- jjmatchedKind = 118;
+ jjmatchedKind = 120;
jjmatchedPos = 4;
}
break;
@@ -1356,7 +1376,7 @@ private int jjMoveStringLiteralDfa4_0(long old0, long active0, long old1, long a
jjmatchedKind = 94;
jjmatchedPos = 4;
}
- return jjMoveStringLiteralDfa5_0(active0, 0xa400000a00000L, active1, 0L, active2, 0x1L);
+ return jjMoveStringLiteralDfa5_0(active0, 0xa400000a00000L, active1, 0L, active2, 0x4L);
case 108:
return jjMoveStringLiteralDfa5_0(active0, 0x1000000000000L, active1, 0x200L, active2, 0L);
case 109:
@@ -1367,7 +1387,7 @@ private int jjMoveStringLiteralDfa4_0(long old0, long active0, long old1, long a
jjmatchedKind = 43;
jjmatchedPos = 4;
}
- return jjMoveStringLiteralDfa5_0(active0, 0x200000000000000L, active1, 0x404000000000000L, active2, 0x400000L);
+ return jjMoveStringLiteralDfa5_0(active0, 0x200000000000000L, active1, 0x1010000000000000L, active2, 0x1000000L);
case 111:
return jjMoveStringLiteralDfa5_0(active0, 0x40000000000L, active1, 0L, active2, 0L);
case 112:
@@ -1388,21 +1408,21 @@ private int jjMoveStringLiteralDfa4_0(long old0, long active0, long old1, long a
jjmatchedKind = 103;
jjmatchedPos = 4;
}
- else if ((active2 & 0x10000L) != 0L)
+ else if ((active2 & 0x40000L) != 0L)
{
- jjmatchedKind = 144;
+ jjmatchedKind = 146;
jjmatchedPos = 4;
}
- return jjMoveStringLiteralDfa5_0(active0, 0x400000004000000L, active1, 0L, active2, 0x400L);
+ return jjMoveStringLiteralDfa5_0(active0, 0x400000004000000L, active1, 0L, active2, 0x1000L);
case 115:
if ((active0 & 0x100000000000L) != 0L)
{
jjmatchedKind = 44;
jjmatchedPos = 4;
}
- else if ((active1 & 0x100000000000000L) != 0L)
+ else if ((active1 & 0x400000000000000L) != 0L)
{
- jjmatchedKind = 120;
+ jjmatchedKind = 122;
jjmatchedPos = 4;
}
return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0x80L, active2, 0L);
@@ -1422,9 +1442,9 @@ private int jjMoveStringLiteralDfa4_0(long old0, long active0, long old1, long a
jjmatchedKind = 89;
jjmatchedPos = 4;
}
- return jjMoveStringLiteralDfa5_0(active0, 0x20000008000000L, active1, 0x202040904400000L, active2, 0x20800L);
+ return jjMoveStringLiteralDfa5_0(active0, 0x20000008000000L, active1, 0x808100904400000L, active2, 0x82000L);
case 117:
- return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0x8000000000000000L, active2, 0x4000000L);
+ return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0L, active2, 0x10000002L);
case 118:
if ((active1 & 0x8L) != 0L)
{
@@ -1440,7 +1460,7 @@ private int jjMoveStringLiteralDfa4_0(long old0, long active0, long old1, long a
}
break;
case 122:
- return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0x800000000000000L, active2, 0L);
+ return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0x2000000000000000L, active2, 0L);
default :
break;
}
@@ -1456,37 +1476,37 @@ private int jjMoveStringLiteralDfa5_0(long old0, long active0, long old1, long a
switch(curChar)
{
case 50:
- if ((active2 & 0x40L) != 0L)
+ if ((active2 & 0x100L) != 0L)
{
- jjmatchedKind = 134;
+ jjmatchedKind = 136;
jjmatchedPos = 5;
}
break;
case 52:
- if ((active2 & 0x8L) != 0L)
+ if ((active2 & 0x20L) != 0L)
{
- jjmatchedKind = 131;
+ jjmatchedKind = 133;
jjmatchedPos = 5;
}
- else if ((active2 & 0x20L) != 0L)
+ else if ((active2 & 0x80L) != 0L)
{
- jjmatchedKind = 133;
+ jjmatchedKind = 135;
jjmatchedPos = 5;
}
break;
case 54:
- if ((active2 & 0x10L) != 0L)
+ if ((active2 & 0x40L) != 0L)
{
- jjmatchedKind = 132;
+ jjmatchedKind = 134;
jjmatchedPos = 5;
}
break;
case 65:
- return jjMoveStringLiteralDfa6_0(active0, 0x400000000000000L, active1, 0x2000010000080L, active2, 0L);
+ return jjMoveStringLiteralDfa6_0(active0, 0x400000000000000L, active1, 0x8000010000080L, active2, 0L);
case 67:
- return jjMoveStringLiteralDfa6_0(active0, 0xc400000000000L, active1, 0x100000000000L, active2, 0L);
+ return jjMoveStringLiteralDfa6_0(active0, 0xc400000000000L, active1, 0x400000000000L, active2, 0L);
case 68:
- return jjMoveStringLiteralDfa6_0(active0, 0L, active1, 0x404000000000000L, active2, 0L);
+ return jjMoveStringLiteralDfa6_0(active0, 0L, active1, 0x1010000000000000L, active2, 0L);
case 69:
if ((active0 & 0x1000000000000L) != 0L)
{
@@ -1498,19 +1518,19 @@ private int jjMoveStringLiteralDfa5_0(long old0, long active0, long old1, long a
jjmatchedKind = 73;
jjmatchedPos = 5;
}
- else if ((active2 & 0x800L) != 0L)
+ else if ((active2 & 0x2000L) != 0L)
{
- jjmatchedKind = 139;
+ jjmatchedKind = 141;
jjmatchedPos = 5;
}
- else if ((active2 & 0x20000L) != 0L)
+ else if ((active2 & 0x80000L) != 0L)
{
- jjmatchedKind = 145;
+ jjmatchedKind = 147;
jjmatchedPos = 5;
}
- return jjMoveStringLiteralDfa6_0(active0, 0x1000000L, active1, 0x200800b00400000L, active2, 0L);
+ return jjMoveStringLiteralDfa6_0(active0, 0x1000000L, active1, 0x802000b00400000L, active2, 0L);
case 70:
- return jjMoveStringLiteralDfa6_0(active0, 0L, active1, 0x8000000000000L, active2, 0L);
+ return jjMoveStringLiteralDfa6_0(active0, 0L, active1, 0x20000000000000L, active2, 0L);
case 71:
if ((active0 & 0x200000000000000L) != 0L)
{
@@ -1519,23 +1539,23 @@ private int jjMoveStringLiteralDfa5_0(long old0, long active0, long old1, long a
}
break;
case 73:
- return jjMoveStringLiteralDfa6_0(active0, 0x4000000L, active1, 0x8001000000000000L, active2, 0L);
+ return jjMoveStringLiteralDfa6_0(active0, 0x4000000L, active1, 0x4000000000000L, active2, 0x2L);
case 76:
- return jjMoveStringLiteralDfa6_0(active0, 0L, active1, 0L, active2, 0x4000000L);
+ return jjMoveStringLiteralDfa6_0(active0, 0L, active1, 0L, active2, 0x10000000L);
case 78:
if ((active1 & 0x2L) != 0L)
{
jjmatchedKind = 65;
jjmatchedPos = 5;
}
- else if ((active1 & 0x80000000000L) != 0L)
+ else if ((active1 & 0x200000000000L) != 0L)
{
- jjmatchedKind = 107;
+ jjmatchedKind = 109;
jjmatchedPos = 5;
}
return jjMoveStringLiteralDfa6_0(active0, 0x40000800000L, active1, 0x81000040L, active2, 0L);
case 79:
- return jjMoveStringLiteralDfa6_0(active0, 0L, active1, 0x800000000000100L, active2, 0x1L);
+ return jjMoveStringLiteralDfa6_0(active0, 0L, active1, 0x2000000000000100L, active2, 0x4L);
case 80:
return jjMoveStringLiteralDfa6_0(active0, 0x2000000000000L, active1, 0L, active2, 0L);
case 82:
@@ -1544,9 +1564,9 @@ private int jjMoveStringLiteralDfa5_0(long old0, long active0, long old1, long a
jjmatchedKind = 75;
jjmatchedPos = 5;
}
- else if ((active1 & 0x40000000000L) != 0L)
+ else if ((active1 & 0x100000000000L) != 0L)
{
- jjmatchedKind = 106;
+ jjmatchedKind = 108;
jjmatchedPos = 5;
}
return jjMoveStringLiteralDfa6_0(active0, 0x8000000L, active1, 0L, active2, 0L);
@@ -1578,22 +1598,22 @@ private int jjMoveStringLiteralDfa5_0(long old0, long active0, long old1, long a
jjmatchedKind = 52;
jjmatchedPos = 5;
}
- else if ((active1 & 0x20000000000L) != 0L)
+ else if ((active1 & 0x80000000000L) != 0L)
{
- jjmatchedKind = 105;
+ jjmatchedKind = 107;
jjmatchedPos = 5;
}
- else if ((active2 & 0x400L) != 0L)
+ else if ((active2 & 0x1000L) != 0L)
{
- jjmatchedKind = 138;
+ jjmatchedKind = 140;
jjmatchedPos = 5;
}
- else if ((active2 & 0x400000L) != 0L)
+ else if ((active2 & 0x1000000L) != 0L)
{
- jjmatchedKind = 150;
+ jjmatchedKind = 152;
jjmatchedPos = 5;
}
- return jjMoveStringLiteralDfa6_0(active0, 0L, active1, 0x10000000000000L, active2, 0L);
+ return jjMoveStringLiteralDfa6_0(active0, 0L, active1, 0x40000000000000L, active2, 0L);
case 88:
if ((active0 & 0x200000L) != 0L)
{
@@ -1606,11 +1626,11 @@ private int jjMoveStringLiteralDfa5_0(long old0, long active0, long old1, long a
case 95:
return jjMoveStringLiteralDfa6_0(active0, 0L, active1, 0x430L, active2, 0L);
case 97:
- return jjMoveStringLiteralDfa6_0(active0, 0x400000000000000L, active1, 0x2000010000080L, active2, 0L);
+ return jjMoveStringLiteralDfa6_0(active0, 0x400000000000000L, active1, 0x8000010000080L, active2, 0L);
case 99:
- return jjMoveStringLiteralDfa6_0(active0, 0xc400000000000L, active1, 0x100000000000L, active2, 0L);
+ return jjMoveStringLiteralDfa6_0(active0, 0xc400000000000L, active1, 0x400000000000L, active2, 0L);
case 100:
- return jjMoveStringLiteralDfa6_0(active0, 0L, active1, 0x404000000000000L, active2, 0L);
+ return jjMoveStringLiteralDfa6_0(active0, 0L, active1, 0x1010000000000000L, active2, 0L);
case 101:
if ((active0 & 0x1000000000000L) != 0L)
{
@@ -1622,19 +1642,19 @@ private int jjMoveStringLiteralDfa5_0(long old0, long active0, long old1, long a
jjmatchedKind = 73;
jjmatchedPos = 5;
}
- else if ((active2 & 0x800L) != 0L)
+ else if ((active2 & 0x2000L) != 0L)
{
- jjmatchedKind = 139;
+ jjmatchedKind = 141;
jjmatchedPos = 5;
}
- else if ((active2 & 0x20000L) != 0L)
+ else if ((active2 & 0x80000L) != 0L)
{
- jjmatchedKind = 145;
+ jjmatchedKind = 147;
jjmatchedPos = 5;
}
- return jjMoveStringLiteralDfa6_0(active0, 0x1000000L, active1, 0x200800b00400000L, active2, 0L);
+ return jjMoveStringLiteralDfa6_0(active0, 0x1000000L, active1, 0x802000b00400000L, active2, 0L);
case 102:
- return jjMoveStringLiteralDfa6_0(active0, 0L, active1, 0x8000000000000L, active2, 0L);
+ return jjMoveStringLiteralDfa6_0(active0, 0L, active1, 0x20000000000000L, active2, 0L);
case 103:
if ((active0 & 0x200000000000000L) != 0L)
{
@@ -1643,23 +1663,23 @@ private int jjMoveStringLiteralDfa5_0(long old0, long active0, long old1, long a
}
break;
case 105:
- return jjMoveStringLiteralDfa6_0(active0, 0x4000000L, active1, 0x8001000000000000L, active2, 0L);
+ return jjMoveStringLiteralDfa6_0(active0, 0x4000000L, active1, 0x4000000000000L, active2, 0x2L);
case 108:
- return jjMoveStringLiteralDfa6_0(active0, 0L, active1, 0L, active2, 0x4000000L);
+ return jjMoveStringLiteralDfa6_0(active0, 0L, active1, 0L, active2, 0x10000000L);
case 110:
if ((active1 & 0x2L) != 0L)
{
jjmatchedKind = 65;
jjmatchedPos = 5;
}
- else if ((active1 & 0x80000000000L) != 0L)
+ else if ((active1 & 0x200000000000L) != 0L)
{
- jjmatchedKind = 107;
+ jjmatchedKind = 109;
jjmatchedPos = 5;
}
return jjMoveStringLiteralDfa6_0(active0, 0x40000800000L, active1, 0x81000040L, active2, 0L);
case 111:
- return jjMoveStringLiteralDfa6_0(active0, 0L, active1, 0x800000000000100L, active2, 0x1L);
+ return jjMoveStringLiteralDfa6_0(active0, 0L, active1, 0x2000000000000100L, active2, 0x4L);
case 112:
return jjMoveStringLiteralDfa6_0(active0, 0x2000000000000L, active1, 0L, active2, 0L);
case 114:
@@ -1668,9 +1688,9 @@ private int jjMoveStringLiteralDfa5_0(long old0, long active0, long old1, long a
jjmatchedKind = 75;
jjmatchedPos = 5;
}
- else if ((active1 & 0x40000000000L) != 0L)
+ else if ((active1 & 0x100000000000L) != 0L)
{
- jjmatchedKind = 106;
+ jjmatchedKind = 108;
jjmatchedPos = 5;
}
return jjMoveStringLiteralDfa6_0(active0, 0x8000000L, active1, 0L, active2, 0L);
@@ -1702,22 +1722,22 @@ private int jjMoveStringLiteralDfa5_0(long old0, long active0, long old1, long a
jjmatchedKind = 52;
jjmatchedPos = 5;
}
- else if ((active1 & 0x20000000000L) != 0L)
+ else if ((active1 & 0x80000000000L) != 0L)
{
- jjmatchedKind = 105;
+ jjmatchedKind = 107;
jjmatchedPos = 5;
}
- else if ((active2 & 0x400L) != 0L)
+ else if ((active2 & 0x1000L) != 0L)
{
- jjmatchedKind = 138;
+ jjmatchedKind = 140;
jjmatchedPos = 5;
}
- else if ((active2 & 0x400000L) != 0L)
+ else if ((active2 & 0x1000000L) != 0L)
{
- jjmatchedKind = 150;
+ jjmatchedKind = 152;
jjmatchedPos = 5;
}
- return jjMoveStringLiteralDfa6_0(active0, 0L, active1, 0x10000000000000L, active2, 0L);
+ return jjMoveStringLiteralDfa6_0(active0, 0L, active1, 0x40000000000000L, active2, 0L);
case 120:
if ((active0 & 0x200000L) != 0L)
{
@@ -1753,9 +1773,9 @@ private int jjMoveStringLiteralDfa6_0(long old0, long active0, long old1, long a
jjmatchedKind = 24;
jjmatchedPos = 6;
}
- else if ((active1 & 0x8000000000000000L) != 0L)
+ else if ((active2 & 0x2L) != 0L)
{
- jjmatchedKind = 127;
+ jjmatchedKind = 129;
jjmatchedPos = 6;
}
break;
@@ -1765,12 +1785,12 @@ private int jjMoveStringLiteralDfa6_0(long old0, long active0, long old1, long a
jjmatchedKind = 46;
jjmatchedPos = 6;
}
- else if ((active1 & 0x100000000000L) != 0L)
+ else if ((active1 & 0x400000000000L) != 0L)
{
- jjmatchedKind = 108;
+ jjmatchedKind = 110;
jjmatchedPos = 6;
}
- return jjMoveStringLiteralDfa7_0(active0, 0L, active1, 0x10000000000000L, active2, 0L);
+ return jjMoveStringLiteralDfa7_0(active0, 0L, active1, 0x40000000000000L, active2, 0L);
case 71:
if ((active1 & 0x1000000L) != 0L)
{
@@ -1790,14 +1810,14 @@ private int jjMoveStringLiteralDfa6_0(long old0, long active0, long old1, long a
case 77:
return jjMoveStringLiteralDfa7_0(active0, 0L, active1, 0x80L, active2, 0L);
case 78:
- if ((active2 & 0x1L) != 0L)
+ if ((active2 & 0x4L) != 0L)
{
- jjmatchedKind = 128;
+ jjmatchedKind = 130;
jjmatchedPos = 6;
}
- return jjMoveStringLiteralDfa7_0(active0, 0L, active1, 0x801000000000000L, active2, 0L);
+ return jjMoveStringLiteralDfa7_0(active0, 0L, active1, 0x2004000000000000L, active2, 0L);
case 79:
- return jjMoveStringLiteralDfa7_0(active0, 0L, active1, 0x8000000000000L, active2, 0L);
+ return jjMoveStringLiteralDfa7_0(active0, 0L, active1, 0x20000000000000L, active2, 0L);
case 80:
if ((active1 & 0x100L) != 0L)
{
@@ -1806,21 +1826,21 @@ private int jjMoveStringLiteralDfa6_0(long old0, long active0, long old1, long a
}
return jjMoveStringLiteralDfa7_0(active0, 0L, active1, 0x4000020L, active2, 0L);
case 82:
- return jjMoveStringLiteralDfa7_0(active0, 0L, active1, 0x2000b00000000L, active2, 0L);
+ return jjMoveStringLiteralDfa7_0(active0, 0L, active1, 0x8000b00000000L, active2, 0L);
case 83:
- if ((active1 & 0x4000000000000L) != 0L)
+ if ((active1 & 0x10000000000000L) != 0L)
{
- jjmatchedKind = 114;
+ jjmatchedKind = 116;
jjmatchedPos = 6;
}
- else if ((active1 & 0x200000000000000L) != 0L)
+ else if ((active1 & 0x800000000000000L) != 0L)
{
- jjmatchedKind = 121;
+ jjmatchedKind = 123;
jjmatchedPos = 6;
}
- else if ((active1 & 0x400000000000000L) != 0L)
+ else if ((active1 & 0x1000000000000000L) != 0L)
{
- jjmatchedKind = 122;
+ jjmatchedKind = 124;
jjmatchedPos = 6;
}
return jjMoveStringLiteralDfa7_0(active0, 0L, active1, 0x400010L, active2, 0L);
@@ -1830,16 +1850,16 @@ private int jjMoveStringLiteralDfa6_0(long old0, long active0, long old1, long a
jjmatchedKind = 50;
jjmatchedPos = 6;
}
- else if ((active2 & 0x4000000L) != 0L)
+ else if ((active2 & 0x10000000L) != 0L)
{
- jjmatchedKind = 154;
+ jjmatchedKind = 156;
jjmatchedPos = 6;
}
return jjMoveStringLiteralDfa7_0(active0, 0x400000000000000L, active1, 0x10000000L, active2, 0L);
case 85:
return jjMoveStringLiteralDfa7_0(active0, 0x8000000L, active1, 0L, active2, 0L);
case 95:
- return jjMoveStringLiteralDfa7_0(active0, 0L, active1, 0x800000000000L, active2, 0L);
+ return jjMoveStringLiteralDfa7_0(active0, 0L, active1, 0x2000000000000L, active2, 0L);
case 97:
return jjMoveStringLiteralDfa7_0(active0, 0x8040000000000L, active1, 0L, active2, 0L);
case 98:
@@ -1852,9 +1872,9 @@ private int jjMoveStringLiteralDfa6_0(long old0, long active0, long old1, long a
jjmatchedKind = 24;
jjmatchedPos = 6;
}
- else if ((active1 & 0x8000000000000000L) != 0L)
+ else if ((active2 & 0x2L) != 0L)
{
- jjmatchedKind = 127;
+ jjmatchedKind = 129;
jjmatchedPos = 6;
}
break;
@@ -1864,12 +1884,12 @@ private int jjMoveStringLiteralDfa6_0(long old0, long active0, long old1, long a
jjmatchedKind = 46;
jjmatchedPos = 6;
}
- else if ((active1 & 0x100000000000L) != 0L)
+ else if ((active1 & 0x400000000000L) != 0L)
{
- jjmatchedKind = 108;
+ jjmatchedKind = 110;
jjmatchedPos = 6;
}
- return jjMoveStringLiteralDfa7_0(active0, 0L, active1, 0x10000000000000L, active2, 0L);
+ return jjMoveStringLiteralDfa7_0(active0, 0L, active1, 0x40000000000000L, active2, 0L);
case 103:
if ((active1 & 0x1000000L) != 0L)
{
@@ -1889,14 +1909,14 @@ private int jjMoveStringLiteralDfa6_0(long old0, long active0, long old1, long a
case 109:
return jjMoveStringLiteralDfa7_0(active0, 0L, active1, 0x80L, active2, 0L);
case 110:
- if ((active2 & 0x1L) != 0L)
+ if ((active2 & 0x4L) != 0L)
{
- jjmatchedKind = 128;
+ jjmatchedKind = 130;
jjmatchedPos = 6;
}
- return jjMoveStringLiteralDfa7_0(active0, 0L, active1, 0x801000000000000L, active2, 0L);
+ return jjMoveStringLiteralDfa7_0(active0, 0L, active1, 0x2004000000000000L, active2, 0L);
case 111:
- return jjMoveStringLiteralDfa7_0(active0, 0L, active1, 0x8000000000000L, active2, 0L);
+ return jjMoveStringLiteralDfa7_0(active0, 0L, active1, 0x20000000000000L, active2, 0L);
case 112:
if ((active1 & 0x100L) != 0L)
{
@@ -1905,21 +1925,21 @@ private int jjMoveStringLiteralDfa6_0(long old0, long active0, long old1, long a
}
return jjMoveStringLiteralDfa7_0(active0, 0L, active1, 0x4000020L, active2, 0L);
case 114:
- return jjMoveStringLiteralDfa7_0(active0, 0L, active1, 0x2000b00000000L, active2, 0L);
+ return jjMoveStringLiteralDfa7_0(active0, 0L, active1, 0x8000b00000000L, active2, 0L);
case 115:
- if ((active1 & 0x4000000000000L) != 0L)
+ if ((active1 & 0x10000000000000L) != 0L)
{
- jjmatchedKind = 114;
+ jjmatchedKind = 116;
jjmatchedPos = 6;
}
- else if ((active1 & 0x200000000000000L) != 0L)
+ else if ((active1 & 0x800000000000000L) != 0L)
{
- jjmatchedKind = 121;
+ jjmatchedKind = 123;
jjmatchedPos = 6;
}
- else if ((active1 & 0x400000000000000L) != 0L)
+ else if ((active1 & 0x1000000000000000L) != 0L)
{
- jjmatchedKind = 122;
+ jjmatchedKind = 124;
jjmatchedPos = 6;
}
return jjMoveStringLiteralDfa7_0(active0, 0L, active1, 0x400010L, active2, 0L);
@@ -1929,9 +1949,9 @@ private int jjMoveStringLiteralDfa6_0(long old0, long active0, long old1, long a
jjmatchedKind = 50;
jjmatchedPos = 6;
}
- else if ((active2 & 0x4000000L) != 0L)
+ else if ((active2 & 0x10000000L) != 0L)
{
- jjmatchedKind = 154;
+ jjmatchedKind = 156;
jjmatchedPos = 6;
}
return jjMoveStringLiteralDfa7_0(active0, 0x400000000000000L, active1, 0x10000000L, active2, 0L);
@@ -1981,14 +2001,14 @@ private int jjMoveStringLiteralDfa7_0(long old0, long active0, long old1, long a
jjmatchedKind = 90;
jjmatchedPos = 7;
}
- else if ((active1 & 0x800000000000000L) != 0L)
+ else if ((active1 & 0x2000000000000000L) != 0L)
{
- jjmatchedKind = 123;
+ jjmatchedKind = 125;
jjmatchedPos = 7;
}
break;
case 70:
- return jjMoveStringLiteralDfa8_0(active0, 0L, active1, 0x800000000000L);
+ return jjMoveStringLiteralDfa8_0(active0, 0L, active1, 0x2000000000000L);
case 73:
return jjMoveStringLiteralDfa8_0(active0, 0L, active1, 0x200000000L);
case 76:
@@ -2015,16 +2035,16 @@ private int jjMoveStringLiteralDfa7_0(long old0, long active0, long old1, long a
}
break;
case 82:
- if ((active1 & 0x10000000000000L) != 0L)
+ if ((active1 & 0x40000000000000L) != 0L)
{
- jjmatchedKind = 116;
+ jjmatchedKind = 118;
jjmatchedPos = 7;
}
- return jjMoveStringLiteralDfa8_0(active0, 0L, active1, 0x8000000000000L);
+ return jjMoveStringLiteralDfa8_0(active0, 0L, active1, 0x20000000000000L);
case 83:
- if ((active1 & 0x1000000000000L) != 0L)
+ if ((active1 & 0x4000000000000L) != 0L)
{
- jjmatchedKind = 112;
+ jjmatchedKind = 114;
jjmatchedPos = 7;
}
break;
@@ -2039,7 +2059,7 @@ private int jjMoveStringLiteralDfa7_0(long old0, long active0, long old1, long a
jjmatchedKind = 86;
jjmatchedPos = 7;
}
- return jjMoveStringLiteralDfa8_0(active0, 0x8000000000000L, active1, 0x2000000000000L);
+ return jjMoveStringLiteralDfa8_0(active0, 0x8000000000000L, active1, 0x8000000000000L);
case 97:
return jjMoveStringLiteralDfa8_0(active0, 0L, active1, 0x100000010L);
case 99:
@@ -2070,14 +2090,14 @@ private int jjMoveStringLiteralDfa7_0(long old0, long active0, long old1, long a
jjmatchedKind = 90;
jjmatchedPos = 7;
}
- else if ((active1 & 0x800000000000000L) != 0L)
+ else if ((active1 & 0x2000000000000000L) != 0L)
{
- jjmatchedKind = 123;
+ jjmatchedKind = 125;
jjmatchedPos = 7;
}
break;
case 102:
- return jjMoveStringLiteralDfa8_0(active0, 0L, active1, 0x800000000000L);
+ return jjMoveStringLiteralDfa8_0(active0, 0L, active1, 0x2000000000000L);
case 105:
return jjMoveStringLiteralDfa8_0(active0, 0L, active1, 0x200000000L);
case 108:
@@ -2104,16 +2124,16 @@ private int jjMoveStringLiteralDfa7_0(long old0, long active0, long old1, long a
}
break;
case 114:
- if ((active1 & 0x10000000000000L) != 0L)
+ if ((active1 & 0x40000000000000L) != 0L)
{
- jjmatchedKind = 116;
+ jjmatchedKind = 118;
jjmatchedPos = 7;
}
- return jjMoveStringLiteralDfa8_0(active0, 0L, active1, 0x8000000000000L);
+ return jjMoveStringLiteralDfa8_0(active0, 0L, active1, 0x20000000000000L);
case 115:
- if ((active1 & 0x1000000000000L) != 0L)
+ if ((active1 & 0x4000000000000L) != 0L)
{
- jjmatchedKind = 112;
+ jjmatchedKind = 114;
jjmatchedPos = 7;
}
break;
@@ -2128,7 +2148,7 @@ private int jjMoveStringLiteralDfa7_0(long old0, long active0, long old1, long a
jjmatchedKind = 86;
jjmatchedPos = 7;
}
- return jjMoveStringLiteralDfa8_0(active0, 0x8000000000000L, active1, 0x2000000000000L);
+ return jjMoveStringLiteralDfa8_0(active0, 0x8000000000000L, active1, 0x8000000000000L);
default :
break;
}
@@ -2156,9 +2176,9 @@ private int jjMoveStringLiteralDfa8_0(long old0, long active0, long old1, long a
jjmatchedKind = 51;
jjmatchedPos = 8;
}
- else if ((active1 & 0x8000000000000L) != 0L)
+ else if ((active1 & 0x20000000000000L) != 0L)
{
- jjmatchedKind = 115;
+ jjmatchedKind = 117;
jjmatchedPos = 8;
}
break;
@@ -2176,7 +2196,7 @@ private int jjMoveStringLiteralDfa8_0(long old0, long active0, long old1, long a
case 78:
return jjMoveStringLiteralDfa9_0(active0, 0L, active1, 0x400L);
case 79:
- return jjMoveStringLiteralDfa9_0(active0, 0L, active1, 0x800000000000L);
+ return jjMoveStringLiteralDfa9_0(active0, 0L, active1, 0x2000000000000L);
case 80:
if ((active1 & 0x20L) != 0L)
{
@@ -2192,9 +2212,9 @@ private int jjMoveStringLiteralDfa8_0(long old0, long active0, long old1, long a
}
break;
case 83:
- if ((active1 & 0x2000000000000L) != 0L)
+ if ((active1 & 0x8000000000000L) != 0L)
{
- jjmatchedKind = 113;
+ jjmatchedKind = 115;
jjmatchedPos = 8;
}
break;
@@ -2218,9 +2238,9 @@ private int jjMoveStringLiteralDfa8_0(long old0, long active0, long old1, long a
jjmatchedKind = 51;
jjmatchedPos = 8;
}
- else if ((active1 & 0x8000000000000L) != 0L)
+ else if ((active1 & 0x20000000000000L) != 0L)
{
- jjmatchedKind = 115;
+ jjmatchedKind = 117;
jjmatchedPos = 8;
}
break;
@@ -2238,7 +2258,7 @@ private int jjMoveStringLiteralDfa8_0(long old0, long active0, long old1, long a
case 110:
return jjMoveStringLiteralDfa9_0(active0, 0L, active1, 0x400L);
case 111:
- return jjMoveStringLiteralDfa9_0(active0, 0L, active1, 0x800000000000L);
+ return jjMoveStringLiteralDfa9_0(active0, 0L, active1, 0x2000000000000L);
case 112:
if ((active1 & 0x20L) != 0L)
{
@@ -2254,9 +2274,9 @@ private int jjMoveStringLiteralDfa8_0(long old0, long active0, long old1, long a
}
break;
case 115:
- if ((active1 & 0x2000000000000L) != 0L)
+ if ((active1 & 0x8000000000000L) != 0L)
{
- jjmatchedKind = 113;
+ jjmatchedKind = 115;
jjmatchedPos = 8;
}
break;
@@ -2293,7 +2313,7 @@ private int jjMoveStringLiteralDfa9_0(long old0, long active0, long old1, long a
}
break;
case 82:
- return jjMoveStringLiteralDfa10_0(active1, 0x800000000000L);
+ return jjMoveStringLiteralDfa10_0(active1, 0x2000000000000L);
case 99:
return jjMoveStringLiteralDfa10_0(active1, 0x400L);
case 101:
@@ -2306,7 +2326,7 @@ private int jjMoveStringLiteralDfa9_0(long old0, long active0, long old1, long a
}
break;
case 114:
- return jjMoveStringLiteralDfa10_0(active1, 0x800000000000L);
+ return jjMoveStringLiteralDfa10_0(active1, 0x2000000000000L);
default :
break;
}
@@ -2331,7 +2351,7 @@ private int jjMoveStringLiteralDfa10_0(long old1, long active1){
}
break;
case 95:
- return jjMoveStringLiteralDfa11_0(active1, 0x800000000000L);
+ return jjMoveStringLiteralDfa11_0(active1, 0x2000000000000L);
case 97:
return jjMoveStringLiteralDfa11_0(active1, 0x400L);
case 115:
@@ -2363,7 +2383,7 @@ private int jjMoveStringLiteralDfa11_0(long old1, long active1){
}
break;
case 85:
- return jjMoveStringLiteralDfa12_0(active1, 0x800000000000L);
+ return jjMoveStringLiteralDfa12_0(active1, 0x2000000000000L);
case 116:
if ((active1 & 0x400L) != 0L)
{
@@ -2372,7 +2392,7 @@ private int jjMoveStringLiteralDfa11_0(long old1, long active1){
}
break;
case 117:
- return jjMoveStringLiteralDfa12_0(active1, 0x800000000000L);
+ return jjMoveStringLiteralDfa12_0(active1, 0x2000000000000L);
default :
break;
}
@@ -2388,9 +2408,9 @@ private int jjMoveStringLiteralDfa12_0(long old1, long active1){
switch(curChar)
{
case 82:
- return jjMoveStringLiteralDfa13_0(active1, 0x800000000000L);
+ return jjMoveStringLiteralDfa13_0(active1, 0x2000000000000L);
case 114:
- return jjMoveStringLiteralDfa13_0(active1, 0x800000000000L);
+ return jjMoveStringLiteralDfa13_0(active1, 0x2000000000000L);
default :
break;
}
@@ -2406,16 +2426,16 @@ private int jjMoveStringLiteralDfa13_0(long old1, long active1){
switch(curChar)
{
case 73:
- if ((active1 & 0x800000000000L) != 0L)
+ if ((active1 & 0x2000000000000L) != 0L)
{
- jjmatchedKind = 111;
+ jjmatchedKind = 113;
jjmatchedPos = 13;
}
break;
case 105:
- if ((active1 & 0x800000000000L) != 0L)
+ if ((active1 & 0x2000000000000L) != 0L)
{
- jjmatchedKind = 111;
+ jjmatchedKind = 113;
jjmatchedPos = 13;
}
break;
@@ -2494,8 +2514,8 @@ private int jjMoveNfa_0(int startState, int curPos)
case 0:
if ((0x3ff000000000000L & l) != 0L)
{
- if (kind > 159)
- kind = 159;
+ if (kind > 161)
+ kind = 161;
{ jjCheckNAddStates(0, 6); }
}
else if (curChar == 45)
@@ -2684,8 +2704,8 @@ private int jjMoveNfa_0(int startState, int curPos)
jjstateSet[jjnewStateCnt++] = 57;
break;
case 65:
- if ((0x8400000000L & l) != 0L && kind > 171)
- kind = 171;
+ if ((0x8400000000L & l) != 0L && kind > 173)
+ kind = 173;
break;
case 66:
if (curChar == 39)
@@ -2696,8 +2716,8 @@ private int jjMoveNfa_0(int startState, int curPos)
{ jjCheckNAddStates(37, 39); }
break;
case 68:
- if (curChar == 39 && kind > 175)
- kind = 175;
+ if (curChar == 39 && kind > 177)
+ kind = 177;
break;
case 70:
if ((0x8400000000L & l) != 0L)
@@ -2753,8 +2773,8 @@ private int jjMoveNfa_0(int startState, int curPos)
{ jjCheckNAddStates(34, 36); }
break;
case 86:
- if (curChar == 34 && kind > 176)
- kind = 176;
+ if (curChar == 34 && kind > 178)
+ kind = 178;
break;
case 88:
if ((0x8400000000L & l) != 0L)
@@ -2864,8 +2884,8 @@ private int jjMoveNfa_0(int startState, int curPos)
jjstateSet[jjnewStateCnt++] = 121;
break;
case 122:
- if (curChar == 39 && kind > 177)
- kind = 177;
+ if (curChar == 39 && kind > 179)
+ kind = 179;
break;
case 123:
if (curChar == 39)
@@ -2942,8 +2962,8 @@ private int jjMoveNfa_0(int startState, int curPos)
jjstateSet[jjnewStateCnt++] = 145;
break;
case 146:
- if (curChar == 34 && kind > 178)
- kind = 178;
+ if (curChar == 34 && kind > 180)
+ kind = 180;
break;
case 147:
if (curChar == 34)
@@ -2978,8 +2998,8 @@ private int jjMoveNfa_0(int startState, int curPos)
{ jjCheckNAddStates(21, 23); }
break;
case 155:
- if (curChar == 41 && kind > 181)
- kind = 181;
+ if (curChar == 41 && kind > 183)
+ kind = 183;
break;
case 156:
if (curChar == 10)
@@ -3160,15 +3180,15 @@ private int jjMoveNfa_0(int startState, int curPos)
case 236:
if ((0x3ff000000000000L & l) == 0L)
break;
- if (kind > 159)
- kind = 159;
+ if (kind > 161)
+ kind = 161;
{ jjCheckNAddStates(0, 6); }
break;
case 237:
if ((0x3ff000000000000L & l) == 0L)
break;
- if (kind > 159)
- kind = 159;
+ if (kind > 161)
+ kind = 161;
{ jjCheckNAdd(237); }
break;
case 238:
@@ -3182,8 +3202,8 @@ private int jjMoveNfa_0(int startState, int curPos)
case 240:
if ((0x3ff000000000000L & l) == 0L)
break;
- if (kind > 160)
- kind = 160;
+ if (kind > 162)
+ kind = 162;
{ jjCheckNAdd(240); }
break;
case 241:
@@ -3205,8 +3225,8 @@ private int jjMoveNfa_0(int startState, int curPos)
case 246:
if ((0x3ff000000000000L & l) == 0L)
break;
- if (kind > 161)
- kind = 161;
+ if (kind > 163)
+ kind = 163;
{ jjCheckNAdd(246); }
break;
case 247:
@@ -3220,8 +3240,8 @@ private int jjMoveNfa_0(int startState, int curPos)
case 250:
if ((0x3ff000000000000L & l) == 0L)
break;
- if (kind > 161)
- kind = 161;
+ if (kind > 163)
+ kind = 163;
{ jjCheckNAdd(250); }
break;
case 251:
@@ -3239,8 +3259,8 @@ private int jjMoveNfa_0(int startState, int curPos)
case 255:
if ((0x3ff000000000000L & l) == 0L)
break;
- if (kind > 161)
- kind = 161;
+ if (kind > 163)
+ kind = 163;
{ jjCheckNAdd(255); }
break;
case 256:
@@ -3250,8 +3270,8 @@ private int jjMoveNfa_0(int startState, int curPos)
case 257:
if ((0x3ff000000000000L & l) == 0L)
break;
- if (kind > 162)
- kind = 162;
+ if (kind > 164)
+ kind = 164;
{ jjCheckNAdd(257); }
break;
case 258:
@@ -3265,8 +3285,8 @@ private int jjMoveNfa_0(int startState, int curPos)
case 260:
if ((0x3ff000000000000L & l) == 0L)
break;
- if (kind > 163)
- kind = 163;
+ if (kind > 165)
+ kind = 165;
{ jjCheckNAdd(260); }
break;
case 261:
@@ -3284,8 +3304,8 @@ private int jjMoveNfa_0(int startState, int curPos)
case 265:
if ((0x3ff000000000000L & l) == 0L)
break;
- if (kind > 164)
- kind = 164;
+ if (kind > 166)
+ kind = 166;
{ jjCheckNAdd(265); }
break;
case 266:
@@ -3311,8 +3331,8 @@ private int jjMoveNfa_0(int startState, int curPos)
case 272:
if ((0x3ff000000000000L & l) == 0L)
break;
- if (kind > 164)
- kind = 164;
+ if (kind > 166)
+ kind = 166;
{ jjCheckNAdd(272); }
break;
case 273:
@@ -3326,8 +3346,8 @@ private int jjMoveNfa_0(int startState, int curPos)
case 276:
if ((0x3ff000000000000L & l) == 0L)
break;
- if (kind > 164)
- kind = 164;
+ if (kind > 166)
+ kind = 166;
{ jjCheckNAdd(276); }
break;
case 277:
@@ -3337,8 +3357,8 @@ private int jjMoveNfa_0(int startState, int curPos)
case 278:
if ((0x3ff000000000000L & l) == 0L)
break;
- if (kind > 165)
- kind = 165;
+ if (kind > 167)
+ kind = 167;
{ jjCheckNAdd(278); }
break;
case 279:
@@ -3352,8 +3372,8 @@ private int jjMoveNfa_0(int startState, int curPos)
case 281:
if ((0x3ff000000000000L & l) == 0L)
break;
- if (kind > 166)
- kind = 166;
+ if (kind > 168)
+ kind = 168;
{ jjCheckNAdd(281); }
break;
case 282:
@@ -3371,8 +3391,8 @@ private int jjMoveNfa_0(int startState, int curPos)
case 286:
if ((0x3ff000000000000L & l) == 0L)
break;
- if (kind > 167)
- kind = 167;
+ if (kind > 169)
+ kind = 169;
{ jjCheckNAdd(286); }
break;
case 287:
@@ -3398,8 +3418,8 @@ private int jjMoveNfa_0(int startState, int curPos)
case 293:
if ((0x3ff000000000000L & l) == 0L)
break;
- if (kind > 167)
- kind = 167;
+ if (kind > 169)
+ kind = 169;
{ jjCheckNAdd(293); }
break;
case 294:
@@ -3413,8 +3433,8 @@ private int jjMoveNfa_0(int startState, int curPos)
case 297:
if ((0x3ff000000000000L & l) == 0L)
break;
- if (kind > 167)
- kind = 167;
+ if (kind > 169)
+ kind = 169;
{ jjCheckNAdd(297); }
break;
default : break;
@@ -3567,8 +3587,8 @@ private int jjMoveNfa_0(int startState, int curPos)
{ jjCheckNAddStates(45, 50); }
break;
case 53:
- if ((0x200000002L & l) != 0L && kind > 140)
- kind = 140;
+ if ((0x200000002L & l) != 0L && kind > 142)
+ kind = 142;
break;
case 54:
if ((0x10000000100000L & l) != 0L)
@@ -3607,8 +3627,8 @@ private int jjMoveNfa_0(int startState, int curPos)
jjstateSet[jjnewStateCnt++] = 65;
break;
case 65:
- if ((0x14404410000000L & l) != 0L && kind > 171)
- kind = 171;
+ if ((0x14404410000000L & l) != 0L && kind > 173)
+ kind = 173;
break;
case 67:
if ((0xffffffffefffffffL & l) != 0L)
@@ -3865,8 +3885,8 @@ private int jjMoveNfa_0(int startState, int curPos)
{ jjCheckNAddStates(72, 77); }
break;
case 163:
- if (curChar == 93 && kind > 186)
- kind = 186;
+ if (curChar == 93 && kind > 188)
+ kind = 188;
break;
case 166:
if ((0x7fffffe07fffffeL & l) != 0L)
@@ -3965,8 +3985,8 @@ private int jjMoveNfa_0(int startState, int curPos)
{ jjCheckNAddStates(94, 99); }
break;
case 210:
- if ((0x200000002L & l) != 0L && kind > 141)
- kind = 141;
+ if ((0x200000002L & l) != 0L && kind > 143)
+ kind = 143;
break;
case 211:
if ((0x10000000100000L & l) != 0L)
@@ -4004,8 +4024,8 @@ private int jjMoveNfa_0(int startState, int curPos)
{ jjCheckNAddStates(103, 108); }
break;
case 225:
- if ((0x2000000020L & l) != 0L && kind > 142)
- kind = 142;
+ if ((0x2000000020L & l) != 0L && kind > 144)
+ kind = 144;
break;
case 226:
if ((0x4000000040000L & l) != 0L)
@@ -4708,8 +4728,8 @@ null, null, null, null, null, null, null, null, null, null, null, null, null, nu
null, null, null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null, null, null, null,
-null, null, null, null, null, null, null, null, null, null, null, null, "\50",
-"\51", null, "\173", "\175", "\133", "\135", null, "\73", "\54", "\56", "\75",
+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,
@@ -4900,7 +4920,7 @@ public static final String[] lexStateNames = {
"DEFAULT",
};
static final long[] jjtoToken = {
- 0xfffffffffff9fe01L, 0xffffffffffffffffL, 0xffff88ffbfffffffL, 0x1ffffffL,
+ 0xfffffffffff9fe01L, 0xffffffffffffffffL, 0xfffe23feffffffffL, 0x7ffffffL,
};
static final long[] jjtoSkip = {
0x7eL, 0x0L, 0x0L, 0x0L,
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 9493fb2..9f96300 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
@@ -148,6 +148,9 @@ public class Tags
public static final String symDiv = "/" ;
public static final String tagDivide = "divide" ;
+ public static final String tagMod = "mod" ;
+ public static final String tagIDiv = "idiv" ;
+
public static final String symNot = "!" ;
public static final String tagNot = "not" ;
public static final String tagStr = "str" ;
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/sse/builders/BuilderExpr.java b/jena-arq/src/main/java/org/apache/jena/sparql/sse/builders/BuilderExpr.java
index 5e7ba5b..5167072 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/sse/builders/BuilderExpr.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/sse/builders/BuilderExpr.java
@@ -351,6 +351,20 @@ public class BuilderExpr
return new E_Divide(left, right);
};
+ private static Build buildIDiv = (ItemList list) -> {
+ BuilderLib.checkLength(3, list, "idiv: wanted 2 arguments: got :"+numArgs(list));
+ Expr left = buildExpr(list.get(1));
+ Expr right = buildExpr(list.get(2));
+ return new E_OpNumericIntegerDivide(left, right);
+ };
+
+ private static Build buildMod = (ItemList list) -> {
+ BuilderLib.checkLength(3, list, "mod: wanted 2 arguments: got :"+numArgs(list));
+ Expr left = buildExpr(list.get(1));
+ Expr right = buildExpr(list.get(2));
+ return new E_OpNumericMod(left, right);
+ };
+
private static Build buildNot = (ItemList list) -> {
BuilderLib.checkLength(2, list, "!: wanted 1 arguments: got :"+numArgs(list));
Expr ex = buildExpr(list.get(1));
@@ -933,6 +947,9 @@ public class BuilderExpr
dispatch.put(Tags.symDiv, buildDiv);
dispatch.put(Tags.tagDivide, buildDiv);
+ dispatch.put(Tags.tagIDiv, buildIDiv);
+ dispatch.put(Tags.tagMod, buildMod);
+
dispatch.put(Tags.tagNot, buildNot); // Same builders for (not ..) and (! ..)
dispatch.put(Tags.symNot, buildNot);
diff --git a/jena-arq/src/test/java/org/apache/jena/sparql/expr/LibTestExpr.java b/jena-arq/src/test/java/org/apache/jena/sparql/expr/LibTestExpr.java
index 7359f2d..622b58b 100644
--- a/jena-arq/src/test/java/org/apache/jena/sparql/expr/LibTestExpr.java
+++ b/jena-arq/src/test/java/org/apache/jena/sparql/expr/LibTestExpr.java
@@ -29,6 +29,7 @@ import org.apache.jena.sparql.ARQConstants;
import org.apache.jena.sparql.function.FunctionEnv;
import org.apache.jena.sparql.function.FunctionEnvBase;
import org.apache.jena.sparql.function.library.leviathan.LeviathanConstants;
+import org.apache.jena.sparql.sse.SSE;
import org.apache.jena.sparql.util.Context;
import org.apache.jena.sparql.util.ExprUtils;
import org.apache.jena.sparql.util.NodeFactoryExtra;
@@ -71,6 +72,15 @@ public class LibTestExpr {
test(exprStr, rExpected);
}
+ /** SSE syntax */
+ public static void testSSE(String functionExprStr, String exprStrExpected) {
+ Expr expected = SSE.parseExpr(exprStrExpected) ;
+ NodeValue vExpected = expected.eval(null, LibTestExpr.createTest());
+ Expr actual = SSE.parseExpr(functionExprStr) ;
+ NodeValue vActual = expected.eval(null, LibTestExpr.createTest());
+ assertTrue("Expected = " + expected + " : Actual = " + actual, sameValueSameDatatype(vExpected, vActual));
+ }
+
public static void test(String exprString, Node result) {
NodeValue expected = NodeValue.makeNode(result);
test(exprString, expected);
@@ -79,7 +89,18 @@ public class LibTestExpr {
public static void test(String exprStr, NodeValue expected) {
Expr expr = parse(exprStr);
NodeValue actual = expr.eval(null, LibTestExpr.createTest());
- assertTrue("Expected = " + expected + " : Actual = " + actual, NodeValue.sameAs(expected, actual));
+ assertTrue("Expected = " + expected + " : Actual = " + actual, sameValueSameDatatype(expected, actual));
+ }
+
+ private static boolean sameValueSameDatatype(NodeValue nv1, NodeValue nv2) {
+ if ( ! NodeValue.sameAs(nv1, nv2) )
+ return false;
+ Node n1 = nv1.asNode();
+ Node n2 = nv2.asNode();
+ if ( ! n1.isLiteral() || ! n2.isLiteral() )
+ // URIs, bnodes etc because the sameAs test passed ...
+ return true;
+ return nv1.asNode().getLiteralDatatype().equals(nv2.asNode().getLiteralDatatype());
}
public static void test(String exprStr) {
@@ -105,7 +126,6 @@ public class LibTestExpr {
// between how things like doubles are expressed
if (NodeValue.sameAs(expected, actual))
return;
-
testDouble(exprString, expected.getDouble(), delta);;
}
diff --git a/jena-arq/src/test/java/org/apache/jena/sparql/expr/TS_Expr.java b/jena-arq/src/test/java/org/apache/jena/sparql/expr/TS_Expr.java
index 5ada19b..c1368bd 100644
--- a/jena-arq/src/test/java/org/apache/jena/sparql/expr/TS_Expr.java
+++ b/jena-arq/src/test/java/org/apache/jena/sparql/expr/TS_Expr.java
@@ -31,6 +31,7 @@ import org.junit.runners.Suite.SuiteClasses;
, TestExpressions.class
, TestExpressions2.class
, TestExpressions3.class
+ , TestExpressions4.class
, TestCastXSD.class
, TestNodeFunctions.class
, TestExpressionsMath.class
diff --git a/jena-arq/src/test/java/org/apache/jena/sparql/expr/TestExpressions.java b/jena-arq/src/test/java/org/apache/jena/sparql/expr/TestExpressions.java
index d5336f2..e71001a 100644
--- a/jena-arq/src/test/java/org/apache/jena/sparql/expr/TestExpressions.java
+++ b/jena-arq/src/test/java/org/apache/jena/sparql/expr/TestExpressions.java
@@ -369,6 +369,8 @@ public class TestExpressions
@Test public void testBoolean_152() { testBoolean("<"+xsd+"double>(str('3')) = 3", true) ; }
@Test public void testString_23() { testString("'a'+'b'", "ab") ; }
+
+ // Not strict
@Test(expected=ExprEvalException.class)
public void testString_24() { testString("'a'+12") ; }
public void testString_25() { testString("12+'a'") ; }
diff --git a/jena-arq/src/test/java/org/apache/jena/sparql/expr/TestExpressions3.java b/jena-arq/src/test/java/org/apache/jena/sparql/expr/TestExpressions3.java
index 22e95d2..3246102 100644
--- a/jena-arq/src/test/java/org/apache/jena/sparql/expr/TestExpressions3.java
+++ b/jena-arq/src/test/java/org/apache/jena/sparql/expr/TestExpressions3.java
@@ -28,7 +28,7 @@ import org.apache.jena.sparql.sse.builders.BuilderBinding ;
import org.apache.jena.sparql.util.ExprUtils ;
import org.junit.Test ;
-/** Expression evaluation involving bindings.
+/** Expression evaluation involving bindings.
* @see TestExpressions
* @see TestExpressions2
* @see TestExpressions3
@@ -48,13 +48,13 @@ public class TestExpressions3
// From SPARQL syntax
private static void eval(String string, String bindingStr, boolean expected) {
- Binding binding = binding(bindingStr) ;
+ Binding binding = binding(bindingStr) ;
Expr expr = ExprUtils.parse(string) ;
NodeValue nv = expr.eval(binding, LibTestExpr.createTest()) ;
boolean b = XSDFuncOp.booleanEffectiveValue(nv) ;
assertEquals(string, expected, b) ;
}
-
+
// From algebra/SSE
private static void evalExpr(String exprString, String bindingStr, boolean expected) {
Binding binding = binding(bindingStr) ;
@@ -69,6 +69,6 @@ public class TestExpressions3
return null ;
Item item = SSE.parse("(binding "+bindingStr+")") ;
Binding binding = BuilderBinding.build(item) ;
- return binding ;
+ return binding ;
}
}
diff --git a/jena-arq/src/test/java/org/apache/jena/sparql/expr/TestExpressions4.java b/jena-arq/src/test/java/org/apache/jena/sparql/expr/TestExpressions4.java
new file mode 100644
index 0000000..0ae2fbb
--- /dev/null
+++ b/jena-arq/src/test/java/org/apache/jena/sparql/expr/TestExpressions4.java
@@ -0,0 +1,87 @@
+/*
+ * 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.expr;
+
+import static org.apache.jena.sparql.expr.LibTestExpr.test;
+import static org.apache.jena.sparql.expr.LibTestExpr.testSSE;
+
+import org.junit.Test;
+
+public class TestExpressions4 {
+
+ // ---- op:numeric-integer-divide
+ // Operator, function and fn:function, op:function forms.
+
+ @Test public void idiv_1() { test("7 idiv 3", "2"); }
+ @Test public void idiv_2() { test("idiv(7, 3)", "2"); }
+ @Test public void idiv_3() { test("fn:numeric-integer-divide(7, 3)", "2"); }
+ @Test public void idiv_4() { test("op:numeric-integer-divide(7, 3)", "2"); }
+ @Test public void idiv_5() { testSSE("(idiv 7 3)", "2"); }
+
+ // Examples from F&O
+
+ @Test public void idiv_10() { test("IDIV(10 , 3)", "3"); }
+ @Test public void idiv_11() { test("IDIV(3 , -2)", "-1"); }
+ @Test public void idiv_12() { test("IDIV(-3 , 2)", "-1"); }
+ @Test public void idiv_13() { test("IDIV(-3 , -2)", "1"); }
+ @Test public void idiv_14() { test("IDIV(9.0 , 3)", "3"); }
+ @Test public void idiv_15() { test("IDIV(-3.5 , 3)", "-1"); }
+ @Test public void idiv_16() { test("IDIV(3.0 , 4)", "0"); }
+ @Test public void idiv_17() { test("IDIV(3.1E1 , 6)", "5"); }
+ @Test public void idiv_18() { test("IDIV(3.1E1 , 7)", "4"); }
+
+ @Test(expected = ExprEvalException.class)
+ public void idiv_20() { test("IDIV(3 , 0)", "4"); }
+ @Test(expected = ExprEvalException.class)
+ public void idiv_21() { test("IDIV(3.1 , 0.0)", "4"); }
+ @Test(expected = ExprEvalException.class)
+ public void idiv_22() { test("IDIV(3.1E1 , 0e0)", "4"); }
+
+ // ---- op:numeric-mod
+ // Operator, function and fn:function, op:function forms.
+
+ @Test public void mod_1() { test("5 mod 3", "2"); }
+ @Test public void mod_2() { test("mod(5, 3)", "2"); }
+ @Test public void mod_3() { test("fn:numeric-mod(5, 3)", "2"); }
+ @Test public void mod_4() { test("op:numeric-mod(5, 3)", "2"); }
+ @Test public void mod_5() { testSSE("(mod 5 3)", "2"); }
+
+ // Examples from F&O
+ @Test public void mod_10() { test("MOD(10 , 3)", "1"); }
+ @Test public void mod_11() { test("MOD(6 , -2)", "0"); }
+ @Test public void mod_12() { test("MOD(4.5 , 1.2)", "0.9"); }
+ @Test public void mod_13() { test("MOD(1.23E2 , 0.6E1)", "3.0E0"); }
+
+ // Sign of result is sign of dividend (left argument)
+ @Test public void mod_14() { test("MOD(7 , -2)", "1"); }
+ @Test public void mod_15() { test("MOD(7.0 , -2.0)", "1.0"); }
+ @Test public void mod_16() { test("MOD(7e0 , -2e0)", "1.0e0"); }
+
+ @Test public void mod_17() { test("MOD(-7 , -2)", "-1"); }
+ @Test public void mod_18() { test("MOD(-7.0 , -2.0)", "-1.0"); }
+ @Test public void mod_19() { test("MOD(-7e0 , -2e0)", "-1.0e0"); }
+
+ @Test(expected = ExprEvalException.class)
+ public void mod_20() { test("MOD(123 , 0)", "3"); }
+ @Test(expected = ExprEvalException.class)
+ public void mod_21() { test("MOD(12.3 , 0.0)", "3.0"); }
+ @Test(expected = ExprEvalException.class)
+ public void mod_22() { test("MOD(1.23E2 , 0.0e0)", "3.0E0"); }
+
+}
diff --git a/jena-arq/src/test/java/org/apache/jena/sparql/expr/TestExpressionsMath.java b/jena-arq/src/test/java/org/apache/jena/sparql/expr/TestExpressionsMath.java
index 5d07a23..c323bb4 100644
--- a/jena-arq/src/test/java/org/apache/jena/sparql/expr/TestExpressionsMath.java
+++ b/jena-arq/src/test/java/org/apache/jena/sparql/expr/TestExpressionsMath.java
@@ -43,7 +43,7 @@ public class TestExpressionsMath
@Test public void exp10_03() { testDouble("math:exp10(2.0)", 100, 0.00001) ; }
@Test public void exp10_04() { test("math:exp10(0)", "1") ; }
@Test public void exp10_05() { testDouble("math:exp10('NaN'^^xsd:double)", Double.NaN, 0.0000001 ) ; }
-
+
@Test public void log_01() { testDouble("math:log(1)", Math.log(1), 0.0000001 ) ; }
@Test public void log_02() { testDouble("math:log('NaN'^^xsd:double)", Double.NaN, 0.0000001 ) ; }
@Test public void log_03() { test("math:log('INF'^^xsd:double)", "'INF'^^xsd:double") ; }
@@ -51,44 +51,43 @@ public class TestExpressionsMath
@Test public void log_05() { test("math:exp('INF'^^xsd:double)", "'INF'^^xsd:double") ; }
@Test public void log_06() { test("math:exp('-INF'^^xsd:double)", "'0.0e0'^^xsd:double") ; }
@Test public void log_07() { test("math:exp('NaN'^^xsd:double)", "'NaN'^^xsd:double") ; }
-
- @Test public void pow_01() { test("math:pow(2,2)", "4") ; }
+
+ @Test public void pow_01() { test("math:pow(2,2)", "4") ; }
@Test public void pow_02() { testDouble("math:pow(2,-2)", 0.25, 0.00001) ; }
@Test public void pow_03() { test("math:pow(2,0)", "1") ; }
-
+
@Test public void pow_10() { test("math:pow('INF'^^xsd:double, 1)", "'INF'^^xsd:double") ; }
@Test public void pow_11() { test("math:pow(1, 'INF'^^xsd:double)", "1") ; }
@Test public void pow_12() { test("math:pow(1e0, 'INF'^^xsd:double)", "'1.0e0'^^xsd:double") ; }
-
+
@Test public void pow_13() { test("math:pow('INF'^^xsd:double,0)", "'1.0e0'^^xsd:double") ; }
@Test public void pow_14() { test("math:pow('-INF'^^xsd:double, 0)", "'1.0e0'^^xsd:double") ; }
@Test public void pow_15() { test("math:pow('NaN'^^xsd:double, 1)", "'NaN'^^xsd:double") ; }
@Test public void pow_16() { test("math:pow(1, 'NaN'^^xsd:double)", "'NaN'^^xsd:double") ; }
-
+
@Test public void sqrt_01() { test("math:sqrt(1)", "'1.0e0'^^xsd:double") ; }
@Test public void sqrt_02() { testDouble("math:sqrt(2)", Math.sqrt(2), 0.000001) ; }
@Test public void sqrt_03() { test("math:sqrt(-2)", "'NaN'^^xsd:double") ; }
-
+
@Test(expected=ARQException.class)
public void sqrt_04() { test("math:sqrt('TWO')", "'dummy'") ; }
-
+
@Test public void sqrt_10() { test("math:sqrt('INF'^^xsd:double)", "'INF'^^xsd:double") ; }
@Test public void sqrt_11() { test("math:sqrt('-INF'^^xsd:double)", "'NaN'^^xsd:double") ; }
@Test public void sqrt_12() { test("math:sqrt('NaN'^^xsd:double)", "'NaN'^^xsd:double") ; }
// 4.8.7 math:sqrt
-// 4.8.8 math:sin
-// 4.8.9 math:cos
-// 4.8.10 math:tan
-// 4.8.11 math:asin
-// 4.8.12 math:acos
-// 4.8.13 math:atan
-// 4.8.14 math:atan2
-
-
+ // 4.8.8 math:sin
+ // 4.8.9 math:cos
+ // 4.8.10 math:tan
+ // 4.8.11 math:asin
+ // 4.8.12 math:acos
+ // 4.8.13 math:atan
+ // 4.8.14 math:atan2
+
// Yes - atan uses (Y,X)
@Test public void atan2_01() { testDouble("math:atan2(0,1)", "0.0e0", 0.00001) ; }
@Test public void atan2_02() { testDouble("math:atan2(1,0)", Math.PI/2, 0.00001) ; }
@Test public void atan2_03() { testDouble("math:atan2(2.0,0.0)", Math.PI/2, 0.00001) ; }
- @Test public void atan2_04() { testDouble("math:atan2(-2.0e1, 0.0)", - Math.PI/2, 0.00001) ; }
+ @Test public void atan2_04() { testDouble("math:atan2(-2.0e1, 0.0)", - Math.PI/2, 0.00001) ; }
}
diff --git a/jena-arq/src/test/java/org/apache/jena/sparql/expr/TestLeviathanFunctions.java b/jena-arq/src/test/java/org/apache/jena/sparql/expr/TestLeviathanFunctions.java
index 920ea6a..6bbdda0 100644
--- a/jena-arq/src/test/java/org/apache/jena/sparql/expr/TestLeviathanFunctions.java
+++ b/jena-arq/src/test/java/org/apache/jena/sparql/expr/TestLeviathanFunctions.java
@@ -120,12 +120,12 @@ public class TestLeviathanFunctions {
@Test
public void log_01() {
- LibTestExpr.test("lfn:log(1)", "0");
+ LibTestExpr.test("lfn:log(1)", "0e0");
}
@Test
public void log_02() {
- LibTestExpr.test("lfn:log(10)", "1");
+ LibTestExpr.test("lfn:log(10)", "1e0");
}
@Test
@@ -135,42 +135,42 @@ public class TestLeviathanFunctions {
@Test
public void log_04() {
- LibTestExpr.test("lfn:log(4, 2)", "2");
+ LibTestExpr.test("lfn:log(4, 2)", "2e0");
}
@Test
public void log_05() {
- LibTestExpr.test("lfn:log(4, 16)", "0.5");
+ LibTestExpr.test("lfn:log(4, 16)", "0.5e0");
}
@Test
public void log_06() {
- LibTestExpr.test("lfn:log(16, 4)", "2");
+ LibTestExpr.test("lfn:log(16, 4)", "2e0");
}
@Test
public void reciprocal_01() {
- LibTestExpr.test("lfn:reciprocal(1)", "1");
+ LibTestExpr.test("lfn:reciprocal(1)", "1e0");
}
@Test
public void reciprocal_02() {
- LibTestExpr.test("lfn:reciprocal(2)", "0.5");
+ LibTestExpr.test("lfn:reciprocal(2)", "0.5e0");
}
@Test
public void reciprocal_03() {
- LibTestExpr.test("lfn:reciprocal(lfn:reciprocal(2))", "2");
+ LibTestExpr.test("lfn:reciprocal(lfn:reciprocal(2))", "2e0");
}
@Test
public void root_01() {
- LibTestExpr.test("lfn:root(4,2)", "2");
+ LibTestExpr.test("lfn:root(4,2)", "2e0");
}
@Test
public void root_02() {
- LibTestExpr.test("lfn:root(2,1)", "2");
+ LibTestExpr.test("lfn:root(2,1)", "2e0");
}
@Test
@@ -180,44 +180,44 @@ public class TestLeviathanFunctions {
@Test
public void sqrt_01() {
- LibTestExpr.test("lfn:sqrt(4)", "2");
+ LibTestExpr.test("lfn:sqrt(4)", "2e0");
}
@Test
public void sqrt_02() {
- LibTestExpr.test("lfn:sqrt(144)", "12");
+ LibTestExpr.test("lfn:sqrt(144)", "12e0");
}
@Test
public void cartesian_01() {
- LibTestExpr.test("lfn:cartesian(0, 0, 0, 0)", "0");
+ LibTestExpr.test("lfn:cartesian(0, 0, 0, 0)", "0e0");
}
@Test
public void cartesian_02() {
- LibTestExpr.test("lfn:cartesian(0, 0, 3, 4)", "5");
+ LibTestExpr.test("lfn:cartesian(0, 0, 3, 4)", "5e0");
}
@Test
public void cartesian_03() {
- LibTestExpr.test("lfn:cartesian(0, 0, 0, 3, 4, 0)", "5");
+ LibTestExpr.test("lfn:cartesian(0, 0, 0, 3, 4, 0)", "5e0");
}
@Test
public void cartesian_04() {
- LibTestExpr.test("lfn:cartesian(0, 0, 0, 0, 3, 4)", "5");
+ LibTestExpr.test("lfn:cartesian(0, 0, 0, 0, 3, 4)", "5e0");
}
@Test
public void cartesian_05() {
- LibTestExpr.test("lfn:cartesian(0, 0, 0, 3, 0, 4)", "5");
+ LibTestExpr.test("lfn:cartesian(0, 0, 0, 3, 0, 4)", "5e0");
}
@Test
public void cos_01() {
testDouble("lfn:cos(lfn:degrees-to-radians(60))", "0.5", DELTA);
}
-
+
@Test
public void acos_01() {
testDouble("lfn:radians-to-degrees(lfn:cos-1(lfn:cos(lfn:degrees-to-radians(60))))", "60", DELTA);
diff --git a/jena-arq/src/test/java/org/apache/jena/sparql/expr/TestXSDFuncOp.java b/jena-arq/src/test/java/org/apache/jena/sparql/expr/TestXSDFuncOp.java
index 6c33d0c..f64c6dd 100644
--- a/jena-arq/src/test/java/org/apache/jena/sparql/expr/TestXSDFuncOp.java
+++ b/jena-arq/src/test/java/org/apache/jena/sparql/expr/TestXSDFuncOp.java
@@ -37,28 +37,28 @@ public class TestXSDFuncOp
private static final double accuracyExact_F = 0.0f ;
private static final double accuracyClose_D = 0.000001d ;
private static final double accuracyClose_F = 0.000001f ;
-
-
+
+
@Test public void lex_decimal_1() {
lex_decimal_value(BigDecimal.valueOf(0), "0.0");
}
-
+
@Test public void lex_decimal_2() {
lex_decimal_value(BigDecimal.valueOf(1), "1.0");
}
-
+
@Test public void lex_decimal_3() {
lex_decimal_value(BigDecimal.valueOf(0.5), "0.5");
}
-
+
@Test public void lex_decimal_4() {
lex_decimal_value(BigDecimal.valueOf(-0.5), "-0.5");
}
-
+
@Test public void lex_decimal_5() {
lex_decimal_value(BigDecimal.valueOf(1_000_000_000_000_000L), "1000000000000000.0");
}
-
+
@Test public void lex_decimal_6() {
lex_decimal_value(BigDecimal.valueOf(-1_000_000_000_000_000L), "-1000000000000000.0");
}
@@ -66,7 +66,7 @@ public class TestXSDFuncOp
@Test public void lex_decimal_canonical_1() {
lex_decimal_canonical("+.0","0.0");
}
-
+
@Test public void lex_decimal_canonical_2() {
lex_decimal_canonical("-.0","0.0");
}
@@ -78,35 +78,35 @@ public class TestXSDFuncOp
@Test public void lex_decimal_canonical_4() {
lex_decimal_canonical("0012.0000","12.0");
}
-
+
@Test public void lex_decimal_canonical_5() {
lex_decimal_canonical("-0012.0000","-12.0");
}
-
+
// Exact given lexical form preserved.
@Test public void lex_decimal_nodevalue_1() {
lex_decimal_nodevalue("0.0","0.0");
}
-
+
@Test public void lex_decimal_nodevalue_2() {
// As input.
lex_decimal_nodevalue("0.","0.");
}
-
+
@Test public void lex_decimal_nodevalue3() {
// As input.
lex_decimal_nodevalue("+.0","+.0");
}
-
+
private static void lex_decimal_value(BigDecimal decimal, String expected) {
String lex = XSDFuncOp.canonicalDecimalStr(decimal);
assertEquals(expected, lex);
}
-
+
private static void lex_decimal_nodevalue(String input, String expected) {
NodeValue nv = NodeValue.makeDecimal(input);
- String lex = nv.asString();
+ String lex = nv.asString();
assertEquals(expected, lex);
}
@@ -117,7 +117,7 @@ public class TestXSDFuncOp
}
// These add tests also test that the right kind of operation was done.
-
+
@Test public void testAddIntegerInteger()
{
NodeValue nv1 = NodeValue.makeInteger(5) ;
@@ -137,7 +137,7 @@ public class TestXSDFuncOp
assertTrue("Not a NodeValueDecimal: "+r, r instanceof NodeValueDecimal) ;
assertEquals("Wrong result", 8, r.getDecimal().doubleValue(), accuracyExact_D ) ;
}
-
+
@Test public void testAddFloatFloat()
{
NodeValue nv1 = NodeValue.makeFloat(7.5f) ;
@@ -159,7 +159,7 @@ public class TestXSDFuncOp
assertEquals("Wrong result", 10, r.getDouble(), accuracyExact_D ) ;
}
-
+
@Test public void testAddIntegerDecimal()
{
NodeValue nv1 = NodeValue.makeInteger(5) ;
@@ -169,7 +169,7 @@ public class TestXSDFuncOp
assertTrue("Not a NodeValueDecimal: "+r, r instanceof NodeValueDecimal) ;
assertEquals("Wrong result", 12, r.getDecimal().longValue()) ;
}
-
+
@Test public void testAddDecimalInteger()
{
NodeValue nv1 = NodeValue.makeDecimal(7) ;
@@ -179,7 +179,7 @@ public class TestXSDFuncOp
assertTrue("Not a NodeValueDecimal: "+r, r instanceof NodeValueDecimal) ;
assertEquals("Wrong result", 12, r.getDecimal().longValue()) ;
}
-
+
@Test public void testAddIntegerFloat()
{
NodeValue nv1 = NodeValue.makeInteger(5) ;
@@ -189,7 +189,7 @@ public class TestXSDFuncOp
assertTrue("Not a NodeValueFloat: "+r, r instanceof NodeValueFloat) ;
assertEquals("Wrong result", 12, r.getDouble(), accuracyExact_F ) ;
}
-
+
@Test public void testAddFloatInteger()
{
NodeValue nv1 = NodeValue.makeFloat(7) ;
@@ -209,7 +209,7 @@ public class TestXSDFuncOp
assertTrue("Not a NodeValueDouble: "+r, r instanceof NodeValueDouble) ;
assertEquals("Wrong result", 12, r.getDouble(), accuracyExact_D ) ;
}
-
+
@Test public void testAddDoubleInteger()
{
NodeValue nv1 = NodeValue.makeDouble(7) ;
@@ -229,7 +229,7 @@ public class TestXSDFuncOp
assertTrue("Not a NodeValueFloat: "+r, r instanceof NodeValueFloat) ;
assertEquals("Wrong result", 8, r.getFloat(), accuracyExact_F) ;
}
-
+
@Test public void testAddFloatDecimal()
{
NodeValue nv1 = NodeValue.makeFloat(4.5f) ;
@@ -248,7 +248,7 @@ public class TestXSDFuncOp
assertTrue("Not a NodeValueDouble: "+r, r instanceof NodeValueDouble) ;
assertEquals("Wrong result", 8, r.getDouble(), accuracyExact_D) ;
}
-
+
@Test public void testAddDoubleDecimal()
{
NodeValue nv1 = NodeValue.makeDouble(4.5) ;
@@ -298,13 +298,13 @@ public class TestXSDFuncOp
assertTrue("Not a decimal: "+r, r.isDecimal()) ;
// sameAv (value) test : does not test lexical form or datatype.
assertTrue("Wrong result : expected="+r+" : got="+nv3, NodeValue.sameAs(r, nv3));
- return r.getNode().getLiteralLexicalForm();
+ return r.asNode().getLiteralLexicalForm();
}
-
+
@Test public void testDivideDecimal1() {
divideDecimal("1", "10", "0.1");
}
-
+
@Test public void testDivideDecimal2() {
divideDecimal("1", "2", "0.5");
}
@@ -317,32 +317,32 @@ public class TestXSDFuncOp
@Test public void testDivideDecimal4() {
String x = divideDecimal("0", "3", "0");
- assertEquals("Wrong lexical form", "0.0", x);
+ assertEquals("Wrong lexical form", "0.0", x);
}
// JENA-1943 : If exact, return more than DIVIDE_PRECISION
@Test public void testDivideDecimal5() {
String x = divideDecimal("1", "10000000000000000000000000", "0.0000000000000000000000001");
- // More than 2 (for the "0.") plus XSDFuncOp.DIVIDE_PRECISION = 24
+ // More than 2 (for the "0.") plus XSDFuncOp.DIVIDE_PRECISION = 24
assertEquals("Wrong length lexical form", 27, x.length());
}
-
+
// JENA-1943
@Test public void testDivideDecimal6() {
String x = divideDecimal("1", "10000000000000000000000000000", "0.0000000000000000000000000001");
// Exact
assertEquals("Wrong length lexical form", 30, x.length());
}
-
+
// divide errors
@Test(expected=ExprEvalException.class)
public void testDivideByZero1()
- {
+ {
NodeValue nv1 = NodeValue.makeInteger(1) ;
NodeValue nv2 = NodeValue.makeInteger(0) ;
NodeValue r = XSDFuncOp.numDivide(nv1, nv2) ;
}
-
+
@Test public void testDivideByZero2()
{
NodeValue nv1 = NodeValue.makeInteger(1) ;
@@ -351,7 +351,7 @@ public class TestXSDFuncOp
assertTrue("Not a double: "+r, r.isDouble()) ;
assertTrue("Not a +INF: "+r, r.getDouble()==Double.POSITIVE_INFINITY) ;
}
-
+
@Test public void testDivideByZero4()
{
NodeValue nv1 = NodeValue.makeInteger(-1) ;
@@ -360,7 +360,7 @@ public class TestXSDFuncOp
assertTrue("Not a double: "+r, r.isDouble()) ;
assertTrue("Not a -INF: "+r, r.getDouble()==Double.NEGATIVE_INFINITY) ;
}
-
+
@Test(expected=ExprEvalException.class)
public void testDivideByZero5()
{
@@ -386,7 +386,7 @@ public class TestXSDFuncOp
assertTrue("Not a NodeValueDouble: "+r, r instanceof NodeValueDouble) ;
assertEquals("Wrong result", 1d, r.getDouble(), accuracyExact_D ) ;
}
-
+
@Test public void testSubtractDecimalInteger()
{
NodeValue nv1 = NodeValue.makeDecimal(3.5) ;
@@ -396,7 +396,7 @@ public class TestXSDFuncOp
assertTrue("Not a NodeValueDecimal: "+r, r instanceof NodeValueDecimal) ;
assertTrue("Wrong result", NodeValue.sameAs(NodeValue.makeDecimal(1.5), r) ) ;
}
-
+
@Test public void testMultiplyDoubleDecimal()
{
NodeValue nv1 = NodeValue.makeDouble(4.5) ;
@@ -406,7 +406,7 @@ public class TestXSDFuncOp
assertTrue("Not a NodeValueDouble: "+r, r instanceof NodeValueDouble) ;
assertEquals("Wrong result", 4.5d*3.5d, r.getDouble(), accuracyExact_D ) ;
}
-
+
@Test public void testMultiplyDecimalInteger()
{
NodeValue nv1 = NodeValue.makeDecimal(3.5) ;
@@ -416,7 +416,7 @@ public class TestXSDFuncOp
assertTrue("Not a NodeValueDecimal: "+r, r instanceof NodeValueDecimal) ;
assertEquals("Wrong result", 7L, r.getDecimal().longValue()) ;
}
-
+
@Test public void testCompare1()
{
NodeValue nv5 = NodeValue.makeInteger(5) ;
@@ -426,17 +426,17 @@ public class TestXSDFuncOp
NodeValue nv5b = NodeValue.makeInteger(5) ;
assertEquals("Does not compare "+nv5+" & "+nv5b, NodeValue.CMP_EQUAL, NodeValue.compare(nv5, nv5b)) ;
}
-
+
@Test public void testCompare2()
{
NodeValue nv5 = NodeValue.makeInteger(5) ;
- NodeValue nv7 = NodeValue.makeNodeInteger(7) ;
+ NodeValue nv7 = NodeValue.makeNodeInteger(7) ;
assertEquals("Does not compare "+nv5+" & "+nv7, NodeValue.CMP_LESS, NodeValue.compare(nv5, nv7) ) ;
NodeValue nv5b = NodeValue.makeNodeInteger(5) ;
assertEquals("Does not compare "+nv5+" & "+nv5b, NodeValue.CMP_EQUAL, NodeValue.compare(nv5, nv5b) ) ;
}
-
+
@Test public void testCompare3()
{
NodeValue nv5 = NodeValue.makeInteger(5) ;
@@ -457,8 +457,8 @@ public class TestXSDFuncOp
NodeValue nv7 = NodeValue.makeDecimal(7) ;
assertEquals("Does not compare "+nv5+" & "+nv7, NodeValue.CMP_LESS, NodeValue.compare(nv5, nv7) ) ;
}
-
-
+
+
@Test public void testCompare10()
{
NodeValue nv1 = NodeValue.makeDateTime("2005-10-14T13:09:43Z") ;
@@ -494,7 +494,7 @@ public class TestXSDFuncOp
} catch (ExprNotComparableException ex)
{}
}
-
+
@Test public void testCompare16()
{
// One in a timezone, one not. Within +/- 14 hours. Can't compare.
@@ -518,7 +518,7 @@ public class TestXSDFuncOp
} catch (ExprNotComparableException ex)
{}
}
-
+
@Test public void testCompare18()
{
// One in a timezone, one not. More than +/- 14 hours. Can compare.
@@ -527,7 +527,7 @@ public class TestXSDFuncOp
assertEquals(Expr.CMP_GREATER, NodeValue.compare(nv1, nv2)) ;
}
-
+
@Test public void testCompare20()
{
NodeValue nv1 = NodeValue.makeString("abcd") ;
@@ -539,22 +539,22 @@ public class TestXSDFuncOp
{
NodeValue nv5 = NodeValue.makeInteger(5) ;
NodeValue nv7 = NodeValue.makeString("5") ;
-
+
try {
NodeValue.compare(nv5, nv7) ;
- fail("Should not compare (but did) "+nv5+" & "+nv7) ;
+ fail("Should not compare (but did) "+nv5+" & "+nv7) ;
} catch (ExprEvalException ex)
{ /* expected */}
-
+
int x = NodeValue.compareAlways(nv5, nv7) ;
assertEquals("Does not compare "+nv5+" & "+nv7, NodeValue.CMP_GREATER, NodeValue.compareAlways(nv5, nv7) ) ;
}
-
+
@Test public void testCompare22()
{
NodeValue nv1 = NodeValue.makeNodeString("aaa") ;
NodeValue nv2 = NodeValue.makeString("aaabbb") ;
-
+
int x = NodeValue.compare(nv1, nv2) ;
assertEquals("Not CMP_LESS", x, Expr.CMP_LESS) ;
assertTrue("It's CMP_GREATER", x != Expr.CMP_GREATER) ;
@@ -565,39 +565,39 @@ public class TestXSDFuncOp
{
NodeValue nv1 = NodeValue.makeNode(NodeFactory.createBlankNode()) ;
NodeValue nv2 = NodeValue.makeString("5") ;
-
+
try {
NodeValue.compare(nv1, nv2) ;
- fail("Should not compare (but did) "+nv1+" & "+nv2) ;
+ fail("Should not compare (but did) "+nv1+" & "+nv2) ;
} catch (ExprEvalException ex)
{ /* expected */}
}
-
+
@Test public void testSameUnknown_1()
{
- NodeValue nv1 = NodeValue.makeNode(NodeFactory.createURI("test:abc")) ;
+ NodeValue nv1 = NodeValue.makeNode(NodeFactory.createURI("test:abc")) ;
NodeValue nv2 = NodeValue.makeNode(NodeFactory.createURI("test:abc")) ;
-
- assertTrue(NodeValue.sameAs(nv1, nv2)) ;
+
+ assertTrue(NodeValue.sameAs(nv1, nv2)) ;
assertFalse(NodeValue.notSameAs(nv1, nv2)) ;
try {
NodeValue.compare(nv1, nv2) ;
- fail("Should not compare (but did) "+nv1+" & "+nv2) ;
+ fail("Should not compare (but did) "+nv1+" & "+nv2) ;
} catch (ExprEvalException ex)
{ /* expected */}
-
+
}
-
+
@Test public void testSameUnknown_2()
{
- NodeValue nv1 = NodeValue.makeNode(NodeFactory.createBlankNode()) ;
+ NodeValue nv1 = NodeValue.makeNode(NodeFactory.createBlankNode()) ;
NodeValue nv2 = NodeValue.makeNode(NodeFactory.createURI("test:abc")) ;
-
+
assertFalse(NodeValue.sameAs(nv1, nv2)) ;
assertTrue(NodeValue.notSameAs(nv1, nv2)) ;
try {
NodeValue.compare(nv1, nv2) ;
- fail("Should not compare (but did) "+nv1+" & "+nv2) ;
+ fail("Should not compare (but did) "+nv1+" & "+nv2) ;
} catch (ExprEvalException ex)
{ /* expected */}
}
@@ -606,43 +606,43 @@ public class TestXSDFuncOp
// SameValue and compare of date and dateTimes
// Timezone tricknesses - if one has a TZ and the other has not, then a difference of 14 hours
- // is needed for a comparison.
+ // is needed for a comparison.
@Test public void testSameDateTime_1()
{
NodeValue nv1 = NodeValue.makeDateTime("2007-09-04T09:22:03") ;
NodeValue nv2 = NodeValue.makeDateTime("2007-09-04T09:22:03") ;
-
+
assertTrue(NodeValue.sameAs(nv1, nv2)) ;
assertFalse(NodeValue.notSameAs(nv1, nv2)) ;
}
-
+
@Test public void testSameDateTime_2()
{
NodeValue nv1 = NodeValue.makeDateTime("2007-09-04T09:22:03") ;
NodeValue nv2 = NodeValue.makeDateTime("2007-09-04T19:00:00") ;
-
+
assertFalse(NodeValue.sameAs(nv1, nv2)) ;
assertTrue(NodeValue.notSameAs(nv1, nv2)) ;
}
-
+
@Test public void testSameDateTime_3()
{
// These are the same.
NodeValue nv1 = NodeValue.makeDateTime("2007-09-04T10:22:03+01:00") ;
NodeValue nv2 = NodeValue.makeDateTime("2007-09-04T09:22:03Z") ;
-
+
assertTrue(NodeValue.sameAs(nv1, nv2)) ;
assertFalse(NodeValue.notSameAs(nv1, nv2)) ;
}
-
+
@Test public void testSameDateTime_4()
{
// These are not the same.
NodeValue nv1 = NodeValue.makeDateTime("2007-09-04T10:22:03+01:00") ;
NodeValue nv2 = NodeValue.makeDateTime("2007-09-04T10:22:03Z") ;
-
+
assertFalse(NodeValue.sameAs(nv1, nv2)) ;
assertTrue(NodeValue.notSameAs(nv1, nv2)) ;
}
@@ -651,75 +651,75 @@ public class TestXSDFuncOp
{
NodeValue nv1 = NodeValue.makeDateTime("2007-09-04T10:22:03+01:00") ;
NodeValue nv2 = NodeValue.makeDateTime("2007-09-04T09:22:03") ; // No timezone
-
- try {
+
+ try {
NodeValue.sameAs(nv1, nv2) ;
fail("Should not sameValueAs (but did) "+nv1+" & "+nv2) ;
} catch (ExprEvalException ex) {}
-
- try {
+
+ try {
NodeValue.notSameAs(nv1, nv2) ;
fail("Should not notSameValueAs (but did) "+nv1+" & "+nv2) ;
} catch (ExprEvalException ex) {}
}
-
+
// ---- sameValueAs -- xsd:date
-
+
@Test public void testSameDate_1()
{
NodeValue nv1 = NodeValue.makeDate("2007-09-04") ;
NodeValue nv2 = NodeValue.makeDate("2007-09-04") ;
-
+
assertTrue(NodeValue.sameAs(nv1, nv2)) ;
assertFalse(NodeValue.notSameAs(nv1, nv2)) ;
}
-
+
@Test public void testSameDate_2()
{
NodeValue nv1 = NodeValue.makeDate("2007-09-04Z") ;
NodeValue nv2 = NodeValue.makeDate("2007-09-04+00:00") ;
-
+
assertTrue(NodeValue.sameAs(nv1, nv2)) ;
assertFalse(NodeValue.notSameAs(nv1, nv2)) ;
}
-
-
+
+
@Test public void testSameDate_3()
{
NodeValue nv1 = NodeValue.makeDate("2007-09-04Z") ;
NodeValue nv2 = NodeValue.makeDate("2007-09-04") ; // No timezone
-
- try {
+
+ try {
NodeValue.sameAs(nv1, nv2) ;
fail("Should not sameValueAs (but did) "+nv1+" & "+nv2) ;
} catch (ExprEvalException ex) {}
-
- try {
+
+ try {
NodeValue.notSameAs(nv1, nv2) ;
fail("Should not notSameValueAs (but did) "+nv1+" & "+nv2) ;
} catch (ExprEvalException ex) {}
}
-
-
+
+
// General comparisons for sorting.
-
+
// bnodes < URIs < literals
-
+
@Test public void testCompareGeneral1()
{
NodeValue nv1 = NodeValue.makeNode(NodeFactory.createBlankNode()) ;
NodeValue nv2 = NodeValue.makeString("5") ;
-
+
// bNodes before strings
int x = NodeValue.compareAlways(nv1, nv2) ;
assertEquals("Does not compare "+nv1+" & "+nv2, NodeValue.CMP_LESS, NodeValue.compareAlways(nv1, nv2) ) ;
}
-
+
@Test public void testCompareGeneral2()
{
NodeValue nv1 = NodeValue.makeNode(NodeFactory.createBlankNode()) ;
NodeValue nv2 = NodeValue.makeNode(NodeFactory.createURI("test:abc")) ;
-
+
// bNodes before URIs
int x = NodeValue.compareAlways(nv1, nv2) ;
assertEquals("Does not compare "+nv1+" & "+nv2, NodeValue.CMP_LESS, NodeValue.compareAlways(nv1, nv2) ) ;
@@ -729,7 +729,7 @@ public class TestXSDFuncOp
{
NodeValue nv1 = NodeValue.makeNode(NodeFactory.createLiteral("test:abc")) ;
NodeValue nv2 = NodeValue.makeNode(NodeFactory.createURI("test:abc")) ;
-
+
// URIs before literals
int x = NodeValue.compareAlways(nv1, nv2) ;
assertEquals("Does not compare "+nv1+" & "+nv2, NodeValue.CMP_GREATER, NodeValue.compareAlways(nv1, nv2) ) ;
@@ -739,7 +739,7 @@ public class TestXSDFuncOp
{
NodeValue nv1 = NodeValue.makeNode(NodeFactory.createURI("test:abc")) ;
NodeValue nv2 = NodeValue.makeNode(NodeFactory.createURI("test:xyz")) ;
-
+
int x = NodeValue.compareAlways(nv1, nv2) ;
assertEquals("Does not compare "+nv1+" & "+nv2, NodeValue.CMP_LESS, NodeValue.compareAlways(nv1, nv2) ) ;
}
@@ -747,27 +747,27 @@ public class TestXSDFuncOp
@Test public void testCompareDuration_01() {
testCompare("'P365D'^^xsd:duration", "'P300D'^^xsd:duration", Expr.CMP_GREATER) ;
}
-
+
// JENA-814
- @Test(expected=ExprNotComparableException.class)
+ @Test(expected=ExprNotComparableException.class)
public void testCompareDuration_02() {
testCompare("'P365D'^^xsd:duration", "'P1Y'^^xsd:duration", Expr.CMP_INDETERMINATE) ;
}
-
+
// JENA-814
- @Test(expected=ExprNotComparableException.class)
+ @Test(expected=ExprNotComparableException.class)
public void testCompareDuration_03() {
testCompare("'P365D'^^xsd:dayTimeDuration", "'P1Y'^^xsd:yearMonthDuration", Expr.CMP_INDETERMINATE) ;
}
// JENA-814
- @Test(expected=ExprNotComparableException.class)
+ @Test(expected=ExprNotComparableException.class)
public void testCompareDuration_04() {
testCompare("'P1M'^^xsd:duration", "'P28D'^^xsd:duration", Expr.CMP_INDETERMINATE) ;
}
// JENA-814
- @Test(expected=ExprNotComparableException.class)
+ @Test(expected=ExprNotComparableException.class)
public void testCompareDuration_05() {
testCompare("'P1M'^^xsd:yearMonthDuration", "'P28D'^^xsd:dayTimeDuration", Expr.CMP_INDETERMINATE) ;
}
@@ -775,20 +775,20 @@ public class TestXSDFuncOp
@Test public void testCompareDuration_06() {
testCompare("'P13M'^^xsd:yearMonthDuration", "'P1Y'^^xsd:yearMonthDuration", Expr.CMP_GREATER) ;
}
-
+
// -------
-
+
private static void testCompare(String s1, String s2, int correct) {
- NodeValue nv1 = parse(s1) ;
- NodeValue nv2 = parse(s2) ;
+ NodeValue nv1 = parse(s1) ;
+ NodeValue nv2 = parse(s2) ;
int x = NodeValue.compare(nv1, nv2) ;
assertEquals("("+s1+", "+s2+") -> "+name(x)+" ["+name(correct)+"]", correct, x) ;
int y = x ;
- if ( x == Expr.CMP_LESS || x == Expr.CMP_GREATER )
+ if ( x == Expr.CMP_LESS || x == Expr.CMP_GREATER )
y = -x ;
assertEquals("Not symmetric: ("+s1+", "+s2+")", NodeValue.compare(nv2, nv1), y) ;
}
-
+
private static String name(int cmp) {
switch(cmp) {
case Expr.CMP_EQUAL : return "EQ" ;
@@ -797,15 +797,15 @@ public class TestXSDFuncOp
case Expr.CMP_UNEQUAL : return "NE" ;
case Expr.CMP_INDETERMINATE : return "INDET" ;
default:return "Unknown" ;
-
+
}
}
-
+
private static NodeValue parse(String str) {
Node n = SSE.parseNode(str) ;
- return NodeValue.makeNode(n) ;
+ return NodeValue.makeNode(n) ;
}
- // abs is a test of Function.unaryOp machinery
+ // abs is a test of Function.unaryOp machinery
@Test public void testAbs1()
{
NodeValue nv = NodeValue.makeInteger(2) ;
@@ -814,7 +814,7 @@ public class TestXSDFuncOp
assertTrue("Not a NodeValueInteger: "+r, r instanceof NodeValueInteger) ;
assertEquals("Wrong result", 2, r.getInteger().longValue() ) ;
}
-
+
@Test public void testAbs2()
{
NodeValue nv = NodeValue.makeInteger(-2) ;
@@ -823,7 +823,7 @@ public class TestXSDFuncOp
assertTrue("Not a NodeValueInteger: "+r, r instanceof NodeValueInteger) ;
assertEquals("Wrong result", 2, r.getInteger().longValue() ) ;
}
-
+
@Test public void testAbs3()
{
NodeValue nv = NodeValue.makeDecimal(2) ;
@@ -832,7 +832,7 @@ public class TestXSDFuncOp
assertTrue("Not a NodeValueDecimal: "+r, r instanceof NodeValueDecimal) ;
assertEquals("Wrong result", 2, r.getDecimal().doubleValue(), accuracyExact_D ) ;
}
-
+
@Test public void testAbs4()
{
NodeValue nv = NodeValue.makeDecimal(-2) ;
@@ -841,7 +841,7 @@ public class TestXSDFuncOp
assertTrue("Not a NodeValueDecimal: "+r, r instanceof NodeValueDecimal) ;
assertEquals("Wrong result", 2, r.getDecimal().doubleValue(), accuracyExact_D ) ;
}
-
+
@Test public void testAbs5()
{
NodeValue nv = NodeValue.makeFloat(2) ;
@@ -886,7 +886,7 @@ public class TestXSDFuncOp
assertTrue("Not a NodeValueDecimal: "+r, r instanceof NodeValueDecimal) ;
assertEquals("Wrong result", 3, r.getDecimal().longValue()) ;
}
-
+
@Test public void testCeiling2()
{
NodeValue nv = NodeValue.makeDecimal(-3.6) ;
@@ -895,7 +895,7 @@ public class TestXSDFuncOp
assertTrue("Not a NodeValueDecimal: "+r, r instanceof NodeValueDecimal) ;
assertEquals("Wrong result", -3, r.getDecimal().longValue() ) ;
}
-
+
@Test public void testCeiling3()
{
NodeValue nv = NodeValue.makeDouble(2.6) ;
@@ -904,7 +904,7 @@ public class TestXSDFuncOp
assertTrue("Not a NodeValueDouble: "+r, r instanceof NodeValueDouble) ;
assertEquals("Wrong result", 3, r.getDouble(), accuracyExact_D ) ;
}
-
+
@Test public void testCeiling4()
{
NodeValue nv = NodeValue.makeDouble(-3.6) ;
@@ -922,7 +922,7 @@ public class TestXSDFuncOp
assertTrue("Not a NodeValueInteger: "+r, r instanceof NodeValueInteger) ;
assertEquals("Wrong result", 3, r.getInteger().longValue() ) ;
}
-
+
@Test public void testFloor1()
{
NodeValue nv = NodeValue.makeDecimal(2.6) ;
@@ -931,7 +931,7 @@ public class TestXSDFuncOp
assertTrue("Not a NodeValueDecimal: "+r, r instanceof NodeValueDecimal) ;
assertEquals("Wrong result", 2, r.getDecimal().longValue()) ;
}
-
+
@Test public void testFloor2()
{
NodeValue nv = NodeValue.makeDecimal(-3.6) ;
@@ -940,7 +940,7 @@ public class TestXSDFuncOp
assertTrue("Not a NodeValueDecimal: "+r, r instanceof NodeValueDecimal) ;
assertEquals("Wrong result", -4, r.getDecimal().longValue() ) ;
}
-
+
@Test public void testFloor3()
{
NodeValue nv = NodeValue.makeDouble(2.6) ;
@@ -949,7 +949,7 @@ public class TestXSDFuncOp
assertTrue("Not a NodeValueDouble: "+r, r instanceof NodeValueDouble) ;
assertEquals("Wrong result", 2, r.getDouble(), accuracyExact_D ) ;
}
-
+
@Test public void testFloor4()
{
NodeValue nv = NodeValue.makeDouble(-3.6) ;
@@ -958,7 +958,7 @@ public class TestXSDFuncOp
assertTrue("Not a NodeValueDouble: "+r, r instanceof NodeValueDouble) ;
assertEquals("Wrong result", -4, r.getDouble(), accuracyExact_D ) ;
}
-
+
@Test public void testFloor5()
{
NodeValue nv = NodeValue.makeInteger(3) ;
@@ -973,13 +973,13 @@ public class TestXSDFuncOp
NodeValue four = NodeValue.makeInteger(4) ;
NodeValue two = NodeValue.makeDouble(2) ;
NodeValue result = XSDFuncOp.sqrt( four ) ;
-
+
assertTrue(result.isDouble()) ;
assertFalse(result.isDecimal()) ;
assertTrue( NodeValue.sameAs( two, result)) ;
assertTrue( two.asNode().sameValueAs(result.asNode()) ) ;
}
-
+
@Test public void testSqrt2()
{
NodeValue four = NodeValue.makeDouble(4) ;
@@ -988,36 +988,36 @@ public class TestXSDFuncOp
assertTrue(result.isDouble()) ;
assertTrue( NodeValue.sameAs( two, result)) ;
-
+
assertNotNull(result.asNode()) ;
}
-
+
@Test(expected=ExprEvalException.class)
public void testStrReplace() {
- //test invalid pattern
+ //test invalid pattern
NodeValue wrong = NodeValue.makeString("^(?:-*[^-]){-9}");
NodeValue nvStr= NodeValue.makeString("AGIKLAKLMTUARAR");
NodeValue empty= NodeValue.makeString("");
XSDFuncOp.strReplace(nvStr, wrong, empty);
}
-
+
// All compatible - no timezone.
private static NodeValue nv_dt = NodeValue.makeNode("2010-03-22T20:31:54.5", XSDDatatype.XSDdateTime) ;
private static NodeValue nv_d = NodeValue.makeNode("2010-03-22", XSDDatatype.XSDdate) ;
private static NodeValue nv_gy = NodeValue.makeNode("2010", XSDDatatype.XSDgYear) ;
private static NodeValue nv_gym = NodeValue.makeNode("2010-03", XSDDatatype.XSDgYearMonth) ;
-
+
private static NodeValue nv_gmd = NodeValue.makeNode("--03-22", XSDDatatype.XSDgMonthDay) ;
private static NodeValue nv_gm = NodeValue.makeNode("--03", XSDDatatype.XSDgMonth) ;
private static NodeValue nv_gd = NodeValue.makeNode("---22", XSDDatatype.XSDgDay) ;
private static NodeValue nv_t = NodeValue.makeNode("20:31:54.5", XSDDatatype.XSDtime) ;
-
+
private static void testDateTimeCast(NodeValue nv, XSDDatatype xsd, NodeValue nvResult )
{
NodeValue nv2 = XSDFuncOp.dateTimeCast(nv, xsd) ;
Assert.assertEquals(nvResult, nv2) ;
}
-
+
// datetime to other
@Test public void cast_gregorian_01() { testDateTimeCast(nv_dt, XSDDatatype.XSDdateTime, nv_dt) ; }
@Test public void cast_gregorian_02() { testDateTimeCast(nv_dt, XSDDatatype.XSDdate, nv_d) ; }
@@ -1026,7 +1026,7 @@ public class TestXSDFuncOp
@Test public void cast_gregorian_05() { testDateTimeCast(nv_dt, XSDDatatype.XSDgMonthDay, nv_gmd) ; }
@Test public void cast_gregorian_06() { testDateTimeCast(nv_dt, XSDDatatype.XSDgMonth, nv_gm) ; }
@Test public void cast_gregorian_07() { testDateTimeCast(nv_dt, XSDDatatype.XSDgDay, nv_gd) ; }
-
+
@Test public void cast_gregorian_08() { testDateTimeCast(nv_dt, XSDDatatype.XSDtime, nv_t) ; }
// date to other
@@ -1046,46 +1046,46 @@ public class TestXSDFuncOp
@Test public void cast_gregorian_25() { testDateTimeCast(nv_gd, XSDDatatype.XSDgDay, nv_gd) ; }
// G* to date
-
+
@Test(expected=ExprEvalTypeException.class)
public void cast_gregorian_31() { testDateTimeCast(nv_gym, XSDDatatype.XSDdate, nv_d) ; }
-
+
@Test(expected=ExprEvalTypeException.class)
public void cast_gregorian_32() { testDateTimeCast(nv_gy, XSDDatatype.XSDdate, NodeValue.makeDate("2010-01-01")) ; }
-
+
@Test(expected=ExprEvalTypeException.class)
public void cast_gregorian_33() { testDateTimeCast(nv_gmd, XSDDatatype.XSDdate, nv_d) ; }
-
+
@Test(expected=ExprEvalTypeException.class)
public void cast_gregorian_34() { testDateTimeCast(nv_gm, XSDDatatype.XSDdate, nv_d) ; }
-
+
@Test(expected=ExprEvalTypeException.class)
public void cast_gregorian_35() { testDateTimeCast(nv_gd, XSDDatatype.XSDdate, nv_d) ; }
// Junk to date/time thing.
@Test (expected=ExprEvalTypeException.class)
public void cast_err_gregorian_01() { testDateTimeCast(NodeValue.makeBoolean(false), XSDDatatype.XSDgDay, nv_gd) ; }
-
+
private static NodeValue nv_dt_tz1 = NodeValue.makeNode("2010-03-22T20:31:54.5+01:00", XSDDatatype.XSDdateTime) ;
private static NodeValue nv_dt_tz2 = NodeValue.makeNode("2010-03-22T20:31:54.5-05:00", XSDDatatype.XSDdateTime) ;
private static NodeValue nv_dt_tz3 = NodeValue.makeNode("2010-03-22T20:31:54.5Z", XSDDatatype.XSDdateTime) ;
-
+
private static NodeValue nv_d_tz1 = NodeValue.makeNode("2010-03-22+01:00", XSDDatatype.XSDdate) ;
private static NodeValue nv_d_tz2 = NodeValue.makeNode("2010-03-22-05:00", XSDDatatype.XSDdate) ;
private static NodeValue nv_d_tz3 = NodeValue.makeNode("2010-03-22Z", XSDDatatype.XSDdate) ;
-
+
private static NodeValue nv_t_tz1 = NodeValue.makeNode("20:31:54.5+01:00", XSDDatatype.XSDtime) ;
private static NodeValue nv_t_tz2 = NodeValue.makeNode("20:31:54.5-05:00", XSDDatatype.XSDtime) ;
private static NodeValue nv_t_tz3 = NodeValue.makeNode("20:31:54.5Z", XSDDatatype.XSDtime) ;
-
+
@Test public void cast_date_tz_01() { testDateTimeCast(nv_dt_tz1, XSDDatatype.XSDdate, nv_d_tz1) ; }
@Test public void cast_date_tz_02() { testDateTimeCast(nv_dt_tz2, XSDDatatype.XSDdate, nv_d_tz2) ; }
@Test public void cast_date_tz_03() { testDateTimeCast(nv_dt_tz3, XSDDatatype.XSDdate, nv_d_tz3) ; }
-
+
@Test public void cast_time_tz_01() { testDateTimeCast(nv_dt_tz1, XSDDatatype.XSDtime, nv_t_tz1) ; }
@Test public void cast_time_tz_02() { testDateTimeCast(nv_dt_tz2, XSDDatatype.XSDtime, nv_t_tz2) ; }
@Test public void cast_time_tz_03() { testDateTimeCast(nv_dt_tz3, XSDDatatype.XSDtime, nv_t_tz3) ; }
-
+
@Test
public void fn_error_01() {
try {