* * * * * Ideas in parsing the command line > For any non-trivial script, even for personal consumption, it's necessary > to supply usage text. The novelty of Lapp is that it starts from that point > and defines a loose format for usage strings which can specify the names > and types of the parameters. > > An example will make this clearer: > > -----[ Lua ]----- > -- scale.lua > require 'lapp' > local args = lapp [[ > Does some calculations > -o,--offset (default 0.0) Offset to add to scaled number > -s,--scale (number) Scaling factor > (number ) Number to be scaled > ]] > > print(args.offset + args.scale * args.number) > -----[ END OF LINE ]----- > “lua-users wiki: Lapp Framework [1]” The thought of parsing the usage text for parsing the command line never occured to me, and I think it's brilliant. Now, when I want to modify the command line of a program I wrote (and this is mostly in C, by the way), there are four locations I have to edit: 1. An enumeration specifying the “short” form of the command line option 2. A structure describing both the short and the long forms of a command line option 3. A switch statement that processes the command line options from getopt_long() 4. The text printed out describing the command line options This method though, there's only one area I would have to edit. Now granted, this is only for Lua, but I can't see why something similar for other languages can't be done. [1] http://lua-users.org/wiki/LappFramework Email Sean Conner at sean@conman.org .