本文整理汇总了Java中jason.asSyntax.ASSyntax.parseLiteral方法的典型用法代码示例。如果您正苦于以下问题:Java ASSyntax.parseLiteral方法的具体用法?Java ASSyntax.parseLiteral怎么用?Java ASSyntax.parseLiteral使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类jason.asSyntax.ASSyntax
的用法示例。
在下文中一共展示了ASSyntax.parseLiteral方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: testCompare
import jason.asSyntax.ASSyntax; //导入方法依赖的package包/类
public void testCompare() throws ParseException {
Literal p1 = ASSyntax.parseLiteral("ns1::a");
Literal p2 = ASSyntax.parseLiteral("ns2::b");
Literal p3 = ASSyntax.parseLiteral("ns2::a");
//assertNotSame(p1.getPredicateIndicator().hashCode(), p2.getPredicateIndicator().hashCode() );
//assertNotSame(p1.getPredicateIndicator().hashCode(), p3.getPredicateIndicator().hashCode() );
assertNotSame(p1.hashCode(), p3.hashCode() );
assertEquals(p1.compareTo(p2), -1);
assertEquals(p1.compareTo(null), -1);
assertEquals(p2.compareTo(p1), 1);
assertEquals(p1.compareTo(p1), 0);
p1 = ASSyntax.parseLiteral("ns1::a");
p2 = ASSyntax.parseLiteral("ns1::b");
assertEquals(p1.compareTo(p2), -1);
assertEquals(p1.compareTo(null), -1);
assertEquals(p2.compareTo(p1), 1);
assertEquals(p1.compareTo(p1), 0);
}
示例2: admCommand
import jason.asSyntax.ASSyntax; //导入方法依赖的package包/类
/**
* Commands that the owner of the scheme can perform.
*
* @param cmd, possible values (as strings):
* commitMission(<agent>,<mission>),
* goalDone(<agent>,<goal>) -- for performance goals --,
* goalSatisfied(<goal>) -- for achievement goals --
* setCardinality(<element type>,<element id>,<new min>,<new max>)
* [element type=mission]
*
* @throws CartagoException
* @throws jason.asSyntax.parser.ParseException
* @throws MoiseException
* @throws NoValueException
*/
@OPERATION @LINK public void admCommand(String cmd) throws CartagoException, jason.asSyntax.parser.ParseException, NoValueException, MoiseException, ParseException {
if (!running) return;
// this operation is available only for the owner of the artifact
if ((!getOpUserName().equals(ownerAgent)) && !getOpUserName().equals("workspace-manager")) {
failed("Error: agent '"+getOpUserName()+"' is not allowed to run "+cmd,"reason",new JasonTermWrapper("not_allowed_to_start(admCommand)"));
} else {
Literal lCmd = ASSyntax.parseLiteral(cmd);
if (lCmd.getFunctor().equals("goalDone")) {
goalDone(fixAgName(lCmd.getTerm(0).toString()), lCmd.getTerm(1).toString());
} else if (lCmd.getFunctor().equals("commitMission")) {
commitMission(fixAgName(lCmd.getTerm(0).toString()), lCmd.getTerm(1).toString());
} else if (lCmd.getFunctor().equals("goalSatisfied")) {
enableSatisfied(lCmd.getTerm(0).toString());
} else if (lCmd.getFunctor().equals("setCardinality")) {
setCardinality(lCmd.getTerm(0).toString(), lCmd.getTerm(1).toString(), (int)((NumberTerm)lCmd.getTerm(2)).solve(), (int)((NumberTerm)lCmd.getTerm(3)).solve());
}
}
}
示例3: admCommand
import jason.asSyntax.ASSyntax; //导入方法依赖的package包/类
/**
* Commands that the owner of the group can perform.
*
* @param cmd, possible values (as strings):
* adoptRole(<agent>,<role>)
* setCardinality(<element type>,<element id>,<new min>,<new max>)
* [element type= role/subgroup]
*
* @throws CartagoException
* @throws jason.asSyntax.parser.ParseException
* @throws NoValueException
* @throws MoiseException
*/
@OPERATION @LINK public void admCommand(String cmd) throws CartagoException, jason.asSyntax.parser.ParseException, NoValueException, MoiseException, ParseException {
// this operation is available only for the owner of the artifact
if (getCurrentOpAgentId() != null && (!getOpUserName().equals(ownerAgent)) && !getOpUserName().equals("workspace-manager")) {
failed("Error: agent '"+getOpUserName()+"' is not allowed to run "+cmd,"reason",new JasonTermWrapper("not_allowed_to_start(admCommand)"));
} else {
Literal lCmd = ASSyntax.parseLiteral(cmd);
if (lCmd.getFunctor().equals("adoptRole")) {
adoptRole(fixAgName(lCmd.getTerm(0).toString()), lCmd.getTerm(1).toString());
} else if (lCmd.getFunctor().equals("leaveRole")) {
System.out.println("adm leave role not implemented yet! come back soon");
} else if (lCmd.getFunctor().equals("setCardinality")) {
setCardinality(lCmd.getTerm(0).toString(), lCmd.getTerm(1).toString(), (int)((NumberTerm)lCmd.getTerm(2)).solve(), (int)((NumberTerm)lCmd.getTerm(3)).solve());
}
}
}
示例4: testGroupToProlog
import jason.asSyntax.ASSyntax; //导入方法依赖的package包/类
@Test
public void testGroupToProlog() {
//Group g = oe.getOS().getSS().getRootGrSpec().findSubGroup("attack");
// the order changes always, improve this test
//assertEquals("group_specification(attack,[role(middle,5,5,[leader],[link(communication,player,inter_group),link(communication,coach,inter_group)]),role(leader,0,1,[middle],[link(communication,player,inter_group),link(authority,player,inter_group),link(communication,coach,inter_group)]),role(attacker,2,2,[],[link(communication,player,inter_group),link(communication,coach,inter_group)])],[],properties([]))", g.getAsProlog());
//g = oe.getOS().getSS().getRootGrSpec();
// the order changes always, improve this test
//assertEquals("group_specification(team,[role(coach,1,2,[],[link(authority,player,inter_group)])],[attack(1,1),defense(1,1)],properties([]))", g.getAsProlog());
OS os = OS.loadOSFromURI("examples/auction/auction-os.xml");
System.out.println(os.getAsProlog());
Literal ospl = null;
try {
ospl = ASSyntax.parseLiteral(os.getAsProlog());
} catch (ParseException e) {
e.printStackTrace();
}
assertNotNull(ospl);
}
示例5: testRelExpType
import jason.asSyntax.ASSyntax; //导入方法依赖的package包/类
public void testRelExpType() throws ParseException {
assertTrue(ASSyntax.parseFormula("N>1").isLiteral()); // they need to be literal for unification test
assertTrue(ASSyntax.parseFormula("a & b").isLiteral());
Literal l = ASSyntax.parseLiteral("b(_, (B & not X))");
Unifier u = new Unifier();
l.makeVarsAnnon(u);
assertTrue(u.size() >= 2);
Agent ag = new Agent();
ag.initAg();
ag.getBB().add(ASSyntax.parseLiteral("b(10, (vl(X) & not X > 10))"));
Iterator<Unifier> i = l.logicalConsequence(ag, new Unifier());
assertTrue(i.hasNext());
l = (Literal)l.capply(i.next());
System.out.println(l);
assertEquals("b(10,(vl(X) & not ((X > 10))))", l.toString());
}
示例6: testApply1
import jason.asSyntax.ASSyntax; //导入方法依赖的package包/类
public void testApply1() throws ParseException {
Term t = ASSyntax.parseTerm("A::bob");
Unifier u = new Unifier();
u.unifies(new VarTerm("A"), new Atom("ns"));
t = t.capply(u);
assertEquals("ns::bob", t.toString());
t = ASSyntax.parseTerm("A::~bob(10)[a(20)]");
u = new Unifier();
u.unifies(new VarTerm("A"), new Atom("ns"));
t = t.capply(u);
assertEquals("ns::~bob(10)[a(20)]", t.toString());
Literal l = ASSyntax.parseLiteral("f(default)");
assertEquals(l.getTerm(0), Literal.DefaultNS);
assertTrue(l.getTerm(0) == Literal.DefaultNS);
Literal p = ASSyntax.parseLiteral("f(NS)");
u = new Unifier();
u.unifies(p, l);
p = (Literal)p.capply(u);
assertTrue(p.getTerm(0) == Literal.DefaultNS);
}
示例7: testCompare
import jason.asSyntax.ASSyntax; //导入方法依赖的package包/类
public void testCompare() throws ParseException {
Literal p1 = ASSyntax.parseLiteral("ns1::a");
Literal p2 = ASSyntax.parseLiteral("ns2::b");
Literal p3 = ASSyntax.parseLiteral("ns2::a");
//assertNotSame(p1.getPredicateIndicator().hashCode(), p2.getPredicateIndicator().hashCode() );
//assertNotSame(p1.getPredicateIndicator().hashCode(), p3.getPredicateIndicator().hashCode() );
assertNotSame(p1.hashCode(), p3.hashCode() );
assertEquals(p1.compareTo(p2), -1);
assertEquals(p1.compareTo(null), -1);
assertEquals(p2.compareTo(p1), 1);
assertEquals(p1.compareTo(p1), 0);
p1 = ASSyntax.parseLiteral("ns1::a");
p2 = ASSyntax.parseLiteral("ns1::b");
assertEquals(p1.compareTo(p2), -1);
assertEquals(p1.compareTo(null), -1);
assertEquals(p2.compareTo(p1), 1);
assertEquals(p1.compareTo(p1), 0);
}
示例8: testPrint
import jason.asSyntax.ASSyntax; //导入方法依赖的package包/类
public void testPrint() throws ParseException {
Term t1 = ASSyntax.parseLiteral("ns1::kk(30, j::uu)");
assertEquals("ns1::kk(30,j::uu)", t1.toString());
t1 = ASSyntax.parseLiteral("true");
assertEquals("true", t1.toString());
t1 = ASSyntax.parseLiteral("ns1::kk(30, A::uu)");
assertEquals("ns1::kk(30,A::uu)", t1.toString());
t1 = ASSyntax.parseLiteral("ns1::kk(30, j::A)");
assertEquals("ns1::kk(30,j::A)", t1.toString());
t1 = ASSyntax.parseLiteral("ns1::X");
assertEquals("ns1::X", t1.toString());
t1 = ASSyntax.parseLiteral("X::bob");
assertEquals("X::bob", t1.toString());
t1 = ASSyntax.parseLiteral("ns1::~X");
assertEquals("ns1::~X", t1.toString());
t1 = ASSyntax.parseLiteral("N::~X");
assertEquals("N::~X", t1.toString());
t1 = ASSyntax.parseLiteral("ns::_");
assertTrue(t1.toString().startsWith("ns::_"));
t1 = ASSyntax.parseLiteral("ns::~p");
assertEquals("ns::~p", t1.toString());
}
示例9: testFactory
import jason.asSyntax.ASSyntax; //导入方法依赖的package包/类
public void testFactory() throws ParseException {
// create the literal 'p'
Literal l = createLiteral("p");
assertEquals("p", l.toString());
// create the literal 'p(a,3)'
l = createLiteral("p", createAtom("a"), createNumber(3));
assertEquals("p(a,3)", l.toString());
// create the literal 'p(a,3)[s,"s"]'
l = createLiteral("p", createAtom("a"), createNumber(3))
.addAnnots(createAtom("s"), createString("s"));
assertEquals("p(a,3)[\"s\",s]", l.toString());
// create the literal '~p(a,3)[s,"s"]'
l = createLiteral(Literal.LNeg, "p", createAtom("a"), createNumber(3))
.addAnnots(createAtom("s"), createString("s"));
assertEquals("~p(a,3)[\"s\",s]", l.toString());
l = ASSyntax.parseLiteral(l.toString());
assertEquals("~p(a,3)[\"s\",s]", l.toString());
ListTerm ll = ASSyntax.createList(); // empty list
assertEquals("[]", ll.toString());
ll = ASSyntax.createList(createAtom("a"), createLiteral("b", createNumber(5)));
assertEquals("[a,b(5)]", ll.toString());
ll = ASSyntax.parseList(ll.toString());
assertEquals("[a,b(5)]", ll.toString());
}
示例10: testPrint
import jason.asSyntax.ASSyntax; //导入方法依赖的package包/类
public void testPrint() throws ParseException {
Term t1 = ASSyntax.parseLiteral("ns1::kk(30, j::uu)");
assertEquals("ns1::kk(30,j::uu)", t1.toString());
t1 = ASSyntax.parseLiteral("true");
assertEquals("true", t1.toString());
t1 = ASSyntax.parseLiteral("ns1::kk(30, A::uu)");
assertEquals("ns1::kk(30,A::uu)", t1.toString());
t1 = ASSyntax.parseLiteral("ns1::kk(30, j::A)");
assertEquals("ns1::kk(30,j::A)", t1.toString());
t1 = ASSyntax.parseLiteral("ns1::X");
assertEquals("ns1::X", t1.toString());
t1 = ASSyntax.parseLiteral("X::bob");
assertEquals("X::bob", t1.toString());
t1 = ASSyntax.parseLiteral("ns1::~X");
assertEquals("ns1::~X", t1.toString());
t1 = ASSyntax.parseLiteral("N::~X");
assertEquals("N::~X", t1.toString());
t1 = ASSyntax.parseLiteral("ns::_");
assertTrue(t1.toString().startsWith("ns::_"));
t1 = ASSyntax.parseLiteral("ns::~p");
assertEquals("ns::~p", t1.toString());
}
示例11: testNegVar
import jason.asSyntax.ASSyntax; //导入方法依赖的package包/类
public void testNegVar() throws ParseException {
Literal l = ASSyntax.parseLiteral("~B");
assertTrue(l.isVar());
assertTrue(l.negated());
l = (Literal)l.clone();
assertTrue(l.isVar());
assertTrue(l.negated());
Literal l1 = ASSyntax.parseLiteral("~B");
Literal l2 = ASSyntax.parseLiteral("B");
assertTrue(l1.equals(l2)); // see comment in varterm equals
}
示例12: testFactory
import jason.asSyntax.ASSyntax; //导入方法依赖的package包/类
public void testFactory() throws ParseException {
// create the literal 'p'
Literal l = createLiteral("p");
assertEquals("p", l.toString());
// create the literal 'p(a,3)'
l = createLiteral("p", createAtom("a"), createNumber(3));
assertEquals("p(a,3)", l.toString());
// create the literal 'p(a,3)[s,"s"]'
l = createLiteral("p", createAtom("a"), createNumber(3))
.addAnnots(createAtom("s"), createString("s"));
assertEquals("p(a,3)[\"s\",s]", l.toString());
// create the literal '~p(a,3)[s,"s"]'
l = createLiteral(Literal.LNeg, "p", createAtom("a"), createNumber(3))
.addAnnots(createAtom("s"), createString("s"));
assertEquals("~p(a,3)[\"s\",s]", l.toString());
l = ASSyntax.parseLiteral(l.toString());
assertEquals("~p(a,3)[\"s\",s]", l.toString());
ListTerm ll = ASSyntax.createList(); // empty list
assertEquals("[]", ll.toString());
ll = ASSyntax.createList(createAtom("a"), createLiteral("b", createNumber(5)));
assertEquals("[a,b(5)]", ll.toString());
ll = ASSyntax.parseList(ll.toString());
assertEquals("[a,b(5)]", ll.toString());
}
示例13: interactionCommand
import jason.asSyntax.ASSyntax; //导入方法依赖的package包/类
@LINK public void interactionCommand(String cmd) throws CartagoException, jason.asSyntax.parser.ParseException {
Literal lCmd = ASSyntax.parseLiteral(cmd);
if (lCmd.getFunctor().equals("goalAchieved")) {
goalDone(fixAgName(lCmd.getTerm(0).toString()), lCmd.getTerm(1).toString());
}
}
示例14: createAgs
import jason.asSyntax.ASSyntax; //导入方法依赖的package包/类
@Override
public void createAgs() throws JasonException {
if (getProject().isJade()) {
rJADE = new RunJadeMAS();
rJADE.setProject(project);
rJADE.addInitArgs( getJaCaMoProject().getPlatformParameters("jade"));
rJADE.createButtons();
if (rJADE.startContainer()) {
logger.info("Jade Container started.");
} else {
logger.log(Level.WARNING,"Error starting JADE container!");
return;
}
}
// add jacamo archs
List<AgentParameters> lags = new ArrayList<AgentParameters>();
for (AgentParameters ap: getJaCaMoProject().getAgents()) {
if (ap.getNbInstances() > 0 && getJaCaMoProject().isInDeployment(ap.getHost())) {
if (getJaCaMoProject().getNodeHost(ap.getHost()) != null) {
logger.warning("**** Remote agent creation is not implemented yet! The agent "+ap.getAgName()+" @ "+getJaCaMoProject().getNodeHost(ap.getHost())+" wasn't created");
continue;
}
lags.add(ap);
ap.insertArchClass( // so that the user ag arch is the first arch in the chain
new ClassParameters(CAgentArch.class.getName()),
new ClassParameters(JaCaMoAgArch.class.getName()));
// includes mind inspector
String debug = ap.getOption("debug");
if (debug != null) {
try {
Literal lDebug = ASSyntax.parseLiteral(debug);
ap.addOption(lDebug.getFunctor(), lDebug.getTerm(0).toString());
} catch (jason.asSyntax.parser.ParseException e) {
logger.log(Level.WARNING, "Error installing mind inspector for agent "+ap.getAgName(),e);
}
}
}
}
project.getAgents().clear(); // clear only after iterating the getAgInstances!
project.getAgents().addAll(lags);
project.fixAgentsSrc();
if (getProject().isJade()) {
if (getJaCaMoProject().hasPlatformParameter("jade", "-gui")) {
Config.get().setProperty(Config.JADE_RMA, "false");
}
if (getJaCaMoProject().hasPlatformParameter("jade", "-sniffer")) {
Config.get().setProperty(Config.JADE_SNIFFER, "false");
}
rJADE.createAgs();
} else {
super.createAgs();
}
}
示例15: testUnifies
import jason.asSyntax.ASSyntax; //导入方法依赖的package包/类
public void testUnifies() throws ParseException {
Term t1 = ASSyntax.parseLiteral("ns1::kk(30,j::uu)");
Literal t2 = ASSyntax.parseLiteral("ns1::kk(30,j::uu)");
Term t3 = ASSyntax.parseLiteral("kk(30,j::uu)");
Term t4 = ASSyntax.parseLiteral("ns4::kk(30,j::uu)");
assertTrue(new Unifier().unifies(t1, t2));
t2 = ASSyntax.parseLiteral("ns1::kk(30,j::X)");
Unifier u = new Unifier();
assertTrue(u.unifies(t1, t2));
assertEquals("uu", u.get("X").toString());
t2 = ASSyntax.parseLiteral("ns1::kk(30,j::_)");
u = new Unifier();
assertTrue(u.unifies(t1, t2));
t2 = ASSyntax.parseLiteral("ns2::kk(30,X)");
u = new Unifier();
assertFalse(u.unifies(t1, t2));
assertFalse(u.unifies(t1, t3));
t2 = ASSyntax.parseLiteral("A::kk(30,X)");
u = new Unifier();
assertFalse(u.unifies(t1, t2)); // X \= j::uu
t2 = ASSyntax.parseLiteral("A::kk(30,j::X)");
u = new Unifier();
assertTrue(u.unifies(t1, t2));
assertEquals("ns1", u.get("A").toString());
assertEquals("uu", u.get("X").toString());
u = new Unifier();
u.unifies(new VarTerm("A"), ASSyntax.parseTerm("default"));
u.unifies(new VarTerm("X"), ASSyntax.parseTerm("uu"));
t2 = (Literal)t2.capply(u);
assertEquals("kk(30,j::uu)", t2.toString());
assertTrue(u.unifies(t2, t3));
assertTrue(u.unifies(t3, t2));
assertFalse(u.unifies(t2, t1));
assertFalse(u.unifies(t1, t2));
assertFalse(u.unifies(t4, t1));
assertFalse(u.unifies(t1, t4));
}