docs: def generate_parser():
      """Returns a parser configured with sub-commands and arguments."""
      parser = argparse.ArgumentParser(
          description=constants.TACL_DESCRIPTION,
          formatter_class=ParagraphFormatter)
      subparsers = parser.add_subparsers(title='subcommands')
      generate_align_subparser(subparsers)
      generate_catalogue_subparser(subparsers)
      generate_counts_subparser(subparsers)
      generate_diff_subparser(subparsers)
      generate_excise_subparser(subparsers)
      generate_highlight_subparser(subparsers)
      generate_intersect_subparser(subparsers)
      generate_lifetime_subparser(subparsers)
      generate_ngrams_subparser(subparsers)
      generate_prepare_subparser(subparsers)
      generate_results_subparser(subparsers)
      generate_supplied_diff_subparser(subparsers)
      generate_search_subparser(subparsers)
      generate_supplied_intersect_subparser(subparsers)
      generate_statistics_subparser(subparsers)
      generate_strip_subparser(subparsers)
      return parser