code: def parse_numeric(self):
          
          word = ''
          frac = False
  
          if self.char == '-':
              word += self.char
              self.update_chars()
  
          while self.char.isdigit() or (self.char == '.' and not frac):
              # Only allow one decimal point
              if self.char == '.':
                  frac = True
              word += self.char
              self.update_chars()
  
          # Check for float exponent
          if self.char in 'eEdD':
              word += self.char
              self.update_chars()
  
          if self.char in '+-':
              word += self.char
              self.update_chars()
          while self.char.isdigit():
              word += self.char
              self.update_chars()
  
          return word
docs: Tokenize a Fortran numerical value.