コード例 #1
0
ファイル: externs.py プロジェクト: panyam/epl
 def isz_expr_eval(exprs):
     return Lit(exprs[0].value == 0)
コード例 #2
0
ファイル: externs.py プロジェクト: panyam/epl
 def plus_expr_eval(evalfunc, env, exprs):
     vals = [evalfunc(exp, env).value for exp in exprs]
     return Lit(sum(vals))
コード例 #3
0
ファイル: externs.py プロジェクト: panyam/epl
 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))
コード例 #4
0
ファイル: externs.py プロジェクト: panyam/epl
 def isz_expr_eval(evalfunc, env, exprs):
     return Lit(evalfunc(exprs[0], env).value == 0)
コード例 #5
0
ファイル: externs.py プロジェクト: panyam/epl
 def div_expr_eval(evalfunc, env, exprs):
     val1 = evalfunc(exprs[0], env).value
     val2 = evalfunc(exprs[1], env).value
     return Lit(val1 / val2)
コード例 #6
0
ファイル: externs.py プロジェクト: panyam/epl
 def plus_expr_eval(exprs):
     vals = [e.value for e in exprs]
     return Lit(sum(vals))
コード例 #7
0
ファイル: externs.py プロジェクト: panyam/epl
 def mult_expr_eval(exprs):
     vals = [e.value for e in exprs]
     return Lit(functools.reduce(lambda x, y: x * y, vals, 1))
コード例 #8
0
ファイル: externs.py プロジェクト: panyam/epl
 def div_expr_eval(exprs):
     val1 = exprs[0]
     val2 = exprs[1]
     return Lit(val1.value / val2.value)
コード例 #9
0
 def valueOfIsZero(self, iszero, env):
     return Lit(self.valueOf(iszero.expr, env).value == 0)
コード例 #10
0
def test_if():
    runtest(*(cases.letlang["if"]), x = Lit(33), y = Lit(22))
コード例 #11
0
def test_diff():
    runtest(*(cases.letlang["diff"]), i = Lit(1), v = Lit(5), x = Lit(10))
コード例 #12
0
def test_var():
    runtest(*(cases.letlang["var"]), x = Lit(5))