Ejemplo n.º 1
0
 public static Trigger TryToGetTrigger(ITerm t)
 {
     if (t.GetType() == typeof(Trigger))
     {
         return((Trigger)t);
     }
     if (t.IsPlanBody())
     {
         IPlanBody p = (IPlanBody)t;
         if (p.GetPlanSize() == 1)
         {
             TEOperator op = null;
             if (p.GetBodyType() == BodyType.Body_Type.addBel)
             {
                 op = TEOperator.add;
             }
             else if (p.GetBodyType() == BodyType.Body_Type.delBel)
             {
                 op = TEOperator.del;
             }
             if (op != null)
             {
                 Literal l = ((Literal)p.GetBodyTerm().Clone()).ForceFullLiteralImpl();
                 l.DelAnnot(BeliefBase.TSelf);
                 return(new Trigger(op, TEType.belief, l));
             }
         }
     }
     if (t.IsString())
     {
         return(AsSyntax.ParseTrigger(((IStringTerm)t).GetString()));
     }
     return(null);
 }
Ejemplo n.º 2
0
 public Trigger(TEOperator op, TEType t, Literal l) : base("te", 0)
 {
     this.literal = l;
     this.op      = op;
     this.type    = t;
     SetTrigOp(op);
     SetSrcInfo(l.GetSrcInfo());
 }
Ejemplo n.º 3
0
 public void SetTrigOp(TEOperator o)
 {
     op = o;
     predicateIndicatorCache = null;
 }