From: <jom...@us...> - 2008-09-30 16:34:05
|
Revision: 1389 http://jason.svn.sourceforge.net/jason/?rev=1389&view=rev Author: jomifred Date: 2008-09-30 16:33:33 +0000 (Tue, 30 Sep 2008) Log Message: ----------- use new constructors from ASSyntax in jason team/jmoise Modified Paths: -------------- trunk/applications/as-unit-test/src/jason/asunit/TestAgent.java trunk/applications/jason-moise/src/jmoise/OrgAgent.java trunk/applications/jason-team/src/java/arch/ACProxy.java trunk/applications/jason-team/src/java/arch/CowboyArch.java trunk/src/jason/asSemantics/TransitionSystem.java trunk/src/jason/asSyntax/ASSyntax.java trunk/src/jason/asSyntax/Literal.java trunk/src/jason/asSyntax/LogExpr.java trunk/src/jason/asSyntax/Structure.java trunk/src/jason/asSyntax/VarTerm.java trunk/src/jason/asSyntax/parser/AS2JavaParser.jcc trunk/src/jason/asSyntax/parser/as2j.java trunk/src/jason/stdlib/add_nested_source.java Modified: trunk/applications/as-unit-test/src/jason/asunit/TestAgent.java =================================================================== --- trunk/applications/as-unit-test/src/jason/asunit/TestAgent.java 2008-09-29 14:34:41 UTC (rev 1388) +++ trunk/applications/as-unit-test/src/jason/asunit/TestAgent.java 2008-09-30 16:33:33 UTC (rev 1389) @@ -11,7 +11,6 @@ import jason.asSemantics.Unifier; import jason.asSyntax.ASSyntax; import jason.asSyntax.Literal; -import jason.asSyntax.LogExpr; import jason.asSyntax.LogicalFormula; import jason.asSyntax.Structure; import jason.asSyntax.Trigger; @@ -128,7 +127,7 @@ public void assertBel(String formula, int maxCycles) { try { - assertBel(LogExpr.tryParsingLogExpr(formula), maxCycles); + assertBel(ASSyntax.parseFormula(formula), maxCycles); } catch (ParseException e) { fail("Parsing '"+formula+"' as a formula failed!"); } Modified: trunk/applications/jason-moise/src/jmoise/OrgAgent.java =================================================================== --- trunk/applications/jason-moise/src/jmoise/OrgAgent.java 2008-09-29 14:34:41 UTC (rev 1388) +++ trunk/applications/jason-moise/src/jmoise/OrgAgent.java 2008-09-30 16:33:33 UTC (rev 1389) @@ -9,6 +9,7 @@ import jason.asSemantics.Intention; import jason.asSemantics.Message; import jason.asSemantics.Unifier; +import jason.asSyntax.ASSyntax; import jason.asSyntax.Atom; import jason.asSyntax.DefaultTerm; import jason.asSyntax.InternalActionLiteral; @@ -256,9 +257,7 @@ Structure giAnnot = new Structure("group"); giAnnot.addTerm(gr); - Literal obl = new LiteralImpl(type); - obl.addTerms(sch,new UnnamedVar()); - obl.addAnnot(giAnnot); + Literal obl = ASSyntax.createLiteral(type, sch, new UnnamedVar()).addAnnots(giAnnot); // find obligation(sch,_)[group(id)] Unifier un = new Unifier(); Modified: trunk/applications/jason-team/src/java/arch/ACProxy.java =================================================================== --- trunk/applications/jason-team/src/java/arch/ACProxy.java 2008-09-29 14:34:41 UTC (rev 1388) +++ trunk/applications/jason-team/src/java/arch/ACProxy.java 2008-09-30 16:33:33 UTC (rev 1389) @@ -1,5 +1,8 @@ package arch; +import static jason.asSyntax.ASSyntax.createLiteral; +import static jason.asSyntax.ASSyntax.createNumber; + import jason.asSyntax.Literal; import jason.asSyntax.LiteralImpl; import jason.asSyntax.NumberTermImpl; @@ -152,8 +155,7 @@ arq.setScore(score); // add location in perception - Literal lpos = new LiteralImpl("pos"); - lpos.addTerms(new NumberTermImpl(agx), new NumberTermImpl(agy), new NumberTermImpl(step)); + Literal lpos = createLiteral("pos", createNumber(agx), createNumber(agy), createNumber(step)); percepts.add(lpos); arq.initKnownCows(); Modified: trunk/applications/jason-team/src/java/arch/CowboyArch.java =================================================================== --- trunk/applications/jason-team/src/java/arch/CowboyArch.java 2008-09-29 14:34:41 UTC (rev 1388) +++ trunk/applications/jason-team/src/java/arch/CowboyArch.java 2008-09-30 16:33:33 UTC (rev 1389) @@ -1,5 +1,7 @@ package arch; +import static jason.asSyntax.ASSyntax.createLiteral; +import static jason.asSyntax.ASSyntax.createNumber; import jason.JasonException; import jason.ReceiverNotFoundException; import jason.RevisionFailedException; @@ -9,7 +11,6 @@ import jason.asSyntax.Literal; import jason.asSyntax.LiteralImpl; import jason.asSyntax.NumberTerm; -import jason.asSyntax.NumberTermImpl; import jason.asSyntax.Term; import jason.environment.grid.Location; import jason.mas2j.ClassParameters; @@ -243,11 +244,7 @@ } public static Literal createCellPerception(int x, int y, Term obj) { - Literal l = new LiteralImpl("cell"); - l.addTerms(new NumberTermImpl(x), - new NumberTermImpl(y), - obj); - return l; + return createLiteral("cell", createNumber(x), createNumber(y), obj); } void initKnownCows() { @@ -358,8 +355,7 @@ if (acView != null) acView.getModel().setAgPos(agid, x, y); model.incVisited(x, y); //getTS().getAg().getLogger().info("ag pos "+getMinerId(m.getSender())+" = "+x+","+y); - Literal tAlly = new LiteralImpl("ally_pos"); - tAlly.addTerms(new Atom(m.getSender()), new NumberTermImpl(x), new NumberTermImpl(y)); + Literal tAlly = createLiteral("ally_pos", new Atom(m.getSender()), createNumber(x), createNumber(y)); getTS().getAg().addBel( tAlly ); } catch (Exception e) { e.printStackTrace(); Modified: trunk/src/jason/asSemantics/TransitionSystem.java =================================================================== --- trunk/src/jason/asSemantics/TransitionSystem.java 2008-09-29 14:34:41 UTC (rev 1388) +++ trunk/src/jason/asSemantics/TransitionSystem.java 2008-09-30 16:33:33 UTC (rev 1389) @@ -187,8 +187,7 @@ } else if (conf.ag.socAcc(m)) { // generate an event - Literal received = new LiteralImpl("kqml_received"); - received.addTerms( + Literal received = new LiteralImpl("kqml_received").addTerms( new Atom(m.getSender()), new Atom(m.getIlForce()), content, Modified: trunk/src/jason/asSyntax/ASSyntax.java =================================================================== --- trunk/src/jason/asSyntax/ASSyntax.java 2008-09-29 14:34:41 UTC (rev 1388) +++ trunk/src/jason/asSyntax/ASSyntax.java 2008-09-30 16:33:33 UTC (rev 1389) @@ -43,9 +43,8 @@ .addAnnots(createAtom("s"), createString("s")); // create the literal '~p(a,3)[s,"s"]' - Literal l4 = createLiteral("p", createAtom("a"), createNumber(3)) - .addAnnots(createAtom("s"), createString("s")) - .setNegated(Literal.LNeg); + Literal l4 = createLiteral(Literal.LNeg, "p", createAtom("a"), createNumber(3)) + .addAnnots(createAtom("s"), createString("s")); // or use a parsing (easier but slow) Literal l4 = parseLiteral("~p(a,3)[s]"); @@ -56,8 +55,9 @@ */ public class ASSyntax { + /** - * Creates a new literal, the first argument is the functor (a string) + * Creates a new positive literal, the first argument is the functor (a string) * and the n remainder arguments are terms. see documentation of this * class for examples of use. */ @@ -147,4 +147,9 @@ return new as2j(new StringReader(sList)).list(); } + /** creates a new logical formula by parsing a string */ + public static LogicalFormula parseFormula(String sExpr) throws ParseException { + return (LogicalFormula)new as2j(new StringReader(sExpr)).log_expr(); + } + } Modified: trunk/src/jason/asSyntax/Literal.java =================================================================== --- trunk/src/jason/asSyntax/Literal.java 2008-09-29 14:34:41 UTC (rev 1388) +++ trunk/src/jason/asSyntax/Literal.java 2008-09-30 16:33:33 UTC (rev 1389) @@ -193,7 +193,8 @@ public Literal addTerms(List<Term> l) { logger.log(Level.SEVERE, "addTerms is not implemented in the class "+this.getClass().getSimpleName(), new Exception()); return null; } /** returns the i-th term (first term is 0) */ public Term getTerm(int i) { logger.log(Level.SEVERE, "getTerm(i) is not implemented in the class "+this.getClass().getSimpleName(), new Exception()); return null; } - public void setTerms(List<Term> l) { logger.log(Level.SEVERE, "setTerms is not implemented in the class "+this.getClass().getSimpleName(), new Exception()); } + /** set all terms of the literal and return this */ + public Literal setTerms(List<Term> l) { logger.log(Level.SEVERE, "setTerms is not implemented in the class "+this.getClass().getSimpleName(), new Exception()); return null; } public void setTerm(int i, Term t) { logger.log(Level.SEVERE, "setTerm is not implemented in the class "+this.getClass().getSimpleName(), new Exception()); } // pred Modified: trunk/src/jason/asSyntax/LogExpr.java =================================================================== --- trunk/src/jason/asSyntax/LogExpr.java 2008-09-29 14:34:41 UTC (rev 1388) +++ trunk/src/jason/asSyntax/LogExpr.java 2008-09-30 16:33:33 UTC (rev 1389) @@ -25,7 +25,6 @@ import jason.asSemantics.Agent; import jason.asSemantics.Unifier; -import jason.asSyntax.parser.ParseException; import jason.asSyntax.parser.as2j; import java.io.StringReader; @@ -210,9 +209,6 @@ } return null; } - public static LogicalFormula tryParsingLogExpr(String sExpr) throws ParseException { - return (LogicalFormula)new as2j(new StringReader(sExpr)).log_expr(); - } /** make a hard copy of the terms */ public LogicalFormula clone() { Modified: trunk/src/jason/asSyntax/Structure.java =================================================================== --- trunk/src/jason/asSyntax/Structure.java 2008-09-29 14:34:41 UTC (rev 1388) +++ trunk/src/jason/asSyntax/Structure.java 2008-09-30 16:33:33 UTC (rev 1389) @@ -212,10 +212,11 @@ } @Override - public void setTerms(List<Term> l) { + public Literal setTerms(List<Term> l) { terms = l; predicateIndicatorCache = null; resetHashCodeCache(); + return this; } @Override Modified: trunk/src/jason/asSyntax/VarTerm.java =================================================================== --- trunk/src/jason/asSyntax/VarTerm.java 2008-09-29 14:34:41 UTC (rev 1388) +++ trunk/src/jason/asSyntax/VarTerm.java 2008-09-30 16:33:33 UTC (rev 1389) @@ -290,9 +290,11 @@ } @Override - public void setTerms(List<Term> l) { + public Literal setTerms(List<Term> l) { if (value != null && value.isStructure()) { - ((Structure)getValue()).setTerms(l); + return ((Structure)getValue()).setTerms(l); + } else { + return this; } } Modified: trunk/src/jason/asSyntax/parser/AS2JavaParser.jcc =================================================================== --- trunk/src/jason/asSyntax/parser/AS2JavaParser.jcc 2008-09-29 14:34:41 UTC (rev 1388) +++ trunk/src/jason/asSyntax/parser/AS2JavaParser.jcc 2008-09-30 16:33:33 UTC (rev 1389) @@ -99,9 +99,7 @@ private Term changeToAtom(Object o) { Term u = (Term)o; if (u.isAtom()) { - Atom a = new Atom( ((Structure)u).getFunctor()); - a.setSrc(u); - return a; + return new Atom( (Literal)u); } else { return u; } @@ -403,17 +401,11 @@ ] F=pred() { if (F.getFunctor().equals("if")) { - Pred c = new Pred(".if_then_else"); - c.setTerms(F.getTerms()); - F = c; + F = (Pred)new Pred(".if_then_else").setTerms(F.getTerms()); } else if (F.getFunctor().equals("while")) { - Pred c = new Pred(".loop"); - c.setTerms(F.getTerms()); - F = c; + F = (Pred)new Pred(".loop").setTerms(F.getTerms()); } else if (F.getFunctor().equals("for")) { - Pred c = new Pred(".foreach"); - c.setTerms(F.getTerms()); - F = c; + F = (Pred)new Pred(".foreach").setTerms(F.getTerms()); } if (F.getFunctor().indexOf(".") >= 0) { Modified: trunk/src/jason/asSyntax/parser/as2j.java =================================================================== --- trunk/src/jason/asSyntax/parser/as2j.java 2008-09-29 14:34:41 UTC (rev 1388) +++ trunk/src/jason/asSyntax/parser/as2j.java 2008-09-30 16:33:33 UTC (rev 1389) @@ -69,9 +69,7 @@ private Term changeToAtom(Object o) { Term u = (Term)o; if (u.isAtom()) { - Atom a = new Atom( ((Structure)u).getFunctor()); - a.setSrc(u); - return a; + return new Atom( (Literal)u); } else { return u; } @@ -548,17 +546,11 @@ } F = pred(); if (F.getFunctor().equals("if")) { - Pred c = new Pred(".if_then_else"); - c.setTerms(F.getTerms()); - F = c; + F = (Pred)new Pred(".if_then_else").setTerms(F.getTerms()); } else if (F.getFunctor().equals("while")) { - Pred c = new Pred(".loop"); - c.setTerms(F.getTerms()); - F = c; + F = (Pred)new Pred(".loop").setTerms(F.getTerms()); } else if (F.getFunctor().equals("for")) { - Pred c = new Pred(".foreach"); - c.setTerms(F.getTerms()); - F = c; + F = (Pred)new Pred(".foreach").setTerms(F.getTerms()); } if (F.getFunctor().indexOf(".") >= 0) { @@ -1211,11 +1203,16 @@ finally { jj_save(0, xla); } } - final private boolean jj_3R_15() { - if (jj_3R_17()) return true; + final private boolean jj_3R_14() { + if (jj_3R_16()) return true; return false; } + final private boolean jj_3R_17() { + if (jj_scan_token(42)) return true; + return false; + } + final private boolean jj_3_1() { if (jj_scan_token(27)) return true; if (jj_scan_token(TK_BEGIN)) return true; @@ -1224,26 +1221,16 @@ return false; } - final private boolean jj_3R_16() { - if (jj_scan_token(27)) return true; + final private boolean jj_3R_13() { + if (jj_scan_token(39)) return true; return false; } - final private boolean jj_3R_14() { - if (jj_3R_16()) return true; + final private boolean jj_3R_16() { + if (jj_scan_token(27)) return true; return false; } - final private boolean jj_3R_17() { - if (jj_scan_token(42)) return true; - return false; - } - - final private boolean jj_3R_13() { - if (jj_scan_token(39)) return true; - return false; - } - final private boolean jj_3R_12() { Token xsp; xsp = jj_scanpos; @@ -1265,6 +1252,11 @@ return false; } + final private boolean jj_3R_15() { + if (jj_3R_17()) return true; + return false; + } + public as2jTokenManager token_source; SimpleCharStream jj_input_stream; public Token token, jj_nt; Modified: trunk/src/jason/stdlib/add_nested_source.java =================================================================== --- trunk/src/jason/stdlib/add_nested_source.java 2008-09-29 14:34:41 UTC (rev 1388) +++ trunk/src/jason/stdlib/add_nested_source.java 2008-09-30 16:33:33 UTC (rev 1389) @@ -100,15 +100,13 @@ return result; } else if (l.isLiteral()) { Literal result; - if (l.isAtom()) - result = new LiteralImpl(((Atom)l).getFunctor()); - else + if (l instanceof LiteralImpl) result = (Literal)l.clone(); + else + result = new LiteralImpl((Atom)l); // create the source annots - Pred ts = new Pred("source",1); - ts.addTerm(source); - ts.addAnnots(result.getAnnots("source")); + Literal ts = new Pred("source",1).addTerms(source).addAnnots(result.getAnnots("source")); result.delSources(); result.addAnnot(ts); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |