;;; Hey, emacs(1), this is -*- Mode: TDL; Coding: utf-8; -*- got it? ;;; ;;; basic_verb_prtcl_mtr := monotonic_mtr & [ INPUT.RELS < [ LBL #h1, ARG0 #e2, ARG1 #x3, ARG2 #x4, ARG3 #x5, ARG4 #x6 ], ... >, OUTPUT.RELS < [ LBL #h1, ARG0 #e2, ARG1 #x3, ARG2 #x4, ARG3 #x5, ARG4 #x6 ], ... > ]. verb_prtcl_mtr := basic_verb_prtcl_mtr & [ INPUT.RELS < relation > ]. verb_prtcl_cp_mtr := monotonic_mtr & [ INPUT [ RELS < [ LBL #h1, ARG0 #e2, ARG2 #h3 ], [ LBL #h5 ] >, HCONS < qeq & [ HARG #h3, LARG #h5 ] > ], OUTPUT [ RELS < [ LBL #h1, ARG0 #e2, ARG1 #h3 ], relation >, HCONS < qeq & [ HARG #h3, LARG #h5 ] > ] ]. #| verb_prtcl_pp_mtr := basic_verb_prtcl_mtr & [ INPUT.RELS , OUTPUT.RELS ]. |# verb_prtcl_pp_mtr := basic_verb_prtcl_mtr & [ INPUT.RELS < relation > ]. verb_np_prtcl_np_mtr := monotonic_mtr & [ INPUT.RELS < [ LBL #h1, ARG0 #e2, ARG1 #x3, ARG2 #x4, ARG3 #x5 ] >, OUTPUT.RELS < [ LBL #h1, ARG0 #e2, ARG1 #x3, ARG2 #x5, ARG3 #x4 ] > ]. #| verb_prtcl_pp_ger_mtr := monotonic_mtr & [ INPUT [ RELS < [ LBL #h1, ARG0 #e2, ARG1 #x3, ARG2 #x4 ], [ PRED quant_rel, ARG0 #x4 ], [ PRED nom_rel, ARG0 #x4, ARG1 #h9 ], [ LBL #h9, ARG2 #arg2, ARG3 #arg3, ARG4 #arg4 ] > ], OUTPUT.RELS < [ LBL #h1, ARG0 #e2, ARG1 #x3, ARG2 #arg2, ARG3 #arg3, ARG4 #arg4 ], [ LBL #h1, ARG1 #e2 ] > ]. |# detlesspp_mtr := monotonic_mtr & [ INPUT [ RELS < [ LBL #h1, ARG0 #e2, ARG1 #x3, ARG2 #x4 ], [ LBL #h7, ARG0 #x4 ], [ PRED idiom_q_i_rel, ARG0 #x4, RSTR #h6 ] >, HCONS < qeq & [ HARG #h6, LARG #h7 ] > ], OUTPUT.RELS < [ LBL #h1, ARG0 #e2, ARG1 #x3 ], ... > ]. detlesspp+adj_mtr := monotonic_mtr & [ INPUT [RELS < [ LBL #h1, ARG0 #e2, ARG1 #x3, ARG2 #x4 ], [ LBL #h7, ARG1 #x4 ], [ LBL #h7, ARG0 #x4 ], [ PRED udef_q_rel, ARG0 #x4, RSTR #h6 ] >, HCONS < qeq & [ HARG #h6, LARG #h7 ] >] , OUTPUT.RELS < [ LBL #h1, ARG0 #e2, ARG1 #x3 ], ... > ]. light_verb_mtr := monotonic_mtr & [ INPUT [ RELS < [ LBL #h1, ARG0 #e2, ARG1 #x3, ARG2 #x4 ], [ LBL #h6, ARG0 #x4 ], [ ARG0 #x4, RSTR #h5 ], ... >, HCONS < qeq & [ HARG #h5, LARG #h6 ] > ], OUTPUT.RELS < [ LBL #h1, ARG0 #e2, ARG1 #x3 ], ... > ]. ;;; ;;; a few `special-purpose' types, transfer operators in a sense ;;; ;;+upcase+ := string. ;;+downcase+ := string. ;;; Idiom rules v_nbar_idiom_mtr := monotonic_mtr & [ INPUT.RELS < [ LBL h, ARG0 e, ARG1 x, ARG2 x & #arg2 ], [ LBL h, ARG0 #arg2 ], [ PRED idiom_q_i_rel, ARG0 #arg2 ] >, OUTPUT.RELS < > ]. basic_v_nbar_pp_idiom_mtr := monotonic_mtr & [ INPUT.RELS < [ LBL h, ARG0 e, ARG1 x, ARG2 x & #arg2, ARG3 x ], [ LBL h, ARG0 #arg2 ], [ ARG0 #arg2 ] >, OUTPUT.RELS < > ]. v_nbar_pp_idiom_mtr := basic_v_nbar_pp_idiom_mtr & [ INPUT.RELS < relation, relation, [ PRED idiom_q_i_rel ] > ]. v_nbar-pl_pp_idiom_mtr := basic_v_nbar_pp_idiom_mtr & [ INPUT.RELS < relation, relation, [ PRED udef_q_rel ] > ]. v_light_adj_idiom_mtr := monotonic_mtr & [ INPUT [ RELS < [ ARG1 x, ARG2 h & #lbl ], [ LBL #albl ] >, HCONS < qeq & [ HARG #lbl, LARG #albl ] > ], OUTPUT.RELS < > ]. v_np_pp_idiom_mtr := monotonic_mtr & [ INPUT.RELS < [ LBL h, ARG0 e, ARG1 x, ARG2 x, ARG3 x & #arg3 ], [ LBL h, ARG0 #arg3 ] >, FLAGS.EQUAL < #arg3 >, OUTPUT.RELS < > ]. detless_pp_idiom_mtr := monotonic_mtr & [ INPUT.RELS < [ LBL h, ARG0 e, ARG2 x & #arg2 ], [ LBL h, ARG0 #arg2 ], [ PRED idiom_q_i_rel, ARG0 #arg2 ] >, OUTPUT.RELS < > ]. ;;classifier_noun_mtr := monotonic_mtr & ;; [ INPUT.RELS , ;; OUTPUT.RELS ].