;;; -*- Mode: TDL; Coding: utf-8 -*- ;;; Authors: ;;; 1997-2000 Walter Kasper & Stefan Müller ;;; 2000-2002 Stefan Müller ;;; 2002-2006 Berthold Crysmann ;;; 2007 Nicolai Kilian ;;; Copyright: DFKI GmbH inf-zu := inf-zu-rule-type. participle-zu := participle-zu-rule-type. ;; zu dritt, zu viert zu-n-t-v-mod := zu-n-t-mod & [ synsem complete-verb-mod-pp-synsem ]. zu-n-t-prd := zu-n-t & [ synsem prd-pp-synsem & [ LOC [ CAT.head.SUBJ < [ LOC.CONT.hook [ INDEX #ind, ltop #hand ] ] >, CONT.KEY [ LBL #hand, ARG1 #ind ] ] ] ]. comp-am := comp-am-lex & [ synsem [ loc [ cat #cat, adjunction #adj, CONT [ hook [ltop #hand, XARG #xarg, INDEX #index], KEY #key, HCONS #hcons, MODCONT #modcont, RELS #liszt ] ], LEX +, PHRASE - ], lr lr-syntax_min & [LR_INFLECTED +], ARGS < am-dummy & [MORPH ] !>], sign & [lr lr-lexicon, MORPH , synsem synsem & [LOC [ CAT #cat & [ head prd-adj-or-non-prd-adv-head ], adjunction #adj, CONT [ hook [ltop #hand, xarg #xarg, INDEX #index], KEY #key, RELS #liszt, HCONS #hcons, MODCONT #modcont ] ], lex +, phrase - ], key-arg + ] > ]. #| comp-am-adv := comp-am-adv-lex & [ c-cont [rels , hcons ], lr lr-syntax_min & [LR_INFLECTED +], synsem [loc [ cat #cat, adjunction #adj, CONT [hook.ltop #l, modcont.hook [index #i, ltop #l]] ], LEX +, PHRASE - ], comp-am +, ARGS < am-dummy & [synsem.loc.cont.rels , MORPH ] !>], infl_lrule & [MORPH , synsem synsem & [LOC [ CAT #cat & [ head mod-adv-head ], adjunction #adj, CONT i-sect-adv-basic-sem-type & [modcont [hook.index #i], key [lbl #arg]] ] , lex +, phrase - ], key-arg + ] > ]. |# von-bis := cle-binary-rule & [ synsem complete-verb-mod-pp-synsem & [ loc.CONT [ hook [INDEX #ind, ltop #hand], KEY #key & von_bis_rel & [ LBL #hand, ARG1 #ind, ARG2 #von-ind, ARG3 #bis-ind ], MODCONT #modcont & [hook [ INDEX #ind, ltop #hand ]], RELS [ list < #key . #rliszt1 >, last #llast2 ], HCONS [ list #sc1, last #scl2 ]] ], vf +, ARGS < sign & [key-arg +, synsem complete-verb-mod-pp-synsem & [ loc [ cat.head.mod #mod, CONT [ hook [INDEX #ind, ltop #hand], KEY von_rel & [ ARG2 #von-ind ], RELS [ list < [] . #rliszt1 >, last #rliszt2 ], HCONS [ list #sc1, last #sc2 ], MODCONT #modcont ] ] ] ], sign & [ synsem complete-verb-mod-pp-synsem & [ loc [ cat.head.mod #mod, CONT [ hook [INDEX #ind, ltop #hand], KEY bis_rel & [ ARG2 #bis-ind ], RELS [ list < [] . #rliszt2 >, last #llast2 ], HCONS [ list #sc2, last #scl2 ], MODCONT #modcont ] ] ] ] > ]. cardinal-noun := cle-binary-rule-collect-constr-2-liszt & [synsem complete-ref-comp-noun-synsem & [ LOC [anc [self , active , inert ], CONT [ hook [INDEX #var, ltop #qhand], KEY #key] ]], C-CONT [ RELS , HCONS ], ARGS < sign & [ SYNSEM complete-adj-non-prd-synsem & [LOC.CONT [ key card_relation, MODCONT [hook #hook, key #key] ] ] ], lexical-sign & [ SYNSEM unit-noun-synsem & [LOC.CONT [ hook #hook & [INDEX #var, ltop #hand], KEY #key] ], key-arg + ] > ]. ;; montag vormittag ;; als Komplement: Montag Vormittag passt mir gut. ;; WK ich nehme die Tageszeit als semantischen Kopf fuer Modifiers ;; erlaubt auch "der Montag Nachmittag", "die Montag Nacht" "der spaete Montag Abend" ;; wg. Montag abend geht als Mass-Noun montag-vormittag-1 := mw-complex-2-rule-collect-constr-2-liszt & [ synsem ref-comp-noun-synsem & [ loc [ cat [ head #dphead & [ LPE - ], SPR < [ loc.cat.drop-det + ] >, SUBCAT ], cont mrs & [ hook [INDEX #dpind, ltop #dphand], KEY #dpkey ] ] ], C-CONT [ RELS , HCONS ], ARGS < day-noun-lex-sign & [ SYNSEM.LOC [ CONT [ hook [INDEX #dind, ltop #dhand] ] ]], count-noun-lex-sign & [ SYNSEM.LOC [ CAT [ head #dphead ], CONT [ hook [INDEX #dpind, ltop #dphand], KEY #dpkey & day-part-rel ] ], key-arg + ] > ]. ;; als Adjunkt ;; Ich komme Montag Vormittag. ;; Was ist mit "ich komme jeden Montag Nachmittag"? montag-vormittag-2 := mw-complex-2-rule-collect-constr-2-liszt & [ synsem complete-time-mod-noun-synsem & [ loc [ cat [ head [ cas #dpcase & [ morph-case acc-val], MOD.loc.CONT [hook #modhook] ] ], cont mrs & [ hook [INDEX #dpind, ltop #dtthand], KEY #dpkey, MODCONT [--scopal -, hook #modhook & [ INDEX #mind, ltop #mhand]] ], uniagr #uniagr & [cas.morph-case acc-val] ] ], C-CONT [ RELS , HCONS ], ARGS < day-noun-lex-sign & [ SYNSEM.LOC [ CONT.hook [ INDEX #dind, ltop #dhand ] ]], count-noun-lex-sign & [ SYNSEM.LOC [ CAT.HEAD.CAS #dpcase, CONT [ hook [INDEX #dpind, ltop #dphand], KEY #dpkey & day-part-rel ], UNIAGR #uniagr], key-arg + ] > ]. ;; Montag den siebenten April month-year := cle-binary-rule-collect-constr-2-liszt & [synsem noun-synsem & [ loc [ cat #cat, uniagr #agr, adjunction #adj, cont [ hook [INDEX #index, ltop #handle], KEY #key] ], nonloc undef-nonlocs, que ], C-CONT [ RELS , HCONS ], ARGS <[ synsem day-noun-synsem & [loc [ cat #cat, uniagr #agr, adjunction #adj, CONT [ hook [INDEX #index & [png p-s-g], ltop #handle], KEY #key] ], lex +], key-arg + ], sign & [ SYNSEM complete-ref-comp-noun-synsem & [LOC [CONT [ hook [INDEX #prep & [ SORT time ] ] ], UNIAGR #agr & nda-n-g ], phrase + ] ] > ]. date-2 := cle-binary-rule-collect-constr-2-liszt & [synsem noun-synsem & [ loc [ cat #cat, uniagr #agr, adjunction #adj, cont [ hook [INDEX #index, ltop #handle], KEY #key] ], nonloc undef-nonlocs, que ], C-CONT [ RELS , HCONS ], ARGS <[ synsem day-noun-synsem & [loc [ cat #cat, uniagr #agr, adjunction #adj, CONT [ hook [INDEX #index & [png p-s-g], ltop #handle], KEY #key] ], lex +], key-arg + ], sign & [ SYNSEM complete-ref-comp-noun-synsem & [LOC [CONT [ hook [INDEX #prep & [ SORT time ] ] ], UNIAGR #agr & nda-n-g ], phrase + ] ] > ]. date-2-mod := cle-binary-rule-collect-constr-2-liszt & [synsem noun-synsem & [ loc [ cat #cat, uniagr #agr, adjunction #adj, cont [ hook [INDEX #index, ltop #handle], KEY #key] ], nonloc undef-nonlocs, que ], C-CONT [ RELS , HCONS ], ARGS <[ synsem fak-det-time-mod-noun-synsem & [loc [ cat #cat, uniagr #agr, adjunction #adj, CONT [ hook [INDEX #index & [png p-s-g], ltop #handle], KEY #key & dofw_rel] ], lex +], key-arg + ], sign & [ SYNSEM complete-ref-comp-noun-synsem & [LOC [CONT [ hook [INDEX #prep & [ SORT time ] ] ], UNIAGR #agr & nda-n-g ], phrase + ] ] > ]. ;;; nachmittags nach fuenf uhr daytime-clocktime-rule-1 := complete-cle-binary-rule-collect-2-liszt & [ synsem mod-adv-synsem & [ LOC [ CONT [ hook [INDEX #modinst, ltop #modh], MODCONT [--scopal -, hook [ INDEX #modinst, ltop #modh ]]] ] ], ARGS < scopal-quant-adv-lex-sign & [ SYNSEM.LOC.CONT [ALTKEY day-part-rel & [ LBL #nhand, ARG0 #nind], RELS.LIST < [ ARG1 #modinst, LBL #modh ], ... > ], key-arg + ], sign & [ SYNSEM verb-mod-pp-synsem & [ LOC.CONT [ modcont.hook.index #nind, hook [xarg #nind, ltop #nhand], KEY prep-mod-rel & [ ARG2.SORT time ], RELS.LIST < [], ctime_rel, ... >] ] ] > ]. ;;; um sechs uhr abends daytime-clocktime-rule-2 := complete-cle-binary-rule-collect-2-liszt & [ synsem mod-adv-synsem & [ LOC [ CONT [ hook [INDEX #modinst, ltop #modh], MODCONT.hook [ INDEX #modinst, ltop #modh ]] ] ], ARGS < sign & [ SYNSEM verb-mod-pp-synsem & [ LOC.CONT [ hook [INDEX #modinst, ltop #modh], KEY prep-mod-rel & [ ARG2 #cind & [ SORT time ] ], RELS.LIST < [], ctime_rel & [ LBL #chand ], ... >] ], key-arg + ], scopal-quant-adv-lex-sign & [ SYNSEM.LOC.CONT [ hook [INDEX #cind], ALTKEY day-part-rel, RELS.LIST < [ ARG1 #cind, LBL #chand ], ... > ] ] > ]. ;; zwei Uhr am sechzehnten clocktime-date-pp-rule-1 := complete-cle-binary-rule-collect-2-liszt & [ synsem complete-ref-comp-noun-synsem & [ LOC.CONT [ hook [ltop #hand, INDEX #ind], KEY #key] ], ARGS < sign & [ SYNSEM complete-ref-comp-noun-synsem & [ LOC.CONT [ hook [ltop #hand, INDEX #ind], KEY #key & time_carg_rel & [PRED "clock_time_rel"]] ] ], sign & [ SYNSEM noun-mod-pp-synsem & [LOC [uniagr d-n-g, CONT [ modcont.hook.index #ind, hook [index [psort locative-adj], XARG #ind & [ SORT time ], ltop #hand], KEY an_rel & [ARG2 [png p-s-m, SORT time ] ] ] ]]] > ]. no-spr-relational-time-noun := anfang-naechster-woche-1-no-spr & [args.first.synsem.loc.cont.--key anfang-mitte-ende_n_rel ]. no-spr-relational-time-noun-mod := anfang-naechster-woche-2-no-spr & [args.first.synsem.loc.cont.--key anfang-mitte-ende_n_rel ]. ;; Frühjahr zweitausend ;; April zweitausend time-region-year-rule-1 := complete-cle-binary-rule-collect-2-liszt & [synsem complete-ref-comp-noun-synsem & [LOC.CONT [ hook [ltop #hand, INDEX #ind], KEY #key] ], ARGS < sign & [ SYNSEM complete-ref-comp-noun-synsem & [LOC.CONT [ hook [ltop #hand, INDEX #ind], KEY #key & time_rel] ] ], sign & [ SYNSEM noun-mod-pp-synsem & [LOC.CONT [ modcont.hook.index #ind, hook [XARG #ind & [ SORT time ], ltop #hand], KEY an_rel & [ ARG2.SORT time ] ] ] ]> ]. ;;; Herr Mueller titel-name-rule := mw-complex-2-rule-collect-constr-2-liszt & [ synsem saturated-ref-comp-noun-synsem & [ LOC [ cat.head.cas.morph-case #cas, CONT [ hook [ltop #uhand, INDEX #ind], KEY #key ], UNIAGR #uniagr ], nonloc undef-nonlocs, que ], C-CONT [ RELS , HCONS ], ARGS < title-noun-lex-sign & [ SYNSEM.LOC [ cat.head.cas.morph-case #cas, CONT [ hook [ltop #hand, INDEX #ind] ], UNIAGR #uniagr ], key-arg +], [ SYNSEM proper-noun-synsem & [ LOC [ cat.head.cas.morph-case #cas, CONT [ hook [INDEX #ind & [ SORT human ], ltop #hand], KEY #key & named_ep], uniagr #uniagr ] ] ] > ]. ;;; Herr/Frau Doktor Mueller anrede-titel-name-rule := mw-complex-3-rule-collect-constr-3-liszt & [ synsem saturated-ref-comp-noun-synsem & [ LOC [ cat.head.cas.morph-case #cas, CONT [ hook [ltop #uhand, INDEX #ind], KEY #key ], UNIAGR #uniagr ], nonloc undef-nonlocs, que ], C-CONT [ RELS , HCONS ], ARGS < title-noun-lex-sign & [ SYNSEM.LOC [ cat.head.cas.morph-case #cas, CONT [ hook [ltop #hand, INDEX #ind], KEY anrede_form_rel ], UNIAGR #uniagr ], key-arg + ], title-noun-lex-sign & [ SYNSEM.LOC [ cat.head.cas.morph-case #cas, CONT [ hook [ltop #hand, INDEX #ind], KEY title_rel ] ] ], [ SYNSEM proper-noun-synsem & [ LOC [ cat.head.cas.morph-case #cas, CONT [ hook [INDEX #ind & [ SORT human ], ltop #hand], KEY #key & named_ep ] ] ] ] > ]. ;;; Raum Hannover raum-location-rule := mw-complex-2-rule-collect-constr-2-liszt & [ synsem ref-comp-noun-synsem & [ loc [ cat [ head #dhead & [ LPE - ], SPR < det-synsem & [ LOC.CONT.KEY.PRED "def_q_rel" ] >, SUBCAT ], CONT mrs & [ hook [INDEX #dind, ltop #dhand], KEY #dkey ] ], nonloc undef-nonlocs, que ], C-CONT [ RELS , HCONS ], ARGS < lexical-sign & [ MORPH , HEAD [ infl [uniagr #uniagr & c-s-m & [cas.morph-case #case, png #png]] ] ] !>, SYNSEM ref-comp-noun-synsem & [ LOC [ CAT [ HEAD #dhead & [ cas.morph-case #case ] ], CONT [ hook [INDEX #dind & [png #png ], ltop #dhand], KEY #dkey ], UNIAGR #uniagr] ], key-arg + ], [ SYNSEM proper-noun-synsem & [ LOC [ CONT.hook [ INDEX #dpind & [ SORT geo_location ], ltop #dphand ] ] ] ] > ]. numbered-noun-rule-1 := mw-complex-2-rule-collect-constr-2-liszt & [ synsem ref-comp-noun-synsem & [ loc [ cat [ head #dhead & [ LPE - ], SPR < det-synsem & [ LOC [ cat.drop-det +, cont.key def_or_udef_rel] ] >, SUBCAT ], CONT mrs & [ hook [INDEX #dind, ltop #dhand], KEY #dkey ] ], nonloc undef-nonlocs, que ], C-CONT [ RELS , HCONS ], ARGS < lexical-sign & [ LR.LR_INFLECTED +, MORPH , SYNSEM ref-comp-noun-synsem & [ LOC [ CAT [ HEAD #dhead & [ cas.morph-case #case ], SUBCAT ], CONT [ hook [INDEX #dind & [png #png ], ltop #dhand], KEY #dkey ], UNIAGR #uniagr ], nonloc undef-nonlocs, que ]], lexical-sign & [ SYNSEM cardinal-number-synsem & [ LOC [ CONT.hook [ XARG #dpind, LTOP #dphand ] ] ], key-arg + ] > ]. ein-paar-det-lex := ein-paar-det-lex. clocktime-v-mod := clocktime-v-mod-rule. clocktime-n-mod := clocktime-n-mod-rule. year-v-mod := year-v-mod-rule. year-n-mod := year-n-mod-rule. month-v-mod := month-v-mod-rule. month-n-mod := month-n-mod-rule. day-v-mod := day-v-mod-rule. day-n-mod := day-n-mod-rule. time-v-mod := time-v-mod-rule. time-n-mod := time-n-mod-rule. hour-minute := hour-minute-rule. minute-before-hour := minute-hour-rule & [args <[], [synsem.loc.cont.key.pred "_vor_p_rel"], []>]. minute-after-hour := minute-hour-rule & [args <[], [synsem.loc.cont.key.pred "_nach_p_rel"], []>]. in-ordnung := default-mw-two-morph-lex-sign & [MORPH ], [ stem < "ordnung" >, key-arg + ] !>, synsem prd-pp-synsem & [ loc.cont i-sect-adv-sem-type & [ KEY.PRED "_in-ordnung_a_rel" ] ] ].