Example #1
0
 def tsubgoal_complete(self, agent, tframe, zexpr, subevent, result):
     bindings = tframe.getBaseBindings()
     if result is SUCCESS:
         step_fn(agent, bindings, SUCCEEDED, zexpr)
     else:
         step_fn(agent, bindings, FAILED, zexpr)
     return tframe.tfcompleted(agent, result)
Example #2
0
 def tsubgoal_complete(self, agent, tframe, zexpr, subevent, result):
     bindings = tframe.getBaseBindings()
     if result is SUCCESS:
         step_fn(agent, bindings, SUCCEEDED, zexpr)
     else:
         step_fn(agent, bindings, FAILED, zexpr)
     return tframe.tfcompleted(agent, result)
Example #3
0
 def tenter(self, agent, tframe, zexpr):
     bindings = tframe.getBaseBindings()
     if predSolve1(agent, bindings, zexpr[0]):
         return tframe.tfcompleted(agent, SUCCESS)
     else:
         step_fn(agent, bindings, EXECUTING, zexpr)
         symbol = bindings.bEntity(agent, zexpr[0])
         event = AchieveEvent(tframe, zexpr, symbol)
         return tframe.tfpost_subgoal(agent, event)
Example #4
0
 def tenter(self, agent, tframe, zexpr):
     bindings = tframe.getBaseBindings()
     if predSolve1(agent, bindings, zexpr[0]):
         return tframe.tfcompleted(agent, SUCCESS)
     else:
         step_fn(agent, bindings, EXECUTING, zexpr)
         symbol = bindings.bEntity(agent, zexpr[0])
         event = AchieveEvent(tframe, zexpr, symbol)
         return tframe.tfpost_subgoal(agent, event)
Example #5
0
 def tenter(self, agent, tframe, zexpr):
     predexpr = zexpr[0]
     bindings = tframe.getBaseBindings()
     #step_fn(agent, bindings, TESTING, predexpr)
     if predSolve1(agent, bindings, predexpr):
         step_fn(agent, bindings, TESTTRUE, predexpr)
         #step_fn(agent, bindings, SUCCEEDED, predexpr)
         result = SUCCESS
     else:
         step_fn(agent, bindings, TESTFALSE, predexpr)
         #step_fn(agent, bindings, FAILED, predexpr)
         if len(zexpr) > 1:
             formatString = termEvalErr(agent, bindings, zexpr[1])
             formatArgs = [termEvalErr(agent, bindings, zitem) \
                           for zitem in zexpr[2:]]
             from spark.lang.builtin import prin
             err = prin(formatString, formatArgs)
         else:
             err = "Context failed"
         result = TestFailure(tframe, err)
     return tframe.tfcompleted(agent, result)
Example #6
0
    def tenter(self, agent, tframe, zexpr):
        predexpr = zexpr[0]
        bindings = tframe.getBaseBindings()
        # step_fn(agent, bindings, TESTING, predexpr)
        if predSolve1(agent, bindings, predexpr):
            step_fn(agent, bindings, TESTTRUE, predexpr)
            # step_fn(agent, bindings, SUCCEEDED, predexpr)
            result = SUCCESS
        else:
            step_fn(agent, bindings, TESTFALSE, predexpr)
            # step_fn(agent, bindings, FAILED, predexpr)
            if len(zexpr) > 1:
                formatString = termEvalErr(agent, bindings, zexpr[1])
                formatArgs = [termEvalErr(agent, bindings, zitem) for zitem in zexpr[2:]]
                from spark.lang.builtin import prin

                err = prin(formatString, formatArgs)
            else:
                err = "Context failed"
            result = TestFailure(tframe, err)
        return tframe.tfcompleted(agent, result)
Example #7
0
 def tenter(self, agent, tframe, zexpr):
     bindings = tframe.getBaseBindings()
     step_fn(agent, bindings, EXECUTING, zexpr)
     value = termEvalErr(agent, bindings, zexpr[1])
     if not termMatch(agent, bindings, zexpr[0], value):
         step_fn(agent, bindings, FAILED, zexpr)
         s = bindings.constraintString(zexpr[0])
         raise LocatedError(zexpr, "Cannot set term %s to the calculated value" % s)
     step_fn(agent, bindings, SUCCEEDED, zexpr)
     return tframe.tfcompleted(agent, SUCCESS)
Example #8
0
 def tenter(self, agent, tframe, zexpr):
     bindings = tframe.getBaseBindings()
     step_fn(agent, bindings, EXECUTING, zexpr)
     value = termEvalErr(agent, bindings, zexpr[1])
     if not termMatch(agent, bindings, zexpr[0], value):
         step_fn(agent, bindings, FAILED, zexpr)
         s = bindings.constraintString(zexpr[0])
         raise LocatedError(
             zexpr, "Cannot set term %s to the calculated value" % s)
     step_fn(agent, bindings, SUCCEEDED, zexpr)
     return tframe.tfcompleted(agent, SUCCESS)
Example #9
0
 def tenter(self, agent, tframe, zexpr):
     length = len(zexpr)
     index = 0
     while index < length:
         zitem = zexpr[index]
         bindings = tframe.getBaseBindings()
         if predSolve1(agent, bindings, zitem):
             step_fn(agent, bindings, TESTTRUE, zitem)
             #step_fn(agent, bindings, SUCCEEDED, zitem)
             debug("predexpr %r, taskexpr %r", zitem, zexpr[index + 1])
             next = index + 1
             if next >= length:
                 # No corresponding taskexpr
                 return tframe.tfcompleted(agent, SUCCESS)
             else:
                 return tframe.tfpost_child(agent, next)
         elif self.verbose:
             step_fn(agent, bindings, TESTFALSE, zitem)
             #step_fn(agent, bindings, FAILED, zitem)
         index += 2
     # No matching condition
     if self.verbose:
         step_fn(agent, bindings, FAILED, zitem)
     return self._tenter_no_match(agent, tframe)
Example #10
0
 def tenter(self, agent, tframe, zexpr):
     length = len(zexpr)
     index = 0
     while index < length:
         zitem = zexpr[index]
         bindings = tframe.getBaseBindings()
         if predSolve1(agent, bindings, zitem):
             step_fn(agent, bindings, TESTTRUE, zitem)
             # step_fn(agent, bindings, SUCCEEDED, zitem)
             debug("predexpr %r, taskexpr %r", zitem, zexpr[index + 1])
             next = index + 1
             if next >= length:
                 # No corresponding taskexpr
                 return tframe.tfcompleted(agent, SUCCESS)
             else:
                 return tframe.tfpost_child(agent, next)
         elif self.verbose:
             step_fn(agent, bindings, TESTFALSE, zitem)
             # step_fn(agent, bindings, FAILED, zitem)
         index += 2
     # No matching condition
     if self.verbose:
         step_fn(agent, bindings, FAILED, zitem)
     return self._tenter_no_match(agent, tframe)
Example #11
0
 def tenter(self, agent, tframe, zexpr):
     bindings = tframe.getBaseBindings()
     step_fn(agent, bindings, EXECUTING, zexpr)
     symbol = bindings.bEntity(agent, zexpr[0])
     event = DoEvent(tframe, zexpr, symbol)
     return tframe.tfpost_subgoal(agent, event)
Example #12
0
 def tenter(self, agent, tframe, zexpr):
     bindings = tframe.getBaseBindings()
     step_fn(agent, bindings, EXECUTING, zexpr)
     predRetractall(agent, bindings, zexpr[1])
     return tframe.tfcompleted(agent, SUCCESS)
Example #13
0
 def tenter(self, agent, tframe, zexpr):
     bindings = tframe.getBaseBindings()
     step_fn(agent, bindings, EXECUTING, zexpr)
     symbol = bindings.bEntity(agent, zexpr[0])
     event = DoEvent(tframe, zexpr, symbol)
     return tframe.tfpost_subgoal(agent, event)
Example #14
0
 def tenter(self, agent, tframe, zexpr):
     bindings = tframe.getBaseBindings()
     step_fn(agent, bindings, EXECUTING, zexpr)
     predRetractall(agent, bindings, zexpr[1])
     return tframe.tfcompleted(agent, SUCCESS)