Next: Assigning an Index to a Definition, Previous: The Identification Definition, Up: Definitions File [Contents][Index]
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.