next up previous contents
Next: Compiling ALE Programs Up: Generation Previous: Pivot Checking   Contents

The sem_goal> Operator

For the most part, the generator treats procedural attachments as the parser does -- it evaluates them with respect to other daughter specifications in the order given. The one exception to this is sem_goal> attachments. These goals are distinguished as attached to the semantic head, and are therefore evaluated either immediately before or immediately after the sem_head> description. As a result, sem_goal> specification can only occur immediately before or immediately after a sem_head> specification; and thus only in chain rules. sem_goal> attachments are not evaluated during the pivot check described above -- only the sem_head> and mother descriptions. During parsing, sem_goal> specifications are treated exactly the same as goal> specifications, i.e., evaluated in order.

To summarize, the order of execution for a non-chain rule specification during generation is:

There are no sem_head> or sem_goal> specifications in a non-chain rule. The order for a chain rule specification during generation is: Again, practical grammar implementations will arrange information in rules in such a way as to ensure termination and to force failure as early as possible. For non-chain rules, this means making the mother and early daughters or goals as informative as possible at the description level (that is, up to where type inferencing can take over). For chain rules, the semantic head and its attachments should be maximally informative.


next up previous contents
Next: Compiling ALE Programs Up: Generation Previous: Pivot Checking   Contents
Detmar Meurers
2001-03-03