OP - Option Parser for Eiffel


OP is a library for parsing command line options in Eiffel. It makes it easy to add full-featured command line parsing to any existing Eiffel application.

Mini Meta FAQ

Aren't there already numerous libraries out there?

Sure, just check the EiffelZone directory and you will find five other libraries that do the same.

So, why a new library?

Most of the other libraries are not well maintained. Also, some use special "option description languages" or require just to complicated calls. So, I think mine is easier to use (which is equivalent to better in my case).

What exactly is it that you library can do?

Just look at the readme.txt file linked in the download section for a list.


  • 2006-11-18 - Integration into GOBO
    The parsing library has now been integrated into GOBO. This makes it easier to use it, as you have to maintain one less dependancy. The version in GOBO also includes many improvements of the current state. I still have to update the documentation. The current one does not contain all new features, also I renamed some existing ones.
  • 2006-03-27 - Release 0.9.2
    Updated release with cleaned up code, major design changes and the use of agents removed
  • 2006-03-23 - Release 0.9.1
    First public release of the library


  • The option parsing library is now offered as part of GOBO. Check out the latest CVS version. The parsing library has been renamed to 'argument parsing library' and is contained in the 'argument' cluster.
  • Release 0.9.2: (last independent release) (tar.gz, zip, readme.txt)
  • Older releases may be found here.

To Do / Open Issues

  • Many tools have different modes they operate in (see tar or gpg). It should be easy to add different sets of options to the parser and let it switch between these sets depending on the first option it encounters.
  • Cardinality of arguments: maximum number of parameters to accept, mandatory options, maximum repetition of options.
  • Based on popular request: XML-based generation of a parser.
  • Error reporting should report the actual form of the option used, not just the long form.
  • Split up the creation procedure for OP_PARSER to make it possible to create a completely empty parser that does no set up the help option.
  • The preconditions of the OP_OPTION class are not checkable.