equal
deleted
inserted
replaced
60 yield ('string', program[s:pos].decode('string-escape'), s) |
60 yield ('string', program[s:pos].decode('string-escape'), s) |
61 break |
61 break |
62 pos += 1 |
62 pos += 1 |
63 else: |
63 else: |
64 raise error.ParseError(_("unterminated string"), s) |
64 raise error.ParseError(_("unterminated string"), s) |
65 elif c.isalnum() or c in '.': # gather up a symbol/keyword |
65 elif c.isalnum() or c in '._' or ord(c) > 127: # gather up a symbol/keyword |
66 s = pos |
66 s = pos |
67 pos += 1 |
67 pos += 1 |
68 while pos < l: # find end of symbol |
68 while pos < l: # find end of symbol |
69 d = program[pos] |
69 d = program[pos] |
70 if not (d.isalnum() or d in "._"): |
70 if not (d.isalnum() or d in "._" or ord(d) > 127): |
71 break |
71 break |
72 if d == '.' and program[pos - 1] == '.': # special case for .. |
72 if d == '.' and program[pos - 1] == '.': # special case for .. |
73 pos -= 1 |
73 pos -= 1 |
74 break |
74 break |
75 pos += 1 |
75 pos += 1 |