本文整理汇总了Java中jason.asSyntax.ASSyntax.parseFormula方法的典型用法代码示例。如果您正苦于以下问题:Java ASSyntax.parseFormula方法的具体用法?Java ASSyntax.parseFormula怎么用?Java ASSyntax.parseFormula使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类jason.asSyntax.ASSyntax
的用法示例。
在下文中一共展示了ASSyntax.parseFormula方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: testQueryCacheRR
import jason.asSyntax.ASSyntax; //导入方法依赖的package包/类
public void testQueryCacheRR() throws ParseException {
Agent ag = new Agent();
ag.initAg();
ag.getTS().getSettings().setQueryCache(true);
ag.initAg();
ag.getBB().add(1,Literal.parseLiteral("v(1)"));
ag.getBB().add(1,Literal.parseLiteral("v(2)"));
ag.getBB().add(1,Literal.parseLiteral("v(3)"));
ag.getBB().add(1,ASSyntax.parseRule("r(X) :- v(X)."));
LogicalFormula q = ASSyntax.parseFormula("r(L) & r(L2)");
Iterator<Unifier> i = q.logicalConsequence(ag, new Unifier());
assertTrue( i.hasNext() ); // get only one answer
Unifier a = i.next();
assertEquals(a.size(),2);
//assertTrue(ag.getQueryCache().getNbUses() > 0); // for adv cache
int c = 1;
while (i.hasNext()) {
i.next();
c++;
}
assertEquals(9,c);
//assertTrue(ag.getQueryCache().getNbUses() > 2); // for adv cache
//System.out.println(ag.getQueryCache());
//ag.getQueryCache().newCycle(1);
//ag.getQueryCache().stop();
}
示例2: testParserPartial
import jason.asSyntax.ASSyntax; //导入方法依赖的package包/类
public void testParserPartial() throws ParseException {
Term t;
try {
t = ASSyntax.parseFormula("(X>1) & (X<3) (Y>5) & (X<7)");
assertTrue(t == null);
} catch (ParseException e) {
// ok, the exception must be thrown above
}
t = ASSyntax.parseFormula("(X>1) & (X<3) | (Y>5) & (X<7)");
assertEquals("(((X > 1) & (X < 3)) | ((Y > 5) & (X < 7)))", t.toString());
}
示例3: testQueryCacheRR
import jason.asSyntax.ASSyntax; //导入方法依赖的package包/类
public void testQueryCacheRR() throws ParseException {
Agent ag = new Agent();
ag.initAg();
ag.getTS().getSettings().setQueryCache(true);
ag.initAg();
ag.getBB().add(1,Literal.parseLiteral("v(1)"));
ag.getBB().add(1,Literal.parseLiteral("v(2)"));
ag.getBB().add(1,Literal.parseLiteral("v(3)"));
ag.getBB().add(1,ASSyntax.parseRule("r(X) :- v(X)."));
LogicalFormula q = ASSyntax.parseFormula("r(L) & r(L2)");
Iterator<Unifier> i = q.logicalConsequence(ag, new Unifier());
assertTrue( i.hasNext() ); // get only one answer
Unifier a = i.next();
assertEquals(a.size(),2);
//assertTrue(ag.getQueryCache().getNbUses() > 0); // for adv cache
int c = 1;
while (i.hasNext()) {
i.next();
c++;
}
assertEquals(9,c);
//assertTrue(ag.getQueryCache().getNbUses() > 2); // for adv cache
//System.out.println(ag.getQueryCache());
//ag.getQueryCache().newCycle(1);
//ag.getQueryCache().stop();
}
示例4: testLogicalExpr
import jason.asSyntax.ASSyntax; //导入方法依赖的package包/类
public void testLogicalExpr() throws Exception {
LogicalFormula t1 = LogExpr.parseExpr("(3 + 5) / 2 > 0");
assertTrue(t1 != null);
Iterator<Unifier> solve = ((RelExpr) t1).logicalConsequence(null, new Unifier());
assertTrue(solve.hasNext());
t1 = LogExpr.parseExpr("0 > ((3 + 5) / 2)");
assertTrue(t1 != null);
solve = ((RelExpr) t1).logicalConsequence(null, new Unifier());
assertFalse(solve.hasNext());
t1 = LogExpr.parseExpr("0 > (-5)");
assertTrue(t1 != null);
solve = ((RelExpr) t1).logicalConsequence(null, new Unifier());
assertTrue(solve.hasNext());
t1 = LogExpr.parseExpr("(((((((30) + -5)))))) / 2 > 5+3*8");
assertTrue(t1 != null);
solve = ((RelExpr) t1).logicalConsequence(null, new Unifier());
assertFalse(solve.hasNext());
t1 = LogExpr.parseExpr("-2 > -3");
assertTrue(t1 != null);
RelExpr r1 = (RelExpr) t1;
NumberTerm lt1 = (NumberTerm)r1.getTerm(0);
NumberTerm rt1 = (NumberTerm)r1.getTerm(1);
assertEquals(-2.0,lt1.solve());
assertEquals(-3.0,rt1.solve());
//System.out.println(lt1.getClass().getName()+"="+lt1.compareTo(rt1));
solve = r1.logicalConsequence(null, new Unifier());
assertTrue(solve.hasNext());
t1 = LogExpr.parseExpr("(3 - 5) > (-1 + -2)");
assertTrue(t1 != null);
solve = ((RelExpr)t1).logicalConsequence(null, new Unifier());
assertTrue(solve.hasNext());
t1 = LogExpr.parseExpr("(3 - 5) > -3 & 2 > 1");
assertTrue(t1 != null);
solve = ((LogExpr) t1).logicalConsequence(null, new Unifier());
assertTrue(solve.hasNext());
t1 = LogExpr.parseExpr("(3 - 5) > -3 & 0 > 1");
assertTrue(t1 != null);
solve = ((LogExpr) t1).logicalConsequence(null, new Unifier());
assertFalse(solve.hasNext());
t1 = LogExpr.parseExpr("(3 - 5) > -3 | 0 > 1");
assertTrue(t1 != null);
solve = ((LogExpr) t1).logicalConsequence(null, new Unifier());
assertTrue(solve.hasNext());
t1 = LogExpr.parseExpr("(3 > 5) | false");
assertTrue(t1 != null);
solve = ((LogExpr) t1).logicalConsequence(null, new Unifier());
assertFalse(solve.hasNext());
t1 = LogExpr.parseExpr("(3 > 5) | true");
assertTrue(t1 != null);
solve = ((LogExpr) t1).logicalConsequence(null, new Unifier());
assertTrue(solve.hasNext());
t1 = LogExpr.parseExpr("not 3 > 5");
assertTrue(t1 != null);
solve = ((LogExpr) t1).logicalConsequence(null, new Unifier());
assertTrue(solve.hasNext());
as2j parser = new as2j(new StringReader("E+1"));
parser.getNextToken();
assertEquals(parser.token.kind, as2jConstants.VAR);
t1 = ASSyntax.parseFormula("E+1");
assertTrue(t1 instanceof ArithExpr);
}
示例5: testLogicalExpr
import jason.asSyntax.ASSyntax; //导入方法依赖的package包/类
public void testLogicalExpr() throws Exception {
LogicalFormula t1 = LogExpr.parseExpr("(3 + 5) / 2 > 0");
assertTrue(t1 != null);
Iterator<Unifier> solve = ((RelExpr) t1).logicalConsequence(null, new Unifier());
assertTrue(solve.hasNext());
t1 = LogExpr.parseExpr("0 > ((3 + 5) / 2)");
assertTrue(t1 != null);
solve = ((RelExpr) t1).logicalConsequence(null, new Unifier());
assertFalse(solve.hasNext());
t1 = LogExpr.parseExpr("0 > (-5)");
assertTrue(t1 != null);
solve = ((RelExpr) t1).logicalConsequence(null, new Unifier());
assertTrue(solve.hasNext());
t1 = LogExpr.parseExpr("(((((((30) + -5)))))) / 2 > 5+3*8");
assertTrue(t1 != null);
solve = ((RelExpr) t1).logicalConsequence(null, new Unifier());
assertFalse(solve.hasNext());
t1 = LogExpr.parseExpr("-2 > -3");
assertTrue(t1 != null);
RelExpr r1 = (RelExpr) t1;
NumberTerm lt1 = (NumberTerm)r1.getTerm(0);
NumberTerm rt1 = (NumberTerm)r1.getTerm(1);
assertEquals(-2.0,lt1.solve());
assertEquals(-3.0,rt1.solve());
//System.out.println(lt1.getClass().getName()+"="+lt1.compareTo(rt1));
solve = r1.logicalConsequence(null, new Unifier());
assertTrue(solve.hasNext());
t1 = LogExpr.parseExpr("(3 - 5) > (-1 + -2)");
assertTrue(t1 != null);
solve = ((RelExpr)t1).logicalConsequence(null, new Unifier());
assertTrue(solve.hasNext());
t1 = LogExpr.parseExpr("(3 - 5) > -3 & 2 > 1");
assertTrue(t1 != null);
solve = ((LogExpr) t1).logicalConsequence(null, new Unifier());
assertTrue(solve.hasNext());
t1 = LogExpr.parseExpr("(3 - 5) > -3 & 0 > 1");
assertTrue(t1 != null);
solve = ((LogExpr) t1).logicalConsequence(null, new Unifier());
assertFalse(solve.hasNext());
t1 = LogExpr.parseExpr("(3 - 5) > -3 | 0 > 1");
assertTrue(t1 != null);
solve = ((LogExpr) t1).logicalConsequence(null, new Unifier());
assertTrue(solve.hasNext());
t1 = LogExpr.parseExpr("(3 > 5) | false");
assertTrue(t1 != null);
solve = ((LogExpr) t1).logicalConsequence(null, new Unifier());
assertFalse(solve.hasNext());
t1 = LogExpr.parseExpr("(3 > 5) | true");
assertTrue(t1 != null);
solve = ((LogExpr) t1).logicalConsequence(null, new Unifier());
assertTrue(solve.hasNext());
t1 = LogExpr.parseExpr("not 3 > 5");
assertTrue(t1 != null);
solve = ((LogExpr) t1).logicalConsequence(null, new Unifier());
assertTrue(solve.hasNext());
as2j parser = new as2j(new StringReader("E+1"));
parser.getNextToken();
assertEquals(parser.token.kind, as2jConstants.VAR);
t1 = ASSyntax.parseFormula("E+1");
assertTrue(t1 instanceof ArithExpr);
}