[Mulgara-svn] r2070 - in trunk/src/jar: query/java/org/mulgara/query querylang/java/org/mulgara/sparql querylang/java/org/mulgara/sparql/parser/cst querylang/javacc/org/mulgara/sparql/parser resolver/java/org/mulgara/resolver
pag at mulgara.org
pag at mulgara.org
Wed Nov 9 00:51:23 UTC 2011
Author: pag
Date: 2011-11-09 00:51:22 +0000 (Wed, 09 Nov 2011)
New Revision: 2070
Added:
trunk/src/jar/querylang/java/org/mulgara/sparql/parser/cst/Modifier.java
trunk/src/jar/querylang/java/org/mulgara/sparql/parser/cst/Verb.java
Modified:
trunk/src/jar/query/java/org/mulgara/query/SingleTransitiveConstraint.java
trunk/src/jar/querylang/java/org/mulgara/sparql/PatternMapper.java
trunk/src/jar/querylang/java/org/mulgara/sparql/parser/cst/Expression.java
trunk/src/jar/querylang/java/org/mulgara/sparql/parser/cst/IRIReference.java
trunk/src/jar/querylang/java/org/mulgara/sparql/parser/cst/Triple.java
trunk/src/jar/querylang/java/org/mulgara/sparql/parser/cst/Variable.java
trunk/src/jar/querylang/javacc/org/mulgara/sparql/parser/SparqlParser.java
trunk/src/jar/querylang/javacc/org/mulgara/sparql/parser/SparqlParser.jj
trunk/src/jar/querylang/javacc/org/mulgara/sparql/parser/SparqlParserConstants.java
trunk/src/jar/querylang/javacc/org/mulgara/sparql/parser/SparqlParserTokenManager.java
trunk/src/jar/resolver/java/org/mulgara/resolver/DirectTransitiveFunction.java
trunk/src/jar/resolver/java/org/mulgara/resolver/ExhaustiveTransitiveFunction.java
Log:
Updated SPARQL to accept * and + modifiers on predicates, and then mapping them to transitive constraints. Added a zero-step inference for transitivity to for the sake of the * operator.
Modified: trunk/src/jar/query/java/org/mulgara/query/SingleTransitiveConstraint.java
===================================================================
--- trunk/src/jar/query/java/org/mulgara/query/SingleTransitiveConstraint.java 2011-11-09 00:49:51 UTC (rev 2069)
+++ trunk/src/jar/query/java/org/mulgara/query/SingleTransitiveConstraint.java 2011-11-09 00:51:22 UTC (rev 2070)
@@ -81,6 +81,9 @@
*/
private final boolean anchored;
+ /** Indicates that a zero step must be included */
+ private final boolean zeroStep;
+
/**
* Constructor.
*
@@ -88,7 +91,7 @@
* is: {$var <uri> $var}
* @throws IllegalArgumentException If trans is null.
*/
- public SingleTransitiveConstraint(Constraint trans) throws IllegalArgumentException {
+ public SingleTransitiveConstraint(Constraint trans, boolean zeroStep) throws IllegalArgumentException {
// Validate parameters
if (trans == null) {
@@ -108,8 +111,13 @@
// Initialize fields
this.transConstraint = trans;
+ this.zeroStep = zeroStep;
}
+ public SingleTransitiveConstraint(Constraint trans) throws IllegalArgumentException {
+ this(trans, false);
+ }
+
public boolean isRepeating() {
return false;
}
@@ -210,6 +218,13 @@
return buffer.toString();
}
+ /**
+ * If true then this constraint requires a zero step to be included in the results.
+ * @return <code>true</code> when results need to include a zero step.
+ */
+ public boolean isZeroStep() {
+ return zeroStep;
+ }
/**
* Not sure what associativity would mean here, but it shouldn't be possible.
Modified: trunk/src/jar/querylang/java/org/mulgara/sparql/PatternMapper.java
===================================================================
--- trunk/src/jar/querylang/java/org/mulgara/sparql/PatternMapper.java 2011-11-09 00:49:51 UTC (rev 2069)
+++ trunk/src/jar/querylang/java/org/mulgara/sparql/PatternMapper.java 2011-11-09 00:51:22 UTC (rev 2070)
@@ -36,12 +36,14 @@
import org.mulgara.sparql.parser.cst.GroupGraphPattern;
import org.mulgara.sparql.parser.cst.IRIReference;
import org.mulgara.sparql.parser.cst.IntegerLiteral;
+import org.mulgara.sparql.parser.cst.Modifier;
import org.mulgara.sparql.parser.cst.Node;
import org.mulgara.sparql.parser.cst.RDFLiteral;
import org.mulgara.sparql.parser.cst.Triple;
import org.mulgara.sparql.parser.cst.TripleList;
import org.mulgara.sparql.parser.cst.VarAssign;
import org.mulgara.parser.MulgaraParserException;
+import org.mulgara.query.Constraint;
import org.mulgara.query.ConstraintAssignment;
import org.mulgara.query.ConstraintConjunction;
import org.mulgara.query.ConstraintDisjunction;
@@ -52,6 +54,7 @@
import org.mulgara.query.ConstraintImpl;
import org.mulgara.query.ConstraintIn;
import org.mulgara.query.ConstraintOptionalJoin;
+import org.mulgara.query.SingleTransitiveConstraint;
import org.mulgara.query.Variable;
import org.mulgara.query.rdf.LiteralImpl;
import org.mulgara.query.rdf.URIReferenceImpl;
@@ -185,21 +188,29 @@
private static ConstraintExpression newConstraintImpl(Triple t) {
ConstraintElement s = convertElement(t.getSubject());
ConstraintElement p = convertElement(t.getPredicate());
+ Modifier m = t.getPredicateModifier();
// if the object it a literal, then it may need to be expanded into various equivalent types
Node n = t.getObject();
if (n instanceof IntegerLiteral) {
ConstraintElement[] numbers = createIntLiterals((IntegerLiteral)n);
List<ConstraintExpression> options = new ArrayList<ConstraintExpression>();
for (ConstraintElement obj: numbers) {
- options.add(new ConstraintImpl(s, p, obj));
+ options.add(newConstraint(s, p, obj, m));
}
return new ConstraintDisjunction(options);
}
ConstraintElement o = convertElement(n);
- return new ConstraintImpl(s, p, o);
+ return newConstraint(s, p, o, m);
}
+ private static ConstraintExpression newConstraint(ConstraintElement s, ConstraintElement p, ConstraintElement o, Modifier m) {
+ Constraint c = new ConstraintImpl(s, p, o);
+ if (m == Modifier.none) return c;
+ boolean zeroStep = m == Modifier.star;
+ return new ConstraintDisjunction(c, new SingleTransitiveConstraint(c, zeroStep));
+ }
+
/**
* Create an array of the literals represented by a number.
* @param nrText The text of a number.
Modified: trunk/src/jar/querylang/java/org/mulgara/sparql/parser/cst/Expression.java
===================================================================
--- trunk/src/jar/querylang/java/org/mulgara/sparql/parser/cst/Expression.java 2011-11-09 00:49:51 UTC (rev 2069)
+++ trunk/src/jar/querylang/java/org/mulgara/sparql/parser/cst/Expression.java 2011-11-09 00:51:22 UTC (rev 2070)
@@ -24,5 +24,4 @@
* @licence <a href="{@docRoot}/../LICENCE.txt">Apache License, Version 2.0</a>
*/
public interface Expression extends Node {
-
}
Modified: trunk/src/jar/querylang/java/org/mulgara/sparql/parser/cst/IRIReference.java
===================================================================
--- trunk/src/jar/querylang/java/org/mulgara/sparql/parser/cst/IRIReference.java 2011-11-09 00:49:51 UTC (rev 2069)
+++ trunk/src/jar/querylang/java/org/mulgara/sparql/parser/cst/IRIReference.java 2011-11-09 00:51:22 UTC (rev 2070)
@@ -35,7 +35,7 @@
* @copyright © 2008 <a href="http://www.fedora-commons.org/">Fedora Commons</a>
* @licence <a href="{@docRoot}/../LICENCE.txt">Apache License, Version 2.0</a>
*/
-public class IRIReference implements Node, PrimaryExpression {
+public class IRIReference implements Node, PrimaryExpression, Verb, Cloneable {
/** The RDF namespace */
private static final String RDF_NS = "http://www.w3.org/1999/02/22-rdf-syntax-ns#";
@@ -79,6 +79,9 @@
/** The qname form, if available */
private QName qname;
+ /** A modifier when this reference is used as a predicate */
+ private Modifier mod = Modifier.none;
+
static {
SPARQL_NS = URI.create("http://www.w3.org/2006/sparql-functions#");
FN_NS = URI.create("http://www.w3.org/2005/xpath-functions/#");
@@ -258,4 +261,20 @@
(c >= 0xFDF0 && c <= 0xFFFD) ||
(c >= 0x10000 && c <= 0xEFFFF);
}
+
+ public Object clone() {
+ try {
+ return super.clone();
+ } catch (CloneNotSupportedException e) {
+ throw new RuntimeException("Unable to copy an IRIReference");
+ }
+ }
+
+ public void setModifier(Modifier m) {
+ mod = m;
+ }
+
+ public Modifier getModifier() {
+ return mod;
+ }
}
Added: trunk/src/jar/querylang/java/org/mulgara/sparql/parser/cst/Modifier.java
===================================================================
--- trunk/src/jar/querylang/java/org/mulgara/sparql/parser/cst/Modifier.java (rev 0)
+++ trunk/src/jar/querylang/java/org/mulgara/sparql/parser/cst/Modifier.java 2011-11-09 00:51:22 UTC (rev 2070)
@@ -0,0 +1,33 @@
+/*
+ * Copyright 2011 Revelytix, Inc
+ *
+ * Licensed 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.mulgara.sparql.parser.cst;
+
+
+/**
+ * Used for expressions in functions.
+ *
+ * @created Oct 28, 2011
+ * @author Paul Gearon
+ * @licence <a href="{@docRoot}/../LICENCE.txt">Apache License, Version 2.0</a>
+ */
+public enum Modifier {
+ star, plus, optional, none;
+
+ public static Modifier get(String s) {
+ if ("*".equals(s)) return star;
+ if ("+".equals(s)) return plus;
+ return none;
+ }
+}
Modified: trunk/src/jar/querylang/java/org/mulgara/sparql/parser/cst/Triple.java
===================================================================
--- trunk/src/jar/querylang/java/org/mulgara/sparql/parser/cst/Triple.java 2011-11-09 00:49:51 UTC (rev 2069)
+++ trunk/src/jar/querylang/java/org/mulgara/sparql/parser/cst/Triple.java 2011-11-09 00:51:22 UTC (rev 2070)
@@ -65,6 +65,14 @@
}
/**
+ * @return the modifier on the predicate, if one exists.
+ */
+ public Modifier getPredicateModifier() {
+ if (predicate instanceof Verb) return ((Verb)predicate).getModifier();
+ return Modifier.none;
+ }
+
+ /**
* Returns this object as a list.
* @see org.mulgara.sparql.parser.cst.GroupGraphPattern#getElements()
*/
Modified: trunk/src/jar/querylang/java/org/mulgara/sparql/parser/cst/Variable.java
===================================================================
--- trunk/src/jar/querylang/java/org/mulgara/sparql/parser/cst/Variable.java 2011-11-09 00:49:51 UTC (rev 2069)
+++ trunk/src/jar/querylang/java/org/mulgara/sparql/parser/cst/Variable.java 2011-11-09 00:51:22 UTC (rev 2070)
@@ -23,11 +23,14 @@
* @copyright © 2008 <a href="http://www.fedora-commons.org/">Fedora Commons</a>
* @licence <a href="{@docRoot}/../LICENCE.txt">Apache License, Version 2.0</a>
*/
-public class Variable implements Node, PrimaryExpression, NumericExpression, LogicExpression {
+public class Variable implements Node, PrimaryExpression, NumericExpression, LogicExpression, Verb {
/** The name of this variable */
private String name;
-
+
+ /** The modifier for this variable */
+ private Modifier mod = Modifier.none;
+
/** Constructs a named variable */
public Variable(String name) {
this.name = name;
@@ -53,4 +56,12 @@
public String toString() {
return getImage();
}
+
+ public void setModifier(Modifier m) {
+ mod = m;
+ }
+
+ public Modifier getModifier() {
+ return mod;
+ }
}
Added: trunk/src/jar/querylang/java/org/mulgara/sparql/parser/cst/Verb.java
===================================================================
--- trunk/src/jar/querylang/java/org/mulgara/sparql/parser/cst/Verb.java (rev 0)
+++ trunk/src/jar/querylang/java/org/mulgara/sparql/parser/cst/Verb.java 2011-11-09 00:51:22 UTC (rev 2070)
@@ -0,0 +1,29 @@
+/*
+ * Copyright 2011 Revelytix, Inc
+ *
+ * Licensed 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.mulgara.sparql.parser.cst;
+
+
+/**
+ * Used for expressions in functions.
+ *
+ * @created Oct 28, 2011
+ * @author Paul Gearon
+ * @licence <a href="{@docRoot}/../LICENCE.txt">Apache License, Version 2.0</a>
+ */
+public interface Verb extends Node, PrimaryExpression {
+ void setModifier(Modifier m);
+
+ Modifier getModifier();
+}
Modified: trunk/src/jar/querylang/javacc/org/mulgara/sparql/parser/SparqlParser.java
===================================================================
--- trunk/src/jar/querylang/javacc/org/mulgara/sparql/parser/SparqlParser.java 2011-11-09 00:49:51 UTC (rev 2069)
+++ trunk/src/jar/querylang/javacc/org/mulgara/sparql/parser/SparqlParser.java 2011-11-09 00:51:22 UTC (rev 2070)
@@ -537,7 +537,7 @@
case TRUE:
case FALSE:
case 47:
- case 53:
+ case 55:
case IRI_REF:
case PNAME_NS:
case PNAME_LN:
@@ -608,7 +608,7 @@
case TRUE:
case FALSE:
case 47:
- case 53:
+ case 55:
case IRI_REF:
case PNAME_NS:
case PNAME_LN:
@@ -664,7 +664,7 @@
case TRUE:
case FALSE:
case 47:
- case 53:
+ case 55:
case IRI_REF:
case PNAME_NS:
case PNAME_LN:
@@ -883,7 +883,7 @@
case TRUE:
case FALSE:
case 47:
- case 53:
+ case 55:
case IRI_REF:
case PNAME_NS:
case PNAME_LN:
@@ -926,7 +926,7 @@
case TRUE:
case FALSE:
case 47:
- case 53:
+ case 55:
case IRI_REF:
case PNAME_NS:
case PNAME_LN:
@@ -996,7 +996,7 @@
{if (true) return new TripleList(s, pl);}
break;
case 47:
- case 53:
+ case 55:
an = TriplesNode();
pl = PropertyList();
{if (true) return new TripleList(an, pl);}
@@ -1028,11 +1028,16 @@
jj_consume_token(51);
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case 52:
+ case 53:
+ case 54:
case IRI_REF:
case PNAME_NS:
case PNAME_LN:
case VAR1:
case VAR2:
+ case IRI_REF_MOD:
+ case PNAME_NS_MOD:
+ case PNAME_LN_MOD:
v = Verb();
o = ObjectList();
pl.add(v, o);
@@ -1051,11 +1056,16 @@
PropertyList pl = null;
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case 52:
+ case 53:
+ case 54:
case IRI_REF:
case PNAME_NS:
case PNAME_LN:
case VAR1:
case VAR2:
+ case IRI_REF_MOD:
+ case PNAME_NS_MOD:
+ case PNAME_LN_MOD:
pl = PropertyListNotEmpty();
break;
default:
@@ -1083,8 +1093,8 @@
break label_13;
}
jj_consume_token(50);
- Object();
- l.add(n);
+ n = Object();
+ l.add(n);
}
{if (true) return l;}
throw new Error("Missing return statement in function");
@@ -1100,25 +1110,36 @@
/* [37] Verb ::= VarOrIRIref | 'a' */
final public Expression Verb() throws ParseException {
- Expression e;
+ Expression e; IRIReference r;
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case IRI_REF:
case PNAME_NS:
case PNAME_LN:
case VAR1:
case VAR2:
- e = VarOrIRIref();
- {if (true) return e;}
+ case IRI_REF_MOD:
+ case PNAME_NS_MOD:
+ case PNAME_LN_MOD:
+ e = VarOrIRIrefM();
break;
case 52:
jj_consume_token(52);
- {if (true) return IRIReference.RDF_TYPE;}
+ e = IRIReference.RDF_TYPE;
break;
+ case 53:
+ jj_consume_token(53);
+ r = (IRIReference)IRIReference.RDF_TYPE.clone(); r.setModifier(Modifier.star); e = r;
+ break;
+ case 54:
+ jj_consume_token(54);
+ r = (IRIReference)IRIReference.RDF_TYPE.clone(); r.setModifier(Modifier.plus); e = r;
+ break;
default:
jj_la1[45] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
+ {if (true) return e;}
throw new Error("Missing return statement in function");
}
@@ -1130,7 +1151,7 @@
case 47:
n = Collection();
break;
- case 53:
+ case 55:
n = BlankNodePropertyList();
break;
default:
@@ -1145,9 +1166,9 @@
/* [39] BlankNodePropertyList ::= '[' PropertyListNotEmpty ']' */
final public AnnotatedNode BlankNodePropertyList() throws ParseException {
PropertyList pl;
- jj_consume_token(53);
+ jj_consume_token(55);
pl = PropertyListNotEmpty();
- jj_consume_token(54);
+ jj_consume_token(56);
{if (true) return new AnnotatedNode(queryStructure.newBlankNode(), pl);}
throw new Error("Missing return statement in function");
}
@@ -1165,7 +1186,7 @@
case TRUE:
case FALSE:
case 47:
- case 53:
+ case 55:
case IRI_REF:
case PNAME_NS:
case PNAME_LN:
@@ -1229,7 +1250,7 @@
n = VarOrTerm();
break;
case 47:
- case 53:
+ case 55:
n = TriplesNode();
break;
default:
@@ -1303,6 +1324,31 @@
throw new Error("Missing return statement in function");
}
+/* [43*] VarOrIRIrefM ::= Var | IRIrefM */
+ final public Expression VarOrIRIrefM() throws ParseException {
+ Expression e;
+ switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+ case VAR1:
+ case VAR2:
+ e = Var();
+ break;
+ case IRI_REF:
+ case PNAME_NS:
+ case PNAME_LN:
+ case IRI_REF_MOD:
+ case PNAME_NS_MOD:
+ case PNAME_LN_MOD:
+ e = IRIrefM();
+ break;
+ default:
+ jj_la1[51] = jj_gen;
+ jj_consume_token(-1);
+ throw new ParseException();
+ }
+ {if (true) return e;}
+ throw new Error("Missing return statement in function");
+ }
+
/* [44] Var ::= VAR1 | VAR2 */
final public Variable Var() throws ParseException {
Token t;
@@ -1314,7 +1360,7 @@
t = jj_consume_token(VAR2);
break;
default:
- jj_la1[51] = jj_gen;
+ jj_la1[52] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
@@ -1361,7 +1407,7 @@
n = NIL_NODE;
break;
default:
- jj_la1[52] = jj_gen;
+ jj_la1[53] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
@@ -1384,14 +1430,14 @@
label_15:
while (true) {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
- case 55:
+ case 57:
;
break;
default:
- jj_la1[53] = jj_gen;
+ jj_la1[54] = jj_gen;
break label_15;
}
- jj_consume_token(55);
+ jj_consume_token(57);
ae = ConditionalAndExpression();
e = new OrExpression(e, ae);
}
@@ -1406,14 +1452,14 @@
label_16:
while (true) {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
- case 56:
+ case 58:
;
break;
default:
- jj_la1[54] = jj_gen;
+ jj_la1[55] = jj_gen;
break label_16;
}
- jj_consume_token(56);
+ jj_consume_token(58);
e2 = ValueLogical();
e = new AndExpression(e, e2);
}
@@ -1434,51 +1480,51 @@
Expression e, e2;
e = NumericExpression();
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
- case 57:
- case 58:
case 59:
case 60:
case 61:
case 62:
+ case 63:
+ case 64:
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
- case 57:
- jj_consume_token(57);
+ case 59:
+ jj_consume_token(59);
e2 = NumericExpression();
e = new Equals(e, e2);
break;
- case 58:
- jj_consume_token(58);
+ case 60:
+ jj_consume_token(60);
e2 = NumericExpression();
e = new NotEquals(e, e2);
break;
- case 59:
- jj_consume_token(59);
+ case 61:
+ jj_consume_token(61);
e2 = NumericExpression();
e = new LessThan(e, e2);
break;
- case 60:
- jj_consume_token(60);
+ case 62:
+ jj_consume_token(62);
e2 = NumericExpression();
e = new GreaterThan(e, e2);
break;
- case 61:
- jj_consume_token(61);
+ case 63:
+ jj_consume_token(63);
e2 = NumericExpression();
e = new LessThanEqual(e, e2);
break;
- case 62:
- jj_consume_token(62);
+ case 64:
+ jj_consume_token(64);
e2 = NumericExpression();
e = new GreaterThanEqual(e, e2);
break;
default:
- jj_la1[55] = jj_gen;
+ jj_la1[56] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
break;
default:
- jj_la1[56] = jj_gen;
+ jj_la1[57] = jj_gen;
;
}
{if (true) return e;}
@@ -1500,8 +1546,8 @@
label_17:
while (true) {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
- case 63:
- case 64:
+ case 65:
+ case 66:
case INTEGER_POSITIVE:
case DECIMAL_POSITIVE:
case DOUBLE_POSITIVE:
@@ -1511,17 +1557,17 @@
;
break;
default:
- jj_la1[57] = jj_gen;
+ jj_la1[58] = jj_gen;
break label_17;
}
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
- case 63:
- jj_consume_token(63);
+ case 65:
+ jj_consume_token(65);
e2 = MultiplicativeExpression();
e = new Plus(e, e2);
break;
- case 64:
- jj_consume_token(64);
+ case 66:
+ jj_consume_token(66);
e2 = MultiplicativeExpression();
e = new Minus(e, e2);
break;
@@ -1538,7 +1584,7 @@
e = new Minus(e, e2);
break;
default:
- jj_la1[58] = jj_gen;
+ jj_la1[59] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
@@ -1555,11 +1601,11 @@
while (true) {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case 41:
- case 65:
+ case 67:
;
break;
default:
- jj_la1[59] = jj_gen;
+ jj_la1[60] = jj_gen;
break label_18;
}
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
@@ -1568,13 +1614,13 @@
e2 = UnaryExpression();
e = new Multiply(e, e2);
break;
- case 65:
- jj_consume_token(65);
+ case 67:
+ jj_consume_token(67);
e2 = UnaryExpression();
e = new Divide(e, e2);
break;
default:
- jj_la1[60] = jj_gen;
+ jj_la1[61] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
@@ -1587,18 +1633,18 @@
final public Expression UnaryExpression() throws ParseException {
Expression e;
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
- case 66:
- jj_consume_token(66);
+ case 68:
+ jj_consume_token(68);
e = PrimaryExpression();
{if (true) return new Not(e);}
break;
- case 63:
- jj_consume_token(63);
+ case 65:
+ jj_consume_token(65);
e = PrimaryExpression();
{if (true) return new UnaryPlus(e);}
break;
- case 64:
- jj_consume_token(64);
+ case 66:
+ jj_consume_token(66);
e = PrimaryExpression();
{if (true) return new UnaryMinus(e);}
break;
@@ -1638,7 +1684,7 @@
{if (true) return e;}
break;
default:
- jj_la1[61] = jj_gen;
+ jj_la1[62] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
@@ -1696,7 +1742,7 @@
e = Var();
break;
default:
- jj_la1[62] = jj_gen;
+ jj_la1[63] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
@@ -1807,7 +1853,7 @@
{if (true) return (BuiltInCall)e;}
break;
default:
- jj_la1[63] = jj_gen;
+ jj_la1[64] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
@@ -1828,7 +1874,7 @@
e3 = Expression();
break;
default:
- jj_la1[64] = jj_gen;
+ jj_la1[65] = jj_gen;
;
}
jj_consume_token(49);
@@ -1847,7 +1893,7 @@
{if (true) return new FunctionCall(ref, list);}
break;
default:
- jj_la1[65] = jj_gen;
+ jj_la1[66] = jj_gen;
;
}
{if (true) return ref;}
@@ -1860,26 +1906,26 @@
s = String();
l = new RDFLiteral(s);
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
- case 67:
+ case 69:
case LANGTAG:
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case LANGTAG:
t = jj_consume_token(LANGTAG);
l.setLanguage(t.image);
break;
- case 67:
- jj_consume_token(67);
+ case 69:
+ jj_consume_token(69);
ref = IRIref();
l.setDatatype(ref);
break;
default:
- jj_la1[66] = jj_gen;
+ jj_la1[67] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
break;
default:
- jj_la1[67] = jj_gen;
+ jj_la1[68] = jj_gen;
;
}
{if (true) return l;}
@@ -1906,7 +1952,7 @@
l = NumericLiteralNegative();
break;
default:
- jj_la1[68] = jj_gen;
+ jj_la1[69] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
@@ -1931,7 +1977,7 @@
{if (true) return new DoubleLiteral(t.image);}
break;
default:
- jj_la1[69] = jj_gen;
+ jj_la1[70] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
@@ -1955,7 +2001,7 @@
{if (true) return new DoubleLiteral(t.image.substring(1));}
break;
default:
- jj_la1[70] = jj_gen;
+ jj_la1[71] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
@@ -1979,7 +2025,7 @@
{if (true) return new DoubleLiteral(t.image);}
break;
default:
- jj_la1[71] = jj_gen;
+ jj_la1[72] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
@@ -1998,7 +2044,7 @@
{if (true) return BooleanLiteral.FALSE;}
break;
default:
- jj_la1[72] = jj_gen;
+ jj_la1[73] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
@@ -2026,7 +2072,7 @@
{if (true) return unTripleQuote(t.image) ;}
break;
default:
- jj_la1[73] = jj_gen;
+ jj_la1[74] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
@@ -2047,13 +2093,45 @@
{if (true) return i;}
break;
default:
- jj_la1[74] = jj_gen;
+ jj_la1[75] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
throw new Error("Missing return statement in function");
}
+/* [67*] IRIrefM ::= IRI_REF_MOD | PrefixedNameM */
+ final public IRIReference IRIrefM() throws ParseException {
+ IRIReference i; Token t;
+ switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+ case IRI_REF_MOD:
+ t = jj_consume_token(IRI_REF_MOD);
+ String s = t.image;
+ int len = s.length();
+ String refImage = s.substring(0, len - 1);
+ IRIReference r = queryStructure.newIRIRef(unquote(refImage));
+ r.setModifier(Modifier.get(s.substring(len - 1)));
+ {if (true) return r;}
+ break;
+ case IRI_REF:
+ t = jj_consume_token(IRI_REF);
+ {if (true) return queryStructure.newIRIRef(unquote(t.image));}
+ break;
+ case PNAME_NS:
+ case PNAME_LN:
+ case PNAME_NS_MOD:
+ case PNAME_LN_MOD:
+ i = PrefixedNameM();
+ {if (true) return i;}
+ break;
+ default:
+ jj_la1[76] = jj_gen;
+ jj_consume_token(-1);
+ throw new ParseException();
+ }
+ throw new Error("Missing return statement in function");
+ }
+
/* [68] PrefixedName ::= PNAME_LN | PNAME_NS */
final public IRIReference PrefixedName() throws ParseException {
Token t;
@@ -2065,7 +2143,7 @@
t = jj_consume_token(PNAME_NS);
break;
default:
- jj_la1[75] = jj_gen;
+ jj_la1[77] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
@@ -2073,6 +2151,54 @@
throw new Error("Missing return statement in function");
}
+/* [68*] PrefixedName ::= PNAME_LN_MOD | PNAME_NS_MOD */
+ final public IRIReference PrefixedNameM() throws ParseException {
+ Token t;
+ switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+ case PNAME_NS_MOD:
+ case PNAME_LN_MOD:
+ switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+ case PNAME_LN_MOD:
+ t = jj_consume_token(PNAME_LN_MOD);
+ break;
+ case PNAME_NS_MOD:
+ t = jj_consume_token(PNAME_NS_MOD);
+ break;
+ default:
+ jj_la1[78] = jj_gen;
+ jj_consume_token(-1);
+ throw new ParseException();
+ }
+ String s = t.image;
+ int len = s.length();
+ IRIReference r = queryStructure.newPrefixedName(s.substring(0, len - 1));
+ r.setModifier(Modifier.get(s.substring(len - 1)));
+ {if (true) return r;}
+ break;
+ case PNAME_NS:
+ case PNAME_LN:
+ switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+ case PNAME_LN:
+ t = jj_consume_token(PNAME_LN);
+ break;
+ case PNAME_NS:
+ t = jj_consume_token(PNAME_NS);
+ break;
+ default:
+ jj_la1[79] = jj_gen;
+ jj_consume_token(-1);
+ throw new ParseException();
+ }
+ {if (true) return queryStructure.newPrefixedName(t.image);}
+ break;
+ default:
+ jj_la1[80] = jj_gen;
+ jj_consume_token(-1);
+ throw new ParseException();
+ }
+ throw new Error("Missing return statement in function");
+ }
+
/* [69] BlankNode ::= BLANK_NODE_LABEL | ANON */
final public BlankNode BlankNode() throws ParseException {
Token t;
@@ -2086,7 +2212,7 @@
{if (true) return queryStructure.newBlankNode();}
break;
default:
- jj_la1[76] = jj_gen;
+ jj_la1[81] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
@@ -2098,7 +2224,7 @@
public Token token, jj_nt;
private int jj_ntk;
private int jj_gen;
- final private int[] jj_la1 = new int[77];
+ final private int[] jj_la1 = new int[82];
static private int[] jj_la1_0;
static private int[] jj_la1_1;
static private int[] jj_la1_2;
@@ -2110,16 +2236,16 @@
jj_la1_3();
}
private static void jj_la1_0() {
- jj_la1_0 = new int[] {0x40820100,0x200,0x10000,0x80000000,0x80000000,0x0,0x0,0x1000,0x1000,0x0,0x0,0x1000,0x2000000,0x1000,0x80000,0x2000000,0x400,0x1040000,0x1000000,0x40000,0x1040000,0x3860c000,0x0,0x3860c000,0x3860c000,0x0,0x102000,0x102000,0x0,0x0,0x0,0x0,0x102000,0x4000000,0x3860c000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3860c000,0x3860c000,0x3860c000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,};
+ jj_la1_0 = new int[] {0x40820100,0x200,0x10000,0x80000000,0x80000000,0x0,0x0,0x1000,0x1000,0x0,0x0,0x1000,0x2000000,0x1000,0x80000,0x2000000,0x400,0x1040000,0x1000000,0x40000,0x1040000,0x3860c000,0x0,0x3860c000,0x3860c000,0x0,0x102000,0x102000,0x0,0x0,0x0,0x0,0x102000,0x4000000,0x3860c000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3860c000,0x3860c000,0x3860c000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,};
}
private static void jj_la1_1() {
- jj_la1_1 = new int[] {0x0,0x0,0x0,0x8,0x8,0x0,0x200,0x0,0x0,0x0,0x200,0x0,0x1000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x8c56,0xc00,0x8056,0x8c56,0x2080a0,0x1101,0x1101,0x2000,0x2080a0,0x2080a0,0x2000,0x1100,0x0,0x8056,0x40000,0x8000,0x2080a0,0x2080a0,0x2000,0x2080a0,0x80000,0x100000,0x100000,0x40000,0x100000,0x208000,0x2080a0,0x2080a0,0xa0,0x0,0x0,0xa0,0x800000,0x1000000,0x7e000000,0x7e000000,0x80000000,0x80000000,0x200,0x200,0x800080f6,0x80f6,0x56,0x40000,0x8000,0x0,0x0,0x0,0x0,0x0,0x0,0xa0,0x0,0x0,0x0,0x0,};
+ jj_la1_1 = new int[] {0x0,0x0,0x0,0x8,0x8,0x0,0x200,0x0,0x0,0x0,0x200,0x0,0x1000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x8c56,0xc00,0x8056,0x8c56,0x8080a0,0x1101,0x1101,0x2000,0x8080a0,0x8080a0,0x2000,0x1100,0x0,0x8056,0x40000,0x8000,0x8080a0,0x8080a0,0x2000,0x8080a0,0x80000,0x700000,0x700000,0x40000,0x700000,0x808000,0x8080a0,0x8080a0,0xa0,0x0,0x0,0x0,0xa0,0x2000000,0x4000000,0xf8000000,0xf8000000,0x0,0x0,0x200,0x200,0x80f6,0x80f6,0x56,0x40000,0x8000,0x0,0x0,0x0,0x0,0x0,0x0,0xa0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,};
}
private static void jj_la1_2() {
- jj_la1_2 = new int[] {0x0,0x0,0x0,0x0,0x0,0x300,0x300,0x0,0x0,0x370,0x370,0x0,0x0,0x0,0x70,0x0,0x0,0x0,0x0,0x0,0x0,0x370,0x0,0x370,0x370,0xaf7fc3f0,0x0,0x0,0x0,0xaf7fc3f0,0xaf7fc3f0,0x0,0x0,0x0,0x70,0x0,0x20000000,0xaf7fc3f0,0xaf7fc3f0,0x0,0xaf7fc3f0,0x0,0x370,0x370,0x0,0x370,0x0,0xaf7fc3f0,0xaf7fc3f0,0xaf7fc3f0,0x370,0x300,0xaf7fc0f0,0x0,0x0,0x0,0x0,0x7e0001,0x7e0001,0x2,0x2,0xf7fc375,0xf7fc370,0x0,0x0,0x20000000,0x408,0x408,0x7fc000,0x1c000,0xe0000,0x700000,0x0,0xf000000,0x70,0x60,0x80000080,};
+ jj_la1_2 = new int[] {0x0,0x0,0x0,0x0,0x0,0xc00,0xc00,0x0,0x0,0xdc0,0xdc0,0x0,0x0,0x0,0x1c0,0x0,0x0,0x0,0x0,0x0,0x0,0xdc0,0x0,0xdc0,0xdc0,0xdff00fc0,0x0,0x0,0x0,0xdff00fc0,0xdff00fc0,0x0,0x0,0x0,0x1c0,0x0,0x0,0xdff00fc0,0xdff00fc0,0x0,0xdff00fc0,0x0,0x1cdc0,0x1cdc0,0x0,0x1cdc0,0x0,0xdff00fc0,0xdff00fc0,0xdff00fc0,0xdc0,0x1cdc0,0xc00,0xdff003c0,0x0,0x0,0x1,0x1,0x1f800006,0x1f800006,0x8,0x8,0xdff00dd6,0xdff00dc0,0x0,0x0,0x0,0x1020,0x1020,0x1ff00000,0x700000,0x3800000,0x1c000000,0x0,0xc0000000,0x1c0,0x1c1c0,0x180,0x18000,0x180,0x18180,0x200,};
}
private static void jj_la1_3() {
- jj_la1_3 = 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,};
+ jj_la1_3 = 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,0x2b,0x0,0x0,0x0,0x2b,0x2b,0x0,0x0,0x0,0x0,0x0,0x8,0x2b,0x2b,0x0,0x2b,0x0,0x0,0x0,0x0,0x0,0x0,0x2b,0x2b,0x2b,0x0,0x0,0x0,0x2b,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0x3,0x0,0x0,0x8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0x0,0x0,0x0,0x0,0x0,0x0,0x20,};
}
public SparqlParser(java.io.InputStream stream) {
@@ -2131,7 +2257,7 @@
token = new Token();
jj_ntk = -1;
jj_gen = 0;
- for (int i = 0; i < 77; i++) jj_la1[i] = -1;
+ for (int i = 0; i < 82; i++) jj_la1[i] = -1;
}
public void ReInit(java.io.InputStream stream) {
@@ -2143,7 +2269,7 @@
token = new Token();
jj_ntk = -1;
jj_gen = 0;
- for (int i = 0; i < 77; i++) jj_la1[i] = -1;
+ for (int i = 0; i < 82; i++) jj_la1[i] = -1;
}
public SparqlParser(java.io.Reader stream) {
@@ -2152,7 +2278,7 @@
token = new Token();
jj_ntk = -1;
jj_gen = 0;
- for (int i = 0; i < 77; i++) jj_la1[i] = -1;
+ for (int i = 0; i < 82; i++) jj_la1[i] = -1;
}
public void ReInit(java.io.Reader stream) {
@@ -2161,7 +2287,7 @@
token = new Token();
jj_ntk = -1;
jj_gen = 0;
- for (int i = 0; i < 77; i++) jj_la1[i] = -1;
+ for (int i = 0; i < 82; i++) jj_la1[i] = -1;
}
public SparqlParser(SparqlParserTokenManager tm) {
@@ -2169,7 +2295,7 @@
token = new Token();
jj_ntk = -1;
jj_gen = 0;
- for (int i = 0; i < 77; i++) jj_la1[i] = -1;
+ for (int i = 0; i < 82; i++) jj_la1[i] = -1;
}
public void ReInit(SparqlParserTokenManager tm) {
@@ -2177,7 +2303,7 @@
token = new Token();
jj_ntk = -1;
jj_gen = 0;
- for (int i = 0; i < 77; i++) jj_la1[i] = -1;
+ for (int i = 0; i < 82; i++) jj_la1[i] = -1;
}
final private Token jj_consume_token(int kind) throws ParseException {
@@ -2224,15 +2350,15 @@
public ParseException generateParseException() {
jj_expentries.removeAllElements();
- boolean[] la1tokens = new boolean[102];
- for (int i = 0; i < 102; i++) {
+ boolean[] la1tokens = new boolean[108];
+ for (int i = 0; i < 108; i++) {
la1tokens[i] = false;
}
if (jj_kind >= 0) {
la1tokens[jj_kind] = true;
jj_kind = -1;
}
- for (int i = 0; i < 77; i++) {
+ for (int i = 0; i < 82; i++) {
if (jj_la1[i] == jj_gen) {
for (int j = 0; j < 32; j++) {
if ((jj_la1_0[i] & (1<<j)) != 0) {
@@ -2250,7 +2376,7 @@
}
}
}
- for (int i = 0; i < 102; i++) {
+ for (int i = 0; i < 108; i++) {
if (la1tokens[i]) {
jj_expentry = new int[1];
jj_expentry[0] = i;
Modified: trunk/src/jar/querylang/javacc/org/mulgara/sparql/parser/SparqlParser.jj
===================================================================
--- trunk/src/jar/querylang/javacc/org/mulgara/sparql/parser/SparqlParser.jj 2011-11-09 00:49:51 UTC (rev 2069)
+++ trunk/src/jar/querylang/javacc/org/mulgara/sparql/parser/SparqlParser.jj 2011-11-09 00:51:22 UTC (rev 2070)
@@ -460,7 +460,7 @@
{
{ l = new LinkedList<Node>(); }
n=Object() { l.add(n); }
- ( "," Object() { l.add(n); } )*
+ ( "," n=Object() { l.add(n); } )*
{ return l; }
}
@@ -471,10 +471,17 @@
}
/* [37] Verb ::= VarOrIRIref | 'a' */
-Expression Verb() : { Expression e; }
+Expression Verb() : { Expression e; IRIReference r; }
{
- e=VarOrIRIref() { return e; }
- | "a" { return IRIReference.RDF_TYPE; }
+ (+ e=VarOrIRIrefM()
+ | "a" { e = IRIReference.RDF_TYPE; }
+ | "a*" { r = (IRIReference)IRIReference.RDF_TYPE.clone(); r.setModifier(Modifier.star); e = r; }
+ | "a+" { r = (IRIReference)IRIReference.RDF_TYPE.clone(); r.setModifier(Modifier.plus); e = r; }
+ )
+ {
+ return e;
+ } }
// Return a node AND a conjunction to the current context
@@ -523,6 +530,13 @@
{ return e; }
}
+/* [43*] VarOrIRIrefM ::= Var | IRIrefM */
+Expression VarOrIRIrefM() : { Expression e; }
+{
+ (e=Var() | e=IRIrefM())
+ { return e; }
+}
+
/* [44] Var ::= VAR1 | VAR2 */
Variable Var() : { Token t;}
{
@@ -735,6 +749,21 @@
| i=PrefixedName() { return i; }
}
+/* [67*] IRIrefM ::= IRI_REF_MOD | PrefixedNameM */
+IRIReference IRIrefM() : { IRIReference i; Token t; }
+{
+ t=<IRI_REF_MOD> {
+ String s = t.image;
+ int len = s.length();
+ String refImage = s.substring(0, len - 1);
+ IRIReference r = queryStructure.newIRIRef(unquote(refImage));
+ r.setModifier(Modifier.get(s.substring(len - 1)));
+ return r;
+ }
+ | t=<IRI_REF> { return queryStructure.newIRIRef(unquote(t.image)); }
+ | i=PrefixedNameM() { return i; }
+}
+
/* [68] PrefixedName ::= PNAME_LN | PNAME_NS */
IRIReference PrefixedName() : { Token t; }
{
@@ -742,6 +771,21 @@
{ return queryStructure.newPrefixedName(t.image); }
}
+/* [68*] PrefixedName ::= PNAME_LN_MOD | PNAME_NS_MOD */
+IRIReference PrefixedNameM() : { Token t; }
+{
+ ( t=<PNAME_LN_MOD> | t=<PNAME_NS_MOD> )
+ {
+ String s = t.image;
+ int len = s.length();
+ IRIReference r = queryStructure.newPrefixedName(s.substring(0, len - 1));
+ r.setModifier(Modifier.get(s.substring(len - 1)));
+ return r;
+ }
+ | ( t=<PNAME_LN> | t=<PNAME_NS> )
+ { return queryStructure.newPrefixedName(t.image); }
+}
+
/* [69] BlankNode ::= BLANK_NODE_LABEL | ANON */
BlankNode BlankNode() : { Token t; }
{
@@ -771,6 +815,14 @@
|
/* [76] LANGTAG ::= '@' [a-zA-Z]+ ('-' [a-zA-Z0-9]+)* */
< LANGTAG : "@" (["a"-"z", "A"-"Z"])+ ( "-" (["a"-"z", "A"-"Z", "0"-"9"])+ )* >
+ |
+ < MODIFIER : [ "*", "+" ] >
+ |
+ < IRI_REF_MOD : <IRI_REF> <MODIFIER> >
+ |
+ < PNAME_NS_MOD : <PNAME_NS> <MODIFIER> >
+ |
+ < PNAME_LN_MOD : <PNAME_LN> <MODIFIER> >
}
TOKEN : {
Modified: trunk/src/jar/querylang/javacc/org/mulgara/sparql/parser/SparqlParserConstants.java
===================================================================
--- trunk/src/jar/querylang/javacc/org/mulgara/sparql/parser/SparqlParserConstants.java 2011-11-09 00:49:51 UTC (rev 2069)
+++ trunk/src/jar/querylang/javacc/org/mulgara/sparql/parser/SparqlParserConstants.java 2011-11-09 00:51:22 UTC (rev 2070)
@@ -38,40 +38,44 @@
int SAME_TERM = 38;
int FALSE = 39;
int LET = 40;
- int IRI_REF = 68;
- int PNAME_NS = 69;
- int PNAME_LN = 70;
- int BLANK_NODE_LABEL = 71;
- int VAR1 = 72;
- int VAR2 = 73;
- int LANGTAG = 74;
- int Z_9 = 75;
- int Z_9r = 76;
- int Z_9o = 77;
- int INTEGER = 78;
- int DECIMAL = 79;
- int DOUBLE = 80;
- int INTEGER_POSITIVE = 81;
- int DECIMAL_POSITIVE = 82;
- int DOUBLE_POSITIVE = 83;
- int INTEGER_NEGATIVE = 84;
- int DECIMAL_NEGATIVE = 85;
- int DOUBLE_NEGATIVE = 86;
- int EXPONENT = 87;
- int STRING_LITERAL1 = 88;
- int STRING_LITERAL2 = 89;
- int STRING_LITERAL_LONG1 = 90;
- int STRING_LITERAL_LONG2 = 91;
- int ECHAR = 92;
- int NIL = 93;
- int WS = 94;
- int ANON = 95;
- int PN_CHARS_BASE = 96;
- int PN_CHARS_U = 97;
- int VARNAME = 98;
- int PN_CHARS = 99;
- int PN_PREFIX = 100;
- int PN_LOCAL = 101;
+ int IRI_REF = 70;
+ int PNAME_NS = 71;
+ int PNAME_LN = 72;
+ int BLANK_NODE_LABEL = 73;
+ int VAR1 = 74;
+ int VAR2 = 75;
+ int LANGTAG = 76;
+ int MODIFIER = 77;
+ int IRI_REF_MOD = 78;
+ int PNAME_NS_MOD = 79;
+ int PNAME_LN_MOD = 80;
+ int Z_9 = 81;
+ int Z_9r = 82;
+ int Z_9o = 83;
+ int INTEGER = 84;
+ int DECIMAL = 85;
+ int DOUBLE = 86;
+ int INTEGER_POSITIVE = 87;
+ int DECIMAL_POSITIVE = 88;
+ int DOUBLE_POSITIVE = 89;
+ int INTEGER_NEGATIVE = 90;
+ int DECIMAL_NEGATIVE = 91;
+ int DOUBLE_NEGATIVE = 92;
+ int EXPONENT = 93;
+ int STRING_LITERAL1 = 94;
+ int STRING_LITERAL2 = 95;
+ int STRING_LITERAL_LONG1 = 96;
+ int STRING_LITERAL_LONG2 = 97;
+ int ECHAR = 98;
+ int NIL = 99;
+ int WS = 100;
+ int ANON = 101;
+ int PN_CHARS_BASE = 102;
+ int PN_CHARS_U = 103;
+ int VARNAME = 104;
+ int PN_CHARS = 105;
+ int PN_PREFIX = 106;
+ int PN_LOCAL = 107;
int DEFAULT = 0;
int IN_COMMENT = 1;
@@ -130,6 +134,8 @@
"\",\"",
"\";\"",
"\"a\"",
+ "\"a*\"",
+ "\"a+\"",
"\"[\"",
"\"]\"",
"\"||\"",
@@ -152,6 +158,10 @@
"<VAR1>",
"<VAR2>",
"<LANGTAG>",
+ "<MODIFIER>",
+ "<IRI_REF_MOD>",
+ "<PNAME_NS_MOD>",
+ "<PNAME_LN_MOD>",
"<Z_9>",
"<Z_9r>",
"<Z_9o>",
Modified: trunk/src/jar/querylang/javacc/org/mulgara/sparql/parser/SparqlParserTokenManager.java
===================================================================
--- trunk/src/jar/querylang/javacc/org/mulgara/sparql/parser/SparqlParserTokenManager.java 2011-11-09 00:49:51 UTC (rev 2069)
+++ trunk/src/jar/querylang/javacc/org/mulgara/sparql/parser/SparqlParserTokenManager.java 2011-11-09 00:51:22 UTC (rev 2070)
@@ -25,65 +25,65 @@
{
case 9:
jjmatchedKind = 1;
- return jjMoveNfa_0(0, 0);
+ return jjMoveNfa_0(4, 0);
case 10:
jjmatchedKind = 2;
- return jjMoveNfa_0(0, 0);
+ return jjMoveNfa_0(4, 0);
case 12:
jjmatchedKind = 4;
- return jjMoveNfa_0(0, 0);
+ return jjMoveNfa_0(4, 0);
case 13:
jjmatchedKind = 3;
- return jjMoveNfa_0(0, 0);
+ return jjMoveNfa_0(4, 0);
case 32:
jjmatchedKind = 5;
- return jjMoveNfa_0(0, 0);
+ return jjMoveNfa_0(4, 0);
case 33:
- jjmatchedKind = 66;
- return jjMoveStringLiteralDfa1_0(0x400000000000000L, 0x0L);
+ jjmatchedKind = 68;
+ return jjMoveStringLiteralDfa1_0(0x1000000000000000L, 0x0L);
case 35:
jjmatchedKind = 6;
- return jjMoveNfa_0(0, 0);
+ return jjMoveNfa_0(4, 0);
case 38:
- return jjMoveStringLiteralDfa1_0(0x100000000000000L, 0x0L);
+ return jjMoveStringLiteralDfa1_0(0x400000000000000L, 0x0L);
case 40:
jjmatchedKind = 47;
- return jjMoveNfa_0(0, 0);
+ return jjMoveNfa_0(4, 0);
case 41:
jjmatchedKind = 49;
- return jjMoveNfa_0(0, 0);
+ return jjMoveNfa_0(4, 0);
case 42:
jjmatchedKind = 41;
- return jjMoveNfa_0(0, 0);
+ return jjMoveNfa_0(4, 0);
case 43:
- jjmatchedKind = 63;
- return jjMoveNfa_0(0, 0);
+ jjmatchedKind = 65;
+ return jjMoveNfa_0(4, 0);
case 44:
jjmatchedKind = 50;
- return jjMoveNfa_0(0, 0);
+ return jjMoveNfa_0(4, 0);
case 45:
- jjmatchedKind = 64;
- return jjMoveNfa_0(0, 0);
+ jjmatchedKind = 66;
+ return jjMoveNfa_0(4, 0);
case 46:
jjmatchedKind = 45;
- return jjMoveNfa_0(0, 0);
+ return jjMoveNfa_0(4, 0);
case 47:
- jjmatchedKind = 65;
- return jjMoveNfa_0(0, 0);
+ jjmatchedKind = 67;
+ return jjMoveNfa_0(4, 0);
case 58:
return jjMoveStringLiteralDfa1_0(0x1000000000000L, 0x0L);
case 59:
jjmatchedKind = 51;
- return jjMoveNfa_0(0, 0);
+ return jjMoveNfa_0(4, 0);
case 60:
+ jjmatchedKind = 61;
+ return jjMoveStringLiteralDfa1_0(0x8000000000000000L, 0x0L);
+ case 61:
jjmatchedKind = 59;
- return jjMoveStringLiteralDfa1_0(0x2000000000000000L, 0x0L);
- case 61:
- jjmatchedKind = 57;
- return jjMoveNfa_0(0, 0);
+ return jjMoveNfa_0(4, 0);
case 62:
- jjmatchedKind = 60;
- return jjMoveStringLiteralDfa1_0(0x4000000000000000L, 0x0L);
+ jjmatchedKind = 62;
+ return jjMoveStringLiteralDfa1_0(0x0L, 0x1L);
case 65:
return jjMoveStringLiteralDfa1_0(0x40040000000L, 0x0L);
case 66:
@@ -117,16 +117,16 @@
case 87:
return jjMoveStringLiteralDfa1_0(0x2000000L, 0x0L);
case 91:
- jjmatchedKind = 53;
- return jjMoveNfa_0(0, 0);
+ jjmatchedKind = 55;
+ return jjMoveNfa_0(4, 0);
case 93:
- jjmatchedKind = 54;
- return jjMoveNfa_0(0, 0);
+ jjmatchedKind = 56;
+ return jjMoveNfa_0(4, 0);
case 94:
- return jjMoveStringLiteralDfa1_0(0x0L, 0x8L);
+ return jjMoveStringLiteralDfa1_0(0x0L, 0x20L);
case 97:
jjmatchedKind = 52;
- return jjMoveStringLiteralDfa1_0(0x40000000L, 0x0L);
+ return jjMoveStringLiteralDfa1_0(0x60000040000000L, 0x0L);
case 98:
return jjMoveStringLiteralDfa1_0(0x1000000a00L, 0x0L);
case 99:
@@ -159,50 +159,64 @@
return jjMoveStringLiteralDfa1_0(0x2000000L, 0x0L);
case 123:
jjmatchedKind = 44;
- return jjMoveNfa_0(0, 0);
+ return jjMoveNfa_0(4, 0);
case 124:
- return jjMoveStringLiteralDfa1_0(0x80000000000000L, 0x0L);
+ return jjMoveStringLiteralDfa1_0(0x200000000000000L, 0x0L);
case 125:
jjmatchedKind = 46;
- return jjMoveNfa_0(0, 0);
+ return jjMoveNfa_0(4, 0);
default :
- return jjMoveNfa_0(0, 0);
+ return jjMoveNfa_0(4, 0);
}
}
private final int jjMoveStringLiteralDfa1_0(long active0, long active1)
{
try { curChar = input_stream.readChar(); }
catch(java.io.IOException e) {
- return jjMoveNfa_0(0, 0);
+ return jjMoveNfa_0(4, 0);
}
switch(curChar)
{
case 38:
- if ((active0 & 0x100000000000000L) != 0L)
+ if ((active0 & 0x400000000000000L) != 0L)
{
- jjmatchedKind = 56;
+ jjmatchedKind = 58;
jjmatchedPos = 1;
}
break;
+ case 42:
+ if ((active0 & 0x20000000000000L) != 0L)
+ {
+ jjmatchedKind = 53;
+ jjmatchedPos = 1;
+ }
+ break;
+ case 43:
+ if ((active0 & 0x40000000000000L) != 0L)
+ {
+ jjmatchedKind = 54;
+ jjmatchedPos = 1;
+ }
+ break;
case 61:
if ((active0 & 0x1000000000000L) != 0L)
{
jjmatchedKind = 48;
jjmatchedPos = 1;
}
- else if ((active0 & 0x400000000000000L) != 0L)
+ else if ((active0 & 0x1000000000000000L) != 0L)
{
- jjmatchedKind = 58;
+ jjmatchedKind = 60;
jjmatchedPos = 1;
}
- else if ((active0 & 0x2000000000000000L) != 0L)
+ else if ((active0 & 0x8000000000000000L) != 0L)
{
- jjmatchedKind = 61;
+ jjmatchedKind = 63;
jjmatchedPos = 1;
}
- else if ((active0 & 0x4000000000000000L) != 0L)
+ else if ((active1 & 0x1L) != 0L)
{
- jjmatchedKind = 62;
+ jjmatchedKind = 64;
jjmatchedPos = 1;
}
break;
@@ -236,9 +250,9 @@
}
break;
case 94:
- if ((active1 & 0x8L) != 0L)
+ if ((active1 & 0x20L) != 0L)
{
- jjmatchedKind = 67;
+ jjmatchedKind = 69;
jjmatchedPos = 1;
}
break;
@@ -272,24 +286,24 @@
}
break;
case 124:
- if ((active0 & 0x80000000000000L) != 0L)
+ if ((active0 & 0x200000000000000L) != 0L)
{
- jjmatchedKind = 55;
+ jjmatchedKind = 57;
jjmatchedPos = 1;
}
break;
default :
break;
}
- return jjMoveNfa_0(0, 1);
+ return jjMoveNfa_0(4, 1);
}
private final int jjMoveStringLiteralDfa2_0(long old0, long active0, long old1, long active1)
{
if (((active0 &= old0) | (active1 &= old1)) == 0L)
- return jjMoveNfa_0(0, 1);
+ return jjMoveNfa_0(4, 1);
try { curChar = input_stream.readChar(); }
catch(java.io.IOException e) {
- return jjMoveNfa_0(0, 1);
+ return jjMoveNfa_0(4, 1);
}
switch(curChar)
{
@@ -397,15 +411,15 @@
default :
break;
}
- return jjMoveNfa_0(0, 2);
+ return jjMoveNfa_0(4, 2);
}
private final int jjMoveStringLiteralDfa3_0(long old0, long active0)
{
if (((active0 &= old0)) == 0L)
- return jjMoveNfa_0(0, 2);
+ return jjMoveNfa_0(4, 2);
try { curChar = input_stream.readChar(); }
catch(java.io.IOException e) {
- return jjMoveNfa_0(0, 2);
+ return jjMoveNfa_0(4, 2);
}
switch(curChar)
{
@@ -517,15 +531,15 @@
default :
break;
}
- return jjMoveNfa_0(0, 3);
+ return jjMoveNfa_0(4, 3);
}
private final int jjMoveStringLiteralDfa4_0(long old0, long active0)
{
if (((active0 &= old0)) == 0L)
- return jjMoveNfa_0(0, 3);
+ return jjMoveNfa_0(4, 3);
try { curChar = input_stream.readChar(); }
catch(java.io.IOException e) {
- return jjMoveNfa_0(0, 3);
+ return jjMoveNfa_0(4, 3);
}
switch(curChar)
{
@@ -690,15 +704,15 @@
default :
break;
}
- return jjMoveNfa_0(0, 4);
+ return jjMoveNfa_0(4, 4);
}
private final int jjMoveStringLiteralDfa5_0(long old0, long active0)
{
if (((active0 &= old0)) == 0L)
- return jjMoveNfa_0(0, 4);
+ return jjMoveNfa_0(4, 4);
try { curChar = input_stream.readChar(); }
catch(java.io.IOException e) {
- return jjMoveNfa_0(0, 4);
+ return jjMoveNfa_0(4, 4);
}
switch(curChar)
{
@@ -777,15 +791,15 @@
default :
break;
}
- return jjMoveNfa_0(0, 5);
+ return jjMoveNfa_0(4, 5);
}
private final int jjMoveStringLiteralDfa6_0(long old0, long active0)
{
if (((active0 &= old0)) == 0L)
- return jjMoveNfa_0(0, 5);
+ return jjMoveNfa_0(4, 5);
try { curChar = input_stream.readChar(); }
catch(java.io.IOException e) {
- return jjMoveNfa_0(0, 5);
+ return jjMoveNfa_0(4, 5);
}
switch(curChar)
{
@@ -848,15 +862,15 @@
default :
break;
}
- return jjMoveNfa_0(0, 6);
+ return jjMoveNfa_0(4, 6);
}
private final int jjMoveStringLiteralDfa7_0(long old0, long active0)
{
if (((active0 &= old0)) == 0L)
- return jjMoveNfa_0(0, 6);
+ return jjMoveNfa_0(4, 6);
try { curChar = input_stream.readChar(); }
catch(java.io.IOException e) {
- return jjMoveNfa_0(0, 6);
+ return jjMoveNfa_0(4, 6);
}
switch(curChar)
{
@@ -937,15 +951,15 @@
default :
break;
}
- return jjMoveNfa_0(0, 7);
+ return jjMoveNfa_0(4, 7);
}
private final int jjMoveStringLiteralDfa8_0(long old0, long active0)
{
if (((active0 &= old0)) == 0L)
- return jjMoveNfa_0(0, 7);
+ return jjMoveNfa_0(4, 7);
try { curChar = input_stream.readChar(); }
catch(java.io.IOException e) {
- return jjMoveNfa_0(0, 7);
+ return jjMoveNfa_0(4, 7);
}
switch(curChar)
{
@@ -984,15 +998,15 @@
default :
break;
}
- return jjMoveNfa_0(0, 8);
+ return jjMoveNfa_0(4, 8);
}
private final int jjMoveStringLiteralDfa9_0(long old0, long active0)
{
if (((active0 &= old0)) == 0L)
- return jjMoveNfa_0(0, 8);
+ return jjMoveNfa_0(4, 8);
try { curChar = input_stream.readChar(); }
catch(java.io.IOException e) {
- return jjMoveNfa_0(0, 8);
+ return jjMoveNfa_0(4, 8);
}
switch(curChar)
{
@@ -1003,15 +1017,15 @@
default :
break;
}
- return jjMoveNfa_0(0, 9);
+ return jjMoveNfa_0(4, 9);
}
private final int jjMoveStringLiteralDfa10_0(long old0, long active0)
{
if (((active0 &= old0)) == 0L)
- return jjMoveNfa_0(0, 9);
+ return jjMoveNfa_0(4, 9);
try { curChar = input_stream.readChar(); }
catch(java.io.IOException e) {
- return jjMoveNfa_0(0, 9);
+ return jjMoveNfa_0(4, 9);
}
switch(curChar)
{
@@ -1032,7 +1046,7 @@
default :
break;
}
- return jjMoveNfa_0(0, 10);
+ return jjMoveNfa_0(4, 10);
}
private final void jjCheckNAdd(int state)
{
@@ -1065,43 +1079,43 @@
jjCheckNAdd(jjnextStates[start + 1]);
}
static final long[] jjbitVec0 = {
- 0xfffffffffffffffeL, 0xffffffffffffffffL, 0xffffffffffffffffL, 0xffffffffffffffffL
+ 0xfffe7000fffffff6L, 0xffffffffffffffffL, 0xffffffffffffffffL, 0x5e00000000ffffffL
};
static final long[] jjbitVec2 = {
- 0x0L, 0x0L, 0xffffffffffffffffL, 0xffffffffffffffffL
+ 0x0L, 0x0L, 0x0L, 0xff7fffffff7fffffL
};
static final long[] jjbitVec3 = {
- 0xfffe7000fffffff6L, 0xffffffffffffffffL, 0xffffffffffffffffL, 0x5e00000000ffffffL
+ 0x0L, 0xbfff000000000000L, 0xffffffffffffffffL, 0xffffffffffffffffL
};
static final long[] jjbitVec4 = {
- 0x0L, 0x0L, 0x0L, 0xff7fffffff7fffffL
+ 0x3000L, 0xffff000000000000L, 0xffffffffffffffffL, 0xffffffffffffffffL
};
static final long[] jjbitVec5 = {
- 0x0L, 0xbfff000000000000L, 0xffffffffffffffffL, 0xffffffffffffffffL
+ 0xffffffffffffffffL, 0xffffffffffffffffL, 0xffffL, 0x0L
};
static final long[] jjbitVec6 = {
- 0x3000L, 0xffff000000000000L, 0xffffffffffffffffL, 0xffffffffffffffffL
+ 0xffffffffffffffffL, 0xffffffffffffffffL, 0xffffffffffffffffL, 0xffffffffffffL
};
static final long[] jjbitVec7 = {
- 0xffffffffffffffffL, 0xffffffffffffffffL, 0xffffL, 0x0L
+ 0xfffffffffffffffeL, 0xffffffffffffffffL, 0xffffffffffffffffL, 0xffffffffffffffffL
};
static final long[] jjbitVec8 = {
- 0xffffffffffffffffL, 0xffffffffffffffffL, 0xffffffffffffffffL, 0xffffffffffffL
+ 0xffffffffffffffffL, 0xffffffffffffffffL, 0xffffffffffffffffL, 0xffff00000000ffffL
};
static final long[] jjbitVec9 = {
- 0xffffffffffffffffL, 0xffffffffffffffffL, 0xffffffffffffffffL, 0xffff00000000ffffL
+ 0xffffffffffffffffL, 0xffffffffffffffffL, 0xffffffffffffffffL, 0x3fffffffffffffffL
};
static final long[] jjbitVec10 = {
- 0xffffffffffffffffL, 0xffffffffffffffffL, 0xffffffffffffffffL, 0x3fffffffffffffffL
+ 0x0L, 0x0L, 0x80000000000000L, 0xff7fffffff7fffffL
};
static final long[] jjbitVec11 = {
- 0x0L, 0x0L, 0x80000000000000L, 0xff7fffffff7fffffL
+ 0xffffffffffffffffL, 0xbfffffffffffffffL, 0xffffffffffffffffL, 0xffffffffffffffffL
};
static final long[] jjbitVec12 = {
- 0xffffffffffffffffL, 0xbfffffffffffffffL, 0xffffffffffffffffL, 0xffffffffffffffffL
+ 0x8000000000003000L, 0xffff000000000001L, 0xffffffffffffffffL, 0xffffffffffffffffL
};
static final long[] jjbitVec13 = {
- 0x8000000000003000L, 0xffff000000000001L, 0xffffffffffffffffL, 0xffffffffffffffffL
+ 0x0L, 0x0L, 0xffffffffffffffffL, 0xffffffffffffffffL
};
private final int jjMoveNfa_0(int startState, int curPos)
{
@@ -1114,7 +1128,7 @@
curPos = 0;
int[] nextStates;
int startsAt = 0;
- jjnewStateCnt = 139;
+ jjnewStateCnt = 154;
int i = 1;
jjstateSet[0] = startState;
int j, kind = 0x7fffffff;
@@ -1129,598 +1143,667 @@
{
switch(jjstateSet[--i])
{
- case 0:
+ case 4:
if ((0x3ff000000000000L & l) != 0L)
{
- if (kind > 78)
- kind = 78;
+ if (kind > 84)
+ kind = 84;
jjCheckNAddStates(0, 6);
}
+ else if ((0xc0000000000L & l) != 0L)
+ {
+ if (kind > 77)
+ kind = 77;
+ }
else if (curChar == 45)
jjCheckNAddStates(7, 11);
- else if (curChar == 43)
- jjCheckNAddStates(12, 16);
else if (curChar == 46)
- jjCheckNAddTwoStates(88, 89);
+ jjCheckNAddTwoStates(103, 104);
else if (curChar == 58)
{
- if (kind > 69)
- kind = 69;
- jjCheckNAdd(66);
+ if (kind > 71)
+ kind = 71;
+ jjCheckNAddStates(12, 14);
}
+ else if (curChar == 60)
+ jjCheckNAddStates(15, 18);
else if (curChar == 40)
- jjCheckNAddTwoStates(51, 52);
+ jjCheckNAddTwoStates(49, 50);
else if (curChar == 34)
- jjstateSet[jjnewStateCnt++] = 48;
+ jjstateSet[jjnewStateCnt++] = 46;
else if (curChar == 39)
- jjstateSet[jjnewStateCnt++] = 37;
+ jjstateSet[jjnewStateCnt++] = 35;
else if (curChar == 36)
- jjstateSet[jjnewStateCnt++] = 12;
- else if (curChar == 60)
- jjCheckNAddTwoStates(1, 2);
+ jjstateSet[jjnewStateCnt++] = 9;
else if (curChar == 63)
- jjstateSet[jjnewStateCnt++] = 9;
+ jjstateSet[jjnewStateCnt++] = 6;
if ((0x3ff000000000000L & l) != 0L)
{
- if (kind > 101)
- kind = 101;
- jjCheckNAddTwoStates(57, 58);
+ if (kind > 107)
+ kind = 107;
+ jjCheckNAddTwoStates(55, 56);
}
+ else if (curChar == 43)
+ jjCheckNAddStates(19, 23);
else if (curChar == 34)
- jjCheckNAddStates(17, 19);
+ jjCheckNAddStates(24, 26);
else if (curChar == 39)
- jjCheckNAddStates(20, 22);
+ jjCheckNAddStates(27, 29);
break;
+ case 0:
+ if (curChar == 58)
+ jjstateSet[jjnewStateCnt++] = 1;
+ break;
case 1:
- if ((0xaffffffa00000000L & l) != 0L)
- jjCheckNAddTwoStates(1, 2);
+ if ((0x3ff000000000000L & l) == 0L)
+ break;
+ if (kind > 73)
+ kind = 73;
+ jjCheckNAddTwoStates(2, 3);
break;
case 2:
- if (curChar == 62 && kind > 68)
- kind = 68;
+ if ((0x3ff600000000000L & l) != 0L)
+ jjCheckNAddTwoStates(2, 3);
break;
case 3:
- if (curChar == 58)
- jjstateSet[jjnewStateCnt++] = 4;
+ if ((0x3ff200000000000L & l) != 0L && kind > 73)
+ kind = 73;
break;
- case 4:
- if ((0x3ff000000000000L & l) == 0L)
- break;
- if (kind > 71)
- kind = 71;
- jjCheckNAddTwoStates(5, 6);
- break;
case 5:
- if ((0x3ff600000000000L & l) != 0L)
- jjCheckNAddTwoStates(5, 6);
+ if (curChar == 63)
+ jjstateSet[jjnewStateCnt++] = 6;
break;
case 6:
- if ((0x3ff200000000000L & l) != 0L && kind > 71)
- kind = 71;
+ case 7:
+ if ((0x3ff000000000000L & l) == 0L)
+ break;
+ if (kind > 74)
+ kind = 74;
+ jjCheckNAdd(7);
break;
case 8:
- if (curChar == 63)
+ if (curChar == 36)
jjstateSet[jjnewStateCnt++] = 9;
break;
case 9:
case 10:
if ((0x3ff000000000000L & l) == 0L)
break;
- if (kind > 72)
- kind = 72;
+ if (kind > 75)
+ kind = 75;
jjCheckNAdd(10);
break;
- case 11:
- if (curChar == 36)
- jjstateSet[jjnewStateCnt++] = 12;
- break;
- case 12:
case 13:
- if ((0x3ff000000000000L & l) == 0L)
- break;
- if (kind > 73)
- kind = 73;
- jjCheckNAdd(13);
- break;
- case 16:
if (curChar == 45)
- jjCheckNAdd(17);
+ jjCheckNAdd(14);
break;
- case 17:
+ case 14:
if ((0x3ff000000000000L & l) == 0L)
break;
- if (kind > 74)
- kind = 74;
- jjCheckNAddTwoStates(16, 17);
+ if (kind > 76)
+ kind = 76;
+ jjCheckNAddTwoStates(13, 14);
break;
- case 18:
+ case 15:
+ if ((0xc0000000000L & l) != 0L && kind > 77)
+ kind = 77;
+ break;
+ case 16:
if (curChar == 39)
- jjCheckNAddStates(20, 22);
+ jjCheckNAddStates(27, 29);
break;
- case 19:
+ case 17:
if ((0xffffff7fffffdbffL & l) != 0L)
- jjCheckNAddStates(20, 22);
+ jjCheckNAddStates(27, 29);
break;
- case 21:
+ case 19:
if ((0x8400000000L & l) != 0L)
- jjCheckNAddStates(20, 22);
+ jjCheckNAddStates(27, 29);
break;
- case 22:
- if (curChar == 39 && kind > 88)
- kind = 88;
+ case 20:
+ if (curChar == 39 && kind > 94)
+ kind = 94;
break;
- case 23:
+ case 21:
if (curChar == 34)
- jjCheckNAddStates(17, 19);
+ jjCheckNAddStates(24, 26);
break;
- case 24:
+ case 22:
if ((0xfffffffbffffdbffL & l) != 0L)
- jjCheckNAddStates(17, 19);
+ jjCheckNAddStates(24, 26);
break;
- case 26:
+ case 24:
if ((0x8400000000L & l) != 0L)
- jjCheckNAddStates(17, 19);
+ jjCheckNAddStates(24, 26);
break;
- case 27:
- if (curChar == 34 && kind > 89)
- kind = 89;
+ case 25:
+ if (curChar == 34 && kind > 95)
+ kind = 95;
break;
- case 28:
+ case 26:
if (curChar == 39)
- jjCheckNAddStates(23, 26);
+ jjCheckNAddStates(30, 33);
break;
- case 29:
- case 34:
+ case 27:
+ case 32:
if (curChar == 39)
- jjCheckNAddTwoStates(30, 31);
+ jjCheckNAddTwoStates(28, 29);
break;
- case 30:
+ case 28:
if ((0xffffff7fffffffffL & l) != 0L)
- jjCheckNAddStates(23, 26);
+ jjCheckNAddStates(30, 33);
break;
- case 32:
+ case 30:
if ((0x8400000000L & l) != 0L)
- jjCheckNAddStates(23, 26);
+ jjCheckNAddStates(30, 33);
break;
+ case 31:
+ if (curChar == 39)
+ jjAddStates(34, 35);
+ break;
case 33:
+ if (curChar == 39 && kind > 96)
+ kind = 96;
+ break;
+ case 34:
if (curChar == 39)
- jjAddStates(27, 28);
+ jjstateSet[jjnewStateCnt++] = 33;
break;
case 35:
- if (curChar == 39 && kind > 90)
- kind = 90;
+ if (curChar == 39)
+ jjstateSet[jjnewStateCnt++] = 26;
break;
case 36:
if (curChar == 39)
jjstateSet[jjnewStateCnt++] = 35;
break;
case 37:
- if (curChar == 39)
- jjstateSet[jjnewStateCnt++] = 28;
+ if (curChar == 34)
+ jjCheckNAddStates(36, 39);
break;
case 38:
- if (curChar == 39)
- jjstateSet[jjnewStateCnt++] = 37;
+ case 43:
+ if (curChar == 34)
+ jjCheckNAddTwoStates(39, 40);
break;
case 39:
- if (curChar == 34)
- jjCheckNAddStates(29, 32);
+ if ((0xfffffffbffffffffL & l) != 0L)
+ jjCheckNAddStates(36, 39);
break;
- case 40:
- case 45:
- if (curChar == 34)
- jjCheckNAddTwoStates(41, 42);
- break;
case 41:
- if ((0xfffffffbffffffffL & l) != 0L)
- jjCheckNAddStates(29, 32);
- break;
- case 43:
if ((0x8400000000L & l) != 0L)
- jjCheckNAddStates(29, 32);
+ jjCheckNAddStates(36, 39);
break;
+ case 42:
+ if (curChar == 34)
+ jjAddStates(40, 41);
+ break;
case 44:
+ if (curChar == 34 && kind > 97)
+ kind = 97;
+ break;
+ case 45:
if (curChar == 34)
- jjAddStates(33, 34);
+ jjstateSet[jjnewStateCnt++] = 44;
break;
case 46:
- if (curChar == 34 && kind > 91)
- kind = 91;
+ if (curChar == 34)
+ jjstateSet[jjnewStateCnt++] = 37;
break;
case 47:
if (curChar == 34)
jjstateSet[jjnewStateCnt++] = 46;
break;
case 48:
- if (curChar == 34)
- jjstateSet[jjnewStateCnt++] = 39;
+ if (curChar == 40)
+ jjCheckNAddTwoStates(49, 50);
break;
case 49:
- if (curChar == 34)
- jjstateSet[jjnewStateCnt++] = 48;
+ if ((0x100002600L & l) != 0L)
+ jjCheckNAddTwoStates(49, 50);
break;
case 50:
- if (curChar == 40)
- jjCheckNAddTwoStates(51, 52);
+ if (curChar == 41 && kind > 99)
+ kind = 99;
break;
- case 51:
+ case 52:
if ((0x100002600L & l) != 0L)
- jjCheckNAddTwoStates(51, 52);
+ jjAddStates(42, 43);
break;
- case 52:
- if (curChar == 41 && kind > 93)
- kind = 93;
- break;
case 54:
- if ((0x100002600L & l) != 0L)
- jjAddStates(35, 36);
- break;
- case 56:
if ((0x3ff000000000000L & l) == 0L)
break;
- if (kind > 101)
- kind = 101;
- jjCheckNAddTwoStates(57, 58);
+ if (kind > 107)
+ kind = 107;
+ jjCheckNAddTwoStates(55, 56);
break;
- case 57:
+ case 55:
if ((0x3ff600000000000L & l) != 0L)
- jjCheckNAddTwoStates(57, 58);
+ jjCheckNAddTwoStates(55, 56);
break;
+ case 56:
+ if ((0x3ff200000000000L & l) != 0L && kind > 107)
+ kind = 107;
+ break;
+ case 57:
+ if (curChar == 60)
+ jjCheckNAddStates(15, 18);
+ break;
case 58:
- if ((0x3ff200000000000L & l) != 0L && kind > 101)
- kind = 101;
+ if ((0xaffffffa00000000L & l) != 0L)
+ jjCheckNAddTwoStates(58, 59);
break;
+ case 59:
+ if (curChar == 62 && kind > 70)
+ kind = 70;
+ break;
case 60:
- if ((0x3ff600000000000L & l) != 0L)
- jjAddStates(37, 38);
+ if ((0xaffffffa00000000L & l) != 0L)
+ jjCheckNAddTwoStates(60, 61);
break;
case 61:
- if ((0x3ff200000000000L & l) != 0L)
+ if (curChar == 62)
jjstateSet[jjnewStateCnt++] = 62;
break;
case 62:
- if (curChar == 58 && kind > 69)
- kind = 69;
+ if ((0xc0000000000L & l) != 0L && kind > 78)
+ kind = 78;
break;
- case 63:
+ case 64:
if ((0x3ff600000000000L & l) != 0L)
- jjAddStates(39, 40);
+ jjAddStates(44, 45);
break;
- case 64:
+ case 65:
if ((0x3ff200000000000L & l) != 0L)
- jjstateSet[jjnewStateCnt++] = 65;
+ jjstateSet[jjnewStateCnt++] = 66;
break;
- case 65:
- if (curChar == 58)
- jjCheckNAdd(66);
- break;
case 66:
- if ((0x3ff000000000000L & l) == 0L)
- break;
- if (kind > 70)
- kind = 70;
- jjCheckNAddTwoStates(67, 68);
+ if (curChar == 58 && kind > 71)
+ kind = 71;
break;
case 67:
if ((0x3ff600000000000L & l) != 0L)
- jjCheckNAddTwoStates(67, 68);
+ jjAddStates(46, 47);
break;
case 68:
- if ((0x3ff200000000000L & l) != 0L && kind > 70)
- kind = 70;
+ if ((0x3ff200000000000L & l) != 0L)
+ jjstateSet[jjnewStateCnt++] = 69;
break;
case 69:
- if ((0x3ff600000000000L & l) != 0L)
- jjAddStates(41, 42);
+ if (curChar == 58)
+ jjCheckNAdd(70);
break;
case 70:
- if ((0x3ff200000000000L & l) != 0L && kind > 100)
- kind = 100;
+ if ((0x3ff000000000000L & l) == 0L)
+ break;
+ if (kind > 72)
+ kind = 72;
+ jjCheckNAddTwoStates(71, 72);
break;
case 71:
+ if ((0x3ff600000000000L & l) != 0L)
+ jjCheckNAddTwoStates(71, 72);
+ break;
+ case 72:
+ if ((0x3ff200000000000L & l) != 0L && kind > 72)
+ kind = 72;
+ break;
+ case 73:
+ if ((0x3ff600000000000L & l) != 0L)
+ jjAddStates(48, 49);
+ break;
+ case 74:
+ if ((0x3ff200000000000L & l) != 0L)
+ jjstateSet[jjnewStateCnt++] = 75;
+ break;
+ case 75:
+ if (curChar == 58)
+ jjCheckNAdd(76);
+ break;
+ case 76:
+ if ((0xc0000000000L & l) != 0L && kind > 79)
+ kind = 79;
+ break;
+ case 77:
+ if ((0x3ff600000000000L & l) != 0L)
+ jjAddStates(50, 51);
+ break;
+ case 78:
+ if ((0x3ff200000000000L & l) != 0L)
+ jjstateSet[jjnewStateCnt++] = 79;
+ break;
+ case 79:
+ if (curChar == 58)
+ jjCheckNAdd(80);
+ break;
+ case 80:
+ if ((0x3ff000000000000L & l) != 0L)
+ jjCheckNAddStates(52, 54);
+ break;
+ case 81:
+ if ((0x3ff600000000000L & l) != 0L)
+ jjCheckNAddTwoStates(81, 82);
+ break;
+ case 82:
+ if ((0x3ff200000000000L & l) != 0L)
+ jjCheckNAdd(83);
+ break;
+ case 83:
+ if ((0xc0000000000L & l) != 0L && kind > 80)
+ kind = 80;
+ break;
+ case 84:
+ if ((0x3ff600000000000L & l) != 0L)
+ jjAddStates(55, 56);
+ break;
+ case 85:
+ if ((0x3ff200000000000L & l) != 0L && kind > 106)
+ kind = 106;
+ break;
+ case 86:
if (curChar != 58)
break;
- if (kind > 69)
- kind = 69;
- jjCheckNAdd(66);
+ if (kind > 71)
+ kind = 71;
+ jjCheckNAddStates(12, 14);
break;
- case 72:
+ case 87:
if ((0x3ff000000000000L & l) == 0L)
break;
- if (kind > 78)
- kind = 78;
+ if (kind > 84)
+ kind = 84;
jjCheckNAddStates(0, 6);
break;
- case 73:
+ case 88:
if ((0x3ff000000000000L & l) == 0L)
break;
- if (kind > 78)
- kind = 78;
- jjCheckNAdd(73);
+ if (kind > 84)
+ kind = 84;
+ jjCheckNAdd(88);
break;
- case 74:
+ case 89:
if ((0x3ff000000000000L & l) != 0L)
- jjCheckNAddTwoStates(74, 75);
+ jjCheckNAddTwoStates(89, 90);
break;
- case 75:
+ case 90:
if (curChar != 46)
break;
- if (kind > 79)
- kind = 79;
- jjCheckNAdd(76);
+ if (kind > 85)
+ kind = 85;
+ jjCheckNAdd(91);
break;
- case 76:
+ case 91:
if ((0x3ff000000000000L & l) == 0L)
break;
- if (kind > 79)
- kind = 79;
- jjCheckNAdd(76);
+ if (kind > 85)
+ kind = 85;
+ jjCheckNAdd(91);
break;
- case 77:
+ case 92:
if ((0x3ff000000000000L & l) != 0L)
- jjCheckNAddTwoStates(77, 78);
+ jjCheckNAddTwoStates(92, 93);
break;
- case 78:
+ case 93:
if (curChar == 46)
- jjCheckNAddTwoStates(79, 80);
+ jjCheckNAddTwoStates(94, 95);
break;
- case 79:
+ case 94:
if ((0x3ff000000000000L & l) != 0L)
- jjCheckNAddTwoStates(79, 80);
+ jjCheckNAddTwoStates(94, 95);
break;
- case 81:
+ case 96:
if ((0x280000000000L & l) != 0L)
- jjCheckNAdd(82);
+ jjCheckNAdd(97);
break;
- case 82:
+ case 97:
if ((0x3ff000000000000L & l) == 0L)
break;
- if (kind > 80)
- kind = 80;
- jjCheckNAdd(82);
+ if (kind > 86)
+ kind = 86;
+ jjCheckNAdd(97);
break;
- case 83:
+ case 98:
if ((0x3ff000000000000L & l) != 0L)
- jjCheckNAddTwoStates(83, 84);
+ jjCheckNAddTwoStates(98, 99);
break;
- case 85:
+ case 100:
if ((0x280000000000L & l) != 0L)
- jjCheckNAdd(86);
+ jjCheckNAdd(101);
break;
- case 86:
+ case 101:
if ((0x3ff000000000000L & l) == 0L)
break;
- if (kind > 80)
- kind = 80;
- jjCheckNAdd(86);
+ if (kind > 86)
+ kind = 86;
+ jjCheckNAdd(101);
break;
- case 87:
+ case 102:
if (curChar == 46)
- jjCheckNAddTwoStates(88, 89);
+ jjCheckNAddTwoStates(103, 104);
break;
- case 88:
+ case 103:
if ((0x3ff000000000000L & l) == 0L)
break;
- if (kind > 79)
- kind = 79;
- jjCheckNAdd(88);
+ if (kind > 85)
+ kind = 85;
+ jjCheckNAdd(103);
break;
- case 89:
+ case 104:
if ((0x3ff000000000000L & l) != 0L)
- jjCheckNAddTwoStates(89, 90);
+ jjCheckNAddTwoStates(104, 105);
break;
- case 91:
+ case 106:
if ((0x280000000000L & l) != 0L)
- jjCheckNAdd(92);
+ jjCheckNAdd(107);
break;
- case 92:
+ case 107:
if ((0x3ff000000000000L & l) == 0L)
break;
- if (kind > 80)
- kind = 80;
- jjCheckNAdd(92);
+ if (kind > 86)
+ kind = 86;
+ jjCheckNAdd(107);
break;
- case 93:
+ case 108:
if (curChar == 43)
- jjCheckNAddStates(12, 16);
+ jjCheckNAddStates(19, 23);
break;
- case 94:
+ case 109:
if ((0x3ff000000000000L & l) == 0L)
break;
- if (kind > 81)
- kind = 81;
- jjCheckNAdd(94);
+ if (kind > 87)
+ kind = 87;
+ jjCheckNAdd(109);
break;
- case 95:
+ case 110:
if ((0x3ff000000000000L & l) != 0L)
- jjCheckNAddTwoStates(95, 96);
+ jjCheckNAddTwoStates(110, 111);
break;
- case 96:
+ case 111:
if (curChar != 46)
break;
- if (kind > 82)
- kind = 82;
- jjCheckNAdd(97);
+ if (kind > 88)
+ kind = 88;
+ jjCheckNAdd(112);
break;
- case 97:
+ case 112:
if ((0x3ff000000000000L & l) == 0L)
break;
- if (kind > 82)
- kind = 82;
- jjCheckNAdd(97);
+ if (kind > 88)
+ kind = 88;
+ jjCheckNAdd(112);
break;
- case 98:
+ case 113:
if (curChar == 46)
- jjCheckNAdd(99);
+ jjCheckNAdd(114);
break;
- case 99:
+ case 114:
if ((0x3ff000000000000L & l) == 0L)
break;
- if (kind > 82)
- kind = 82;
- jjCheckNAdd(99);
+ if (kind > 88)
+ kind = 88;
+ jjCheckNAdd(114);
break;
- case 100:
+ case 115:
if (curChar == 46)
- jjCheckNAdd(101);
+ jjCheckNAdd(116);
break;
- case 101:
+ case 116:
if ((0x3ff000000000000L & l) != 0L)
- jjCheckNAddTwoStates(101, 102);
+ jjCheckNAddTwoStates(116, 117);
break;
- case 103:
+ case 118:
if ((0x280000000000L & l) != 0L)
- jjCheckNAdd(104);
+ jjCheckNAdd(119);
break;
- case 104:
+ case 119:
if ((0x3ff000000000000L & l) == 0L)
break;
- if (kind > 83)
- kind = 83;
- jjCheckNAdd(104);
+ if (kind > 89)
+ kind = 89;
+ jjCheckNAdd(119);
break;
- case 105:
+ case 120:
if ((0x3ff000000000000L & l) != 0L)
- jjCheckNAddStates(43, 46);
+ jjCheckNAddStates(57, 60);
break;
- case 106:
+ case 121:
if ((0x3ff000000000000L & l) != 0L)
- jjCheckNAddTwoStates(106, 107);
+ jjCheckNAddTwoStates(121, 122);
break;
- case 107:
+ case 122:
if (curChar == 46)
- jjCheckNAddTwoStates(108, 109);
+ jjCheckNAddTwoStates(123, 124);
break;
- case 108:
+ case 123:
if ((0x3ff000000000000L & l) != 0L)
- jjCheckNAddTwoStates(108, 109);
+ jjCheckNAddTwoStates(123, 124);
break;
- case 110:
+ case 125:
if ((0x280000000000L & l) != 0L)
- jjCheckNAdd(111);
+ jjCheckNAdd(126);
break;
- case 111:
+ case 126:
if ((0x3ff000000000000L & l) == 0L)
break;
- if (kind > 83)
- kind = 83;
- jjCheckNAdd(111);
+ if (kind > 89)
+ kind = 89;
+ jjCheckNAdd(126);
break;
- case 112:
+ case 127:
if ((0x3ff000000000000L & l) != 0L)
- jjCheckNAddTwoStates(112, 113);
+ jjCheckNAddTwoStates(127, 128);
break;
- case 114:
+ case 129:
if ((0x280000000000L & l) != 0L)
- jjCheckNAdd(115);
+ jjCheckNAdd(130);
break;
- case 115:
+ case 130:
if ((0x3ff000000000000L & l) == 0L)
break;
- if (kind > 83)
- kind = 83;
- jjCheckNAdd(115);
+ if (kind > 89)
+ kind = 89;
+ jjCheckNAdd(130);
break;
- case 116:
+ case 131:
if (curChar == 45)
jjCheckNAddStates(7, 11);
break;
- case 117:
+ case 132:
if ((0x3ff000000000000L & l) == 0L)
break;
- if (kind > 84)
- kind = 84;
- jjCheckNAdd(117);
+ if (kind > 90)
+ kind = 90;
+ jjCheckNAdd(132);
break;
- case 118:
+ case 133:
if ((0x3ff000000000000L & l) != 0L)
- jjCheckNAddTwoStates(118, 119);
+ jjCheckNAddTwoStates(133, 134);
break;
- case 119:
+ case 134:
if (curChar != 46)
break;
- if (kind > 85)
- kind = 85;
- jjCheckNAdd(120);
+ if (kind > 91)
+ kind = 91;
+ jjCheckNAdd(135);
break;
- case 120:
+ case 135:
if ((0x3ff000000000000L & l) == 0L)
break;
- if (kind > 85)
- kind = 85;
- jjCheckNAdd(120);
+ if (kind > 91)
+ kind = 91;
+ jjCheckNAdd(135);
break;
- case 121:
+ case 136:
if (curChar == 46)
- jjCheckNAdd(122);
+ jjCheckNAdd(137);
break;
- case 122:
+ case 137:
if ((0x3ff000000000000L & l) == 0L)
break;
- if (kind > 85)
- kind = 85;
- jjCheckNAdd(122);
+ if (kind > 91)
+ kind = 91;
+ jjCheckNAdd(137);
break;
- case 123:
+ case 138:
if (curChar == 46)
- jjCheckNAdd(124);
+ jjCheckNAdd(139);
break;
- case 124:
+ case 139:
if ((0x3ff000000000000L & l) != 0L)
- jjCheckNAddTwoStates(124, 125);
+ jjCheckNAddTwoStates(139, 140);
break;
- case 126:
+ case 141:
if ((0x280000000000L & l) != 0L)
- jjCheckNAdd(127);
+ jjCheckNAdd(142);
break;
- case 127:
+ case 142:
if ((0x3ff000000000000L & l) == 0L)
break;
- if (kind > 86)
- kind = 86;
- jjCheckNAdd(127);
+ if (kind > 92)
+ kind = 92;
+ jjCheckNAdd(142);
break;
- case 128:
+ case 143:
if ((0x3ff000000000000L & l) != 0L)
- jjCheckNAddStates(47, 50);
+ jjCheckNAddStates(61, 64);
break;
- case 129:
+ case 144:
if ((0x3ff000000000000L & l) != 0L)
- jjCheckNAddTwoStates(129, 130);
+ jjCheckNAddTwoStates(144, 145);
break;
- case 130:
+ case 145:
if (curChar == 46)
- jjCheckNAddTwoStates(131, 132);
+ jjCheckNAddTwoStates(146, 147);
break;
- case 131:
+ case 146:
if ((0x3ff000000000000L & l) != 0L)
- jjCheckNAddTwoStates(131, 132);
+ jjCheckNAddTwoStates(146, 147);
break;
- case 133:
+ case 148:
if ((0x280000000000L & l) != 0L)
- jjCheckNAdd(134);
+ jjCheckNAdd(149);
break;
- case 134:
+ case 149:
if ((0x3ff000000000000L & l) == 0L)
break;
- if (kind > 86)
- kind = 86;
- jjCheckNAdd(134);
+ if (kind > 92)
+ kind = 92;
+ jjCheckNAdd(149);
break;
- case 135:
+ case 150:
if ((0x3ff000000000000L & l) != 0L)
- jjCheckNAddTwoStates(135, 136);
+ jjCheckNAddTwoStates(150, 151);
break;
- case 137:
+ case 152:
if ((0x280000000000L & l) != 0L)
- jjCheckNAdd(138);
+ jjCheckNAdd(153);
break;
- case 138:
+ case 153:
if ((0x3ff000000000000L & l) == 0L)
break;
- if (kind > 86)
- kind = 86;
- jjCheckNAdd(138);
+ if (kind > 92)
+ kind = 92;
+ jjCheckNAdd(153);
break;
default : break;
}
@@ -1733,236 +1816,264 @@
{
switch(jjstateSet[--i])
{
- case 0:
+ case 4:
if ((0x7fffffe87fffffeL & l) != 0L)
{
- if (kind > 101)
- kind = 101;
- jjCheckNAddTwoStates(57, 58);
+ if (kind > 107)
+ kind = 107;
+ jjCheckNAddTwoStates(55, 56);
}
else if (curChar == 91)
- jjAddStates(35, 36);
+ jjAddStates(42, 43);
else if (curChar == 64)
- jjCheckNAdd(15);
+ jjCheckNAdd(12);
if ((0x7fffffe07fffffeL & l) != 0L)
{
- if (kind > 100)
- kind = 100;
- jjCheckNAddStates(51, 58);
+ if (kind > 106)
+ kind = 106;
+ jjCheckNAddStates(65, 78);
}
else if (curChar == 95)
- jjstateSet[jjnewStateCnt++] = 3;
+ jjstateSet[jjnewStateCnt++] = 0;
break;
case 1:
- if ((0xc7fffffeafffffffL & l) != 0L)
- jjAddStates(59, 60);
- break;
- case 4:
if ((0x7fffffe87fffffeL & l) == 0L)
break;
- if (kind > 71)
- kind = 71;
- jjCheckNAddTwoStates(5, 6);
+ if (kind > 73)
+ kind = 73;
+ jjCheckNAddTwoStates(2, 3);
break;
- case 5:
+ case 2:
if ((0x7fffffe87fffffeL & l) != 0L)
- jjCheckNAddTwoStates(5, 6);
+ jjCheckNAddTwoStates(2, 3);
break;
+ case 3:
+ if ((0x7fffffe87fffffeL & l) != 0L && kind > 73)
+ kind = 73;
+ break;
case 6:
- if ((0x7fffffe87fffffeL & l) != 0L && kind > 71)
- kind = 71;
- break;
case 7:
- if (curChar == 95)
- jjstateSet[jjnewStateCnt++] = 3;
+ if ((0x7fffffe87fffffeL & l) == 0L)
+ break;
+ if (kind > 74)
+ kind = 74;
+ jjCheckNAdd(7);
break;
case 9:
case 10:
if ((0x7fffffe87fffffeL & l) == 0L)
break;
- if (kind > 72)
- kind = 72;
+ if (kind > 75)
+ kind = 75;
jjCheckNAdd(10);
break;
+ case 11:
+ if (curChar == 64)
+ jjCheckNAdd(12);
+ break;
case 12:
- case 13:
- if ((0x7fffffe87fffffeL & l) == 0L)
+ if ((0x7fffffe07fffffeL & l) == 0L)
break;
- if (kind > 73)
- kind = 73;
- jjCheckNAdd(13);
+ if (kind > 76)
+ kind = 76;
+ jjCheckNAddTwoStates(12, 13);
break;
case 14:
- if (curChar == 64)
- jjCheckNAdd(15);
- break;
- case 15:
if ((0x7fffffe07fffffeL & l) == 0L)
break;
- if (kind > 74)
- kind = 74;
- jjCheckNAddTwoStates(15, 16);
+ if (kind > 76)
+ kind = 76;
+ jjCheckNAddTwoStates(13, 14);
break;
case 17:
- if ((0x7fffffe07fffffeL & l) == 0L)
- break;
- if (kind > 74)
- kind = 74;
- jjCheckNAddTwoStates(16, 17);
- break;
- case 19:
if ((0xffffffffefffffffL & l) != 0L)
- jjCheckNAddStates(20, 22);
+ jjCheckNAddStates(27, 29);
break;
- case 20:
+ case 18:
if (curChar == 92)
- jjstateSet[jjnewStateCnt++] = 21;
+ jjstateSet[jjnewStateCnt++] = 19;
break;
- case 21:
+ case 19:
if ((0x14404410000000L & l) != 0L)
- jjCheckNAddStates(20, 22);
+ jjCheckNAddStates(27, 29);
break;
- case 24:
+ case 22:
if ((0xffffffffefffffffL & l) != 0L)
- jjCheckNAddStates(17, 19);
+ jjCheckNAddStates(24, 26);
break;
- case 25:
+ case 23:
if (curChar == 92)
- jjstateSet[jjnewStateCnt++] = 26;
+ jjstateSet[jjnewStateCnt++] = 24;
break;
- case 26:
+ case 24:
if ((0x14404410000000L & l) != 0L)
- jjCheckNAddStates(17, 19);
+ jjCheckNAddStates(24, 26);
break;
- case 30:
+ case 28:
if ((0xffffffffefffffffL & l) != 0L)
- jjCheckNAddStates(23, 26);
+ jjCheckNAddStates(30, 33);
break;
- case 31:
+ case 29:
if (curChar == 92)
- jjstateSet[jjnewStateCnt++] = 32;
+ jjstateSet[jjnewStateCnt++] = 30;
break;
- case 32:
+ case 30:
if ((0x14404410000000L & l) != 0L)
- jjCheckNAddStates(23, 26);
+ jjCheckNAddStates(30, 33);
break;
- case 41:
+ case 39:
if ((0xffffffffefffffffL & l) != 0L)
- jjCheckNAddStates(29, 32);
+ jjCheckNAddStates(36, 39);
break;
- case 42:
+ case 40:
if (curChar == 92)
- jjstateSet[jjnewStateCnt++] = 43;
+ jjstateSet[jjnewStateCnt++] = 41;
break;
- case 43:
+ case 41:
if ((0x14404410000000L & l) != 0L)
- jjCheckNAddStates(29, 32);
+ jjCheckNAddStates(36, 39);
break;
- case 53:
+ case 51:
if (curChar == 91)
- jjAddStates(35, 36);
+ jjAddStates(42, 43);
break;
- case 55:
- if (curChar == 93 && kind > 95)
- kind = 95;
+ case 53:
+ if (curChar == 93 && kind > 101)
+ kind = 101;
break;
- case 56:
+ case 54:
if ((0x7fffffe87fffffeL & l) == 0L)
break;
- if (kind > 101)
- kind = 101;
- jjCheckNAddTwoStates(57, 58);
+ if (kind > 107)
+ kind = 107;
+ jjCheckNAddTwoStates(55, 56);
break;
- case 57:
+ case 55:
if ((0x7fffffe87fffffeL & l) != 0L)
- jjCheckNAddTwoStates(57, 58);
+ jjCheckNAddTwoStates(55, 56);
break;
+ case 56:
+ if ((0x7fffffe87fffffeL & l) != 0L && kind > 107)
+ kind = 107;
+ break;
case 58:
- if ((0x7fffffe87fffffeL & l) != 0L && kind > 101)
- kind = 101;
+ if ((0xc7fffffeafffffffL & l) != 0L)
+ jjAddStates(79, 80);
break;
- case 59:
+ case 60:
+ if ((0xc7fffffeafffffffL & l) != 0L)
+ jjAddStates(81, 82);
+ break;
+ case 63:
if ((0x7fffffe07fffffeL & l) == 0L)
break;
- if (kind > 100)
- kind = 100;
- jjCheckNAddStates(51, 58);
+ if (kind > 106)
+ kind = 106;
+ jjCheckNAddStates(65, 78);
break;
- case 60:
+ case 64:
if ((0x7fffffe87fffffeL & l) != 0L)
- jjCheckNAddTwoStates(60, 61);
+ jjCheckNAddTwoStates(64, 65);
break;
- case 61:
+ case 65:
if ((0x7fffffe87fffffeL & l) != 0L)
- jjCheckNAdd(62);
+ jjCheckNAdd(66);
break;
- case 63:
+ case 67:
if ((0x7fffffe87fffffeL & l) != 0L)
- jjCheckNAddTwoStates(63, 64);
+ jjCheckNAddTwoStates(67, 68);
break;
- case 64:
+ case 68:
if ((0x7fffffe87fffffeL & l) != 0L)
- jjCheckNAdd(65);
+ jjCheckNAdd(69);
break;
- case 66:
+ case 70:
if ((0x7fffffe87fffffeL & l) == 0L)
break;
- if (kind > 70)
- kind = 70;
- jjCheckNAddTwoStates(67, 68);
+ if (kind > 72)
+ kind = 72;
+ jjCheckNAddTwoStates(71, 72);
break;
- case 67:
+ case 71:
if ((0x7fffffe87fffffeL & l) != 0L)
- jjCheckNAddTwoStates(67, 68);
+ jjCheckNAddTwoStates(71, 72);
break;
- case 68:
- if ((0x7fffffe87fffffeL & l) != 0L && kind > 70)
- kind = 70;
+ case 72:
+ if ((0x7fffffe87fffffeL & l) != 0L && kind > 72)
+ kind = 72;
break;
- case 69:
+ case 73:
if ((0x7fffffe87fffffeL & l) != 0L)
- jjCheckNAddTwoStates(69, 70);
+ jjCheckNAddTwoStates(73, 74);
break;
- case 70:
- if ((0x7fffffe87fffffeL & l) != 0L && kind > 100)
- kind = 100;
+ case 74:
+ if ((0x7fffffe87fffffeL & l) != 0L)
+ jjCheckNAdd(75);
break;
+ case 77:
+ if ((0x7fffffe87fffffeL & l) != 0L)
+ jjCheckNAddTwoStates(77, 78);
+ break;
+ case 78:
+ if ((0x7fffffe87fffffeL & l) != 0L)
+ jjCheckNAdd(79);
+ break;
case 80:
- if ((0x2000000020L & l) != 0L)
- jjAddStates(61, 62);
+ if ((0x7fffffe87fffffeL & l) != 0L)
+ jjCheckNAddStates(52, 54);
break;
+ case 81:
+ if ((0x7fffffe87fffffeL & l) != 0L)
+ jjCheckNAddTwoStates(81, 82);
+ break;
+ case 82:
+ if ((0x7fffffe87fffffeL & l) != 0L)
+ jjCheckNAdd(83);
+ break;
case 84:
+ if ((0x7fffffe87fffffeL & l) != 0L)
+ jjCheckNAddTwoStates(84, 85);
+ break;
+ case 85:
+ if ((0x7fffffe87fffffeL & l) != 0L && kind > 106)
+ kind = 106;
+ break;
+ case 95:
if ((0x2000000020L & l) != 0L)
- jjAddStates(63, 64);
+ jjAddStates(83, 84);
break;
- case 90:
+ case 99:
if ((0x2000000020L & l) != 0L)
- jjAddStates(65, 66);
+ jjAddStates(85, 86);
break;
- case 102:
+ case 105:
if ((0x2000000020L & l) != 0L)
- jjAddStates(67, 68);
+ jjAddStates(87, 88);
break;
- case 109:
+ case 117:
if ((0x2000000020L & l) != 0L)
- jjAddStates(69, 70);
+ jjAddStates(89, 90);
break;
- case 113:
+ case 124:
if ((0x2000000020L & l) != 0L)
- jjAddStates(71, 72);
+ jjAddStates(91, 92);
break;
- case 125:
+ case 128:
if ((0x2000000020L & l) != 0L)
- jjAddStates(73, 74);
+ jjAddStates(93, 94);
break;
- case 132:
+ case 140:
if ((0x2000000020L & l) != 0L)
- jjAddStates(75, 76);
+ jjAddStates(95, 96);
break;
- case 136:
+ case 147:
if ((0x2000000020L & l) != 0L)
- jjAddStates(77, 78);
+ jjAddStates(97, 98);
break;
+ case 151:
+ if ((0x2000000020L & l) != 0L)
+ jjAddStates(99, 100);
+ break;
default : break;
}
} while(i != startsAt);
@@ -1978,144 +2089,176 @@
{
switch(jjstateSet[--i])
{
- case 0:
- if (jjCanMove_1(hiByte, i1, i2, l1, l2))
+ case 4:
+ if (jjCanMove_0(hiByte, i1, i2, l1, l2))
{
- if (kind > 101)
- kind = 101;
- jjCheckNAddTwoStates(57, 58);
+ if (kind > 107)
+ kind = 107;
+ jjCheckNAddTwoStates(55, 56);
}
- if (jjCanMove_1(hiByte, i1, i2, l1, l2))
+ if (jjCanMove_0(hiByte, i1, i2, l1, l2))
{
- if (kind > 100)
- kind = 100;
- jjCheckNAddStates(51, 58);
+ if (kind > 106)
+ kind = 106;
+ jjCheckNAddStates(65, 78);
}
break;
case 1:
- if (jjCanMove_0(hiByte, i1, i2, l1, l2))
- jjAddStates(59, 60);
- break;
- case 4:
- if (!jjCanMove_1(hiByte, i1, i2, l1, l2))
+ if (!jjCanMove_0(hiByte, i1, i2, l1, l2))
break;
- if (kind > 71)
- kind = 71;
- jjCheckNAddTwoStates(5, 6);
+ if (kind > 73)
+ kind = 73;
+ jjCheckNAddTwoStates(2, 3);
break;
- case 5:
- if (jjCanMove_2(hiByte, i1, i2, l1, l2))
- jjCheckNAddTwoStates(5, 6);
+ case 2:
+ if (jjCanMove_1(hiByte, i1, i2, l1, l2))
+ jjCheckNAddTwoStates(2, 3);
break;
+ case 3:
+ if (jjCanMove_1(hiByte, i1, i2, l1, l2) && kind > 73)
+ kind = 73;
+ break;
case 6:
- if (jjCanMove_2(hiByte, i1, i2, l1, l2) && kind > 71)
- kind = 71;
+ if (!jjCanMove_0(hiByte, i1, i2, l1, l2))
+ break;
+ if (kind > 74)
+ kind = 74;
+ jjCheckNAdd(7);
break;
- case 9:
+ case 7:
if (!jjCanMove_1(hiByte, i1, i2, l1, l2))
break;
- if (kind > 72)
- kind = 72;
- jjCheckNAdd(10);
+ if (kind > 74)
+ kind = 74;
+ jjCheckNAdd(7);
break;
- case 10:
- if (!jjCanMove_2(hiByte, i1, i2, l1, l2))
+ case 9:
+ if (!jjCanMove_0(hiByte, i1, i2, l1, l2))
break;
- if (kind > 72)
- kind = 72;
+ if (kind > 75)
+ kind = 75;
jjCheckNAdd(10);
break;
- case 12:
+ case 10:
if (!jjCanMove_1(hiByte, i1, i2, l1, l2))
break;
- if (kind > 73)
- kind = 73;
- jjCheckNAdd(13);
+ if (kind > 75)
+ kind = 75;
+ jjCheckNAdd(10);
break;
- case 13:
- if (!jjCanMove_2(hiByte, i1, i2, l1, l2))
- break;
- if (kind > 73)
- kind = 73;
- jjCheckNAdd(13);
+ case 17:
+ if (jjCanMove_2(hiByte, i1, i2, l1, l2))
+ jjAddStates(27, 29);
break;
- case 19:
- if (jjCanMove_0(hiByte, i1, i2, l1, l2))
- jjAddStates(20, 22);
+ case 22:
+ if (jjCanMove_2(hiByte, i1, i2, l1, l2))
+ jjAddStates(24, 26);
break;
- case 24:
- if (jjCanMove_0(hiByte, i1, i2, l1, l2))
- jjAddStates(17, 19);
+ case 28:
+ if (jjCanMove_2(hiByte, i1, i2, l1, l2))
+ jjAddStates(30, 33);
break;
- case 30:
- if (jjCanMove_0(hiByte, i1, i2, l1, l2))
- jjAddStates(23, 26);
+ case 39:
+ if (jjCanMove_2(hiByte, i1, i2, l1, l2))
+ jjAddStates(36, 39);
break;
- case 41:
- if (jjCanMove_0(hiByte, i1, i2, l1, l2))
- jjAddStates(29, 32);
+ case 54:
+ if (!jjCanMove_0(hiByte, i1, i2, l1, l2))
+ break;
+ if (kind > 107)
+ kind = 107;
+ jjCheckNAddTwoStates(55, 56);
break;
+ case 55:
+ if (jjCanMove_1(hiByte, i1, i2, l1, l2))
+ jjCheckNAddTwoStates(55, 56);
+ break;
case 56:
- if (!jjCanMove_1(hiByte, i1, i2, l1, l2))
- break;
- if (kind > 101)
- kind = 101;
- jjCheckNAddTwoStates(57, 58);
+ if (jjCanMove_1(hiByte, i1, i2, l1, l2) && kind > 107)
+ kind = 107;
break;
- case 57:
+ case 58:
if (jjCanMove_2(hiByte, i1, i2, l1, l2))
- jjCheckNAddTwoStates(57, 58);
+ jjAddStates(79, 80);
break;
- case 58:
- if (jjCanMove_2(hiByte, i1, i2, l1, l2) && kind > 101)
- kind = 101;
- break;
- case 59:
- if (!jjCanMove_1(hiByte, i1, i2, l1, l2))
- break;
- if (kind > 100)
- kind = 100;
- jjCheckNAddStates(51, 58);
- break;
case 60:
if (jjCanMove_2(hiByte, i1, i2, l1, l2))
- jjCheckNAddTwoStates(60, 61);
+ jjAddStates(81, 82);
break;
- case 61:
- if (jjCanMove_2(hiByte, i1, i2, l1, l2))
- jjCheckNAdd(62);
- break;
case 63:
- if (jjCanMove_2(hiByte, i1, i2, l1, l2))
- jjCheckNAddTwoStates(63, 64);
+ if (!jjCanMove_0(hiByte, i1, i2, l1, l2))
+ break;
+ if (kind > 106)
+ kind = 106;
+ jjCheckNAddStates(65, 78);
break;
case 64:
- if (jjCanMove_2(hiByte, i1, i2, l1, l2))
- jjCheckNAdd(65);
+ if (jjCanMove_1(hiByte, i1, i2, l1, l2))
+ jjCheckNAddTwoStates(64, 65);
break;
- case 66:
- if (!jjCanMove_1(hiByte, i1, i2, l1, l2))
- break;
- if (kind > 70)
- kind = 70;
- jjCheckNAddTwoStates(67, 68);
+ case 65:
+ if (jjCanMove_1(hiByte, i1, i2, l1, l2))
+ jjCheckNAdd(66);
break;
case 67:
- if (jjCanMove_2(hiByte, i1, i2, l1, l2))
+ if (jjCanMove_1(hiByte, i1, i2, l1, l2))
jjCheckNAddTwoStates(67, 68);
break;
case 68:
- if (jjCanMove_2(hiByte, i1, i2, l1, l2) && kind > 70)
- kind = 70;
+ if (jjCanMove_1(hiByte, i1, i2, l1, l2))
+ jjCheckNAdd(69);
break;
- case 69:
- if (jjCanMove_2(hiByte, i1, i2, l1, l2))
- jjCheckNAddTwoStates(69, 70);
- break;
case 70:
- if (jjCanMove_2(hiByte, i1, i2, l1, l2) && kind > 100)
- kind = 100;
+ if (!jjCanMove_0(hiByte, i1, i2, l1, l2))
+ break;
+ if (kind > 72)
+ kind = 72;
+ jjCheckNAddTwoStates(71, 72);
break;
+ case 71:
+ if (jjCanMove_1(hiByte, i1, i2, l1, l2))
+ jjCheckNAddTwoStates(71, 72);
+ break;
+ case 72:
+ if (jjCanMove_1(hiByte, i1, i2, l1, l2) && kind > 72)
+ kind = 72;
+ break;
+ case 73:
+ if (jjCanMove_1(hiByte, i1, i2, l1, l2))
+ jjCheckNAddTwoStates(73, 74);
+ break;
+ case 74:
+ if (jjCanMove_1(hiByte, i1, i2, l1, l2))
+ jjCheckNAdd(75);
+ break;
+ case 77:
+ if (jjCanMove_1(hiByte, i1, i2, l1, l2))
+ jjCheckNAddTwoStates(77, 78);
+ break;
+ case 78:
+ if (jjCanMove_1(hiByte, i1, i2, l1, l2))
+ jjCheckNAdd(79);
+ break;
+ case 80:
+ if (jjCanMove_0(hiByte, i1, i2, l1, l2))
+ jjCheckNAddStates(52, 54);
+ break;
+ case 81:
+ if (jjCanMove_1(hiByte, i1, i2, l1, l2))
+ jjCheckNAddTwoStates(81, 82);
+ break;
+ case 82:
+ if (jjCanMove_1(hiByte, i1, i2, l1, l2))
+ jjCheckNAdd(83);
+ break;
+ case 84:
+ if (jjCanMove_1(hiByte, i1, i2, l1, l2))
+ jjCheckNAddTwoStates(84, 85);
+ break;
+ case 85:
+ if (jjCanMove_1(hiByte, i1, i2, l1, l2) && kind > 106)
+ kind = 106;
+ break;
default : break;
}
} while(i != startsAt);
@@ -2127,7 +2270,7 @@
kind = 0x7fffffff;
}
++curPos;
- if ((i = jjnewStateCnt) == (startsAt = 139 - (jjnewStateCnt = startsAt)))
+ if ((i = jjnewStateCnt) == (startsAt = 154 - (jjnewStateCnt = startsAt)))
break;
try { curChar = input_stream.readChar(); }
catch(java.io.IOException e) { break; }
@@ -2212,7 +2355,7 @@
switch(jjstateSet[--i])
{
case 0:
- if (!jjCanMove_0(hiByte, i1, i2, l1, l2))
+ if (!jjCanMove_2(hiByte, i1, i2, l1, l2))
break;
if (kind > 7)
kind = 7;
@@ -2236,11 +2379,13 @@
}
}
static final int[] jjnextStates = {
- 73, 74, 75, 77, 78, 83, 84, 117, 118, 121, 123, 128, 94, 95, 98, 100,
- 105, 24, 25, 27, 19, 20, 22, 29, 30, 31, 33, 34, 36, 40, 41, 42,
- 44, 45, 47, 54, 55, 60, 61, 63, 64, 69, 70, 106, 107, 112, 113, 129,
- 130, 135, 136, 60, 61, 62, 63, 64, 65, 69, 70, 1, 2, 81, 82, 85,
- 86, 91, 92, 103, 104, 110, 111, 114, 115, 126, 127, 133, 134, 137, 138,
+ 88, 89, 90, 92, 93, 98, 99, 132, 133, 136, 138, 143, 70, 76, 80, 58,
+ 59, 60, 61, 109, 110, 113, 115, 120, 22, 23, 25, 17, 18, 20, 27, 28,
+ 29, 31, 32, 34, 38, 39, 40, 42, 43, 45, 52, 53, 64, 65, 67, 68,
+ 73, 74, 77, 78, 81, 82, 83, 84, 85, 121, 122, 127, 128, 144, 145, 150,
+ 151, 64, 65, 66, 67, 68, 69, 73, 74, 75, 77, 78, 79, 84, 85, 58,
+ 59, 60, 61, 96, 97, 100, 101, 106, 107, 118, 119, 125, 126, 129, 130, 141,
+ 142, 148, 149, 152, 153,
};
private static final boolean jjCanMove_0(int hiByte, int i1, int i2, long l1, long l2)
{
@@ -2248,6 +2393,20 @@
{
case 0:
return ((jjbitVec2[i2] & l2) != 0L);
+ case 3:
+ return ((jjbitVec3[i2] & l2) != 0L);
+ case 32:
+ return ((jjbitVec4[i2] & l2) != 0L);
+ case 33:
+ return ((jjbitVec5[i2] & l2) != 0L);
+ case 47:
+ return ((jjbitVec6[i2] & l2) != 0L);
+ case 48:
+ return ((jjbitVec7[i2] & l2) != 0L);
+ case 253:
+ return ((jjbitVec8[i2] & l2) != 0L);
+ case 255:
+ return ((jjbitVec9[i2] & l2) != 0L);
default :
if ((jjbitVec0[i1] & l1) != 0L)
return true;
@@ -2259,23 +2418,23 @@
switch(hiByte)
{
case 0:
- return ((jjbitVec4[i2] & l2) != 0L);
+ return ((jjbitVec10[i2] & l2) != 0L);
case 3:
- return ((jjbitVec5[i2] & l2) != 0L);
+ return ((jjbitVec11[i2] & l2) != 0L);
case 32:
- return ((jjbitVec6[i2] & l2) != 0L);
+ return ((jjbitVec12[i2] & l2) != 0L);
case 33:
- return ((jjbitVec7[i2] & l2) != 0L);
+ return ((jjbitVec5[i2] & l2) != 0L);
case 47:
- return ((jjbitVec8[i2] & l2) != 0L);
+ return ((jjbitVec6[i2] & l2) != 0L);
case 48:
- return ((jjbitVec0[i2] & l2) != 0L);
+ return ((jjbitVec7[i2] & l2) != 0L);
case 253:
+ return ((jjbitVec8[i2] & l2) != 0L);
+ case 255:
return ((jjbitVec9[i2] & l2) != 0L);
- case 255:
- return ((jjbitVec10[i2] & l2) != 0L);
default :
- if ((jjbitVec3[i1] & l1) != 0L)
+ if ((jjbitVec0[i1] & l1) != 0L)
return true;
return false;
}
@@ -2285,23 +2444,9 @@
switch(hiByte)
{
case 0:
- return ((jjbitVec11[i2] & l2) != 0L);
- case 3:
- return ((jjbitVec12[i2] & l2) != 0L);
- case 32:
return ((jjbitVec13[i2] & l2) != 0L);
- case 33:
- return ((jjbitVec7[i2] & l2) != 0L);
- case 47:
- return ((jjbitVec8[i2] & l2) != 0L);
- case 48:
- return ((jjbitVec0[i2] & l2) != 0L);
- case 253:
- return ((jjbitVec9[i2] & l2) != 0L);
- case 255:
- return ((jjbitVec10[i2] & l2) != 0L);
default :
- if ((jjbitVec3[i1] & l1) != 0L)
+ if ((jjbitVec7[i1] & l1) != 0L)
return true;
return false;
}
@@ -2311,11 +2456,11 @@
null, null, null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null, null, null, null,
"\52", "\101\123\103", "\104\105\123\103", "\173", "\56", "\175", "\50", "\72\75",
-"\51", "\54", "\73", "\141", "\133", "\135", "\174\174", "\46\46", "\75", "\41\75",
-"\74", "\76", "\74\75", "\76\75", "\53", "\55", "\57", "\41", "\136\136", null, null,
+"\51", "\54", "\73", "\141", "\141\52", "\141\53", "\133", "\135", "\174\174",
+"\46\46", "\75", "\41\75", "\74", "\76", "\74\75", "\76\75", "\53", "\55", "\57", "\41",
+"\136\136", 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, null, null, };
public static final String[] lexStateNames = {
"DEFAULT",
"IN_COMMENT",
@@ -2325,10 +2470,10 @@
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1,
};
static final long[] jjtoToken = {
- 0xffffffffffffff01L, 0x30af7fc7ffL,
+ 0xffffffffffffff01L, 0xc2bdff1ffffL,
};
static final long[] jjtoSkip = {
0xbeL, 0x0L,
@@ -2340,8 +2485,8 @@
0x40L, 0x0L,
};
protected SimpleCharStream input_stream;
-private final int[] jjrounds = new int[139];
-private final int[] jjstateSet = new int[278];
+private final int[] jjrounds = new int[154];
+private final int[] jjstateSet = new int[308];
StringBuffer image;
int jjimageLen;
int lengthOfMatch;
@@ -2366,7 +2511,7 @@
{
int i;
jjround = 0x80000001;
- for (i = 139; i-- > 0;)
+ for (i = 154; i-- > 0;)
jjrounds[i] = 0x80000000;
}
public void ReInit(SimpleCharStream stream, int lexState)
Modified: trunk/src/jar/resolver/java/org/mulgara/resolver/DirectTransitiveFunction.java
===================================================================
--- trunk/src/jar/resolver/java/org/mulgara/resolver/DirectTransitiveFunction.java 2011-11-09 00:49:51 UTC (rev 2069)
+++ trunk/src/jar/resolver/java/org/mulgara/resolver/DirectTransitiveFunction.java 2011-11-09 00:51:22 UTC (rev 2070)
@@ -193,6 +193,9 @@
// set up given statement for inferences
LiteralTuples given = new LiteralTuples(new Variable[] {tmpVariable});
+ // if there is a zero step, then start with the value
+ if (constraint.isZeroStep()) inferredResult.appendTuple(new long[] {value});
+
// remember that the current value has been visited
Set<Long> visited = new HashSet<Long>();
visited.add(value);
Modified: trunk/src/jar/resolver/java/org/mulgara/resolver/ExhaustiveTransitiveFunction.java
===================================================================
--- trunk/src/jar/resolver/java/org/mulgara/resolver/ExhaustiveTransitiveFunction.java 2011-11-09 00:49:51 UTC (rev 2069)
+++ trunk/src/jar/resolver/java/org/mulgara/resolver/ExhaustiveTransitiveFunction.java 2011-11-09 00:51:22 UTC (rev 2070)
@@ -184,6 +184,9 @@
logger.debug("Found tuple: subject="+subject+"; object="+object);
}
+ // if using zero-step transitivity then add the subject-subject row
+ if (constraint.isZeroStep()) inferredResult.appendTuple(new long[] {subject, subject});
+
// remember that the subject has been visited
Set<Long> visited = new HashSet<Long>();
visited.add(subjectL);
@@ -209,6 +212,8 @@
if (logger.isDebugEnabled()) {
logger.debug("Found subsequent tuple: *** object="+object);
}
+ // if using zero-step transitivity then add the object-object row
+ if (constraint.isZeroStep()) inferredResult.appendTuple(new long[] {object, object});
}
// start inferring for the current subject, using this first set of objects
More information about the Mulgara-svn
mailing list