Clause layers
5.1 Introduction
This chapter introduces clause (IP) layers. Section 5.2 has rules for building clause structure. Section 5.3 is concerned with matrix interrogative clauses where the subject is not under question. Section 5.4 sees an expansion of potential for clause structure with catenative verbs. Section 5.5 adds rules to join up clause content for statement word order. Section 5.6 looks at ripple effects in the clause caused by existential there.
5.2 Clause structure
The opening elements of a clause are established with the clause_top_layer rules of (5.1) and (5.2) below. These rules have a Displaced parameter, which takes a list value that accumulates indexing information for displaced items. Also, these rules have a clause Type parameter, which needs to be set for the rules of (5.1) to either:
- [rule 1] statement_order
- [rule 2] imperative_clause
- [rules 3 and 4] tag_question
- [rules 5 and 6] matrix_interrogative or matrix_constituent_interrogative
- [rules 7 and 8] matrix_constituent_interrogative
The eight rules of (5.1) are all non-recursive. They each have something to say about the clause subject. For rule 2, with the Type parameter for the clause set to imperative_clause, there can be no subject. The other rules need to either:
- [rules 1 and 3–6] find a noun phrase or subject indicating content with a call of subject (from section 2.5)
- [rules 7 and 8] inherit a subject as an np(ICH) displaced item for a clause whose Type parameter is matrix_constituent_interrogative
Rules 7 and 8 differ in how the clause SbjType parameter is set: filled_subject for rule 7, derived_subject for rule 8.
Rules finding subject content with a call of subject vary in regards to where the subject occurs in the word list and the value taken by the Type parameter of the clause, as follows:
- [rule 1] the subject call finds its content as an initial portion of the word list for a clause whose Type parameter is statement_order
- [rules 3–6] the subject call finds its content as a portion of the word list that is immediately after components (see section 5.3 below) identified with either do_operator_layer [rules 3 and 5], or have_be_or_md_finite_layer [rules 4 and 6]
With rules 3 and 4, the SbjType parameter is limited to either filled_subject or expletive_subject for a subject with final position in the word list identifying a clause whose Type parameter is tag_question.
With rules 5 and 6, the Type parameter of the clause is matrix_interrogative, with the subject having a position in the word list that is before content identified with either:
- [rule 5] verb_phrase_layer
- [rule 6] verb_complements_top_layer
When rules give clause inflection parameter information, this varies:
- [rule 2] imperative_inflection
- [rule 5] do_supported_infinitive_inflection
When rules give clause voice parameter information [rules 2, 5 and 6], this is always active_voice.
- (5.1)
-
clause_top_layer(statement_order,Displaced,L,L0) -->
subject(SbjType,L,L1),
clause_middle_layer(Displaced,SbjType,L1,L0).
clause_top_layer(imperative_clause,Displaced,L,L0) -->
verb_phrase_layer(Displaced,filled_subject,imperative_inflection,active_voice,L,L0).
clause_top_layer(tag_question,[],L,L0) -->
do_operator_layer(L,L1),
{
member(SbjType,[filled_subject,expletive_subject])
},
subject(SbjType,L1,L0).
clause_top_layer(tag_question,[],L,L0) -->
have_be_or_md_finite_layer(_,L,L1),
{
member(SbjType,[filled_subject,expletive_subject])
},
subject(SbjType,L1,L0).
clause_top_layer(Type,Displaced,L,L0) -->
{
member(Type,[matrix_interrogative,matrix_constituent_interrogative])
},
do_operator_layer(L,L2),
subject(SbjType,L2,L1),
verb_phrase_layer(Displaced,SbjType,do_supported_infinitive_inflection,active_voice,L1,L0).
clause_top_layer(Type,Displaced,L,L0) -->
{
member(Type,[matrix_interrogative,matrix_constituent_interrogative])
},
have_be_or_md_finite_layer(Code,L,L2),
subject(SbjType,L2,L1),
verb_complements_top_layer(Code,Displaced,SbjType,active_voice,L1,L0).
clause_top_layer(matrix_constituent_interrogative,[np(ICH)|Displaced],[node('NP-SBJ',[ICH])|L],L0) -->
clause_middle_layer(Displaced,filled_subject,L,L0).
clause_top_layer(matrix_constituent_interrogative,[np(ICH)|Displaced],[node('NP-SBJ',[ICH])|L],L0) -->
clause_middle_layer(Displaced,derived_subject,L,L0).
There are also the eleven recursive rules of (5.2) to enable:
- [rule 1] a clause initial adverbial, possibly followed by non_final punctuation
- [rule 2] a clause final adverbial, possibly preceded by non_final punctuation
- [rule 3] a clause initial noun phrase with type interrogative that is a displaced item, changing the clause type information from matrix_interrogative into matrix_constituent_interrogative
- [rule 4] a clause initial preposition phrase with type interrogative that is a displaced item, changing the clause type information from matrix_interrogative into matrix_constituent_interrogative
- [rule 5] a clause initial adjective_phrase phrase with type interrogative that is a displaced item, changing the clause type information from matrix_interrogative into matrix_constituent_interrogative
- [rule 6] a clause initial adverb phrase with type interrogative that is a displaced item, changing the clause type information from matrix_interrogative into matrix_constituent_interrogative
- [rule 7] a clause initial adverb phrase with type interrogative that has a -NIM (unselected adverbial) function, changing the clause type information from matrix_interrogative into matrix_constituent_interrogative
- [rule 8] a clause initial noun phrase with type general that is a displaced item for a statement_order clause
- [rule 9] a clause initial preposition phrase with type general that is a displaced item for a statement_order clause
- [rule 10] a clause initial utterance phrase that is a displaced item, offset by quotation punctuation and possibly followed by non_final punctuation, for a statement_order clause
- [rule 11] conjuncts of coordinate structure, with non-initial conjuncts gathered by calls to clause_top_tail of (5.3)
- (5.2)
-
clause_top_layer(Type,Displaced,L,L0) -->
adverbial(L,L2),
optional_punc(non_final,L2,L1),
clause_top_layer(Type,Displaced,L1,L0).
clause_top_layer(Type,Displaced,L,L0) -->
clause_top_layer(Type,Displaced,L,L2),
optional_punc(non_final,L2,L1),
adverbial(L1,L0).
clause_top_layer(matrix_interrogative,Displaced,L,L0) -->
{
gensym('-',Index),
atom_concat('*ICH*',Index,ICH)
},
noun_phrase(Index,interrogative,L,L1),
clause_top_layer(matrix_constituent_interrogative,[np(node(ICH,[]))|Displaced],L1,L0).
clause_top_layer(matrix_interrogative,Displaced,L,L0) -->
{
gensym('-',Index),
atom_concat('*ICH*',Index,ICH)
},
preposition_phrase(Index,interrogative,L,L1),
clause_top_layer(matrix_constituent_interrogative,[pp(node(ICH,[]))|Displaced],L1,L0).
clause_top_layer(matrix_interrogative,Displaced,L,L0) -->
{
gensym('-',Index),
atom_concat('*ICH*',Index,ICH)
},
adjective_phrase(Index,interrogative,L,L1),
clause_top_layer(matrix_constituent_interrogative,[adjp(node(ICH,[]))|Displaced],L1,L0).
clause_top_layer(matrix_interrogative,Displaced,L,L0) -->
{
gensym('-',Index),
atom_concat('*ICH*',Index,ICH)
},
adverb_phrase(Index,interrogative,L,L1),
clause_top_layer(matrix_constituent_interrogative,[advp(node(ICH,[]))|Displaced],L1,L0).
clause_top_layer(matrix_interrogative,Displaced,L,L0) -->
adverb_phrase('-NIM',interrogative,L,L1),
clause_top_layer(matrix_constituent_interrogative,Displaced,L1,L0).
clause_top_layer(statement_order,Displaced,L,L0) -->
{
gensym('-',Index),
atom_concat('*ICH*',Index,ICH)
},
noun_phrase(Index,non_interrogative,L,L2),
optional_punc(non_final,L2,L1),
clause_top_layer(statement_order,[np(node(ICH,[]))|Displaced],L1,L0).
clause_top_layer(statement_order,Displaced,L,L0) -->
{
gensym('-',Index),
atom_concat('*ICH*',Index,ICH)
},
preposition_phrase(Index,non_interrogative,L,L2),
optional_punc(non_final,L2,L1),
clause_top_layer(statement_order,[pp(node(ICH,[]))|Displaced],L1,L0).
clause_top_layer(statement_order,Displaced,L,L0) -->
{
gensym('-',Index),
atom_concat('*ICH*',Index,ICH)
},
punc(left_quotation_mark,L,L4),
utterance(Index,L4,L3),
punc(right_quotation_mark,L3,L2),
optional_punc(non_final,L2,L1),
clause_top_layer(statement_order,[utterance(node(ICH,[]))|Displaced],L1,L0).
clause_top_layer(Type,Displaced,[node('ILYR',[node('ILYR',IL)|CL])|L],L) -->
clause_top_layer(Type,Displaced,IL,[]),
clause_top_tail(Type,Displaced,CL,[]).
- (5.3)
-
clause_top_tail(Type,Displaced,[node('CONJP',[CONJ,node('ILYR',IL)])|L],L) -->
conj(CONJ),
clause_top_layer(Type,Displaced,IL,[]).
clause_top_tail(Type,Displaced,[PU,node('CONJP',[node('ILYR',IL)])|L],L0) -->
punc(non_final,[PU],[]),
clause_top_layer(Type,Displaced,IL,[]),
clause_top_tail(Type,Displaced,L,L0).
Note how, with the recursive rules of (5.2): noun phrases [rules 3 and 8], preposition phrases [rule 4 and 9], adjective phrases [rule 5], adverb phrases [rules 6 and 7] and utterances [rule 10], all of which are parsed as displaced elements, receive an index coindexed with an *ICH* (interpret constituent here marker) that is added to the Displaced parameter to ultimately be inherited as a selected item. A displaced item is inherited as a selected item when either it is:
- a required element for a verb_complements_top_layer call from chapter 4
- a noun phrase from rule 3 received by a clause_top_layer rule 9 or rule 10 call of (5.1)
Note that rules for displaced items carrying interrogative type information [rules 3–7] change the Type information of the clause from matrix_interrogative to matrix_constituent_interrogative. Consequently, only one displaced element with interrogative type information is possible with a matrix clause. Moreover, when under question, the noun phrase subject of a matrix clause must be the one displaced phrase with interrogative type information.
Also note how rules 1 and 2 of (5.2) have adverbial calls (from section 2.10) to pick up:
- discourse coordination words (e.g., And, But)
- clause level interjection (e.g., aah, eh, ummmmm)
- reaction signals (e.g., good_grief, really, yes, wow)
- formulaic expressions (e.g., good_afternoon, you_see, thank_you)
- adverb phrases with -NIM (unselected adverbial) function
- preposition phrases with -NIM (unselected adverbial) function
- the subordinate component of a subordinate conjunction
Rule 2 for clause_top_layer of (5.1) calls verb_phrase_layer of (5.4). This subsequent rule layer is needed to ensure there is a place for introducing inflection and voice information before the verb and its complements are encountered. Having the clause type value imperative_clause, rule 2 of (5.1) gives the values of imperative_inflection for the Infl (inflection) parameter and active_voice for the Voice parameter.
The full range of options for the Infl parameter are:
- finite_inflection
- imperative_inflection
- infinitive_inflection
- past_participle
- present_participle
Options for the Voice parameter are:
- active_voice
- passive_voice
With (5.4), in addition to passing on information for verb_complements_top_layer [rule 1], there is, provided the clause has imperative inflection, a non-recursive rule [rule 2] to support the presence of an imperative DO with operator function (so tagged DO and with no verb code) possibly followed by a clitic negation (added with optional_clitic_negation from section 2.10).
Calls to verb_phrase_layer can also be recursive, allowing the parse to either:
- [rule 3] pick up an initial negation with a call to neg (from section 2.10)
- [rule 4] pick up initial adverb phrases with a call to adverb_phrase (from section 3.3)
- [rule 5] pick up clause final adverbials with a call to adverbial (from section 6.6)
- [rule 6] start a conjunction structure with non-initial conjuncts gathered by calls to verb_phrase_tail of (5.5)
- (5.4)
-
verb_phrase_layer(Displaced,SbjType,Infl,Voice,L,L0) -->
verb(Infl,Code,L,L1),
verb_complements_top_layer(Code,Displaced,SbjType,Voice,L1,L0).
verb_phrase_layer(Displaced,SbjType,Infl,Voice,[node('DO',[node(Word,[])])|L],L0) -->
{
SbjType == filled_subject,
Infl == imperative_inflection,
Voice == active_voice
},
[w('DO','',Word)],
optional_clitic_negation(L,L1),
verb_phrase_layer(Displaced,SbjType,infinitive_inflection,Voice,L1,L0).
verb_phrase_layer(Displaced,SbjType,Infl,Voice,L,L0) -->
{
SbjType == filled_subject,
Infl == infinitive_inflection,
Voice == active_voice
},
neg(L,L1),
verb_phrase_layer(Displaced,SbjType,Infl,Voice,L1,L0).
verb_phrase_layer(Displaced,SbjType,Infl,Voice,L,L0) -->
adverb_phrase('-NIM',general,L,L1),
verb_phrase_layer(Displaced,SbjType,Infl,Voice,L1,L0).
verb_phrase_layer(Displaced,SbjType,Infl,Voice,L,L0) -->
verb_phrase_layer(Displaced,SbjType,Infl,Voice,L,L1),
adverbial(L1,L0).
verb_phrase_layer(Displaced,SbjType,Infl,Voice,[node('ILYR',[node('ILYR',IL)|CL])|L],L) -->
verb_phrase_layer(Displaced,SbjType,Infl,Voice,IL,[]),
verb_phrase_tail(Displaced,SbjType,Infl,Voice,CL,[]).
- (5.5)
-
verb_phrase_tail(Displaced,SbjType,Infl,Voice,[node('CONJP',[CONJ,node('ILYR',IL)])|L],L) -->
conj(CONJ),
verb_phrase_layer(Displaced,SbjType,Infl,Voice,IL,[]).
verb_phrase_tail(Displaced,SbjType,Infl,Voice,[PU,node('CONJP',[node('ILYR',IL)])|L],L0) -->
punc(non_final,[PU],[]),
verb_phrase_layer(Displaced,SbjType,Infl,Voice,IL,[]),
verb_phrase_tail(Displaced,SbjType,Infl,Voice,L,L0).
Query (5.6) illustrates how a word list can have content for the top layer of a resulting clause, placed under a clause_top_layer node for presentation as a tree structure.
- (5.6)
-
| ?- tphrase_set_string([w('FRM','Please'), w('VB',';~I','smile')]), parse(clause_top_layer(imperative_clause,[])).
( (FRM Please)
(VB;~I smile))
yes
Calls to reach the output of (5.6) follow (5.7). Notably, verb_complements_by_code succeeds because it receives the empty word list.
- (5.7)
-
clause_top_layer imperative_clause
|
adverbial
|
[w('FRM','Please')]
|
|
optional_punc non_final
|
[]
|
|
clause_top_layer imperative_clause
|
verb_phrase_layer filled_subject imperative_inflection active_voice
|
verb imperative_inflection ;~I
|
[w('VB',';~I','smile')]
|
|
verb_complements_top_layer ;~I filled_subject active_voice
|
verb_complements_by_code ;~I filled_subject active_voice
|
[]
|
|
|
|
|
5.3 Matrix interrogatives
This section considers matrix interrogative clauses where the subject is not under question. Prior to its non-interrogative subject, such a clause will have either a finite DO, a finite HAVE, a finite BE, or a modal verb, any of which can be followed by the contracted form of negation (n't). This section adds rules to match these pre-subject components, so they can be integrated into a parse with calls of clause_top_layer from section 5.2 above.
5.3.1 DO operator layer
Having the do_operator_layer rule of (5.8) leads to inclusion of a finite DO and also allows for an optional presence for negation as clitic n't (integrated with optional_clitic_negation from section 2.10).
- (5.8)
-
do_operator_layer([node(Tag,[node(Word,[])])|L],L0) -->
[w(Tag,'',Word)],
{
member(Tag,['DOP','DOD'])
},
optional_clitic_negation(L,L0).
As example content for a constituent question that needs a do_operator_layer call to parse a finite DO, consider (5.9).
- (5.9)
-
| ?- tphrase_set_string([w('WADV','Why'), w('DOD','','did'), w('NEG;_clitic_','n<apos>t'), w('PRO','you'), w('VB',';~I','go')]), parse(clause_top_layer(matrix_interrogative,[])).
( (ADVP-NIM (WADV Why))
(DOD did)
(NEG;_clitic_ n<apos>t)
(NP-SBJ (PRO you))
(VB;~I go))
yes
Note how operator DO, as seen in (5.9), is distinguished by having no verb code with its word list contribution (w('DOP','','do')) and so occurring with only its word class tag (DOP) in the tree structure.
Calls to reach the output of (5.9) follow (5.10).
- (5.10)
-
clause_top_layer matrix_interrogative
|
adverb_phrase -NIM interrogative
|
adverb_phrase_layer interrogative
|
adv interrogative
|
[w('WADV','Why')]
|
|
|
|
clause_top_layer matrix_constituent_interrogative
|
do_operator_layer
|
[w('DOP','','do')]
|
optional_clitic_negation
|
[w('NEG;_clitic_','n<apos>t')]
|
|
|
subject filled_subject
|
noun_phrase -SBJ non_interrogative
|
noun_phrase_top non_interrogative
|
noun_head_full non_interrogative
|
[w('PRO','you')]
|
|
|
|
|
verb_phrase_layer filled_subject infinitive_inflection active_voice
|
verb infinitive_inflection ;~I
|
[w('VB',';~I','go')]
|
|
verb_complements_top_layer ;~I filled_subject active_voice
|
verb_complements_by_code ;~I filled_subject active_voice
|
[]
|
|
|
|
|
5.3.2 HAVE, BE or modal verb finite layers
Having the three have_be_or_md_finite_layer rules of (5.11) allows for the inclusion of either:
- [rule 1] a finite HAVE word
- [rule 2] a finite BE word
- [rule 3] a modal verb
All three rules allow for an optional presence for negation as clitic n't with calls of optional_clitic_negation from section 2.10.
- (5.11)
-
have_be_or_md_finite_layer(Code,[node(TagCode,[node(Word,[])])|L],L0) -->
[w(Tag,Code,Word)],
{
member(Tag,['HVP','HVD']),
verb_code('H',finite_inflection,Code),
atom_concat(Tag,Code,TagCode)
},
optional_clitic_negation(L,L0).
have_be_or_md_finite_layer(Code,[node(TagCode,[node(Word,[])])|L],L0) -->
[w(Tag,Code,Word)],
{
member(Tag,['BEP','BED']),
verb_code('B',finite_inflection,Code),
atom_concat(Tag,Code,TagCode)
},
optional_clitic_negation(L,L0).
have_be_or_md_finite_layer(Code,L,L0) -->
modal(Code,L,L1),
optional_clitic_negation(L1,L0).
As example content for a yes/no question that needs a have_be_or_md_finite_layer call to parse a finite HAVE, consider (5.12).
- (5.12)
-
| ?- tphrase_set_string([w('HVP',';~Tn','Has'), w('PRO','he'), w('D','a'), w('N','fever')]), parse(clause_top_layer(matrix_interrogative,[])).
( (HVP;~Tn Has)
(NP-SBJ (PRO he))
(NP-OB1 (D a)
(N fever)))
yes
Calls to reach the output of (5.12) follow (5.13).
- (5.13)
-
clause_top_layer matrix_interrogative
|
have_be_or_md_finite_layer ;~Tn
|
[w('HVP',';~Tn','Has')]
|
optional_clitic_negation
|
[]
|
|
|
subject filled_subject
|
noun_phrase -SBJ non_interrogative
|
noun_phrase_top non_interrogative
|
noun_head_full non_interrogative
|
[w('PRO','he')]
|
|
|
|
|
verb_complements_top_layer ;~Tn filled_subject active_voice
|
verb_complements_by_code ;~Tn filled_subject active_voice
|
noun_phrase -OB1 general
|
noun_phrase_top general
|
noun_phrase_initial_layer general
|
determiner_phrase_layer general
|
|
|
|
|
|
|
|
|
As example content for a constituent question that needs a have_be_or_md_finite_layer call to parse a finite BE, consider (5.14).
- (5.14)
-
| ?- tphrase_set_string([w('WPRO','What'), w('BEP',';~Ln','is'), w('PRO','he')]), parse(clause_top_layer(matrix_interrogative,[])).
( (NP-138 (WPRO What))
(BEP;~Ln is)
(NP-SBJ (PRO he))
(NP-PRD2 *ICH*-138))
yes
Calls to reach the output of (5.14) follow (5.15).
- (5.15)
-
clause_top_layer matrix_interrogative
|
noun_phrase -138 interrogative
|
noun_phrase_top interrogative
|
noun_head_full interrogative
|
[w('WPRO','What')]
|
|
|
|
clause_top_layer matrix_constituent_interrogative [np(node('*ICH*-138',[]))]
|
have_be_or_md_finite_layer ;~Ln
|
[w('BEP',';~Ln','is')]
|
optional_clitic_negation
|
[]
|
|
|
subject filled_subject
|
noun_phrase -SBJ non_interrogative
|
noun_phrase_top non_interrogative
|
noun_head_full non_interrogative
|
[w('PRO','he')]
|
|
|
|
|
verb_complements_top_layer ;~Ln [np(node('*ICH*-138',[]))] filled_subject active_voice
|
verb_complements_by_code ;~Ln [np(node('*ICH*-138',[]))] filled_subject active_voice
|
[]
|
|
|
|
5.4 Clause structure with a main verb and prior catenative verbs
So far we have seen clause structure with only a single verb, but a clause might include a sequence of verbs. The main verb is either the only verb of a clause or the last verb to occur in a sequence of verbs of the same clause. Verbs of a verb sequence that are prior to the main verb are called catenative verbs.
Section 4.10 provides verb_complements_by_code rules for the full range of catenative verbs. Now we focus on resulting clause structure from catenative verbs with code:
- ;~cat_Vi selecting a bare infinitive clause complement (section 5.4.1)
- ;~cat_Vt selecting a to-infinitive clause complement (section 5.4.2)
- ;~cat_Ve selecting an active past participle (-ed/-en) clause complement (section 5.4.3)
- ;~cat_Vg selecting an active present participle (-ing) clause complement (section 5.4.4)
- ;~cat_Ve_passive_ selecting a passive past participle (-ed/-en) clause complement (section 5.4.5)
5.4.1 Catenative verbs with bare infinitive complements
The verb_complements_by_code rule of section 4.10 for code ;~cat_Vi involves selection of a bare infinitive clause as its complement with the verb_phrase_layer rules of (5.4) above.
As an example involving selection of a bare infinitive clause as the complement of a modal verb, consider (5.16).
- (5.16)
-
| ?- tphrase_set_string([w('MD',';~cat_Vi','Can'), w('PRO','I'), w('VB',';~I','help')]), parse(clause_top_layer(matrix_interrogative,[])).
( (MD;~cat_Vi Can)
(NP-SBJ (PRO I))
(IP-INF-CAT (VB;~I help)))
yes
Calls to reach the output of (5.16) follow (5.17).
- (5.17)
-
clause_top_layer matrix_interrogative
|
have_be_or_md_finite_layer ;~cat_Vi
|
modal ;~cat_Vi
|
[w('MD',';~cat_Vi','Can')]
|
|
optional_clitic_negation
|
[]
|
|
|
subject filled_subject
|
noun_phrase -SBJ non_interrogative
|
noun_phrase_top non_interrogative
|
noun_head_full non_interrogative
|
[w('PRO','I')]
|
|
|
|
|
verb_complements_top_layer ;~cat_Vi filled_subject active_voice
|
verb_complements_by_code ;~cat_Vi filled_subject active_voice
|
verb_phrase_layer filled_subject infinitive_inflection active_voice
|
verb_phrase_layer filled_subject infinitive_inflection active_voice
|
verb infinitive_inflection ;~I
|
[w('VB',';~I','help')]
|
|
verb_complements_top_layer ;~I filled_subject active_voice
|
verb_complements_by_code ;~I filled_subject active_voice
|
[]
|
|
|
|
|
|
|
5.4.2 Catenative verbs with to-infinitive complements
The verb_complements_by_code rule of section 4.10 for code ;~cat_Vt involves selection of a to-infinitive clause as its complement with the to_inf_layer rules of (5.18).
The first to_inf_layer rule is non-recursive and picks up from the word list an initial to word (see section 2.10) to then call verb_phrase_layer with the clause in a state of being infinitive_inflection and active_voice. The other rules of to_inf_layer are recursive, enabling a parse to:
- [rule 2] pick up an initial instance of a connective particle (which is always for) followed by content for a noun phrase that is given subject function; note that a call triggered by a catenative verb will set the SbjType parameter to a value that is not unfilled_subject, while this rule can only occur when the SbjType parameter is unifiable to the unfilled_subject value, after which the value passed on for the SbjType parameter is filled_subject
- [rule 3] provided the SbjType is not set to unfilled_subject, pick up initial negation with a call to neg (from section 2.10)
- [rule 4] start a conjunction structure where all conjuncts are added with to_inf_layer with non-initial conjuncts gathered by calls to to_inf_tail of (5.19)
- (5.18)
-
to_inf_layer(Displaced,SbjType,Voice,L,L0) -->
{
Voice == active_voice
},
to(L,L1),
verb_phrase_layer(Displaced,SbjType,infinitive_inflection,Voice,L1,L0).
to_inf_layer(Displaced,SbjType0,Voice,L,L0) -->
{
SbjType0 == unfilled_subject,
Voice == active_voice
},
conn(L,L2),
subject(SbjType,L2,L1),
to_inf_layer(Displaced,SbjType,Voice,L1,L0).
to_inf_layer(Displaced,SbjType,Voice,[node('NP-LGS',[node('*',[])])|L],L0) -->
{
Voice == passive_voice
},
to(L,L1),
verb_phrase_layer(Displaced,SbjType,infinitive_inflection,Voice,L1,L0).
to_inf_layer(Displaced,SbjType,Voice,L,L0) -->
{
Voice == lgs_passive_voice
},
to(L,L1),
verb_phrase_layer(Displaced,SbjType,infinitive_inflection,passive_voice,L1,L0).
to_inf_layer(Displaced,SbjType0,Voice,L,L0) -->
{
SbjType0 == unfilled_subject,
Voice == passive_voice
},
conn(L,L2),
noun_phrase('-LGS',general,L2,L1),
to_inf_layer(Displaced,filled_subject,lgs_passive_voice,L1,L0).
to_inf_layer(Displaced,SbjType,Voice,L,L0) -->
{
member(SbjType,[filled_subject,there_subject])
},
neg(L,L1),
to_inf_layer(Displaced,SbjType,Voice,L1,L0).
to_inf_layer(Displaced,SbjType,Voice,[node('ILYR',[node('ILYR',IL)|CL])|L],L) -->
to_inf_layer(Displaced,SbjType,Voice,IL,[]),
to_inf_tail(Displaced,SbjType,Voice,CL,[]).
- (5.19)
-
to_inf_tail(Displaced,SbjType,Voice,[node('CONJP',[CONJ,node('ILYR',IL)])|L],L) -->
conj(CONJ),
to_inf_layer(Displaced,SbjType,Voice,IL,[]).
to_inf_tail(Displaced,SbjType,Voice,[PU,node('CONJP',[node('ILYR',IL)])|L],L0) -->
punc(non_final,[PU],[]),
to_inf_layer(Displaced,SbjType,Voice,IL,[]),
to_inf_tail(Displaced,SbjType,Voice,L,L0).
As an example involving selection of a to-infinitive clause as the complement of a modal verb, consider (5.20).
- (5.20)
-
| ?- tphrase_set_string([w('MD',';~cat_Vt','Ought'), w('NEG;_clitic_','n<apos>t'), w('PRO','he'), w('TO','to'), w('VB',';~Ip','stand'), w('ADV','up')]), parse(clause_top_layer(matrix_interrogative,[])).
( (MD;~cat_Vt Ought)
(NEG;_clitic_ n<apos>t)
(NP-SBJ (PRO he))
(IP-INF-CAT (TO to)
(VB;~Ip stand)
(ADVP-CLR (ADV up))))
yes
Calls to reach the output of (5.20) follow (5.21).
- (5.21)
-
clause_top_layer matrix_interrogative
|
have_be_or_md_finite_layer ;~cat_Vt
|
modal ;~cat_Vt
|
[w('MD',';~cat_Vt','Ought')]
|
|
optional_clitic_negation
|
[w('NEG;_clitic_','n<apos>t')]
|
|
|
subject filled_subject
|
noun_phrase -SBJ non_interrogative
|
noun_phrase_top non_interrogative
|
noun_head_full non_interrogative
|
[w('PRO','he')]
|
|
|
|
|
verb_complements_top_layer ;~cat_Vt filled_subject active_voice
|
verb_complements_by_code ;~cat_Vt filled_subject active_voice
|
to_inf_layer filled_subject
|
|
verb_phrase_layer filled_subject infinitive_inflection active_voice
|
verb infinitive_inflection ;~Ip
|
[w('VB',';~Ip','stand')]
|
|
verb_complements_top_layer ;~Ip filled_subject active_voice
|
verb_complements_by_code ;~Ip filled_subject active_voice
|
adverb_phrase -CLR general
|
adverb_phrase_layer general
|
adv general
|
[w('ADV','up')]
|
|
|
|
|
|
|
|
|
|
5.4.3 Catenative verbs with active voice past participle complements
The verb_complements_by_code rule of section 4.10 for code ;~cat_Ve involves selection of an active past participle (-ed/-en) clause as its complement. This occurs when the word class tag is a form of HAVE (either HVP, HVD, HV, HAG, or HVN).
An active participle clause is found with ip_ppl_active of (5.22) for overall structure labelled IP-PPL, together with any extension from the Ext parameter. This works with a subsequent call to verb_phrase_layer that sets the clause state to being active_voice. To find a past participle the Infl parameter is set to the value of past_participle.
- (5.22)
-
ip_ppl_active(Ext,Displaced,SbjType,Infl,[node(Label,VL)|L],L) -->
verb_phrase_layer(Displaced,SbjType,Infl,active_voice,VL,[]),
{
atom_concat('IP-PPL',Ext,Label)
}.
As an example involving selection of a past participle (-ed/-en) clause as the complement of a catenative verb that is a form of HAVE, consider (5.23).
- (5.23)
-
| ?- tphrase_set_string([w('HVP',';~cat_Ve','Has'), w('PRO','he'), w('VVN',';~I','gone')]), parse(clause_top_layer(matrix_interrogative,[])).
( (HVP;~cat_Ve Has)
(NP-SBJ (PRO he))
(IP-PPL-CAT (VVN;~I gone)))
yes
Calls to reach the output of (5.23) follow (5.24).
- (5.24)
-
clause_top_layer matrix_interrogative
|
have_be_or_md_finite_layer ;~cat_Ve
|
[w('HVP',';~cat_Ve','Has')]
|
optional_clitic_negation
|
[]
|
|
|
subject filled_subject
|
noun_phrase -SBJ non_interrogative
|
noun_phrase_top non_interrogative
|
noun_head_full non_interrogative
|
[w('PRO','he')]
|
|
|
|
|
verb_complements_top_layer ;~cat_Ve_passive _filled_subject active_voice
|
verb_complements_by_code ;~cat_Ve filled_subject active_voice
|
ip_ppl_active -CAT filled_subject past_participle
|
verb_phrase_layer filled_subject past_participle active_voice
|
verb past_participle ;~I
|
[w('VVN',';~I','gone')]
|
|
verb_complements_top_layer ;~I filled_subject active_voice
|
verb_complements_by_code ;~I filled_subject active_voice
|
[]
|
|
|
|
|
|
|
5.4.4 Catenative verbs with active voice present participle complements
The verb_complements_by_code rule of section 4.10 for code ;~cat_Vg involves selection of a present participle (-ing) clause as its complement.
To find a present participle (-ing) clause, the Infl parameter for a call to ip_ppl_active of (5.22) is set to the value of present_participle.
As an example involving selection of a present participle (-ing) clause as the complement of a catenative verb that is a form of BE, consider (5.25).
- (5.25)
-
| ?- tphrase_set_string([w('BEP',';~cat_Vg','Is'), w('PRO','he'), w('VAG',';~I','going')]), parse(clause_top_layer(matrix_interrogative,[])).
( (BEP;~cat_Vg Is)
(NP-SBJ (PRO he))
(IP-PPL-CAT (VAG;~I going)))
yes
Calls to reach the output of (5.25) follow (5.26).
- (5.26)
-
clause_top_layer matrix_interrogative
|
have_be_or_md_finite_layer ;~cat_Vg
|
[w('BEP',';~cat_Vg','Is')]
|
optional_clitic_negation
|
[]
|
|
|
subject filled_subject
|
noun_phrase -SBJ non_interrogative
|
noun_phrase_top non_interrogative
|
noun_head_full non_interrogative
|
[w('PRO','he')]
|
|
|
|
|
verb_complements_top_layer ;~cat_Vg filled_subject active_voice
|
verb_complements_by_code ;~cat_Vg filled_subject active_voice
|
ip_ppl_active -CAT filled_subject present_participle
|
verb_phrase_layer filled_subject present_participle active_voice
|
verb present_participle ;~I
|
[w('VAG',';~I','going')]
|
|
verb_complements_top_layer ;~I filled_subject active_voice
|
verb_complements_by_code ;~I filled_subject active_voice
|
[]
|
|
|
|
|
|
|
5.4.5 Catenative verb with passive voice past participle complements
The verb_complements_by_code rule of section 4.10 for code ;~cat_Ve_passive_ involves selection of a passive past participle (-ed/-en) clause as its complement.
A passive participle clause is found with ip_ppl_passive of (5.27) for overall structure labelled IP-PPL, together with any extension from the Ext parameter. This works with a subsequent call to verb_phrase_layer that sets the clause state to being passive_voice.
- (5.27)
-
ip_ppl_passive(Ext,Displaced,SbjType,Infl,[node(Label,[node('NP-LGS',[node('*',[])])|VL])|L],L) -->
verb_phrase_layer(Displaced,SbjType,Infl,passive_voice,VL,[]),
{
atom_concat('IP-PPL',Ext,Label)
}.
As an example involving selection of a past participle (-ed/-en) clause as the complement of a catenative verb that is a form of BE, consider (5.28).
- (5.28)
-
| ?- tphrase_set_string([w('BED',';~cat_Ve_passive_','Was'), w('PRO','he'), w('VVN',';~Tn','scolded')]), parse(clause_top_layer(matrix_interrogative,[])).
( (BED;~cat_Ve_passive_ Was)
(NP-SBJ (PRO he))
(IP-PPL-CAT (NP-LGS *)
(VVN;~Tn scolded)))
yes
Calls to reach the output of (5.28) follow (5.29).
- (5.29)
-
clause_top_layer matrix_interrogative
|
have_be_or_md_finite_layer ;~cat_Ve_passive_
|
[w('BED',';~cat_Ve_passive_','Was')]
|
optional_clitic_negation
|
[]
|
|
|
subject filled_subject
|
noun_phrase -SBJ non_interrogative
|
noun_phrase_top non_interrogative
|
noun_head_full non_interrogative
|
[w('PRO','he')]
|
|
|
|
|
verb_complements_top_layer ;~cat_Ve_passive _filled_subject active_voice
|
verb_complements_by_code ;~cat_Ve_passive _filled_subject active_voice
|
ip_ppl_passive -CAT filled_subject past_participle
|
verb_phrase_layer filled_subject past_participle passive
|
verb past_participle ;~Tn
|
[w('VVN',';~Tn','scolded')]
|
|
verb_complements_top_layer ;~Tn filled_subject passive
|
verb_complements_by_code ;~Tn filled_subject passive
|
[]
|
|
|
|
|
|
|
5.5 Statement word order with clause middle layers
So far, we have only seen subjects that are created with a subject call as the subject of a matrix interrogative. Statement word order, which also has to include a subject, is accomplished by a non-recursive call of clause_top_layer [rule 1 of (5.1)] that first finds the subject with a subject call, and then goes on to call clause_middle_layer of (5.30). Similarly, there are rules 9 and 10 of (5.1) for parsing matrix interrogatives where the subject is an inherited interrogative noun phrase, which also go on to call clause_middle_layer of (5.30).
The non-recursive rules of (5.30) set the clause voice parameter to active_voice. They will also either:
- [rule 1] call verb_phrase_layer after adding the information that the clause has finite_inflection
- [rule 2] integrate do_operator_layer so that this will occur after the subject and before a subsequent call of verb_phrase_layer given do_supported_infinitive_inflection clause information
- [rule 3] integrate have_be_or_md_finite_layer so that this will occur after the subject and before a call of verb_complements_top_layer
There are also recursive rules allowing initial adverb phrases with -NIM (unselected adverbial) function [rule 4] and coordination at this middle clause level [rule 5] with non-initial conjuncts gathered by calls to clause_middle_tail of (5.31).
- (5.30)
-
clause_middle_layer(Displaced,SbjType,L1,L0) -->
verb_phrase_layer(Displaced,SbjType,finite_inflection,active_voice,L1,L0).
clause_middle_layer(Displaced,SbjType,L,L0) -->
do_operator_layer(L,L1),
verb_phrase_layer(Displaced,SbjType,do_supported_infinitive_inflection,active_voice,L1,L0).
clause_middle_layer(Displaced,SbjType,L,L0) -->
have_be_or_md_finite_layer(Code,L,L1),
verb_complements_top_layer(Code,Displaced,SbjType,active_voice,L1,L0).
clause_middle_layer(Displaced,SbjType,L,L0) -->
adverb_phrase('-NIM',general,L,L1),
clause_middle_layer(Displaced,SbjType,L1,L0).
clause_middle_layer(Displaced,SbjType,[node('ILYR',[node('ILYR',IL)|CL])|L],L) -->
clause_middle_layer(Displaced,SbjType,IL,[]),
clause_middle_tail(Displaced,SbjType,CL,[]).
- (5.31)
-
clause_middle_tail(Displaced,SbjType,[node('CONJP',[CONJ,node('ILYR',IL)])|L],L) -->
conj(CONJ),
clause_middle_layer(Displaced,SbjType,IL,[]).
clause_middle_tail(Displaced,SbjType,[PU,node('CONJP',[node('ILYR',IL)])|L],L0) -->
punc(non_final,[PU],[]),
clause_middle_layer(Displaced,SbjType,IL,[]),
clause_middle_tail(Displaced,SbjType,L,L0).
As an example of didn't occurring with statement word order, consider (5.32).
- (5.32)
-
| ?- tphrase_set_string([w('PRO','he'), w('DOD','','did'), w('NEG;_clitic_','n<apos>t'), w('VB',';~Ip','stand'), w('ADV','up')]), parse(clause_top_layer(statement_order,[])).
( (NP-SBJ (PRO he))
(DOD did)
(NEG;_clitic_ n<apos>t)
(VB;~Ip stand)
(ADVP-CLR (ADV up)))
yes
Calls to reach the output of (5.32) follow (5.33).
- (5.33)
-
clause_top_layer statement_order
|
subject filled_subject
|
noun_phrase -SBJ non_interrogative
|
noun_phrase_top non_interrogative
|
noun_head_full non_interrogative
|
[w('PRO','he')]
|
|
|
|
|
clause_middle_layer filled_subject
|
do_operator_layer
|
[w('DOD','','did')]
|
optional_clitic_negation
|
[w('NEG;_clitic_','n<apos>t')]
|
|
|
verb_phrase_layer filled_subject infinitive_inflection active_voice
|
verb infinitive_inflection ;~Ip
|
[w('VB',';~Ip','stand')]
|
|
verb_complements_top_layer ;~Ip filled_subject active_voice
|
verb_complements_by_code ;~Ip filled_subject active_voice
|
adverb_phrase -CLR general
|
adverb_phrase_layer general
|
adv general
|
[w('ADV','up')]
|
|
|
|
|
|
|
|
As an example with catenative modal ought occurring with statement word order, consider (5.34).
- (5.34)
-
| ?- tphrase_set_string([w('PRO','he'), w('ADV','really'), w('MD',';~cat_Vt','ought'), w('TO','to'), w('VB',';~Ip','stand'), w('ADV','up')]), parse(clause_top_layer(statement_order,[])).
( (NP-SBJ (PRO he))
(ADVP-NIM (ADV really))
(MD;~cat_Vt ought)
(IP-INF-CAT (TO to)
(VB;~Ip stand)
(ADVP-CLR (ADV up))))
yes
Calls to reach the output of (5.34) follow (5.35).
- (5.35)
-
clause_top_layer statement_order
|
subject filled_subject
|
noun_phrase -SBJ non_interrogative
|
noun_phrase_top non_interrogative
|
noun_head_full non_interrogative
|
[w('PRO','he')]
|
|
|
|
|
clause_middle_layer filled_subject
|
|
clause_middle_layer filled_subject
|
have_be_or_md_finite_layer ;~cat_Vt
|
modal ;~cat_Vt
|
[w('MD',';~cat_Vt','ought')]
|
|
optional_clitic_negation
|
[]
|
|
|
verb_complements_top_layer ;~cat_Vt filled_subject active_voice
|
verb_complements_by_code ;~cat_Vt filled_subject active_voice
|
to_inf_layer filled_subject
|
|
verb_phrase_layer filled_subject infinitive_inflection active_voice
|
verb infinitive_inflection ;~Ip
|
[w('VB',';~Ip','stand')]
|
|
verb_complements_top_layer ;~Ip filled_subject active_voice
|
verb_complements_by_code ;~Ip filled_subject active_voice
|
adverb_phrase -CLR general
|
adverb_phrase_layer general
|
adv general
|
[w('ADV','up')]
|
|
|
|
|
|
|
|
|
|
|
|
As an example with modal may occurring with statement word order in a clause that also has catenative have followed by catenative been followed by catenative being, consider (5.36).
- (5.36)
-
| ?- tphrase_set_string([w('D','A'), w('N','ship'), w('MD',';~cat_Vi','may'), w('HV',';~cat_Ve','have'), w('BEN',';~cat_Vg','been'), w('BAG',';~cat_Ve_passive_','being'), w('VVN',';~Tn','sunk')]), parse(clause_top_layer(statement_order,[])).
( (NP-SBJ (D A)
(N ship))
(MD;~cat_Vi may)
(IP-INF-CAT (HV;~cat_Ve have)
(IP-PPL-CAT (BEN;~cat_Vg been)
(IP-PPL-CAT (BAG;~cat_Ve_passive_ being)
(IP-PPL-CAT (NP-LGS *)
(VVN;~Tn sunk))))))
yes
Calls to reach the output of (5.36) follow (5.37).
- (5.37)
-
clause_top_layer statement_order
|
subject filled_subject
|
noun_phrase -SBJ non_interrogative
|
noun_phrase_top non_interrogative
|
noun_phrase_initial_layer non_interrogative
|
determiner_phrase_layer non_interrogative
|
det non_interrogative
|
[w('D','A')]
|
|
|
|
|
|
|
|
clause_middle_layer filled_subject
|
have_be_or_md_finite_layer ;~cat_Vi
|
modal ;~cat_Vi
|
[w('MD',';~cat_Vi','may')]
|
|
optional_clitic_negation
|
[]
|
|
|
verb_complements_top_layer ;~cat_Vi filled_subject active_voice
|
verb_complements_by_code ;~cat_Vi filled_subject active_voice
|
verb_phrase_layer filled_subject infinitive_inflection active_voice
|
verb infinitive_inflection ;~cat_Ve
|
[w('HV',';~cat_Ve','have')]
|
|
verb_complements_top_layer ;~cat_Ve filled_subject active_voice
|
verb_complements_by_code ;~cat_Ve filled_subject active_voice
|
ip_ppl_active -CAT filled_subject en_participle
|
verb_phrase_layer filled_subject past_participle active_voice
|
verb past_participle ;~cat_Vg
|
[w('BEN',';~cat_Vg','been')]
|
|
verb_complements_top_layer ;~cat_Vg filled_subject active_voice
|
verb_complements_by_code ;~cat_Vg filled_subject active_voice
|
ip_ppl_active -CAT filled_subject present_participle
|
verb_phrase_layer filled_subject present_participle active_voice
|
verb present_participle ;~cat_Ve_passive_
|
[w('BAG',';~cat_Ve_passive_','being')]
|
|
verb_complements_top_layer ;~cat_Ve_passive _filled_subject active_voice
|
verb_complements_by_code ;~cat_Ve_passive _filled_subject active_voice
|
ip_ppl_passive -CAT filled_subject past_participle
|
verb_phrase_layer filled_subject past_participle passive
|
verb past_participle ;~Tn
|
[w('VVN',';~Tn','sunk')]
|
|
verb_complements_top_layer ;~Tn filled_subject passive
|
verb_complements_by_code ;~Tn filled_subject passive
|
[]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Question:
Why do the success and failure results of (5.38)–(5.41) obtain?
- (5.38)
-
| ?- tphrase_set_string([w('WPRO','Who'), w('VBD',';~Tn','saw'), w('WPRO','who'), w('PUNC','?')]), parse(sentence).
(CP-QUE (IP-SUB (NP-51 (WPRO Who))
(NP-SBJ *ICH*-51)
(VBD;~Tn saw)
(NP-OB1 (WPRO who)))
(PUNC ?))
yes
- (5.39)
-
| ?- tphrase_set_string([w('WPRO','Who'), w('WPRO','who'), w('VBD',';~Tn','saw'), w('PUNC','?')]), parse(sentence).
no
- (5.40)
-
| ?- tphrase_set_string([w('WPRO','Who'), w('DOD','','did'), w('NPR','John'), w('VB',';~Tn','see'), w('PUNC','?')]), parse(sentence).
(CP-QUE (IP-SUB (NP-172 (WPRO Who))
(DOD did)
(NP-SBJ (NPR John))
(VB;~Tn see)
(NP-OB1 *ICH*-172))
(PUNC ?))
yes
- (5.41)
-
| ?- tphrase_set_string([w('WPRO','Who'), w('DOD','','did'), w('WPRO','who'), w('VB',';~Tn','see'), w('PUNC','?')]), parse(sentence).
no
Question:
Why do the success and failure results of (5.42)–(5.44) obtain?
- (5.42)
-
| ?- tphrase_set_string([w('NPR','John'), w('HVD',';~cat_Ve','had'), w('HVN',';~Tn','had'), w('D','some'), w('N','tea'), w('PUNC','.')]), parse(sentence).
(IP-MAT (NP-SBJ (NPR John))
(HVD;~cat_Ve had)
(IP-PPL-CAT (HVN;~Tn had)
(NP-OB1 (D some)
(N tea)))
(PUNC .))
yes
- (5.43)
-
| ?- tphrase_set_string([w('NPR','John'), w('HVD',';~cat_Ve','had'), w('HVN',';~cat_Ve','had'), w('HVN',';~Tn','had'), w('D','some'), w('N','tea'), w('PUNC','.')]), parse(sentence).
no
- (5.44)
-
| ?- tphrase_set_string([w('NPR','John'), w('HVD',';~cat_Ve','had'), w('HVN',';~cat_Vt','had'), w('TO','to'), w('HV',';~cat_Ve','have'), w('HVN',';~cat_Vt','had'), w('TO','to'), w('HV',';~cat_Ve','have'), w('HVN',';~Tn','had'), w('D','some'), w('N','tea'), w('PUNC','.')]), parse(sentence).
(IP-MAT (NP-SBJ (NPR John))
(HVD;~cat_Ve had)
(IP-PPL-CAT (HVN;~cat_Vt had)
(IP-INF-CAT (TO to)
(HV;~cat_Ve have)
(IP-PPL-CAT (HVN;~cat_Vt had)
(IP-INF-CAT (TO to)
(HV;~cat_Ve have)
(IP-PPL-CAT (HVN;~Tn had)
(NP-OB1 (D some)
(N tea)))))))
(PUNC .))
yes
Question:
Why do the success and failure results of (5.45)–(5.49) obtain?
- (5.45)
-
| ?- tphrase_set_string([w('DO','','Do'), w('NEG;_clitic_','n<apos>t'), w('BE',';~La','be'), w('ADJ','shy'), w('PUNC','.')]), parse(sentence).
(IP-IMP (DO Do)
(NEG;_clitic_ n<apos>t)
(BE;~La be)
(ADJP-PRD2 (ADJ shy))
(PUNC .))
yes
- (5.46)
-
| ?- tphrase_set_string([w('PRO','I'), w('DOP','','do'), w('NEG;_clitic_','n<apos>t'), w('BE',';~La','be'), w('ADJ','shy'), w('PUNC','.')]), parse(sentence).
no
- (5.47)
-
| ?- tphrase_set_string([w('PRO','I'), w('HVP',';~cat_Ve','have'), w('BEN',';~La','been'), w('ADJ','busy'), w('PUNC','.')]), parse(sentence).
(IP-MAT (NP-SBJ (PRO I))
(HVP;~cat_Ve have)
(IP-PPL-CAT (BEN;~La been)
(ADJP-PRD2 (ADJ busy)))
(PUNC .))
yes
- (5.48)
-
| ?- tphrase_set_string([w('PRO','I'), w('DOP','','do'), w('NEG;_clitic_','n<apos>t'), w('HV',';~cat_Ve','have'), w('BEN',';~LA','been'), w('ADJ','busy'), w('PUNC','.')]), parse(sentence).
no
- (5.49)
-
| ?- tphrase_set_string([w('PRO','I'), w('DOP','','do'), w('NEG;_clitic_','n<apos>t'), w('HV',';~Tn','have'), w('D','any'), w('N','money'), w('PUNC','.')]), parse(sentence).
(IP-MAT (NP-SBJ (PRO I))
(DOP do)
(NEG;_clitic_ n<apos>t)
(HV;~Tn have)
(NP-OB1 (D any)
(N money))
(PUNC .))
yes
Question:
At what levels of the clause structure do the coordinations of (5.50)–(5.53) happen?
- (5.50)
-
[w('NS','Phones'), w('BED',';~cat_Vg','were'), w('BAG',';~cat_Ve_passive_','being'), w('VVN',';~Tn','tapped'), w('CONJ','and'), w('VVN',';~Tn.pr','put'), w('P-ROLE','out_of'), w('N','action'), w('PUNC','.')]
- (5.51)
-
[w('NS','Phones'), w('BED',';~cat_Vg','were'), w('BAG',';~cat_Ve_passive_','being'), w('VVN',';~Tn','tapped'), w('CONJ','and'), w('VAG',';~Ipr','going'), w('P-ROLE','out_of'), w('N','action'), w('PUNC','.')]
- (5.52)
-
[w('NS','Phones'), w('BED',';~cat_Vg','were'), w('BAG',';~cat_Ve_passive_','being'), w('VVN',';~Tn','tapped'), w('CONJ','and'), w('VBD',';~Ipr','went'), w('P-ROLE','out_of'), w('N','action'), w('PUNC','.')]
- (5.53)
-
[w('NS','Phones'), w('BED',';~cat_Vg','were'), w('BAG',';~cat_Ve_passive_','being'), w('VVN',';~Tn','tapped'), w('CONJ','and'), w('NS','computers'), w('VBD',';~Ipr','went'), w('P-ROLE','out_of'), w('N','action'), w('PUNC','.')]
5.6 Existential there
An existential there (tagged EX) starts the ripple effect of needing a locally present verb that is marked with an existential verb code by setting the SbjType parameter of the clause to have there_subject as its value. The existential verb licensed by this SbjType parameter setting might be the main verb (with code ;~ex_V, ;~ex_Vp, or ;~ex_Vpr) or a catenative verb (with code ;~ex_cat_Vt, ;~ex_cat_Vg, or ;~ex_cat_Ve_passive_). Either way, this verb itself gives rise to the additional need for an existential subject (NP-ESBJ) as one of its selected complements.
As an example with there and an existential verb with code ;~ex_V, consider (5.54).
- (5.54)
-
| ?- tphrase_set_string([w('BEP',';~ex_V','Is'), w('EX','there'), w('D','a'), w('N','doctor')]), parse(clause_top_layer(matrix_interrogative,[])).
( (BEP;~ex_V Is)
(EX there)
(NP-ESBJ (D a)
(N doctor)))
yes
Calls to reach the output of (5.54) follow (5.55).
- (5.55)
-
clause_top_layer matrix_interrogative
|
have_be_or_md_finite_layer ;~ex_V
|
[w('BEP',';~ex_V','Is')]
|
optional_clitic_negation
|
[]
|
|
|
subject there_subject
|
[w('EX','there')]
|
|
verb_complements_top_layer ;~ex_V there_subject active_voice
|
verb_complements_by_code ;~ex_V there_subject active_voice
|
noun_phrase -ESBJ general
|
noun_phrase_top general
|
noun_phrase_initial_layer general
|
determiner_phrase_layer general
|
|
|
|
|
|
|
|
|
There is in principle no limit to the distance between the instance of there which sets the SbjType parameter of the clause to the there_subject value and the occurrence of the existential verb that needs this parameter setting, provided this happens in the same clause and the there_subject setting of the SbjType parameter is able to hold at the location where the existential verb occurs. As an example of distance, consider (5.56).
- (5.56)
-
| ?- tphrase_set_string([w('EX','there'), w('MD',';~cat_Vt','ought'), w('TO','to'), w('HV',';~cat_Ve','have'), w('BEN',';~ex_V','been'), w('D','a'), w('N','doctor')]), parse(clause_top_layer(statement_order,[])).
( (EX there)
(MD;~cat_Vt ought)
(IP-INF-CAT (TO to)
(HV;~cat_Ve have)
(IP-PPL-CAT (BEN;~ex_V been)
(NP-ESBJ (D a)
(N doctor)))))
yes
Calls to reach the output of (5.56) follow (5.57).
- (5.57)
-
clause_top_layer statement_order
|
subject there_subject
|
[w('EX','there')]
|
|
clause_middle_layer there_subject
|
have_be_or_md_finite_layer ;~cat_Vt
|
modal ;~cat_Vt
|
[w('MD',';~cat_Vt','ought')]
|
|
optional_clitic_negation
|
[]
|
|
|
verb_complements_top_layer ;~cat_Vt there_subject active_voice
|
verb_complements_by_code ;~cat_Vt there_subject active_voice
|
to_inf_layer there_subject
|
|
verb_phrase_layer there_subject infinitive_inflection active_voice
|
verb infinitive_inflection ;~cat_Ve
|
[w('HV',';~cat_Ve','have')]
|
|
verb_complements_top_layer ;~cat_Ve there_subject active_voice
|
verb_complements_by_code ;~cat_Ve there_subject active_voice
|
ip_ppl_active -CAT there_subject en_participle
|
verb_phrase_layer there_subject past_participle active_voice
|
verb past_participle ;~ex_V
|
[w('BEN',';~ex_V','been')]
|
|
verb_complements_top_layer ;~ex_V there_subject active_voice
|
verb_complements_by_code ;~ex_V there_subject active_voice
|
noun_phrase -ESBJ general
|
noun_phrase_top general
|
noun_phrase_initial_layer general
|
determiner_phrase_layer general
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
If the existential verb is a catenative verb, then the subject parameter is changed from its there_subject value to having a filled_subject value for the continuation of the parsing of the -CAT complement selected by the catenative verb. We can see this change happen by considering (5.58), with its existential verb that has code ;~ex_cat_Vg.
- (5.58)
-
| ?- tphrase_set_string([w('BEP',';~ex_cat_Vg','Is'), w('EX','there'), w('Q;_nphd_','nobody_else'), w('VAG',';~I','coming')]), parse(clause_top_layer(matrix_interrogative,[])).
( (BEP;~ex_cat_Vg Is)
(EX there)
(NP-ESBJ (Q;_nphd_ nobody_else))
(IP-PPL-CAT (VAG;~I coming)))
yes
Calls to reach the output of (5.58) follow (5.59).
- (5.59)
-
clause_top_layer matrix_interrogative
|
have_be_or_md_finite_layer ;~ex_cat_Vg
|
[w('BEP',';~ex_cat_Vg','Is')]
|
optional_clitic_negation
|
[]
|
|
|
subject there_subject
|
[w('EX','there')]
|
|
verb_complements_top_layer ;~ex_cat_Vg there_subject active_voice
|
verb_complements_by_code ;~ex_cat_Vg there_subject active_voice
|
noun_phrase -ESBJ general
|
noun_phrase_top general
|
noun_phrase_initial_layer general
|
noun_head
|
[w('Q;_nphd_','nobody_else')]
|
|
|
|
|
ip_ppl_active -CAT filled_subject present_participle
|
verb_phrase_layer filled_subject present_participle active_voice
|
verb present_participle ;~I
|
[w('VAG',';~I','coming')]
|
|
verb_complements_top_layer ;~I filled_subject active_voice
|
verb_complements_by_code ;~I filled_subject active_voice
|
[]
|
|
|
|
|
|
|
Question:
Consider (5.60)–(5.62) taken from Lumsden (1988, p. 4), illustrating the ‘left most be condition’. What are the parse results, if any? Do the results reflect your expectations, and can you describe the cause of any parse failure?
- (5.60)
-
[w('EX','There'), w('BED',';~ex_cat_Vg','was'), w('D','a'), w('N','man'), w('BAG',';~cat_Ve_passive_','being'), w('VVN',';~Tn','interrogated'), w('PUNC','.')]
- (5.61)
-
[w('EX','There'), w('BED',';~cat_Vg','was'), w('BAG',';~ex_cat_Ve_passive_','being'), w('D','a'), w('N','man'), w('VVN',';~Tn','interrogated'), w('PUNC','.')]
- (5.62)
-
[w('EX','There'), w('BED',';~cat_Vt','was'), w('TO','to'), w('HV',';~cat_Ve','have'), w('BEN',';~ex_cat_Ve_passive_','been'), w('D','a'), w('N','man'), w('VVN',';~Tn','interrogated'), w('PUNC','.')]