diff --git a/src/parse.py b/src/parse.py index 1b59c54..f61da3c 100644 --- a/src/parse.py +++ b/src/parse.py @@ -57,14 +57,16 @@ class Word: - def __init__(self, value, line, column): + def __init__(self, value, position, line, column): self.value = value + self.position = position self.line = line self.column = column def __repr__(self): - return "Word(Value '%s', line %i, column %i)" % ( + return "Word(Value '%s', position %i, line %i, column %i)" % ( self.value, + self.position, self.line, self.column, ) @@ -114,12 +116,13 @@ if not symbol: log.log(log.LEXER, log.TRACE, "No word to read") return None + pos = self.pos line = self.pos_line column = self.pos_column while symbol and not is_whitespace(symbol): value += symbol symbol = self.next() - word = Word(value, line, column) + word = Word(value, pos, line, column) log.log(log.LEXER, log.TRACE, "Read %s" % (word)) return word