Although fixed arity can be introduced to DCGs to make the grammars more extensible, the order of each parameter in the list, (or in the predicate if fixed arity is not used) must be known and adhered to. A Feature Structure Unification Grammar (FSUG) allows much greater flexibility than DCGs although not offering any.
The key concept behind FSUGs is the feature structure which is a set of feature-value pairs, where features are unanalysable symbols drawn from a finite set, and values are either atomic symbols or feature structures themselves. Since the values are conceptually stored as sets, there is no ordering over them and the labels (or feature names) are necessary in order to determine which values belong to which feature [13].
Feature structures are often written, in the field of linguistics, as an Attribute Value Matrix (AVM). Figure 2.6 shows an example grammar rule for the transitive verb writes written in AVM form.
Since FSUGs use feature structures to represent words and rules, the existing method of combining rules to form a sentence will not be sufficient as they assume ordering on the arguments. Below are the three definitions with which FSUG rules can be combined.
FSUGs are very compact and abstract in comparison to DCGs and the difference is even more marked when compared to CFGs.