;;; Hey, emacs(1), this is -*- Mode: tdl; Coding: utf-8; -*- got it? ;;; Verb particles (transitive and intransitive) look+up := verb_mtr & [ INPUT.RELS <! [ PRED "_look_v_up_rel" ] !>, OUTPUT.RELS <! [ PRED "_find_v_1_rel" ] !> ]. carry+on := verb_mtr & [ INPUT.RELS <! [ PRED "_carry_v_on_rel" ] !>, OUTPUT.RELS <! [ PRED "_continue_v_2_rel" ] !> ]. keep+on := verb_prtcl_cp_mtr & [ INPUT [ RELS <! [ PRED "_keep_v_on_rel" ], relation !> ], OUTPUT.RELS <! [ PRED "_continue_v_2_rel" ], +copy+ & [ ARG0 event & [ E.ASPECT [ PROGR -, PRF - ], SF prop-or-ques ] ] !> ]. get+around+to := verb_prtcl_pp_ger_mtr & [ INPUT [ RELS <! [ PRED "_get_v_around-to_rel" ], relation, relation, [ PRED #pred ] !> ], OUTPUT.RELS <! [ PRED #pred ], [ PRED "_eventual_a_1_rel" ] !> ]. pass+on+to := verb_mtr & [ INPUT [ RELS <! [ PRED "_pass_v_on_rel" ] !> ], OUTPUT.RELS <! [ PRED "_give_v_1_rel" ] !> ]. ; 'Kim gave me back the cat.' give+back := verb_np_prtcl_np_mtr & [ INPUT [ RELS <! [ PRED "_give_v_back_rel" ] !> ], OUTPUT.RELS <! [ PRED "_return_v_to_rel" ] !> ]. catch+on := verb_mtr & [ INPUT.RELS <! [ PRED "_catch_v_on_rel" ] !>, OUTPUT.RELS <! [ PRED "_realize_v_1_rel" ] !> ]. ;;; Idioms ;;; ;;; _fix_me_ ;;; really, given what we know about the grammar, matching on the HCONS for the ;;; `idiom_q' quantifier is, let's say, superfluous (to put it mildly), but to ;;; have at least one example showing off some of the transfer capabilities. ;;; take+advantage := monotonic_mtr & [ INPUT [ RELS <! [ PRED "_take_v_i_rel", LBL #h1, ARG0 #e2, ARG1 #x3, ARG2 #x4, ARG3 #x5 ], [ PRED idiom_q_i_rel, ARG0 #x4, RSTR #h6 ], [ PRED "_advantage_n_i_rel", LBL #h7, ARG0 #x4 ] !>, HCONS <! qeq & [ HARG #h6, LARG #h7 ] !> ], OUTPUT.RELS <! [ PRED "_benefit_v_from_rel", LBL #h1, ARG0 #e2, ARG1 #x3, ARG2 #x5 ] !> ]. keep+tabs := monotonic_mtr & [ INPUT [ RELS <! [ PRED "_keep_v_i_rel", LBL #h1, ARG0 #e2, ARG1 #x3, ARG2 #x4, ARG3 #x5 ], [ PRED udef_q_rel, ARG0 #x4, RSTR #h6 ], [ PRED "_tabs_n_i_rel", LBL #h7, ARG0 #x4 ] !>, HCONS <! qeq & [ HARG #h6, LARG #h7 ] !> ], OUTPUT.RELS <! [ PRED "_watch_v_1_rel", LBL #h1, ARG0 #e2, ARG1 #x3, ARG2 #x5 ] !> ]. ;;; Determinerless PPs on+edge := detlesspp_mtr & [ INPUT.RELS <! [ PRED _on_p_rel ], [ PRED "_edge_n_of_rel" ], relation !>, OUTPUT.RELS <! [ PRED "_nervous_a_about_rel" ] !> ]. at+long+last := detlesspp+adj_mtr & [ INPUT.RELS <! [ PRED _at_p_rel ], [ PRED "_long_a_1_rel" ], [ PRED "_last_n_1_rel" ], relation !>, OUTPUT [ RELS <! [ PRED "_final_a_1_rel" ] !>, HCONS <! !> ] ]. at+last := detlesspp_mtr & [ INPUT.RELS <! [ PRED _at_p_rel ], [ PRED "_last_n_1_rel" ], relation !>, OUTPUT.RELS <! [ PRED "_final_a_1_rel" ] !> ]. at+close+range := detlesspp+adj_mtr & [ INPUT.RELS <! [ PRED _at_p_rel ], [ PRED "_close_a_to_rel" ], [ PRED "_range_n_of_rel" ], relation !>, OUTPUT.RELS <! [ PRED _from_p_rel, ARG2 #arg0 ], [ PRED _a_q_rel, ARG0 #arg0, RSTR #lbl ], [ LBL #lbl, PRED "_distance_n_1_rel", ARG0 #arg0 ], [ LBL #lbl, PRED "_small_a_1_rel", ARG0 event & [ E.ASPECT [ PROGR -, PRF - ] ], ARG1 #arg0 ] !>]. ;;; Light verbs give+adj+demo_mtr := light_verb_mtr & [ INPUT.RELS <! [ PRED "_give_v_1_rel" ], [ LBL #lbln, PRED "_demo_n_of_rel", ARG0 #inst, ARG1 #arg1 ], [ PRED _a_q_rel ], [ LBL #lbln, PRED #pred, ARG0 event, ARG1 #inst ] !>, OUTPUT.RELS <! [ LBL #lbl, PRED "_demo_v_to_rel", ARG0 #arg0, ARG2 #arg1 ], [ LBL #lbl, PRED #pred, ARG1 #arg0 ] !> ]. give+demo_mtr := light_verb_mtr & [ INPUT.RELS <! [ PRED "_give_v_1_rel", ARG3 #arg3 ], [ PRED "_demo_n_of_rel", ARG1 #arg1 ], [ PRED _a_q_rel ] !>, OUTPUT.RELS <! [ PRED "_demo_v_to_rel", ARG2 #arg1, ARG3 #arg3 ] !> ]. give+talk_mtr := light_verb_mtr & [ INPUT.RELS <! [ PRED "_give_v_1_rel" ], [ PRED "_talk_n_of-on_rel", ARG1 #arg1 ], [ PRED _a_q_rel ] !>, OUTPUT.RELS <! [ LBL #lbl, PRED "_talk_v_about_rel", ARG0 #arg0 ], [ LBL #lbl, PRED _about_p_rel, ARG1 #arg0, ARG2 #arg1 ] !> ].