Exemple #1
0
 def testEachForm(self):
   eq_(eval(tag_loop_label(EachForm(i, range(3), [prin(i)]))), None)
Exemple #2
0
 def testEachForm2(self):
   eq_(eval(tag_loop_label(EachForm((i, j), zip(range(3), range(3)), [prin(i, j)]))), None)
Exemple #3
0
 def testLoopWhen(self):
   eq_(eval(tag_loop_label(let([(i,3)], LoopWhenForm((set(i, sub(i, 1)), prin(i)), 
                                    gt(i,0))))), None)
Exemple #4
0
 def testLoopUntil(self):
   eq_(eval(tag_loop_label(let([(i,3)], LoopUntilForm((set(i, sub(i, 1)), prin(i)), 
                                    eq(i,0))))), None)
Exemple #5
0
def eval(code):
    code = preparse(code)
    code = tag_loop_label(code)
    return dao_eval(code)
Exemple #6
0
 def testLoopTimes(self):
   eq_(eval(tag_loop_label(let([(i,3)], LoopTimesForm(3, (set(i, sub(i, 1)), prin(i)))))), None)
Exemple #7
0
 def test_loop2(self):
     print tag_loop_label(LoopTimesForm(3, (1, next(), 2)))
Exemple #8
0
 def preprocess(self):
     return special.begin(*tag_loop_label(preparse(self.code)))
Exemple #9
0
 def test_loop1(self):
     print tag_loop_label(LoopTimesForm(3, (write(i), exit())))
Exemple #10
0
 def test_loop2(self):
     eq_(tag_loop_label(LoopForm((1, next(), 2))), block("$1", 1, continue_block("$1"), 2, continue_block("$1")))
Exemple #11
0
 def test_loop1(self):
     eq_(tag_loop_label(LoopForm((1, 2, exit()))), block("$1", 1, 2, exit_block("$1"), continue_block("$1")))
Exemple #12
0
 def preprocess(self):
   return special.begin(*tag_loop_label(preparse(self.code)))
Exemple #13
0
def eval(code):
  code = preparse(code)
  code = tag_loop_label(code)
  return dao_eval(code)