code: def feed(self, token, test_newline=True):
          
          if test_newline:
              newlines = token.count(self.newline_char)
              if newlines:
                  self.line += newlines
                  self.line_start_pos = self.char_pos + token.rindex(self.newline_char) + 1
  
          self.char_pos += len(token)
          self.column = self.char_pos - self.line_start_pos + 1
docs: Consume a token and calculate the new line & column.
  
          As an optional optimization, set test_newline=False is token doesn't contain a newline.