next up previous contents
Next: Global Environment Variables Up: No Title Previous: Introduction

Setting Options


MLC++ utilities have the following command-line options:

   <utility> {[-s] [-o <optionfile>] [-O <option>=<value>]}
The -s option suppresses environment options. The -o option allows reading options from a file containing <option>=<value> per line, and the -O option (uppercase) allows setting a specific option. The -o and -O flags may be repeated multiple times.

Each option used by a program has a unique name. By convention, option names appear in ALL CAPS and use underscores between words, although few common options do not use underscores ( e.g. , LOGLEVEL). Options are set according to the following hierarchy:

MLC++ default
The default value set in the MLC++ library. If the MLC++ library does not provide a default value, the option must be supplied and is considered required.

Environment option
An environment variable contains the default value. Users can set the environment variable with the same name as the option itself. For example, setenv DATAFILE 'foo' sets the DATAFILE option to the value ``foo.'' An environment variable takes precedence over the library default value. The command-line flag ``-s'' will suppress looking at environment variables.

Command-line option
As described in the beginning of this section.

User input
Under certain settings of PROMPTLEVEL (described below), users can be prompted for option values. The default suggested to the user will be taken from the environment and the MLC++ default described above. If the user types a value, the value will be taken as the option value. If the user types <return> , then the default value will be accepted. If the user types "?", then the system will provide some help info on the specific option.

An environment variable called PROMPTLEVEL determines when to prompt the user for an option. The variable has three possible values:

Prompt the user for required options only. Options that have a value set through an environment variable of through MLC++ will not be prompted. This is the lowest level prompting mode.

Prompt for basic options, independent of whether they have a default value or not. Some options are defined as nuisance options in the MLC++ library and will not be prompted by this mode. The purpose of this mode is to prompt for the most commonly used options.

If the option has an MLC++ default, users can change it to be a nuisance option by setting the option value to an exclamation mark ('' ). A nuisance option can be changed to a non-nuisance option by setting its value to be a question mark ('?'). See Section 8 for more details.

Prompt for all options, regardless of their setting.

When an option requires one of a given set of values, , an enumerated option, a prefix of the desired option value may be used, and comparison is case insensitive. If there are multiple values with the given prefix, the first one in the list will be chosen. For example, typing setenv INDUCER naive will match naive-bayes (prefix match) and setenv INDUCER c4.5 will match C4.5 (first match, case insensitive).

To facilitate repeat runs of a program under the same options, options may be dumped to a file. The dump is in a format which can be sourced by csh or tcsh. The default is not to dump options. To set a dump file, set the environment variable OPTION_DUMP to the name of the new file. We recommend that you add the following to your .login

  setenv OPTION_DUMP ~/.mlcoptions
To repeat a run that has been dumped, simply source it; for example,
  source ~/.mlcoptions
Note that the dump file is generated as you input options in, so you can source it to fill-in the options you have already filled in even if you aborted the run.

next up previous contents
Next: Global Environment Variables Up: No Title Previous: Introduction

Ronny Kohavi
Sun Oct 6 23:17:50 PDT 1996