Beispiel #1
0
 def eval(self, ns):
     if eval(self.cond, ns):
         return eval(self.then, ns)
     elif self.else_:
         return eval(self.else_, ns)
     else:
         return None
Beispiel #2
0
 def eval(self, ns):
     try:
         return eval(self.expr, ns)
     except:
         ex = sys.exc_info()[1]
         for ex_type_expr, handler in self.handlers:
             ex_type = eval(ex_type_expr, ns)
             if isinstance(ex, ex_type):
                 return eval(handler, ns)
         raise
Beispiel #3
0
def eval_all(exprs, ns):
    result = None
    for e in exprs:
        result = eval(e, ns)
    return result
Beispiel #4
0
 def eval(self, ns):
     return ns.define_global(self.symbol.name, eval(self.value, ns))
Beispiel #5
0
 def eval(self, ns):
     if isinstance(self.exception, str):
         raise Exception(self.exception)
     else:
         raise eval(self.exception, ns)