;;; Hey, emacs(1), this is -*- Mode: TDL; Package: LKB; -*- ;;; ;;; finally, perform some post-core fix-up: make sure variable equations are ;;; being propagated, delete transfer-internal meta EPs, et al. ;;; ;; If two VPs are coordinated, and the subject of the second is a zero, ;; then co-index them (should maybe be done earlier?) ;;; ;;; Why can't I use +copy+ here? ;;; Should harmonize the tense (replace oe's conj_* rules) coord-subj_ef := monotonic_mtr & [ CONTEXT.RELS < [ LBL #hl, ARG0 #el, ARG1 #xl & x ], [ PRED _and_c_rel, L-HNDL #hl, L-INDEX #el, R-HNDL #hr, R-INDEX #er ] >, INPUT.RELS < [ PRED #pred, LBL #hr, ARG0 #er, ARG1 #ur & u] >, OUTPUT.RELS < [ PRED #pred, LBL #hr, ARG0 #er, ARG1 #xl ] >, FLAGS.EQUAL < #xl, #ur > ]. ;;; Specialize number if necessary. ;;; ;;; note the use of ARGM so as not to set count_noun_mark to sg! ;;; num_spec_sg_cf := optional_mtr & [ INPUT.RELS < [ ARG0 #x1 & x & [ NUM no_number ], ARGM a ], [ ARG0 #x0, ARGM a ], [ PRED num_equate, ARG0 #x0, ARG1 #x1 ] >, OUTPUT.RELS < +copy+ & [ ARG0 [ NUM sg ] ], +copy+ & [ ARG0 [ NUM sg ] ] > ]. num_spec_pl_cf := monotonic_mtr & [ INPUT.RELS < [ ARG0 #x1 & x & [ NUM no_number ], ARGM a ], [ LBL #h0, ARG0 #x0 ], [ PRED num_equate, ARG0 #x0, ARG1 #x1 ] >, OUTPUT.RELS < +copy+ & [ ARG0 [ NUM pl ] ], +copy+ & [ ARG0 [ NUM pl ] ] > ]. ;;; Get rid of any discourse markers we don't know how to translate. wa_d_rel_ditch_ef := elision_mtr & [ INPUT.RELS < [ PRED "ja:_wa_d_rel" ] > ]. _d_ditch_ef := elision_mtr & [ INPUT.RELS < [ PRED "~^ja:.*_d_" ] > ].