コード例 #1
0
 def tframes(self, agent, event, bindings, zexpr):
     b = self.make_bindings(agent, bindings, zexpr)
     #XXX needs a better name. update (kwc): using agent.nextid() now
     if b:
         name = "Closure.%s" % agent.nextid()
         return [TaskExprTFrame(name, event, b, self.closed_zexpr[1])]
     else:
         return []
コード例 #2
0
 def tenter(self, agent, tframe, zexpr):
     raise Unimplemented("Haven't fixed ApplyTask yet")
     oldbindings = tframe.getBaseBindings()
     closure_value = termEvalErr(agent, oldbindings, zexpr[0])
     closed_zexpr = closure_value.closed_zexpr
     bindings = closure_value.make_bindings(agent, oldbindings, zexpr[1:])
     event = PseudoGoalEvent(tframe, self)
     tframe._subgoal_event = event
     name = "%s.%s" % (tframe.name(), self.label())
     event.addTFrame(TaskExprTFrame(name, event, bindings, closed_zexpr))
     step_fn(agent, tframe, EXECUTING, zexpr)
     return tframe.tfpost_subgoal(agent, event)