Unable to parse command line arguments in unified way.

JP joris.putcuyps at skynet.be
Fri Jan 12 09:13:34 PST 2007


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



More information about the Digitalmars-d mailing list