;;; Hey, emacs(1), this is -*- Mode: TDL; Coding: utf-8; -*- got it? ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; ;;; third transfer phase, ERG-specific accomodation: these rules map from the ;;; LOGON transfer-level representations into MRS `idiosyncrasies' in the ERG. ;;; in some case, the ERG may just be lagging behind in development, or the ;;; ERG developers opt to maintain their design independent of LOGON (which we ;;; could hardly criticize, given there was no LOGON budget line item for ERG ;;; adaptation originally:-). however, ideally, this file should be small ;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; ;;; _fix_me_ ;;; a last-minute patch provided by dan: it looks as if overt conjunctions and ;;; the `run-on' conjunction cannot legitimately combine. (15-oct-06; oe) ;;; implicit_conj_ef := monotonic_mtr & [ CONTEXT.RELS < [ PRED implicit_conj_rel, ARG0 #i0 & i ] >, INPUT.RELS < [ PRED _or_c_rel, R-INDEX #i0 ] >, OUTPUT.RELS < +copy+ & [ PRED implicit_conj_rel ] >, FLAGS.SUBSUME < #i0 > ]. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; ;;; adjusting quantifiers is one of the more tedious aspects in accomodating ;;; input requirements of the TL grammar; in some cases, i guess we are seeing ;;; genuine language differences, in others i wonder about us maybe not having ;;; found the right levels of abstractions, or possibly we simply (still) lack ;;; perfect harmony between helge and dan. (20-dec-06; oe) ;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; ;;; _fix_me_ ;;; in tur/85, `[gir] mulighet [til]' comes out with a `bare_div_q'; should we ;;; alternatively go to plural here, or maybe make some change in NorGram? ;;; (29-aug-04; oe) udef_q+possibility_n_ef := monotonic_mtr & [ CONTEXT [ RELS < [ PRED "_possibility_n_of_rel", LBL #h1, ARG0 #x2 & [ NUM sg ] ] >, HCONS < qeq & [ HARG #h3, LARG #h1 ] > ], INPUT.RELS < [ PRED udef_q_rel, LBL #h4, ARG0 #x2, RSTR #h3, BODY #h5 ] >, OUTPUT.RELS < [ PRED _a_q_rel, LBL #h4, ARG0 #x2, RSTR #h3, BODY #h5 ] > ]. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; ;;; from here on, we still need to decide on a good way of ordering the rules. ;;; for now, the actual order is largely arbitrary, although there could be a ;;; small number of sequential dependencies ;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; ;;; to generate `the same one' and such, the ERG requires an additional `card' ;;; EP to trigger the `one' anaphor; but this is not needed for `the one'. a ;;; tad risky for the last day of LOGON, but after all today is jan tore's ;;; birthday :-). (5-jan-07; oe) ;;; --- in the end, we decided to make this rule optional, so as to allow both ;;; `det samme' as `the same' and `the same one'. ;;; generic_nom+card_ef := monotonic_omtr & [ CONTEXT.RELS < [ PRED generic_entity_rel, LBL #h0, ARG0 #x0 & [ NUM sg ] ] >, FILTER.RELS < [ PRED card_rel, LBL #h0, ARG1 #x0 ] >, OUTPUT.RELS < [ PRED card_rel, LBL #h0, ARG0 i, ARG1 #x0, CARG "1" ] > ]. ;;; ;;; but now, to avoid generating `a one', fix that up in another step. ;;; a_q+generic_nom_ef := monotonic_mtr & [ CONTEXT [ RELS < [ PRED generic_entity_rel, LBL #h1, ARG0 #x2 ] >, HCONS < qeq & [ HARG #h3, LARG #h1 ] > ], INPUT.RELS < [ PRED _a_q_rel, LBL #h4, ARG0 #x2, RSTR #h3, BODY #h5 ] >, OUTPUT.RELS < [ PRED udef_q_rel, LBL #h4, ARG0 #x2, RSTR #h3, BODY #h5 ] > ]. ;;; ;;; _fix_me_ ;;; NorGram decomposes `mest' as an adverb, while the ERG does not; to avoid ;;; generating `Abrams sang most much.', undo the decomposition. ;;; (3-jan-07; oe) most+much_ef := monotonic_mtr & [ INPUT.RELS < [ PRED superl_rel, LBL #h0, ARG1 #e0 ], [ PRED "_much_a_1_rel", LBL #h0, ARG0 #e0, ARG1 #e1 ] >, OUTPUT.RELS < [ PRED "_most_a_1_rel", LBL #h0, ARG0 #e0, ARG1 #e1 ] > ]. ;;; ;;; the current `unspec_loc' that we get for `Vinteren 1970 kom Abrams' is not ;;; a supertype of `temp_loc_rel', which in English we need to actually output ;;; a contentful preposition. the ERG will likely extend its hierarchy here. ;;; (13-oct-06; dpf & oe) ;;; unspec_loc_ef := monotonic_mtr & [ CONTEXT.RELS < [ PRED "~season_rel|_day_n_of_rel|yofc_rel", ARG0 #x0 & x ] >, INPUT.RELS < [ PRED unspec_loc_rel, LBL #h1, ARG0 #e2, ARG1 #i3, ARG2 #x0 ] >, OUTPUT.RELS < [ PRED temp_loc_sp_rel, LBL #h1, ARG0 #e2, ARG1 #i3, ARG2 #x0 ] >, FLAGS.EQUAL < #x0 > ]. ;;; ;;; _fix_me_ ;;; another rule provided by dan; probably more harmonization needed post-`mo'. ;;; (15-oct-06; oe) uppermost_unspec_loc_ef := monotonic_mtr & [ CONTEXT.RELS < [ PRED "_upper_a_1_rel", LBL #h4 ] >, INPUT.RELS < [ PRED unspec_loc_rel, LBL #h1, ARG0 #e2, ARG1 #i3, ARG2 #x0 ], [ PRED place_n_rel, LBL #h4, ARG0 #x0 ] >, OUTPUT.RELS < [ PRED _at_p_rel, LBL #h1, ARG0 #e2, ARG1 #i3, ARG2 #x0 ], [ PRED "_place_n_of_rel", LBL #h4, ARG0 #x0 ] > ]. ;;; ;;; the one above seems to work, and we need one more. (03-jan-06; jtl) ;;; lowermost_unspec_loc_ef := monotonic_mtr & [ CONTEXT.RELS < [ PRED "_lower_a_1_rel", LBL #h4 ] >, INPUT.RELS < [ PRED unspec_loc_rel, LBL #h1, ARG0 #e2, ARG1 #i3, ARG2 #x0 ], [ PRED place_n_rel, LBL #h4, ARG0 #x0 ] >, OUTPUT.RELS < [ PRED _at_p_rel, LBL #h1, ARG0 #e2, ARG1 #i3, ARG2 #x0 ], [ PRED "_place_n_of_rel", LBL #h4, ARG0 #x0 ] > ]. unspec_loc_at_ef := monotonic_mtr & [ CONTEXT.RELS < [ PRED "~_place_n_of_rel|_spot_n_of_rel", LBL #h4, ARG0 #x0 ] >, INPUT.RELS < [ PRED unspec_loc_rel, LBL #h1, ARG0 #e2, ARG1 #i3, ARG2 #x0 ] >, OUTPUT.RELS < [ PRED _at_p_rel, LBL #h1, ARG0 #e2, ARG1 #i3, ARG2 #x0 ] > ]. unspec_loc_in_ef := monotonic_mtr & [ CONTEXT.RELS < [ PRED "_location_n_1_rel", LBL #h4, ARG0 #x0 ] >, INPUT.RELS < [ PRED unspec_loc_rel, LBL #h1, ARG0 #e2, ARG1 #i3, ARG2 #x0 ] >, OUTPUT.RELS < [ PRED _in_p_rel, LBL #h1, ARG0 #e2, ARG1 #i3, ARG2 #x0 ] > ]. ;;; ;;; insert `zero' complements for obligatory roles that were not supplied, so ;;; that we can generate at least. (30-jun-04; oe) ;;; carry_v_ef := monotonic_mtr & [ INPUT.RELS < [ PRED "_carry_v_1_rel", LBL #h0, ARG0 #e1, ARG1 #x2, ARG2 a ] >, OUTPUT [ RELS < [ PRED "_carry_v_1_rel", LBL #h0, ARG0 #e1, ARG1 #x2, ARG2 #x3 & x & [ PERS 3, NUM sg ] ], [ PRED _some_q_rel, ARG0 #x3, RSTR #h4 ], [ PRED thing_rel, LBL #h5, ARG0 #x3 ] >, HCONS < qeq & [ HARG #h4, LARG #h5 ] > ] ]. get_v_state_ef := monotonic_mtr & [ INPUT.RELS < [ PRED "_get_v_state_rel", LBL #h0, ARG0 #e1, ARG1 #x2, ARG2 a ] >, OUTPUT [ RELS < [ PRED "_get_v_state_rel", LBL #h0, ARG0 #e1, ARG1 #x2, ARG2 #h4 ], [ PRED unspec_loc_rel, LBL #h5, ARG0 e_untensed, ARG1 #x2, ARG2 #x6 ], [ PRED def_q_rel, ARG0 #x6, RSTR #h7 ], [ PRED _there_a_1_rel, LBL #h8, ARG0 i, ARG1 #x6 ], [ PRED place_n_rel, LBL #h8, ARG0 #x6 ] >, HCONS < qeq & [ HARG #h4, LARG #h5 ], qeq & [ HARG #h7, LARG #h8 ] > ] ]. open_a_ef := monotonic_mtr & [ INPUT.RELS < [ PRED "_open_a_1_rel", LBL #h0, ARG0 #e1, ARG1 a ] >, OUTPUT [ RELS < [ PRED "_open_a_1_rel", LBL #h0, ARG0 #e1, ARG1 #x2 ], [ PRED pronoun_q_rel, ARG0 #x2, RSTR #h3 ], [ PRED pron_rel, LBL #h4, ARG0 #x2 & [ PERS 3, NUM pl ] ] >, HCONS < qeq & [ HARG #h3, LARG #h4 ] > ] ]. ;;; ;;; _fix_me_ ;;; NorGram (reasonably, i think) uses the abstract `unspec_loc' in sentences ;;; like `Hytta ligger i Oppland, 950 m o.h.'; for select internal arguments, ;;; at least, change that into an overt preposition, so that we can generate. ;;; (8-jun-06; oe) unspec_loc_meter_ef := monotonic_mtr & [ CONTEXT.RELS < [ PRED "_meter_n_1_rel",ARG0 #x0 ] >, INPUT.RELS < [ PRED unspec_loc_rel, ARG2 #x0 ] >, OUTPUT.RELS < +copy+ & [ PRED _at_p_rel ] > ].