;;; -*- 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-rule-type := mw-complex-2-underived-derived-rule & [synsem non-fin-verb-synsem & [loc [ cat [ head [ --zu -, mod #mod, subj #subj, aux #aux, flip #flip, LOG-SUBJ #li, vform inf-sm ], subcat #sc, vcomp #vc, ucomps #uc ], erg #erg, cont #cont & [ hook [INDEX #i & event & [e [tense no_tense]], ltop #h], KEY #k, RELS #l, HCONS #hcons, MODCONT #modcont ] ], nonloc #nonloc, lex +, phrase - ], lr lr-syntax_min & [LR_INFLECTED +], morph , ARGS < zu-dummy & [MORPH ] !>, key-arg + ], lexical-sign & [morph , synsem non-fin-verb-synsem & [loc [ cat [ head [ --zu +, vform zu-bse-sm, mod #mod, subj #subj, aux #aux, flip #flip, LOG-SUBJ #li ], subcat #sc, vcomp #vc, ucomps #uc], erg #erg, cont #cont & [ hook [INDEX #i & [e [--zu +, tense no_tense, mood no_mood]], ltop #h], KEY #k, RELS #l, HCONS #hcons, MODCONT #modcont ] ], nonloc #nonloc, lex +, phrase - ], lr lr-syntax_min ] > ]. participle-zu-rule-type := --tpc-nonloc-reent & mw-complex-2-underived-derived-rule & [synsem adj-non-prd-synsem & [loc [ cat [ head [mod #mod, subj #subj ], subcat #sc, vcomp <>, ucomps #uc ], cont #cont & [ hook [INDEX #i & event & [e [tense none]], ltop #h], KEY #k, RELS #l, HCONS #hcons, MODCONT #modcont ] ], nonloc #nonloc, lex +, phrase - ], lr lr-syntax_min & [LR_INFLECTED +], morph , ARGS < zu-dummy & [synsem #vc, MORPH ] !>, key-arg + ], lexical-sign & [morph , synsem [loc [ cat [ head adj-head & [ mod #mod, subj #subj ], subcat #sc, vcomp < #vc >, ucomps #uc], cont #cont & [ hook [INDEX #i & [e [tense none, mood no_mood]], ltop #h], KEY #k, RELS #l, HCONS #hcons, MODCONT #modcont ] ], nonloc #nonloc, lex +, phrase - ], lr lr-syntax_min ] > ]. comp-am-lex := mw-complex-2-underived-derived-rule & comparable-sign. comp-am-adv-lex := mw-complex-2-underived-derived-rule & collect-constr-2-liszt & mod-adv-sign. mw-complex-2-rule-collect-constr-2-liszt := mw-complex-2-rule & collect-constr-2-liszt. mw-complex-3-rule-collect-constr-3-liszt := mw-complex-3-rule & collect-constr-3-liszt. mw-complex-2-rule-collect-2-liszt := mw-complex-2-rule & collect-2-liszt. cle-binary-rule-collect-2-liszt := cle-binary-rule & collect-2-liszt. complete-cle-binary-rule-collect-2-liszt := cle-binary-rule-collect-2-liszt & [ synsem complete-synsem & [ que ] ]. cle-binary-rule-collect-constr-2-liszt := cle-binary-rule & collect-constr-2-liszt. mw-complex-2-rule-mod-adv-sign := mw-complex-2-rule & collect-2-liszt & mod-adv-sign. interjection2-lex := mw-complex-underived-2-rule & mw-interjection-sign. interjection3-lex := mw-complex-underived-3-rule & mw-interjection-sign. q-tag-2-lex := mw-complex-underived-2-rule & mw-q-tag-sign. super-ein-bisschen-lex := mw-complex-underived-2-rule & [ ARGS <[ SYNSEM.LOC.CONT.KEY.PRED "_ein_q_rel", MORPH , head dx-ein-null ] !>], [morph ]> ]. ein-bisschen-non-nominal-lex := super-ein-bisschen-lex & [ ARGS <[MORPH ], [] > ]. ein-bisschen-lex := ein-bisschen-non-nominal-lex & [ synsem pre-grad-adv-synsem ]. ein-bisschen-mod-lex := ein-bisschen-non-nominal-lex & [ synsem complete-mod-grad-synsem ]. ein-bisschen-mass-grad-det-lex := super-ein-bisschen-lex & [ ARGS <[MORPH ], []>, synsem mass-grad-det-synsem & [ loc.cat.head.infl #infl ] ]. ein-paar-det-lex := mw-complex-underived-2-rule & [ ARGS <[SYNSEM det-lex-synsem & [LOC.CONT.--KEY "_ein_q_rel"], MORPH , head dx-ein-null & [ INFL.NP-LPE - ]] !>], [key-arg +, SYNSEM count-noun-synsem & [LOC.CONT.--KEY "_ein-paar_q_rel"], morph ] !>]>, synsem det-synsem & [ loc.cat.head.infl.uniagr.png p-p-g ] ]. uhrzeit-2-1 := mw-complex-underived-2-rule & [ ARGS <[MORPH ], [morph ]>, synsem complete-ref-comp-noun-synsem & [ loc [ cont mrs & [ KEY #key & computed_ctime_rel & [ HOUR #val, LBL #nhand, ARG0 #index ], hook [INDEX #index, ltop #handel], RELS , HCONS ], uniagr nda-n-g ] ] ]. uhrzeit-2-1-v-mod := mw-complex-underived-2-rule & [ ARGS <[MORPH ], [morph ]>, synsem complete-verb-mod-pp-synsem & [ loc.cont mod-pp-sem-type & [ KEY #key, RELS , HCONS ] ] ]. uhrzeit-2-1-n-mod := mw-complex-underived-2-rule & [ args <[MORPH ], [morph ]>, synsem complete-noun-mod-pp-synsem & [ loc.cont mod-pp-sem-type & [ KEY #key, RELS , HCONS ] ] ]. ;; Instance has to specify PRED of prep minute-hour-rule := self-less-rule-type & collect-constr-3-liszt & [args <[signpunct [lpunct #lpunct , rpunct no_punct, punctpair no_ppair], synsem cardinal-number-synsem & [loc.cont.modcont [hook [ltop #mlbl, index #marg0]]] ], [signpunct [rpunct no_punct, punctpair no_ppair], synsem full-noun-mod-preposition-synsem & [loc.cont.key [LBL #ltop, ARG0 event & [e no_tam], ARG1 #ind, ARG2 #marg0]], lr.basic +], [signpunct [rpunct #rpunct], synsem complete-ref-comp-noun-synsem & [loc [cont [hook [ltop #ltop, index #ind], key #key & [pred "clock_time_rel"]]]]] >, signpunct [lpunct #lpunct, rpunct #rpunct], synsem complete-ref-comp-noun-synsem & [loc [cat.spr <>, cont [key #key, hook [ltop #ltop, index #ind]]], nonloc undef-nonlocs], c-cont [RELS , HCONS ]]. hour-minute-rule := self-less-rule-type & collect-constr-2-liszt & inher-nonloc2 & cle-binary-rule & [args <[signpunct [punctpair no_ppair, rpunct no_punct_min], synsem complete-ref-comp-noun-synsem & [loc [cont [hook [ltop #ltop, index #ind], key #key & [pred "clock_time_rel"]]]]], [synsem cardinal-number-synsem & [loc.cont.modcont [hook [ltop #mlbl, index #marg0]]] ] >, synsem complete-ref-comp-noun-synsem & [loc [cat.spr <>, cont [hook [ltop #ltop, index #ind], key #key], coord -]], c-cont [RELS , HCONS ]]. clocktime-v-mod-rule := self-less-rule-type & collect-constr-1-liszt & inher-nonloc & cle-unary-rule & [args <[synsem complete-ref-comp-noun-synsem & [loc [uniagr a-n-g, cont [hook [index #arg2], key.pred "clock_time_rel"] ]]]>, synsem complete-verb-mod-pp-synsem & [loc [ coord na_or_-, cont mod-pp-sem-type & [ HOOK [INDEX #arg0, LTOP #l, XARG #arg1], KEY #key & um_rel & [ LBL #l, ARG1 #arg1, ARG0 #arg0, ARG2 #arg2 ]]]], c-cont [RELS , HCONS ]]. clocktime-n-mod-rule := self-less-rule-type & collect-constr-1-liszt & inher-nonloc & cle-unary-rule & [args <[synsem complete-ref-comp-noun-synsem & [loc [uniagr a-n-g, cont [hook [index #arg2], key.pred "clock_time_rel"] ]]]>, synsem complete-noun-mod-pp-synsem & [loc [ coord na_or_-, cont mod-pp-sem-type & [ HOOK [INDEX #arg0, LTOP #l, XARG #arg1], KEY #key & um_rel & [ LBL #l, ARG1 #arg1, ARG0 #arg0, ARG2 #arg2 ]]]], c-cont [RELS , HCONS ]]. year-v-mod-rule := self-less-rule-type & collect-constr-1-liszt & inher-nonloc & cle-unary-rule & [args <[synsem ref-comp-noun-synsem & [loc [cat.spr <[loc.cont.--key "udef_q_rel"]>, uniagr a-n-g, cont [hook [ltop #l, index #arg2], key.pred "yofc_rel"] ]]]>, synsem complete-verb-mod-pp-synsem & [loc [ coord na_or_-, cont mod-pp-sem-type & [ HOOK [INDEX #arg0, LTOP #t, XARG #arg1], KEY #key & [ PRED "unspec_temp_rel", LBL #t, ARG1 #arg1, ARG0 #arg0, ARG2 #arg2 ]]]], c-cont [RELS , HCONS ]]. year-n-mod-rule := self-less-rule-type & collect-constr-1-liszt & inher-nonloc & cle-unary-rule & [args <[synsem ref-comp-noun-synsem & [loc [cat.spr <[loc.cont.--key "udef_q_rel"]>, uniagr a-n-g, cont [hook [ltop #l, index #arg2], key.pred "yofc_rel"] ]]]>, synsem complete-noun-mod-pp-synsem & [loc [ coord na_or_-, cont mod-pp-sem-type & [ HOOK [INDEX #arg0, LTOP #t, XARG #arg1], KEY #key & [ PRED "unspec_temp_rel", LBL #t, ARG1 #arg1, ARG0 #arg0, ARG2 #arg2 ]]]], c-cont [RELS , HCONS ]]. month-v-mod-rule := self-less-rule-type & collect-constr-1-liszt & inher-nonloc & cle-unary-rule & [args <[synsem complete-ref-comp-noun-synsem & [loc [uniagr a-n-g, cont [hook [index #arg2], key mofy_rel] ]]]>, synsem complete-verb-mod-pp-synsem & [loc [ coord na_or_-, cont mod-pp-sem-type & [ HOOK [INDEX #arg0, LTOP #t, XARG #arg1], KEY #key & [ PRED "unspec_temp_rel", LBL #t, ARG1 #arg1, ARG0 #arg0, ARG2 #arg2 ]]]], c-cont [RELS , HCONS ]]. month-n-mod-rule := self-less-rule-type & collect-constr-1-liszt & inher-nonloc & cle-unary-rule & [args <[synsem complete-ref-comp-noun-synsem & [loc [cat.spr <>, uniagr a-n-g, cont [hook [index #arg2], key mofy_rel] ]]]>, synsem complete-noun-mod-pp-synsem & [loc [ coord na_or_-, cont mod-pp-sem-type & [ HOOK [INDEX #arg0, LTOP #t, XARG #arg1], KEY #key & [ PRED "unspec_temp_rel", LBL #t, ARG1 #arg1, ARG0 #arg0, ARG2 #arg2 ]]]], c-cont [RELS , HCONS ]]. day-v-mod-rule := self-less-rule-type & collect-constr-1-liszt & inher-nonloc & cle-unary-rule & [args <[synsem complete-ref-comp-noun-synsem & [loc [uniagr a-n-g, cont [hook [index #arg2], key day_rel] ]]]>, synsem complete-verb-mod-pp-synsem & [loc [ coord na_or_-, cont mod-pp-sem-type & [ HOOK [INDEX #arg0, LTOP #t, XARG #arg1], KEY #key & [ PRED "unspec_temp_rel", LBL #t, ARG1 #arg1, ARG0 #arg0, ARG2 #arg2 ]]]], c-cont [RELS , HCONS ]]. day-n-mod-rule := self-less-rule-type & collect-constr-1-liszt & inher-nonloc & cle-unary-rule & [args <[synsem complete-ref-comp-noun-synsem & [loc [cat.spr <>, uniagr a-n-g, cont [hook [index #arg2], key day_rel] ]]]>, synsem complete-noun-mod-pp-synsem & [loc [ coord na_or_-, cont mod-pp-sem-type & [ HOOK [INDEX #arg0, LTOP #t, XARG #arg1], KEY #key & [ PRED "unspec_temp_rel", LBL #t, ARG1 #arg1, ARG0 #arg0, ARG2 #arg2 ]]]], c-cont [RELS , HCONS ]]. time-v-mod-rule := self-less-rule-type & collect-constr-1-liszt & inher-nonloc & cle-unary-rule & [args <[synsem complete-ref-comp-noun-synsem & [loc [uniagr a-n-g, cont [hook [index #arg2], key time_rel] ]]]>, synsem complete-verb-mod-pp-synsem & [loc [ coord na_or_-, cont mod-pp-sem-type & [ HOOK [INDEX #arg0, LTOP #t, XARG #arg1], KEY #key & [ PRED "unspec_temp_rel", LBL #t, ARG1 #arg1, ARG0 #arg0, ARG2 #arg2 ]]]], c-cont [RELS , HCONS ]]. time-n-mod-rule := self-less-rule-type & collect-constr-1-liszt & inher-nonloc & cle-unary-rule & [args <[synsem complete-ref-comp-noun-synsem & [loc [cat.spr <>, uniagr a-n-g, cont [hook [index #arg2], key time_rel] ]]]>, synsem complete-noun-mod-pp-synsem & [loc [ coord na_or_-, cont mod-pp-sem-type & [ HOOK [INDEX #arg0, LTOP #t, XARG #arg1], KEY #key & [ PRED "unspec_temp_rel", LBL #t, ARG1 #arg1, ARG0 #arg0, ARG2 #arg2 ]]]], c-cont [RELS , HCONS ]]. #| year-n-mod-rule := self-less-rule-type & collect-constr-1-liszt & inher-nonloc & [args <[synsem complete-synsem & [loc [cat.head cardinal-number-head, cont [hook.index #arg2, key mofy_rel ] ]]]>, synsem complete-noun-mod-pp-synsem & [loc [ coord na_or_-, cont mod-pp-sem-type & [ HOOK [INDEX #arg0, LTOP #l, XARG #arg1], KEY #key & in_rel & [ LBL #l, ARG1 #arg1, ARG0 #arg0, ARG2 #arg2 ]]]], c-cont [RELS , HCONS ]]. |# #| ;; ein uhr uhrzeit-2-2 := mw-complex-2-rule & [ args <[MORPH , SYNSEM.loc.cont.key.carg #val], [synsem.loc.cont.key [pred "_uhr_n_rel"], lr [lr_inflected -], morph , key-arg + ] !>]>, synsem complete-verb-mod-pp-synsem & [ loc [ cont mod-pp-sem-type & [ KEY #key, HOOK [XARG #arg1, INDEX #arg0 ], RELS , HCONS ] ] ] ]. uhrzeit-3-1-viertel-vor-nach-sieben := mw-complex-underived-3-rule-prep-2-rule & [ args <[MORPH , HEAD px-all ]!>], [morph ], [morph ]>, synsem complete-ref-comp-noun-synsem & [ loc [ cont mrs & [ KEY #key & computed_ctime_rel & [ ARG0 #index & [ SORT time ], LBL #nhand, HOUR #val, MINUTE "15" ], hook [ltop #handel, INDEX #index], RELS , HCONS ], uniagr nda-n-g ] ] ]. uhrzeit-3-1-drei-vor-nach-sieben := mw-complex-underived-3-rule-prep-2-rule & [ ARGS <[MORPH ], [morph ], [morph ]>, synsem complete-ref-comp-noun-synsem & [ loc [ cont mrs & [ KEY #key & computed_ctime_rel & [ ARG0 #index & [ SORT time ], LBL #nhand, HOUR #val, MINUTE #minuteval1 ], hook [ltop #handel, INDEX #index], RELS , HCONS ], uniagr nda-n-g ] ] ]. uhrzeit-3-3 := mw-complex-3-rule & [ args <[MORPH ], [morph , key-arg + ] !>], [morph ]>, synsem complete-verb-mod-pp-synsem & [ loc.cont mod-pp-sem-type & [ KEY #key, RELS , HCONS ] ] ]. |# anfang-naechster-woche-1-type := inher-anc-binary & inher-nonloc2 & cle-binary-rule-collect-constr-2-liszt & [synsem complete-ref-comp-noun-synsem & [loc [ cat.head.cas #cas, coord -, cont [ hook [index [png #png ]], KEY #key ], uniagr #uniagr & [png #png] ], lex - ], ARGS < [ synsem [loc [ cat.head.cas #cas, CONT common-noun-sem-type & [ hook [index [png #png ]], KEY #key ], UNIAGR #uniagr ], lex +], key-arg + ], sign & [ SYNSEM ref-comp-noun-synsem & [ loc [ cat.subcat [list #last & *null*, last #last] , cont.hook.index.sort time ] ] ] > ]. anfang-naechster-woche-2-type := inher-nonloc2 & inher-anc-binary & cle-binary-rule-collect-constr-2-liszt & [synsem complete-time-mod-noun-synsem & [loc [ cat [ head [ cas #cas, MOD.loc.CONT.hook #modcont ] ], coord -, cont [KEY #key, hook.index [png #png ], MODCONT.hook #modcont ], uniagr #uniagr] , lex -], ARGS < [ synsem [loc [ cat.head.cas #cas, CONT common-noun-sem-type & [ hook [index [png #png] ], KEY #key], UNIAGR #uniagr ], lex +], key-arg + ], sign & [ SYNSEM ref-comp-noun-synsem & [LOC.cat.SUBCAT ] ] > ]. anfang-naechster-woche-1-spr := anfang-naechster-woche-1-type & [ synsem.loc.cont [ hook [INDEX #index1, ltop #uhand1], KEY.ARG2 #possr1 ], C-CONT [ RELS , HCONS ], ARGS < [ synsem.loc.CONT.hook [ INDEX #index1, ltop #handle1 ] ], [ SYNSEM.LOC [ cat.spr < det-synsem & [ loc.cat [ head.infl.np-decl strong, drop-det - ] ] >, CONT.hook [ INDEX #possr1 & [ SORT time ], ltop #arghandle ] ] ] > ]. anfang-naechster-woche-1-no-spr := anfang-naechster-woche-1-type & [ synsem.loc.cont [ hook [INDEX #index2, ltop #uhand2], KEY.ARG2 #possr2 ], C-CONT [ RELS , HCONS ], ARGS < [ synsem.loc.CONT.hook [ INDEX #index2, ltop #handle2], key-arg + ], sign & [ SYNSEM.LOC [ cat.spr <>, CONT [ hook [INDEX #possr2]] ] ] > ]. anfang-naechster-woche-2-spr := anfang-naechster-woche-2-type & [synsem.loc.cont [ hook [INDEX #index1, ltop #uhand1], KEY.ARG2 #possr1, MODCONT.HOOK [ INDEX #modind1, ltop #modhand1] ], C-CONT [ RELS , HCONS ], ARGS < [ synsem.loc.CONT.hook [ INDEX #index1, ltop #handle1], key-arg + ], sign & [ SYNSEM.LOC [ cat.spr < det-synsem & [ loc.cat [ head.infl.np-decl strong, drop-det - ] ] >, CONT.hook [INDEX #possr1, ltop #arghandle] ] ] > ]. anfang-naechster-woche-2-no-spr := anfang-naechster-woche-2-type & [synsem.loc.cont [hook [INDEX #index2, ltop #uhand2], KEY.ARG2 #possr2, MODCONT.HOOK [ INDEX #modind2, ltop #modhand2] ], C-CONT [ RELS , HCONS ], ARGS < [ synsem.loc.CONT.hook [ INDEX #index2, ltop #handle2 ] ], [ SYNSEM.LOC [ cat [ spr <>, SUBCAT ], CONT.hook [ INDEX #possr2] ] ] > ]. nach-hause := mw-complex-underived-2-prep-rule & [ args <[MORPH , head px-all ] !>], [morph , head [infl.uniagr d-s-n ], key-arg + ] !>]>, synsem complete-synsem & [loc.cont mod-pp-sem-type & [ KEY #key & nach_rel & [ ARG2 #arg, PSORT directional-adj ], RELS , HCONS ] ] ]. ;; zu dritt, zu viert zu-n-t := mw-complex-2-rule & collect-constr-2-liszt & [lr [lr_inflected +], c-cont [rels , hcons ], synsem complete-synsem & [loc.cont prep-sem-type & [ KEY #key & prep-rel & [ PRED "_zu_p_à_rel", LBL #hand, ARG0 event, ARG2 #ind ], hook.ltop #hand], lex +, phrase -], ARGS < lexical-sign & [MORPH ] !>, SYNSEM complement-preposition-synsem], zu-ord-infl-lrule & [synsem cardinal-number-synsem & [loc.cont [ MODCONT.HOOK [ INDEX #ind, ltop #thand ] ], lex-complete -], morph , key-arg +] > ]. zu-n-t-mod := zu-n-t & [synsem [loc.cont mod-pp-sem-type & [key.arg0.e no_tam] ], ARGS < [ ], [synsem cardinal-number-synsem] > ]. punkt-acht-1-mod := mw-complex-underived-2-rule & [ args <[MORPH , HEAD [INFL.UNIAGR nda-s-m], key-arg + ] !>], [morph , HEAD cardinal-stunden-eins-or-not-1 & [ VALUE #val ] ] !>]>, synsem complete-synsem & [ loc.cont mod-pp-sem-type & [ KEY #key, RELS , HCONS ] ] ]. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; ;; MULTI-WORD-LEXEMES ;; ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; multi-word-lexeme := lexical-nonloc-default & *rule*. default-multi-word-lexeme := multi-word-lexeme & lexical-syn-defaults. mw-two-morph-lex-sign := multi-word-lexeme & [ MORPH , ARGS < #m1 & morph-type, #m2 & morph-type> ]. mw-three-morph-lex-sign := multi-word-lexeme & [ MORPH , ARGS < #m1 & morph-type, #m2 & morph-type, #m3 & morph-type > ]. default-mw-two-morph-lex-sign := lexical-syn-defaults & mw-two-morph-lex-sign. default-mw-three-morph-lex-sign := lexical-syn-defaults & mw-three-morph-lex-sign. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; ;; MULTI-WORD-RULES ;; ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; mw-complex-rule := grammar-or-mw-rule & lexical-nonloc-default & lexical-syn-defaults & [synsem.loc.anc [self , active , inert ]]. mw-complex-2-lexical-rule := binary-grammar-or-mw-rule & no-commapair-binary-rule-type & [ morph , ARGS < lexical-sign & [morph #1], lexical-sign & [morph #2]> ]. mw-complex-2-rule := mw-complex-rule & mw-complex-2-lexical-rule & [SYNSEM [LEX +, PHRASE -]]. mw-complex-2-underived-derived-rule := mw-complex-rule & binary-grammar-or-mw-rule & apply-left-sister-rpunct+paired-no-semicol-rule-type & [SYNSEM [LEX +, PHRASE -], SIGNPUNCT [ PUNCTPAIR #punctpair, PAIRED ppair_min, --COORDPAIRED #coordpaired, INFPUNCT.--RIGHT_INFCOMMA #rinfcomma ], ARGS < [ lr.basic + ], lexical-sign & [ SIGNPUNCT [ PUNCTPAIR #punctpair, --COORDPAIRED #coordpaired, INFPUNCT.--RIGHT_INFCOMMA #rinfcomma ] ] >]. mw-complex-2-sign-stem-rule := mw-complex-rule & binary-grammar-or-mw-rule & [SYNSEM [LEX +, PHRASE -], ARGS < lexical-sign, stem >]. mw-complex-underived-2-rule := mw-complex-2-rule & [ ARGS < [ lr.basic + ], [ lr.basic + ] > ]. mw-complex-underived-3-rule := mw-complex-3-rule & [ ARGS < [ lr.basic + ], [ lr.basic + ], [ lr.basic + ] > ]. mw-complex-underived-2-int-rule := mw-complex-underived-2-rule & [ ARGS < [ synsem interjection-synsem ], [] > ]. ;; im Grunde, vor Ort, von daher mw-complex-underived-2-prep-rule := mw-complex-underived-2-rule & [ ARGS < [ synsem complement-preposition-synsem ], [] > ]. coord-mw-complex-2-rule := mw-complex-2-lexical-rule & [SYNSEM [LEX +, PHRASE -]]. mw-complex-3-rule := mw-complex-rule & ternary-grammar-or-mw-rule & [SYNSEM [LEX +, PHRASE -], morph , ARGS < lexical-sign & [ morph #1, lr.basic + ], lexical-sign & [ morph #2, lr.basic + ], lexical-sign & [ morph #3, lr.basic + ]> ]. mw-complex-underived-3-rule-prep-2-rule := mw-complex-3-rule & [ ARGS < [], [ synsem complement-preposition-synsem ], [] > ].