parameters: (identifier)
return_statement: return parts
docstring: Splits string at _ or between lower case and uppercase letters.
docstring_summary: Splits string at _ or between lower case and uppercase letters.
docstring_tokens: Splits string at _ or between lower case and uppercase letters .
function: def split_identifier(identifier):
      """Splits string at _ or between lower case and uppercase letters."""
      prev_split = 0
      parts = []
  
      if '_' in identifier:
          parts = [s.lower() for s in identifier.split('_')]
      else:
          for i in range(len(identifier) - 1):
              if identifier[i + 1].isupper():
                  parts.append(identifier[prev_split:i + 1].lower())
                  prev_split = i + 1
          last = identifier[prev_split:]
          if last:
              parts.append(last.lower())
      return parts
function_tokens: def split_identifier ( identifier ) : prev_split = 0 parts = [ ] if '_' in identifier : parts = [ s . lower ( ) for s in identifier . split ( '_' ) ] else : for i in range ( len ( identifier ) - 1 ) : if identifier [ i + 1 ] . isupper ( ) : parts . append ( identifier [ prev_split : i + 1 ] . lower ( ) ) prev_split = i + 1 last = identifier [ prev_split : ] if last : parts . append ( last . lower ( ) ) return parts