示例#1
0
文件: testeval.py 项目: charyorde/dao
 def testloop(self):
   eq_(eval(let([(i,3)], 
                block(a, set(i, sub(i, 1)), 
                           if_(eq(i, 0), exit_block(a, 1)),
                           continue_block(a)), i)), 0)
示例#2
0
文件: testeval.py 项目: charyorde/dao
 def test_unwind_protect_loop(self):
   eq_(eval(let([(i,3)], 
                block(a, set(i, sub(i, 1)), 
                           if_(eq(i, 0), exit_block(a, 1)),
                           unwind_protect(continue_block(a), prin(2))), i)), 0)
示例#3
0
文件: testeval.py 项目: charyorde/dao
 def testblock2(self):
   eq_(eval(block('a', exit_block('a', 2), 3)), 2)
示例#4
0
文件: testeval.py 项目: charyorde/dao
 def test_unwind_protect2(self):
   eq_(eval(block('foo', unwind_protect(exit_block('foo', 1), 
                           prin(2), prin(3)))), 1)
示例#5
0
 def test_block2(self):
     eq_(preparse(block.a[v.i << 1]), special.block('a', special.set(i, 1)))
示例#6
0
文件: testeval.py 项目: charyorde/dao
 def testblock(self):
   f = Var('f')
   eq_(eval(block('foo', let([(f, lambda_((), exit_block('foo',1)))], 
                           mul(2,block('foo', f()))))), 
       1)
示例#7
0
文件: testdinpy.py 项目: chaosim/dao
 def test_block2(self):
   eq_(preparse(block.a[ v.i << 1 ]), special.block('a', special.set(i,1))) 
示例#8
0
 def test_block(self):
     eq_(preparse(block.a[1]), special.block('a', 1))
示例#9
0
文件: testdinpy.py 项目: chaosim/dao
 def test_block(self):
   eq_(preparse(block.a[1]), special.block('a', 1)) 
示例#10
0
文件: dinpy.py 项目: hermetique/dao
def make_block(name, body):
    body = tuple(preparse(x) for x in body)
    return special.block(name, *body)
示例#11
0
 def test_loop2(self):
     eq_(tag_loop_label(LoopForm((1, next(), 2))), block("$1", 1, continue_block("$1"), 2, continue_block("$1")))
示例#12
0
 def test_loop1(self):
     eq_(tag_loop_label(LoopForm((1, 2, exit()))), block("$1", 1, 2, exit_block("$1"), continue_block("$1")))
示例#13
0
文件: dinpy.py 项目: charyorde/dao
def make_block(name, body):
  body = tuple(preparse(x) for x in body)
  return special.block(name, *body)