runtime.Scanner#scan
#!/usr/bin/env python import re from yapps import runtime patterns = [ ('END', re.compile('$')), ('A', re.compile('a')), ('B', re.compile('b')), ] s = runtime.Scanner(patterns, {}, "aab") print s.scan('A') print s.scan('A') print s.scan('B') print s.scan('A')
で、
a a b Traceback (most recent call last): File "20090529_yapps200.py", line 15, in ? print s.scan('A') File "/var/lib/python-support/python2.4/yapps/runtime.py", line 343, in scan tok = self.token([type],context) File "/var/lib/python-support/python2.4/yapps/runtime.py", line 296, in token raise SyntaxError(self.get_pos(), msg, context=context) yapps.runtime.SyntaxError: SyntaxError@('<f.0>', 1, 3)(Trying to find one of A)