Blocks are used to represent the tree substructures that are reused
in different trees, i.e. blocks
subsume classes of trees. Each block includes
a set of nodes, dominance relation, parent relation,
precedence relation between nodes,
and feature equations. This follows the definition of the tree
descriptions specified in a logical language patterned after Rogers and
Vijay-Shanker[#!rogers-vijay94!#].
Blocks are divided into two types according to their functions:
subcategorization blocks
and transformation blocks.
The former describes structural configurations incorporating
the various information in a subcategorization frame.
For example, some of the subcategorization blocks
used in the
development of the English grammar are shown in Figure
C.2.26.1
When the subcategorization frame for a verb is given
by the grammar
developer, the system will automatically create a new block (of code) by
essentially selecting the appropriate primitive subcategorization blocks
corresponding to the argument information specified in that verb
frame.
The transformation blocks are used for various transformations such as
wh-movement. These transformation blocks do not encode
rules for modifying trees, but rather describe
the properties of a particular syntactic construction.
Figure C.3 depicts
our representation of phrasal extraction.
This can be specialized to give the
blocks for wh-movement, topicalization, relative clause formation, etc.
For example, the
wh-movement block is defined by further specifying that the ExtractionRoot is
labeled S, the NewSite
has a +wh feature, and so on.