def execute(self,env,*unEvalArgTuple):
     symbol = unEvalArgTuple[0]
     if isinstance(symbol, LispCons):
         func = Lambda().execute(env,symbol.rest,*unEvalArgTuple[1:len(unEvalArgTuple)])
         return self.execute(env,symbol.first,func)
     
     if not isinstance(symbol, LispSymbol):
         print "first argument was not a symbol"
         return new(LispNull)
     
     value = LISP.evall(unEvalArgTuple[1],env)
     env.put(symbol,value)
     return value
 def execute(self,env,*unEvalArgTuple):
     condition = LISP.evall(unEvalArgTuple[0],env)
     if condition is new(LispTrue):
         return LISP.evall(unEvalArgTuple[1],env)
     else:
         return LISP.evall(unEvalArgTuple[2],env)
 def execute(self,env, *args):
     root = LISP.evall(args[0],env)
     text = LISP.evall(args[1],env)
     command = LISP.evall(args[2],env)
     return LispTKButtonClass(root,text,command,env)
 def execute(self,env, *args):
     root = LISP.evall(args[0],env)
     return LispTKFrameClass(root)
 def execute(self,env, *args):
     root = LISP.evall(args[0],env)
     return LispTKScrollbarClass(root)
 def execute(self,env, *args):
     src = LISP.evall(args[0], env)
     lisp = LISP.Reader.readLisp(src.value)
     ret= LISP.Eval.evall(lisp,env)
     return ret
 def execute(self,env, *args):
     root = LISP.evall(args[0],env)
     text = LISP.evall(args[1],env)
     return LispTKLabelClass(root,text)
 def execute(self,env, *unevalArgs):
     env.set(unevalArgs[0],LISP.evall(unevalArgs[1],env))
 def execute(self,env, *unEvalArgs):
     evalArg = LISP.evall(unEvalArgs[0],env)
     if isinstance(evalArg, LispString):
         print "\"%s\"" % evalArg.value
     else:
         print printLisp(evalArg)
Beispiel #10
0
 def execute(self,env, *unEvalArgs):
     evalArg = LISP.evall(unEvalArgs[0],env)
     print printLisp(evalArg)
Beispiel #11
0
 def execute(self,env,*unEvalArgs):
     arg=None;
     for uneval in unEvalArgs:
         arg = LISP.evall(uneval,env)
     return arg
    def _runSingleExpression(self, expression, expectedResult):
        machine = LISP.LispMachine()
        result = machine.parseExpression(expression)

        self.assertEqual(expectedResult, result)