|
From: <jom...@us...> - 2014-05-12 13:39:55
|
Revision: 1776
http://sourceforge.net/p/jason/svn/1776
Author: jomifred
Date: 2014-05-12 13:39:52 +0000 (Mon, 12 May 2014)
Log Message:
-----------
fix bug reported by Alejandro Guerra Hern?\195?\161ndez related to sources
Modified Paths:
--------------
trunk/doc/mini-tutorial/src/getting-started/greeting/greeting.mas2j
trunk/src/jason/asSemantics/TransitionSystem.java
trunk/src/jason/asSyntax/PlanBodyImpl.java
trunk/src/test/ASParserTest.java
trunk/src/test/PlanTest.java
Modified: trunk/doc/mini-tutorial/src/getting-started/greeting/greeting.mas2j
===================================================================
--- trunk/doc/mini-tutorial/src/getting-started/greeting/greeting.mas2j 2014-04-25 21:04:48 UTC (rev 1775)
+++ trunk/doc/mini-tutorial/src/getting-started/greeting/greeting.mas2j 2014-05-12 13:39:52 UTC (rev 1776)
@@ -2,7 +2,7 @@
MAS greeting {
- infrastructure: Jade
+ infrastructure: Centralised
agents:
bob;
Modified: trunk/src/jason/asSemantics/TransitionSystem.java
===================================================================
--- trunk/src/jason/asSemantics/TransitionSystem.java 2014-04-25 21:04:48 UTC (rev 1775)
+++ trunk/src/jason/asSemantics/TransitionSystem.java 2014-05-12 13:39:52 UTC (rev 1776)
@@ -51,6 +51,7 @@
import jason.asSyntax.UnnamedVar;
import jason.asSyntax.VarTerm;
import jason.asSyntax.parser.ParseException;
+import jason.bb.BeliefBase;
import jason.runtime.Settings;
import jason.stdlib.add_nested_source;
import jason.stdlib.desire;
@@ -317,7 +318,7 @@
getAg().addBel((Literal)content);
added = true;
}
- }
+ }
if (!added) {
Literal received = new LiteralImpl(Message.kqmlReceivedFunctor).addTerms(
@@ -617,7 +618,7 @@
PlanBody h = im.getCurrentStep();
Term bTerm = h.getBodyTerm();
-
+
if (bTerm instanceof VarTerm) { // de-var bTerm
bTerm = bTerm.capply(u);
if (bTerm.isVar()) { // the case of !A with A not ground
@@ -870,11 +871,11 @@
// end code for TRO
}
}
- //the code below is done in the PlanBody constructor
- //body = body.forceFullLiteralImpl();
- //if (!body.hasSource()) { // do not add source(self) in case the programmer set the source
- // body.addAnnot(BeliefBase.TSelf);
- //}
+ //the code below is done in the PlanBody constructor (to DO it as planbody constructor DOES NOT work)
+ body = body.forceFullLiteralImpl();
+ if (!body.hasSource()) { // do not add source(self) in case the programmer set the source
+ body.addAnnot(BeliefBase.TSelf);
+ }
return body;
}
Modified: trunk/src/jason/asSyntax/PlanBodyImpl.java
===================================================================
--- trunk/src/jason/asSyntax/PlanBodyImpl.java 2014-04-25 21:04:48 UTC (rev 1775)
+++ trunk/src/jason/asSyntax/PlanBodyImpl.java 2014-05-12 13:39:52 UTC (rev 1776)
@@ -2,7 +2,6 @@
import jason.asSemantics.Agent;
import jason.asSemantics.Unifier;
-import jason.bb.BeliefBase;
import java.util.Iterator;
import java.util.logging.Level;
@@ -56,7 +55,9 @@
if (b != null) {
srcInfo = b.getSrcInfo();
+ /*
// add source(self) in some commands (it is preferred to do this at compile time than runtime)
+ // DOES NOT work with variables (see the case of kqmlPlans.asl and the bug reported by Alexandro)
if (b instanceof Literal) {
switch (formType) {
case achieve:
@@ -79,6 +80,7 @@
break;
}
}
+ */
}
term = b;
}
Modified: trunk/src/test/ASParserTest.java
===================================================================
--- trunk/src/test/ASParserTest.java 2014-04-25 21:04:48 UTC (rev 1775)
+++ trunk/src/test/ASParserTest.java 2014-05-12 13:39:52 UTC (rev 1776)
@@ -13,7 +13,6 @@
import jason.asSyntax.LogExpr;
import jason.asSyntax.LogicalFormula;
import jason.asSyntax.NumberTerm;
-import jason.asSyntax.NumberTermImpl;
import jason.asSyntax.Plan;
import jason.asSyntax.PlanBody;
import jason.asSyntax.PlanBody.BodyType;
@@ -221,7 +220,7 @@
public void testParsingPlanBodyTerm1() throws ParseException {
Literal l = ASSyntax.parseLiteral("p( {a1({f}); a2}, a3, {!g}, {?b;.print(oi) }, 10)");
- assertEquals("p({ a1({ f }); a2 },a3,{ !g[source(self)] },{ ?b; .print(oi) },10)", l.toString());
+ assertEquals("p({ a1({ f }); a2 },a3,{ !g },{ ?b; .print(oi) },10)", l.toString());
assertEquals(5,l.getArity());
assertTrue(l.getTerm(0) instanceof PlanBody);
assertTrue(l.getTerm(0).isPlanBody());
@@ -251,7 +250,7 @@
Unifier un = new Unifier();
Term t = ASSyntax.parseTerm("{ +a(10) }");
assertTrue(t.isPlanBody());
- assertEquals("{ +a(10)[source(self)] }", t.toString()); // plan terms should not have default annotations
+ assertEquals("{ +a(10) }", t.toString()); // plan terms should not have default annotations
t = ASSyntax.parseTerm("{ @label(a,b,10,test,long,label) +a(10) }");
assertTrue(t instanceof Plan);
@@ -259,10 +258,10 @@
t = ASSyntax.parseTerm("{ -+a(10) }");
assertTrue(t.isPlanBody());
- assertEquals("{ -+a(10)[source(self)] }", t.toString());
+ assertEquals("{ -+a(10) }", t.toString());
t = ASSyntax.parseTerm("{ -a; +b }");
- assertEquals("{ -a[source(self)]; +b[source(self)] }", t.toString());
+ assertEquals("{ -a; +b }", t.toString());
assertTrue(t.isPlanBody());
PlanBody pb = (PlanBody)t;
assertEquals(2, pb.getPlanSize());
@@ -285,18 +284,18 @@
assertTrue(t.isPlanBody());
pb = (PlanBody)t;
assertEquals(1, pb.getPlanSize());
- assertEquals("a[source(self)]", pb.getBodyTerm().toString());
+ assertEquals("a", pb.getBodyTerm().toString());
assertEquals(PlanBody.BodyType.achieve, pb.getBodyType());
t = ASSyntax.parseTerm("{ +!a <- +b }");
- assertEquals("{ +!a <- +b[source(self)] }", t.toString());
+ assertEquals("{ +!a <- +b }", t.toString());
assertTrue(t.isStructure());
s = (Structure)t;
assertEquals(4, s.getArity());
assertEquals("plan", s.getFunctor());
t = ASSyntax.parseTerm("{ +a <- +c }");
- assertEquals("{ +a <- +c[source(self)] }", t.toString());
+ assertEquals("{ +a <- +c }", t.toString());
assertTrue(t.isStructure());
s = (Structure)t;
assertEquals(4, s.getArity());
Modified: trunk/src/test/PlanTest.java
===================================================================
--- trunk/src/test/PlanTest.java 2014-04-25 21:04:48 UTC (rev 1775)
+++ trunk/src/test/PlanTest.java 2014-05-12 13:39:52 UTC (rev 1776)
@@ -108,9 +108,9 @@
//assertEquals(p1.getBody().getArity(), bl.getArity());
Unifier u = new Unifier();
assertTrue(u.unifies(p1.getBody(), bl));
- assertEquals("a1[source(self)]", u.get("A1").toString());
+ assertEquals("a1", u.get("A1").toString());
assertEquals("a2", u.get("A2").toString());
- assertEquals(".print(a); !g1[source(self)]", u.get("A3").toString());
+ assertEquals(".print(a); !g1", u.get("A3").toString());
}
public void testPlanTermWithVarBody() throws ParseException {
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|