Exemple #1
0
 def test10(self):
   x = LogicVar('x')
   x1 = Const('x')
   y1 = Const('y')
   eq_(eval(begin(assign(x1, L(L(1, x))),
                  assign(y1, L(L(1, x))),
                  unify(x1, y1))), True)
Exemple #2
0
 def test10(self):
     x = LogicVar('x')
     x1 = Const('x')
     y1 = Const('y')
     eq_(
         eval(
             begin(assign(x1, L(L(1, x))), assign(y1, L(L(1, x))),
                   unify(x1, y1))), True)
Exemple #3
0
 def test_unwind_protect_loop(self):
   from util import a, i
   eq_(eval(let([(i,3)], 
                block(a, assign(i, sub(i, 1)), 
                         if_(eq(i, 0), 
                           exit_block(a, 1),
                           unwind_protect(continue_block(a), prin(i)))), i)), 0)
Exemple #4
0
 def test_open_read2(self):
     file1 = Var('file1')
     x = Var('x')
     eq_(
         eval(
             let([(file1, open_file('test.txt'))], readline(file1),
                 assign(x, readlines(file1)), close_file(file1), x)),
         ['hello'])
Exemple #5
0
 def testloop(self):
   from util import a, i
   eq_(eval(let([(i,3)], 
                block(a, assign(i, sub(i, 1)), 
                         if_(eq(i, 0), 
                             exit_block(a, 1), 
                             continue_block(a))), 
                i)), 0)
Exemple #6
0
 def testloop(self):
     from util import a, i
     eq_(
         eval(
             let([(i, 3)],
                 block(a, assign(i, sub(i, 1)),
                       if_(eq(i, 0), exit_block(a, 1), continue_block(a))),
                 i)), 0)
Exemple #7
0
 def test_open_read2(self):
   file1 = Var('file1')
   x = Var('x')
   eq_(eval(let([(file1, open_file('test.txt'))], 
                readline(file1), 
                assign(x, readlines(file1)), 
                close_file(file1), 
                x)), 
       ['hello'])
Exemple #8
0
 def test_unwind_protect_loop(self):
     from util import a, i
     eq_(
         eval(
             let([(i, 3)],
                 block(
                     a, assign(i, sub(i, 1)),
                     if_(eq(i, 0), exit_block(a, 1),
                         unwind_protect(continue_block(a), prin(i)))), i)),
         0)
Exemple #9
0
 def test_let_assign(self):
     a, b = Var('a'), Var('b')
     eq_(eval(let([(a, 1)], assign(a, 2), a)), 2)
     eq_(eval(let([(a, 1)], let([(b, 1)], assign(a, 2), a))), 2)
Exemple #10
0
 def test_let2(self):
     x = Const('x')
     assert_raises(MultiAssignToConstError, eval,
                   let([(x, 1)], let([(x, 2)], assign(x, 2))))
Exemple #11
0
 def test_assign(self):
   x = Var('x')
   result = compile(assign(x, 2))
   expect = '2'
   eq_(result, expect)
Exemple #12
0
 def test_assign(self):
     x = Var('x')
     result = cps(assign(x, 2))
     expect = 1
     eq_(result, expect)
Exemple #13
0
 def test_letrec_assign2(self):
   x, f = Const('x'), Const('f')
   assert_raises(MultiAssignToConstError, eval,
                 letrec([(f, macro((x,), f(1), assign(f, 1)))], f(2)))
Exemple #14
0
 def test_let_assign(self):
   a, b = Var('a'), Var('b')
   eq_(eval(let([(a, 1)], assign(a,2), a)), 2)
   eq_(eval(let([(a,1)], 
                 let([(b,1)], assign(a,2), a))), 2)
Exemple #15
0
 def test_let2(self):
   x = Const('x')
   assert_raises(MultiAssignToConstError, eval, let([(x, 1)], let([(x, 2)], assign(x, 2))))
Exemple #16
0
 def test_assign(self):
     x = Var('x')
     result = compile_optimize(assign(x, 2))
     expect = il.Integer(2)
     eq_(result, expect)
Exemple #17
0
 def test_assign(self):
   x = Var('x')
   result = compile_optimize(assign(x, 2))
   expect = il.Integer(2)
   eq_(result, expect)
Exemple #18
0
 def test_letrec_assign2(self):
     x, f = Const('x'), Const('f')
     assert_raises(MultiAssignToConstError, eval,
                   letrec([(f, macro((x, ), f(1), assign(f, 1)))], f(2)))
Exemple #19
0
 def testassign1(self):
     a = Const('a')
     eq_(eval(begin(assign(a, 2), a)), 2)
Exemple #20
0
 def test_let_assign_const(self):
     a = Const('a')
     assert_raises(MultiAssignToConstError, eval, let([(a, 2)],
                                                      assign(a, 3)))
Exemple #21
0
 def testassign0(self):
     a = Const('a')
     eq_(eval(assign(a, 2)), 2)
Exemple #22
0
 def test_open_read(self):
     file1 = Var('file1')
     eq_(
         eval(
             let([(file1, open_file('test.txt'))], assign(x, read(file1)),
                 close_file(file1), x)), 'hello\nhello')
Exemple #23
0
 def testassign2(self):
     a = Const('a')
     assert_raises(MultiAssignToConstError, eval,
                   begin(assign(a, 2), assign(a, 3)))
Exemple #24
0
 def testassign0(self):
   a = Const('a')
   eq_(eval(assign(a,2)), 2)
Exemple #25
0
 def test_assign(self):
   x = Var('x')
   result = cps(assign(x, 2))
   expect = 1
   eq_(result, expect)
Exemple #26
0
 def testassign1(self):
   a = Const('a')
   eq_(eval(begin(assign(a,2), a)), 2)
Exemple #27
0
 def test_open_read(self):
   file1 = Var('file1')
   eq_(eval(let([(file1, open_file('test.txt'))], 
                assign(x, read(file1)), 
                close_file(file1),
                x)), 'hello\nhello')
Exemple #28
0
 def testassign2(self):
   a = Const('a')
   assert_raises(MultiAssignToConstError, eval, begin(assign(a,2), assign(a, 3)))
Exemple #29
0
 def test_let_assign_const(self):
   a = Const('a')
   assert_raises(MultiAssignToConstError, eval, 
                 let([(a,2)], assign(a, 3)))
Exemple #30
0
 def test_assign(self):
     x = Var('x')
     result = compile(assign(x, 2))
     expect = '2'
     eq_(result, expect)