The algorithm is closely related to head-driven generators as discussed in the previous chapter. The algorithm proceeds in a bottom-up, head-driven fashion, which provides for bottom-up and top-down filtering in a simple and straightforward way. In modern linguistic theories very much information is defined in lexical entries, whereas rules are reduced to very general (and very un-informative) schemata. More information usually implies a reduction of the search space, hence it is sensible to parse bottom-up, in order to obtain useful information as soon as possible. Furthermore, in many linguistic theories, a `head' of a construction plays an important role. For example, heads of a construction determine what other parts the construction may have. Furthermore, heads carry the features associated with the construction as a whole (such as case, agreement). The notion `head' plays an important role in grammatical theories as diverse as Government and Binding, (Xbar theory, [37]); Generalized Phrase Structure Grammar (the head-feature convention, [23]); and Head-driven Phrase Structure Grammar, where the name of the theory reflects the importance of the notion `head'. Given the importance of the notion `head', it is sensible to start with the head, in order to know what else you have to look for next. As the parser proceeds from head to head it is furthermore possible to use powerful top-down predictions based on the usual head feature percolations.
In section 4.5 I show how the head-driven parser can be put to use for another instantiation of constraint-based grammars in which string operations are restricted to be linear and non-erasing: constraint-based and lexical versions of Tree Adjoining Grammars.
Some of the properties and possible modifications of the head-corner parser are discussed in section 4.6.