Esempio n. 1
0
 def isz_expr_eval(exprs):
     return Lit(exprs[0].value == 0)
Esempio n. 2
0
 def plus_expr_eval(evalfunc, env, exprs):
     vals = [evalfunc(exp, env).value for exp in exprs]
     return Lit(sum(vals))
Esempio n. 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))
Esempio n. 4
0
 def isz_expr_eval(evalfunc, env, exprs):
     return Lit(evalfunc(exprs[0], env).value == 0)
Esempio n. 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)
Esempio n. 6
0
 def plus_expr_eval(exprs):
     vals = [e.value for e in exprs]
     return Lit(sum(vals))
Esempio n. 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))
Esempio n. 8
0
 def div_expr_eval(exprs):
     val1 = exprs[0]
     val2 = exprs[1]
     return Lit(val1.value / val2.value)
Esempio n. 9
0
 def valueOfIsZero(self, iszero, env):
     return Lit(self.valueOf(iszero.expr, env).value == 0)
Esempio n. 10
0
def test_if():
    runtest(*(cases.letlang["if"]), x = Lit(33), y = Lit(22))
Esempio n. 11
0
def test_diff():
    runtest(*(cases.letlang["diff"]), i = Lit(1), v = Lit(5), x = Lit(10))
Esempio n. 12
0
def test_var():
    runtest(*(cases.letlang["var"]), x = Lit(5))