A semantic-head-driven generation algorithm for unification-based formalisms | Synapse