예제 #1
0
 def test_some2(self):
     X = Var('X')
     eq_(eval(parse_text(and_p(some(char(X)), char('4')), '224')), '4')
     eq_(eval(parse_text(and_p(some(char(X)), cut, char('4')), '224')), '4')
     assert_raises(
         NoSolution, eval,
         parse_text(and_p(some(char(X)), char('3'), char('5')), '2234'))
예제 #2
0
 def test_some(self):
     X, Y = Var('X'), Var('Y')
     eq_(eval(begin(parse_text(some(char(X), X, Y), '222'), Y)),
         ['2', '2', '2'])
     eq_(eval(begin(parse_text(some(char(X), X, Y), '234'), Y)), ['2'])
     assert_raises(NoSolution, eval,
                   begin(parse_text(some(char(X), X, Y), ''), Y))
예제 #3
0
 def test_dumy_some(self):
     _, Y = DummyVar('_'), Var('Y')
     eq_(eval(begin(parse_text(some(char(_), _, Y), '222'), Y)),
         ['2', '2', '2'])
     eq_(eval(begin(parse_text(some(char(_), _, Y), '234'), Y)),
         ['2', '3', '4'])
     assert_raises(NoSolution, eval,
                   begin(parse_text(some(char(_), _, Y), ''), Y))
예제 #4
0
파일: testparser.py 프로젝트: chaosim/dao
 def testIndentUndent(self):
   _, n, s, line = DummyVar('_'), Var('n'), Var('s'), Var('line')
   space = char(' ')
   ruleList = [(s,function( ((n,), some(line(n)),s(add(n,1))),
                           ((n,), some(line(n))))),
               (line,function( ((n,), times(space, n),some(letter(_)),any(space),char('\n'))))
               ]
   eq_(eval(letr(ruleList, parse_text(s(0),  'a\n b\n c\n'))), True)
   eq_(eval(letr(ruleList, parse_text(s(0),  'asd\n bdf\n cdfh\n'))), True)    
예제 #5
0
 def testIndentUndent(self):
     _, n, s, line = DummyVar('_'), Var('n'), Var('s'), Var('line')
     space = char(' ')
     ruleList = [(s,
                  function(((n, ), some(line(n)), s(add(n, 1))),
                           ((n, ), some(line(n))))),
                 (line,
                  function(((n, ), times(space, n), some(letter(_)),
                            any(space), char('\n'))))]
     eq_(eval(letr(ruleList, parse_text(s(0), 'a\n b\n c\n'))), True)
     eq_(eval(letr(ruleList, parse_text(s(0), 'asd\n bdf\n cdfh\n'))), True)
예제 #6
0
 def test_some5(self):
     _ = DummyVar('_')
     y = LogicVar('y')
     eq_(
         eval(
             begin(set_text('abc'), some(char(_), _, y), char(_), eoi,
                   getvalue(y))), ['a', 'b'])
예제 #7
0
 def test_any_some(self):
     X, Y = Var('X'), Var('Y')
     eq_(
         eval(
             begin(
                 parse_text(
                     char(X) + any(~char('b') + some(char(X))) + eoi,
                     'abaaaa'), X)), 'a')
예제 #8
0
파일: testparser.py 프로젝트: chaosim/dao
 def test_some3(self):
   eq_(eval(parse_text(some(or_p(char('1'),char('2'))), '2')), True)
예제 #9
0
파일: testparser.py 프로젝트: chaosim/dao
 def test_some2(self):
   X = Var('X')
   eq_(eval(parse_text(and_p(some( char(X)),char('4')), '224')), '4')
   eq_(eval(parse_text(and_p(some(char(X)), cut, char('4')), '224')), '4')
   assert_raises(NoSolution, eval, parse_text(and_p(some(char(X)), char('3'), char('5')), '2234'))
예제 #10
0
파일: testparser.py 프로젝트: chaosim/dao
 def test_some(self):
   X, Y = Var('X'), Var('Y')
   eq_(eval(begin(parse_text(some(char(X), X, Y), '222'), Y)), ['2','2','2'])
   eq_(eval(begin(parse_text(some(char(X), X, Y), '234'), Y)), ['2'])
   assert_raises(NoSolution, eval, begin(parse_text(some(char(X), X, Y), ''), Y))
예제 #11
0
파일: testparser.py 프로젝트: chaosim/dao
 def test_any_some(self):
   X, Y = Var('X'), Var('Y')
   eq_(eval(begin(parse_text(char(X)+any(~char('b')+some(char(X)))+eoi, 'abaaaa'), X)), 'a')
예제 #12
0
파일: testparser.py 프로젝트: chaosim/dao
 def test_some5(self):
   _ = DummyVar('_')
   y = LogicVar('y')
   eq_(eval(begin(set_text('abc'), some(char(_), _, y), char(_), eoi, getvalue(y))), ['a', 'b'])
예제 #13
0
파일: testparser.py 프로젝트: chaosim/dao
 def test_some3(self):
   assert_raises(NoSolution, eval, begin(set_text(''), some(char('a'))))
예제 #14
0
 def test_some3(self):
     assert_raises(NoSolution, eval, begin(set_text(''), some(char('a'))))
예제 #15
0
 def test_some3(self):
     eq_(eval(parse_text(some(or_p(char('1'), char('2'))), '2')), True)
예제 #16
0
파일: testparser.py 프로젝트: chaosim/dao
 def test_dumy_some(self):
   _, Y = DummyVar('_'), Var('Y')
   eq_(eval(begin(parse_text(some(char(_), _, Y), '222'), Y)), ['2','2','2'])
   eq_(eval(begin(parse_text(some(char(_), _, Y), '234'), Y)),['2', '3', '4'])
   assert_raises(NoSolution, eval, begin(parse_text(some(char(_), _, Y), ''), Y))
예제 #17
0
파일: testparser.py 프로젝트: chaosim/dao
 def test_some2(self):
   eq_(eval(begin(set_text('aaa'), some(char('a')), char('a'), eoi)), True)
예제 #18
0
 def test_some2(self):
     eq_(eval(begin(set_text('aaa'), some(char('a')), char('a'), eoi)),
         True)