From: <jom...@us...> - 2015-12-07 17:16:40
|
Revision: 1860 http://sourceforge.net/p/jason/svn/1860 Author: jomifred Date: 2015-12-07 17:16:38 +0000 (Mon, 07 Dec 2015) Log Message: ----------- add vars with name spaces Modified Paths: -------------- trunk/src/jason/asSemantics/Unifier.java trunk/src/jason/asSyntax/ASSyntax.java trunk/src/jason/asSyntax/Atom.java trunk/src/jason/asSyntax/Literal.java trunk/src/jason/asSyntax/LiteralImpl.java trunk/src/jason/asSyntax/Pred.java trunk/src/jason/asSyntax/PredicateIndicator.java trunk/src/jason/asSyntax/Structure.java trunk/src/jason/asSyntax/UnnamedVar.java trunk/src/jason/asSyntax/VarTerm.java trunk/src/jason/asSyntax/parser/AS2JavaParser.jcc trunk/src/jason/asSyntax/parser/as2j.java trunk/src/jason/bb/DefaultBeliefBase.java trunk/src/test/NSTest.java Modified: trunk/src/jason/asSemantics/Unifier.java =================================================================== --- trunk/src/jason/asSemantics/Unifier.java 2015-12-03 23:17:22 UTC (rev 1859) +++ trunk/src/jason/asSemantics/Unifier.java 2015-12-07 17:16:38 UTC (rev 1860) @@ -24,6 +24,7 @@ package jason.asSemantics; import jason.asSyntax.ASSyntax; +import jason.asSyntax.Atom; import jason.asSyntax.CyclicTerm; import jason.asSyntax.ListTerm; import jason.asSyntax.ListTermImpl; @@ -235,7 +236,7 @@ // deref vars final VarTerm t1gv = t1gisvar ? deref((VarTerm)t1g) : null; final VarTerm t2gv = t2gisvar ? deref((VarTerm)t2g) : null; - + // get their values //final Term t1vl = t1gisvar ? function.get(t1gv) : t1g; //final Term t2vl = t2gisvar ? function.get(t2gv) : t2g; @@ -280,9 +281,9 @@ return false; // different name space - if (t1s.getNS() != null && t2s.getNS() != null && !unifiesNoUndo(t1s.getNS(),t2s.getNS())) + if (!unifiesNamespace(t1s, t2s)) return false; - + // unify inner terms // do not use iterator! (see ListTermImpl class) for (int i = 0; i < ts; i++) @@ -295,6 +296,17 @@ return true; } + + private boolean unifiesNamespace(Literal t1s, Literal t2s) { + if (t1s != Literal.DefaultNS || t2s != Literal.DefaultNS) { // if both are not default NS + Atom nst1 = (t1s == Literal.DefaultNS ? Literal.DefaultNS : t1s.getNS()); //(t1s instanceof Atom ? ((Atom)t1s).getNS() : Literal.DefaultNS)); + Atom nst2 = (t2s == Literal.DefaultNS ? Literal.DefaultNS : t2s.getNS()); //(t2s instanceof Atom ? ((Atom)t2s).getNS() : Literal.DefaultNS)); + //System.out.println(nst1.getFunctor()+" == "+ nst2.getFunctor()); //+" ==> "+unifiesNoUndo(nst1, nst2)); + //return nst1.getFunctor().equals(nst2.getFunctor()); + return unifiesNoUndo(nst1, nst2); + } + return true; + } public VarTerm deref(VarTerm v) { Term vl = function.get(v); @@ -344,11 +356,23 @@ return false; } } + + if (vl.isLiteral()) { + Literal lvl = (Literal)vl; + //if (!vt.getNS().equals( lvl.getNS()) ) { + if (! unifiesNamespace(vt, lvl) ) { + //System.out.println("f "+vt+ " /== " + vl); //((Literal)vl).getNS() ); + return false; + } + if ( lvl.getNS() != Literal.DefaultNS) { + vl = lvl.cloneNS(Literal.DefaultNS); + } + } if (!vl.isCyclicTerm() && vl.hasVar(vt, this)) { vl = new CyclicTerm((Literal)vl, (VarTerm)vt.clone()); } - + //System.out.println("add bind "+vt+" -> "+vl); function.put((VarTerm) vt.clone(), vl); return true; } Modified: trunk/src/jason/asSyntax/ASSyntax.java =================================================================== --- trunk/src/jason/asSyntax/ASSyntax.java 2015-12-03 23:17:22 UTC (rev 1859) +++ trunk/src/jason/asSyntax/ASSyntax.java 2015-12-07 17:16:38 UTC (rev 1860) @@ -181,7 +181,7 @@ public static VarTerm parseVar(String sVar) throws ParseException { //return new as2j(new StringReader(sVar)).var(); as2j parser = new as2j(new StringReader(sVar)); - VarTerm v = parser.var(); + VarTerm v = parser.var(Literal.DefaultNS); if (parser.getNextToken().kind != as2jConstants.EOF) throw new ParseException("Expected <EOF> after "+v+" for parameter '"+sVar+"'"); return v; Modified: trunk/src/jason/asSyntax/Atom.java =================================================================== --- trunk/src/jason/asSyntax/Atom.java 2015-12-03 23:17:22 UTC (rev 1859) +++ trunk/src/jason/asSyntax/Atom.java 2015-12-07 17:16:38 UTC (rev 1860) @@ -49,7 +49,7 @@ this.ns = DefaultNS; } - public Atom(Atom namespace, String functor) { + protected Atom(Atom namespace, String functor) { if (functor == null) logger.log(Level.WARNING, "The functor of an atom functor should not be null!", new Exception()); this.functor = functor; @@ -60,13 +60,16 @@ this(l.getNS(), l); } - public Atom(Literal l, Unifier u) { + public Atom(Literal l, Unifier u) { this((Atom)l.getNS().capply(u), l); } public Atom(Atom namespace, Literal l) { this.functor = l.getFunctor(); - this.ns = namespace; + if (namespace.functor.equals("default")) // in case namespace is an ordinary Atom with functor "default", we need to replace by the Default NS + this.ns = DefaultNS; + else + this.ns = namespace; predicateIndicatorCache = l.predicateIndicatorCache; hashCodeCache = l.hashCodeCache; srcInfo = l.srcInfo; @@ -83,6 +86,11 @@ public Term clone() { return this; // since this object is immutable } + + @Override + public Literal cloneNS(Atom newnamespace) { + return new Atom(newnamespace, this); + } @Override public boolean isAtom() { @@ -144,10 +152,6 @@ @Override protected int calcHashCode() { - if (getNS() == null) { - System.out.println("*** "+this); - return 0; - } return getFunctor().hashCode() + getNS().hashCode(); } @@ -163,7 +167,7 @@ public Element getAsDOM(Document document) { Element u = (Element) document.createElement("structure"); u.setAttribute("functor",getFunctor()); - u.setAttribute("name-space", getNS().toString()); + //u.setAttribute("name-space", getNS().toString()); return u; } } Modified: trunk/src/jason/asSyntax/Literal.java =================================================================== --- trunk/src/jason/asSyntax/Literal.java 2015-12-03 23:17:22 UTC (rev 1859) +++ trunk/src/jason/asSyntax/Literal.java 2015-12-07 17:16:38 UTC (rev 1860) @@ -94,6 +94,9 @@ public Literal copy() { return (Literal)clone(); // should call the clone, that is overridden in subclasses } + + /** clone in another namespace */ + public abstract Literal cloneNS(Atom newnamespace); /** returns the functor of this literal */ public abstract String getFunctor(); @@ -109,7 +112,7 @@ /** returns name space :: functor symbol / arity */ public PredicateIndicator getPredicateIndicator() { if (predicateIndicatorCache == null) { - predicateIndicatorCache = new PredicateIndicator(getNS(), getFunctor(), getArity()); + predicateIndicatorCache = new PredicateIndicator( getFunctor(), getArity()); } return predicateIndicatorCache; } @@ -566,7 +569,7 @@ private static final class DefaultNameSpace extends Atom { public DefaultNameSpace() { - super("default"); + super(null, "default"); } protected int calcHashCode() { return getFunctor().hashCode(); Modified: trunk/src/jason/asSyntax/LiteralImpl.java =================================================================== --- trunk/src/jason/asSyntax/LiteralImpl.java 2015-12-03 23:17:22 UTC (rev 1859) +++ trunk/src/jason/asSyntax/LiteralImpl.java 2015-12-07 17:16:38 UTC (rev 1860) @@ -146,6 +146,10 @@ return new LiteralImpl(this,u); } + public Literal cloneNS(Atom newNameSpace) { + return new LiteralImpl(newNameSpace, !negated(), this); + } + @Override protected int calcHashCode() { int result = super.calcHashCode(); Modified: trunk/src/jason/asSyntax/Pred.java =================================================================== --- trunk/src/jason/asSyntax/Pred.java 2015-12-03 23:17:22 UTC (rev 1859) +++ trunk/src/jason/asSyntax/Pred.java 2015-12-07 17:16:38 UTC (rev 1860) @@ -49,9 +49,6 @@ public Pred(String functor) { super(functor); } - public Pred(Atom namespace, String functor) { - super(namespace, functor); - } public Pred(Literal l) { this(l.getNS(), l); @@ -602,6 +599,11 @@ return new Pred(this); } + @Override + public Literal cloneNS(Atom newnamespace) { + return new Pred(newnamespace, this); + } + public String toStringAsTerm() { return super.toString(); } Modified: trunk/src/jason/asSyntax/PredicateIndicator.java =================================================================== --- trunk/src/jason/asSyntax/PredicateIndicator.java 2015-12-03 23:17:22 UTC (rev 1859) +++ trunk/src/jason/asSyntax/PredicateIndicator.java 2015-12-07 17:16:38 UTC (rev 1860) @@ -9,8 +9,6 @@ */ public final class PredicateIndicator implements Comparable<PredicateIndicator>, Serializable { - - private final Atom ns; // name space private final String functor; private final int arity; private final int hash; @@ -18,26 +16,15 @@ public PredicateIndicator(String functor, int arity) { this.functor = functor; this.arity = arity; - this.ns = Literal.DefaultNS; hash = calcHash(); } - public PredicateIndicator(Atom namespace, String functor, int arity) { - this.functor = functor; - this.arity = arity; - this.ns = namespace; - hash = calcHash(); - } + public PredicateIndicator(String prefix, PredicateIndicator pi) { this.functor = prefix + pi.functor; this.arity = pi.arity; - this.ns = Literal.DefaultNS; hash = calcHash(); } - public Atom getNS() { - return ns; - } - public String getFunctor() { return functor; } @@ -51,7 +38,7 @@ if (o == this) return true; if (o != null && o instanceof PredicateIndicator && o.hashCode() == this.hashCode()) { final PredicateIndicator pi = (PredicateIndicator)o; - return arity == pi.arity && functor.equals(pi.functor) && ns.equals(pi.getNS()); + return arity == pi.arity && functor.equals(pi.functor); } return false; } @@ -63,12 +50,9 @@ @Override public int compareTo(PredicateIndicator pi) { - int c = this.ns.compareTo(pi.ns); + int c = this.functor.compareTo(pi.functor); if (c != 0) return c; - c = this.functor.compareTo(pi.functor); - if (c != 0) return c; - if (pi.arity > this.arity) return -1; if (this.arity > pi.arity) return 1; return 0; @@ -77,14 +61,10 @@ private int calcHash() { int t = 31 * arity; if (functor != null) t = 31 * t + functor.hashCode(); - if (ns != Literal.DefaultNS) t = t + 71 * ns.hashCode(); return t; } public String toString() { - if (ns == Literal.DefaultNS) - return functor + "/" + arity; - else - return ns + "::" + functor + "/" + arity; + return functor + "/" + arity; } } Modified: trunk/src/jason/asSyntax/Structure.java =================================================================== --- trunk/src/jason/asSyntax/Structure.java 2015-12-03 23:17:22 UTC (rev 1859) +++ trunk/src/jason/asSyntax/Structure.java 2015-12-07 17:16:38 UTC (rev 1860) @@ -63,12 +63,6 @@ this.terms = new ArrayList<Term>(5); } - public Structure(Atom ns, String functor) { - //this.functor = (functor == null ? null : functor.intern()); // it does not improve performance in test i did! - super(ns, functor); - this.terms = new ArrayList<Term>(5); - } - public Structure(Literal l) { this(l.getNS(), l); } @@ -225,6 +219,11 @@ } @Override + public Literal cloneNS(Atom newnamespace) { + return new Structure(newnamespace, this); + } + + @Override public void addTerm(Term t) { if (t == null) return; terms.add(t); Modified: trunk/src/jason/asSyntax/UnnamedVar.java =================================================================== --- trunk/src/jason/asSyntax/UnnamedVar.java 2015-12-03 23:17:22 UTC (rev 1859) +++ trunk/src/jason/asSyntax/UnnamedVar.java 2015-12-07 17:16:38 UTC (rev 1860) @@ -38,9 +38,17 @@ public int myId; public UnnamedVar() { - this(varCont.incrementAndGet()); + this(Literal.DefaultNS, varCont.incrementAndGet()); } + public UnnamedVar(Atom ns) { + this(ns, varCont.incrementAndGet()); + } + public UnnamedVar(Atom ns, int id) { + super(ns, "_" + id); + myId = id; + } + public UnnamedVar(int id) { super("_" + id); myId = id; @@ -51,20 +59,26 @@ private UnnamedVar(String name) { super(name); } + private UnnamedVar(Atom ns, String name) { + super(ns, name); + } public static UnnamedVar create(String name) { + return create(Literal.DefaultNS, name); + } + public static UnnamedVar create(Atom ns, String name) { if (name.length() == 1) { // the case of "_" - return new UnnamedVar(); + return new UnnamedVar(ns); } else { int id = varCont.incrementAndGet(); - UnnamedVar v = new UnnamedVar("_"+id+name); + UnnamedVar v = new UnnamedVar(ns, "_"+id+name); v.myId = id; return v; } } public Term clone() { - UnnamedVar newv = new UnnamedVar(getFunctor()); + UnnamedVar newv = new UnnamedVar(getNS(), getFunctor()); newv.myId = this.myId; newv.hashCodeCache = this.hashCodeCache; if (hasAnnot()) @@ -73,6 +87,16 @@ } @Override + public Literal cloneNS(Atom newNameSpace) { + UnnamedVar newv = new UnnamedVar(newNameSpace, getFunctor()); + newv.myId = this.myId; + newv.hashCodeCache = this.hashCodeCache; + if (hasAnnot()) + newv.addAnnots(this.getAnnots().cloneLT()); + return newv; + } + + @Override public boolean equals(Object t) { if (t == null) return false; if (t == this) return true; Modified: trunk/src/jason/asSyntax/VarTerm.java =================================================================== --- trunk/src/jason/asSyntax/VarTerm.java 2015-12-03 23:17:22 UTC (rev 1859) +++ trunk/src/jason/asSyntax/VarTerm.java 2015-12-07 17:16:38 UTC (rev 1860) @@ -66,15 +66,24 @@ e.printStackTrace(); } } - public VarTerm(boolean negated, String s) { - super(negated, s); + public VarTerm(boolean negated, String functor) { + super(negated, functor); } + + public VarTerm(Atom namespace, String functor) { + super(namespace, LPos, new Atom(functor)); // TODO: provide proper constructor + //System.out.println("****"+v+" "+this); + } + public VarTerm(Atom namespace, Literal v) { + super(namespace, !v.negated(), v); + } + /** @deprecated prefer ASSyntax.parseVar(...) */ public static VarTerm parseVar(String sVar) { as2j parser = new as2j(new StringReader(sVar)); try { - return parser.var(); + return parser.var(Literal.DefaultNS); } catch (Exception e) { logger.log(Level.SEVERE, "Error parsing var " + sVar, e); return null; @@ -109,6 +118,12 @@ } vl = vl.capply(u); // should clone here, since there is no cloning in unify + + if (getNS() != Literal.DefaultNS && vl.isLiteral()) { + // use var ns for the value ns + vl = ((Literal)vl).cloneNS(getNS()); + } + // decide whether to use var annots in apply // X = p[a] // !X[b] @@ -129,14 +144,20 @@ public Term clone() { // do not call constructor with term parameter! - VarTerm t = new VarTerm(super.getFunctor()); - t.setNegated(!negated()); - t.srcInfo = this.srcInfo; - t.hashCodeCache = this.hashCodeCache; - if (hasAnnot()) - t.setAnnots(getAnnots().cloneLT()); + //VarTerm t = new VarTerm(super.getFunctor()); + //t.setNegated(!negated()); + VarTerm t = new VarTerm(this.getNS(), this); + //t.srcInfo = this.srcInfo; + //t.hashCodeCache = this.hashCodeCache; + //if (hasAnnot()) + // t.setAnnots(getAnnots().cloneLT()); return t; } + + @Override + public Literal cloneNS(Atom newNameSpace) { + return new VarTerm( newNameSpace, this); + } /* public PlanBody clonePB() { @@ -253,9 +274,11 @@ */ // is t also a var? (its value must also be null) if (t instanceof VarTerm) { - //final VarTerm tAsVT = (VarTerm) t; + final VarTerm tAsVT = (VarTerm) t; //if (tAsVT.getValue() == null) { - return negated() == ((VarTerm)t).negated() && getFunctor().equals(((VarTerm)t).getFunctor()); + return negated() == tAsVT.negated() && getFunctor().equals(tAsVT.getFunctor()); // && getNS().equals(tAsVT.getNS()); + // DO NOT consider ns in equals of hashcode! + //} } //} @@ -541,16 +564,14 @@ @Override public String toString() { - //if (value == null) { - String s = getFunctor(); - if (hasAnnot()) - s += getAnnots(); - if (negated()) - s = "~" + s; - return s; - //} else { - // return value.toString(); - //} + String s = getFunctor(); + if (hasAnnot()) + s += getAnnots(); + if (negated()) + s = "~" + s; + if (getNS() != Literal.DefaultNS) + s = getNS() + "::" + s; + return s; } // ---------- Modified: trunk/src/jason/asSyntax/parser/AS2JavaParser.jcc =================================================================== --- trunk/src/jason/asSyntax/parser/AS2JavaParser.jcc 2015-12-03 23:17:22 UTC (rev 1859) +++ trunk/src/jason/asSyntax/parser/AS2JavaParser.jcc 2015-12-07 17:16:38 UTC (rev 1860) @@ -591,28 +591,32 @@ /* Literal */ Literal literal() : - { Pred F = null; Pred V; Token k; boolean type = Literal.LPos; Atom NS = Literal.DefaultNS; Token tns; } + { Pred F = null; Pred V; Token k; boolean type = Literal.LPos; + Atom NS = Literal.DefaultNS; Token tns = null; } { - ( ( [ <TK_NEG> { type = Literal.LNeg; } - ] - + ( ( + // namespace [ LOOKAHEAD(10) - tns = <ATOM> "::" { if (!tns.image.equals("default")) + (tns = <ATOM> { if (!tns.image.equals("default")) NS = new Atom(tns.image); - } + } + | + NS = var(NS) + ) + "::" ] + + [ <TK_NEG> { type = Literal.LNeg; } + ] + (F=pred() - | V = var() - [ - "::" F = pred() - ] - { VarTerm vt = (VarTerm)V; + | V = var(NS) { VarTerm vt = (VarTerm)V; vt.setNegated(type); - if (F == null) { // no namespace + //if (NS == Literal.DefaultNS) { return vt; - } else { - NS = vt; - } + //} else { + // return new VarTerm(NS, vt); + //} } ) ) @@ -879,10 +883,10 @@ } -VarTerm var(): { Token K; VarTerm v; ListTerm lt; } +VarTerm var(Atom ns): { Token K; VarTerm v; ListTerm lt; } { - ( K = <VAR> { v = new VarTerm(K.image); v.setSrcInfo(new SourceInfo(asSource, K.beginLine));} - | K = <UNNAMEDVAR> { v = UnnamedVar.create(K.image); } + ( K = <VAR> { v = new VarTerm(ns, K.image); v.setSrcInfo(new SourceInfo(asSource, K.beginLine));} + | K = <UNNAMEDVAR> { v = UnnamedVar.create(ns, K.image); } ) [ lt = list() { v.setAnnots(lt); } Modified: trunk/src/jason/asSyntax/parser/as2j.java =================================================================== --- trunk/src/jason/asSyntax/parser/as2j.java 2015-12-03 23:17:22 UTC (rev 1859) +++ trunk/src/jason/asSyntax/parser/as2j.java 2015-12-07 17:16:38 UTC (rev 1860) @@ -883,7 +883,8 @@ /* Literal */ final public Literal literal() throws ParseException { - Pred F = null; Pred V; Token k; boolean type = Literal.LPos; Atom NS = Literal.DefaultNS; Token tns; + Pred F = null; Pred V; Token k; boolean type = Literal.LPos; + Atom NS = Literal.DefaultNS; Token tns = null; switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case VAR: case TK_NEG: @@ -891,23 +892,35 @@ case TK_END: case ATOM: case UNNAMEDVAR: + if (jj_2_4(10)) { + switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { + case ATOM: + tns = jj_consume_token(ATOM); + if (!tns.image.equals("default")) + NS = new Atom(tns.image); + break; + case VAR: + case UNNAMEDVAR: + NS = var(NS); + break; + default: + jj_la1[32] = jj_gen; + jj_consume_token(-1); + throw new ParseException(); + } + jj_consume_token(47); + } else { + ; + } switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case TK_NEG: jj_consume_token(TK_NEG); type = Literal.LNeg; break; default: - jj_la1[32] = jj_gen; + jj_la1[33] = jj_gen; ; } - if (jj_2_4(10)) { - tns = jj_consume_token(ATOM); - jj_consume_token(47); - if (!tns.image.equals("default")) - NS = new Atom(tns.image); - } else { - ; - } switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case TK_BEGIN: case TK_END: @@ -916,23 +929,15 @@ break; case VAR: case UNNAMEDVAR: - V = var(); - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case 47: - jj_consume_token(47); - F = pred(); - break; - default: - jj_la1[33] = jj_gen; - ; - } + V = var(NS); VarTerm vt = (VarTerm)V; vt.setNegated(type); - if (F == null) { // no namespace + //if (NS == Literal.DefaultNS) { {if (true) return vt;} - } else { - NS = vt; - } + //} else { + // return new VarTerm(NS, vt); + //} + break; default: jj_la1[34] = jj_gen; @@ -1555,16 +1560,16 @@ throw new Error("Missing return statement in function"); } - final public VarTerm var() throws ParseException { - Token K; VarTerm v; ListTerm lt; + final public VarTerm var(Atom ns) throws ParseException { + Token K; VarTerm v; ListTerm lt; switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case VAR: K = jj_consume_token(VAR); - v = new VarTerm(K.image); v.setSrcInfo(new SourceInfo(asSource, K.beginLine)); + v = new VarTerm(ns, K.image); v.setSrcInfo(new SourceInfo(asSource, K.beginLine)); break; case UNNAMEDVAR: K = jj_consume_token(UNNAMEDVAR); - v = UnnamedVar.create(K.image); + v = UnnamedVar.create(ns, K.image); break; default: jj_la1[59] = jj_gen; @@ -1621,25 +1626,18 @@ finally { jj_save(3, xla); } } - final private boolean jj_3R_118() { - if (jj_3R_107()) return true; + final private boolean jj_3R_119() { + if (jj_3R_108()) return true; return false; } - final private boolean jj_3R_117() { + final private boolean jj_3R_118() { if (jj_scan_token(41)) return true; return false; } - final private boolean jj_3R_65() { - Token xsp; - xsp = jj_scanpos; - if (jj_3R_71()) { - jj_scanpos = xsp; - if (jj_3R_72()) return true; - } - xsp = jj_scanpos; - if (jj_3R_73()) jj_scanpos = xsp; + final private boolean jj_3R_117() { + if (jj_3R_124()) return true; return false; } @@ -1658,42 +1656,43 @@ return false; } - final private boolean jj_3R_113() { - if (jj_3R_120()) return true; - return false; - } - - final private boolean jj_3R_107() { + final private boolean jj_3R_108() { Token xsp; xsp = jj_scanpos; - if (jj_3R_113()) { - jj_scanpos = xsp; if (jj_3R_114()) { jj_scanpos = xsp; if (jj_3R_115()) { jj_scanpos = xsp; - if (jj_3R_116()) return true; + if (jj_3R_116()) { + jj_scanpos = xsp; + if (jj_3R_117()) return true; } } } xsp = jj_scanpos; - if (jj_3R_117()) jj_scanpos = xsp; + if (jj_3R_118()) jj_scanpos = xsp; xsp = jj_scanpos; - if (jj_3R_118()) jj_scanpos = xsp; + if (jj_3R_119()) jj_scanpos = xsp; return false; } - final private boolean jj_3R_100() { - if (jj_3R_107()) return true; + final private boolean jj_3R_101() { + if (jj_3R_108()) return true; return false; } - final private boolean jj_3R_57() { - if (jj_3R_65()) return true; + final private boolean jj_3R_61() { + if (jj_3R_66()) return true; return false; } - final private boolean jj_3R_45() { + final private boolean jj_3R_60() { + if (jj_scan_token(TK_NOT)) return true; + if (jj_3R_52()) return true; + return false; + } + + final private boolean jj_3R_48() { if (jj_scan_token(40)) return true; return false; } @@ -1705,33 +1704,37 @@ return false; } - final private boolean jj_3R_44() { - if (jj_scan_token(34)) return true; + final private boolean jj_3R_52() { + Token xsp; + xsp = jj_scanpos; + if (jj_3R_60()) { + jj_scanpos = xsp; + if (jj_3R_61()) return true; + } return false; } - final private boolean jj_3R_32() { - if (jj_scan_token(41)) return true; + final private boolean jj_3R_47() { + if (jj_scan_token(34)) return true; return false; } - final private boolean jj_3R_56() { - if (jj_scan_token(TK_NOT)) return true; - if (jj_3R_49()) return true; + final private boolean jj_3R_34() { + if (jj_scan_token(41)) return true; return false; } - final private boolean jj_3R_31() { + final private boolean jj_3R_33() { if (jj_scan_token(36)) return true; return false; } - final private boolean jj_3R_30() { + final private boolean jj_3R_32() { Token xsp; xsp = jj_scanpos; - if (jj_3R_44()) { + if (jj_3R_47()) { jj_scanpos = xsp; - if (jj_3R_45()) return true; + if (jj_3R_48()) return true; } return false; } @@ -1745,29 +1748,33 @@ final private boolean jj_3R_18() { Token xsp; xsp = jj_scanpos; - if (jj_3R_31()) { + if (jj_3R_33()) { jj_scanpos = xsp; - if (jj_3R_32()) return true; + if (jj_3R_34()) return true; } return false; } - final private boolean jj_3R_49() { + final private boolean jj_3R_53() { + if (jj_scan_token(52)) return true; + if (jj_3R_38()) return true; + return false; + } + + final private boolean jj_3R_38() { + if (jj_3R_52()) return true; Token xsp; xsp = jj_scanpos; - if (jj_3R_56()) { - jj_scanpos = xsp; - if (jj_3R_57()) return true; - } + if (jj_3R_53()) jj_scanpos = xsp; return false; } - final private boolean jj_3R_29() { + final private boolean jj_3R_31() { if (jj_scan_token(39)) return true; return false; } - final private boolean jj_3R_28() { + final private boolean jj_3R_30() { if (jj_scan_token(38)) return true; return false; } @@ -1778,14 +1785,14 @@ return false; } - final private boolean jj_3R_27() { + final private boolean jj_3R_29() { if (jj_scan_token(37)) return true; return false; } - final private boolean jj_3R_50() { - if (jj_scan_token(52)) return true; - if (jj_3R_36()) return true; + final private boolean jj_3R_39() { + if (jj_scan_token(50)) return true; + if (jj_3R_20()) return true; return false; } @@ -1801,31 +1808,23 @@ return false; } - final private boolean jj_3R_36() { - if (jj_3R_49()) return true; - Token xsp; - xsp = jj_scanpos; - if (jj_3R_50()) jj_scanpos = xsp; - return false; - } - final private boolean jj_3R_16() { Token xsp; xsp = jj_scanpos; - if (jj_3R_27()) { + if (jj_3R_29()) { jj_scanpos = xsp; - if (jj_3R_28()) { + if (jj_3R_30()) { jj_scanpos = xsp; - if (jj_3R_29()) return true; + if (jj_3R_31()) return true; } } xsp = jj_scanpos; - if (jj_3R_30()) jj_scanpos = xsp; + if (jj_3R_32()) jj_scanpos = xsp; if (jj_3R_19()) return true; return false; } - final private boolean jj_3R_66() { + final private boolean jj_3R_67() { if (jj_scan_token(30)) return true; Token xsp; xsp = jj_scanpos; @@ -1833,325 +1832,330 @@ xsp = jj_scanpos; if (jj_3_3()) jj_scanpos = xsp; xsp = jj_scanpos; - if (jj_3R_100()) jj_scanpos = xsp; + if (jj_3R_101()) jj_scanpos = xsp; if (jj_scan_token(31)) return true; return false; } - final private boolean jj_3R_37() { - if (jj_scan_token(50)) return true; - if (jj_3R_20()) return true; - return false; - } - final private boolean jj_3R_20() { - if (jj_3R_36()) return true; + if (jj_3R_38()) return true; Token xsp; xsp = jj_scanpos; - if (jj_3R_37()) jj_scanpos = xsp; + if (jj_3R_39()) jj_scanpos = xsp; return false; } + final private boolean jj_3R_71() { + if (jj_3R_67()) return true; + return false; + } + final private boolean jj_3R_70() { - if (jj_3R_66()) return true; + if (jj_3R_78()) return true; return false; } final private boolean jj_3R_69() { - if (jj_3R_75()) return true; + if (jj_3R_77()) return true; return false; } final private boolean jj_3R_68() { - if (jj_3R_74()) return true; + if (jj_3R_42()) return true; return false; } - final private boolean jj_3R_67() { - if (jj_3R_39()) return true; - return false; - } - - final private boolean jj_3R_61() { + final private boolean jj_3R_65() { Token xsp; xsp = jj_scanpos; - if (jj_3R_67()) { - jj_scanpos = xsp; if (jj_3R_68()) { jj_scanpos = xsp; if (jj_3R_69()) { jj_scanpos = xsp; - if (jj_3R_70()) return true; + if (jj_3R_70()) { + jj_scanpos = xsp; + if (jj_3R_71()) return true; } } } return false; } - final private boolean jj_3R_96() { - if (jj_3R_39()) return true; + final private boolean jj_3R_94() { + if (jj_3R_42()) return true; return false; } - final private boolean jj_3R_95() { + final private boolean jj_3R_93() { if (jj_scan_token(UNNAMEDVAR)) return true; return false; } - final private boolean jj_3R_53() { - if (jj_scan_token(TK_LABEL_AT)) return true; + final private boolean jj_3R_92() { + if (jj_scan_token(VAR)) return true; return false; } - final private boolean jj_3R_94() { - if (jj_scan_token(VAR)) return true; + final private boolean jj_3R_78() { + if (jj_scan_token(STRING)) return true; return false; } - final private boolean jj_3R_75() { - if (jj_scan_token(STRING)) return true; + final private boolean jj_3R_59() { + if (jj_scan_token(TK_LABEL_AT)) return true; return false; } - final private boolean jj_3R_43() { + final private boolean jj_3R_46() { Token xsp; xsp = jj_scanpos; - if (jj_3R_53()) jj_scanpos = xsp; + if (jj_3R_59()) jj_scanpos = xsp; if (jj_3R_16()) return true; return false; } - final private boolean jj_3R_64() { - if (jj_3R_39()) return true; + final private boolean jj_3R_56() { + if (jj_3R_42()) return true; return false; } - final private boolean jj_3R_91() { + final private boolean jj_3R_76() { if (jj_scan_token(50)) return true; Token xsp; xsp = jj_scanpos; - if (jj_3R_94()) { + if (jj_3R_92()) { jj_scanpos = xsp; - if (jj_3R_95()) { + if (jj_3R_93()) { jj_scanpos = xsp; - if (jj_3R_96()) return true; + if (jj_3R_94()) return true; } } return false; } - final private boolean jj_3R_90() { + final private boolean jj_3R_75() { if (jj_scan_token(48)) return true; - if (jj_3R_61()) return true; + if (jj_3R_65()) return true; return false; } - final private boolean jj_3R_63() { + final private boolean jj_3R_55() { if (jj_scan_token(UNNAMEDVAR)) return true; return false; } - final private boolean jj_3R_62() { + final private boolean jj_3R_54() { if (jj_scan_token(VAR)) return true; return false; } - final private boolean jj_3R_52() { - if (jj_3R_61()) return true; + final private boolean jj_3R_58() { + if (jj_3R_65()) return true; Token xsp; while (true) { xsp = jj_scanpos; - if (jj_3R_90()) { jj_scanpos = xsp; break; } + if (jj_3R_75()) { jj_scanpos = xsp; break; } } xsp = jj_scanpos; - if (jj_3R_91()) jj_scanpos = xsp; + if (jj_3R_76()) jj_scanpos = xsp; return false; } - final private boolean jj_3R_54() { + final private boolean jj_3R_40() { Token xsp; xsp = jj_scanpos; - if (jj_3R_62()) { + if (jj_3R_54()) { jj_scanpos = xsp; - if (jj_3R_63()) return true; + if (jj_3R_55()) return true; } xsp = jj_scanpos; - if (jj_3R_64()) jj_scanpos = xsp; + if (jj_3R_56()) jj_scanpos = xsp; return false; } - final private boolean jj_3R_39() { + final private boolean jj_3R_42() { if (jj_scan_token(49)) return true; Token xsp; xsp = jj_scanpos; - if (jj_3R_52()) jj_scanpos = xsp; + if (jj_3R_58()) jj_scanpos = xsp; if (jj_scan_token(51)) return true; return false; } - final private boolean jj_3R_42() { - if (jj_scan_token(34)) return true; + final private boolean jj_3R_64() { + if (jj_3R_20()) return true; return false; } - final private boolean jj_3R_60() { - if (jj_3R_20()) return true; + final private boolean jj_3R_63() { + if (jj_3R_67()) return true; return false; } - final private boolean jj_3R_59() { - if (jj_3R_66()) return true; + final private boolean jj_3R_62() { + if (jj_3R_42()) return true; return false; } - final private boolean jj_3R_58() { - if (jj_3R_39()) return true; + final private boolean jj_3R_45() { + if (jj_scan_token(34)) return true; return false; } - final private boolean jj_3R_51() { + final private boolean jj_3R_57() { Token xsp; xsp = jj_scanpos; - if (jj_3R_58()) { + if (jj_3R_62()) { jj_scanpos = xsp; - if (jj_3R_59()) { + if (jj_3R_63()) { jj_scanpos = xsp; - if (jj_3R_60()) return true; + if (jj_3R_64()) return true; } } return false; } - final private boolean jj_3R_127() { + final private boolean jj_3R_120() { + if (jj_3R_19()) return true; + return false; + } + + final private boolean jj_3R_128() { if (jj_3R_20()) return true; return false; } - final private boolean jj_3R_135() { + final private boolean jj_3R_136() { if (jj_scan_token(37)) return true; return false; } - final private boolean jj_3R_126() { - if (jj_3R_66()) return true; + final private boolean jj_3R_127() { + if (jj_3R_67()) return true; return false; } - final private boolean jj_3R_119() { - if (jj_3R_19()) return true; + final private boolean jj_3R_79() { + if (jj_scan_token(48)) return true; + if (jj_3R_57()) return true; return false; } - final private boolean jj_3R_138() { + final private boolean jj_3R_139() { if (jj_scan_token(46)) return true; return false; } - final private boolean jj_3R_137() { + final private boolean jj_3R_113() { + if (jj_3R_120()) return true; + return false; + } + + final private boolean jj_3R_138() { if (jj_scan_token(45)) return true; return false; } - final private boolean jj_3R_136() { + final private boolean jj_3R_112() { + if (jj_scan_token(42)) return true; + if (jj_3R_20()) return true; + if (jj_scan_token(43)) return true; + return false; + } + + final private boolean jj_3R_137() { if (jj_scan_token(37)) return true; return false; } - final private boolean jj_3R_133() { + final private boolean jj_3R_134() { if (jj_scan_token(38)) return true; Token xsp; xsp = jj_scanpos; - if (jj_3R_135()) jj_scanpos = xsp; + if (jj_3R_136()) jj_scanpos = xsp; return false; } - final private boolean jj_3R_76() { - if (jj_scan_token(48)) return true; - if (jj_3R_51()) return true; + final private boolean jj_3R_41() { + if (jj_3R_57()) return true; + Token xsp; + while (true) { + xsp = jj_scanpos; + if (jj_3R_79()) { jj_scanpos = xsp; break; } + } return false; } - final private boolean jj_3R_134() { + final private boolean jj_3R_135() { Token xsp; xsp = jj_scanpos; - if (jj_3R_136()) { - jj_scanpos = xsp; if (jj_3R_137()) { jj_scanpos = xsp; - if (jj_3R_138()) return true; + if (jj_3R_138()) { + jj_scanpos = xsp; + if (jj_3R_139()) return true; } } return false; } - final private boolean jj_3R_112() { - if (jj_3R_119()) return true; - return false; - } - final private boolean jj_3R_111() { - if (jj_scan_token(42)) return true; - if (jj_3R_20()) return true; - if (jj_scan_token(43)) return true; + if (jj_scan_token(37)) return true; + if (jj_3R_102()) return true; return false; } - final private boolean jj_3R_38() { - if (jj_3R_51()) return true; - Token xsp; - while (true) { - xsp = jj_scanpos; - if (jj_3R_76()) { jj_scanpos = xsp; break; } - } - return false; - } - - final private boolean jj_3R_132() { + final private boolean jj_3R_133() { if (jj_scan_token(37)) return true; Token xsp; xsp = jj_scanpos; - if (jj_3R_134()) jj_scanpos = xsp; + if (jj_3R_135()) jj_scanpos = xsp; return false; } - final private boolean jj_3R_131() { - if (jj_scan_token(40)) return true; + final private boolean jj_3R_24() { + if (jj_3R_42()) return true; return false; } - final private boolean jj_3R_110() { - if (jj_scan_token(37)) return true; - if (jj_3R_101()) return true; + final private boolean jj_3R_132() { + if (jj_scan_token(40)) return true; return false; } - final private boolean jj_3R_41() { + final private boolean jj_3R_44() { if (jj_3R_19()) return true; return false; } - final private boolean jj_3R_130() { + final private boolean jj_3R_131() { if (jj_scan_token(44)) return true; return false; } - final private boolean jj_3R_129() { + final private boolean jj_3R_110() { + if (jj_scan_token(38)) return true; + if (jj_3R_102()) return true; + return false; + } + + final private boolean jj_3R_130() { if (jj_scan_token(34)) return true; return false; } - final private boolean jj_3R_125() { + final private boolean jj_3R_126() { Token xsp; xsp = jj_scanpos; - if (jj_3R_129()) { - jj_scanpos = xsp; if (jj_3R_130()) { jj_scanpos = xsp; if (jj_3R_131()) { jj_scanpos = xsp; if (jj_3R_132()) { jj_scanpos = xsp; - if (jj_3R_133()) return true; + if (jj_3R_133()) { + jj_scanpos = xsp; + if (jj_3R_134()) return true; } } } @@ -2159,53 +2163,42 @@ return false; } - final private boolean jj_3R_22() { - if (jj_3R_39()) return true; - return false; - } - - final private boolean jj_3R_123() { + final private boolean jj_3R_124() { Token xsp; xsp = jj_scanpos; - if (jj_3R_125()) jj_scanpos = xsp; + if (jj_3R_126()) jj_scanpos = xsp; xsp = jj_scanpos; - if (jj_3R_126()) { + if (jj_3R_127()) { jj_scanpos = xsp; - if (jj_3R_127()) return true; + if (jj_3R_128()) return true; } return false; } final private boolean jj_3R_109() { - if (jj_scan_token(38)) return true; - if (jj_3R_101()) return true; - return false; - } - - final private boolean jj_3R_108() { if (jj_scan_token(NUMBER)) return true; return false; } - final private boolean jj_3R_21() { + final private boolean jj_3R_23() { if (jj_scan_token(42)) return true; - if (jj_3R_38()) return true; + if (jj_3R_41()) return true; if (jj_scan_token(43)) return true; return false; } - final private boolean jj_3R_101() { + final private boolean jj_3R_102() { Token xsp; xsp = jj_scanpos; - if (jj_3R_108()) { - jj_scanpos = xsp; if (jj_3R_109()) { jj_scanpos = xsp; if (jj_3R_110()) { jj_scanpos = xsp; if (jj_3R_111()) { jj_scanpos = xsp; - if (jj_3R_112()) return true; + if (jj_3R_112()) { + jj_scanpos = xsp; + if (jj_3R_113()) return true; } } } @@ -2224,35 +2217,35 @@ } } xsp = jj_scanpos; - if (jj_3R_21()) jj_scanpos = xsp; + if (jj_3R_23()) jj_scanpos = xsp; xsp = jj_scanpos; - if (jj_3R_22()) jj_scanpos = xsp; + if (jj_3R_24()) jj_scanpos = xsp; return false; } - final private boolean jj_3R_102() { + final private boolean jj_3R_103() { if (jj_scan_token(61)) return true; - if (jj_3R_93()) return true; + if (jj_3R_97()) return true; return false; } - final private boolean jj_3R_122() { + final private boolean jj_3R_97() { + if (jj_3R_102()) return true; + Token xsp; + xsp = jj_scanpos; + if (jj_3R_103()) jj_scanpos = xsp; + return false; + } + + final private boolean jj_3R_123() { if (jj_scan_token(TK_WHILE)) return true; if (jj_scan_token(42)) return true; if (jj_3R_20()) return true; if (jj_scan_token(43)) return true; - if (jj_3R_66()) return true; + if (jj_3R_67()) return true; return false; } - final private boolean jj_3R_93() { - if (jj_3R_101()) return true; - Token xsp; - xsp = jj_scanpos; - if (jj_3R_102()) jj_scanpos = xsp; - return false; - } - final private boolean jj_3_1() { if (jj_scan_token(TK_BEGIN)) return true; if (jj_3R_13()) return true; @@ -2261,148 +2254,154 @@ return false; } - final private boolean jj_3R_40() { + final private boolean jj_3R_43() { if (jj_scan_token(30)) return true; return false; } - final private boolean jj_3R_106() { + final private boolean jj_3R_107() { if (jj_scan_token(TK_INTMOD)) return true; return false; } - final private boolean jj_3R_105() { + final private boolean jj_3R_106() { if (jj_scan_token(TK_INTDIV)) return true; return false; } - final private boolean jj_3R_104() { + final private boolean jj_3R_105() { if (jj_scan_token(60)) return true; return false; } - final private boolean jj_3R_35() { + final private boolean jj_3R_37() { if (jj_scan_token(TK_FALSE)) return true; return false; } - final private boolean jj_3R_103() { + final private boolean jj_3R_104() { if (jj_scan_token(59)) return true; return false; } - final private boolean jj_3R_34() { + final private boolean jj_3R_36() { if (jj_scan_token(TK_TRUE)) return true; return false; } - final private boolean jj_3R_97() { + final private boolean jj_3R_98() { Token xsp; xsp = jj_scanpos; - if (jj_3R_103()) { - jj_scanpos = xsp; if (jj_3R_104()) { jj_scanpos = xsp; if (jj_3R_105()) { jj_scanpos = xsp; - if (jj_3R_106()) return true; + if (jj_3R_106()) { + jj_scanpos = xsp; + if (jj_3R_107()) return true; } } } - if (jj_3R_93()) return true; + if (jj_3R_97()) return true; return false; } - final private boolean jj_3R_121() { - if (jj_scan_token(TK_FOR)) return true; - if (jj_scan_token(42)) return true; - if (jj_3R_20()) return true; - if (jj_scan_token(43)) return true; - if (jj_3R_66()) return true; - return false; - } - - final private boolean jj_3R_89() { - if (jj_3R_93()) return true; + final private boolean jj_3R_95() { + if (jj_3R_97()) return true; Token xsp; while (true) { xsp = jj_scanpos; - if (jj_3R_97()) { jj_scanpos = xsp; break; } + if (jj_3R_98()) { jj_scanpos = xsp; break; } } return false; } - final private boolean jj_3R_55() { - if (jj_scan_token(47)) return true; - if (jj_3R_13()) return true; + final private boolean jj_3R_51() { + if (jj_3R_40()) return true; return false; } - final private boolean jj_3R_48() { - if (jj_3R_54()) return true; - Token xsp; - xsp = jj_scanpos; - if (jj_3R_55()) jj_scanpos = xsp; + final private boolean jj_3R_122() { + if (jj_scan_token(TK_FOR)) return true; + if (jj_scan_token(42)) return true; + if (jj_3R_20()) return true; + if (jj_scan_token(43)) return true; + if (jj_3R_67()) return true; return false; } - final private boolean jj_3R_47() { + final private boolean jj_3R_50() { if (jj_3R_13()) return true; return false; } - final private boolean jj_3R_99() { + final private boolean jj_3R_49() { + if (jj_scan_token(TK_NEG)) return true; + return false; + } + + final private boolean jj_3R_100() { if (jj_scan_token(38)) return true; return false; } - final private boolean jj_3R_98() { + final private boolean jj_3R_99() { if (jj_scan_token(37)) return true; return false; } - final private boolean jj_3R_92() { + final private boolean jj_3R_22() { + if (jj_3R_40()) return true; + return false; + } + + final private boolean jj_3R_96() { Token xsp; xsp = jj_scanpos; - if (jj_3R_98()) { + if (jj_3R_99()) { jj_scanpos = xsp; - if (jj_3R_99()) return true; + if (jj_3R_100()) return true; } - if (jj_3R_89()) return true; + if (jj_3R_95()) return true; return false; } - final private boolean jj_3_4() { + final private boolean jj_3R_21() { if (jj_scan_token(ATOM)) return true; - if (jj_scan_token(47)) return true; return false; } - final private boolean jj_3R_46() { - if (jj_scan_token(TK_NEG)) return true; + final private boolean jj_3R_77() { + if (jj_3R_95()) return true; + Token xsp; + while (true) { + xsp = jj_scanpos; + if (jj_3R_96()) { jj_scanpos = xsp; break; } + } return false; } - final private boolean jj_3R_74() { - if (jj_3R_89()) return true; + final private boolean jj_3_4() { Token xsp; - while (true) { - xsp = jj_scanpos; - if (jj_3R_92()) { jj_scanpos = xsp; break; } + xsp = jj_scanpos; + if (jj_3R_21()) { + jj_scanpos = xsp; + if (jj_3R_22()) return true; } + if (jj_scan_token(47)) return true; return false; } - final private boolean jj_3R_33() { + final private boolean jj_3R_35() { Token xsp; xsp = jj_scanpos; - if (jj_3R_46()) jj_scanpos = xsp; - xsp = jj_scanpos; if (jj_3_4()) jj_scanpos = xsp; xsp = jj_scanpos; - if (jj_3R_47()) { + if (jj_3R_49()) jj_scanpos = xsp; + xsp = jj_scanpos; + if (jj_3R_50()) { jj_scanpos = xsp; - if (jj_3R_48()) return true; + if (jj_3R_51()) return true; } return false; } @@ -2410,130 +2409,119 @@ final private boolean jj_3R_19() { Token xsp; xsp = jj_scanpos; - if (jj_3R_33()) { + if (jj_3R_35()) { jj_scanpos = xsp; - if (jj_3R_34()) { + if (jj_3R_36()) { jj_scanpos = xsp; - if (jj_3R_35()) return true; + if (jj_3R_37()) return true; } } return false; } - final private boolean jj_3R_128() { - if (jj_scan_token(TK_ELSE)) return true; + final private boolean jj_3R_91() { + if (jj_3R_67()) return true; return false; } - final private boolean jj_3R_88() { - if (jj_3R_66()) return true; + final private boolean jj_3R_90() { + if (jj_3R_42()) return true; return false; } - final private boolean jj_3R_87() { - if (jj_3R_39()) return true; + final private boolean jj_3R_89() { + if (jj_3R_78()) return true; return false; } - final private boolean jj_3R_124() { - Token xsp; - xsp = jj_scanpos; - if (jj_3R_128()) jj_scanpos = xsp; - if (jj_3R_66()) return true; + final private boolean jj_3R_88() { + if (jj_3R_77()) return true; return false; } - final private boolean jj_3R_86() { - if (jj_3R_75()) return true; + final private boolean jj_3R_129() { + if (jj_scan_token(TK_ELSE)) return true; return false; } - final private boolean jj_3R_85() { - if (jj_3R_74()) return true; + final private boolean jj_3R_125() { + Token xsp; + xsp = jj_scanpos; + if (jj_3R_129()) jj_scanpos = xsp; + if (jj_3R_67()) return true; return false; } - final private boolean jj_3R_26() { - if (jj_3R_43()) return true; + final private boolean jj_3R_28() { + if (jj_3R_46()) return true; return false; } - final private boolean jj_3R_84() { + final private boolean jj_3R_87() { if (jj_scan_token(58)) return true; return false; } - final private boolean jj_3R_25() { - if (jj_3R_42()) return true; + final private boolean jj_3R_86() { + if (jj_scan_token(57)) return true; return false; } - final private boolean jj_3R_120() { - if (jj_scan_token(TK_IF)) return true; - if (jj_scan_token(42)) return true; - if (jj_3R_20()) return true; - if (jj_scan_token(43)) return true; - if (jj_3R_66()) return true; - Token xsp; - xsp = jj_scanpos; - if (jj_3R_124()) jj_scanpos = xsp; + final private boolean jj_3R_85() { + if (jj_scan_token(56)) return true; return false; } - final private boolean jj_3R_83() { - if (jj_scan_token(57)) return true; + final private boolean jj_3R_84() { + if (jj_scan_token(55)) return true; return false; } - final private boolean jj_3R_82() { - if (jj_scan_token(56)) return true; + final private boolean jj_3R_83() { + if (jj_scan_token(54)) return true; return false; } - final private boolean jj_3R_81() { - if (jj_scan_token(55)) return true; + final private boolean jj_3R_27() { + if (jj_3R_45()) return true; return false; } - final private boolean jj_3R_80() { - if (jj_scan_token(54)) return true; + final private boolean jj_3R_121() { + if (jj_scan_token(TK_IF)) return true; + if (jj_scan_token(42)) return true; + if (jj_3R_20()) return true; + if (jj_scan_token(43)) return true; + if (jj_3R_67()) return true; + Token xsp; + xsp = jj_scanpos; + if (jj_3R_125()) jj_scanpos = xsp; return false; } - final private boolean jj_3R_79() { + final private boolean jj_3R_82() { if (jj_scan_token(46)) return true; return false; } - final private boolean jj_3R_24() { - if (jj_3R_41()) return true; - return false; - } - - final private boolean jj_3R_78() { + final private boolean jj_3R_81() { if (jj_scan_token(53)) return true; return false; } - final private boolean jj_3R_77() { + final private boolean jj_3R_80() { if (jj_scan_token(45)) return true; return false; } - final private boolean jj_3R_23() { - if (jj_3R_40()) return true; + final private boolean jj_3R_26() { + if (jj_3R_44()) return true; return false; } - final private boolean jj_3R_73() { + final private boolean jj_3R_74() { Token xsp; xsp = jj_scanpos; - if (jj_3R_77()) { - jj_scanpos = xsp; - if (jj_3R_78()) { - jj_scanpos = xsp; - if (jj_3R_79()) { - jj_scanpos = xsp; if (jj_3R_80()) { jj_scanpos = xsp; if (jj_3R_81()) { @@ -2542,7 +2530,13 @@ jj_scanpos = xsp; if (jj_3R_83()) { jj_scanpos = xsp; - if (jj_3R_84()) return true; + if (jj_3R_84()) { + jj_scanpos = xsp; + if (jj_3R_85()) { + jj_scanpos = xsp; + if (jj_3R_86()) { + jj_scanpos = xsp; + if (jj_3R_87()) return true; } } } @@ -2551,51 +2545,68 @@ } } xsp = jj_scanpos; - if (jj_3R_85()) { + if (jj_3R_88()) { jj_scanpos = xsp; - if (jj_3R_86()) { + if (jj_3R_89()) { jj_scanpos = xsp; - if (jj_3R_87()) { + if (jj_3R_90()) { jj_scanpos = xsp; - if (jj_3R_88()) return true; + if (jj_3R_91()) return true; } } } return false; } + final private boolean jj_3R_25() { + if (jj_3R_43()) return true; + return false; + } + + final private boolean jj_3R_73() { + if (jj_3R_78()) return true; + return false; + } + + final private boolean jj_3R_72() { + if (jj_3R_77()) return true; + return false; + } + final private boolean jj_3R_14() { Token xsp; while (true) { xsp = jj_scanpos; - if (jj_3R_23()) { jj_scanpos = xsp; break; } + if (jj_3R_25()) { jj_scanpos = xsp; break; } } while (true) { xsp = jj_scanpos; - if (jj_3R_24()) { jj_scanpos = xsp; break; } + if (jj_3R_26()) { jj_scanpos = xsp; break; } } while (true) { xsp = jj_scanpos; - if (jj_3R_25()) { jj_scanpos = xsp; break; } + if (jj_3R_27()) { jj_scanpos = xsp; break; } } while (true) { xsp = jj_scanpos; - if (jj_3R_26()) { jj_scanpos = xsp; break; } + if (jj_3R_28()) { jj_scanpos = xsp; break; } } if (jj_scan_token(0)) return true; return false; } - final private boolean jj_3R_72() { - if (jj_3R_75()) return true; + final private boolean jj_3R_66() { + Token xsp; + xsp = jj_scanpos; + if (jj_3R_72()) { + jj_scanpos = xsp; + if (jj_3R_73()) return true; + } + xsp = jj_scanpos; + if (jj_3R_74()) jj_scanpos = xsp; return false; } - final private boolean jj_3R_71() { - if (jj_3R_74()) return true; - return false; - } - public as2jTokenManager token_source; SimpleCharStream jj_input_stream; public Token token, jj_nt; @@ -2613,10 +2624,10 @@ jj_la1_1(); } private static void jj_la1_0() { - jj_la1_0 = new int[] {0x40000000,0x180cb80,0x40000000,0x0,0x40000000,0x10000,0x180cb80,0x40000000,0x80c000,0x0,0x10000,0x0,0x0,0x0,0x0,0x0,0x41facf80,0x0,0x41facf80,0x40000,0x40040000,0x0,0x0,0x0,0x0,0x0,0x41e0cf80,0x10000,0x0,0x0,0x0,0x41facf80,0x800,0x0,0x180c080,0x180cb80,0x80c000,0x0,0x0,0x0,0x41e0cf80,0x0,0x1000080,0x0,0x41e0cb80,0x41e0cb80,0x0,0x0,0x1e0cf80,0x1e0cb80,0x0,0x41e0cb80,0x0,0x0,0x0,0x3000,0x3000,0x0,0x1a0cb80,0x1000080,0x0,}; + jj_la1_0 = new int[] {0x40000000,0x180cb80,0x40000000,0x0,0x40000000,0x10000,0x180cb80,0x40000000,0x80c000,0x0,0x10000,0x0,0x0,0x0,0x0,0x0,0x41facf80,0x0,0x41facf80,0x40000,0x40040000,0x0,0x0,0x0,0x0,0x0,0x41e0cf80,0x10000,0x0,0x0,0x0,0x41facf80,0x1800080,0x800,0x180c080,0x180cb80,0x80c000,0x0,0x0,0x0,0x41e0cf80,0x0,0x1000080,0x0,0x41e0cb80,0x41e0cb80,0x0,0x0,0x1e0cf80,0x1e0cb80,0x0,0x41e0cb80,0x0,0x0,0x0,0x3000,0x3000,0x0,0x1a0cb80,0x1000080,0x0,}; } private static void jj_la1_1() { - jj_la1_1 = new int[] {0x0,0x0,0x0,0x4,0x0,0xe0,0x0,0x0,0x0,0x1,0x0,0x8,0x10,0xe0,0x104,0x104,0x1564,0x200,0x1564,0x0,0x0,0x6020,0x6020,0x20,0x1164,0x1164,0x460,0x0,0x8,0x210,0x210,0x1564,0x0,0x8000,0x0,0x0,0x0,0x400,0x20000,0x10000,0x20460,0x10000,0x20000,0x40000,0x20460,0x20460,0x40000,0x100000,0x460,0x460,0x7e06000,0x20460,0x7e06000,0x60,0x60,0x18000000,0x18000000,0x20000000,0x460,0x0,0x20000,}; + jj_la1_1 = new int[] {0x0,0x0,0x0,0x4,0x0,0xe0,0x0,0x0,0x0,0x1,0x0,0x8,0x10,0xe0,0x104,0x104,0x1564,0x200,0x1564,0x0,0x0,0x6020,0x6020,0x20,0x1164,0x1164,0x460,0x0,0x8,0x210,0x210,0x1564,0x0,0x0,0x0,0x0,0x0,0x400,0x20000,0x10000,0x20460,0x10000,0x20000,0x40000,0x20460,0x20460,0x40000,0x100000,0x460,0x460,0x7e06000,0x20460,0x7e06000,0x60,0x60,0x18000000,0x18000000,0x20000000,0x460,0x0,0x20000,}; } final private JJCalls[] jj_2_rtns = new JJCalls[4]; private boolean jj_rescan = false; Modified: trunk/src/jason/bb/DefaultBeliefBase.java =================================================================== --- trunk/src/jason/bb/DefaultBeliefBase.java 2015-12-03 23:17:22 UTC (rev 1859) +++ trunk/src/jason/bb/DefaultBeliefBase.java 2015-12-07 17:16:38 UTC (rev 1860) @@ -160,7 +160,7 @@ if (l.hasAnnot(TPercept)) { percepts.add(l); } - + if (l.getNS() != Literal.DefaultNS) nameSpaces.add(l.getNS()); @@ -284,11 +284,13 @@ return iterator(); } else { BelEntry entry = belsMap.get(l.getPredicateIndicator()); - if (entry != null) + if (entry != null) { //return Collections.unmodifiableList(entry.list).iterator(); + //System.out.println(l+ " ==> " + entry.list); return entry.list.iterator(); - else + } else { return null; + } } } Modified: trunk/src/test/NSTest.java =================================================================== --- trunk/src/test/NSTest.java 2015-12-03 23:17:22 UTC (rev 1859) +++ trunk/src/test/NSTest.java 2015-12-07 17:16:38 UTC (rev 1860) @@ -1,43 +1,11 @@ package test; -import static jason.asSyntax.ASSyntax.createNumber; -import static jason.asSyntax.ASSyntax.createStructure; -import static jason.asSyntax.ASSyntax.parseLiteral; -import static jason.asSyntax.ASSyntax.parseTerm; import jason.asSemantics.Unifier; import jason.asSyntax.ASSyntax; -import jason.asSyntax.Atom; -import jason.asSyntax.ListTerm; -import jason.asSyntax.ListTermImpl; import jason.asSyntax.Literal; -import jason.asSyntax.LiteralImpl; -import jason.asSyntax.NumberTermImpl; -import jason.asSyntax.ObjectTerm; -import jason.asSyntax.ObjectTermImpl; -import jason.asSyntax.Plan; -import jason.asSyntax.Pred; -import jason.asSyntax.PredicateIndicator; -import jason.asSyntax.StringTermImpl; -import jason.asSyntax.Structure; import jason.asSyntax.Term; -import jason.asSyntax.Trigger; -imp... [truncated message content] |