;;; Hey, emacs(1), this is -*- Mode: TDL; Coding: utf-8; -*- got it? ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; ;;; first transfer phase, NorGram-specific accomodation: these rules primarly ;;; patch up `deficiencies' in NorGram MRSs, e.g. ditch selected relations. ;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; ;;; _fix_me_ ;;; to get gender `agreement' with pronominal antecedents, e.g. in `Han vasker ;;; sin bil', ensure that GEND is propagated to the anaphor. (30-apr-05; oe) ;;; pron_identity_m_nf := pron_identity_nmtr & [ OUTPUT.RELS < [ ARG0 [ GEND m ] ] > ]. pron_identity_f_nf := pron_identity_nmtr & [ OUTPUT.RELS < [ ARG0 [ GEND f ] ] > ]. pron_identity_n_nf := pron_identity_nmtr & [ OUTPUT.RELS < [ ARG0 [ GEND n ] ] > ]. ;;; ;;; _fix_me_ ;;; when finalizing the HandOn release, i found that we had been running with ;;; the roles reversed in the `poss' EP for ages. the rule below used to be in ;;; `noen/erg.mtr', which meant it imposed an ordering constraint on another ;;; ERG accomodation rule (viz. `reflexive_pronoun_ef', setting PRONTYPE to be ;;; `refl' for targets of `identity' EPs, unless they are possessors). we now ;;; want that latter mechanism in the Transfer Matrix, hence we need to repair ;;; the directionality of roles for `poss' here. obviously, `poss' was used in ;;; a handful of places, partly assuming the NorGram role ordering (expecting ;;; to have the final swap), partly assuming the ERG ordering (it seems petter ;;; had clearly worked out that putting a [ MARK complete ] on his `poss' EPs, ;;; he could avoid the final swap). clearly it was hight time for a tharough ;;; spring cleaning, of sorts :-). (19-nov-08; oe) ;;; poss_ef := monotonic_mtr & [ INPUT.RELS < [ PRED "poss_rel", LBL #h0, ARG0 #e0, ARG1 #x0, ARG2 #x1 ] >, FILTER.RELS < [ PRED construction_mark, LBL #h0 ] >, OUTPUT.RELS < [ PRED "poss_rel", LBL #h0, ARG0 #e0, ARG1 #x1, ARG2 #x0 ], [ PRED construction_mark, LBL #h0 ] > ]. construction_mark_ditch_ef := elision_mtr & [ INPUT.RELS < [ PRED construction_mark ] > ]. ;;; ;;; _fix_me_ ;;; the `ref-identity' LBL should be shared with the LBL of the head noun in ;;; the apposition, i.e. the ARG1. also, the embedded proposition needs to ;;; look like a relative clause. (28-aug-04; oe) ;;; ;;; @ sønnen Ivar >> the son, Ivar, ;;; ref-identify_nf := monotonic_mtr & [ CONTEXT [ RELS < [ ARG0 #x1 & x, RSTR #h2 & h ], [ LBL #h0 & [ SCRATCH one ], ARG0 #x1 ] >, HCONS < qeq & [ HARG #h2, LARG #h0 ] > ], INPUT.RELS < [ PRED "ref-identity_rel", LBL [ SCRATCH two ], ARG1 #x1, ARG2 #x3 ] >, OUTPUT.RELS < [ PRED "ref-identity_rel", LBL #h0, ARG1 #x1, ARG2 #x3 ] >, FLAGS.EQUAL < #x1, #h2 > ]. ;;; ;;; _fix_me_ ;;; for `Bilen er vasket.', the `parg_d' EP currently fails to share its ARG1 ;;; with the event corresponding to the passivization. (26-jan-08; oe) ;;; parg_d_arg1_nf := monotonic_mtr & [ CONTEXT.RELS < [ LBL #h0, ARG0 #e0 & e, ARG1 #p0 & p ] >, INPUT.RELS < [ PRED "parg_d_rel", LBL #h0, ARG1 a, ARG2 #p0 ] >, OUTPUT.RELS < [ PRED "parg_d_rel", LBL #h0, ARG1 #e0, ARG2 #p0 ] >, FLAGS.SUBSUME < #e0, #p0 > ]. parg_d_arg2_nf := monotonic_mtr & [ CONTEXT.RELS < [ LBL #h0, ARG0 #e0 & e, ARG2 #p0 & p ] >, INPUT.RELS < [ PRED "parg_d_rel", LBL #h0, ARG1 a, ARG2 #p0 ] >, OUTPUT.RELS < [ PRED "parg_d_rel", LBL #h0, ARG1 #e0, ARG2 #p0 ] >, FLAGS.SUBSUME < #e0, #p0 > ]. parg_d_arg3_nf := monotonic_mtr & [ CONTEXT.RELS < [ LBL #h0, ARG0 #e0 & e, ARG3 #p0 & p ] >, INPUT.RELS < [ PRED "parg_d_rel", LBL #h0, ARG1 a, ARG2 #p0 ] >, OUTPUT.RELS < [ PRED "parg_d_rel", LBL #h0, ARG1 #e0, ARG2 #p0 ] >, FLAGS.SUBSUME < #e0, #p0 > ]. parg_d_arg4_nf := monotonic_mtr & [ CONTEXT.RELS < [ LBL #h0, ARG0 #e0 & e, ARG4 #p0 & p ] >, INPUT.RELS < [ PRED "parg_d_rel", LBL #h0, ARG1 a, ARG2 #p0 ] >, OUTPUT.RELS < [ PRED "parg_d_rel", LBL #h0, ARG1 #e0, ARG2 #p0 ] >, FLAGS.SUBSUME < #e0, #p0 > ]. ;;; ;;; _fix_me_ ;;; in tur/97, `oslofjorden' has a duplicate quantifier. (27-jul-04; oe) ;;; def+proper_q_nf := monotonic_mtr & [ CONTEXT [ RELS < [ PRED "proper_q_rel", ARG0 #x0, RSTR #h1 ] >, HCONS < qeq & [ HARG #h1, LARG #h2 ] > ], INPUT [ RELS < [ PRED "def_q_rel", ARG0 #x0, RSTR #h3 ] >, HCONS < qeq & [ HARG #h3, LARG #h2 ] > ] ]. ;;; ;;; _fix_me_ ;;; vei/10260 et al. (`Eier: DNT OA.') receive an analysis with a guessed noun ;;; `OA' as the `title_id' to `DNT'. titles should be restricted to a known ;;; class of title nouns, as only these will actually generate in the ERG. ;;; (26-feb-06; oe) dnt+oa_nf := monotonic_mtr & [ INPUT [ RELS < [ PRED "title_id_rel", LBL #h0, ARG1 #x2, ARG2 #x3 ], [ PRED "named_rel", LBL #h0, ARG0 #x3, CARG "~[Dd][Nn][Tt]" ], [ PRED "udef_q_rel", ARG0 #x2, RSTR #h4 ], [ PRED "guess_rel", LBL #h5, ARG0 #x2, CARG "~[Oo][Aa]" ] >, HCONS < qeq & [ HARG #h4, LARG #h5 ] > ], OUTPUT.RELS < [ PRED "named_rel", LBL #h0, ARG0 #x3, CARG "DNT OA" ] > ]. ;;; ;;; _fix_me_ ;;; complex proper names (`Helge Dyvik') receive ill-formed MRSs, where the LBL ;;; of the two-place title relation is not shared with the head. ;;; (25-jan-08; oe) complex_proper_name_1_nf := monotonic_mtr & [ CONTEXT.RELS < [ PRED "named_rel", LBL #h0 & [ SCRATCH one ], ARG0 #x1 ] >, INPUT.RELS < [ PRED "compound_name_rel", LBL [ SCRATCH two ], ARG0 #e2, ARG1 #x1, ARG2 #x3 ] >, OUTPUT.RELS < [ PRED "compound_name_rel", LBL #h0, ARG0 #e2, ARG1 #x1, ARG2 #x3 ] > ]. ;;; ;;; furthermore, in three-way names, the bracketing is [[Jan Tore] Lønning], ;;; where the ERG will only generate [Jan [Tore Lønning]]. (27-jan-08; oe) ;;; complex_proper_name_2_nf := monotonic_mtr & [ CONTEXT.RELS < [ PRED "compound_name_rel", LBL #h0, ARG1 #x0, ARG2 #x1 ] >, INPUT.RELS < [ PRED "compound_name_rel", LBL #h1, ARG0 #e0, ARG1 #x1, ARG2 #x2 ] >, OUTPUT.RELS < [ PRED "compound_name_rel", LBL #h0, ARG0 #e0, ARG1 #x0, ARG2 #x2 ] > ]. named+guess_nf := monotonic_mtr & [ CONTEXT.HCONS < qeq & [ HARG #h1, LARG #h2 ] >, INPUT.RELS < [ PRED "proper_q_rel", ARG0 #x0, RSTR #h1 ], [ PRED "named_rel", LBL #h2, ARG0 #x0, CARG #carg0 ], [ PRED "guess_rel", LBL #h2, ARG0 #x0, CARG #carg1 ] >, OUTPUT [ RELS < [ PRED "compound_name_rel", LBL #h5, ARG0 e_untensed, ARG1 #x4, ARG2 #x0 ], [ PRED "udef_q_rel", ARG0 #x4, RSTR #h1 ], [ PRED "named_rel", LBL #h2, ARG0 #x4 & [ PERS 3, NUM sg, GRIND - ], CARG #carg0 ], [ PRED "proper_q_rel", ARG0 #x0, RSTR #h3 ], [ PRED "named_rel", LBL #h5, ARG0 #x0, CARG #carg1 ] >, HCONS < qeq & [ HARG #h3, LARG #h5 ] > ] ]. ;;; ;;; _fix_me_ ;;; for `Bygdin høyfjellshotell', the title constituent includes an adjective ;;; plus noun compound, where `_høy_a' is a modifier on `_hotell_n'; we later ;;; convert the compound into a plain attributive modifier, but then we need ;;; to make sure it is a modifier on the intermediate noun, actually, i.e. we ;;; force low attachment for the adjective. possibly this is globally a true ;;; constraint on Adj+N+N compounds, but here we restrict it to just the title ;;; environment, because in general [old [mountain hotel]] is unproblematic. ;;; (8-jun-06; oe) title_adj+n_nf := monotonic_mtr & [ CONTEXT.RELS < [ PRED "compound_name_rel", ARG2 #x0 & x ], [ PRED "unspec_rel", LBL #h1, ARG1 #x0, ARG2 #x2 & x ], [ PRED "~_a_", ARG0 #e4 & e & [ TENSE untensed ] ], [ PRED "~_n_", LBL #h5, ARG0 #x2 ] >, INPUT.RELS < [ PRED "unspec_rel", LBL #h1, ARG0 #e6, ARG1 #x0, ARG2 #e4 ] >, OUTPUT.RELS < [ PRED "unspec_rel", LBL #h5, ARG0 #e6, ARG1 #x2, ARG2 #e4 ] >, FLAGS.EQUAL < #x0, #x2, #e4 > ]. ;;; ;;; _fix_me_ ;;; for `I 1980-tallet ankom Embla', we would expect a definite quantifier. ;;; (6-dec-05; oe) yearperiod+proper_q_nf := monotonic_mtr & [ CONTEXT [ RELS < [ PRED "yearperiod_rel", LBL #h0, ARG0 #x1 ] >, HCONS < qeq & [ HARG #h2, LARG #h0 ] > ], INPUT.RELS < [ PRED "proper_q_rel", LBL #h3, ARG0 #x1, RSTR #h2, BODY #h4 ] >, OUTPUT.RELS < [ PRED "def_q_rel", LBL #h3, ARG0 #x1, RSTR #h2, BODY #h4 ] > ]. ;;; ;;; _fix_me_ ;;; in `ett av sporene' [ankom], the singular partitive is incompatible with ;;; a `bare_div_q'. (1-dec-04; oe) ;;; ;;; --- which appears to no longer be true. (24-jan-07; oe) ;;; #| part_of_one_nf := monotonic_mtr & [ CONTEXT.RELS < [ PRED "part_of_rel", LBL #h0, ARG0 #x0 ], [ PRED "card_rel", LBL #h0, ARG1 #x0, CARG "1" ] >, INPUT.RELS < [ PRED "bare_div_q_rel", LBL #h1, ARG0 #x0, RSTR #h2, BODY #h3 ] >, OUTPUT.RELS < [ PRED "def_explicit_q_rel", LBL #h1, ARG0 #x0, RSTR #h2, BODY #h3 ] > ]. |# deg+quant_nf := monotonic_mtr & [ CONTEXT [ RELS < [ LBL #h0, ARG0 #x1 & x, RSTR #h2 ], [ PRED "~_n_", LBL #h3, ARG0 #x1 ] >, HCONS < qeq & [ HARG #h2, LARG #h3 ] > ], INPUT.RELS < [ PRED #pred, LBL #h0, ARG0 #e5, ARG1 #x1 ] >, OUTPUT.RELS < [ PRED #pred, LBL #h0, ARG0 #e5, ARG1 u ] >, FLAGS.EQUAL < #x1 > ]. ;;; ;;; _fix_me_ ;;; for whatever reason, `_om-temp-p' disappeared, even though transfer stands ;;; to gain from it (avoiding ambiguity in translating `om'). ;;; (5-jan-07; jtl & oe) om_temp_1_nf := monotonic_mtr & [ CONTEXT.RELS < [ PRED "~_(?:morgen|ettermiddag|kveld|natt)_n_rel", ARG0 #x0 ] >, INPUT.RELS < [ PRED "_om_p_rel", ARG2 #x0 ] >, OUTPUT.RELS < +copy+ & [ PRED "_om-temp_p_rel" ] > ]. om_temp_2_nf := monotonic_mtr & [ CONTEXT.RELS < [ PRED "~_(?:sekund|minutt|time|stund)_n_rel", ARG0 #x0 ] >, INPUT.RELS < [ PRED "_om_p_rel", ARG2 #x0 ] >, OUTPUT.RELS < +copy+ & [ PRED "_om-temp_p_rel" ] > ]. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; ;;; a couple of predicates for which we know no way of mapping into ERG terms, ;;; or cannot be bothered right now. ;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; stative_asp_ditch_nf := elision_mtr & [ INPUT.RELS < [ PRED "stative_asp_rel" ] > ]. inchoative_asp_nf := monotonic_mtr & [ INPUT.RELS < [ ARG0 #e & e & [ TENSE pres ] ], [ PRED "inchoative_asp_rel", ARG1 #e ] >, OUTPUT.RELS < +copy+ & [ ARG0 [ TENSE fut ] ] >, FLAGS.EQUAL < #e > ]. inchoative_asp_ditch_nf := elision_mtr & [ INPUT.RELS < [ PRED "inchoative_asp_rel" ] > ]. specified_to_ditch_nf := elision_mtr & [ INPUT.RELS < [ PRED "specified_to_rel" ] > ]. ;;; ;;; _fix_me_ ;;; these must not use handle-valued ARG1 and ARG2, if we want the structure to ;;; scope; NorGram currently makes that impossible. (15-feb-04; oe) ;;; subjectivized_ditch_nf := elision_mtr & [ INPUT.RELS < [ PRED "subjectivized_rel" ] > ]. topic_ditch_nf := elision_mtr & [ INPUT.RELS < [ PRED "topic_rel" ] > ]. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; ;;; selected-for prepositions: the theory is that they do not contribute to the ;;; semantics, since they have also been incorporated into their main predicate ;;; (e.g. in `_bruk-av_n' et al.); however, maybe revisit one day for cases ;;; like `interesse { for | i }'. (joint taxi ride with helge: 4-mar-04; oe) ;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; p_sel_ditch_nf := elision_mtr & [ INPUT.RELS < [ PRED "~_p_sel_rel$" ] > ]. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; ;;; as a general precaution, make sure all referential index are bound by a ;;; quantifier; this is robustness to a degree of taking chances, i guess ;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; ;;; _fix_me_ ;;; the noun guesser appears to not add a quantifier. (20-aug-05; oe) ;;; guess_quantifier_nf := monotonic_mtr & [ INPUT.RELS < [ PRED "guess_rel", LBL #h1, ARG0 #x2 & x, CARG #carg ] >, FILTER.RELS < [ ARG0 #x2, RSTR #h3 & h ] >, OUTPUT [ RELS < [ PRED "udef_q_rel", ARG0 #x2, RSTR #h4 ], [ PRED "guess_rel", LBL #h1, ARG0 #x2 & x, CARG #carg ] >, HCONS < qeq & [ HARG #h4, LARG #h1 ] > ], FLAGS.EQUAL < #x2, #h3 > ]. ;;; ;;; PR norgram/400: month names often lack a quantifier. (16-sep-06; oe) ;;; mofy_quantifier_nf := monotonic_mtr & [ INPUT.RELS < [ PRED "mofy_rel", LBL #h1, ARG0 #x2 & x, CARG #carg ] >, FILTER.RELS < [ ARG0 #x2, RSTR #h3 & h ] >, OUTPUT [ RELS < [ PRED "proper_q_rel", ARG0 #x2, RSTR #h4 ], [ PRED "mofy_rel", LBL #h1, ARG0 #x2 & x, CARG #carg ] >, HCONS < qeq & [ HARG #h4, LARG #h1 ] > ], FLAGS.EQUAL < #x2, #h3 > ]. ;;; ;;; more generally, make sure all nominal relations have some quantifier. ;;; missing_quantifier_sg_count_nf := monotonic_mtr & [ CONTEXT.RELS < [ PRED "~_n_rel$", LBL #h1, ARG0 #x2 & x & [ NUM sg, DIV - ] ] >, FILTER.RELS < [ ARG0 #x2, RSTR #h3 & h ] >, OUTPUT [ RELS < [ PRED "some_q_indiv_rel", ARG0 #x2, RSTR #h4 ] >, HCONS < qeq & [ HARG #h4, LARG #h1 ] > ], FLAGS.EQUAL < #x2, #h3 > ]. missing_quantifier_sg_count_nf := monotonic_mtr & [ CONTEXT.RELS < [ PRED "~_n_rel$", LBL #h1, ARG0 #x2 & x & [ NUM sg ] ] >, FILTER.RELS < [ ARG0 #x2, RSTR #h3 & h ] >, OUTPUT [ RELS < [ PRED "some_q_rel", ARG0 #x2, RSTR #h4 ] >, HCONS < qeq & [ HARG #h4, LARG #h1 ] > ], FLAGS.EQUAL < #x2, #h3 > ]. missing_quantifier_pl_nf := monotonic_mtr & [ CONTEXT.RELS < [ PRED "~_n_rel$|^generic_nonpro_rel$", LBL #h1, ARG0 #x2 & x & [ NUM pl ] ] >, FILTER.RELS < [ ARG0 #x2, RSTR #h3 & h ] >, OUTPUT [ RELS < [ PRED "bare_div_q_rel", ARG0 #x2, RSTR #h4 ] >, HCONS < qeq & [ HARG #h4, LARG #h1 ] > ], FLAGS.EQUAL < #x2, #h3 > ]. ;;; ;;; _fix_me_ ;;; in preparing the 8-apr-05 integration, we stumbled into a few new predicate ;;; sub-divisions; maybe we should have known, maybe not. for now, wash out ;;; the ones we found during the transfer workshop at Gålå. (9-apr-05; oe) ;;; gå*tur_v_nf := monotonic_mtr & [ INPUT.RELS < [ PRED "~_gå\\*[a-z]*tur_v_rel" ] >, OUTPUT.RELS < +copy+ & [ PRED "_gå_v_rel" ] > ]. gå*rute_v_nf := monotonic_mtr & [ INPUT.RELS < [ PRED "~_gå\\*rute_v_rel" ] >, OUTPUT.RELS < +copy+ & [ PRED "_gå_v_rel" ] > ]. mene_subjeq_v_nf := monotonic_mtr & [ INPUT.RELS < [ PRED "_mene_subjeq_v_rel" ] >, OUTPUT.RELS < +copy+ & [ PRED "_mene_v_rel" ] > ]. ;;; ;;; _fix_me_ ;;; unlike cardinals, literal ordinal numbers come out with a literal CARG. i ;;; believe the final verdict on the corresponding PR was to add these to the ;;; NorGram lexicon, even though they are numerous. (24-sep-05; oe) ;;; ord_1_nf := monotonic_mtr & [ INPUT.RELS < [ PRED "ord_rel", CARG "første" ] >, OUTPUT.RELS < +copy+ & [ CARG "1" ] > ]. ord_2_nf := monotonic_mtr & [ INPUT.RELS < [ PRED "ord_rel", CARG "andre" ] >, OUTPUT.RELS < +copy+ & [ CARG "2" ] > ]. ord_3_nf := monotonic_mtr & [ INPUT.RELS < [ PRED "ord_rel", CARG "tredje" ] >, OUTPUT.RELS < +copy+ & [ CARG "3" ] > ]. ord_4_nf := monotonic_mtr & [ INPUT.RELS < [ PRED "ord_rel", CARG "fjerde" ] >, OUTPUT.RELS < +copy+ & [ CARG "4" ] > ]. ord_5_nf := monotonic_mtr & [ INPUT.RELS < [ PRED "ord_rel", CARG "femte" ] >, OUTPUT.RELS < +copy+ & [ CARG "5" ] > ]. ord_6_nf := monotonic_mtr & [ INPUT.RELS < [ PRED "ord_rel", CARG "sjette" ] >, OUTPUT.RELS < +copy+ & [ CARG "6" ] > ]. ord_7_nf := monotonic_mtr & [ INPUT.RELS < [ PRED "ord_rel", CARG "sjuende" ] >, OUTPUT.RELS < +copy+ & [ CARG "7" ] > ]. ord_7_nf := monotonic_mtr & [ INPUT.RELS < [ PRED "ord_rel", CARG "syvende" ] >, OUTPUT.RELS < +copy+ & [ CARG "7" ] > ]. ord_8_nf := monotonic_mtr & [ INPUT.RELS < [ PRED "ord_rel", CARG "åttende" ] >, OUTPUT.RELS < +copy+ & [ CARG "8" ] > ]. ord_9_nf := monotonic_mtr & [ INPUT.RELS < [ PRED "ord_rel", CARG "niende" ] >, OUTPUT.RELS < +copy+ & [ CARG "9" ] > ]. ord_10_nf := monotonic_mtr & [ INPUT.RELS < [ PRED "ord_rel", CARG "tiende" ] >, OUTPUT.RELS < +copy+ & [ CARG "10" ] > ]. ord_11_nf := monotonic_mtr & [ INPUT.RELS < [ PRED "ord_rel", CARG "ellevte" ] >, OUTPUT.RELS < +copy+ & [ CARG "11" ] > ]. ord_12_nf := monotonic_mtr & [ INPUT.RELS < [ PRED "ord_rel", CARG "tolvte" ] >, OUTPUT.RELS < +copy+ & [ CARG "12" ] > ]. ord_13_nf := monotonic_mtr & [ INPUT.RELS < [ PRED "ord_rel", CARG "trettende" ] >, OUTPUT.RELS < +copy+ & [ CARG "13" ] > ]. ord_14_nf := monotonic_mtr & [ INPUT.RELS < [ PRED "ord_rel", CARG "fjortende" ] >, OUTPUT.RELS < +copy+ & [ CARG "14" ] > ]. ord_15_nf := monotonic_mtr & [ INPUT.RELS < [ PRED "ord_rel", CARG "femtende" ] >, OUTPUT.RELS < +copy+ & [ CARG "15" ] > ]. ord_16_nf := monotonic_mtr & [ INPUT.RELS < [ PRED "ord_rel", CARG "sekstende" ] >, OUTPUT.RELS < +copy+ & [ CARG "16" ] > ]. ord_17_nf := monotonic_mtr & [ INPUT.RELS < [ PRED "ord_rel", CARG "syttende" ] >, OUTPUT.RELS < +copy+ & [ CARG "17" ] > ]. ord_18_nf := monotonic_mtr & [ INPUT.RELS < [ PRED "ord_rel", CARG "attende" ] >, OUTPUT.RELS < +copy+ & [ CARG "18" ] > ]. ord_19_nf := monotonic_mtr & [ INPUT.RELS < [ PRED "ord_rel", CARG "nittende" ] >, OUTPUT.RELS < +copy+ & [ CARG "19" ] > ]. ord_20_nf := monotonic_mtr & [ INPUT.RELS < [ PRED "ord_rel", CARG "tjuende" ] >, OUTPUT.RELS < +copy+ & [ CARG "20" ] > ]. ord_21_nf := monotonic_mtr & [ INPUT.RELS < [ PRED "ord_rel", CARG "tjueførste" ] >, OUTPUT.RELS < +copy+ & [ CARG "21" ] > ]. ord_22_nf := monotonic_mtr & [ INPUT.RELS < [ PRED "ord_rel", CARG "tjueandre" ] >, OUTPUT.RELS < +copy+ & [ CARG "22" ] > ]. ord_23_nf := monotonic_mtr & [ INPUT.RELS < [ PRED "ord_rel", CARG "tjuetredje" ] >, OUTPUT.RELS < +copy+ & [ CARG "23" ] > ]. ord_24_nf := monotonic_mtr & [ INPUT.RELS < [ PRED "ord_rel", CARG "tjuetjuefjerde" ] >, OUTPUT.RELS < +copy+ & [ CARG "24" ] > ]. ord_25_nf := monotonic_mtr & [ INPUT.RELS < [ PRED "ord_rel", CARG "tjuefemte" ] >, OUTPUT.RELS < +copy+ & [ CARG "25" ] > ]. ord_26_nf := monotonic_mtr & [ INPUT.RELS < [ PRED "ord_rel", CARG "tjuesjette" ] >, OUTPUT.RELS < +copy+ & [ CARG "26" ] > ]. ord_27_nf := monotonic_mtr & [ INPUT.RELS < [ PRED "ord_rel", CARG "tjuesyvende" ] >, OUTPUT.RELS < +copy+ & [ CARG "27" ] > ]. ord_28_nf := monotonic_mtr & [ INPUT.RELS < [ PRED "ord_rel", CARG "tjueåttende" ] >, OUTPUT.RELS < +copy+ & [ CARG "28" ] > ]. ord_29_nf := monotonic_mtr & [ INPUT.RELS < [ PRED "ord_rel", CARG "tjueniende" ] >, OUTPUT.RELS < +copy+ & [ CARG "29" ] > ]. ord_20_nf := monotonic_mtr & [ INPUT.RELS < [ PRED "ord_rel", CARG "tyvende" ] >, OUTPUT.RELS < +copy+ & [ CARG "20" ] > ]. ord_21_nf := monotonic_mtr & [ INPUT.RELS < [ PRED "ord_rel", CARG "enogtyvende" ] >, OUTPUT.RELS < +copy+ & [ CARG "21" ] > ]. ord_22_nf := monotonic_mtr & [ INPUT.RELS < [ PRED "ord_rel", CARG "toogtyvende" ] >, OUTPUT.RELS < +copy+ & [ CARG "22" ] > ]. ord_23_nf := monotonic_mtr & [ INPUT.RELS < [ PRED "ord_rel", CARG "treogtyvende" ] >, OUTPUT.RELS < +copy+ & [ CARG "23" ] > ]. ord_24_nf := monotonic_mtr & [ INPUT.RELS < [ PRED "ord_rel", CARG "fireogtyvende" ] >, OUTPUT.RELS < +copy+ & [ CARG "24" ] > ]. ord_25_nf := monotonic_mtr & [ INPUT.RELS < [ PRED "ord_rel", CARG "femogtyvende" ] >, OUTPUT.RELS < +copy+ & [ CARG "25" ] > ]. ord_26_nf := monotonic_mtr & [ INPUT.RELS < [ PRED "ord_rel", CARG "seksogtyvende" ] >, OUTPUT.RELS < +copy+ & [ CARG "26" ] > ]. ord_27_nf := monotonic_mtr & [ INPUT.RELS < [ PRED "ord_rel", CARG "sjuogtyvende" ] >, OUTPUT.RELS < +copy+ & [ CARG "27" ] > ]. ord_27_nf := monotonic_mtr & [ INPUT.RELS < [ PRED "ord_rel", CARG "syvogtyvende" ] >, OUTPUT.RELS < +copy+ & [ CARG "27" ] > ]. ord_28_nf := monotonic_mtr & [ INPUT.RELS < [ PRED "ord_rel", CARG "åtteogtyvende" ] >, OUTPUT.RELS < +copy+ & [ CARG "28" ] > ]. ord_29_nf := monotonic_mtr & [ INPUT.RELS < [ PRED "ord_rel", CARG "niogtyvende" ] >, OUTPUT.RELS < +copy+ & [ CARG "29" ] > ]. ord_30_nf := monotonic_mtr & [ INPUT.RELS < [ PRED "ord_rel", CARG "trettiende" ] >, OUTPUT.RELS < +copy+ & [ CARG "30" ] > ]. ord_30_nf := monotonic_mtr & [ INPUT.RELS < [ PRED "ord_rel", CARG "tredevte" ] >, OUTPUT.RELS < +copy+ & [ CARG "30" ] > ]. ord_40_nf := monotonic_mtr & [ INPUT.RELS < [ PRED "ord_rel", CARG "førtiende" ] >, OUTPUT.RELS < +copy+ & [ CARG "40" ] > ]. ord_50_nf := monotonic_mtr & [ INPUT.RELS < [ PRED "ord_rel", CARG "femtiende" ] >, OUTPUT.RELS < +copy+ & [ CARG "50" ] > ]. ord_60_nf := monotonic_mtr & [ INPUT.RELS < [ PRED "ord_rel", CARG "sekstiende" ] >, OUTPUT.RELS < +copy+ & [ CARG "60" ] > ]. ord_70_nf := monotonic_mtr & [ INPUT.RELS < [ PRED "ord_rel", CARG "syttiende" ] >, OUTPUT.RELS < +copy+ & [ CARG "70" ] > ]. ord_80_nf := monotonic_mtr & [ INPUT.RELS < [ PRED "ord_rel", CARG "åttiende" ] >, OUTPUT.RELS < +copy+ & [ CARG "80" ] > ]. ord_90_nf := monotonic_mtr & [ INPUT.RELS < [ PRED "ord_rel", CARG "nittiende" ] >, OUTPUT.RELS < +copy+ & [ CARG "90" ] > ]. ord_100_nf := monotonic_mtr & [ INPUT.RELS < [ PRED "ord_rel", CARG "hundredede" ] >, OUTPUT.RELS < +copy+ & [ CARG "100" ] > ]. ord_1000_nf := monotonic_mtr & [ INPUT.RELS < [ PRED "ord_rel", CARG "tusende" ] >, OUTPUT.RELS < +copy+ & [ CARG "1000" ] > ]. ord_10000_nf := monotonic_mtr & [ INPUT.RELS < [ PRED "ord_rel", CARG "titusende" ] >, OUTPUT.RELS < +copy+ & [ CARG "10000" ] > ]. ;;; ;;; _fix_me_ ;;; a related case: in `1. Abrams kom.', the CARG of the named number is `1.', ;;; which prevents generating a run-on construction down the road, as the ERG ;;; refuses to put a period (or semikolon) on tokens that end in a period. ;;; (13-oct-06; dan & oe) card_period_1_nf := monotonic_mtr & [ INPUT.RELS < [ PRED "card_rel", CARG "1." ] >, OUTPUT.RELS < +copy+ & [ CARG "1" ] > ]. card_period_2_nf := monotonic_mtr & [ INPUT.RELS < [ PRED "card_rel", CARG "2." ] >, OUTPUT.RELS < +copy+ & [ CARG "2" ] > ]. card_period_3_nf := monotonic_mtr & [ INPUT.RELS < [ PRED "card_rel", CARG "3." ] >, OUTPUT.RELS < +copy+ & [ CARG "3" ] > ]. card_period_4_nf := monotonic_mtr & [ INPUT.RELS < [ PRED "card_rel", CARG "4." ] >, OUTPUT.RELS < +copy+ & [ CARG "4" ] > ]. card_period_5_nf := monotonic_mtr & [ INPUT.RELS < [ PRED "card_rel", CARG "5." ] >, OUTPUT.RELS < +copy+ & [ CARG "5" ] > ]. card_period_6_nf := monotonic_mtr & [ INPUT.RELS < [ PRED "card_rel", CARG "6." ] >, OUTPUT.RELS < +copy+ & [ CARG "6" ] > ]. card_period_7_nf := monotonic_mtr & [ INPUT.RELS < [ PRED "card_rel", CARG "7." ] >, OUTPUT.RELS < +copy+ & [ CARG "7" ] > ].