Next: , Previous: , Up: Definitions File   [Contents][Index]


2.2 Named Definitions

A name is a sequence of characters beginning with an alphabetic character (a through z) followed by zero or more alpha-numeric characters and/or separator characters: hyphen (-), underscore (_) or carat (^). Names are case insensitive.

Any name may have multiple values associated with it. Every name may be considered a sparse array of one or more elements. If there is more than one value, the values my be accessed by indexing the value with [index] or by iterating over them using the FOR (see FOR - Emit a template block multiple times) AutoGen macro on it, as described in the next chapter. Sparse arrays are specified by specifying an index when defining an entry (see Assigning an Index to a Definition).

There are two kinds of definitions, ‘simple’ and ‘compound’. They are defined thus (see Finite State Machine Grammar):

compound_name '=' '{' definition-list '}' ';'

simple-name[2] '=' string ';'

no^text^name ';'

simple-name has the third index (index number 2) defined here. No^text^name is a simple definition with a shorthand empty string value. The string values for definitions may be specified in any of several formation rules.