From: <jom...@us...> - 2008-10-02 07:24:55
|
Revision: 1390 http://jason.svn.sourceforge.net/jason/?rev=1390&view=rev Author: jomifred Date: 2008-10-02 07:24:44 +0000 (Thu, 02 Oct 2008) Log Message: ----------- start using the new ASSyntax class in some other classes Modified Paths: -------------- trunk/applications/jason-moise/src/jmoise/OrgAgent.java trunk/src/jason/asSemantics/Message.java trunk/src/jason/asSemantics/TransitionSystem.java trunk/src/jason/asSyntax/ASSyntax.java trunk/src/jason/asSyntax/DefaultTerm.java trunk/src/jason/asSyntax/InternalActionLiteral.java trunk/src/jason/asSyntax/Literal.java trunk/src/jason/asSyntax/Plan.java trunk/src/jason/asSyntax/Term.java trunk/src/jason/asSyntax/Trigger.java trunk/src/jason/asSyntax/patterns/goal/SGA.java trunk/src/jason/bb/JDBCPersistentBB.java trunk/src/jason/stdlib/add_plan.java trunk/src/jason/stdlib/at.java trunk/src/jason/stdlib/relevant_plans.java trunk/src/jason/stdlib/term2string.java trunk/src/jason/stdlib/wait.java trunk/src/test/PlanTest.java trunk/src/test/StdLibTest.java trunk/src/test/TSTest.java trunk/src/test/TermTest.java Modified: trunk/applications/jason-moise/src/jmoise/OrgAgent.java =================================================================== --- trunk/applications/jason-moise/src/jmoise/OrgAgent.java 2008-09-30 16:33:33 UTC (rev 1389) +++ trunk/applications/jason-moise/src/jmoise/OrgAgent.java 2008-10-02 07:24:44 UTC (rev 1390) @@ -11,7 +11,6 @@ import jason.asSemantics.Unifier; import jason.asSyntax.ASSyntax; import jason.asSyntax.Atom; -import jason.asSyntax.DefaultTerm; import jason.asSyntax.InternalActionLiteral; import jason.asSyntax.Literal; import jason.asSyntax.LiteralImpl; @@ -27,6 +26,7 @@ import jason.asSyntax.PlanBody.BodyType; import jason.asSyntax.Trigger.TEOperator; import jason.asSyntax.Trigger.TEType; +import jason.asSyntax.parser.ParseException; import jason.mas2j.ClassParameters; import jason.runtime.Settings; @@ -211,7 +211,11 @@ // if the last arg of body is a free var Term lastTerm = body.getTerm(body.getArity()-1); if (!lastTerm.isGround()) { - pi.peek().getUnif().unifies(lastTerm, DefaultTerm.parse(content)); + try { + pi.peek().getUnif().unifies(lastTerm, ASSyntax.parseTerm(content)); + } catch (ParseException e) { + // no problem, the content is not a term + } //System.out.println("un = "+pi.peek().getUnif()); } } Modified: trunk/src/jason/asSemantics/Message.java =================================================================== --- trunk/src/jason/asSemantics/Message.java 2008-09-30 16:33:33 UTC (rev 1389) +++ trunk/src/jason/asSemantics/Message.java 2008-10-02 07:24:44 UTC (rev 1390) @@ -24,7 +24,8 @@ package jason.asSemantics; -import jason.asSyntax.DefaultTerm; +import jason.asSyntax.ASSyntax; +import jason.asSyntax.parser.ParseException; import java.io.Serializable; @@ -135,7 +136,7 @@ * @param msg the string message * @return the parsed Message */ - public static Message parseMsg(String msg) { + public static Message parseMsg(String msg) throws ParseException { int one, two; Message newmsg = new Message(); if (msg.startsWith("<")) { @@ -155,7 +156,7 @@ newmsg.receiver = msg.substring(one + 1, two); one = msg.indexOf(">", two + 1); String content = msg.substring(two + 1, one); - newmsg.propCont = DefaultTerm.parse(content); + newmsg.propCont = ASSyntax.parseTerm(content); } return newmsg; } Modified: trunk/src/jason/asSemantics/TransitionSystem.java =================================================================== --- trunk/src/jason/asSemantics/TransitionSystem.java 2008-09-30 16:33:33 UTC (rev 1389) +++ trunk/src/jason/asSemantics/TransitionSystem.java 2008-10-02 07:24:44 UTC (rev 1390) @@ -26,8 +26,8 @@ import jason.JasonException; import jason.RevisionFailedException; import jason.architecture.AgArch; +import jason.asSyntax.ASSyntax; import jason.asSyntax.Atom; -import jason.asSyntax.DefaultTerm; import jason.asSyntax.InternalActionLiteral; import jason.asSyntax.ListTermImpl; import jason.asSyntax.Literal; @@ -43,6 +43,7 @@ import jason.asSyntax.Trigger; import jason.asSyntax.Trigger.TEOperator; import jason.asSyntax.Trigger.TEType; +import jason.asSyntax.parser.ParseException; import jason.bb.BeliefBase; import jason.runtime.Settings; @@ -152,7 +153,12 @@ if (m.getPropCont() instanceof Term) { content = (Term)m.getPropCont(); } else { - content = DefaultTerm.parse(m.getPropCont().toString()); + try { + content = ASSyntax.parseTerm(m.getPropCont().toString()); + } catch (ParseException e) { + logger.warning("The content of the message '"+m.getPropCont()+"' is not a term!"); + return; + } } // check if an intention was suspended waiting this message Modified: trunk/src/jason/asSyntax/ASSyntax.java =================================================================== --- trunk/src/jason/asSyntax/ASSyntax.java 2008-09-30 16:33:33 UTC (rev 1389) +++ trunk/src/jason/asSyntax/ASSyntax.java 2008-10-02 07:24:44 UTC (rev 1390) @@ -79,8 +79,8 @@ * Creates a new structure term, is the functor (a string), * and the n remainder arguments are terms. */ - public static Literal createStructure(String functor, Term... terms) { - return new Structure(functor).addTerms(terms); + public static Structure createStructure(String functor, Term... terms) { + return (Structure)new Structure(functor).addTerms(terms); } /** creates a new Atom term */ Modified: trunk/src/jason/asSyntax/DefaultTerm.java =================================================================== --- trunk/src/jason/asSyntax/DefaultTerm.java 2008-09-30 16:33:33 UTC (rev 1389) +++ trunk/src/jason/asSyntax/DefaultTerm.java 2008-10-02 07:24:44 UTC (rev 1390) @@ -34,6 +34,8 @@ /** * Base class for all terms. + * + * (this class may be renamed to AbstractTerm infuture releases of Jason) */ public abstract class DefaultTerm extends SourceInfo implements Term, Serializable { @@ -42,6 +44,7 @@ protected Integer hashCodeCache = null; + /** @deprecated it is preferable to use ASSyntax.parseTerm */ public static Term parse(String sTerm) { as2j parser = new as2j(new StringReader(sTerm)); try { Modified: trunk/src/jason/asSyntax/InternalActionLiteral.java =================================================================== --- trunk/src/jason/asSyntax/InternalActionLiteral.java 2008-09-30 16:33:33 UTC (rev 1389) +++ trunk/src/jason/asSyntax/InternalActionLiteral.java 2008-10-02 07:24:44 UTC (rev 1390) @@ -100,7 +100,7 @@ // count the vars of first arg if (getTerm(0).isString()) { try { - Trigger te = Trigger.parseTrigger( ((StringTerm)getTerm(0)).getString() ); + Trigger te = ASSyntax.parseTrigger( ((StringTerm)getTerm(0)).getString() ); te.getLiteral().countVars(c); } catch (Exception e) { e.printStackTrace(); Modified: trunk/src/jason/asSyntax/Literal.java =================================================================== --- trunk/src/jason/asSyntax/Literal.java 2008-09-30 16:33:33 UTC (rev 1389) +++ trunk/src/jason/asSyntax/Literal.java 2008-10-02 07:24:44 UTC (rev 1390) @@ -71,7 +71,7 @@ protected PredicateIndicator predicateIndicatorCache = null; // to not compute it all the time (is is called many many times) - /** creates a new literal by parsing a string -- ASSyntax.parseLiteral is preferred. */ + /** creates a new literal by parsing a string -- ASSyntax.parseLiteral or createLiteral are preferred. */ public static Literal parseLiteral(String sLiteral) { try { as2j parser = new as2j(new StringReader(sLiteral)); @@ -106,7 +106,7 @@ /** returns the number of terms of this literal */ public int getArity() { return 0; } - /** returns trus if this literal has some term */ + /** returns true if this literal has some term */ public boolean hasTerm() { return false; } /** returns all terms of this literal */ public List<Term> getTerms() { return Structure.emptyTermList; } Modified: trunk/src/jason/asSyntax/Plan.java =================================================================== --- trunk/src/jason/asSyntax/Plan.java 2008-09-30 16:33:33 UTC (rev 1389) +++ trunk/src/jason/asSyntax/Plan.java 2008-10-02 07:24:44 UTC (rev 1390) @@ -50,9 +50,9 @@ public class Plan extends SourceInfo implements Cloneable, Serializable { private static final long serialVersionUID = 1L; - private static final Term TAtomic = DefaultTerm.parse("atomic"); - private static final Term TBreakPoint = DefaultTerm.parse("breakpoint"); - private static final Term TAllUnifs = DefaultTerm.parse("all_unifs"); + private static final Term TAtomic = ASSyntax.createAtom("atomic"); + private static final Term TBreakPoint = ASSyntax.createAtom("breakpoint"); + private static final Term TAllUnifs = ASSyntax.createAtom("all_unifs"); private static Logger logger = Logger.getLogger(Plan.class.getName()); Modified: trunk/src/jason/asSyntax/Term.java =================================================================== --- trunk/src/jason/asSyntax/Term.java 2008-09-30 16:33:33 UTC (rev 1389) +++ trunk/src/jason/asSyntax/Term.java 2008-10-02 07:24:44 UTC (rev 1390) @@ -33,10 +33,7 @@ public boolean equals(Object o); - /** - * Replaces variables by their values in the unifier, returns true - * if some variable was applied. - */ + /** replaces variables by their values in the unifier, returns true if some variable was applied */ public boolean apply(Unifier u); /** Removes the value cached for hashCode */ Modified: trunk/src/jason/asSyntax/Trigger.java =================================================================== --- trunk/src/jason/asSyntax/Trigger.java 2008-09-30 16:33:33 UTC (rev 1389) +++ trunk/src/jason/asSyntax/Trigger.java 2008-10-02 07:24:44 UTC (rev 1390) @@ -74,6 +74,7 @@ setTrigOp(op); } + /** prefer to use ASSyntax.parseTrigger */ public static Trigger parseTrigger(String sTe) { as2j parser = new as2j(new StringReader(sTe)); try { @@ -137,8 +138,9 @@ return piCache; } - public boolean apply(Unifier u) { - return literal.apply(u); + public Trigger apply(Unifier u) { + literal.apply(u); + return this; } public Literal getLiteral() { Modified: trunk/src/jason/asSyntax/patterns/goal/SGA.java =================================================================== --- trunk/src/jason/asSyntax/patterns/goal/SGA.java 2008-09-30 16:33:33 UTC (rev 1389) +++ trunk/src/jason/asSyntax/patterns/goal/SGA.java 2008-10-02 07:24:44 UTC (rev 1390) @@ -1,6 +1,7 @@ package jason.asSyntax.patterns.goal; import jason.asSemantics.Agent; +import jason.asSyntax.ASSyntax; import jason.asSyntax.LogExpr; import jason.asSyntax.LogicalFormula; import jason.asSyntax.Plan; @@ -24,7 +25,7 @@ public Agent process(Pred directive, Agent outerContent, Agent innerContent) { try { - Trigger trigger = Trigger.parseTrigger(((StringTerm)directive.getTerm(0)).getString()); + Trigger trigger = ASSyntax.parseTrigger(((StringTerm)directive.getTerm(0)).getString()); LogicalFormula context = LogExpr.parseExpr(((StringTerm)directive.getTerm(1)).getString()); Term goal = directive.getTerm(2); Modified: trunk/src/jason/bb/JDBCPersistentBB.java =================================================================== --- trunk/src/jason/bb/JDBCPersistentBB.java 2008-09-30 16:33:33 UTC (rev 1389) +++ trunk/src/jason/bb/JDBCPersistentBB.java 2008-10-02 07:24:44 UTC (rev 1390) @@ -2,7 +2,7 @@ import jason.asSemantics.Agent; import jason.asSemantics.Unifier; -import jason.asSyntax.DefaultTerm; +import jason.asSyntax.ASSyntax; import jason.asSyntax.ListTerm; import jason.asSyntax.ListTermImpl; import jason.asSyntax.Literal; @@ -13,6 +13,7 @@ import jason.asSyntax.StringTermImpl; import jason.asSyntax.Structure; import jason.asSyntax.Term; +import jason.asSyntax.parser.ParseException; import java.sql.Connection; import java.sql.DriverManager; @@ -209,6 +210,8 @@ } } catch (SQLException e) { logger.log(Level.SEVERE, "SQL Error", e); + } catch (ParseException e) { + logger.log(Level.SEVERE, "Parser Error", e); } finally { try { stmt.close(); @@ -377,8 +380,8 @@ hasNext = rs.next(); if (!hasNext) rs.close(); return l; - } catch (SQLException e) { - logger.log(Level.SEVERE, "SQL Error", e); + } catch (Exception e) { + logger.log(Level.SEVERE, "Error", e); } return null; } @@ -441,8 +444,8 @@ } } } - } catch (SQLException e) { - logger.log(Level.SEVERE, "SQL Error", e); + } catch (Exception e) { + logger.log(Level.SEVERE, "Error", e); } finally { try { stmt.close(); @@ -455,7 +458,7 @@ /** translates the current line of a result set into a Literal */ - protected Literal resultSetToLiteral(ResultSet rs, PredicateIndicator pi) throws SQLException { + protected Literal resultSetToLiteral(ResultSet rs, PredicateIndicator pi) throws SQLException, ParseException { ResultSetMetaData meta = belsDB.get(pi); boolean isJasonTable = isCreatedByJason(pi); Literal ldb = new LiteralImpl(pi.getFunctor()); @@ -482,11 +485,11 @@ // there is no var at BB parsed = new StringTermImpl(sc); } else { - parsed = DefaultTerm.parse(sc); + parsed = ASSyntax.parseTerm(sc); // if the parsed term is not equals to sc, try it as string if (!parsed.toString().equals(sc)) - parsed = DefaultTerm.parse(sc = "\"" + sc + "\""); + parsed = ASSyntax.parseTerm(sc = "\"" + sc + "\""); } break; } Modified: trunk/src/jason/stdlib/add_plan.java =================================================================== --- trunk/src/jason/stdlib/add_plan.java 2008-09-30 16:33:33 UTC (rev 1389) +++ trunk/src/jason/stdlib/add_plan.java 2008-10-02 07:24:44 UTC (rev 1390) @@ -26,7 +26,7 @@ import jason.asSemantics.DefaultInternalAction; import jason.asSemantics.TransitionSystem; import jason.asSemantics.Unifier; -import jason.asSyntax.DefaultTerm; +import jason.asSyntax.ASSyntax; import jason.asSyntax.ListTerm; import jason.asSyntax.StringTerm; import jason.asSyntax.Term; @@ -91,7 +91,7 @@ public Object execute(TransitionSystem ts, Unifier un, Term[] args) throws Exception { checkArguments(args); - Term plans = DefaultTerm.parse(args[0].toString()); + Term plans = ASSyntax.parseTerm(args[0].toString()); Term source = BeliefBase.ASelf; if (args.length > 1) Modified: trunk/src/jason/stdlib/at.java =================================================================== --- trunk/src/jason/stdlib/at.java 2008-09-30 16:33:33 UTC (rev 1389) +++ trunk/src/jason/stdlib/at.java 2008-10-02 07:24:44 UTC (rev 1390) @@ -30,6 +30,7 @@ import jason.asSemantics.Intention; import jason.asSemantics.TransitionSystem; import jason.asSemantics.Unifier; +import jason.asSyntax.ASSyntax; import jason.asSyntax.StringTerm; import jason.asSyntax.Term; import jason.asSyntax.Trigger; @@ -122,7 +123,7 @@ throw new JasonException("The time parameter ('"+time+"') of the internal action 'at' did not parse correctly!"); } - Trigger te = Trigger.parseTrigger(sevent.getString()); + Trigger te = ASSyntax.parseTrigger(sevent.getString()); ts.getAg().getScheduler().schedule(new CheckDeadline(te, ts), deadline, TimeUnit.MILLISECONDS); return true; Modified: trunk/src/jason/stdlib/relevant_plans.java =================================================================== --- trunk/src/jason/stdlib/relevant_plans.java 2008-09-30 16:33:33 UTC (rev 1389) +++ trunk/src/jason/stdlib/relevant_plans.java 2008-10-02 07:24:44 UTC (rev 1390) @@ -28,6 +28,7 @@ import jason.asSemantics.Option; import jason.asSemantics.TransitionSystem; import jason.asSemantics.Unifier; +import jason.asSyntax.ASSyntax; import jason.asSyntax.ListTerm; import jason.asSyntax.ListTermImpl; import jason.asSyntax.Plan; @@ -35,6 +36,7 @@ import jason.asSyntax.StringTermImpl; import jason.asSyntax.Term; import jason.asSyntax.Trigger; +import jason.asSyntax.parser.ParseException; import java.util.List; @@ -73,13 +75,21 @@ @Override public int getMaxArgs() { return 2; } @Override + protected void checkArguments(Term[] args) throws JasonException { + super.checkArguments(args); + if (!args[0].isString()) + throw JasonException.createWrongArgument(this,"first argument must be a string"); + } + + @Override public Object execute(TransitionSystem ts, Unifier un, Term[] args) throws Exception { checkArguments(args); - StringTerm sTe = (StringTerm) args[0]; - Trigger te = Trigger.parseTrigger(sTe.getString()); - if (te == null) { - throw new JasonException("The first argument of the 'relevant_plans' internal action is not a triggering event."); + Trigger te; + try { + te = ASSyntax.parseTrigger(((StringTerm) args[0]).getString()); + } catch (ParseException e) { + throw JasonException.createWrongArgument(this,"first argument '"+args[0]+"' must follow the syntax of a trigger."); } ListTerm lt = new ListTermImpl(); List<Option> rp = ts.relevantPlans(te); Modified: trunk/src/jason/stdlib/term2string.java =================================================================== --- trunk/src/jason/stdlib/term2string.java 2008-09-30 16:33:33 UTC (rev 1389) +++ trunk/src/jason/stdlib/term2string.java 2008-10-02 07:24:44 UTC (rev 1390) @@ -6,7 +6,7 @@ import jason.asSemantics.InternalAction; import jason.asSemantics.TransitionSystem; import jason.asSemantics.Unifier; -import jason.asSyntax.DefaultTerm; +import jason.asSyntax.ASSyntax; import jason.asSyntax.StringTerm; import jason.asSyntax.StringTermImpl; import jason.asSyntax.Term; @@ -61,7 +61,7 @@ // case 3, first is var if (args[0].isVar() && args[1].isString()) { - return un.unifies(args[0], DefaultTerm.parse( ((StringTerm)args[1]).getString() )); + return un.unifies(args[0], ASSyntax.parseTerm( ((StringTerm)args[1]).getString() )); } throw new JasonException("invalid case of term2string"); Modified: trunk/src/jason/stdlib/wait.java =================================================================== --- trunk/src/jason/stdlib/wait.java 2008-09-30 16:33:33 UTC (rev 1389) +++ trunk/src/jason/stdlib/wait.java 2008-10-02 07:24:44 UTC (rev 1390) @@ -30,6 +30,7 @@ import jason.asSemantics.Intention; import jason.asSemantics.TransitionSystem; import jason.asSemantics.Unifier; +import jason.asSyntax.ASSyntax; import jason.asSyntax.InternalActionLiteral; import jason.asSyntax.NumberTerm; import jason.asSyntax.NumberTermImpl; @@ -108,10 +109,9 @@ timeout = (long) time.solve(); } else if (args[0].isString()) { // wait for event - StringTerm st = (StringTerm) args[0]; - st.apply(un); - te = Trigger.parseTrigger(st.getString()); - + te = ASSyntax.parseTrigger( ((StringTerm) args[0]).getString()); + te.getLiteral().apply(un); + if (args.length >= 2) timeout = (long) ((NumberTerm) args[1]).solve(); if (args.length == 3) Modified: trunk/src/test/PlanTest.java =================================================================== --- trunk/src/test/PlanTest.java 2008-09-30 16:33:33 UTC (rev 1389) +++ trunk/src/test/PlanTest.java 2008-10-02 07:24:44 UTC (rev 1390) @@ -2,12 +2,12 @@ import jason.JasonException; import jason.asSemantics.Unifier; +import jason.asSyntax.ASSyntax; import jason.asSyntax.LiteralImpl; import jason.asSyntax.Plan; import jason.asSyntax.PlanBody; import jason.asSyntax.PlanBodyImpl; import jason.asSyntax.PlanLibrary; -import jason.asSyntax.Trigger; import jason.asSyntax.VarTerm; import jason.asSyntax.PlanBody.BodyType; import jason.asSyntax.parser.ParseException; @@ -42,16 +42,16 @@ pl.add(Plan.parse("+!X <- .print(a).")); - List<Plan> pls = pl.getCandidatePlans(Trigger.parseTrigger("+p(3)")); + List<Plan> pls = pl.getCandidatePlans(ASSyntax.parseTrigger("+p(3)")); assertEquals(2, pls.size()); - pls = pl.getCandidatePlans(Trigger.parseTrigger("+!p(3)")); + pls = pl.getCandidatePlans(ASSyntax.parseTrigger("+!p(3)")); assertEquals(3, pls.size()); - pls = pl.getCandidatePlans(Trigger.parseTrigger("+!bla")); + pls = pl.getCandidatePlans(ASSyntax.parseTrigger("+!bla")); assertEquals(1, pls.size()); - pls = pl.getCandidatePlans(Trigger.parseTrigger("+bla")); + pls = pl.getCandidatePlans(ASSyntax.parseTrigger("+bla")); assertEquals(0, pls.size()); } Modified: trunk/src/test/StdLibTest.java =================================================================== --- trunk/src/test/StdLibTest.java 2008-09-30 16:33:33 UTC (rev 1389) +++ trunk/src/test/StdLibTest.java 2008-10-02 07:24:44 UTC (rev 1390) @@ -9,6 +9,7 @@ import jason.asSemantics.Option; import jason.asSemantics.TransitionSystem; import jason.asSemantics.Unifier; +import jason.asSyntax.ASSyntax; import jason.asSyntax.DefaultTerm; import jason.asSyntax.ListTerm; import jason.asSyntax.ListTermImpl; @@ -271,7 +272,7 @@ public void testDropGoal1() throws ParseException { assertEquals(intention1.size(), 4); - Trigger g = Trigger.parseTrigger("+!g1"); + Trigger g = ASSyntax.parseTrigger("+!g1"); assertTrue(intention1.dropGoal(g, new Unifier())); assertEquals(intention1.size(), 1); } Modified: trunk/src/test/TSTest.java =================================================================== --- trunk/src/test/TSTest.java 2008-09-30 16:33:33 UTC (rev 1389) +++ trunk/src/test/TSTest.java 2008-10-02 07:24:44 UTC (rev 1390) @@ -5,6 +5,7 @@ import jason.asSemantics.Intention; import jason.asSemantics.Option; import jason.asSemantics.TransitionSystem; +import jason.asSyntax.ASSyntax; import jason.asSyntax.Literal; import jason.asSyntax.StringTerm; import jason.asSyntax.StringTermImpl; @@ -36,7 +37,7 @@ Literal content = Literal.parseLiteral("~alliance"); content.addSource(new Structure("ag1")); - Trigger te1 = Trigger.parseTrigger("+a(10)"); + Trigger te1 = ASSyntax.parseTrigger("+a(10)"); try { List<Option> rp = ts.relevantPlans(te1); @@ -54,7 +55,7 @@ e.printStackTrace(); } - Trigger te2 = Trigger.parseTrigger("+a(20)"); + Trigger te2 = ASSyntax.parseTrigger("+a(20)"); try { List<Option> rp = ts.relevantPlans(te2); Modified: trunk/src/test/TermTest.java =================================================================== --- trunk/src/test/TermTest.java 2008-09-30 16:33:33 UTC (rev 1389) +++ trunk/src/test/TermTest.java 2008-10-02 07:24:44 UTC (rev 1390) @@ -1,8 +1,8 @@ package test; import jason.asSemantics.Unifier; +import jason.asSyntax.ASSyntax; import jason.asSyntax.Atom; -import jason.asSyntax.DefaultTerm; import jason.asSyntax.ListTerm; import jason.asSyntax.ListTermImpl; import jason.asSyntax.Literal; @@ -107,9 +107,9 @@ assertEquals(x1.hashCode(), ta.hashCode()); } - public void testUnifies() { + public void testUnifies() throws ParseException { assertTrue(new Unifier().unifies(new Structure("a"), new Structure("a"))); - assertTrue(new Unifier().unifies(DefaultTerm.parse("a"), DefaultTerm.parse("a"))); + assertTrue(new Unifier().unifies(ASSyntax.parseTerm("a"), ASSyntax.parseTerm("a"))); assertTrue(new Unifier().unifies(new Structure("a"), new VarTerm("X"))); Unifier u = new Unifier(); @@ -316,10 +316,10 @@ assertTrue(u.unifies(a,Pred.parsePred("s[b]"))); } - public void testAnnotsUnify7() { + public void testAnnotsUnify7() throws ParseException { // p[a,b,c,d] = p[a,c|R] - ok and R=[b,d] - Term t1 = DefaultTerm.parse("p[a,b,c,d]"); - Term t2 = DefaultTerm.parse("p[a,c|R]"); + Term t1 = ASSyntax.parseTerm("p[a,b,c,d]"); + Term t2 = ASSyntax.parseTerm("p[a,c|R]"); Unifier u = new Unifier(); assertTrue(u.unifies(t1, t2)); assertEquals(u.get("R").toString(),"[b,d]"); @@ -330,25 +330,25 @@ assertEquals(u.get("R").toString(),"[b,d]"); // p[H|R] = p[a,b,c,d] - ok and R=[b,c,d], H=a - Term t3 = DefaultTerm.parse("p[H|R]"); + Term t3 = ASSyntax.parseTerm("p[H|R]"); u = new Unifier(); assertTrue(u.unifies(t1, t3)); assertEquals(u.get("H").toString(),"a"); assertEquals(u.get("R").toString(),"[b,c,d]"); } - public void testApplyAnnots() { - Term t1 = DefaultTerm.parse("p[a,X,c,d]"); + public void testApplyAnnots() throws ParseException { + Term t1 = ASSyntax.parseTerm("p[a,X,c,d]"); Unifier u = new Unifier(); u.unifies(new VarTerm("X"), new Atom("z")); t1.apply(u); assertEquals("p[a,z,c,d]",t1.toString()); - t1 = DefaultTerm.parse("p[X,b,c,d]"); + t1 = ASSyntax.parseTerm("p[X,b,c,d]"); t1.apply(u); assertEquals("p[z,b,c,d]",t1.toString()); - t1 = DefaultTerm.parse("p[a,b,c,X]"); + t1 = ASSyntax.parseTerm("p[a,b,c,X]"); t1.apply(u); assertEquals("p[a,b,c,z]",t1.toString()); } @@ -389,8 +389,8 @@ assertEquals(t1.toString(), t2.toString()); - Trigger t3 = Trigger.parseTrigger("+!bid_normally(1)"); - Trigger t4 = Trigger.parseTrigger("+!bid_normally(N)"); + Trigger t3 = ASSyntax.parseTrigger("+!bid_normally(1)"); + Trigger t4 = ASSyntax.parseTrigger("+!bid_normally(N)"); u = new Unifier(); u.unifies(t3,t4); //System.out.println("u="+u); @@ -533,9 +533,9 @@ assertEquals("[5,10,b,c,casa,f(4),f(10),g,[3,4],[3,10],[1,1,1]]",l.toString()); } - public void testUnify4() { - Term a1 = DefaultTerm.parse("a(1)"); - Term a2 = DefaultTerm.parse("a(X+1)"); + public void testUnify4() throws ParseException { + Term a1 = ASSyntax.parseTerm("a(1)"); + Term a2 = ASSyntax.parseTerm("a(X+1)"); Unifier u = new Unifier(); u.unifies(new VarTerm("X"),new NumberTermImpl(0)); assertFalse(a1.equals(a2)); @@ -677,10 +677,6 @@ assertEquals(8,p2.getAnnots().size()); } - public static void main(String[] a) { - new TermTest().testAnnotsUnify7(); - } - public void testGetTermsArray() { Structure s2 = Structure.parse("a(1,2,3)"); Term[] a = s2.getTermsArray(); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |