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


Java ASSyntax.createLiteral方法代码示例

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


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

示例1: testMakeVarAnnon6

import jason.asSyntax.ASSyntax; //导入方法依赖的package包/类
public void testMakeVarAnnon6() {
    UnnamedVar v1 = new UnnamedVar();
    UnnamedVar v2 = new UnnamedVar();
    
    Literal l = ASSyntax.createLiteral("p", v1, v2, ASSyntax.createList(v1,v2));
    l.makeVarsAnnon();
    
    // vars inside the list should be replaced as var placed in term0 and term1
    assertEquals(l.getTerm(0).toString(), ((ListTerm)l.getTerm(2)).get(0).toString());
}
 
开发者ID:nickrfer,项目名称:code-sentinel,代码行数:11,代码来源:TermTest.java

示例2: msgSent

import jason.asSyntax.ASSyntax; //导入方法依赖的package包/类
public void msgSent(Message m) {
    //getTS().getLogger().fine("Message:"+m);

    // add a belief in the agent mind
    // format: msgSent(time(YY,MM,DD,HH,MM,SS),id,irt,ilf,sender,receiver,content)

    Calendar now = new GregorianCalendar();
    Structure p = ASSyntax.createStructure("time",
                                           ASSyntax.createNumber(now.get(Calendar.YEAR)),
                                           ASSyntax.createNumber(now.get(Calendar.MONTH)),
                                           ASSyntax.createNumber(now.get(Calendar.DAY_OF_MONTH)),
                                           ASSyntax.createNumber(now.get(Calendar.HOUR)),
                                           ASSyntax.createNumber(now.get(Calendar.MINUTE)),
                                           ASSyntax.createNumber(now.get(Calendar.SECOND)));
    Literal e = ASSyntax.createLiteral("msg_sent", p);

    e.addTerm(new StringTermImpl(m.getMsgId()));
    if (m.getInReplyTo() == null) {
        e.addTerm(new Atom("nirt"));
    } else {
        e.addTerm(new StringTermImpl(m.getInReplyTo()));
    }
    e.addTerm(new Atom(m.getIlForce()));
    e.addTerm(new Atom(m.getSender()));
    e.addTerm(new Atom(m.getReceiver()));
    e.addTerm(new StringTermImpl(m.getPropCont().toString()));
    try {
        getTS().getAg().addBel(e);
    } catch (RevisionFailedException e1) {
        e1.printStackTrace();
    }
}
 
开发者ID:jason-lang,项目名称:jason,代码行数:33,代码来源:SnifferCentralised.java

示例3: testFood

import jason.asSyntax.ASSyntax; //导入方法依赖的package包/类
void testFood(String agName, int ag, Atom where, int x, int y) {
    if (model.hasObject(FoodModel.FOOD, x, y)) {
        Literal f = ASSyntax.createLiteral("food",
                                           ASSyntax.createNumber(x),
                                           ASSyntax.createNumber(y),
                                           where,
                                           ASSyntax.createNumber(model.getFoodOwner(x, y)));
        addPercept(agName, f);
    }
}
 
开发者ID:jason-lang,项目名称:jason,代码行数:11,代码来源:FoodEnvironment.java

示例4: executeAction

import jason.asSyntax.ASSyntax; //导入方法依赖的package包/类
@Override
public boolean executeAction(String agName, Structure action) {
    actionCount++;
    Literal p = ASSyntax.createLiteral("executed_actions", ASSyntax.createNumber(actionCount));
    clearPercepts();
    addPercept(p);
    return true;
}
 
开发者ID:jason-lang,项目名称:jason,代码行数:9,代码来源:EnvSync.java

示例5: notifyActionFailure

import jason.asSyntax.ASSyntax; //导入方法依赖的package包/类
protected void notifyActionFailure(ActionExec actionExec, Term reason, String msg) {
	// logger.info("notified failure for "+actionExec.getActionTerm()+" - reason: "+reason);
	actionExec.setResult(false);
	Literal descr = null;
	if (reason != null) {
		descr = ASSyntax.createLiteral("env_failure_reason", reason);
	}
	actionExec.setFailureReason(descr, msg);
	super.actionExecuted(actionExec);
}
 
开发者ID:CArtAgO-lang,项目名称:cartago,代码行数:11,代码来源:CAgentArch.java

示例6: updateAgPercept

import jason.asSyntax.ASSyntax; //导入方法依赖的package包/类
private void updateAgPercept(String agName, int ag) {
    clearPercepts(agName);
    // its location
    Location l = model.getAgPos(ag);
    Literal p = ASSyntax.createLiteral("pos",
                                       ASSyntax.createNumber(l.x),
                                       ASSyntax.createNumber(l.y),
                                       ASSyntax.createNumber(getStep()));
    addPercept(agName, p);

    Literal cg = ASSyntax.createLiteral("carrying_gold", ASSyntax.createNumber(model.getGoldsWithAg(ag)));
    addPercept(agName, cg);

    if (model.mayCarryMoreGold(ag)) {
        addPercept(agName, aCAP);
    }

    // what's around
    updateAgPercept(agName, ag, l.x - 1, l.y - 1);
    updateAgPercept(agName, ag, l.x - 1, l.y);
    updateAgPercept(agName, ag, l.x - 1, l.y + 1);
    updateAgPercept(agName, ag, l.x, l.y - 1);
    updateAgPercept(agName, ag, l.x, l.y);
    updateAgPercept(agName, ag, l.x, l.y + 1);
    updateAgPercept(agName, ag, l.x + 1, l.y - 1);
    updateAgPercept(agName, ag, l.x + 1, l.y);
    updateAgPercept(agName, ag, l.x + 1, l.y + 1);
}
 
开发者ID:jason-lang,项目名称:jason,代码行数:29,代码来源:MiningEnvironment.java

示例7: process

import jason.asSyntax.ASSyntax; //导入方法依赖的package包/类
@Override
public Agent process(Pred directive, Agent outerContent, Agent innerContent) {
    try {
        Agent newAg = new Agent();
        newAg.initAg();
        
        Literal goal = Literal.parseLiteral(directive.getTerm(0).toString());

        // add +!g : g <- true.
        newAg.getPL().add(ASSyntax.parsePlan("+!"+goal+" : " +goal+"."));
        
        // change all inner plans
        int i = 0;
        for (Plan p: innerContent.getPL()) {
            if (p.getTrigger().isAchvGoal()) {
                Literal planGoal = p.getTrigger().getLiteral();
                if (new Unifier().unifies(planGoal, goal)) { // if the plan goal unifier the pattern goal
                    i++;
                    // create p__f(i,g)
                    Literal pi = ASSyntax.createLiteral("p__f", ASSyntax.createNumber(i), goal.copy());
                    
                    // change context to "not p__f(i,g) & c"
                    LogicalFormula context = p.getContext();
                    if (context == null) {
                        p.setContext(new LogExpr(LogicalOp.not, pi));
                    } else {
                        p.setContext(new LogExpr(new LogExpr(LogicalOp.not, pi), LogicalOp.and, context));
                    }
                    
                    // change body
                    // add +p__f(i,g)
                    PlanBody b1 = new PlanBodyImpl(BodyType.addBel, pi);
                    p.getBody().add(0, b1);
                    // add ?g
                    PlanBody b2 = new PlanBodyImpl(BodyType.test, planGoal.copy()); //goal.copy());
                    p.getBody().add(b2);
                }
            }
            newAg.getPL().add(p);
        }
        

        // add -!g : true <- !!g.
        newAg.getPL().add(ASSyntax.parsePlan("-!"+goal+" <- !!"+goal+"."));

        // add +g : true <- .abolish(p__f(_,g)); .succeed_goal(g).
        newAg.getPL().add(ASSyntax.parsePlan("+"+goal+" <- .abolish(p__f(_,"+goal+")); .succeed_goal("+goal+")."));

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

示例8: perceptToLiteral

import jason.asSyntax.ASSyntax; //导入方法依赖的package包/类
public static Literal perceptToLiteral(Percept per) throws JasonException {
    Literal l = ASSyntax.createLiteral(per.getName());
    for (Parameter par: per.getParameters())
        l.addTerm(parameterToTerm(par));
    return l;
}
 
开发者ID:jason-lang,项目名称:apps,代码行数:7,代码来源:Translator.java

示例9: createState

import jason.asSyntax.ASSyntax; //导入方法依赖的package包/类
private Literal createState(DeonticModality o) {
    Literal s = ASSyntax.createLiteral(o.getState().name(), o);
    s.addSource(NormAtom);
    return s;
}
 
开发者ID:moise-lang,项目名称:npl,代码行数:6,代码来源:NPLInterpreter.java

示例10: getGoalStates

import jason.asSyntax.ASSyntax; //导入方法依赖的package包/类
List<Literal> getGoalStates() {
    List<Literal> all = new ArrayList<Literal>();
    Term tSch = ASSyntax.createAtom(this.getId().getName());
    for (Goal g: spec.getGoals()) {
        Atom aGoal  = new Atom(g.getId());
        Literal lGoal = ASSyntax.createLiteral(g.getId());

        // add arguments
        // removed to keep it compatible with obligation event
        // goalArgValue obs property was added for that
        /*if (g.hasArguments()) {
            for (String arg: g.getArguments().keySet()) {
                String value = getSchState().getGoalArgValue(g.getId(), arg);
                if (value == null) {
                    lGoal.addTerm(new VarTerm(arg));
                } else {
                    try {
                        lGoal.addTerm(ASSyntax.parseTerm(value));
                    } catch (jason.asSyntax.parser.ParseException e) {
                        lGoal.addTerm(new StringTermImpl(value));
                    }
                }
            }
        }*/

        // state
        Atom aState = aWaiting;
        if (nengine.holds(new NPLLiteral(ASSyntax.createLiteral("satisfied", tSch, aGoal), orgState))) {
            aState = aSatisfied;
        } else if (nengine.holds(ASSyntax.createLiteral("well_formed", tSch)) &&
            nengine.holds(ASSyntax.createLiteral("enabled", tSch, aGoal))) {
            aState = aEnabled;
        }

        // performed by
        ListTerm lAchievedBy = new ListTermImpl();
        ListTerm tail = lAchievedBy;
        for (Literal p: getSchState().getDoneGoals()) {
            if (p.getTerm(1).equals(aGoal))
                tail = tail.append(p.getTerm(2));
        }

        // create the literal
        Literal lGoalSt = ASSyntax.createLiteral(
                piGoalState.getFunctor(),
                tSch,
                lGoal,
                getSchState().getCommittedAgents(g), // lCommittedBy
                lAchievedBy,
                aState);
        all.add(lGoalSt);
    }
    return all;
}
 
开发者ID:moise-lang,项目名称:moise,代码行数:55,代码来源:SchemeBoard.java


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