Beispiel #1
0
 def testEachForm(self):
   eq_(eval(tag_loop_label(EachForm(i, range(3), [prin(i)]))), None)
Beispiel #2
0
 def testEachForm2(self):
   eq_(eval(tag_loop_label(EachForm((i, j), zip(range(3), range(3)), [prin(i, j)]))), None)
Beispiel #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)
Beispiel #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)
Beispiel #5
0
def eval(code):
    code = preparse(code)
    code = tag_loop_label(code)
    return dao_eval(code)
Beispiel #6
0
 def testLoopTimes(self):
   eq_(eval(tag_loop_label(let([(i,3)], LoopTimesForm(3, (set(i, sub(i, 1)), prin(i)))))), None)
Beispiel #7
0
 def test_loop2(self):
     print tag_loop_label(LoopTimesForm(3, (1, next(), 2)))
Beispiel #8
0
 def preprocess(self):
     return special.begin(*tag_loop_label(preparse(self.code)))
Beispiel #9
0
 def test_loop1(self):
     print tag_loop_label(LoopTimesForm(3, (write(i), exit())))
Beispiel #10
0
 def test_loop2(self):
     eq_(tag_loop_label(LoopForm((1, next(), 2))), block("$1", 1, continue_block("$1"), 2, continue_block("$1")))
Beispiel #11
0
 def test_loop1(self):
     eq_(tag_loop_label(LoopForm((1, 2, exit()))), block("$1", 1, 2, exit_block("$1"), continue_block("$1")))
Beispiel #12
0
 def preprocess(self):
   return special.begin(*tag_loop_label(preparse(self.code)))
Beispiel #13
0
def eval(code):
  code = preparse(code)
  code = tag_loop_label(code)
  return dao_eval(code)