code: def _tokenize_field_path(path):
      
      pos = 0
      get_token = TOKENS_REGEX.match
      match = get_token(path)
      while match is not None:
          type_ = match.lastgroup
          value = match.group(type_)
          yield value
          pos = match.end()
          match = get_token(path, pos)
      if pos != len(path):
          raise ValueError("Path {} not consumed, residue: {}".format(path, path[pos:]))
docs: Lex a field path into tokens (including dots).
  
      Args:
          path (str): field path to be lexed.
      Returns:
          List(str): tokens