Implement new command-line argument parser.
authorBen Pfaff <blp@gnu.org>
Tue, 5 May 2009 12:39:03 +0000 (05:39 -0700)
committerBen Pfaff <blp@gnu.org>
Sun, 7 Jun 2009 04:11:07 +0000 (21:11 -0700)
commit0d3402b7f5f8649a5f6da491c7da88a7a05d3d3a
tree48ea56ed21504a58580de1569deb0c13b9fb06a1
parentfa9d8a1e20b764e0d4d49813b83a9c3c9d9dff62
Implement new command-line argument parser.

glibc has two option parsers, but neither one of them feels quite
right:

  - getopt_long is simple, but not modular, in that there is no
    easy way to make it accept multiple collections of options
    supported by different modules.

  - argp is more sophisticated and more complete, and hence more
    complex.  It still lacks one important feature for
    modularity: there is no straightforward way for option groups
    that are implemented independently to have separate auxiliary
    data,

The parser implemented in this commit is meant to be simple and
modular.  It is based internally on getopt_long.

The initial use for this option parser is for an upcoming commit of a test
program that has some of its own options and some from the model checker,
but it should also be appropriate for PSPP and PSPPIRE if anyone wants to
adapt them to use it.
src/libpspp/argv-parser.c [new file with mode: 0644]
src/libpspp/argv-parser.h [new file with mode: 0644]
src/libpspp/automake.mk