docs: def process_arguments():
      """
      Process the command line arguments. The arguments are:
       * the list of texts to analyse (at least one);
       * -f (or --flatten) if the table must be flattened;
       * -o (or --output) the output file (default: stdout).
      """
      parser = argparse.ArgumentParser(description="Extract a table from the "
                                                   "given text")
      parser.add_argument("text", type=argparse.FileType('r'),
                          help="the text to analyse")
      parser.add_argument("--prefix", "-p", type=natural, default=0,
                          dest="prefix", help="if not 0, the maximum length of "
                                              "prefixes to consider when "
                                              "choosing the next character "
                                              "(default: 0)")
      parser.add_argument("--flatten", "-f", action="store_true", default=False,
                          dest="flatten", help="flatten the table")
      parser.add_argument("--check", "-c", action="store_true", default=False,
                          dest="check", help="also check that the table is "
                                             "complete")
      parser.add_argument("--output", "-o", type=argparse.FileType('wb'),
                          default=None, dest="output",
                          help="the output destination; "
                               "if missing, print the table")
      return parser.parse_args()