• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Java ASSyntax类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

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



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

示例1: process

import jason.asSyntax.ASSyntax; //导入依赖的package包/类
@Override
public Agent process(Pred directive, Agent outerContent, Agent innerContent) {
    try {
        Term goal = directive.getTerm(0);
        Pred subDir;
        if (directive.getArity() > 1) {
            subDir = Pred.parsePred(directive.getTerm(1).toString());
        } else {
            subDir = Pred.parsePred("bdg("+goal+")");
        }
        Directive sd = DirectiveProcessor.getDirective(subDir.getFunctor());

        // apply sub directive
        Agent newAg = sd.process((Pred)subDir, outerContent, innerContent); 
        if (newAg != null) {

            // add +!g : true <- !!g.
            newAg.getPL().add(ASSyntax.parsePlan("+!"+goal+" <- !!"+goal+"."));
            
            return newAg;
        }
    } catch (Exception e) {
        logger.log(Level.SEVERE,"Directive error.", e);
    }
    return null;
}
 
开发者ID:nickrfer,项目名称:code-sentinel,代码行数:27,代码来源:BC.java


示例2: process

import jason.asSyntax.ASSyntax; //导入依赖的package包/类
@Override
public Agent process(Pred directive, Agent outerContent, Agent innerContent) {
    try {
        Term goal = directive.getTerm(0);
        Term motivation = directive.getTerm(1);
        Pred subDir = Pred.parsePred("bc("+goal+")");
        //logger.fine("parameters="+goal+","+motivation+","+subDir);
        Directive sd = DirectiveProcessor.getDirective(subDir.getFunctor());

        // apply sub directive
        Agent newAg = sd.process(subDir, outerContent, innerContent); 
        if (newAg != null) {

            // add -m : true <- .succeed_goal(g).
            newAg.getPL().add(ASSyntax.parsePlan("-"+motivation+" <- .succeed_goal("+goal+")."));
            
            return newAg;
        }
    } catch (Exception e) {
        logger.log(Level.SEVERE,"Directive error.", e);
    }
    return null;
}
 
开发者ID:nickrfer,项目名称:code-sentinel,代码行数:24,代码来源:RC.java


示例3: process

import jason.asSyntax.ASSyntax; //导入依赖的package包/类
@Override
public Agent process(Pred directive, Agent outerContent, Agent innerContent) {
    try {
        // apply DG in the inner plans
        Agent newAg = super.process(directive, outerContent, innerContent); 
        if (newAg != null) {

            Term goal = directive.getTerm(0);

            // add -!g : true <- !!g.
            newAg.getPL().add(ASSyntax.parsePlan("-!"+goal+" <- !!"+goal+"."));
            
            return newAg;
        }
    } catch (Exception e) {
        logger.log(Level.SEVERE,"Directive error.", e);
    }
    return null;
}
 
开发者ID:nickrfer,项目名称:code-sentinel,代码行数:20,代码来源:BDG.java


示例4: process

import jason.asSyntax.ASSyntax; //导入依赖的package包/类
@Override
public Agent process(Pred directive, Agent outerContent, Agent innerContent) {
    try {
        Term goal = directive.getTerm(0);
        Term fail = directive.getTerm(1);
        Pred subDir = Pred.parsePred("bc("+goal+")");
        //logger.fine("parameters="+goal+","+fail+","+subDir);
        Directive sd = DirectiveProcessor.getDirective(subDir.getFunctor());

        // apply sub directive
        Agent newAg = sd.process(subDir, outerContent, innerContent); 
        if (newAg != null) {

            // add +f : true <- .fail_goal(g).
            newAg.getPL().add(ASSyntax.parsePlan("+"+fail+" <- .fail_goal("+goal+")."));
            
            return newAg;
        }
    } catch (Exception e) {
        logger.log(Level.SEVERE,"Directive error.", e);
    }
    return null;
}
 
开发者ID:nickrfer,项目名称:code-sentinel,代码行数:24,代码来源:SMC.java


示例5: 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


示例6: execute

import jason.asSyntax.ASSyntax; //导入依赖的package包/类
@Override
public Object execute(TransitionSystem ts, final Unifier un, final Term[] args) throws Exception {
    checkArguments(args);
    
    // case 1, no vars
    if (!args[0].isVar() && args[1].isString()) {
        return args[0].toString().equals( ((StringTerm)args[1]).getString() );
    }
    
    // case 2, second is var
    if (!args[0].isVar() && args[1].isVar()) {
        return un.unifies(new StringTermImpl(args[0].toString()), args[1]);
    }
    
    // case 3, first is var
    if (args[0].isVar() && args[1].isString()) {
        return un.unifies(args[0], ASSyntax.parseTerm( ((StringTerm)args[1]).getString() ));
    }
    
    throw new JasonException("invalid case of term2string");
}
 
开发者ID:nickrfer,项目名称:code-sentinel,代码行数:22,代码来源:term2string.java


示例7: addInitialGoalsFromProjectInBB

import jason.asSyntax.ASSyntax; //导入依赖的package包/类
protected void addInitialGoalsFromProjectInBB() {
    String sGoals = getTS().getSettings().getUserParameter(Settings.INIT_GOALS);
    if (sGoals != null) {
        try {
            for (Term t: ASSyntax.parseList("["+sGoals+"]")) {
                Literal g = ((Literal)t).forceFullLiteralImpl();
                g.makeVarsAnnon();
                if (! g.hasSource())
                    g.addAnnot(BeliefBase.TSelf);
                getTS().getC().addAchvGoal(g,Intention.EmptyInt);            
            }
        } catch (Exception e) {
            logger.log(Level.WARNING, "Initial goals from project '["+sGoals+"]' is not a list of literals.");
        }
    }
}
 
开发者ID:nickrfer,项目名称:code-sentinel,代码行数:17,代码来源:Agent.java


示例8: 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


示例9: generateGoalStateEvent

import jason.asSyntax.ASSyntax; //导入依赖的package包/类
private void generateGoalStateEvent(final Literal goal, final TEType type, final GoalStates state, final String reason) {
    ts.runAtBeginOfNextCycle(new Runnable() {
        public void run() {
            Literal newGoal = goal.forceFullLiteralImpl().copy();
            Literal stateAnnot = ASSyntax.createLiteral("state", new Atom(state.toString()));
            if (reason != null)
                stateAnnot.addAnnot( ASSyntax.createStructure("reason", new StringTermImpl(reason)));
            newGoal.addAnnot( stateAnnot );
            Trigger eEnd = new Trigger(TEOperator.goalState, type, newGoal);
            if (ts.getAg().getPL().hasCandidatePlan(eEnd))
                ts.getC().insertMetaEvent(new Event(eEnd, null));
            
        }
    });
    ts.getUserAgArch().wakeUpDeliberate();
}
 
开发者ID:nickrfer,项目名称:code-sentinel,代码行数:17,代码来源:GoalListenerForMetaEvents.java


示例10: testObTerm

import jason.asSyntax.ASSyntax; //导入依赖的package包/类
public void testObTerm() {
    ObjectTerm term = new ObjectTermImpl("test");
    assertTrue(term.equals(term));

    assertTrue(new Unifier().unifies(new ObjectTermImpl("test"), new ObjectTermImpl("test")));
    String string = "test";
    assertTrue(new Unifier().unifies(new ObjectTermImpl(string), new ObjectTermImpl(string)));

    BeliefBase base = new DefaultBeliefBase();
    base.add(ASSyntax.createLiteral("test", new ObjectTermImpl("test")));
    Iterator<Literal> iterator = base.getCandidateBeliefs(ASSyntax.createLiteral("test", new ObjectTermImpl("test")), new Unifier());
    assertTrue(iterator != null && iterator.hasNext());

    Literal result = iterator.next();
    assertTrue(result.getFunctor().equals("test"));
    assertTrue(result.getTerm(0).getClass().equals(ObjectTermImpl.class));
    assertTrue(result.getTerm(0).equals(new ObjectTermImpl("test")));

    assertFalse(iterator.hasNext());

}
 
开发者ID:nickrfer,项目名称:code-sentinel,代码行数:22,代码来源:TermTest.java


示例11: 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


示例12: 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);
}
 
开发者ID:nickrfer,项目名称:code-sentinel,代码行数:23,代码来源:NSTest.java


示例13: testRelevant

import jason.asSyntax.ASSyntax; //导入依赖的package包/类
public void testRelevant() throws JasonException, ParseException {
    PlanLibrary pl = new PlanLibrary();
    pl.add(Plan.parse("+p(0) <- .print(a)."));
    pl.add(Plan.parse("+p(X) : X > 0 <- .print(a)."));
    
    pl.add(Plan.parse("+!p(0) <- .print(a)."));
    pl.add(Plan.parse("+!p(X) : X > 0 <- .print(a)."));

    pl.add(Plan.parse("+!X <- .print(a)."));
    
    List<Plan> pls = pl.getCandidatePlans(ASSyntax.parseTrigger("+p(3)"));
    assertEquals(2, pls.size());

    pls = pl.getCandidatePlans(ASSyntax.parseTrigger("+!p(3)"));
    assertEquals(3, pls.size());    

    pls = pl.getCandidatePlans(ASSyntax.parseTrigger("+!bla"));
    assertEquals(1, pls.size());    

    pls = pl.getCandidatePlans(ASSyntax.parseTrigger("+bla"));
    assertNull(pls);    
}
 
开发者ID:nickrfer,项目名称:code-sentinel,代码行数:23,代码来源:PlanTest.java


示例14: 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


示例15: testLogCons2

import jason.asSyntax.ASSyntax; //导入依赖的package包/类
public void testLogCons2() {
    Agent ag = new Agent();
    ag.initAg();
    
    Rule r = new Rule(Literal.parseLiteral("r([],a(X),b(X,4))"), Literal.parseLiteral("true"));
    ag.getBB().add(r);

    Iterator<Unifier> iun = Literal.parseLiteral("r([],a(20),X)").logicalConsequence(ag, new Unifier());
    //assertEquals(iun.next().get("X").toString(),"b(20,4)");
    assertTrue(iun.hasNext());
    Literal result = Literal.parseLiteral("r([],a(20),X)");
    Unifier u = iun.next();
    assertTrue(u.get("X").isStructure());
    assertEquals( ((Structure)u.get("X")).getArity(), 2);
    assertEquals( ((Structure)u.get("X")).getFunctor(), "b");
    assertEquals(result.capply(u), Literal.parseLiteral("r([],a(20),b(20,4))"));
    
    iun = Literal.parseLiteral("r([],a(20),b(X,Y))").logicalConsequence(ag, new Unifier());
    u = iun.next();
    assertEquals(u.get("X"), ASSyntax.createNumber(20));
    assertEquals(u.get("Y"), ASSyntax.createNumber(4));

}
 
开发者ID:nickrfer,项目名称:code-sentinel,代码行数:24,代码来源:RuleTest.java


示例16: 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


示例17: 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


示例18: parameterToTerm

import jason.asSyntax.ASSyntax; //导入依赖的package包/类
public static Term parameterToTerm(Percept per, Parameter par) throws JasonException {
	if (par instanceof Numeral) {
		return ASSyntax.createNumber(((Numeral) par).getValue().doubleValue());
	} else if (par instanceof Identifier) {
		try {
			Identifier i = (Identifier) par;
			String a = i.getValue();
			if (!Character.isUpperCase(a.charAt(0)))
				return ASSyntax.parseTerm(a);
		} catch (Exception e) {
		}
		return ASSyntax.createString(((Identifier) par).getValue());
	} else if (par instanceof ParameterList) {
		ListTerm list = new ListTermImpl();
		ListTerm tail = list;
		for (Parameter p : (ParameterList) par)
			tail = tail.append(parameterToTerm(per, p));
		return list;
	} else if (par instanceof Function) {
		return filter(per, par);
	}
	throw new JasonException("The type of parameter " + par + " is unknown!");
}
 
开发者ID:smart-pucrs,项目名称:mapc2016-pucrs,代码行数:24,代码来源:Translator.java


示例19: 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);
}
 
开发者ID:jason-lang,项目名称:jason,代码行数:23,代码来源:NSTest.java


示例20: addEISPercept

import jason.asSyntax.ASSyntax; //导入依赖的package包/类
protected List<Literal> addEISPercept(List<Literal> percepts, String agName) {
    clearPercepts(agName);
    if (percepts == null) 
        percepts = new ArrayList<Literal>();
    
    if (ei != null) {
        try {
            Map<String,Collection<Percept>> perMap = ei.getAllPercepts(agName);
            for (String entity: perMap.keySet()) {
                Structure strcEnt = ASSyntax.createStructure("entity", ASSyntax.createAtom(entity));
                for (Percept p: perMap.get(entity)) {
                    percepts.add(perceptToLiteral(p).addAnnots(strcEnt));
                }
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
    
    if (percepts.size() <= 0) {
    	System.out.println("####### BUGGGGGGGGGGGGGGGGGGG ########");
    }
    
    return percepts;        
}
 
开发者ID:jason-lang,项目名称:apps,代码行数:26,代码来源:EISAdapter.java



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


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java WorldGenDesertWells类代码示例发布时间:2022-05-22
下一篇:
Java LogKeywords类代码示例发布时间:2022-05-22
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap