code: def parse_name(self, line):
          
          end = self.idx
          for char in line[self.idx:]:
              if not char.isalnum() and char not in '\'"_':
                  break
              end += 1
  
          word = line[self.idx:end]
  
          self.idx = end - 1
          # Update iterator, minus first character which was already read
          self.characters = itertools.islice(self.characters, len(word) - 1,
                                             None)
          self.update_chars()
  
          return word
docs: Tokenize a Fortran name, such as a variable or subroutine.