Files
@ d57d0d4ede15
Branch filter:
Location: Diana/src/diana/sgfParser/__init__.py - annotation
d57d0d4ede15
606 B
text/x-python
changed the naming convention to follow standards
d57d0d4ede15 686166c7d5bc 686166c7d5bc d57d0d4ede15 686166c7d5bc 616c96178973 616c96178973 616c96178973 d57d0d4ede15 686166c7d5bc 686166c7d5bc 686166c7d5bc 686166c7d5bc 686166c7d5bc 616c96178973 616c96178973 686166c7d5bc 616c96178973 616c96178973 616c96178973 616c96178973 686166c7d5bc 686166c7d5bc d57d0d4ede15 686166c7d5bc 616c96178973 616c96178973 686166c7d5bc 616c96178973 616c96178973 616c96178973 616c96178973 | def skip_whitespace(s, start):
i = start
while i < len(s) and s[i].isspace():
i += 1
return i
def str_row_col(s, i):
k = 0
(r, c) = (0, 0)
for (r, line) in enumerate(s.splitlines(True)):
c = i-k
if k+len(line) > i:
break
else:
k += len(line)
return (r+1, c+1)
class ParserError(Exception):
def __init__(self, msg, s, i):
self.msg = msg
(self.row, self.col) = str_row_col(s, i)
self.context = s[i:i+16]
def __str__(self):
return "{0} at row {1}, col {2}, got '{3}...' instead".format(self.msg, self.row, self.col, self.context)
class ParserWarning(ParserError):
pass
|