ALE's generator uses a simple depth-first search strategy,
displaying solutions as it finds them. As a result, it is not
complete. Following the suggestion made in Shieber et al. (1990),
ALE also checks whether there are semantic head
mother sequences that could possibly link a potential
pivot to the current root before recursively generating its non-head
daughters. If not, then the pivot is discarded. Semantic-head-driven
generators that do not prune away such bad pivots from the search tree
run a greater risk of missing solutions because top-down generation of
the bad pivot's non-head daughters may not terminate, even though it
can never yield solutions. This check is valuable because it
incorporates syntactic information from the mother and semantic
head into the otherwise semantic prediction step.
It also creates another termination problem, however, namely the
potential for infinitely long semantic head mother
sequences in some grammars. To avoid this, ALE requires the
user to specify a bound on the length of chain rule sequences at
compile-time.