diff --git a/parse.py b/parse.py index 6cac98e..629f2ab 100644 --- a/parse.py +++ b/parse.py @@ -18,6 +18,8 @@ def __init__(self, input): self.code = input self.pos = 0 + self.pos_line = 2 # Start at line 2 due to shebang + self.pos_column = 1 def next(self): if self.pos >= len(self.code): @@ -25,10 +27,14 @@ return None else: symbol = self.code[self.pos] - symbol_print = "character '%s'" % (symbol) + pos_string = "line %i column %i" % (self.pos_line, self.pos_column) if symbol == '\n': - symbol_print = "new line" - log.log(log.LEXER, log.TRACE, "Read %s" % (symbol_print)) + log.log(log.LEXER, log.TRACE, "Read new line at %s" % (pos_string)) + self.pos_line += 1 + self.pos_column = 1 + else: + log.log(log.LEXER, log.TRACE, "Read character %s at %s" % (symbol, pos_string)) + self.pos_column += 1 self.pos += 1 return symbol