code: def add_cfg_to_argparser(cfg, parser, prefix=None):
      r"""To support argument parser style in addition to yaml style"""
      for key in cfg:
          value = cfg[key]
          full_key_name = (
              prefix + "." + key if prefix is not None else key
          )
          if isinstance(value, CfgNode):
              add_cfg_to_argparser(
                  value, parser=parser, prefix=full_key_name
              )
          else:
              if type(value) in [str, int, float]:
                  parser.add_argument(
                      "--" + full_key_name,
                      type=type(value),
                      default=value,
                  )
              elif type(value) in [tuple, list]:
                  parser.add_argument(
                      "--" + full_key_name,
                      type=type(value),
                      default=value,
                      nargs="+",
                  )
              elif type(value) == bool:
                  parser.add_argument(
                      "--" + full_key_name,
                      action="store_{}".format(not value).lower(),
                  )
              elif type(value) == type(None):
                  parser.add_argument(
                      "--" + full_key_name, default=None
                  )
              else:
                  raise NotImplementedError(
                      "The type of config value is not supported"
                  )
  
file_path: OpenPrompt/openprompt/config.py
imports: import argparse
  from yacs.config import CfgNode
  import sys
  from openprompt.utils.utils import check_config_conflicts
  from .default_config import get_default_config
  from openprompt.utils.logging import logger
  import os
label_desc: Use image node_id 5 for calling a global function with example usage: add_cfg_to_argparser(cfg, parser, prefix) without return types