; Block proper names from taking determiners _the_q_prop_rel := proper_q_rel. norm_n_proper_lexent := basic_n_proper_lexent & [ SYNSEM [ LKEYS.KEYREL.PRED named_rel, LOCAL.CAT.VAL.SPR < [ --MIN _the_q_prop_rel ] > ], INFLECTD - ]. ; Also hour names n_-_pn-hour_le := basic_abstr_hour_word & [ SYNSEM [ LOCAL [ CAT.VAL.SPR < unexpressed >, CONT.RELS ], LKEYS.KEYREL.PRED numbered_hour_rel, LEX - ] ]. ; Considered blocking days of week from appearing as NP-adv ; but conflict between Strand3.C and sentencelist.C: ; "*Jenny plays chess Tuesday." but "She goes Saturdays." ; ;n_-_c-day_lexent := basic_n_intr_temp_lexent & ; [ SYNSEM [ LOCAL.CAT [ HEAD.MINORS [ MIN dofw_rel, ; ALTMIN quant_or_wh_rel ], ; VAL.SPR < synsem > ], ; MODIFD notmod, ; LKEYS.ALTKEYREL.PRED quant_or_wh_rel ] ]. ; Special class for "Mr." etc, since we exclude normal nouns as titles n_-_c-pre-ttl_le := basic_intr_lex_entry & [ SYNSEM [ MODIFD notmod, LOCAL [ CAT.HEAD [ MINORS [ MIN pre_title_rel, NORM norm_rel ], --BARE - ], CONT.RELS ] ] ]. ; From auxverbs - Restrict number on COMPS for singular identity copula. v_np_is_le := be_is_lex_entry & be_id_pos & [ SYNSEM.LOCAL.CAT.VAL.COMPS < [ LOCAL.AGR.PNG.PN 3s ] > ]. v_np_is-cx_le := be_is_lex_entry & be_id_pos & contracted_aux_word & [ SYNSEM.LOCAL.CAT.VAL.COMPS < [ LOCAL.AGR.PNG.PN 3s ] > ]. v_np_are_le := be_are_lex_entry & be_id_pos. v_np_are-cx_le := be_are_lex_entry & be_id_pos & contracted_aux_word. v_np_was_le := be_was_lex_entry & be_id_pos & [ SYNSEM.LOCAL.CAT.VAL.COMPS < [ LOCAL.AGR.PNG.PN 3s ] > ]. v_np_wre_le := be_were_lex_entry & be_id_pos. ; Block APs as subjects loc_inv_be_word := loc_inv_verb_word & [ INFLECTD +, SYNSEM [ LOCAL [ CAT [ HEAD [ VFORM fin, PRD -, TAM.MOOD indicative ], VAL [ SUBJ < [ LOCAL [ CAT.HEAD prep_or_modnp, CONT.HOOK [ LTOP #ltop, INDEX #ind & [ E.TENSE tense ], XARG #xarg ] ] ] >, COMPS < [ --SIND #xarg ] > ], POSTHD - ], CONT [ HOOK [ LTOP #ltop, INDEX #ind & [ SF prop-or-ques ], XARG #xarg ], RELS ] ], LKEYS.KEYREL.PRED no_rel ] ]. ; From syntax.tdl ; Restrict nonhead to MIN pre_title_rel. np_title_cmpnd_phr := norm_np_name_cmpnd_phr & [ HD-DTR.SYNSEM [ LOCAL [ CAT [ HEAD.MINORS.MIN named_rel, VAL.SPR *olist* ], AGR.PNG.PN #pn ], MODIFD.LPERIPH + ], NH-DTR.SYNSEM [ LOCAL [ CAT [ HEAD.MINORS [ MIN pre_title_rel, NORM norm_rel ], VAL.SPR < unexpressed > ], AGR.PNG.PN #pn ], PUNCT [ LPUNCT dq_or_sq_or_no_punct, RPUNCT dq_or_sq_or_no_punct ] ], C-CONT.RELS ]. ; Block "a Sunday" but allow "next Tuesday" n_-_c-dow_le := n_-_c-day_lexent & [ SYNSEM [ LKEYS.KEYREL.PRED dofw_rel, LOCAL.CAT.VAL.SPR < [ --MIN impl_or_proper_q_rel ] > ] ]. ; Block clefts: be_nv := be_verb & [ SYNSEM nv_cop_verb & [ LOCAL.CONT [ HOOK.INDEX #event, RELS.LIST.FIRST.ARG0 #event ] ], ALTS.VPELLIP -, GENRE robust ]. ; Add subtype of verb_full with feature for blocking mal-3sg mal_verb := verb_full & [ --MAL3SG bool ]. ; Allow WH pronouns to be modified by PPs pron_nonlocal_rel := basic_pron_rel & nonpro_rel. ; Change CASE from obliq to non_obliq to block "to home" n_-_ad-pl-nomod_le := norm_np_adv_lexent & [ SYNSEM [ LOCAL [ CAT.HEAD [ MINORS.MIN place_n_rel, CASE non_obliq, --BARE - ], CONT.HOOK.INDEX.SORT place ], MODIFD.RPERIPH + ] ]. ; Add lex-entry for "in bed" to sidestep PET's failure to do idiom check _in+bed_p_rel := miscprep_rel. _above+ground_p_rel := miscprep_rel. _at+home_p_rel := miscprep_rel. ; Remove COMPS..--BARE - since we want to flag "She is good student" be_id := be_verb & [ SYNSEM id_cop_verb & [ LOCAL [ CONT [ HOOK.INDEX #event, RELS.LIST.FIRST.ARG0 #event ] ], LKEYS.KEYREL.PRED _be_v_id_rel ] ]. ; Restrict normal transitives missing object to --MAL3SG + to prevent ; these from appearing in conjoined verb phrases, avoiding spurious ambiguity ; for e.g. "Kim buys and sells books" ; DPF 19-feb-10 - Also constrain to SLASH 0-dlist, to avoid mis-analysis for ; e.g. `Mark brought the [cookies he made for] his class.' v_-_le_rbst := main_verb & [ SYNSEM unerg_verb & [ LOCAL.CAT.HEAD.--MAL3SG +, NONLOC.SLASH 0-dlist ], GENRE robust ]. ; e.g. 'tell' ; Exclude robust 3sg in CP complement, to avoid competing treatment for e.g. ; `she told her brother borrow her book'. v_cp_le_rbst := main_verb & [ SYNSEM cp_intrans_verb & [ LOCAL.CAT.VAL.COMPS < [ LOCAL.CAT.HEAD.--MAL3SG - ] > ], GENRE robust ]. ; e.g. 'tell him borrow her book' v_np-vp_bse_le_rbst := main_verb_mliszt & [ SYNSEM obj_equi_bse_verb, GENRE robust ]. ; e.g. `This lets the cat to enter' v_np-vp_oeq_le_rbst := main_verb & [ SYNSEM obj_equi_verb, GENRE robust ]. ; 'She enables to win.' ; Missing direct object ; v_vp_seq_le_rbst := main_verb & [ SYNSEM subj_equi_verb, GENRE robust ]. ; (ERB 2003-10-23) For subject equi verbs, with the inifinitival ; marker "to" dropped ; 'She wants win.' v_vp_seq-bse_le_rbst := main_verb_mliszt & [ SYNSEM subj_equi_bse_verb, GENRE robust ]. ; 'ask' - block dative shift v_np-np*_nodat_le := main_verb & [ SYNSEM ditrans_only_verb & [ LOCAL.CAT.VAL.COMPS < [ OPT - ], [ OPT + ] > ] ]. ; Restrict dtrs to --MAL3SG - to avoid robust intranstives as conjuncts. basic_v_coord_phr := basic_verbal_coord_phr & [ SYNSEM.LOCAL [ CAT [ HEAD [ VFORM #vform, MINORS #mins, --ADDIN #addin ], VAL.SUBJ < synsem & [ LOCAL [ CAT #cat, AGR #agr ], NONLOC #nonloc, --SIND #sind, OPT #opt ] > ], CONT.HOOK.XARG #xarg ], LCONJ-DTR.SYNSEM.LOCAL [ CAT [ HEAD [ VFORM #vform, TAM.MOOD #mood, --ADDIN #addin & [ ADDPN #pn ], --MAL3SG - ], VAL.SUBJ < synsem & [ LOCAL [ CAT #cat, AGR #agr ], NONLOC #nonloc, --SIND #sind, OPT #opt ] > ], CONT.HOOK [ XARG #xarg, INDEX.SF #iforce ] ], RCONJ-DTR.SYNSEM.LOCAL [ CAT [ HEAD [ VFORM #vform, TAM.MOOD #mood, MINORS #mins, --ADDIN.ADDPN #pn, --MAL3SG - ], VAL.SUBJ < synsem & [ LOCAL [ CAT #cat, AGR #agr ], NONLOC #nonloc, --SIND #sind, OPT #opt ] > ], CONT.HOOK [ XARG #xarg, INDEX.SF #iforce ] ], C-CONT.HCONS ]. ;; Allow robust pre-modifiers like 'today' av_-_i-vp-pr_le_rbst := int_vp_adverb_word & [ SYNSEM.LOCAL.CAT [ HEAD adv & [ MINORS.MIN adv_rel, MOD < [ LOCAL.CAT.HEAD verb & [ VFORM fin ], MODIFD.LPERIPH na_or_- ] > ], POSTHD - ], GENRE robust ]. ; Allow robust post-VP adverbs: "He sang bad" ; av_-_i-vp-po_le_rbst := int_vp_adverb_word & [ SYNSEM [ LOCAL.CAT [ HEAD adv & [ MINORS.MIN adv_rel, MOD < [ LOCAL.CAT.HEAD v_or_g_or_a, MODIFD.RPERIPH na_or_- ] > ], POSTHD + ], MODIFD hasmod ], GENRE robust ]. ; restrict to only VP mods av_-_i-vp-po-nmb_le := int_vp_adverb_word & [ SYNSEM.LOCAL.CAT [ HEAD adv_nonmob & [ MINORS.MIN adv_rel, MOD < [ LOCAL.CAT.HEAD verb, MODIFD.RPERIPH na_or_- ] > ], POSTHD + ] ].