;;; -*- Mode: tdl; Coding: utf-8; -*- ;;; ;;; Copyright (c) 1994-2004 ;;; Dan Flickinger, Rob Malouf, Emily M. Bender ;;; see LICENSE for conditions ;;; ;;; constructions.tdl ;;; ;;; The instances of phrases defined in syntax.tdl ;;; ;;; Created: Ann Copestake, 30-Sept-97 ;;; ;;; $Id: constructions.tdl 6568 2009-05-26 04:25:06Z danf $ ;; ;; Constructions sb-hd_mc_c := subjh_mc_rule & [ RNAME "SBHD" ]. ; Non-main-clause sb-hd_nmc_c := subjh_nonmc_rule & [ RNAME "SBHN" ]. sb-hd_q_c := subjh_rule_wh_insitu & [ RNAME "SBHQ" ]. subjh_bse_rbst := subjh_nonfin_robust_rule & [ RNAME "SBHR" ]. ; Block punctuation marks on head: ; HD-DTR.SYNSEM.PUNCT.RPUNCT no_punct, ; DPF 2010-08-31 - But this prevents |He said, I won.|, so instead live with ; the ambiguity. ; hd-cmp_u_c := hcomp_rule & [ RNAME "HCP" ]. hd_optcmp_c := hoptcomp_rule & [ RNAME "HCPO" ]. hdn_optcmp_c := noptcomp_rule & [ RNAME "NCPO" ]. mrk-nh_evnt_c := hmark_e_phr_rule & [ RNAME "HMKE" ]. mrk-nh_cl_c := hmark_s_phr_rule & [ RNAME "HMKC" ]. mrk-nh_ajlex_c := hmark_a_lex_rule & [ RNAME "HMKL" ]. mrk-nh_nom_c := hmark_nom_rule & [ RNAME "HMKN" ]. mrk-nh_n_c := hmark_nbar_rule & [ RNAME "HMKB" ]. mrk-nh_atom_c := hmark_atomic_rule & [ RNAME "HMKA" ]. hd_xcmp_c := extracomp_rule & [ RNAME "HCPX" ]. hd_xsb-fin_c := extrasubj_fin_rule & [ RNAME "SHXF" ]. ;extrasubj_i := extrasubj_inf_rule & ; [ RNAME "SHXI" ]. sp-hd_n_c := hspec_rule & [ RNAME "SPH" ]. sp-hd_hc_c := Hspec_hc_rule & [ RNAME "SPHH" ]. aj-hd_scp_c := adjh_s_rule & [ RNAME "MHS" ]. aj-hd_scp-xp_c := adjh_s_nopair_rule & [ RNAME "MHV" ]. aj-hd_scp-pr_c := adjh_s_prpnct_rule & [ RNAME "MHVP" ]. hd-aj_scp-pr_c := hadj_s_prpnct_rule & [ RNAME "HMS" ]. hd-aj_scp_c := hadj_s_nopair_rule & [ RNAME "HMSN" ]. aj-hdn_norm_c := adj_n_rule & [ RNAME "MHN" ]. aj-hdn_adjn_c := adj_adjn_rule & [ RNAME "MHNA" ]. aj-hd_int_c := adjh_i_rule & [ RNAME "MHI" ]. aj-hd_adjh_c := adj_adjh_i_rule & [ RNAME "MMHI" ]. adjh_i_inv_rbst := adjh_i_inv_rule & [ RNAME "MHIV", GENRE robust ]. aj-hd_int-rel_c := adjh_i_rel_rule & [ RNAME "MHR" ]. hdn-aj_rc_c := hadj_i_relcl_npr_rule & [ RNAME "HMRN" ]. hdn-aj_rc-pr_c := hadj_i_relcl_pr_rule & [ RNAME "HMRC" ]. ; Exclude pronoun heads (except for WH pronouns) hdn-aj_redrel_c := hadj_i_redrel_npr_rule & [ RNAME "HMPN", HD-DTR.SYNSEM.LOCAL.CAT.HEAD.MINORS.MIN nonpro_rel ]. hdn-aj_redrel-pr_c := hadj_i_redrel_pr_rule & [ RNAME "HMPC" ]. hd-aj_int-unsl_c := hadj_i_unsl_rule & [ RNAME "HMIU" ]. hd-aj_int-sl_c := hadj_i_sl_rule & [ RNAME "HMIS" ]. ; Let's remind ourselves why we want this rule in: want to block ; "He wrote to James a letter" ; No, we also want (apparently) "He was leaving at her home a black suitcase" ; For revisions, let's make it robust only ; DPF 19-feb-10 - Further constrain to block copula "be" as head, to avoid ; vmod analysis of e.g. "is at the shelter adopting a dog". Do this by ; breaking rule into two vmod_i_rbst := v_mod_int_rule & [ RNAME "VLMR", SYNSEM.LOCAL.CAT [ HEAD.AUX -, VAL.COMPS.FIRST.LEX - ], HD-DTR.SYNSEM.LEX +, NH-DTR.SYNSEM.LOCAL.CAT.HEAD prep, GENRE robust ]. vmod_i := v_mod_int_rule & [ RNAME "VLMI", SYNSEM.LOCAL.CAT [ HEAD.AUX -, VAL.COMPS.FIRST [ LEX -, LOCAL.CAT.HEAD.CASE obliq ] ], HD-DTR.SYNSEM.LEX +, NH-DTR.SYNSEM [ LOCAL.CAT.HEAD prep, LEX + ] ]. ; For auxiliary verbs, excluding predicative copula vmod_i-a_rbst := v_mod_int_rule & [ RNAME "VLMA", SYNSEM.LOCAL.CAT [ HEAD [ AUX +, VFORM fin, MINORS.MIN aux_arg1_rel ], VAL.COMPS.FIRST.LEX - ], NH-DTR.SYNSEM.LOCAL.CAT.HEAD prep, GENRE robust ]. ;; DPF 18-apr-10 - Let's try doing without this one, since it gives spurious ;; analysis for e.g. "He went because we see the cat" ;;hd-aj_vmod-s_c := v_mod_scop_rule & ;; [ RNAME "VLMS" ]. hd_xaj-int-vp_c := extradj_i_vp_rule & [ RNAME "HMXV" ]. ;;hd_xaj-int-s_c := extradj_i_s_rule & ;; [ RNAME "HMXS" ]. hd_xaj-tmp_c := extradj_npadv_rule & [ RNAME "HMXT" ]. cl_rc-fin-nwh_c := fin_non_wh_rel_rule & [ RNAME "RCLF" ]. cl_rc-inf-nwh_c := inf_non_wh_rel_rule & [ RNAME "RCLI" ]. cl_rc-inf-nwh-sb_c := inf_non_wh_subj_rel_rule & [ RNAME "RCLS" ]. ;cl_rc-instr_c := instr_inf_non_wh_rel_rule & ; [ RNAME "RCLN" ]. vp_rc-redrel_c := red_rel_cl_rule & [ RNAME "RCLV" ]. ; Can't avoid LEX + vp_sbrd-prd-prp_c := subconj_prdp_prp_rule & [ RNAME "SCPR" ]. #| vp_sbrd-prd-pas_c := subconj_prdp_pas_rule & [ RNAME "SCPS" ]. ;subconj_prdp_pas_lex := subconj_prdp_pas_lex_rule & ; [ RNAME "SCPI" ]. ;subconj_prdp_pas_sl := subconj_prdp_pas_sl_rule & ; [ RNAME "SCPX" ]. vp_sbrd-prd-aj_c := subconj_prdp_adj_rule & [ RNAME "SCPA" ]. vp_sbrd-prd-ell_c := subconj_prdp_ellip_rule & [ RNAME "SCPE" ]. j_sbrd-pre_c := subconj_prdp_a_init_rule & [ RNAME "SCA" ]. |# vp_sbrd-pre_c := subconj_prdp_v_init_rule & [ RNAME "SCV" ]. ;;; Limit to -ing form vp_sbrd-pre-lx_c := subconj_prdp_v_init_lex_rule & [ ARGS < [ SYNSEM.LOCAL.CAT.HEAD.VFORM prp ] >, RNAME "SCVL" ]. hdn_bnp_c := bare_np_rule & [ RNAME "BNP" ]. ;bare_ng := bare_nomger_rule & ; [ RNAME "BNG" ]. ; Prevent "sunny Pittsburgh" hdn_bnp-pn_c := proper_np_rule & [ ARGS < [ SYNSEM.MODIFD notmod_or_rmod ] >, RNAME "NPPR" ]. proper_np_mod := proper_np_rule & [ ARGS < [ SYNSEM [ MODIFD rmod, PUNCT.RPUNCT comma_punct ] ] >, RNAME "NPPM" ]. ;proper_np_conj := proper_np_conj_rule & ; [ RNAME "NPPC" ]. ;; Need this for "she is eleven." hdn_bnp-num_c := num_np_rule & [ ARGS < [ SYNSEM.LOCAL.CAT.VAL.SPR < canonical_synsem > ] >, RNAME "NPNB" ]. ;num_np_conj := num_np_conj_rule & ; [ RNAME "NPNC" ]. hdn_bnp-qnt_c := bare_npq_rule & [ RNAME "NPBQ" ]. hdn_bnp-sg-nmod_c := detlesspp_np_nmod_rule & [ RNAME "DNPN" ]. hdn_bnp-sg-jmod_c := detlesspp_np_jmod_rule & [ RNAME "DNPJ" ]. hdn_bnp-sg-nomod_c := detlesspp_np_nomod_rule & [ RNAME "DNPX" ]. hdn_bnp-vger_c := bare_vger_rule & [ RNAME "NPVG" ]. ;; This rule leads to spurious ambiguity for e.g. "She baked Omar cake", so ;; let's restrict it to measure NP non-hds only, for "ten-mile run" ;;np_n_cmpnd_rbst := np_n_cmpnd_rule & ;; [ RNAME "NPN", ;; SYNSEM.LOCAL.CAT.HEAD.--BARE -, ;; GENRE robust ]. np-hdn_cpd_c := np_n_cmpnd_rule & [ RNAME "NPN", SYNSEM.LOCAL.CAT.HEAD.--BARE -, ARGS.FIRST.SYNSEM.LOCAL.CAT.HEAD.MINORS.MIN meas_nom_rel ]. ;np_n_cmpnd_2 := np_n_cmpnd_rule_2 & ; [ RNAME "NPN2" ]. ; Restrict to abbreviated titles np-hdn_ttl-cpd_c := np_title_cmpnd_rule & [ RNAME "NPNT", NH-DTR.SYNSEM.LOCAL.CAT.HEAD.MINORS.MIN pre_title_rel ]. ;;;np_name_cmpnd_rbst := np_name_cmpnd_rule & ;;; [ RNAME "NPNM", ;;; GENRE robust ]. np-hdn_num-cpd_c := np_num_cmpnd_rule & [ RNAME "NPNO" ]. ; Block |Seattle will| ;;;np-hdn_cty-cpd_c := np_city_state_rule & ;;; [ RNAME "NPCS" ]. #| n-hdn_j-n-cpd_c := noun_adjn_cmpnd_rule & [ RNAME "NANC" ]. n-hdn_ttl-cpd_c := noun_title_cmpnd_rule & [ RNAME "NTC" ]. ;n-nh_vorj-cpd_c := n_v-or-adj_cmpnd_eg_rule & ; [ RNAME "NVC" ]. ; ;n_vora_cmpnd_ig := n_v-or-adj_cmpnd_ig_rule & ; [ RNAME "NVC" ]. n-nh_vorj-cpd_c := n_v-or-adj_cmpnd_rule & [ RNAME "NVAC" ]. |# j-n_n-ed_c := n-adj_rule & [ RNAME "NTOJ" ]. ; Block pronouns and also [DIV +] on hd-dtr: "salad Lily" ; Also split this into two, to block "George George" with both propers ; And same for the non-paired variant ; hdn-np_app-pr_c := appos_prpnct_rule & [ RNAME "APP", HD-DTR.SYNSEM.LOCAL [ CAT.HEAD.MINORS.MIN nonpro_rel, CONT.HOOK.INDEX.DIV #div ], NH-DTR.SYNSEM [ --MIN nom_nbar_rel, LOCAL.CONT.HOOK.INDEX.DIV #div ] ]. ; Also exclude pronouns as heads: |one Cindy| appos_pn_pr := appos_prpnct_rule & [ RNAME "APPR", HD-DTR.SYNSEM.LOCAL [ CAT.HEAD noun & [ MINORS.MIN nom_nbar_rel ], CONT.HOOK.INDEX.DIV - ], NH-DTR.SYNSEM.--MIN named_rel ]. hdn-np_app_c := appos_nopair_rule & [ RNAME "APPN", HD-DTR.SYNSEM.LOCAL [ CAT.HEAD.MINORS.MIN nonpro_rel, CONT.HOOK.INDEX.DIV #div ], NH-DTR.SYNSEM [ --MIN nom_nbar_rel, LOCAL.CONT.HOOK.INDEX.DIV #div ] ]. appos_pn := appos_nopair_rule & [ RNAME "APPX", HD-DTR.SYNSEM.LOCAL [ CAT.HEAD.MINORS.MIN nom_nbar_rel, CONT.HOOK.INDEX.DIV - ], NH-DTR.SYNSEM.--MIN named_rel ]. ;appos_rbc := appos_rbc_rule & ; [ RNAME "APPR" ]. hdn-np_app-idf_c := appos_indef_rule & [ RNAME "APPI" ]. hdn-np_app-idf-p_c := appos_indef_paren_rule & [ RNAME "APIP" ]. hdn-np_app-nbr_c := appos_nbar_rule & [ RNAME "APNB" ]. np_adv_c := npadv_mod_rule & [ RNAME "NADV" ]. np_adv-yr_c := npadv_yofc_rule & [ RNAME "NADVY" ]. ; 'She ran three miles' ; FIX ambiguity? np_adv-mnp_c := npadv_measnp_rule & [ RNAME "NADVM" ]. hdn_np-num_c := num_noun_rule & [ RNAME "NUMN", SYNSEM.LOCAL.CAT [ HEAD.CASE acc, VAL.SPR < unexpressed > ] ]. hdn_num-seq_c := num_noun_seq_rule & [ RNAME "NSEQ" ]. hdn_color_c := color_noun_rule & [ RNAME "NCOL", SYNSEM.LOCAL.CAT [ HEAD.--BARE -, VAL.SPR < unexpressed > ] ]. flr-hd_nwh_c := filler_head_rule_non_wh_edgen & [ RNAME "FHNE", HD-DTR.SYNSEM.LOCAL.CONT.HOOK.INDEX.SF prop-or-pol-ques ]. ; Exclude fronted directional PPs flr-hd_nwh-nc_c := filler_head_rule_non_wh_infgen & [ RNAME "FHNI", HD-DTR.SYNSEM.LOCAL.CONT.HOOK.INDEX.SF prop-or-pol-ques, NH-DTR.SYNSEM.LOCAL.CAT.HEAD adv_or_comp ]. ;;; Needed for revisions (G3,G4) fillhead_non_wh_ig_2 := filler_head_rule_non_wh_infgen & [ RNAME "FHNI", HD-DTR.SYNSEM.LOCAL.CONT.HOOK.INDEX.SF prop-or-pol-ques, NH-DTR.SYNSEM.LOCAL.CAT.HEAD prep_or_modnp & [ MINORS.MIN misc_or_state_loc_rel ] ]. ;; For old course material (G4-G6), instead of above rule, use following: #| fillhead_non_wh_ig_2 := filler_head_rule_non_wh_infgen & [ RNAME "FHNI", HD-DTR.SYNSEM.LOCAL.CONT.HOOK.INDEX.SF prop-or-pol-ques, NH-DTR.SYNSEM.LOCAL.CAT.HEAD prep_or_modnp ]. |# ;; Renamed from flr-hd_wh-mc_c for consistency with other robustness rules fillhead_wh_rbst := filler_head_rule_wh_root & [ RNAME "FHW" ]. ;; Renamed from flr-hd_wh-mc-sb_c for consistency with other robustness rules fillhead_wh_subj_rbst := filler_head_rule_wh_subj & [ RNAME "FHS" ]. flr-hd_wh-nmc-fin_c := filler_head_rule_wh_nr_fin & [ RNAME "FHF" ]. flr-hd_wh-nmc-inf_c := filler_head_rule_wh_nr_inf & [ RNAME "FHI" ]. flr-hd_rel-fin_c := filler_head_fin_rule_rel & [ RNAME "FHR" ]. flr-hd_rel-inf_c := filler_head_inf_rule_rel & [ RNAME "FHRI" ]. hd-cl_fr-rel_c := free_rel_rule & [ RNAME "FRF" ]. vp-vp_crd-fin-t_c := vp_coord_fin_top_phr & [ RNAME "CTVPF" ]. vp-vp_crd-fin-m_c := vp_coord_fin_mid_eg_phr & [ RNAME "CMVPF" ]. vp-vp_crd-fin-im_c := vp_coord_fin_mid_ig_phr & [ RNAME "CMFPI" ]. vp-vp_crd-nfin-t_c := vp_coord_nonfin_top_phr & [ RNAME "CTVPN" ]. vp-vp_crd-nfin-m_c := vp_coord_nonfin_mid_eg_phr & [ RNAME "CMVPN" ]. vp-vp_crd-nfin-im_c := vp_coord_nonfin_mid_ig_phr & [ RNAME "CMVPI" ]. v-v_crd-fin-ncj_c := v_coord_fin_top_noconj_phr & [ RNAME "CTVR" ]. cl-cl_crd-t_c := s_coord_top_phr & [ RNAME "CTS" ]. ;cl-cl_crd-int-t_c := s_coord_int_top_phr & ; [ RNAME "CTSQ" ]. cl-cl_crd-m_c := s_coord_mid_eg_phr & [ RNAME "CMSE" ]. cl-cl_crd-im_c := s_coord_mid_ig_phr & [ RNAME "CMSI" ]. cl-cl_crd-rc-t_c := relcl_coord_top_phr & [ RNAME "CTRT" ]. pp-pp_crd-t_c := pp_coord_top_phr & [ RNAME "CTPP" ]. pp-pp_crd-m_c := pp_coord_mid_eg_phr & [ RNAME "CMPP" ]. pp-pp_crd-im_c := pp_coord_mid_ig_phr & [ RNAME "CMPPI" ]. np-np_crd-t_c := np_coord_top_eg_rule & [ RNAME "CTNP" ]. np-np_crd-i-t_c := np_coord_top_ig1_rule & [ RNAME "CTN1" ]. np-np_crd-i2-t_c := np_coord_top_ig2_rule & [ RNAME "CTN2" ]. np-np_crd-i3-t_c := np_coord_top_ig3_rule & [ RNAME "CTN3" ]. np-np_crd-m_c := np_coord_mid_eg_rule & [ RNAME "CMNE" ]. np-np_crd-im_c := np_coord_mid_ig_rule & [ RNAME "CMNI" ]. np-np_crd-nc-m_c := np_coord_mid_noconj_rule & [ RNAME "CMNN" ]. n-n_crd-nc-m_c := nbar_coord_mid_noconj_rule & [ RNAME "CMNB" ]. np-np_crd-nc-t_c := np_coord_top_noconj_rule & [ RNAME "CTNN" ]. n-n_crd-t_c := nbar_coord_top_1_rule & [ RNAME "CTN" ]. n-n_crd-2-t_c := nbar_coord_top_2_rule & [ RNAME "CTN2" ]. n-n_crd-3-t_c := nbar_coord_top_3_rule & [ RNAME "CTN3" ]. n-n_crd-m_c := nbar_coord_mid_eg_rule & [ RNAME "CMEN" ]. n-n_crd-im_c := nbar_coord_mid_ig_rule & [ RNAME "CMIN" ]. n-n_crd-asym-t_c := nbar_coord_asym_top_rule & [ RNAME "CTNA" ]. n-n_crd-asym2-t_c := nbar_coord_asym_top_2_rule & [ RNAME "CTNB" ]. ;n_coord_asym_mid := nbar_coord_asym_mid_rule & ; [ RNAME "N_coord_asym_mid" ]. ;n_coord_asym_mid2 := nbar_coord_asym_mid_2_rule & ; [ RNAME "N_coord_asym_mid2" ]. j-n_crd-t_c := adj_noun_coord_rule & [ RNAME "CTJN" ]. ;n-j_crd-t_c := noun_adj_coord_rule & ; [ RNAME "CTNJ" ]. j-j_crd-att-t_c := adj_attr_coord_top_phr & [ RNAME "CTAA" ]. j-j_crd-prd-t_c := adj_pred_coord_top_phr & [ RNAME "CTAP" ]. j-j_crd-prd-m_c := adj_pred_coord_mid_eg_phr & [ RNAME "CMEA" ]. j-j_crd-prd-im_c := adj_pred_coord_mid_ig_phr & [ RNAME "CMIA" ]. jpr-jpr_crd-t_c := ap_predp_coord_top_phr & [ RNAME "CTAX" ]. jpr-jpr_crd-m_c := ap_predp_coord_mid_eg_phr & [ RNAME "CMAX" ]. jpr-jpr_crd-im_c := ap_predp_coord_mid_ig_phr & [ RNAME "CMAY" ]. jpr-vpr_crd-t_c := ap_vp_predp_coord_top_phr & [ RNAME "CTAV" ]. jpr-vpr_crd-m_c := ap_vp_predp_coord_mid_eg_phr & [ RNAME "CMAV" ]. jpr-vpr_crd-im_c := ap_vp_predp_coord_mid_ig_phr & [ RNAME "CMAZ" ]. vppr-vppr_crd-t_c := vp_predp_coord_top_phr & [ RNAME "CTVPX" ]. vppr-vppr_crd-m_c := vp_predp_coord_mid_eg_phr & [ RNAME "CMVPX" ]. vppr-vppr_crd-im_c := vp_predp_coord_mid_ig_phr & [ RNAME "CMVPY" ]. ppr-ppr_crd-t_c := pp_predp_coord_top_phr & [ RNAME "CTPX" ]. ppr-ppr_crd-m_c := pp_predp_coord_mid_eg_phr & [ RNAME "CMPX" ]. ppr-ppr_crd-im_c := pp_predp_coord_mid_ig_phr & [ RNAME "CMPY" ]. ; Imperatives are dispreferred in the sentence composition course ;imper_rbst := imperative_mc_rule & ; [ RNAME "IMP", ; ARGS < [ SYNSEM.NONLOC.SLASH 0-dlist ] >, ; GENRE robust ]. hd_imp_c := imperative_mc_rule & [ RNAME "IMP", ARGS < [ SYNSEM.NONLOC.SLASH 0-dlist ] > ]. ;hd_yesno_c_rbst := yesno_rule & ; [ RNAME "YNC", ; GENRE robust ]. hd_yesno_c := yesno_rule & [ RNAME "YNC" ]. hd_inv-nwh_c := inv_decl_rule & [ RNAME "IDC" ]. num-n_mnp_c := measure_np_rule & [ RNAME "MNP" ]. n-num_mnp_c := measure_np_symbol_rule & [ RNAME "MNPS" ]. ; Block 'weekdays' as meas-np n_mnp_c := bare_measure_np_rule & [ DTR1.SYNSEM.LOCAL.CAT.HEAD.MINORS.MIN meas_nom_rel, RNAME "MNPB" ]. mnp_deg_c := meas_np_degadv_attr_rule & [ RNAME "MNDA" ]. mnp_deg_prd_c := meas_np_degadv_pred_rule & [ RNAME "MNDP" ]. ; Let's see if we can do without this, to block "She likes more". ; No, because we want "there are three" num_prt-nc_c := partitive_num_nocomp_rule & [ RNAME "PNN" ]. num_prt-of_c := partitive_num_ppof_rule & [ RNAME "PNO" ]. num_prt-det-nc_c := partitive_intadj_nocomp_rule & [ RNAME "PNAN" ]. num_prt-det-of_c := partitive_intadj_ppof_rule & [ RNAME "PNAC" ]. cl_np-wh_c := np_cp_wh_rule & [ RNAME "NPSQ" ]. ;; Try doing without this to avoid |[to play she] had ...| ;;vp_cp-sb_c := cp_subj_rule & ;; [ RNAME "CPSB" ]. ;;;vp_cp-sb-inf_c := cp_subj_inf_rule & ;;; [ RNAME "CPSI" ]. vp_np-ger_c := vgerund_rule & [ RNAME "VGER" ]. ;;; Want to reject bare possessives except in answer to a "whose?" question ;;; But this has to be semantics-based, so allow, and hope to filter later np_prt-poss_c := partitive_np_rule & [ RNAME "NPP" ]. ;partnp_rbst := partitive_np_rule & ; [ RNAME "NPP", ; GENRE robust ]. #| np_voc-post_c := vocative_np_rule & [ RNAME "NPV" ]. np_voc-pre_c := vocative_np_lmod_rule & [ RNAME "NPVL" ]. |# num_det_c := num_det_rule & [ RNAME "NUMD" ]. hd-hd_rnr_c := right_node_raise_vp_rule & [ RNAME "RNRV" ]. hd-hd_rnr-nv_c := right_node_raise_nonvp_rule & [ RNAME "RNRO" ]. np_frg_c := frag_np_rule & [ RNAME "FRNP" ]. np_nb-frg_c := frag_nbar_rule & [ RNAME "FRNB" ]. ;frag_np_coord := frag_np_coord_rule & ; [ RNAME "FRNC" ]. pp_frg_c := frag_pp_ind_rule & [ RNAME "FRPI" ]. j_frg_c := frag_adj_rule & [ RNAME "FRJ" ]. r_scp-frg_c := frag_adv_rule & [ RNAME "FRR" ]. r_int-frg_c := frag_int_adv_rule & [ RNAME "FRRI" ]. r_dsc-frg_c := frag_dadv_rule & [ RNAME "FRRD" ]. r_cl-frg_c := frag_sent_adv_rule & [ RNAME "FRRC" ]. ;cl_cnj-frg_c := frag_sent_conj_rule & ; [ RNAME "FRSC" ]. vp_fin-frg_c := frag_vp_fin_rule & [ RNAME "FRVP" ]. vp_nfin-frg_c := frag_vp_nonfin_rule & [ RNAME "FRVN" ]. ;cl_cp-frg_c := frag_sbar_rule & ; [ RNAME "FRSB" ]. ;;;cl_rel-frg_c := frag_relcl_rule & ;;; [ RNAME "FRSR" ]. ;frag_nocop_s := frag_nocop_s_rule & ; [ RNAME "FRCS" ]. ; For dictionary definitions only? ;frag_vp_sl := frag_vp_slash_rule & ; [ RNAME "FRVX" ]. ; For dictionary definitions only? ;frag_pp_sl := frag_pp_slash_rule & ; [ RNAME "FRPX" ]. ;; Avoid spurious analysis of "[after dinner the Bernsteins ate] dessert" ;;aj-np_frg_c := frag_l_mod_s_np_rule & ;; [ RNAME "FRLN" ]. ;; DPF 19-feb-10 - Let's try doing without this one, to avoid e.g. ;; `Twice a week Christian cleans ;;aj-np_int-frg_c := frag_l_mod_i_np_rule & ;; [ RNAME "FRLI" ]. aj-pp_frg_c := frag_l_mod_pp_rule & [ RNAME "FRLP" ]. aj-r_frg_c := frag_l_mod_adv_rule & [ RNAME "FRLR" ]. ;frag_l_mod_vp := frag_l_mod_vp_rule & ; [ RNAME "FRLV" ]. np-aj_frg_c := frag_r_mod_np_rule & [ RNAME "FRRN" ]. np-aj_rorp-frg_c := frag_r_mod_np_i_rule & [ RNAME "FRRI" ]. np-aj_j-frg_c := frag_r_mod_np_adj_rule & [ RNAME "FRRA" ]. nb-aj_frg_c := frag_r_mod_nbar_rule & [ RNAME "FRRB" ]. ;frag_r_mod_i_pp := frag_r_mod_int_pp_rule & ; [ RNAME "FRRP" ]. pp-aj_frg_c := frag_r_mod_scop_pp_rule & [ RNAME "FRRS" ]. j-aj_frg_c := frag_r_mod_ap_rule & [ RNAME "FRRJ" ]. hd-pct_c := punct_marker_hinit_rule & [ RNAME "PTHI" ]. ;punct_hfinal := punct_marker_hfinal_rule & ; [ RNAME "PTHF" ]. ;;; From erg/arboretum/mal-constructions.tdl ;; Just reusing the old bare_np_sg rule. It's constrained ;; to rule out number nouns and temporal nouns as its daughter. ;; Commented out in constructions.tdl. bare_np_sg_rbst := mal_bare_np_sg_rule & [ RNAME "bare_np_sg_rbst" ]. ; Allow fronted NPs, but treat as stylistically deprecated ; Also block deictics, to avoid spurious parse for |that tree is| np_fillhead_non_wh_rbst := filler_head_rule_non_wh_infgen & [ RNAME "FHNX", NH-DTR.SYNSEM.LOCAL.CAT [ HEAD n_or_v & [ MINORS.NORM norm_or_no_rel ], VAL [ SUBJ *olist*, SPR *olist* ] ], GENRE robust ]. ; Also allow fronted directional PPs, but also deprecated pp_fillhead_non_wh_rbst := filler_head_rule_non_wh_infgen & [ RNAME "FHNY", NH-DTR.SYNSEM.LOCAL.CAT.HEAD prep & [ MINORS.MIN dir_rel ], GENRE robust ]. ; Allow "Kim arrived Tuesday" as stylistically deprecated, but still disallow ; "Mary from London" proper_np_rbst := proper_np_rule & [ ARGS < [ SYNSEM [ LOCAL.CAT.HEAD.MINORS.MIN dofw_rel, MODIFD hasmod & [ LPERIPH + ], LEX + ] ] >, RNAME "NPPX", GENRE robust ]. num_det_1_rbst := mal_num_det_rule_1 & [ RNAME "NDR1" ]. num_det_2_rbst := mal_num_det_rule_2 & [ RNAME "NDR2" ].