;;; -*- Mode: TDL; Coding: utf-8 -*- ;;; Authors: ;;; 1997-2000 Walter Kasper & Stefan Müller ;;; 2000-2002 Stefan Müller ;;; 2002-2006 Berthold Crysmann ;;; Copyright: DFKI GmbH quotesynsem :< synsem. nominal-sign-sem-type := mrs & [ hook [--relh #rh, --reli #ri, INDEX #inst, ltop #handle], RELS.LIST < nom-rel & [--reli #ri, --relh #rh, LBL #handle, ARG0 #inst ],...> ]. altkey-nominal-sign-sem-type := altkey-mrs & nominal-sign-sem-type. common-noun-sem-type := nominal-sign-sem-type & [ KEY #key & reg-nom-rel, RELS , HCONS ]. nominal-synsem-sem :< synsem. nominal-sign-sem := sign & [ SYNSEM nominal-synsem-sem ]. common-noun-synsem-sem := nominal-synsem-sem & [ LOC.CONT common-noun-sem-type ]. common-noun-sign-sem := nominal-sign-sem & [ SYNSEM common-noun-synsem-sem ]. count-noun-synsem-sem := common-noun-synsem-sem & [ loc.cont.hook.index.sort non-mass ]. count-noun-sign-sem := common-noun-sign-sem & [ SYNSEM count-noun-synsem-sem ]. mass-noun-synsem-sem := common-noun-synsem-sem & [ loc.cont.hook.index.sort mass ]. altkey-modcont-mrs-nominal-sign-sem-type := altkey-modcont-mrs & nominal-sign-sem-type. mod-noun-sem-type := altkey-modcont-mrs-nominal-sign-sem-type & [ hook [INDEX #inst, ltop #handle], KEY #key & nom-rel & [ LBL #handle, ARG0 #inst ], ALTKEY #altkey & prep-mod-rel & [ ARG2 #inst, PSORT relational-adj ], RELS , HCONS ]. mod-noun-synsem-sem := synsem & [ LOC [ CAT [ HEAD.MOD.LOC.CONT [key #modkey], SPR < [ ] > ], CONT mod-noun-sem-type & [ ALTKEY [ ARG1 #vind, LBL #vhand ], HOOK [XARG #vind], MODCONT [--scopal -, hook [ INDEX #vind, ltop #vhand], key #modkey]] ] ]. ;; relational nouns diadic-noun-base-sem-type := common-noun-sem-type & [ KEY diadic_nom_rel ]. diadic-noun-obj-synsem-sem := common-noun-synsem-sem & [ LOC [ CAT.SUBCAT , CONT diadic-noun-base-sem-type & [ KEY.ARG1 #arg ] ] ]. diadic-noun-inf-synsem-sem := nominal-synsem-sem & [ LOC [ CAT [ SUBCAT ], CONT nominal-sign-sem-type & [ KEY #key & [ ARG1 #arg ], RELS , HCONS ] ] ]. diadic-noun-clause-synsem-sem := nominal-synsem-sem & [ LOC [ CAT [ SUBCAT ], CONT nominal-sign-sem-type & [ KEY #key & [ ARG1 #arg ], RELS , HCONS ] ] ]. nominalized-noun-sem-type := altkey-nominal-sign-sem-type & [ KEY #key & nominalize_rel & [ ARG1 #noun], ALTKEY #altkey & event-rel & [ LBL #noun, ARG0 event & [E [TENSE none, MOOD no_mood, PERFECTIVE -], --PSV PSV-]], RELS , HCONS ]. nominalized-noun-synsem-sem := nominal-synsem-sem & [ LOC.CONT nominalized-noun-sem-type ]. nominalized-noun-sign-sem := nominal-sign-sem & [ SYNSEM nominalized-noun-synsem-sem ]. dofm-noun-synsem-sem := common-noun-synsem-sem & [ LOC.CONT.KEY dofm_rel ]. dofw-noun-synsem-sem := common-noun-synsem-sem & [ LOC.CONT.KEY dofw_rel ]. mofy-noun-synsem-sem := common-noun-synsem-sem & [ LOC.CONT.KEY mofy_rel ]. yofc-number-synsem-sem := synsem & [ LOC.CONT.KEY yofc_rel ]. clocktime-synsem-sem := common-noun-synsem-sem & [ LOC.CONT.KEY ctime_rel ]. unit-noun-synsem-sem :< common-noun-synsem-sem. currency-noun-synsem-sem := unit-noun-synsem-sem & [ LOC.CONT.KEY currency_rel ]. proper-name-sem-type := nominal-sign-sem-type & [ hook [INDEX [png 3-n-g]], KEY #key & named_ep, RELS , HCONS ]. proper-name-synsem-sem := nominal-synsem-sem & [ LOC.CONT proper-name-sem-type ]. unknown-name-sem-type := proper-name-sem-type & [ KEY unk_rel ]. unknown-name-synsem-sem := proper-name-synsem-sem & [ LOC.CONT unknown-name-sem-type ]. pers-pron-sem-type := nominal-sign-sem-type & [ KEY pron_rel ]. pers-pron-synsem-sem := synsem & [ LOC.CONT pers-pron-sem-type ]. personal-pronoun-sem-type := pers-pron-sem-type & [ KEY #key, HCONS , RELS ]. poss-pers-pronoun-sem-type := pers-pron-sem-type & altkey-mrs & [ALTKEY #altkey , KEY #key, RELS , HCONS ]. personal-pronoun-synsem-sem := pers-pron-synsem-sem & [ LOC.CONT personal-pronoun-sem-type ]. poss-personal-pronoun-synsem-sem := pers-pron-synsem-sem & [ LOC.CONT poss-pers-pronoun-sem-type ]. refl-pron-no-sem-type := mrs & [ hook [ltop #bot], KEY no_rel & [ LBL #bot ], RELS , HCONS ]. refl-pron-synsem-sem := synsem & [ LOC.CONT refl-pron-no-sem-type ]. expletiv-pronoun-sem-type := mrs & [ HOOK [index expl-ind], RELS , HCONS ]. rel-pron-np-sem-type := mrs & [ RELS , HCONS ]. rel-pron-np-synsem-sem := synsem & [ LOC [ CONT rel-pron-np-sem-type ] ]. rel-pron-adv-sem-type := modcont-mrs & [ hook [INDEX event & [e no_tam], LTOP #hand, XARG #mod], KEY #key & prep-mod-rel & [ LBL #hand, ARG1 #mod, ARG2 index], RELS , HCONS , MODCONT.HOOK [ INDEX #mod, ltop #hand ] ]. rel-pron-adv-synsem-sem := synsem & [ LOC [ CONT rel-pron-adv-sem-type ] ]. det-sem-type := mrs & [ hook [ltop #handle], KEY quant-or-wh-rel & [ ARG0 ref-ind, LBL #handle ] ]. det-sem-type-i := det-sem-type & [ hook [INDEX #var], KEY.ARG0 #var ]. altkey-det-sem-type-i := altkey-mrs & det-sem-type-i. det-synsem-sem := synsem & [ LOC.CONT det-sem-type ]. determiner-sem-type := det-sem-type-i & [ KEY #key & quant-rel & [ RSTR #restr ], RELS , HCONS ]. determiner-synsem-sem := det-synsem-sem & [ LOC [ CONT determiner-sem-type ] ]. dim_udef_rel := udef_rel & dim_rel. ; etwas, viel mass-grad-det-sem-type := altkey-det-sem-type-i & [ KEY #key & udef_rel & [ RSTR #restr, PRED "udef_q_rel", ARG0 #grad ], ALTKEY #altkey & adv-rel & [ ARG0 event & [e [tense none, mood no_mood, perfective -], --psv psv-], LBL #hand2, ARG1 #grad ], RELS , HCONS ]. mass-grad-det-synsem-sem := det-synsem-sem & [ LOC [ CONT mass-grad-det-sem-type ]]. ; "Intensitaets"-Quantifikation: soviel, zuviel int-grad-det-sem-type := altkey-det-sem-type-i & [ KEY #key & udef_rel & [ ARG0 #ind, RSTR #restr ], ALTKEY #altkey & adv-rel & [ LBL #hand2, ARG1 #ind, DIM #grad ], RELS , HCONS ]. bare-np-sem-type := modcont-mrs & [ hook [INDEX #var], KEY.LBL #hand, RELS.LIST < udef_rel & [ ARG0 #var , RSTR #restr], ... >, HCONS.LIST < qeq & [HARG #restr, LARG #hand], ... > ]. non-bare-np-sem-type := mrs. unrestr-det-sem-type := altkey-nominal-sign-sem-type & [ hook [INDEX #var], KEY #key, RELS , HCONS , ALTKEY #quant ]. unrestr-det-synsem-sem := synsem & [ LOC.CONT unrestr-det-sem-type ]. adj-mass-np-sem-type := mrs & [ hook [INDEX #var], KEY #key, RELS , HCONS ]. adj-mass-np-synsem-sem := synsem & [ LOC.CONT adj-mass-np-sem-type ]. wh-all-sem-type := det-sem-type & [KEY whq-rel & [RSTR #restr ], HCONS ]. wh-2-all-sem-type := det-sem-type & [KEY whq-rel & [RSTR #restr ], HCONS ]. altkey-wh-all-sem-type := altkey-mrs & wh-all-sem-type. altkey-modcont-wh-all-sem-type := altkey-wh-all-sem-type & modcont-mrs. wh-det-sem-type := wh-all-sem-type & [ hook [INDEX #var, ltop #handle], KEY #key & [ ARG0 #var, LBL #handle ], RELS ]. wh-det-synsem-sem := synsem & [ LOC.CONT wh-det-sem-type ]. wh-grad-det-sem-type := altkey-mrs & wh-2-all-sem-type & [ hook [INDEX #ind], KEY #key & [ ARG0 #grad], ALTKEY #altkey & adv-rel & [ LBL #hand3, ARG0 #ev, ARG1 #ind ], RELS , HCONS ]. wh-pron-sem-type := altkey-wh-all-sem-type & [ hook [INDEX #var, ltop #handle], KEY #key & [ ARG0 #var, LBL #handle ], ALTKEY #altkey, RELS , HCONS.LIST.FIRST [ LARG #restr ] ]. modcont-wh-pron-sem-type := isect-mod-sem-type & wh-pron-sem-type & modcont-mrs. wh-pron-synsem-sem := synsem & [ LOC.CONT wh-pron-sem-type ]. ;;; wie teuer: KEY is wh_q_rel, ALTKEY is gradual_rel wh-grad-adj-sem-type := altkey-mrs & isect-mod-sem-type & modcont-mrs & [ hook [XARG #xarg, INDEX #e, ltop #t], modcont [hook.ltop #t], KEY #key, ALTKEY #altkey, RELS , HCONS ]. wh-grad-adj-synsem-sem := synsem & [ LOC.CONT wh-grad-adj-sem-type ]. wh-adv-sem-type := wh-adj-sem-type & [hcons ]. wh-adj-sem-type := wh-all-sem-temp & isect-mod-sem-type & [ hook [INDEX #arg , ltop #arghand], ALTKEY #key & [ ARG0 #var & ref-ind, RSTR #restr ], KEY #altkey & prep-mod-rel & [ ARG0 #arg, LBL #arghand, ARG2 #var ], HCONS , RELS ]. wh-adj-synsem-sem := synsem & [ LOC.CONT wh-adj-sem-type ]. modcont-wh-adv-sem-type := wh-adv-sem-type & modcont-mrs & [hook.index event & [e [mood no_mood, tense none, perfective - ], --psv psv-]]. wh-adv-synsem-sem := synsem & [ LOC [ CONT modcont-wh-adv-sem-type & [ KEY [ LBL #modh, ARG1 #mod ], HOOK.XARG #mod, MODCONT.HOOK [ INDEX #mod, ltop #modh ]] ] ]. wh-adv-synsem-sem2 := synsem & [ LOC [ CONT modcont-wh-adv-sem-type & [ hook [INDEX #mod], MODCONT.HOOK [ INDEX #mod ] ] ] ]. ;;; Possessivpronomen basic-poss-pronoun-sem-type := altkey-det-sem-type-i & [ hook [INDEX #ind1], KEY #key & quant-rel & [ PRED "udef_q_rel", RSTR #restr ], ALTKEY [ARG0 #ind2], RELS.LIST < #key, poss-rel & [ LBL #hand, ARG1 #ind1, ARG2 #ind2], ... >, HCONS ]. rel-poss-pronoun-sem-type := basic-poss-pronoun-sem-type & [RELS ]. q-poss-pronoun-sem-type := basic-poss-pronoun-sem-type & [ALTKEY #alt , RELS ]. poss-pronoun-sem-type := basic-poss-pronoun-sem-type & [ALTKEY #alt , RELS ]. rel-poss-pronoun-synsem-sem := det-synsem-sem & [ LOC.CONT rel-poss-pronoun-sem-type ]. poss-pronoun-synsem-sem := det-synsem-sem & [ LOC.CONT poss-pronoun-sem-type ]. ;;; Adjektive: adj-sem-type := mrs & [ hook [index #i & event, xarg #x], KEY #key & adj-rel & [ ARG0 #i, ARG1 #x], RELS.LIST < #key, ... > ]. modcont-adj-sem-type := adj-sem-type & isect-mod-sem-type & modcont-mrs & [hook.ltop #t, key.lbl #t ]. adj-synsem-sem :< synsem. simple-adj-sem-type := adj-sem-type & [ RELS , HCONS ]. modcont-simple-adj-sem-type := simple-adj-sem-type & modcont-adj-sem-type. simple-adj-synsem-sem := adj-synsem-sem & [ LOC.CONT simple-adj-sem-type ]. adj-scomp-v2-synsem-sem := adj-synsem-sem & scomp-v2-disjunction-sem & [ LOC.CONT adj-sem-type ]. scopal-adj-sem-type := scopal-mod-sem-type & [ hook [ltop #handel], KEY #key & scopal_adj_rel & [ LBL #handel, ARG1 handle ], RELS ]. modcont-scopal-adj-sem-type := scopal-adj-sem-type & modcont-mrs. scopal-adj-synsem-sem := synsem & [ LOC [ CONT modcont-scopal-adj-sem-type & [ hook [INDEX #inst], MODCONT.HOOK [ INDEX #inst, ltop #scop ], KEY.ARG1 #handel, HCONS ] ] ]. cardinal-number-sem-type := modcont-mrs & [ hook [XARG #xarg, INDEX #var, ltop #handel], KEY #key & card_relation & [ ARG1 #xarg, LBL #handel, ARG0 #var & event], RELS , HCONS ]. cardinal-number-synsem-sem := synsem & [ LOC [ CONT cardinal-number-sem-type & [ hook [xarg #index, ltop #handle] , MODCONT.HOOK [ ltop #handle, INDEX #index ] ] ] ]. ;;; Ordinalzahlen: ordinal-sem-type := modcont-adj-sem-type & [ KEY ord_relation, RELS , HCONS ]. ordinal-synsem-sem := adj-synsem-sem & [ LOC [ CONT ordinal-sem-type & [ hook [INDEX #ev & event, ltop #hand], KEY [ARG0 #ev, ARG1 #id], MODCONT.HOOK [ INDEX #id, ltop #hand ] ] ] ]. ;;; Gradpartikel gradual-modifier-sem-type := modcont-mrs & isect-mod-sem-type & [ hook [ltop #handle, INDEX #ev, XARG #ind], KEY #key & gradual_rel & [ LBL #handle, ARG0 #ev & event & [e no_tam, --psv psv-] , ARG1 #ind ], MODCONT [hook [ ltop #handle, INDEX #ind & [MSORT.MODAL -]], KEY dim_rel & [ ARG0 #ind ] ], RELS , HCONS ]. gradual-modifier-synsem-sem := synsem & [ LOC [ CONT gradual-modifier-sem-type ] ]. gradual-np-modifier-sem-type := modcont-mrs & [ hook [ltop #h1, INDEX #ind], KEY #key & gradual_rel & [ LBL #handle, ARG0 event & [e no_tam, --psv psv-] , ARG1 #ind ], MODCONT [ hook [ltop #h1], KEY [ LBL #handle, ARG0 #ind ] ], RELS , HCONS ]. gradual-np-modifier-synsem-sem := synsem & [ LOC [ CONT gradual-np-modifier-sem-type ] ]. ;;; Verben: gen_verb_sem_type := mrs & [ hook [ltop handle, INDEX event & [E tam ] ]]. *verbal-sem-type* := gen_verb_sem_type & [ hook [INDEX #ind], KEY [ ARG0 #ind ] ]. verbal-sem-type := *verbal-sem-type* & [HOOK [--OIND #oind, LTOP #t], KEY event-rel &[--OIND #oind, LBL #t]]. altkey-verbal-sem-type := altkey-mrs & verbal-sem-type. verb-sem-type := verbal-sem-type & [ KEY #key, RELS.LIST <#key, ...> ]. ;;; FIX-ME in control verb synsem type control-verb-sem-type := verb-sem-type & [RELS , HCONS ]. gen_verb_synsem_sem := synsem & [ LOC.CONT gen_verb_sem_type ]. *verbal-synsem-sem* := gen_verb_synsem_sem & [ LOC.CONT *verbal-sem-type* ]. verbal-synsem-sem := *verbal-synsem-sem* & [ LOC.CONT verbal-sem-type ]. verb-synsem-sem := verbal-synsem-sem & [ LOC.CONT verb-sem-type ]. main-verb-sem-type := verb-sem-type & [ HOOK.LTOP #l, KEY.LBL #l, RELS , HCONS ]. main-verb-synsem-sem := verb-synsem-sem & [ LOC [CONT main-verb-sem-type & [HOOK.INDEX.--top #top]], NONLOC.--top #top]. aux-verb-sem-type := *verbal-sem-type* & [ RELS , HCONS ]. aux-verb-synsem-sem := *verbal-synsem-sem* & [ LOC [ CAT.VCOMP < [ LOC.CONT mrs & [key [lbl #l, arg0 #i], hook [--OIND #oind, INDEX #i, ltop #h] ] ] >, CONT aux-verb-sem-type & [ hook [--OIND #oind, INDEX #i, ltop #h], key [--OIND #oind, lbl #l, arg0 #i]] ] ]. expl-subj-verb-synsem-sem :< synsem. intrans-verb-synsem-sem :< main-verb-synsem-sem. trans-verb-synsem-sem :< main-verb-synsem-sem. trans-verb-expl-synsem-sem := trans-verb-synsem-sem & expl-subj-verb-synsem-sem. trans-verb-scomp-synsem-sem := main-verb-synsem-sem. scomp-v2-np-disjunction-sem := synsem & [ LOC [ CAT.SUBCAT.LIST < [], synsem , ... >, CONT [ KEY #key1, RELS , HCONS ] ] ]. scomp-v2-disjunction-sem := synsem & [ LOC [ CAT.SUBCAT.LIST < synsem & [LOC.CONT [ hook [index [e.tense real_tense], ltop #l ]] ], ... >, CONT mrs & [KEY #key1 &[arg2 #l], RELS , HCONS ] ] ]. trans-verb-scomp-v2-synsem-sem := main-verb-synsem-sem & scomp-v2-disjunction-sem. np-np-scomp-v2-verb-synsem-sem := verbal-synsem-sem & scomp-v2-np-disjunction-sem. trans-verb-erg-scomp-synsem-sem := main-verb-synsem-sem. ditrans-verb-synsem-sem :< main-verb-synsem-sem. free-dat-verb-sem-type := verbal-sem-type & [ hook [INDEX #ind, ltop #hand], KEY #key, RELS , HCONS ]. trans-free-dat-verb-synsem-sem := verbal-synsem-sem & [ LOC [ CAT.SUBCAT.LIST < [ LOC.CONT.HOOK.INDEX #arg ], ... >, CONT free-dat-verb-sem-type & [ RELS ] ] ]. intrans-free-dat-verb-synsem-sem := verbal-synsem-sem & [ LOC [ CAT.SUBCAT.LIST < [ LOC.CONT.HOOK.INDEX #arg ], ... >, CONT free-dat-verb-sem-type & [ RELS ] ] ]. np-np-scomp-verb-synsem-sem := main-verb-synsem-sem. np-scomp-np-verb-synsem-sem := main-verb-synsem-sem. np-int-clause-np-verb-synsem-sem :< np-scomp-np-verb-synsem-sem. adj-verb-synsem-sem := verb-synsem-sem & [ LOC [ CAT [ SUBJ < synsem & [ LOC.CONT.HOOK.INDEX #arg ] >, VCOMP < synsem & [ LOC.CONT [ hook [LTOP #l, xarg #arg, index.e [tense no_tense, mood no_mood, perfective -]] ] ], ... > ], CONT [ RELS , HCONS ] ] ]. adj-particle-verb-synsem-sem := verb-synsem-sem & [ LOC [ CAT [ SUBJ < synsem & [ LOC.CONT.HOOK.INDEX #arg ] >, VCOMP < [], synsem & [ LOC.CONT [ KEY.ARG1 #arg, hook [ltop #l, xarg #arg, index.e [tense no_tense, mood no_mood, perfective -]] ] ], ... > ], CONT [ RELS , HCONS ] ] ]. ;;; 10/12/2011: The reentrancy if the index does not look right... np-expl-adj-verb-synsem-sem := verb-synsem-sem & expl-subj-verb-synsem-sem & [ LOC [ CAT.VCOMP < synsem & [ LOC.CONT [hook [ INDEX #i, ltop #l ]]] >, CONT [ hook [INDEX #i], RELS , HCONS ] ] ]. raising-adj-verb-synsem-sem := verb-synsem-sem & [ LOC [ CAT [ SUBCAT , vcomp < synsem & [ LOC [CAT.head.subj <[loc.cont.hook [index #arg2]]>, CONT [key.arg1 #arg2, hook [xarg #arg2, ltop #l, index [e [tense no_tense, mood no_mood, perfective -]]]] ]] > ], CONT [ RELS , HCONS ] ] ]. np-pp-verb-synsem-sem :< main-verb-synsem-sem. np-pp-scomp-verb-synsem-sem := main-verb-synsem-sem. np-np-acc-pp-verb-synsem-sem :< main-verb-synsem-sem. np-np-acc-pp-control-verb-synsem-sem := main-verb-synsem-sem. scomp-verb-synsem-sem :< main-verb-synsem-sem. copula-sem-type := *verbal-sem-type* & [hook [index event & [e.stative +, --psv psv-]]]. copula-synsem-sem := *verbal-synsem-sem* & [ LOC.CONT copula-sem-type ]. copula-prd-sem-type := copula-sem-type. copula-prd-synsem-sem := copula-synsem-sem & [ LOC.CONT copula-prd-sem-type ]. copula-id-sem-type := copula-sem-type & verb-sem-type & [ KEY #key & cop-id-rel, RELS , HCONS ]. copula-id-synsem-sem := verbal-synsem-sem & [ LOC [ CAT [ SUBJ < [ LOC.CONT.HOOK.INDEX #id1 ] >, SUBCAT ], CONT copula-id-sem-type & [ KEY [ ARG1 #id1, ARG2 #id2 ] ] ] ]. modal-verb-sem-type := verb-sem-type & [ hook [INDEX [ MSORT.MODAL + ]], RELS , HCONS ]. modal-verb-synsem-sem := verb-synsem-sem & [ LOC [ CAT.VCOMP < [ LOC.CONT [HOOK.LTOP #l ]] >, CONT modal-verb-sem-type & [HCONS ] ] ]. modal-main-verb-sem-type := altkey-verbal-sem-type & [ KEY #key & [ ARG1 #h ], ALTKEY #altkey & pred-event-rel & [ PRED "abstr_v_rel", ARG0 event & [e [tense no_tense, mood no_mood, perfective -], --psv psv-], LBL #l ], RELS , HCONS ]. modal-main-verb-synsem-sem := verbal-synsem-sem & [ LOC [ CAT.SUBJ < [ loc.cont.HOOK.INDEX #ind ] >, CONT modal-main-verb-sem-type & [ ALTKEY.ARG1 #ind ] ] ]. subject-control-verb-synsem-sem := verb-synsem-sem & [ LOC [ CAT.SUBCAT.LIST < [ LOC.CONT.HOOK [INDEX [e [tense no_tense, mood no_mood]], LTOP #l ] ] >, CONT [ RELS , HCONS ] ] ]. inf-raising-verb-synsem-sem := verb-synsem-sem & [ LOC [ CAT.VCOMP < [ LOC.CONT [ hook [INDEX [e [tense no_tense, mood no_mood]], ltop #l ] ] ]>, CONT modal-verb-sem-type & [ KEY.ARG1 #h, HCONS ] ] ]. pcv-arg23-synsem-sem := verb-synsem-sem & [ LOC [ CAT [ SUBJ < [ loc.cont.HOOK.INDEX #ind ] >, VCOMP < [ LOC.CONT.HOOK.LTOP #l ] > ], CONT [ KEY [ ARG1 #ind, ARG2 #h ], RELS , HCONS ] ] ]. moechte-modal-verb-synsem-sem := pcv-arg23-synsem-sem & [ LOC.CONT.HOOK.INDEX.MSORT.MODAL + ]. aci-verb-synsem-sem := verb-synsem-sem & [ LOC [ CAT [ SUBJ < [ loc.cont.HOOK.INDEX #ind ] >, VCOMP < [ LOC.CONT.HOOK [index [e [tense no_tense, mood no_mood, perfective -]], LTOP #l ]] > ], CONT [ rels , hook [INDEX.MSORT.MODAL +], KEY [ ARG1 #ind, ARG2 #h ], HCONS ] ] ]. prep-sem-type := mrs & [ hook [INDEX #index], KEY prep-mod-rel & [ ARG0 #index & event ] ]. modcont-prep-sem-type := prep-sem-type & modcont-mrs & isect-mod-sem-type & [hook.ltop #t, key.lbl #t]. mod-pp-sem-type := modcont-prep-sem-type & [ hook [INDEX #arg0, XARG #arg, ltop #handle], key [arg0 #arg0, arg1 #arg], MODCONT.HOOK [ INDEX #arg, ltop #handle ] ]. preposition-sem-type := prep-sem-type & [ HOOK.XARG #xarg, KEY #key & [ARG1 #xarg], RELS ]. indef-preposition-sem-type := prep-sem-type & [ HOOK.XARG #xarg, KEY #key & [ARG1 #xarg, ARG2 #x & index], RELS , HCONS ]. modcont-preposition-sem-type := preposition-sem-type & modcont-mrs & isect-mod-sem-type & [hook.ltop #t, key.lbl #t, HCONS ]. indef-modcont-preposition-sem-type := indef-preposition-sem-type & modcont-mrs & isect-mod-sem-type & [hook.ltop #t, key [lbl #t]]. prepd-sem-type := prep-sem-type & [ KEY #key & [ ARG2 #ref ], RELS ]. modcont-prepd-sem-type := prepd-sem-type & modcont-mrs & isect-mod-sem-type & [hook.ltop #t, key.lbl #t]. preposition-prd-synsem-sem := synsem & [ LOC [ CAT [ SUBCAT ], CONT preposition-sem-type & [HCONS , HOOK [LTOP #t], KEY [LBL #t, ARG2 #arg] ] ] ]. preposition-mod-synsem-sem := synsem & [ LOC [ CAT [ SUBCAT ], CONT modcont-preposition-sem-type & [ hook [ltop #hand], MODCONT.HOOK [ INDEX #mod, ltop #hand ], KEY [LBL #hand, ARG1 #mod, ARG2 #arg ] ] ] ]. indef-preposition-mod-synsem-sem := synsem & [ LOC [ CAT [ SUBCAT ], CONT indef-modcont-preposition-sem-type & [ hook [ltop #hand], MODCONT.HOOK [ INDEX #mod, ltop #hand ], KEY [LBL #hand, ARG1 #mod, ARG2 #arg ] ] ] ]. preposition-mod-pp-synsem-sem := synsem & [ LOC [ CAT [ SUBCAT ], CONT modcont-preposition-sem-type & [ hook [ltop #hand], MODCONT.HOOK [ INDEX #mod, ltop #hand ], KEY [ ARG1 #mod, ARG2 #arg ] ] ] ]. prepd-mod-synsem-sem := synsem & [ LOC [ CAT [ SUBCAT ], CONT modcont-prepd-sem-type & [ hook [ltop #hand], KEY [ ARG1 #mod, ARG2 #arg ], MODCONT.HOOK [ INDEX #mod, ltop #hand ], RELS ] ] ]. i-sect-adv-basic-sem-type := isect-mod-sem-type & [ hook [INDEX #ind, XARG #xarg, ltop #handel], KEY adv-rel & [ ARG0 #ind & [e no_tam], ARG1 #xarg, LBL #handel ], HCONS ]. altkey-i-sect-adv-basic-sem-type := altkey-mrs & i-sect-adv-basic-sem-type. comp-prep-sem-type := mrs & [ hook [INDEX #ref, XARG #ev, LTOP #l], KEY #key & prep_comp_rel & [ ARG0 pevent & [E no_tam], ARG1 #ev, ARG2 #ref, LBL #l], RELS , HCONS ]. pform-type := *avm* & [pform pform]. pform-head := pform-type & head. comp-prep-synsem-sem := synsem & [ LOC [ CAT [ HEAD pform-type & [PFORM #pcase], SUBCAT ], CONT comp-prep-sem-type & [ KEY [ ARG2 #ind, PCASE #pcase ] ] ] ]. comp-prepd-sem-type := mrs & [ hook [INDEX #ref, XARG #ev, LTOP #l], KEY prep_comp_rel & [ LBL #l, ARG0 pevent & [E no_tam], ARG1 #ev, ARG2 #ref ], RELS , HCONS ]. comp-prepd-synsem-sem := synsem & [ LOC [ CAT [ HEAD.PFORM #pcase, SUBCAT ], CONT comp-prepd-sem-type & [ hcons , KEY [ ARG2 #ind, PCASE #pcase] ] ] ]. recip-prep-sem-type := prep-sem-type & [ KEY #key & [ ARG2 #pron], RELS , HCONS ]. modcont-recip-prep-sem-type := recip-prep-sem-type & isect-mod-sem-type & modcont-mrs. recip-mod-prep-synsem := synsem & [ LOC [ CONT modcont-recip-prep-sem-type & [ KEY [ LBL #hand, ARG1 #inst ], MODCONT.HOOK [ INDEX #inst, ltop #hand ] ] ] ]. i-sect-adv-sem-type := i-sect-adv-basic-sem-type & [ KEY #key, RELS ]. modcont-i-sect-adv-sem-type := i-sect-adv-sem-type & modcont-mrs. i-sect-adv-synsem-sem := synsem & [ LOC [ CONT i-sect-adv-basic-sem-type & [ hook [XARG #ind, ltop #hand], MODCONT.HOOK [ INDEX #ind, ltop #hand ] ] ] ]. pron-mod-adv-synsem-sem :< i-sect-adv-synsem-sem. grad-i-sect-adv-sem-type := altkey-i-sect-adv-basic-sem-type & [ KEY #key & [ LBL #hand, DIM #grad ], ALTKEY #altkey & gradual_rel & [ LBL #hand, ARG1 #grad ], RELS ]. modcont-grad-i-sect-adv-sem-type := grad-i-sect-adv-sem-type & modcont-mrs. scopal-mod-sem-type := mrs & [hook.index #ev, key [arg0 #ev], modcont scopal-modcont]. isect-mod-sem-type := mrs & [hook.xarg #i, modcont isect-modcont & [hook.index #i]]. scopal-adv-sem-type := scopal-mod-sem-type & [ hook [ltop #handel], KEY #key & scope-adv-rel & [LBL #handel, ARG0 event & [e no_tam ], ARG1 handle ], RELS ]. modcont-scopal-adv-sem-type := scopal-adv-sem-type & modcont-mrs. ;;; 10/12/2011: making xarg of scopal mod's reentrant with qeq's LARG scopal-adv-synsem-sem := synsem & [ LOC [ CONT modcont-scopal-adv-sem-type & [ HOOK [index #ev, xarg #l], KEY [ARG0 #ev, ARG1 #h ], HCONS ] ] ]. scopal-quant-adv-sem-type := altkey-mrs & [ hook [ltop #sch, XARG #arg, INDEX #ev], KEY #key & quant-rel & [ ARG0 #ind, RSTR #restr ], ALTKEY #altkey & nom-rel & [ LBL #restr & handle, ARG0 #ind ], RELS , HCONS ]. modcont-scopal-quant-adv-sem-type := isect-mod-sem-type & scopal-quant-adv-sem-type & modcont-mrs. scopal-quant-adv-synsem-sem := synsem & [ LOC [ CONT modcont-scopal-quant-adv-sem-type & [ RELS.LIST < [ ARG1 #inst, LBL #ind ], ... >, MODCONT.HOOK [ INDEX #inst, ltop #ind] ] ] ]. pron-pp-sem-type := altkey-mrs & [ hook [ltop #phand, INDEX #arg0, XARG #pind], ALTKEY #altkey & quant-rel & [ PRED "jen_q_rel", ARG0 #ind, RSTR #empty ], KEY #key & prep-mod-rel & [ LBL #phand, arg0 #arg0, ARG1 #pind, ARG2 #ind ], RELS , HCONS ]. modcont-pron-pp-sem-type := isect-mod-sem-type & pron-pp-sem-type & modcont-mrs. pron-mod-pp-synsem-sem := synsem & [ LOC [ CONT modcont-pron-pp-sem-type & [ KEY [ LBL #hand, ARG1 #inst ], MODCONT.HOOK [ INDEX #inst, ltop #hand ] ] ] ]. pron-prd-pp-synsem-sem := synsem & [ LOC [ CAT.head.SUBJ < [ LOC.CONT [ hook [INDEX #ind, ltop #hand] ] ] >, CONT pron-pp-sem-type & [ KEY [ LBL #hand, ARG1 #ind ] ] ] ]. pron-comp-pp-sem-type := altkey-mrs & [ hook [ltop #ltop, INDEX #ev], KEY #key, ALTKEY #altkey & quant-or-wh-rel & [ ARG0 #ind, RSTR #harg ], RELS , HCONS ]. pron-comp-pp-synsem-sem := synsem & [ LOC [ CAT.HEAD.PFORM #pcase, CONT pron-comp-pp-sem-type & [ KEY.PCASE #pcase ] ] ]. d-pron-comp-pp-sem-type := pron-comp-pp-sem-type & [ ALTKEY quant-rel & [ PRED "_jen_q_rel"], RELS ]. wh-pron-comp-pp-sem-type := pron-comp-pp-sem-type & wh-all-sem-temp & [ RELS ]. iterative-adv-sem-type := altkey-mrs & [ KEY #key & freq_rel & [ LBL #preph, ARG1 #ind, ARG2 #mal ], ALTKEY #altkey & card_relation & [ LBL #restr, ARG0 #mal ], hook [ltop #preph, INDEX #ind], RELS , HCONS ]. modcont-iterative-adv-sem-type := isect-mod-sem-type & iterative-adv-sem-type & modcont-mrs. iterative-adv-synsem-sem := synsem & [ LOC [ CONT modcont-iterative-adv-sem-type & [ KEY [ LBL #hand, ARG1 #inst ], MODCONT.HOOK [ INDEX #inst, ltop #hand ] ] ] ]. interjection-sem-type := mrs & [ hook [INDEX #i, ltop #handel], KEY #key & interjection_rel & [ ARG0 event & #i & [e no_tam], LBL #handel ], RELS , HCONS ]. interjection-synsem-sem := synsem & [ LOC.CONT interjection-sem-type ]. simple-interjection-sem-type :< interjection-sem-type. simple-interjection-synsem-sem := interjection-synsem-sem & [ LOC.CONT simple-interjection-sem-type ]. mw-interjection-sem-type :< interjection-sem-type. mw-interjection-synsem-sem := interjection-synsem-sem & [ LOC.CONT mw-interjection-sem-type ]. coord-conjunction-sem-type := modcont-mrs & [ hook [INDEX #ind], KEY #key & conjunction_rel & [ ARG0 #ind, LBL #hand ], MODCONT.HOOK.ltop #hand, RELS.LIST < #key, ... >, HCONS *diff-list* ]. coord-conjunction-synsem-sem := synsem & [ LOC.CONT coord-conjunction-sem-type ]. subordination-and-sem-type := modcont-mrs & isect-mod-sem-type & [ hook [index #ev, ltop #hand], KEY #key & subord_rel & [ LBL #hand, arg0 #ev], RELS , HCONS ]. subordination-and-synsem-sem := synsem & [ LOC [ CAT [ SUBCAT ], CONT subordination-and-sem-type & [ HOOK [XARG #mainindex, LTOP #ltop], KEY [ ARG0 event & [e no_tam, --psv psv-, --tpc tpc-], LBL #ltop, ARG1 event & #mainindex, ARG2 #harg ], HCONS , MODCONT.HOOK [ INDEX #mainindex, LTOP #ltop]] ] ]. complementizer-sem-type := mrs & [ KEY [ LBL #hand, ARG0 #ev], hook [ltop #hand, INDEX #ev], RELS , HCONS ]. complementizer-synsem-sem := synsem & [ LOC [ CAT.SUBCAT , anc anc-inactive, CONT complementizer-sem-type & [ HOOK [LTOP #l, INDEX #ev], rels , hcons ], adjunction unmodifiable] ]. empty-sem-liszt-sign := sign & [ SYNSEM.LOC.CONT [ RELS , HCONS ] ]. letter-synsem-sem := synsem & [ LOC.CONT mrs & [ hook [INDEX #ind, ltop #l], KEY #key & letter_rel & [ ARG0 #ind, LBL #l ], RELS , HCONS ] ]. wh-all-sem-temp := altkey-mrs & [ ALTKEY whq-rel , --MSGPRED ques ].