Ejemplo n.º 1
0
def make_redo(label, level, word1, word2): 
  if isinstance(label, Var):
    control_type = ''
    if not isinstance(word1, Var):
      control_type = word1
      if not isinstance(word2, Var):
        control_type += ' '+ word2
    if isinstance(level, Var): 
      level = 1
    label = label_stack_dict[control_type][-level]
  return continue_block(label)
Ejemplo n.º 2
0
 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)
Ejemplo n.º 3
0
 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)
Ejemplo n.º 4
0
 def test_loop2(self):
     eq_(tag_loop_label(LoopForm((1, next(), 2))), block("$1", 1, continue_block("$1"), 2, continue_block("$1")))
Ejemplo n.º 5
0
 def test_loop1(self):
     eq_(tag_loop_label(LoopForm((1, 2, exit()))), block("$1", 1, 2, exit_block("$1"), continue_block("$1")))