The syntax of a Bloc is the following:
Rule-1
NEXT
Rule-2
NEXT
.
.
.
Rule-N
%
A Block allows two different tasks: on the one hand, it identifies as many dependencies as rules it contains, and on the other, it removes the dependent tags only after having applied all rules of the Bloc. So, it identifies the main head of the Bloc, i.e., the only tag that does not play the role of dependent in any rule. Let's see an example. Take the expression ``movie that I see'', transformed in the following string:
movie_NOUN_<...> that_PRO_<...> I_PRO_<...> see_VERB_<...>
To analyze this expression, we propose the following Bloc of 3 rules:
DObjectLeft : [NOUN] PRO<type:R> [PRO<type:P>] VERB
NEXT
SubjectLeft : [NOUN] [PRO<type:R>] PRO<type:P> VERB
NEXT
AdjunctRight : NOUN [PRO<type:R>] [PRO<type:P>] VERB
%
Each rule identifies a specific dependency. The first one identifies the direct object relation between the relative pronoun ``that'' and the verb ``see''. The second rule identifies the personal pronoun ``I'' as being the subject of the verb. And the third rule links the nominal antecedent (``movie'') with the verb of the relative clause (``see''), which is its right adjunct. As the noun is the main head of the Block, the other dependent constituents are removed. The removal of all dependents is only performed at the end of the Bloc. So, there is no kind of removal when processing the previous rules.
The rule where the main head of the Block actually plays the role of head (so, it is not a context tag) must be the last one of the block. Otherwise, it would be difficult to identify the main head.
Pablo Gamallo 2009-01-19