code: def make_common_parser():
      
      parser = argparse.ArgumentParser(add_help=False)
  
      # Version number
      parser.add_argument(
          "--version",
          action="version",
          version="Pelix {0} from {1}".format(pelix.__version__, pelix.__file__),
      )
  
      # Framework options
      group = parser.add_argument_group("Framework options")
      group.add_argument(
          "-D",
          nargs="+",
          dest="properties",
          metavar="KEY=VALUE",
          help="Sets framework properties",
      )
      group.add_argument(
          "-v",
          "--verbose",
          action="store_true",
          help="Set loggers to DEBUG level",
      )
  
      # Initial configuration
      group = parser.add_argument_group("Initial configuration")
      group.add_argument(
          "-c",
          "--conf",
          dest="init_conf",
          metavar="FILE",
          help="Name of an initial configuration file to use "
          "(default configuration is also loaded)",
      )
      group.add_argument(
          "-C",
          "--exclusive-conf",
          dest="init_conf_exclusive",
          metavar="FILE",
          help="Name of an initial configuration file to use "
          "(without the default configuration)",
      )
      group.add_argument(
          "-e",
          "--empty-conf",
          dest="init_empty",
          action="store_true",
          help="Don't load any initial configuration",
      )
  
      # Initial script
      group = parser.add_argument_group("Script execution arguments")
      group.add_argument(
          "--init",
          action="store",
          dest="init_script",
          metavar="SCRIPT",
          help="Runs the given shell script before starting the console",
      )
      group.add_argument(
          "--run",
          action="store",
          dest="run_script",
          metavar="SCRIPT",
          help="Runs the given shell script then stops the framework",
      )
      return parser
docs: Creates an argument parser (argparse module) with the options that should
      be common to all shells.
  
      The result can be used as a parent parser (``parents`` argument in
      ``argparse.ArgumentParser``)
  
      :return: An ArgumentParser object