#### Dictionary

Every option tree must include a dictionary named commands.cnf in its cfg subdirectory. The dictionary specifies the following attributes for each command provided by the option tree:

- Command name, including optional abbreviation point
- Type of command (intrinsic, primitive, or macro)
- Number of command parameters
- Parameter names (optional)
- Parameter default values (optional)

A command definition occupies a single line in the dictionary. A sample dictionary entry looks like this:

    MYC*OMMAND P, 3+, INPUT=, ITERATIONS=1K, 0

This fictitious entry demonstrates all of the commonly encountered variations:

- The full command name is `MYCOMMAND`, which can be shortened to `MYC`. (You cannot give multiple commands in one option tree the same full or abbreviated command name, but identically named commands in different option trees is acceptable.)
- The command is a primitive.
- The command accepts 3 or more parameters.
- The first parameter is named `INPUT` and has no default value.
- The second parameter is named `ITERATIONS` and has a default value of 1024. NeXtMidas recognizes the 'K' and 'M' suffixes and assigns to them their customary binary values.
- The third parameter is not named, but 0 is its default value.
- All other parameters are neither named nor defaulted.