;;; Hey, emacs(1), this is -*- Mode: TDL; Coding: utf-8; -*- got it? ;;; ;;; `multi-word' transfer rules: typically things we should process before the ;;; `regular' transfer rules consume some of the pieces these rules require. ;;; ;;; ;;; there are a couple of compounds that require idiosyncratic translation of ;;; the individual components, even if the output is a compound again. ;;; bånd+tvang_n := n+n_n+n_mtr & [ INPUT.RELS < [ PRED "_bånd_n_rel" ], [ PRED "_tvang_n_rel" ] >, OUTPUT.RELS < [ PRED "_leash_n_1_rel" ], [ PRED "_law_n_1_rel" ] > ]. duskull_n := n+n_n+n_mtr & [ INPUT.RELS < [ PRED "_dusk_n_rel" ], [ PRED "_ull_n_rel" ] >, OUTPUT.RELS < [ PRED "_cotton_n_1_rel" ], [ PRED "_grass_n_1_rel" ] > ]. detalj+program_n := n+n_adj+n_mtr & [ INPUT.RELS < [ PRED "_detalj_n_rel" ], [ PRED "_program_n_rel" ], ... >, OUTPUT.RELS < [ PRED "_detaljert_a_rel" ], [ PRED "_program_n_of_rel" ] > ]. fjell+klatring_n := n+n_n+nominalization_mtr & [ INPUT.RELS < [ PRED "_fjell_n_rel" ], [ PRED "_klatring_n_rel" ], ... >, OUTPUT.RELS < [ PRED "_mountain_n_1_rel" ], [ PRED "_climb_v_1_rel" ], ... > ]. friluft+område_n := n+n_n+n_mtr & [ INPUT.RELS < [ PRED "_friluft_n_rel" ], [ PRED "_område_n_rel" ] >, OUTPUT.RELS < [ PRED "_recreation_n_1_rel" ], [ PRED "_area_n_of_rel" ] > ]. hund+kjører_n := n+n_n+n_omtr & [ INPUT.RELS < [ PRED "_hund_n_rel" ], [ PRED "_kjører_n_rel" ] >, OUTPUT.RELS < [ PRED "_dogsled_n_1_rel" ], [ PRED "_driver_n_of_rel" ] > ]. hus+dyr_farm+animal_n := n+n_n+n_omtr & [ INPUT.RELS < [ PRED "_hus_n_rel" ], [ PRED "_dyr_n_rel" ] >, OUTPUT.RELS < [ PRED "_farm_n_1_rel" ], [ PRED "_animal_n_1_rel" ] > ]. hus+dyr_pet_n := n+n_n_mtr & [ INPUT.RELS < [ PRED "_hus_n_rel" ], [ PRED "_dyr_n_rel" ], ... >, OUTPUT.RELS < [ PRED "_pet_n_1_rel" ] > ]. god+behold_behold := monotonic_mtr & [ INPUT.RELS < [ LBL #h1, PRED "_god_a_rel", ARG1 #p2 ], [ LBL #h1, PRED "_behold_n_rel", ARG0 #p2 ] >, OUTPUT.RELS < [ LBL #h1, PRED "_behold_n_rel", ARG0 #p2 ] > ]. ;;; Optional to allow for more literal translations automatically ;;; acquired. (04-jan-07; jtl) høyde+punkt_highlight_n := n+n_n_omtr & [ INPUT.RELS < [ PRED "_høyde_n_rel" ], [ PRED "_punkt_n_rel" ], ... >, OUTPUT.RELS < [ PRED "_highlight_n_1_rel" ] > ]. i+behold_pp := pp_ad_mtr & [ INPUT.RELS < [ PRED "_i_p_rel" ], [ PRED "bare_div_q_rel" ], [ PRED "_behold_n_rel" ] >, OUTPUT.RELS < [ PRED "_intact_a_1_rel" ] > ]. karakterdyr_n := n+n_adj+n_omtr & [ INPUT.RELS < [ PRED "_karakter_n_rel" ], [ PRED "_dyr_n_rel" ], ... >, OUTPUT.RELS < [ PRED "_typical_a_of_rel" ], [ PRED "_animal_n_1_rel" ], ... > ]. kultur+landskap_cultivated+land_n := n+n_adj+n_omtr & [ INPUT.RELS < [ PRED "_kultur_n_rel" ], [ PRED "_landskap_n_rel" ], ... >, OUTPUT.RELS < [ PRED "_cultivated_a_1_rel" ], [ PRED "_land_n_of_rel" ] > ]. kultur+landskap_cultural+landscape_n := n+n_adj+n_mtr & [ INPUT.RELS < [ PRED "_kultur_n_rel" ], [ PRED "_landskap_n_rel" ], ... >, OUTPUT.RELS < [ PRED "_cultural_a_1_rel" ], [ PRED "_landscape_n_1_rel" ] > ]. kunst+snø_n := n+n_adj+n_mtr & [ INPUT.RELS < [ PRED "_kunst_n_rel" ], [ PRED "_snø_n_rel" ], ... >, OUTPUT.RELS < [ PRED "_artificial_a_1_rel" ], [ PRED "_snow_n_1_rel" ] > ]. ljore+hull_smoke+vent_n := n+n_n+n_mtr & [ INPUT.RELS < [ PRED "_ljore_n_rel" ], [ PRED "_hull_n_rel" ] >, OUTPUT.RELS < [ PRED "_smoke_n_1_rel" ], [ PRED "_vent_n_1_rel" ] > ]. lunningsplass_part1 := n+n_adj+n_mtr & [ INPUT.RELS < [ PRED "_lunning_n_rel" ], [ PRED "_plass_n_rel" ], ... >, OUTPUT.RELS < [ PRED "_skidding_a_1_rel" ], [ PRED "_place_n_of_rel" ], ... > ]. lunning_skidding_part2 := adjective_prp_participle_mtr & [ INPUT.RELS < [ PRED "_skidding_a_1_rel" ] >, OUTPUT.RELS < [ PRED "_skid_v_1_rel" ], ... > ]. malm+furu_n := n+n_adj+n_mtr & [ INPUT.RELS < [ PRED "_malm_n_rel" ], [ PRED "_furu_n_rel" ], ... >, OUTPUT.RELS < [ PRED "_old_a_1_rel" ], [ PRED "_pine_n_1_rel" ] > ]. rød+sildre_purple+saxifrage_n := adj*n_adj+n_mtr & [ INPUT.RELS < [ PRED "_rød_a_rel" ], [ PRED "_sildre_n_rel" ] ... >, OUTPUT.RELS < [ PRED "_purple_a_1_rel" ], [ PRED "_saxifrage_n_1_rel" ], ... > ]. sand+strand_n := n+n_adj+n_mtr & [ INPUT.RELS < [ PRED "_sand_n_rel" ], [ PRED "_strand_n_rel" ], ... >, OUTPUT.RELS < [ PRED "_sandy_a_1_rel" ], [ PRED "_beach_n_1_rel" ] > ]. sol+brille_sunglasses_n := n+n_n_mtr & [ INPUT.RELS < [ PRED "_sol_n_rel" ], [ PRED "_brille_n_rel" ], ... >, OUTPUT.RELS < [ PRED "_sunglasses_n_1_rel", ARG0 [ NUM pl ] ] > ]. supplering_n := n+n_adj+n_mtr & [ INPUT.RELS < [ PRED "_supplering_n_rel" ], [ PRED #p ], ... >, OUTPUT.RELS < [ PRED "_supplementary_a_1_rel" ], [ PRED #p ] > ]. ;;; ;;; SL compounds that are lexicalized in the target language. ;;; flat+myr_marsh_n := n+n_n_omtr & [ INPUT.RELS < [ PRED "_flat_n_rel" ], [ PRED "_myr_n_rel" ], ... >, OUTPUT.RELS < [ PRED "_marsh_n_1_rel" ] > ]. flat+myr_flat_marsh_n := n+n_adj+n_mtr & [ INPUT.RELS < [ PRED "_flat_n_rel" ], [ PRED "_myr_n_rel" ], ... >, OUTPUT.RELS < [ PRED "_flat_a_1_rel" ], [ PRED "_marsh_n_1_rel" ] > ]. overnatting_compound := monotonic_omtr & [ INPUT [ RELS < [ PRED "_overnatting_n_rel", LBL #h0, ARG0 #x1 ], [ PRED "unspec_rel", LBL #h2, ARG1 #x3, ARG2 #x1 ], [ PRED "udef_q_rel", ARG0 #x1, RSTR #h3 ] >, HCONS < qeq & [ HARG #h3, LARG #h0 ] > ], OUTPUT.RELS < [ PRED "_overnight_a_1_rel", LBL #h2, ARG1 #x3 ] > ]. overnatting+plass_n := n+n_n_omtr & [ INPUT.RELS < [ PRED "_overnatting_n_rel" ], [ PRED "_plass_n_rel" ] ... >, OUTPUT.RELS < [ PRED "_lodging_n_1_rel" ] > ]. overnatting+plass_n := n+n_adj+n_mtr & [ INPUT.RELS < [ PRED "_overnatting_n_rel" ], [ PRED "_plass_n_rel" ] ... >, OUTPUT.RELS < [ PRED "_overnight_a_1_rel" ], [ PRED "_lodging_n_1_rel" ] > ]. i+peis+stue := monotonic_omtr & [ INPUT [ RELS < [ LBL #h6, ARG0 #e7, ARG1 #e8, ARG2 #x4, PRED "_i_p_rel"], [ LBL #h1, ARG0 #x2, PRED "_peis_n_rel"], [ LBL #h3, ARG0 #x4, PRED "_stue_n_rel" ], [ PRED "unspec_rel", LBL #h3, ARG1 #x4, ARG2 #x2 ], [ PRED "udef_q_rel", ARG0 #x2, RSTR #h5 ] >, HCONS < qeq & [ HARG #h5, LARG #h1 ] > ], OUTPUT.RELS < [ LBL #h6, ARG0 #e7, ARG1 #e8, ARG2 #x4, PRED _by_p_rel], [ LBL #h3, ARG0 #x4, PRED "_fireplace_n_1_rel" ] > ]. peis+stue_n := n+n_n_mtr & [ INPUT.RELS < [ PRED "_peis_n_rel" ], [ PRED "_stue_n_rel" ] ... >, OUTPUT.RELS < [ PRED "_lounge_n_1_rel" ] > ]. rund+skue_n := adj+n_n_mtr & [ INPUT.RELS < [ PRED "_rund_a_rel" ], [ PRED "_skue_n_rel" ] ... >, OUTPUT.RELS <[ PRED "_panorama_n_1_rel" ] > ]. ski+løper_n := n+n_n_mtr & [ INPUT.RELS < [ PRED "_ski_n_rel" ], [ PRED "_løper_n_rel" ] ... >, OUTPUT.RELS < [ PRED "_skier_n_1_rel" ] > ]. tur+gåer_n := n+n_n_mtr & [ INPUT.RELS < [ PRED "_tur_n_rel" ], [ PRED "_gåer_n_rel" ] ... >, OUTPUT.RELS < [ PRED "_hiker_n_1_rel" ] > ]. ;;; ;;; _fix_me_ ;;; during the `vaar' (2006) integration, we are left with a few compounds that ;;; are decomposed when used in isolation but not (recursively) decomposed when ;;; being part of a larger compound. thus, we actually know the following are ;;; modifiers of larger structures. but these should disappear eventually. ;;; (17-feb-06; oe) dagstur_n := n_n+n_mtr & [ INPUT.RELS < [ PRED "_dagstur_n_rel" ] >, OUTPUT.RELS < [ PRED "_day_n_of_rel" ], [ PRED "_trip_n_of_rel" ] ... > ]. fottur_n := n_nominalization_mtr & [ INPUT.RELS < [ PRED "_fottur_n_rel" ] >, OUTPUT.RELS < [ PRED "_hike_v_1_rel" ], ... > ]. høyfjell_n := n_adj+n_mtr & [ INPUT.RELS < [ PRED "_høyfjell_n_rel" ] >, OUTPUT.RELS < [ PRED "_high_a_1_rel" ], [ PRED "_mountain_n_1_rel" ] ... > ]. motorbåt_n := noun_mtr & [ INPUT.RELS < [ PRED "_motorbåt_n_rel" ] >, OUTPUT.RELS < [ PRED "_motorboat_n_1_rel" ] > ]. selvbetjening_n := n_n+n_mtr & [ INPUT.RELS < [ PRED "_selvbetjening_n_rel" ] >, OUTPUT.RELS < [ PRED "_self_n_1_rel" ], [ PRED "_service_n_1_rel" ] ... > ]. ;;; ;;; _fix_me_ ;;; during the `mo' integration, we now get more three-way compounds analysed ;;; into components (albeit by listing them in `compounds.logon' rather than ;;; the actual fix in the compound analyzer for full recursive decomposition). ;;; however, given the flat analysis of such compounds, unfortunately we fail ;;; to auto-generate rules for these (see `norgram.mtr' in the TRAG directory). ;;; (15-oct-06; oe) fotturrute_n := n*n*n_nominalization*n_mtr & [ INPUT.RELS < [ PRED "_fot_n_rel" ], [ PRED "_tur_n_rel" ], [ PRED "_rute_n_rel" ], ... >, OUTPUT.RELS < [ PRED "_hike_v_1_rel" ], [ PRED "_trail_n_1_rel" ], ... > ]. fotturpioner_n := n*n*n_nominalization*n_mtr & [ INPUT.RELS < [ PRED "_fot_n_rel" ], [ PRED "_tur_n_rel" ], [ PRED "_pioner_n_rel" ], ... >, OUTPUT.RELS < [ PRED "_hike_v_1_rel" ], [ PRED "_pioneer_n_1_rel" ], ... > ]. fotturstøvel_n := n*n*n_nominalization*n_mtr & [ INPUT.RELS < [ PRED "_fot_n_rel" ], [ PRED "_tur_n_rel" ], [ PRED "_støvel_n_rel" ], ... >, OUTPUT.RELS < [ PRED "_hike_v_1_rel" ], [ PRED "_boot_n_1_rel" ], ... > ]. motorbåtrute := n*n*n_n*n_mtr & [ INPUT.RELS < [ PRED "_motor_n_rel" ], [ PRED "_båt_n_rel" ], [ PRED "_rute_n_rel" ], ... >, OUTPUT.RELS < [ PRED "_motorboat_n_1_rel" ], [ PRED "_route_n_1_rel" ], ... > ]. nasjonalparkgrense_n := adj*n*n_adj*n*n_mtr & [ INPUT.RELS < [ PRED "_nasjonal_a_rel" ], [ PRED "_park_n_rel" ], [ PRED "_grense_n_rel" ], ... >, OUTPUT.RELS < [ PRED "_national_a_1_rel" ], [ PRED "_park_n_1_rel" ], [ PRED "_boundary_n_1_rel" ], ... > ]. sommerskiløping_n := n*n*n_n*nominalization_mtr & [ INPUT.RELS < [ PRED "season_rel", CARG "sommer" ], [ PRED "_ski_n_rel" ], [ PRED "_løping_n_rel" ], ... >, OUTPUT.RELS < [ PRED season_rel, CARG "summer" ], [ PRED "_ski_v_1_rel" ], ... > ]. veidemannsliv_n := n*n*n_nominalization*n_mtr & [ INPUT.RELS < [ PRED "_veide_n_rel" ], [ PRED "_mann_n_rel" ], [ PRED "_liv_n_rel" ], ... >, OUTPUT.RELS < [ PRED "_hunt_v_1_rel" ], [ PRED "_life_n_of_rel" ], ... > ]. ;;; ;;; a group of nouns analyzed as `measure' classifiers in NorGram, while the ;;; corresponding ERG analyses treat the noun as a head that is parasitic on ;;; the (semantic) agreement properties of its complement, e.g. ;;; ;;; - den typen fjell --> this type of mountain ;;; - en trofast skare bestyrere --> a loyal line of wardens ;;; ;;; _fix_me_ ;;; for some reason, no MTR variables are created for PRED values, unless the ;;; co-references are redundantly repeated in each instance definition :-{. ;;; (3-jan-07; oe) anntall_measure := measure_classifier_mtr & [ INPUT.RELS < [ PRED "_antall_n_rel" ], [ PRED #quantifier ], [ PRED #noun ], ...>, OUTPUT.RELS < [ PRED "_number_n_of_rel" ], [ PRED #quantifier ], [ PRED #noun ], ... > ]. flaske_measure := measure_classifier_mtr & [ INPUT.RELS < [ PRED "_flaske_n_rel" ], [ PRED #quantifier ], [ PRED #noun ], ...>, OUTPUT.RELS < [ PRED "_bottle_n_of_rel" ], [ PRED #quantifier ], [ PRED #noun ], ... > ]. flokk_measure := measure_classifier_mtr & [ INPUT.RELS < [ PRED "_flokk_n_rel" ], [ PRED #quantifier ], [ PRED #noun ], ...>, OUTPUT.RELS < [ PRED "_herd_n_of_rel" ], [ PRED #quantifier ], [ PRED #noun ], ... > ]. glass_measure := measure_classifier_mtr & [ INPUT.RELS < [ PRED "_glass_n_rel" ], [ PRED #quantifier ], [ PRED #noun ], ...>, OUTPUT.RELS < [ PRED "_glass_n_of_rel" ], [ PRED #quantifier ], [ PRED #noun ], ... > ]. gruppe_measure := measure_classifier_mtr & [ INPUT.RELS < [ PRED "_gruppe_n_rel" ], [ PRED #quantifier ], [ PRED #noun ], ...>, OUTPUT.RELS < [ PRED "_group_n_of_rel" ], [ PRED #quantifier ], [ PRED #noun ], ... > ]. mengde_measure := measure_classifier_mtr & [ INPUT.RELS < [ PRED "_mengde_n_rel" ], [ PRED #quantifier ], [ PRED #noun ], ...>, OUTPUT.RELS < [ PRED "_group_n_of_rel" ], [ PRED #quantifier ], [ PRED #noun ], ... > ]. milliard_measure := measure_classifier_mtr & [ INPUT.RELS < [ PRED "_milliard_n_rel" ], [ PRED #quantifier ], [ PRED #noun ], ...>, OUTPUT.RELS < [ PRED "_billion_n_of_rel" ], [ PRED #quantifier ], [ PRED #noun ], ... > ]. million_measure := measure_classifier_mtr & [ INPUT.RELS < [ PRED "_million_n_rel" ], [ PRED #quantifier ], [ PRED #noun ], ...>, OUTPUT.RELS < [ PRED "_million_n_of_rel" ], [ PRED #quantifier ], [ PRED #noun ], ... > ]. samling_measure := measure_classifier_mtr & [ INPUT.RELS < [ PRED "_samling_n_rel" ], [ PRED #quantifier ], [ PRED #noun ], ...>, OUTPUT.RELS < [ PRED "_collection_n_of_rel" ], [ PRED #quantifier ], [ PRED #noun ], ... > ]. serie_measure := measure_classifier_mtr & [ INPUT.RELS < [ PRED "_serie_n_rel" ], [ PRED #quantifier ], [ PRED #noun ], ...>, OUTPUT.RELS < [ PRED "_series_n_of_rel" ], [ PRED #quantifier ], [ PRED #noun ], ... > ]. skare_measure := measure_classifier_mtr & [ INPUT.RELS < [ PRED "_skare_n_rel" ], [ PRED #quantifier ], [ PRED #noun ], ...>, OUTPUT.RELS < [ PRED "_line_n_of_rel" ], [ PRED #quantifier ], [ PRED #noun ], ... > ]. type_measure := measure_classifier_mtr & [ INPUT.RELS < [ PRED "_type_n_rel" ], [ PRED #quantifier ], [ PRED #noun ], ...>, OUTPUT.RELS < [ PRED "_type_n_of-n_rel" ], [ PRED #quantifier ], [ PRED #noun ], ... > ]. ;;; ;;; _fix_me_ ;;; there should be more of these; the pattern is still missing from TRAG. ;;; (2-dec-07; oe) lodd+rett_a := n+a_a_mtr & [ INPUT.RELS < [ PRED "_lodd_n_rel" ], [ PRED "_rett_a_rel" ], ...>, OUTPUT.RELS < [ PRED "_vertical_a_1_rel" ] > ]. ;;; ;;; a section on `phrasal verbs', e.g. more or less fixed units that tend to ;;; have a variation in syntactic form in the target language, e.g. ;;; ;;; `slå leir' --> `camp' ;;; `drive jakt [på ...]' --> `hunt [...]' ;;; ;;; ;;; I have trid to patch up the passive. That did not work for ;;; passive+question, so I added another patch. But that does not cover modals ;;; as in `Skal det drives jakt på dyret?' (12-oct-06; jtl) ;;; drive+jakt+på_pass_quest_v := monotonic_mtr & [ INPUT [ RELS < [ PRED "_drive_v_rel", LBL #h0, ARG0 #e1, ARG1 #x2, ARG2 #x3 & x ], [ PRED "~bare_[^_]*_q_rel", ARG0 #x3, RSTR #h4 ], [ PRED "_jakt_n_rel", LBL #h5, ARG0 #x3, ARG1 #x6 & x ], [ PRED #p11, LBL #h7, ARG0 #e1, PSV #x3, TPC #u8, MARG #h9 & h ], [ PRED #p12, LBL #h9, ARG0 #e1, PSV #x3, TPC #u8, MARG #h10 & h ] >, HCONS < qeq & [ HARG #h4, LARG #h5 ] > ], OUTPUT.RELS < [ PRED "_hunt_v_1_rel", LBL #h0, ARG0 #e1, ARG1 #x2, ARG2 #x6 ], [ PRED #p11, LBL #h7, ARG0 #e1, PSV #x6, TPC #u8, MARG #h9 ], [ PRED #p12, LBL #h9, ARG0 #e1, PSV #x6, TPC #u8, MARG #h10 ] >, FLAGS.EQUAL < #x3, #x6, #h9, #h10 > ]. drive+jakt+på_pass_v := monotonic_mtr & [ INPUT [ RELS < [ PRED "_drive_v_rel", LBL #h0, ARG0 #e1, ARG1 #x2, ARG2 #x3 & x ], [ PRED "~bare_[^_]*_q_rel", ARG0 #x3, RSTR #h4 ], [ PRED "_jakt_n_rel", LBL #h5, ARG0 #x3, ARG1 #x6 & x ], [ PRED #p, LBL #h7, ARG0 #e1, PSV #x3, TPC #u8, MARG #h9 & h] >, HCONS < qeq & [ HARG #h4, LARG #h5 ] > ], OUTPUT.RELS < [ PRED "_hunt_v_1_rel", LBL #h0, ARG0 #e1, ARG1 #x2, ARG2 #x6 ], [ PRED #p, LBL #h7, ARG0 #e1, PSV #x6, TPC #u8, MARG #h9 ] >, FLAGS.EQUAL < #x3, #x6, #h9 > ]. drive+jakt+på_active_v := arg12+rnp_arg12_v_mtr & [ INPUT.RELS < [ PRED "_drive_v_rel" ], [ PRED "~bare_[^_]*_q_rel" ], [ PRED "_jakt_n_rel" ] >, OUTPUT.RELS < [ PRED "_hunt_v_1_rel" ] > ]. drive+jakt_v := arg12+np_arg1_v_mtr & [ INPUT.RELS < [ PRED "_drive_v_rel" ], [ PRED "~bare_[^_]*_q_rel" ], [ PRED "_jakt_n_rel" ] >, OUTPUT.RELS < [ PRED "_hunt_v_1_rel" ] > ]. ;;; The following 3 are optional since they have ;;; have problems with 'gjøre et inntrykk'. ;;; We need 'make an impression' as a fall back. ;;; (03-jan-07; jtl) gjøre+inntrykk+på_v := arg12+np+pp_arg12_v_omtr & [ INPUT.RELS < [ PRED "_gjøre_v_rel" ], [ PRED "bare_sg_q_rel" ], [ PRED "_inntrykk_n_rel" ], [ PRED "_på_p_rel" ] >, OUTPUT.RELS < [ PRED "_impress_v_1_rel" ] > ]. gjøre+inntrykk_v := arg12+np_arg1_v_omtr & [ INPUT.RELS < [ PRED "_gjøre_v_rel" ], [ PRED "bare_sg_q_rel" ], [ PRED "_inntrykk_n_rel" ] >, OUTPUT.RELS < [ PRED "_impress_v_1_rel" ] > ]. gjøre+et+inntrykk_v := arg12+np_arg1_v_omtr & [ INPUT.RELS < [ PRED "_gjøre_v_rel" ], [ PRED "en_q_rel" ], [ PRED "_inntrykk_n_rel" ] >, OUTPUT.RELS < [ PRED "_impress_v_1_rel" ] > ]. se+vekk+fra_v := arg1+pp_arg12_mtr & [ INPUT.RELS < [ PRED "_se_v_rel" ], [ PRED "_vekk+fra_p_rel" ] >, OUTPUT.RELS < [ PRED "_disregard_v_1_rel" ] > ]. stå+klar_v := arg1+pp_arg1_mtr & [ INPUT.RELS < [ PRED "_stå_v_rel" ], [ PRED "_klar-ready_a_rel" ] >, OUTPUT.RELS < [ PRED "_ready_a_1_rel" ] > ]. ta+skalpen+på_v := arg12+np+pp_arg12_v_mtr & [ INPUT.RELS < [ PRED "_ta_v_rel" ], [ PRED "def_q_rel" ], [ PRED "_skalp_n_rel" ], [ PRED "_på_p_rel" ] >, OUTPUT.RELS < [ PRED "_conquer_v_1_rel" ] > ]. ;;; ;;; _fix_me_ ;;; i remain somewhat unconvinced of this `idiom' (as does helge, i believe); ;;; but while it is around, take advantage of it. (18-apr-04; oe) ;;; vise+hensyn_sg := monotonic_mtr & [ INPUT [ RELS < [ PRED "_vise*hensyn*til_v_rel", LBL #h0, ARG0 #e1, ARG1 #x2, ARG2 #x3 ], [ ARG0 #x4 & x, RSTR #h5 & h ], [ PRED "_hensyn_n_sel_rel", LBL #h6, ARG0 #x4 ] >, HCONS < qeq & [ HARG #h5, LARG #h6 ] > ], OUTPUT.RELS < [ PRED "_considerate_a_of_rel", LBL #h0, ARG0 #e1, ARG1 #x2, ARG2 #x3 ] >, FLAGS.EQUAL < #x4, #h5 > ]. ;;; ;;; an attempt at being clever: translate a deverbal relational noun into a ;;; verbal gerund; but we allow the `bruk_n' -> `use_n' rule too. ;;; ;;; _fix_me_ ;;; in the 04-apr-04 ERG version, this fails to generate. (12-apr-04; oe) ;;; bruk+av_using := monotonic_omtr & [ CONTEXT.HCONS < qeq & [ HARG #h2, LARG #h3 ] >, INPUT [ RELS < [ PRED "bare_div_q_rel", LBL #h0, ARG0 #x4, RSTR #h2, BODY #h6 ], [ PRED "_bruk_n_rel", LBL #h3, ARG0 #x4, ARG1 #x5 ] > ], OUTPUT [ RELS < [ PRED udef_q_rel, LBL #h0, ARG0 #x4, RSTR #h2, BODY #h6 ], [ PRED nominalization_rel, LBL #h3, ARG0 #x4, ARG1 #h9 ], [ PRED prpstn_m_rel, LBL #h9, ARG0 #e6, MARG #h7 ], [ PRED "_use_v_1_rel", LBL #h8, ARG0 #e6 & e_untensed & [ PROG + ], ARG2 #x5 ] >, HCONS < qeq & [ HARG #h7, LARG #h8 ] > ] ]. ;;; ;;; an experiment with overwriting in an MTR: `fjellet' --> [the] `mountains' ;;; ;;; _fix_me_ ;;; presumably, this should be further constrained: jan tore, for example, ;;; seems to think that there cannot be modifiers on `fjellet' for this ;;; reading. (9-nov-04; oe) ;;; fjellet_n := monotonic_omtr & [ CONTEXT [ RELS < [ PRED "def_q_rel", ARG0 #x1, RSTR #h2 ] >, HCONS < qeq & [ HARG #h2, LARG #h3 ] > ], INPUT.RELS < [ PRED "_fjell_n_rel", LBL #h3, ARG0 #x1 & [ NUM sg ] ] >, OUTPUT.RELS < [ PRED "_mountain_n_1_rel", LBL #h3, ARG0 #x1 & [ NUM pl ] ] > ]. ;;; ;;; the following is a case where we would like to generalize over a set of ;;; cognate direct objects to `gå'. i think this could be a nice example of ;;; constructing a transfer-only hierarchy of predicates, possibly broken down ;;; by colour (aka language). ;;; gå+tur_take_v := arg12_v_omtr & [ CONTEXT.RELS < [ PRED "_tur_n_rel", ARG0 #x1 & x ] >, INPUT.RELS < [ PRED "_gå_v_rel", ARG2 #x1 ] >, OUTPUT.RELS < [ PRED "_take_v_1_rel" ] >, FLAGS.EQUAL < #x1 > ]. gå+rundtur_take_v := arg12_v_omtr & [ CONTEXT.RELS < [ PRED "_rundtur_n_rel", ARG0 #x1 ] >, INPUT.RELS < [ PRED "_gå_v_rel", ARG2 #x1 ] >, OUTPUT.RELS < [ PRED "_take_v_1_rel" ] > ]. gå+av+veien_v := monotonic_mtr & [ INPUT.RELS < [ LBL #h0, PRED "_gå_v_rel", ARG0 #e1, ARG1 #x2 ], [ LBL #h0, PRED "_av+veien_a_rel", ARG1 #e1 ], [ LBL #h0, PRED "_for_p_rel", ARG1 #e1, ARG2 #x3 ] >, OUTPUT.RELS < [ LBL #h0, PRED "_avoid_v_1_rel", ARG0 #e1, ARG1 #x2, ARG2 #x3 ] > ]. ;; no time to debug 28-may-06; jtl) ;;gå+av+sted_v := arg1+pp_arg1_omtr & ;;[ INPUT.RELS < [ PRED "_gå_v_rel" ], ;; [ PRED av+sted_a_rel ]>, ;; OUTPUT.RELS < [ PRED "_go_v_away_rel" ] > ]. ;;; ;;; _fix_me_ ;;; and here is another such example, this time for `lage'. (9-jul04; oe) ;;; lage+rett_prepare_v := arg12_v_omtr & [ CONTEXT.RELS < [ PRED "_rett_n_2_rel", ARG0 #x1 ] >, INPUT.RELS < [ PRED "_lage_v_rel", ARG2 #x1 ] >, OUTPUT.RELS < [ PRED "_prepare_v_1_rel" ] > ]. lage+mat_prepare_v := arg12_v_omtr & [ CONTEXT.RELS < [ PRED "_mat_n_rel", ARG0 #x1 ] >, INPUT.RELS < [ PRED "_lage_v_rel", ARG2 #x1 ] >, OUTPUT.RELS < [ PRED "_prepare_v_1_rel" ] > ]. runde*år_turn_v := arg12_v_omtr & [ CONTEXT.RELS < [ PRED "_år_n_rel", ARG0 #x0 ] >, INPUT.RELS < [ PRED "_runde_v_rel" ] >, OUTPUT.RELS < [ PRED "_turn_v_1_rel" ] > ]. ;;; ;;; a test case of relatively complex input matching plus overwriting ;;; skog+og+mark := monotonic_omtr & [ CONTEXT.HCONS < qeq & [ HARG #h2, LARG #h3 ] >, INPUT [ RELS < [ PRED "udef_q_rel", LBL #h0, ARG0 #x1, RSTR #h2, BODY #h10 ], [ PRED "and_rel", LBL #h3, ARG0 #x1, L-INDEX #x4, R-INDEX #x5 ], [ PRED "bare_sg_q_rel", ARG0 #x4, RSTR #h6 ], [ PRED "_skog_n_rel", LBL #h7, ARG0 #x4 ], [ PRED "bare_sg_q_rel", ARG0 #x5, RSTR #h8 ], [ PRED "_mark_n_rel", LBL #h9, ARG0 #x5 ] >, HCONS < qeq & [ HARG #h6, LARG #h7 ], qeq & [ HARG #h8, LARG #h9 ] > ], OUTPUT [ RELS < [ PRED _the_q_rel, LBL #h0, ARG0 #x1, RSTR #h2, BODY #h10 ], [ PRED "_back+country_n_1_rel", LBL #h3, ARG0 #x1 & [ PERS 3, NUM sg, GRIND - ] ] > ] ]. ;;; ;;; _fix_me_ ;;; stative predicates like, for example, `_se-på_v' seem to want to translate ;;; as a predicative, assuming there is an adverb that turns into a relational ;;; adjective. yet, there should be ways of doing this more generically ... ;;; (24-jul-04; oe) ;;; --- there is actually an interesting problem here: since both events could ;;; have modifiers (and we are effectively loosing the adverbial event), record ;;; the fact that two events were equated for later fix-up in the `snug' phase. ;;; se*på+alvorlig_concerned_j := monotonic_mtr & [ INPUT.RELS < [ PRED "_se*på_v_rel", LBL #h0, ARG0 #e1, ARG1 #x2, ARG2 #x3 ], [ PRED "_alvorlig_a_rel", LBL #h0, ARG0 #e4, ARG1 #e1 ] >, OUTPUT.RELS < [ PRED "_concerned_a_about_rel", LBL #h0, ARG0 #e1 & [ STATIVE + ], ARG1 #x2, ARG2 #x3 ], [ PRED equate, ARG0 #e1, ARG1 #e4 ] > ]. ;;; ;;; NorGram analyzes non-agreeing predicatives (e.g. `Bil er dyrt.', `Vafler er ;;; godt.', et al.) by means of an intervening entity: `a situation involving a ;;; car'. because we end up replacing one index with another (the downstairs ;;; index of the actual noun), we need to call on the final `snug' machinery in ;;; case there were intersective modifiers on the car. forcing plural is what ;;; came out of a series of discussions among developers, `far from perfect' ;;; according to helge :-). (22-dec-06; oe) ;;; sit-involving := monotonic_mtr & [ CONTEXT [ RELS < [ PRED "udef_q_rel", LBL #h7, ARG0 #x0, RSTR #h0, BODY #h6 ] >, HCONS < qeq & [ HARG #h0, LARG #h1 ] > ], INPUT [ RELS < [ PRED "nominalize_rel", LBL #h1, ARG0 #x0 & x, ARG1 #h2 ], [ PRED "sit-involving_rel", LBL #h2, ARG1 #x1 ], [ PRED #pred, LBL #h3, ARG0 #x1 & x ], [ ARG0 #x1, RSTR #h5 & h ] >, HCONS < qeq & [ HARG #h5, LARG #h3 ] > ], OUTPUT.RELS < [ PRED #pred, LBL #h1, ARG0 #x0 & [ NUM pl ] ], [ PRED intersective_equate, ARG0 #x0, ARG1 #x1 ], [ PRED intersective_equate, ARG0 #h1, ARG1 #h3 ] >, FLAGS.EQUAL < #x0, #x1, #h5 > ]. ;;; ;;; experimenting with context restriction. (23-nov-05; jtl) ;;; preparere_groom_v := arg12_v_omtr & [ CONTEXT.RELS < [ PRED "_spor_n_rel", ARG0 #x1 ] >, INPUT.RELS < [ PRED "_preparere_v_rel", ARG2 #x1] >, OUTPUT.RELS < [ PRED "_groom_v_1_rel" ] > ]. ;;; ;;; we leave `tilbake', which is type shifting to the prepositions phase. ;;; (14-dec-06; jtl) frem+og+tilbake_p := monotonic_mtr & [ INPUT.RELS < [ PRED "_frem+og+tilbake_p_rel", LBL #h0, ARG1 #e2, ARG2 #x3 ] >, OUTPUT.RELS < [ PRED _and_c_rel, LBL #h0, L-HNDL #h5, L-INDEX #e6, R-HNDL #h7, R-INDEX #e8 ], [ PRED "_tilbake_p_rel", LBL #h5, ARG0 #e6, ARG1 #e2, ARG2 #x3 ], [ PRED _forth_p_dir_rel, LBL #h7, ARG0 #e8, ARG1 #e2, ARG2 #x3 ] > ]. ;;; ;;; _fix_me_ ;;; we need to decide how to organize this file; things are getting confusing. ;;; (28-feb-06; oe) helt+fra_p := monotonic_mtr & [ INPUT.RELS < [ PRED "_helt_x_deg_rel", LBL #h0, ARG1 #e1 ], [ PRED "_fra_p_rel", LBL #h0, ARG0 #e1, ARG1 #u2, ARG2 #u3 ] >, OUTPUT.RELS < [ PRED _ever+since_p_rel, LBL #h0, ARG0 #e1, ARG1 #u2, ARG2 #u3 ] > ]. helt+siden_p := monotonic_mtr & [ INPUT.RELS < [ PRED "_helt_x_deg_rel", LBL #h0, ARG1 #e1 ], [ PRED "_siden_p_rel", LBL #h0, ARG0 #e1, ARG1 #u2, ARG2 #u3 ] >, OUTPUT.RELS < [ PRED _ever+since_p_rel, LBL #h0, ARG0 #e1, ARG1 #u2, ARG2 #u3 ] > ]. midt+i_p := monotonic_omtr & [ INPUT.RELS < [ PRED "_midt_x_deg_rel", LBL #h0, ARG1 #e1 ], [ PRED "_i_p_rel", LBL #h0, ARG0 #e1, ARG1 #u2, ARG2 #u3 ] >, OUTPUT [ RELS < [ PRED _in_p_rel, LBL #h0, ARG0 #e1, ARG1 #u2, ARG2 #x4 ], [ PRED "_middle_n_of_rel", LBL #h5, ARG0 #x4 & [ GRIND - ], ARG1 #u3 ], [ PRED _the_q_rel, ARG0 #x4, RSTR #h6 ] >, HCONS < qeq & [ HARG #h6, LARG #h5 ] > ] ]. noen+gang_a := monotonic_mtr & [ INPUT [ RELS < [ PRED "unspec_loc_rel", LBL #h0, ARG0 #e1, ARG1 #e2 & e, ARG2 #x3 & x ], [ PRED "noen_q_rel", ARG0 #x3, RSTR #h4 ], [ PRED "_gang_n_rel", LBL #h5, ARG0 #x3 ] >, HCONS < qeq & [ HARG #h4, LARG #h5 ] > ], OUTPUT.RELS < [ PRED _ever_a_1_rel, LBL #h0, ARG0 #e1, ARG1 #e2 ] >, FLAGS.EQUAL < #e2, #x3 > ]. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; ;;; decomposed lexical adverbials, e.g. `back' as ``{at | to} some definite ;;; place which is back''. for the time being, NorGram has decomposed some but ;;; analyzes others as a single adverbial EP. ;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; ERG-analysis of away has changed. see now abcd.mtr ;;; (19-dec-06; jtl) #| av+sted_away := adverb_lexical_pp_place_mtr & [ INPUT.RELS < [ PRED "_av+sted_a_rel" ] >, OUTPUT.RELS < [ PRED _away_p_rel ], ... > ]. borte_away := adverb_lexical_pp_place_mtr & [ INPUT.RELS < [ PRED "_borte_a_rel" ] >, OUTPUT.RELS < [ PRED _away_p_rel ], ... > ]. |# ;;; Added the current one as "_borte_a_rel" no longer in norgram.smi ;;; and the treatment of _away_p_rel has changed. ;;; I have made it optional since we might still need the other ;;; rule in abcd.mtr ;;; (19-dec-06; jtl) borte_a := lexical_pp_place_adverb_omtr & [ INPUT.RELS < [ PRED "_borte_rel" ], ... >, OUTPUT.RELS < [ PRED _away_p_rel ] > ]. den+dag+i+dag_today := lexical_pp_time_mtr & [ INPUT.RELS < [ PRED "_den+dag+i+dag_rel" ], ...>, OUTPUT.RELS < [ PRED _today_a_1_rel ], ... > ]. den+gang_today := lexical_pp_time_mtr & [ INPUT.RELS < [ PRED "_den+gang_rel" ], ...>, OUTPUT.RELS < [ PRED _then_p_temp_rel ], ... > ]. ;;; ;;; _fix_me_ ;;; quite some edit distance here; is it motivated? (17-apr-04; oe) ;;; ;;; --- come to think of it, the `[...] der Kvarvenveier slutter' analysis is ;;; presumably not the one we want, hence the `der_where' may be unmotivated. ;;; (21-jul-04; oe) ;;; --- if nothing else, we need the CONTEXT condition to avoid matching on the ;;; (now decomposed) lexical PP `der' as in `Han sover der.' (10-jun-06; oe) ;;; der_where := monotonic_mtr & [ CONTEXT.RELS < [ PRED "prpstn_m_rel", LBL #h5 ] >, INPUT.RELS < [ PRED "def_q_rel", LBL #h1, ARG0 #x2, RSTR #h3, BODY #h4 ], [ PRED "sted_rel", LBL #h5, ARG0 #x2 ], [ PRED "_der_rel", LBL #h5, ARG1 #x2 ] >, OUTPUT.RELS < [ PRED free_relative_q_rel, LBL #h1, ARG0 #x2, RSTR #h3, BODY #h4 ], [ PRED place_n_rel, LBL #h5, ARG0 #x2 & [ PERS 3, NUM sg, GRIND - ] ] > ]. der_there_r := lexical_pp_place_mtr & [ INPUT.RELS < [ PRED "_der_rel" ], ... >, OUTPUT.RELS < [ PRED _there_a_1_rel ], ... > ]. der+borte_over+there_r := lexical_pp_place_proper_pp_place_mtr & [ INPUT.RELS < [ PRED "_der+borte_rel" ], ... >, OUTPUT.RELS < [ PRED _over_p_rel ], [ PRED _there_a_1_rel ], ... > ]. der+inne_there_r := lexical_pp_place_omtr & [ INPUT.RELS < [ PRED "_der+inne_rel" ], ... >, OUTPUT.RELS < [ PRED _there_a_1_rel ], ... > ]. der+inne_in+there_r := lexical_pp_place_proper_pp_place_mtr & [ INPUT.RELS < [ PRED "_der+inne_rel" ], ... >, OUTPUT.RELS < [ PRED _in_p_rel ], [ PRED _there_a_1_rel ], ... > ]. der+nede_down+there_r := lexical_pp_place_proper_pp_place_mtr & [ INPUT.RELS < [ PRED "_der+nede_rel" ], ... >, OUTPUT.RELS < [ PRED _down_p_rel ], [ PRED _there_a_1_rel ], ... > ]. der+oppe_up+there_r := lexical_pp_place_proper_pp_place_mtr & [ INPUT.RELS < [ PRED "_der+oppe_rel" ], ... >, OUTPUT.RELS < [ PRED _up_p_rel ], [ PRED _there_a_1_rel ], ... > ]. der+ute_out+there_r := lexical_pp_place_proper_pp_place_mtr & [ INPUT.RELS < [ PRED "_der+ute_rel" ], ... >, OUTPUT.RELS < [ PRED _out_p_rel ], [ PRED _there_a_1_rel ], ... > ]. her_here := lexical_pp_place_mtr & [ INPUT.RELS < [ PRED "_her_rel" ], ... >, OUTPUT.RELS < [ PRED _here_a_1_rel ], ... > ]. her+inne_here_r := lexical_pp_place_omtr & [ INPUT.RELS < [ PRED "_her+inne_rel" ], ... >, OUTPUT.RELS < [ PRED _here_a_1_rel ], ... > ]. her+inne_in+here_r := lexical_pp_place_proper_pp_place_mtr & [ INPUT.RELS < [ PRED "_her+inne_rel" ], ... >, OUTPUT.RELS < [ PRED _in_p_rel ], [ PRED _here_a_1_rel ], ... > ]. her+nede_down+here_r := lexical_pp_place_proper_pp_place_mtr & [ INPUT.RELS < [ PRED "_her+nede_rel" ], ... >, OUTPUT.RELS < [ PRED _down_p_rel ], [ PRED _here_a_1_rel ], ... > ]. her+oppe_up+here_r := lexical_pp_place_proper_pp_place_mtr & [ INPUT.RELS < [ PRED "_her+oppe_rel" ], ... >, OUTPUT.RELS < [ PRED _up_p_rel ], [ PRED _here_a_1_rel ], ... > ]. her+ute_out+here_r := lexical_pp_place_proper_pp_place_mtr & [ INPUT.RELS < [ PRED "_her+ute_rel" ], ... >, OUTPUT.RELS < [ PRED _out_p_rel ], [ PRED _here_a_1_rel ], ... > ]. inne_inside := lexical_pp_place_mtr & [ INPUT.RELS < [ PRED "_inne_rel" ], ... >, OUTPUT.RELS < [ PRED _inside_p_rel ], ... > ]. innover_inwards := adverb_lexical_pp_place_mtr & [ INPUT.RELS < [ PRED "_innover_p_rel", ARG2 a ] >, OUTPUT.RELS < [ PRED _inward_a_1_rel ], ... > ]. i+dag_today := lexical_pp_time_mtr & [ INPUT.RELS < [ PRED "_i+dag_rel" ], ... >, OUTPUT.RELS < [ PRED _today_a_1_rel ], ... > ]. i+går_yesterday := lexical_pp_time_mtr & [ INPUT.RELS < [ PRED "_i+går_rel" ], ...>, OUTPUT.RELS < [ PRED _yesterday_a_1_rel ], ... > ]. #| ;;; not im semi anymore, (19-dec-06; jtl) i+morgen_tomorrow := adverb_lexical_pp_time_mtr & [ INPUT.RELS < [ PRED "_i+morgen_a_rel" ] >, OUTPUT.RELS < [ PRED _tomorrow_a_1_rel ], ... > ]. |# like+ved := lexical_pp_place_adverb_mtr & [ INPUT.RELS < [ PRED "_like+ved_rel" ], ... >, OUTPUT.RELS < [ PRED _close+by_p_rel ] > ]. omkring := lexical_pp_place_adverb_mtr & [ INPUT.RELS < [ PRED "_omkring_rel" ], ... >, OUTPUT.RELS < [ PRED _around_p_rel ] > ]. midtveis := lexical_pp_place_adverb_mtr & [ INPUT.RELS < [ PRED "_midtveis_rel" ], ... >, OUTPUT.RELS < [ PRED "_midway_a_1_rel" ] > ]. nå_now := lexical_pp_time_mtr & [ INPUT.RELS < [ PRED "_nå_rel" ], ...>, OUTPUT.RELS < [ PRED _now_a_1_rel ], ... > ]. nede_down := lexical_pp_place_adverb_mtr & [ INPUT.RELS < [ PRED "_nede_rel" ], ... >, OUTPUT.RELS < [ PRED _down_p_rel ] > ]. #| nede_downstairs := lexical_pp_place_adverb_mtr & [ INPUT.RELS < [ PRED "_nede_rel" ], ... >, OUTPUT.RELS < [ PRED _downstairs_p_rel ] > ]. |# oppe_up := lexical_pp_place_adverb_omtr & [ INPUT.RELS < [ PRED "_oppe_rel" ], ... >, OUTPUT.RELS < [ PRED _up_p_rel ] > ]. oppe_upstairs := lexical_pp_place_adverb_mtr & [ INPUT.RELS < [ PRED "_oppe_rel" ], ... >, OUTPUT.RELS < [ PRED _upstairs_p_rel ] > ]. oppover_upwards := adverb_lexical_pp_place_mtr & [ INPUT.RELS < [ PRED "_oppover_p_rel", ARG2 a ] >, OUTPUT.RELS < [ PRED _upward_a_1_rel ], ... > ]. overalt_everywhere := monotonic_mtr & [ INPUT.RELS < [ PRED "def_q_rel", LBL #h1, ARG0 #x2, RSTR #h3, BODY #h4 ], [ PRED "sted_rel", LBL #h5, ARG0 #x2 ], [ PRED "_overalt_rel", LBL #h5, ARG1 #x2 ] >, OUTPUT.RELS < [ PRED every_q_rel, LBL #h1, ARG0 #x2, RSTR #h3, BODY #h4 ], [ PRED place_n_rel, LBL #h5, ARG0 #x2 & [ PERS 3, NUM sg, GRIND - ] ] > ]. rundt := lexical_pp_place_adverb_mtr & [ INPUT.RELS < [ PRED "_rundt_rel" ], ... >, OUTPUT.RELS < [ PRED _around_p_rel ] > ]. snar_soon_time := lexical_pp_time_mtr & [ INPUT.RELS < [ PRED "_snar_rel" ], ... >, OUTPUT.RELS < [ PRED _soon_p_rel ], ... > ]. ;;; ;;; _fix_me_ ;;; in the (21-dec-03 version of the) `hike' treebank, dan appears to have used ;;; both `_back_p_rel' and the decomposed version; why? (24-jan-04; oe) ;;; ;;; --- the plain `_back_p_rel' fails to generate as an event modifer. ;;; #| tilbake_back_r := preposition_omtr & [ INPUT.RELS < [ PRED "_tilbake_a_rel", LBL #h1, ARG1 #i2 ] >, OUTPUT.RELS < [ PRED _back_p_rel, ARG0 e_untensed ] > ]. |# tilbake_back_r := adverb_lexical_pp_place_mtr & [ INPUT.RELS < [ PRED "_tilbake_a_rel", LBL #h1, ARG1 #i2 ] >, OUTPUT.RELS < [ PRED _back_p_rel ], ... > ]. til+bords := lexical_pp_place_proper_pp_omtr & [ INPUT.RELS < [ PRED "_til+bords_rel" ], ... >, OUTPUT.RELS < [ PRED _to_p_rel ], [ PRED "_table_n_1_rel" ], ... > ]. til+bords := lexical_pp_place_proper_pp_mtr & [ INPUT.RELS < [ PRED "_til+bords_rel" ], ... >, OUTPUT.RELS < [ PRED _at_p_rel ], [ PRED "_table_n_1_rel" ], ... > ]. til+bunns := lexical_pp_place_proper_pp_mtr & [ INPUT.RELS < [ PRED "_til+bunns_rel" ], ... >, OUTPUT.RELS < [ PRED _to_p_rel ], [ PRED "_bottom_n_1_rel" ], ... > ]. til+fjells_to+the+mountains := lexical_pp_place_proper_pp_omtr & [ INPUT.RELS < [ PRED "_til+fjells_rel" ], ... >, OUTPUT.RELS < [ PRED _to_p_rel ], [ PRED "_mountain_n_1_rel", LBL #h3, ARG0 [ NUM pl ] ], ... > ]. til+fjells_in+the+mountains := lexical_pp_place_proper_pp_mtr & [ INPUT.RELS < [ PRED "_til+fjells_rel" ], ... >, OUTPUT.RELS < [ PRED _in_p_rel ], [ PRED "_mountain_n_1_rel", LBL #h3, ARG0 [ NUM pl ] ], ... > ]. til+gårds_to+the+farm := lexical_pp_place_proper_pp_omtr & [ INPUT.RELS < [ PRED "_til+gårds_rel" ], ... >, OUTPUT.RELS < [ PRED _to_p_rel ], [ PRED "_farm_n_1_rel", LBL #h3, ARG0 [ NUM pl ] ], ... > ]. til+gårds_to+the+farms := lexical_pp_place_proper_pp_mtr & [ INPUT.RELS < [ PRED "_til+gårds_rel" ], ... >, OUTPUT.RELS < [ PRED _to_p_rel ], [ PRED "_farm_n_1_rel", LBL #h3, ARG0 [ NUM pl ] ], ... > ]. til+høyre_to+the+right := lexical_pp_place_proper_pp_omtr & [ INPUT.RELS < [ PRED "_til+høyre_rel" ], ... >, OUTPUT.RELS < [ PRED _to_p_rel ], [ PRED "_right_n_1_rel" ], ... > ]. til+høyre := monotonic_mtr & [ INPUT.RELS < [ PRED "unspec_loc_rel", LBL #h0, ARG0 #e0, ARG1 #e1, ARG2 #x0 ], [ PRED "_til+høyre_rel", LBL #h1, ARG1 #x0 ], [ PRED "sted_rel", LBL #h1, ARG0 #x0 ] >, OUTPUT.RELS < [ PRED _on_p_rel, LBL #h0, ARG0 #e0, ARG1 #e1, ARG2 #x0 ], [ PRED "_right_n_1_rel", LBL #h1, ARG0 #x0 ] > ]. til+venstre_on+the+left := lexical_pp_place_proper_pp_omtr & [ INPUT.RELS < [ PRED "_til+venstre_rel" ], ... >, OUTPUT.RELS < [ PRED _on_p_rel ], [ PRED "_left_n_1_rel" ], ... > ]. til+venstre_to+the+left := monotonic_mtr & [ INPUT.RELS < [ PRED "_til+venstre_rel", LBL #h1, ARG1 #x0 ], [ PRED "unspec_loc_rel", LBL #h0, ARG0 #e0, ARG1 #e1, ARG2 #x0 ], [ PRED "sted_rel", LBL #h1, ARG0 #x0 ] >, OUTPUT.RELS < [ PRED _to_p_rel, LBL #h0, ARG0 #e0, ARG1 #e1, ARG2 #x0 ], [ PRED "_left_n_1_rel", LBL #h1, ARG0 #x0 ] > ]. ;;; This should be restrcted to "her til lands"", but currently ;;; that construction does not parse. (07-oct-06; jtl) til+lands_in+this+country := monotonic_omtr & [ INPUT.RELS < [ PRED "unspec_loc_rel", LBL #h0, ARG0 #e0, ARG1 #e1, ARG2 #x0 ], [ PRED "_til+lands_rel", LBL #h1, ARG1 #x0 ], [ PRED "sted_rel", LBL #h1, ARG0 #x0 ], [ PRED "def_q_rel", LBL #h2, ARG0 #x0, RSTR #h3, BODY #h4 ] >, OUTPUT.RELS < [ PRED _in_p_rel, LBL #h0, ARG0 #e0, ARG1 #e1, ARG2 #x0 ], [ PRED "_country_n_of_rel", LBL #h1, ARG0 #x0 ], [ PRED _this_q_dem_rel, LBL #h2, ARG0 #x0, RSTR #h3, BODY #h4 ] > ]. ;;; In other contexts 'til lands' as contrasting 'til vanns'. ;;; (07-oct-06; jtl) til+lands_at+dry+land := monotonic_mtr & [ INPUT.RELS < [ PRED "unspec_loc_rel", LBL #h0, ARG0 #e0, ARG1 #e1, ARG2 #x0 ], [ PRED "_til+lands_rel", LBL #h1, ARG1 #x0 ], [ PRED "sted_rel", LBL #h1, ARG0 #x0 ], [ PRED "def_q_rel", LBL #h2, ARG0 #x0, RSTR #h3, BODY #h4 ] >, OUTPUT.RELS < [ PRED _at_p_rel, LBL #h0, ARG0 #e0, ARG1 #e1, ARG2 #x0 ], [ PRED "_dry_a_1_rel", LBL #h1, ARG1 #x0 ], [ PRED "_land_n_of_rel", LBL #h1, ARG0 #x0 ], [ PRED udef_q_rel, LBL #h2, ARG0 #x0, RSTR #h3, BODY #h4 ] > ]. til+vanns_at+the+open+sea := monotonic_mtr & [ INPUT.RELS < [ PRED "unspec_loc_rel", LBL #h0, ARG0 #e0, ARG1 #e1, ARG2 #x0 ], [ PRED "_til+lands_rel", LBL #h1, ARG1 #x0 ], [ PRED "sted_rel", LBL #h1, ARG0 #x0 ], [ PRED "def_q_rel", LBL #h2, ARG0 #x0, RSTR #h3, BODY #h4 ] >, OUTPUT.RELS < [ PRED _at_p_rel, LBL #h0, ARG0 #e0, ARG1 #e1, ARG2 #x0 ], [ PRED "_open_a_1_rel", LBL #h1, ARG1 #x0 ], [ PRED "_sea_n_of_rel", LBL #h1, ARG0 #x0 ], [ PRED def_q_rel, LBL #h2, ARG0 #x0, RSTR #h3, BODY #h4 ] > ]. til+sjøs_at+the+open+sea := monotonic_mtr & [ INPUT.RELS < [ PRED "unspec_loc_rel", LBL #h0, ARG0 #e0, ARG1 #e1, ARG2 #x0 ], [ PRED "_til+sjøs_rel", LBL #h1, ARG1 #x0 ], [ PRED "sted_rel", LBL #h1, ARG0 #x0 ], [ PRED "def_q_rel", LBL #h2, ARG0 #x0, RSTR #h3, BODY #h4 ] >, OUTPUT.RELS < [ PRED _at_p_rel, LBL #h0, ARG0 #e0, ARG1 #e1, ARG2 #x0 ], [ PRED "_open_a_1_rel", LBL #h1, ARG1 #x0 ], [ PRED "_sea_n_of_rel", LBL #h1, ARG0 #x0 ], [ PRED def_q_rel, LBL #h2, ARG0 #x0, RSTR #h3, BODY #h4 ] > ]. til+topps := monotonic_mtr & [ INPUT.RELS < [ PRED "unspec_loc_rel", LBL #h0, ARG0 #e0, ARG1 #e1, ARG2 #x0 ], [ PRED "_til+topps_rel", LBL #h1, ARG1 #x0 ], [ PRED "sted_rel", LBL #h1, ARG0 #x0 ], [ PRED "def_q_rel", LBL #h2, ARG0 #x0, RSTR #h3, BODY #h4 ] >, OUTPUT.RELS < [ PRED _to_p_rel, LBL #h0, ARG0 #e0, ARG1 #e1, ARG2 #x0 ], [ PRED "_top_n_1_rel", LBL #h1, ARG0 #x0 ], [ PRED _the_q_rel, LBL #h2, ARG0 #x0, RSTR #h3, BODY #h4 ] > ]. til+værs := lexical_pp_place_proper_pp_mtr & [ INPUT.RELS < [ PRED "_til+værs_rel" ], ... >, OUTPUT.RELS < [ PRED _in_p_rel ], [ PRED "_air_n_1_rel" ], ... > ]. ute_outside := lexical_pp_place_mtr & [ INPUT.RELS < [ PRED "_ute_rel" ], ... >, OUTPUT.RELS < [ PRED _outside_p_rel ], ... > ]. sommerstid := monotonic_mtr & [ INPUT.RELS < [ LBL #h5, ARG1 #x2, PRED "_sommerstid_rel"], [ PRED "tid_rel", LBL #h5, ARG0 #x2 ], [ PRED "unspec_loc_rel", LBL #h6, ARG0 #e7, ARG1 #e8, ARG2 #x2 ], [ PRED "def_q_rel", LBL #h1, ARG0 #x2, RSTR #h3, BODY #h4 ] >, OUTPUT.RELS < [ LBL #h6, ARG0 #e7, ARG1 #e8, ARG2 #x2, PRED _in_p_temp_rel ], [ LBL #h5, ARG0 #x2, CARG "summer", PRED season_rel ], [ PRED def_q_rel, LBL #h1, ARG0 #x2, RSTR #h3, BODY #h4 ] > ]. vinterstid := monotonic_mtr & [ INPUT.RELS < [ LBL #h5, ARG1 #x2, PRED "_vinterstid_rel"], [ PRED "tid_rel", LBL #h5, ARG0 #x2 ], [ PRED "unspec_loc_rel", LBL #h6, ARG0 #e7, ARG1 #e8, ARG2 #x2 ], [ PRED "def_q_rel", LBL #h1, ARG0 #x2, RSTR #h3, BODY #h4 ] >, OUTPUT.RELS < [ LBL #h6, ARG0 #e7, ARG1 #e8, ARG2 #x2, PRED _in_p_temp_rel ], [ LBL #h5, ARG0 #x2, CARG "winter", PRED season_rel ], [ PRED def_q_rel, LBL #h1, ARG0 #x2, RSTR #h3, BODY #h4 ] > ]. ;;; ;;; i added a few more variables to FLAGS.EQUAL, and now these rules appear to ;;; work as they should; so i eliminated the old variants. (9-oct-06; oe) ;;; prep+medio_p := monotonic_mtr & [ CONTEXT [ RELS < [ RSTR #h5 & h, ARG0 #x4 & x ] >, HCONS < qeq & [ HARG #h5, LARG #h6 ] > ], INPUT.RELS < [ PRED #p9, LBL #h1, ARG0 e & #e1, ARG1 #u2, ARG2 e & #e3 ], [ PRED "_medio_p_rel", LBL #h1, ARG0 #e3, ARG2 #x4 ] >, OUTPUT.RELS < [ PRED #p9, LBL #h1, ARG0 #e1, ARG1 #u2, ARG2 #x4 ], [ PRED "_mid_a_1_rel", LBL #h6, ARG1 #x4 ] >, FLAGS.EQUAL < #e3, #x4, #h5 > ]. prep+primo_p := monotonic_mtr & [ CONTEXT [ RELS < [ RSTR #h5 & h, ARG0 #x4 & x ] >, HCONS < qeq & [ HARG #h5, LARG #h6 ] > ], INPUT.RELS < [ PRED #p9, LBL #h1, ARG0 e & #e1, ARG1 #u2, ARG2 e & #e3 ], [ PRED "_primo_p_rel", LBL #h1, ARG0 #e3, ARG2 #x4 ] >, OUTPUT.RELS < [ PRED #p9, LBL #h1, ARG0 #e1, ARG1 #u2, ARG2 #x4 ], [ PRED "_early_a_1_rel", LBL #h6, ARG1 #x4 ] >, FLAGS.EQUAL < #e3, #x4, #h5 > ]. prep+ultimo_p := monotonic_mtr & [ CONTEXT [ RELS < [ RSTR #h5 & h, ARG0 #x4 & x ] >, HCONS < qeq & [ HARG #h5, LARG #h6 ] > ], INPUT.RELS < [ PRED #p9, LBL #h1, ARG0 e & #e1, ARG1 #u2, ARG2 e & #e3 ], [ PRED "_ultimo_p_rel", LBL #h1, ARG0 #e3, ARG2 #x4 ] >, OUTPUT.RELS < [ PRED #p9, LBL #h1, ARG0 #e1, ARG1 #u2, ARG2 #x4 ], [ PRED "_late_a_for_rel", LBL #h6, ARG1 #x4 ] >, FLAGS.EQUAL < #e3, #x4, #h5 > ]. flere_several := monotonic_mtr & optional_mtr & [ INPUT.RELS < [ LBL #h1, PRED "_mange_a_rel", ARG0 #e2, ARG1 #x3 ], [ LBL #h1, PRED "comp_pos_rel", ARG1 #e2 ] >, OUTPUT.RELS < [ LBL #h1, PRED "_several_a_1_rel", ARG0 #e2, ARG1 #x3 ] > ]. desto_all+the+more_x := monotonic_mtr & [ INPUT.RELS < [ LBL #h1, PRED "_desto_x_deg_rel", ARG1 #e2 ], [ LBL #h1, PRED "comp_pos_rel", ARG0 #e2, ARG1 #e1 ] >, OUTPUT.RELS < [ LBL #h1, PRED "_all+the+more_x_rel", ARG1 #e1 ] > ]. ;;;;;;;;;;;;;;;; ta_sykkelen_fatt := monotonic_omtr & [ INPUT [ RELS < [ PRED "_ta*fatt_v_rel", LBL #h0, ARG0 #e1, ARG1 #x2, ARG2 #x3 & x ], [ PRED "def_q_rel", ARG0 #x3, RSTR #h4 ], [ PRED "_sykkel_n_rel", LBL #h5, ARG0 #x3 ] >, HCONS < qeq & [ HARG #h4, LARG #h5 ] > ], OUTPUT [ RELS < [ PRED "_start_v_1_rel", LBL #h0, ARG0 #e1, ARG1 #h6 ], [ LBL #h7, PRED "_bike_v_1_rel", ARG1 #x2 ] >, HCONS < qeq & [ HARG #h6, LARG #h7 ] > ], FLAGS.EQUAL < #x3 > ]. ta+beina+fatt_n := ta_X_fatt_omtr & [ INPUT.RELS < [ PRED "_ben_n_rel" ], ... >, OUTPUT.RELS < [ PRED "_walk_v_1_rel" ], ... > ]. ta+bilen+fatt_n := ta_X_fatt_omtr & [ INPUT.RELS < [ PRED "_bil_n_rel" ], ... >, OUTPUT.RELS < [ PRED "_drive_v_1_rel" ], ... > ]. neste_ := adj+n_n_mtr & [ INPUT.RELS < [ PRED "_neste_a_rel" ], [ PRED "generic-nom_rel" ] >, OUTPUT.RELS < [ PRED "_next_n_1_rel" ] > ]. nordvendt_a := monotonic_mtr & [ INPUT.RELS < [ PRED "_nordvendt_a_rel", LBL #h1, ARG0 #e1, ARG1 #e2 ] >, OUTPUT [ RELS < [ PRED _north_a_1_rel, LBL #h5, ARG0 e_untensed, ARG1 #x3, ARG2 u ], [ PRED place_n_rel, LBL #h5, ARG0 #x3 & [ GRIND - ] ], [ PRED _facing_p_rel, LBL #h1, ARG0 #e1, ARG1 #e2, ARG2 #x3 ], [ PRED implicit_q_rel, ARG0 #x3, RSTR #h4 ] >, HCONS < qeq & [ HARG #h4, LARG #h5 ] > ] ]. sørvendt_a := monotonic_mtr & [ INPUT.RELS < [ PRED "_sørvendt_a_rel", LBL #h1, ARG0 #e1, ARG1 #e2 ] >, OUTPUT [ RELS < [ PRED _south_a_1_rel, LBL #h5, ARG0 e_untensed, ARG1 #x3, ARG2 u ], [ PRED place_n_rel, LBL #h5, ARG0 #x3 & [ GRIND - ] ], [ PRED _facing_p_rel, LBL #h1, ARG0 #e1, ARG1 #e2, ARG2 #x3 ], [ PRED implicit_q_rel, ARG0 #x3, RSTR #h4 ] >, HCONS < qeq & [ HARG #h4, LARG #h5 ] > ] ]. tobent_a := adj+n_n_mtr & [ INPUT.RELS < [ PRED "_tobent_a_rel" ], [ PRED "generic_nonpro_rel" ] >, OUTPUT.RELS < [ PRED "_biped_n_1_rel" ] > ]. tobent_a := adj+n_n+n_mtr & [ INPUT.RELS < [ PRED "_tobent_a_rel" ], [ PRED #p ], ... >, OUTPUT.RELS < [ PRED "_biped_n_1_rel" ], [ PRED #p ], ... > ]. vestvendt_a := monotonic_mtr & [ INPUT.RELS < [ PRED "_vestvendt_a_rel", LBL #h1, ARG0 #e1, ARG1 #e2 ] >, OUTPUT [ RELS < [ PRED _west_a_1_rel, LBL #h5, ARG0 e_untensed, ARG1 #x3, ARG2 u ], [ PRED place_n_rel, LBL #h5, ARG0 #x3 & [ GRIND - ] ], [ PRED _facing_p_rel, LBL #h1, ARG0 #e1, ARG1 #e2, ARG2 #x3 ], [ PRED implicit_q_rel, ARG0 #x3, RSTR #h4 ] >, HCONS < qeq & [ HARG #h4, LARG #h5 ] > ] ]. nordvestvendt_a := monotonic_mtr & [ INPUT.RELS < [ PRED "_nordvestvendt_a_rel", LBL #h1, ARG0 #e1, ARG1 #e2 ] >, OUTPUT [ RELS < [ PRED _northwest_a_1_rel, LBL #h5, ARG0 e_untensed, ARG1 #x3, ARG2 u ], [ PRED place_n_rel, LBL #h5, ARG0 #x3 & [ GRIND - ] ], [ PRED _facing_p_rel, LBL #h1, ARG0 #e1, ARG1 #e2, ARG2 #x3 ], [ PRED implicit_q_rel, ARG0 #x3, RSTR #h4 ] >, HCONS < qeq & [ HARG #h4, LARG #h5 ] > ] ]. nordøstvendt_a := monotonic_mtr & [ INPUT.RELS < [ PRED "_nordøstvendt_a_rel", LBL #h1, ARG0 #e1, ARG1 #e2 ] >, OUTPUT [ RELS < [ PRED _northeast_a_1_rel, LBL #h5, ARG0 e_untensed, ARG1 #x3, ARG2 u ], [ PRED place_n_rel, LBL #h5, ARG0 #x3 & [ GRIND - ] ], [ PRED _facing_p_rel, LBL #h1, ARG0 #e1, ARG1 #e2, ARG2 #x3 ], [ PRED implicit_q_rel, ARG0 #x3, RSTR #h4 ] >, HCONS < qeq & [ HARG #h4, LARG #h5 ] > ] ]. sørvestvendt_a := monotonic_mtr & [ INPUT.RELS < [ PRED "_sørvestvendt_a_rel", LBL #h1, ARG0 #e1, ARG1 #e2 ] >, OUTPUT [ RELS < [ PRED _southwest_a_1_rel, LBL #h5, ARG0 e_untensed, ARG1 #x3, ARG2 u ], [ PRED place_n_rel, LBL #h5, ARG0 #x3 & [ GRIND - ] ], [ PRED _facing_p_rel, LBL #h1, ARG0 #e1, ARG1 #e2, ARG2 #x3 ], [ PRED implicit_q_rel, ARG0 #x3, RSTR #h4 ] >, HCONS < qeq & [ HARG #h4, LARG #h5 ] > ] ]. sørøstvendt_a := monotonic_mtr & [ INPUT.RELS < [ PRED "_sørøstvendt_a_rel", LBL #h1, ARG0 #e1, ARG1 #e2 ] >, OUTPUT [ RELS < [ PRED _southeast_a_1_rel, LBL #h5, ARG0 e_untensed, ARG1 #x3, ARG2 u ], [ PRED place_n_rel, LBL #h5, ARG0 #x3 & [ GRIND - ] ], [ PRED _facing_p_rel, LBL #h1, ARG0 #e1, ARG1 #e2, ARG2 #x3 ], [ PRED implicit_q_rel, ARG0 #x3, RSTR #h4 ] >, HCONS < qeq & [ HARG #h4, LARG #h5 ] > ] ]. etter+sigende_pp := monotonic_mtr & [ INPUT.RELS < [ PRED "_etter_p_rel", LBL #h0, ARG0 #e1, ARG1 #i2, ARG2 #x4 ], [ PRED "_sigende_n_rel", LBL #h5, ARG0 #x4 ]>, OUTPUT.RELS < [ PRED _according+to_p_rel, LBL #h0, ARG0 #e1, ARG1 #i2, ARG2 #x4 ], [ PRED "_report_n_of_rel", LBL #h5, ARG0 #x4 & [ NUM pl ] ] > ]. på+ferde_a := intersective_attribute_mtr & [ INPUT.RELS < [ PRED "_på+ferde_rel" ] >, OUTPUT.RELS < [ PRED "_active_a_1_rel" ], ... > ]. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; gjerne_like_a := monotonic_omtr & [ INPUT [ RELS < [ LBL #h1, PRED "_gjerne_a_rel", ARG1 #e2 ], [ LBL #h1, PRED #p8, ARG0 #e2, ARG1 #x5, ARG2 #x10, ARG3 #x11 ] > ], OUTPUT [ RELS < [ LBL #h1, PRED "_like_v_1_rel", ARG0 #e2, ARG1 #x5, ARG2 #h6 ], [ LBL #h6, PRED prpstn_m_rel, ARG0 #e7, MARG #h3 ], [ LBL #h4, PRED #p8, ARG0 #e7, ARG1 #x5, ARG2 #x10, ARG3 #x11 ] >, HCONS < qeq & [ HARG #h3, LARG #h4 ] > ] ]. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ingenting+av_q := monotonic_mtr & [ INPUT [ RELS < [ LBL #h1, PRED "ingenting_q_rel", ARG0 #x2, RSTR #h3, BODY #h4 ], [ LBL #h5, PRED "part_of_rel", ARG0 #x2, ARG1 #x6 ] > ], OUTPUT [ RELS < [ LBL #h1, PRED _no_q_rel, ARG0 #x2, RSTR #h3, BODY #h4 ], [ LBL #h5, PRED _of_p_rel, ARG1 #x2, ARG2 #x6 ], [ LBL #h5, PRED thing_rel, ARG0 #x2] > ] ]. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; This should add a pronoun to "egen" when it isn't there. egen_sg_a := monotonic_mtr & [ CONTEXT.HCONS < qeq & [ HARG #h2, LARG #h3 ] >, INPUT [ RELS < [ LBL #h0, PRED "bare_sg_q_rel", ARG0 #x1, RSTR #h2, BODY #h11 ], [ LBL #h3, PRED "_egen_a_rel", ARG0 #e10, ARG1 #x1 ] > ], OUTPUT [ RELS < [ LBL #h0, PRED def_q_rel, ARG0 #x1, RSTR #h2, BODY #h11 ], [ LBL #h3, PRED poss_rel, ARG0 #e10, ARG1 #x4, ARG2 #x1 ], [ LBL #h3, PRED "_own_a_1_rel", ARG0 #e12, ARG1 #x1 ], [ PRED pron_rel, LBL #h5, ARG0 #x4 ], [ PRED pronoun_q_rel, ARG0 #x4, RSTR #h6 ] >, HCONS < qeq & [ HARG #h6, LARG #h5 ] > ] ]. egen_div_a := monotonic_mtr & [ CONTEXT.HCONS < qeq & [ HARG #h2, LARG #h3 ] >, INPUT [ RELS < [ LBL #h0, PRED "bare_div_q_rel", ARG0 #x1, RSTR #h2, BODY #h11 ], [ LBL #h3, PRED "_egen_a_rel", ARG0 #e10, ARG1 #x1 ] > ], OUTPUT [ RELS < [ LBL #h0, PRED def_q_rel, ARG0 #x1, RSTR #h2, BODY #h11 ], [ LBL #h3, PRED poss_rel, ARG0 #e10, ARG1 #x4, ARG2 #x1 ], [ LBL #h3, PRED "_own_a_1_rel", ARG0 #e12, ARG1 #x1 ], [ PRED pron_rel, LBL #h5, ARG0 #x4 ], [ PRED pronoun_q_rel, ARG0 #x4, RSTR #h6 ] >, HCONS < qeq & [ HARG #h6, LARG #h5 ] > ] ]. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; inn+i_p := prep+prep_prep_mtr & [ INPUT.RELS < [ PRED "_inn_p_rel" ], [ PRED "_i_p_rel" ] >, OUTPUT.RELS < [ PRED _into_p_rel ] > ]. ;;; ;;; This is put here to fire before the comp_pos_rule. (04-dec-06; jtl) ;;; bakre_a := monotonic_mtr & [ INPUT.RELS < [ LBL #h1, PRED "_bakre_a_rel", ARG0 #e2, ARG1 #x3 ], [ LBL #h1, PRED "comp_pos_rel", ARG1 #e2 ] >, OUTPUT [ RELS < [ LBL #h1, PRED _in_p_rel, ARG0 e_untensed, ARG1 #x3, ARG2 #x4 ], [ PRED def_q_rel, ARG0 #x4, RSTR #h5 ], [ LBL #h3, PRED "_back_n_1_rel", ARG0 #x4 & [ PERS 3, NUM sg, GRIND - ] ] >, HCONS < qeq & [ HARG #h5, LARG #h3 ] > ] ]. ;;; ;;; for `den ene' there is a generic mechanism to insert the additional `card' ;;; EP for `one' anaphors in English, hence we can just drop the `_ene_a' here. ;;; den+ene_the+one_a := monotonic_mtr & [ CONTEXT.RELS < [ PRED "generic_nonpro_rel", LBL #h0, ARG0 #x0 ], [ PRED "~def_q_rel|den_dem_rel", ARG0 #x0 ] >, INPUT.RELS < [ PRED "_ene_a_rel", LBL #h0, ARG1 #x0 ] > ].