Ejemplo n.º 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)
Ejemplo n.º 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)
Ejemplo n.º 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)
Ejemplo n.º 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'])
Ejemplo n.º 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)
Ejemplo n.º 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)
Ejemplo n.º 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'])
Ejemplo n.º 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)
Ejemplo n.º 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)
Ejemplo n.º 10
0
 def test_let2(self):
     x = Const('x')
     assert_raises(MultiAssignToConstError, eval,
                   let([(x, 1)], let([(x, 2)], assign(x, 2))))
Ejemplo n.º 11
0
 def test_assign(self):
   x = Var('x')
   result = compile(assign(x, 2))
   expect = '2'
   eq_(result, expect)
Ejemplo n.º 12
0
 def test_assign(self):
     x = Var('x')
     result = cps(assign(x, 2))
     expect = 1
     eq_(result, expect)
Ejemplo n.º 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)))
Ejemplo n.º 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)
Ejemplo n.º 15
0
 def test_let2(self):
   x = Const('x')
   assert_raises(MultiAssignToConstError, eval, let([(x, 1)], let([(x, 2)], assign(x, 2))))
Ejemplo n.º 16
0
 def test_assign(self):
     x = Var('x')
     result = compile_optimize(assign(x, 2))
     expect = il.Integer(2)
     eq_(result, expect)
Ejemplo n.º 17
0
 def test_assign(self):
   x = Var('x')
   result = compile_optimize(assign(x, 2))
   expect = il.Integer(2)
   eq_(result, expect)
Ejemplo n.º 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)))
Ejemplo n.º 19
0
 def testassign1(self):
     a = Const('a')
     eq_(eval(begin(assign(a, 2), a)), 2)
Ejemplo n.º 20
0
 def test_let_assign_const(self):
     a = Const('a')
     assert_raises(MultiAssignToConstError, eval, let([(a, 2)],
                                                      assign(a, 3)))
Ejemplo n.º 21
0
 def testassign0(self):
     a = Const('a')
     eq_(eval(assign(a, 2)), 2)
Ejemplo n.º 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')
Ejemplo n.º 23
0
 def testassign2(self):
     a = Const('a')
     assert_raises(MultiAssignToConstError, eval,
                   begin(assign(a, 2), assign(a, 3)))
Ejemplo n.º 24
0
 def testassign0(self):
   a = Const('a')
   eq_(eval(assign(a,2)), 2)
Ejemplo n.º 25
0
 def test_assign(self):
   x = Var('x')
   result = cps(assign(x, 2))
   expect = 1
   eq_(result, expect)
Ejemplo n.º 26
0
 def testassign1(self):
   a = Const('a')
   eq_(eval(begin(assign(a,2), a)), 2)
Ejemplo n.º 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')
Ejemplo n.º 28
0
 def testassign2(self):
   a = Const('a')
   assert_raises(MultiAssignToConstError, eval, begin(assign(a,2), assign(a, 3)))
Ejemplo n.º 29
0
 def test_let_assign_const(self):
   a = Const('a')
   assert_raises(MultiAssignToConstError, eval, 
                 let([(a,2)], assign(a, 3)))
Ejemplo n.º 30
0
 def test_assign(self):
     x = Var('x')
     result = compile(assign(x, 2))
     expect = '2'
     eq_(result, expect)