예제 #1
0
파일: testeval.py 프로젝트: hermetique/dao
 def test_findall_or_p(self):
     x, y = Var('x'), Var('y')
     eq_(
         eval(
             findall(
                 macrorules([[x, y], x], [[x, y], y])(prin(1), prin(2)))),
         None)
예제 #2
0
 def test_kleene2(self):
     f, kleene = MacroVar('f'), MacroVar('kleene')
     _ = DummyVar('_')
     item = Var('item')
     fun = macro((item, ),
                 letrec([(f, macrorules(((), item, f()), ((), nullword)))],
                        f()))
     eq_(eval(let([(kleene, fun)], set_text('ab'), kleene(char(_)))), True)
예제 #3
0
파일: testparser.py 프로젝트: chaosim/dao
 def test_kleene1(self):
   f, kleene = MacroVar('f'), MacroVar('kleene')
   item = Var('item')
   fun = macro((item,),  
           letrec([(f, macrorules(
             ((), item, f()),
             ((), nullword)))], 
                f()))
   eq_(eval(let([(kleene, fun)], set_text('aa'), kleene(char('a')))), True)
예제 #4
0
파일: testeval.py 프로젝트: hermetique/dao
 def test_reverse(self):
     x, y = Var('x'), Var('y')
     eq_(eval(macrorules([[x, y], y, x])(prin(1), prin(2))), None)
예제 #5
0
파일: testeval.py 프로젝트: chaosim/dao
 def test3(self):
   x = Var('x')
   eq_(eval(macrorules([[x], add(x, x)])(1)), 2) 
예제 #6
0
파일: testeval.py 프로젝트: hermetique/dao
 def test4(self):
     x = Var('x')
     eq_(eval(macrorules([[x], prin(x)])(add(1, 1))), None)
예제 #7
0
파일: testeval.py 프로젝트: hermetique/dao
 def test5(self):
     x = Var('x')
     y = Var('y')
     eq_(eval(let([(y, 1)], macrorules([[x], prin(x)])(add(y, 1)))), None)
예제 #8
0
파일: testeval.py 프로젝트: hermetique/dao
 def test2(self):
     x = Var('x')
     eq_(eval(macrorules([[x], x])(prin(1))), None)
예제 #9
0
파일: testeval.py 프로젝트: hermetique/dao
 def test3(self):
     x = Var('x')
     eq_(eval(macrorules([[x], add(x, x)])(1)), 2)
예제 #10
0
파일: testeval.py 프로젝트: hermetique/dao
 def test_closure3(self):
     x, y, f = Const('x'), Const('y'), Const('f')
     eq_(
         eval(
             let([(f, macrorules([[x, y], begin(x, y)])), (x, 1)],
                 f(prin(x), prin(add(x, x))))), None)
예제 #11
0
파일: testeval.py 프로젝트: chaosim/dao
 def test5(self):
   x = Var('x')
   y = Var('y')
   eq_(eval(let([(y, 1)], macrorules([[x], prin(x)])(add(y, 1)))), None) 
예제 #12
0
파일: testeval.py 프로젝트: chaosim/dao
 def test_closure2(self):
   x, f = Const('x'), Const('f')
   eq_(eval(let([(f, macrorules([[x], x])),
                 (x, 1)],
            f(add(x,x)))), 2)
예제 #13
0
파일: testeval.py 프로젝트: chaosim/dao
 def test_closure3(self):
   x, y, f = Const('x'), Const('y'), Const('f')
   eq_(eval(let([(f, macrorules([[x, y], begin(x, y)])),
                 (x, 1)],
            f(prin(x), prin(add(x,x))))), None) 
예제 #14
0
파일: testeval.py 프로젝트: chaosim/dao
 def test_closure1(self):
   x, f = Const('x'), Const('f')
   eq_(eval(let([(f, macrorules([[x], prin(x)])),
                 (x, 1)],
            f(add(x,x)))), None) 
예제 #15
0
파일: testeval.py 프로젝트: chaosim/dao
 def test_findall_or_p(self):
   x, y = Var('x'), Var('y')
   eq_(eval(findall(macrorules([[x, y], x],
                  [[x, y], y])(prin(1), prin(2)))), None) 
예제 #16
0
파일: testeval.py 프로젝트: chaosim/dao
 def test_reverse(self):
   x, y = Var('x'), Var('y')
   eq_(eval(macrorules([[x, y], y, x])(prin(1), prin(2))), None) 
예제 #17
0
파일: testeval.py 프로젝트: hermetique/dao
 def test_closure1(self):
     x, f = Const('x'), Const('f')
     eq_(eval(let([(f, macrorules([[x], prin(x)])), (x, 1)], f(add(x, x)))),
         None)
예제 #18
0
파일: testeval.py 프로젝트: chaosim/dao
 def test2(self):
   x = Var('x')
   eq_(eval(macrorules([[x], x])(prin(1))), None) 
예제 #19
0
파일: testeval.py 프로젝트: hermetique/dao
 def test_closure2(self):
     x, f = Const('x'), Const('f')
     eq_(eval(let([(f, macrorules([[x], x])), (x, 1)], f(add(x, x)))), 2)
예제 #20
0
파일: testeval.py 프로젝트: chaosim/dao
 def test4(self):
   x = Var('x')
   eq_(eval(macrorules([[x], prin(x)])(add(1, 1))), None) 
예제 #21
0
파일: testeval.py 프로젝트: hermetique/dao
 def test1(self):
     eq_(eval(macrorules([[], prin(1)])()), None)
예제 #22
0
파일: testeval.py 프로젝트: chaosim/dao
 def test1(self):
   eq_(eval(macrorules([[], prin(1)])()), None)