Example #1
0
 def isz_expr_eval(exprs):
     return Lit(exprs[0].value == 0)
Example #2
0
 def plus_expr_eval(evalfunc, env, exprs):
     vals = [evalfunc(exp, env).value for exp in exprs]
     return Lit(sum(vals))
Example #3
0
 def mult_expr_eval(evalfunc, env, exprs):
     vals = [evalfunc(exp, env).value for exp in exprs]
     return Lit(functools.reduce(lambda x, y: x * y, vals, 1))
Example #4
0
 def isz_expr_eval(evalfunc, env, exprs):
     return Lit(evalfunc(exprs[0], env).value == 0)
Example #5
0
 def div_expr_eval(evalfunc, env, exprs):
     val1 = evalfunc(exprs[0], env).value
     val2 = evalfunc(exprs[1], env).value
     return Lit(val1 / val2)
Example #6
0
 def plus_expr_eval(exprs):
     vals = [e.value for e in exprs]
     return Lit(sum(vals))
Example #7
0
 def mult_expr_eval(exprs):
     vals = [e.value for e in exprs]
     return Lit(functools.reduce(lambda x, y: x * y, vals, 1))
Example #8
0
 def div_expr_eval(exprs):
     val1 = exprs[0]
     val2 = exprs[1]
     return Lit(val1.value / val2.value)
Example #9
0
 def valueOfIsZero(self, iszero, env):
     return Lit(self.valueOf(iszero.expr, env).value == 0)
Example #10
0
def test_if():
    runtest(*(cases.letlang["if"]), x = Lit(33), y = Lit(22))
Example #11
0
def test_diff():
    runtest(*(cases.letlang["diff"]), i = Lit(1), v = Lit(5), x = Lit(10))
Example #12
0
def test_var():
    runtest(*(cases.letlang["var"]), x = Lit(5))