コード例 #1
0
ファイル: Expression.py プロジェクト: Soyn/SICP-1
 def __listOfValues(self, exprs, env):
     res = []
     for e in exprs.raw:
         if isinstance(e, list):
             evaled = schemeEval(Expression.fromPythonList(e), env)
         else:
             evaled = schemeEval(Expression([e]), env)
         res.append(evaled)
     return res
コード例 #2
0
 def __listOfValues(self, exprs, env):
     res = []
     for e in exprs.raw:
         if isinstance(e, list):
             evaled = schemeEval(Expression.fromPythonList(e), env)
         else:
             evaled = schemeEval(Expression([e]), env)
         res.append(evaled)
     return res
コード例 #3
0
ファイル: Expression.py プロジェクト: Soyn/SICP-1
 def eval(self, env):
     env.set(
         self.__assignmentVariable(),
         schemeEval(self.__assignmentValue(), env)
     )
     return "ok"
コード例 #4
0
ファイル: Expression.py プロジェクト: Soyn/SICP-1
 def eval(self, env):
     return schemeApply(
         schemeEval(self.__operator(), env),
         self.__listOfValues(self.__operands(), env)
     )
コード例 #5
0
ファイル: Expression.py プロジェクト: Soyn/SICP-1
 def eval(self, env):
     if schemeEval(self.__ifPredicate(), env):
         return schemeEval(self.__ifConsequent(), env)
     else:
         return schemeEval(self.__ifAlternative(), env)
コード例 #6
0
ファイル: Expression.py プロジェクト: Soyn/SICP-1
 def eval(self, env):
     env.define(
         self.__definitionVariable(),
         schemeEval(self.__definitionValue(), env)
     )
     return "ok"
コード例 #7
0
 def eval(self, env):
     return schemeApply(schemeEval(self.__operator(), env),
                        self.__listOfValues(self.__operands(), env))
コード例 #8
0
 def eval(self, env):
     if schemeEval(self.__ifPredicate(), env):
         return schemeEval(self.__ifConsequent(), env)
     else:
         return schemeEval(self.__ifAlternative(), env)
コード例 #9
0
 def eval(self, env):
     env.define(self.__definitionVariable(),
                schemeEval(self.__definitionValue(), env))
     return "ok"
コード例 #10
0
 def eval(self, env):
     env.set(self.__assignmentVariable(),
             schemeEval(self.__assignmentValue(), env))
     return "ok"