code: def parse_args(argv=sys.argv[1:], prog=None, *, subset=None):
      import argparse
  
      parser = argparse.ArgumentParser(
          prog=prog or get_prog(),
      )
  
      #    if subset == 'check' or subset == ['check']:
      #        if checks is not None:
      #            commands = dict(COMMANDS)
      #            commands['check'] = list(commands['check'])
      #            cli = commands['check'][1][0]
      #            commands['check'][1][0] = (lambda p: cli(p, checks=checks))
      processors = add_commands_cli(
          parser,
          commands=COMMANDS,
          commonspecs=[
              add_verbosity_cli,
              add_traceback_cli,
          ],
          subset=subset,
      )
  
      args = parser.parse_args(argv)
      ns = vars(args)
  
      cmd = ns.pop("cmd")
  
      verbosity, traceback_cm = process_args_by_key(
          args,
          argv,
          processors[cmd],
          ["verbosity", "traceback_cm"],
      )
      if cmd != "parse":
          # "verbosity" is sent to the commands, so we put it back.
          args.verbosity = verbosity
  
      return cmd, ns, verbosity, traceback_cm
  
imports: import logging
  import sys
  import textwrap
  from c_common.scriptutil import VERBOSITY, add_verbosity_cli, add_traceback_cli, add_commands_cli, add_kind_filtering_cli, add_files_cli, add_progress_cli, process_args_by_key, configure_logger, get_prog
  from c_parser.info import KIND
  import c_parser.__main__
  import c_analyzer.__main__
  import c_analyzer
  from c_analyzer.info import UNKNOWN
  from .None import _analyzer, _builtin_types, _capi, _files, _parser, REPO_ROOT
label_desc: Use image node_id 14 for calling a global function with example usage: parse_args(argv, prog) and returns: cmd,  ns,  verbosity,  traceback_cm