Each constituent of an FD is generally characterized by its ``category''. In FD terms, this means each constituent includes a feature of the form (CAT category-name), where category-name is expected to be an atom.
A grammar is expected to give directives for each possible category, for example NP, VP, or NOUN. The outline of a grammar must be:
((alt (
((cat s)
<rest of grammar for category S>)
((cat np)
<rest of grammar for category NP>)
<other categories>
)))
|
NOTE: The current version of the unifier makes the assumption that the
grammar has such a form. The (CAT xxx) pairs must appear first. The
function grammar-p checks that a grammar has the right form. The list
of categories known by the grammar can be found by using the function
list-cats. See appendix
for a list of the
non-standard features of this implementation.
NOTE: The symbol identifying categories ('cat) can be changed in the program. It is by default 'cat, but this default can be changed by setting a new value to the *cat-attribute* variable or by providing an optional argument to the unification functions, as explained in the reference manual.