parameters: (l)
return_statement: return new_line
docstring: process_identifiers - process all identifiers and modify them to have
      consistent names across all platforms; specifically across ELF and MachO.
      For example, MachO inserts an additional understore at the beginning of
      names. This function removes that.
docstring_summary: process_identifiers - process all identifiers and modify them to have
      consistent names across all platforms; specifically across ELF and MachO.
      For example, MachO inserts an additional understore at the beginning of
      names. This function removes that.
docstring_tokens: process_identifiers - process all identifiers and modify them to have consistent names across all platforms ; specifically across ELF and MachO . For example MachO inserts an additional understore at the beginning of names . This function removes that .
function: def process_identifiers(l):
      """
      process_identifiers - process all identifiers and modify them to have
      consistent names across all platforms; specifically across ELF and MachO.
      For example, MachO inserts an additional understore at the beginning of
      names. This function removes that.
      """
      parts = re.split(r'([a-zA-Z0-9_]+)', l)
      new_line = ''
      for tk in parts:
          if is_identifier(tk):
              if tk.startswith('__Z'):
                  tk = tk[1:]
              elif tk.startswith('_') and len(tk) > 1 and \
                      tk[1].isalpha() and tk[1] != 'Z':
                  tk = tk[1:]
          new_line += tk
      return new_line
function_tokens: def process_identifiers ( l ) : parts = re . split ( r'([a-zA-Z0-9_]+)' , l ) new_line = '' for tk in parts : if is_identifier ( tk ) : if tk . startswith ( '__Z' ) : tk = tk [ 1 : ] elif tk . startswith ( '_' ) and len ( tk ) > 1 and tk [ 1 ] . isalpha ( ) and tk [ 1 ] != 'Z' : tk = tk [ 1 : ] new_line += tk return new_line