当前位置: 首页>>代码示例>>Java>>正文


Java ASSyntax.parseTerm方法代码示例

本文整理汇总了Java中jason.asSyntax.ASSyntax.parseTerm方法的典型用法代码示例。如果您正苦于以下问题:Java ASSyntax.parseTerm方法的具体用法?Java ASSyntax.parseTerm怎么用?Java ASSyntax.parseTerm使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在jason.asSyntax.ASSyntax的用法示例。


在下文中一共展示了ASSyntax.parseTerm方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: makeVarsAnnon

import jason.asSyntax.ASSyntax; //导入方法依赖的package包/类
public void makeVarsAnnon(Literal l, Unifier un) {
    try {
        for (int i=0; i<l.getArity(); i++) {
            Term t = l.getTerm(i);
            if (t.isString()) {
                StringTerm st = (StringTerm)t;
                Matcher matcher = regex.matcher(st.getString());
                StringBuffer sb = new StringBuffer();

                while (matcher.find()) {
                    String sVar = matcher.group();
                    sVar = sVar.substring(2, sVar.length() - 1);
                    Term v = ASSyntax.parseTerm(sVar);
                    if (v.isVar()) {
                        VarTerm to = ((Structure)l).varToReplace(v, un);
                        matcher.appendReplacement(sb, "#{"+to.toString()+"}");
                    }
                }
                matcher.appendTail(sb);
                l.setTerm(i, new StringTermImpl(sb.toString()));
            }
        }
    } catch (ParseException pe) {
        pe.printStackTrace();
    }
}
 
开发者ID:nickrfer,项目名称:code-sentinel,代码行数:27,代码来源:puts.java

示例2: parseMsg

import jason.asSyntax.ASSyntax; //导入方法依赖的package包/类
/**
 * Creates a new message object based on a string that 
 * follows the format of the toString of Message class.
 * 
 * @author Rogier
 * @param msg the string message
 * @return the parsed Message
 */
public static Message parseMsg(String msg) throws ParseException {
    int one, two;
    Message newmsg = new Message();
    if (msg.startsWith("<")) {
        one = msg.indexOf(",");
        int arrowIndex = msg.indexOf("->");
        if ((arrowIndex > 0) && (one > arrowIndex)) { // If there is an arrow before the first comma
            newmsg.msgId = msg.substring(1, arrowIndex);
            newmsg.inReplyTo = msg.substring(arrowIndex + 2, one);
        } else { // If not (either there is no arrow, or there is one behind the first comma)
            newmsg.msgId = msg.substring(1, one);
        }
        two = msg.indexOf(",", one + 1);
        newmsg.sender = msg.substring(one + 1, two);
        one = msg.indexOf(",", two + 1);
        newmsg.ilForce = msg.substring(two + 1, one);
        two = msg.indexOf(",", one + 1);
        newmsg.receiver = msg.substring(one + 1, two);
        one = msg.indexOf(">", two + 1);
        String content = msg.substring(two + 1, one);
        newmsg.propCont = ASSyntax.parseTerm(content);
    }
    return newmsg;
}
 
开发者ID:nickrfer,项目名称:code-sentinel,代码行数:33,代码来源:Message.java

示例3: testUnify2

import jason.asSyntax.ASSyntax; //导入方法依赖的package包/类
public void testUnify2() throws ParseException {
    Unifier u = new Unifier();
    u.unifies(new VarTerm("X"), new NumberTermImpl(3));
    Term e1 = ASSyntax.parseTerm("X-1");
    e1 = e1.capply(u);
    assertTrue(u.unifies(new NumberTermImpl(2), e1));
    assertTrue(u.unifies(e1, new NumberTermImpl(2)));
    assertTrue(u.unifies(new NumberTermImpl(2), e1.clone()));

    u.unifies(new VarTerm("Y"), new NumberTermImpl(1));
    Term e2 = ASSyntax.parseTerm("Y+1");
    e2 = e2.capply(u);
    assertFalse(e1.isLiteral());
    assertFalse(e2.isLiteral());
    assertTrue(u.unifies(e2, e1));
}
 
开发者ID:nickrfer,项目名称:code-sentinel,代码行数:17,代码来源:ExprTermTest.java

示例4: testPlanTermWithVarBody

import jason.asSyntax.ASSyntax; //导入方法依赖的package包/类
public void testPlanTermWithVarBody() throws ParseException {
    Term pt = ASSyntax.parseTerm("{ +!g : c <- B }");
    assertEquals("{ +!g : c <- B }", pt.toString());
    assertTrue(pt instanceof Plan);
    
    Unifier u = new Unifier();
    u.unifies(new VarTerm("B"), ASSyntax.parseTerm("{ .print(a); .print(b); .print(c) }"));
    pt = pt.capply(u);
    assertEquals("{ +!g : c <- .print(a); .print(b); .print(c) }", pt.toString());
    pt = ASSyntax.parseTerm("{ +!g : c <- B; a1; B }");
    pt = pt.capply(u);
    assertEquals("{ +!g : c <- .print(a); .print(b); .print(c); a1; .print(a); .print(b); .print(c) }", pt.toString());
    
    pt = ASSyntax.parseTerm("{ +!g : c <- .print(0); B; B; .print(d); C }");
    u.unifies(new VarTerm("C"), ASSyntax.parseTerm("{ a1 }"));
    pt = pt.capply(u);
    assertEquals(9, ((Plan)pt).getBody().getPlanSize());
    assertEquals("{ +!g : c <- .print(0); .print(a); .print(b); .print(c); .print(a); .print(b); .print(c); .print(d); a1 }", pt.toString());
}
 
开发者ID:nickrfer,项目名称:code-sentinel,代码行数:20,代码来源:PlanTest.java

示例5: testSimple2

import jason.asSyntax.ASSyntax; //导入方法依赖的package包/类
public void testSimple2() throws ParseException {
    VarTerm v = new VarTerm("X");
    assertFalse(v.isAtom());
    assertTrue(v.isVar());
    Term t;

    as2jTokenManager tokens = new as2jTokenManager(new SimpleCharStream(new StringReader("Event")));
    Token tk = tokens.getNextToken();
    assertEquals(tk.kind, jason.asSyntax.parser.as2jConstants.VAR);
    
    t = ASSyntax.parseVar("Ea");
    assertFalse(t.isAtom());
    assertTrue(t.isVar());
    
    t = ASSyntax.parseTerm("Event");
    assertFalse(t.isAtom());
    assertTrue(t.isVar());
    
}
 
开发者ID:nickrfer,项目名称:code-sentinel,代码行数:20,代码来源:VarTermTest.java

示例6: testFindAll

import jason.asSyntax.ASSyntax; //导入方法依赖的package包/类
public void testFindAll() throws RevisionFailedException, ParseException {
    Agent ag = new Agent();
    ag.initAg();
    
    Literal l1 = Literal.parseLiteral("a(10,x)");
    assertFalse(l1.hasSource());
    ag.addBel(l1);
    ag.addBel(Literal.parseLiteral("a(20,y)"));
    ag.addBel(Literal.parseLiteral("a(30,x)"));
    assertEquals(ag.getBB().size(),3);
    
    Unifier u = new Unifier();
    Term X = ASSyntax.parseTerm("f(X)");
    Literal c = Literal.parseLiteral("a(X,x)");
    c.addAnnot(BeliefBase.TSelf);
    VarTerm L = new VarTerm("L");
    // System.out.println(ag.getPS().getAllRelevant(Trigger.parseTrigger(ste.getFunctor())));
    try {
        assertTrue((Boolean)new jason.stdlib.findall().execute(ag.getTS(), u, new Term[] { X, c, L }));
    } catch (Exception e) {
        e.printStackTrace();
    }
    ListTerm lt = (ListTerm) u.get("L");
    //System.out.println("found=" + lt);
    assertEquals(lt.size(), 2);
}
 
开发者ID:nickrfer,项目名称:code-sentinel,代码行数:27,代码来源:StdLibTest.java

示例7: init

import jason.asSyntax.ASSyntax; //导入方法依赖的package包/类
@Override
public void init(String[] args) {
    // associate agents to users
    try {
        for (int i=1; i<args.length; i++) {
            Term t = ASSyntax.parseTerm(args[i]);
            if (t.isStructure()) {
                Structure arg = (Structure)t;
                if (arg.getFunctor().equals("agent_entity")) {
                    addPercept(arg.getTerm(0).toString(), Literal.parseLiteral("myNameInContest("+arg.getTerm(2).toString()+")"));
                    agToMassimContest.put(arg.getTerm(0).toString(), arg.getTerm(2).toString());
                }
            }
        }
        
        super.init(args);
        
        //startCartago();
    } catch (ParseException e) {
        e.printStackTrace();
    }
}
 
开发者ID:jason-lang,项目名称:apps,代码行数:23,代码来源:CustomEISEnv.java

示例8: testSimple2

import jason.asSyntax.ASSyntax; //导入方法依赖的package包/类
public void testSimple2() throws ParseException {
    VarTerm v = new VarTerm("X");
    assertFalse(v.isAtom());
    assertTrue(v.isVar());
    Term t;

    as2jTokenManager tokens = new as2jTokenManager(new SimpleCharStream(new StringReader("Event")));
    Token tk = tokens.getNextToken();
    assertEquals(tk.kind, jason.asSyntax.parser.as2jConstants.VAR);

    t = ASSyntax.parseVar("Ea");
    assertFalse(t.isAtom());
    assertTrue(t.isVar());

    t = ASSyntax.parseTerm("Event");
    assertFalse(t.isAtom());
    assertTrue(t.isVar());

}
 
开发者ID:jason-lang,项目名称:jason,代码行数:20,代码来源:VarTermTest.java

示例9: init

import jason.asSyntax.ASSyntax; //导入方法依赖的package包/类
@Override
  public void init(String[] args) {
      // associate agents to users
  	try {
       for (int i=1; i<args.length; i++) {
           Term t = ASSyntax.parseTerm(args[i]);
           if (t.isStructure()) {
               Structure arg = (Structure)t;
               if (arg.getFunctor().equals("agent_entity")) {
                   addPercept(arg.getTerm(0).toString(), Literal.parseLiteral("myNameInContest("+arg.getTerm(2).toString()+")"));
                   agToMassimContest.put(arg.getTerm(0).toString(), arg.getTerm(2).toString());
               }
           }
       }
       
       super.init(args);
       
       //startCartago();
} catch (ParseException e) {
	e.printStackTrace();
}
  	startCartago(args);
  }
 
开发者ID:jason-lang,项目名称:apps,代码行数:24,代码来源:CustomEISEnv.java

示例10: testSubString

import jason.asSyntax.ASSyntax; //导入方法依赖的package包/类
@SuppressWarnings({ "unchecked", "rawtypes" })
public void testSubString() throws Exception {
    StringTerm s1 = new StringTermImpl("a");
    StringTerm s2 = new StringTermImpl("bbacca");

    Term t1 = ASSyntax.parseTerm("a(10)");
    Term t2 = ASSyntax.parseTerm("[1,b(xxx,a(10))]");

    VarTerm X = new VarTerm("X");

    Unifier u = new Unifier();

    assertTrue((Boolean)new jason.stdlib.substring().execute(null, u, new Term[] { s1, s2 }));
    Iterator<Unifier> i = (Iterator)new jason.stdlib.substring().execute(null, u, new Term[] { s1, s2, X});
    assertEquals(i.next().get("X").toString(), "2");
    assertEquals(i.next().get("X").toString(), "5");
    assertFalse(i.hasNext());

    assertTrue((Boolean)new jason.stdlib.substring().execute(null, u, new Term[] { t1, t2}));
    i = (Iterator)new jason.stdlib.substring().execute(null, new Unifier(), new Term[] { t1, t2, X});
    assertTrue(i.hasNext());
    assertEquals(i.next().get("X").toString(), "9");
    assertFalse(i.hasNext());

}
 
开发者ID:jason-lang,项目名称:jason,代码行数:26,代码来源:StdLibTest.java

示例11: parseMsg

import jason.asSyntax.ASSyntax; //导入方法依赖的package包/类
/**
 * Creates a new message object based on a string that
 * follows the format of the toString of Message class.
 *
 * @author Rogier
 * @param msg the string message
 * @return the parsed Message
 */
public static Message parseMsg(String msg) throws ParseException {
    int one, two;
    Message newmsg = new Message();
    if (msg.startsWith("<")) {
        one = msg.indexOf(",");
        int arrowIndex = msg.indexOf("->");
        if ((arrowIndex > 0) && (one > arrowIndex)) { // If there is an arrow before the first comma
            newmsg.msgId = msg.substring(1, arrowIndex);
            newmsg.inReplyTo = msg.substring(arrowIndex + 2, one);
        } else { // If not (either there is no arrow, or there is one behind the first comma)
            newmsg.msgId = msg.substring(1, one);
        }
        two = msg.indexOf(",", one + 1);
        newmsg.sender = msg.substring(one + 1, two);
        one = msg.indexOf(",", two + 1);
        newmsg.ilForce = msg.substring(two + 1, one);
        two = msg.indexOf(",", one + 1);
        newmsg.receiver = msg.substring(one + 1, two);
        one = msg.indexOf(">", two + 1);
        String content = msg.substring(two + 1, one);
        newmsg.propCont = ASSyntax.parseTerm(content);
    }
    return newmsg;
}
 
开发者ID:jason-lang,项目名称:jason,代码行数:33,代码来源:Message.java

示例12: testPlanTermWithVarBody

import jason.asSyntax.ASSyntax; //导入方法依赖的package包/类
public void testPlanTermWithVarBody() throws ParseException {
    Term pt = ASSyntax.parseTerm("{ +!g : c <- B }");
    assertEquals("{ +!g : c <- B }", pt.toString());
    assertTrue(pt instanceof Plan);

    Unifier u = new Unifier();
    u.unifies(new VarTerm("B"), ASSyntax.parseTerm("{ .print(a); .print(b); .print(c) }"));
    pt = pt.capply(u);
    assertEquals("{ +!g : c <- .print(a); .print(b); .print(c) }", pt.toString());
    pt = ASSyntax.parseTerm("{ +!g : c <- B; a1; B }");
    pt = pt.capply(u);
    assertEquals("{ +!g : c <- .print(a); .print(b); .print(c); a1; .print(a); .print(b); .print(c) }", pt.toString());

    pt = ASSyntax.parseTerm("{ +!g : c <- .print(0); B; B; .print(d); C }");
    u.unifies(new VarTerm("C"), ASSyntax.parseTerm("{ a1 }"));
    pt = pt.capply(u);
    assertEquals(9, ((Plan)pt).getBody().getPlanSize());
    assertEquals("{ +!g : c <- .print(0); .print(a); .print(b); .print(c); .print(a); .print(b); .print(c); .print(d); a1 }", pt.toString());
}
 
开发者ID:jason-lang,项目名称:jason,代码行数:20,代码来源:PlanTest.java

示例13: testUnify4

import jason.asSyntax.ASSyntax; //导入方法依赖的package包/类
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));   
}
 
开发者ID:nickrfer,项目名称:code-sentinel,代码行数:8,代码来源:TermTest.java

示例14: testAsTerm

import jason.asSyntax.ASSyntax; //导入方法依赖的package包/类
public void testAsTerm() throws ParseException {
    Term t = ASSyntax.parseTerm("{p :- a & b | c}");
    assertEquals("{ p :- ((a & b) | c) }", t.toString());
    t = ASSyntax.parsePlan("+!test4  <- +{ v :- p & v(2,12) }; !test4a.");
    assertEquals("+!test4 <- +{ v :- (p & v(2,12)) }; !test4a.", t.toString());
    t = ASSyntax.parsePlan("+!test4  <- +{ +!g : v <- .print(ok) }; !test4a.");
    assertEquals("+!test4 <- .add_plan({ +!g : v <- .print(ok) },self,begin); !test4a.", t.toString());
    t = ASSyntax.parsePlan("+!test4  <- +>{ +!g : v <- .print(ok) }; !test4a.");
    assertEquals("+!test4 <- .add_plan({ +!g : v <- .print(ok) },self,end); !test4a.", t.toString());
}
 
开发者ID:nickrfer,项目名称:code-sentinel,代码行数:11,代码来源:RuleTest.java

示例15: testUnify1

import jason.asSyntax.ASSyntax; //导入方法依赖的package包/类
public void testUnify1() throws ParseException {
    Term a1 = ASSyntax.parseTerm("s(1,2)");
    Term a2 = ASSyntax.parseTerm("s(X1,X2)");
    Unifier u = new Unifier();
    assertTrue(u.unifies(new VarTerm("X1"),new VarTerm("X3")));
    assertTrue(u.unifies(a1,a2));
    assertEquals(u.get("X3").toString(),"1");
}
 
开发者ID:nickrfer,项目名称:code-sentinel,代码行数:9,代码来源:VarTermTest.java


注:本文中的jason.asSyntax.ASSyntax.parseTerm方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。