Unable to parse command line arguments in unified way.
Kirk McDonald
kirklin.mcdonald at gmail.com
Fri Jan 12 13:05:47 PST 2007
JP wrote:
> jcc7 wrote:
>
>> JP Wrote:
>>
>>> Hello
>>>
>>> In my experience as a c/c++ programmer I've seen a lot of quick and
>>> dirty, primitive command line parsing implementations. Time and time
>>> again because they needed something that compiles on both linux(gcc)
>>> and windows(msvc) and avoid using external libraries.
>>>
>>> Even very simple console application often needs some command line
>>> parsing.
>>>
>>> Could one, simple, implementation be part of phobos, providing
>>> portability?
>>>
>>> Some references I found:
>>>
>>> - Derick Eddington 30 May 2005 "optparse.d -- good enough to be
>>> std.optparse?"
>>> http://www.digitalmars.com/d/archives/digitalmars/D/announce/553.html
>>>
>>> - Daniel Keep 15 April 2006 "optparse module"
>>> http://www.digitalmars.com/d/archives/digitalmars/D/36768.html
>>>
>>> - doost dsource project
>>> http://www.dsource.org/projects/doost/browser/trunk/doost/program_options
>>>
>>>
>>> - DDL dsource project
>>> http://www.dsource.org/projects/ddl/browser/trunk/utils/ArgParser.d
>>>
>>> - Juanjo Álvarez Martínez
>>> http://www.prowiki.org/wiki4d/wiki.cgi?Phobos/PosixGetOpt
>>>
>>> - Kirklin McDonald 1/10/2007
>>> Optparse
>>>
>>> Greets
>>>
>>> Joris
>>
>>
>>
>> I think you might have missed a couple modules (or maybe you left them
>> off your list intentionally because there's something wrong with them
>> such as being too out-of-date to use).
>>
>> See http://www.prowiki.org/wiki4d/wiki.cgi?Phobos/PosixGetOpt for the
>> fullest list that I know of.
>>
>> I agree that one of these should be added to Phobos. I don't know
>> which one (since I haven't studied the code of any of them or even
>> tried to use any of them yet), but it's obviously a common problem.
>> And Phobos should be there to solve our common problems. People can
>> still use their own version if that's what they like, but Phobos
>> should have at least one implementation.
>>
>> jcc7
>
> Thanks, you're right, I might have missed some.
>
> For Linux a POSIX compliant command line argument parser is the best
> choice, for Windows, the options are simpler.
>
> So do we take the lesser of both or go with the standard?
>
> Joris
I would like to bring up mine, again. It uses the GNU "standard" for
options, and it works on both Windows and Linux (so far as I'm able to
tell; I've only tested it in bash and sh, so I'm not sure if other
shells do strange things with arguments). If there are any features
people would like to see, I am open to adding them.
I am also in the midst of writing documentation for it. My optparse has
a fairly good selection of features, not all of which are laid out in
the "opttest" module.
The URLs for it, again, are:
http://dsource.org/projects/pyd/browser/misc/optparse.d
http://dsource.org/projects/pyd/browser/misc/opttest.d
I'll post again when I have the documentation ready.
--
Kirk McDonald
Pyd: Wrapping Python with D
http://pyd.dsource.org
More information about the Digitalmars-d
mailing list