Пример #1
0
 def __call__(self, stack, envs, objs):
     if objs is None:
         return stack.call(self.objs[0], envs)
     if not objs.evaled:
         return stack.jump(CallStatus(objs, self.objs.cdr, nil), envs)
     return stack.jump(CallStatus(objs, nil, reversed_list(self.objs.cdr)),
             envs)
Пример #2
0
 def func_call(self, func, envs):
     o = func[0]
     if not isinstance(o, OSymbol):
         return FuncStatus(func)
     objs = envs[o.name]
     if not objs.evaled:
         return CallStatus(objs, func.cdr, nil)
     return CallStatus(objs, nil, reversed_list(func.cdr))
Пример #3
0
 def genfast(self):
     for i in reversed_list(self.e):
         self.fast.update(i)