;;; -*- Mode: TDL; Coding: utf-8 -*- ;;; HAG (Hausa Grammar) ;;; Author: Berthold Crysmann ;;; 2009 ;;; Lexical types lex-item :+ [SUPRA [LEN #len & [LIST #_len], TONE.LIST #tone, TONES , LENGTHS ], SYNSEM.LKEYS [SYLS [LEN #len]]]. ; reduplicant-lex := ; word & ; norm-zero-arg & ; no-hcons-lex-item & ; [TOKENS [+LIST.FIRST.+CARG #carg ], ; MORPH [MCLASS n-pl-total-redup, ; --REDUP [--STEM #carg], ; COMPLETE na-or--], ; SUPRA [TONE.LIST cons, ; LEN.LIST cons], ; INFLECTED ; [CAN-RES na, ; FRAME na, ; NUM-GEND +], ; SYNSEM.LOCAL [CAT [VAL [SUBJ <>, ; COMPS <>, ; SPR <>]], ; CONT [RELS ; ]]]. reduplicant-lex := word & norm-zero-arg & no-hcons-lex-item & [--RED < #carg >, TOKENS.+LIST.FIRST.+CARG #carg, MORPH [MCLASS n-pl-total-redup, COMPLETE na-or--, --REDUP.--STEM <#carg>], SUPRA [TONE.LIST cons, LEN.LIST cons], INFLECTED [CAN-RES na, FRAME na, NUM-GEND bool], SYNSEM.LOCAL [CAT [VAL [SUBJ <>, COMPS <>, SPR <>]], CONT [RELS ]]]. agr-lex := lex-item & [SYNSEM.LOCAL [AGR #agr, CONT.HOOK.INDEX #agr]]. ;;; Types for TAM auxiliaries and pronouns 1-lex := lex-item & [SYNSEM.LOCAL.AGR [PNG.PN 1]]. 2-lex := lex-item & [SYNSEM.LOCAL.AGR [PNG.PN 2]]. 3-lex := lex-item & [SYNSEM.LOCAL.AGR [PNG.PN 3]]. sg-lex := lex-item & [SYNSEM.LOCAL.AGR [PNG.PN sg]]. pl-lex := lex-item & [SYNSEM.LOCAL.AGR [PNG.PN pl]]. 1-sg-lex := 1-lex & sg-lex. 2-sg-lex := 2-lex & sg-lex. 3-sg-lex := 3-lex & sg-lex. 1-pl-lex := 1-lex & pl-lex. 2-pl-lex := 2-lex & pl-lex. 3-pl-lex := 3-lex & pl-lex. 2-sg-m-lex := 2-sg-lex & [SYNSEM.LOCAL.AGR.PNG.GEND m]. 2-sg-f-lex := 2-sg-lex & [SYNSEM.LOCAL.AGR.PNG.GEND f]. 3-sg-m-lex := 3-sg-lex & [SYNSEM.LOCAL.AGR.PNG.GEND m]. 3-sg-f-lex := 3-sg-lex & [SYNSEM.LOCAL.AGR.PNG.GEND f]. 4-lex := 3-sg-lex & [SYNSEM.LOCAL.AGR.PNG.GEND anon]. ;;; The TAM auxiliaries ;ARG-ST <[],[BOUND -]>, aux-lex := no-prefix-lex & word & [SYNSEM [LOCAL.CAT.HEAD.VFORM fin, NON-LOCAL [REL , QUE ], MODIFIABLE na-or--]]. wsp-lex := aux-lex & i-can-res-lex-item & basic-one-arg & [ SYNSEM [LOCAL [ CAT [HEAD verb & [MOD <>, VFORM fin], VAL [ SPR < >, SPEC < >, SUBJ < #subj & [ LOCAL [ AGR #agr, CAT.VAL [ SPR < >, COMPS < > ], CONT.HOOK.INDEX #agr ] ]>, COMPS < #vp & [OPT -, LOCAL.CAT [VAL.SUBJ <#subj >, HEAD +nv]], ...>]], AGR #agr, CONT.HOOK.XARG #agr ]], ARG-ST <#vp & [BOUND -]>]. ; trans-first-arg-raising-lex-item & subj-aux-lex := aux-lex & i-can-res-lex-item & basic-one-arg & [ SYNSEM.LOCAL [ CAT [HEAD verb & [MOD <>, VFORM fin], VAL [ SPR < >, SPEC < >, SUBJ < #subj & [ LOCAL [ AGR #agr, CAT.VAL [ SPR < >, COMPS < > ], CONT.HOOK.INDEX #agr ] ]>, COMPS < #vp & [LOCAL.CAT [VAL.SUBJ < #subj >, HEAD +nv]], ...>]], AGR #agr, CONT.HOOK.XARG #agr ], ARG-ST <#vp & [OPT -, BOUND -]>]. ; trans-first-arg-raising-lex-item & bare-aux-lex := aux-lex & i-no-infl-lex-item & basic-one-arg & [ SYNSEM.LOCAL [ CAT [HEAD verb & [MOD <>, VFORM fin], VAL [ SPR < >, SPEC < >, SUBJ #subj, COMPS < #vp & [LOCAL [AGR #agr, CAT [VAL.SUBJ #subj , HEAD +nv], CONT.HOOK.XARG #agr]], ...>]], AGR #agr, CONT.HOOK.XARG #agr ], ARG-ST <#vp & [OPT -, BOUND -]>]. particle-head := head & [MOD <>]. neg-particle-head := particle-head. neg-particle-lex := norm-zero-arg & i-no-infl-lex-item & no-hcons-lex-item & [SYNSEM.LOCAL [CAT [HEAD neg-particle-head , VAL [SUBJ <>, COMPS <>, SPR <>, SPEC <>]], CONT [HOOK.INDEX event & [--IS -top-foc, E no_tam], RELS ]]]. cont-neg-aux-lex := aux-lex & i-no-infl-lex-item & norm-ltop-lex-item & single-rel-lex-item & basic-one-arg & [SYNSEM [LOCAL [CONT [HOOK.INDEX #e & [E continuative], RELS , HCONS ], CAT [HEAD verb & [MOD <>, VFORM indep], VAL [SUBJ #subj, COMPS <#vp & [OPT -, LOCAL [CAT [HEAD verb, VAL [SUBJ #subj, COMPS <#c & [LOCAL [CAT [HEAD +nv, VAL [SUBJ < [] >, COMPS <>]], CONT.HOOK [INDEX #e, LTOP #larg]]]>] ]]], #c >] ] ]], ARG-ST <#vp>]. neg-aux-lex := aux-lex & norm-ltop-lex-item & single-rel-lex-item & basic-one-arg & [ SYNSEM [LOCAL [ CONT [HOOK.INDEX #e & [E non-cont-tam], RELS , HCONS ], CAT [HEAD verb & [MOD <>, VFORM indep], VAL [SUBJ #subj, COMPS <#vp & canonical-synsem & [OPT -, LOCAL [CAT [HEAD verb, VAL [SUBJ #subj, COMPS <#c & [LOCAL [CAT [HEAD.VFORM non-fin, VAL [COMPS <>]], CONT.HOOK [INDEX #e, LTOP #larg]]]>]], CONT.HOOK.INDEX #e ]], #c, [OPT -, LOCAL.CAT.HEAD neg-particle-head, NON-LOCAL.SLASH ] >] ] ]], ARG-ST <#vp>]. ;;; SLASH ok fused-neg-aux-lex := aux-lex & i-can-res-lex-item & norm-ltop-lex-item & single-rel-lex-item & basic-one-arg & [ SYNSEM [LOCAL [ AGR #agr, CONT [HOOK [INDEX #e & [e perfective], XARG #agr], RELS , HCONS ], CAT [HEAD verb & [MOD <>, VFORM indep], VAL [SUBJ <#subj & [LOCAL #loc & [AGR #agr, CONT.HOOK.INDEX #agr]]>, COMPS <#vp & [OPT -, LOCAL [CAT [HEAD verb & [VFORM non-fin], VAL [SUBJ < #subj & [LOCAL #loc]>, COMPS <>]], CONT.HOOK [XARG #agr, INDEX #e, LTOP #larg]]], [OPT -, LOCAL.CAT.HEAD neg-particle-head, NON-LOCAL.SLASH ]>] ]]], ARG-ST <#vp>]. ; trans-first-arg-raising-lex-item & ;;; SLASH ok neg-sbj-aux-lex := aux-lex & norm-ltop-lex-item & single-rel-lex-item & basic-one-arg & [ SYNSEM [LOCAL [ CONT [HOOK.INDEX #e & [E sbj], RELS , HCONS ], CAT [HEAD verb & [MOD <>, VFORM indep], VAL [SUBJ <#subj>, COMPS < #vp & [OPT -, LOCAL [CAT [HEAD verb & [VFORM indep], VAL.COMPS <#c & [LOCAL [CAT [HEAD.VFORM non-fin, VAL [SUBJ <#subj>, COMPS <>]], CONT.HOOK [INDEX #e, LTOP #larg]]]>] ]], #c >] ]]], ARG-ST <#vp>]. fut-aux-lex := aux-lex & raise-sem-lex-item & [SYNSEM.LOCAL [CAT.HEAD.VFORM indep, CONT.HOOK.INDEX [E fut] ]]. fused-fut-aux-lex := simple-aux-lex & non-cont-aux-lex & fut-aux-lex & [SYNSEM.LOCAL.CAT.VAL.COMPS <[]>]. reg-fut-aux-lex := bare-aux-lex & fut-aux-lex & [ SYNSEM [LOCAL [CAT [HEAD verb & [MOD <>, VFORM fin], VAL [SUBJ #subj, COMPS <[LOCAL [CAT [HEAD verb & [VFORM dep], VAL [SUBJ #subj, COMPS <#c & [LOCAL [CAT [HEAD.VFORM non-fin, VAL [COMPS <>]]]]>]] ]], #c >]]]]]. simple-aux-lex := raise-sem-lex-item & subj-aux-lex & [SYNSEM.LOCAL.CAT [HEAD.VFORM indep, VAL.COMPS <[LOCAL.CAT [VAL.COMPS <>]]>]]. simple-wsp-lex := raise-sem-lex-item & wsp-lex & [SYNSEM.LOCAL.CAT.VAL.COMPS <[LOCAL.CAT [VAL.COMPS <>]]>]. cont-aux-lex := aux-lex & [SYNSEM.LOCAL.CAT.VAL.COMPS <[LOCAL [CAT.HEAD +nvp & [VFORM non-fin, MOD <>], CONT.HOOK.INDEX.E continuative]]>]. non-cont-aux-lex := aux-lex & [SYNSEM.LOCAL.CAT.VAL.COMPS <[LOCAL.CAT.HEAD verb & [VFORM non-fin]]>]. abs-cont-aux-lex := simple-aux-lex & cont-aux-lex & [SYNSEM.LOCAL [CONT.HOOK.INDEX [_REL -]]]. rel-cont-aux-lex := simple-aux-lex & cont-aux-lex & [SYNSEM [LOCAL [CONT.HOOK.INDEX [_REL +] ], NON-LOCAL.SLASH.LIST < [], ...> ]]. ;;; SLASH reformulated. abs-cmpl-aux-lex := simple-aux-lex & non-cont-aux-lex & [SYNSEM.LOCAL [CAT.HEAD.VFORM indep, CONT.HOOK.INDEX [E completive, _REL -]]]. rel-cmpl-aux-lex := simple-aux-lex & non-cont-aux-lex & [SYNSEM.LOCAL [CAT [HEAD.VFORM indep], CONT.HOOK.INDEX [E perfective, _REL bool] ]]. abs-pot-aux-lex := simple-aux-lex & non-cont-aux-lex & [SYNSEM [LOCAL [CAT.HEAD.VFORM fin, CONT.HOOK.INDEX [E pot, _REL -]]]]. hab-aux-lex := simple-aux-lex & non-cont-aux-lex & [SYNSEM [LOCAL [CAT.HEAD.VFORM fin, CONT.HOOK.INDEX [E hab, _REL bool]]]]. rel-pot-aux-lex := simple-aux-lex & non-cont-aux-lex & [SYNSEM [LOCAL [CAT [HEAD.VFORM indep], CONT.HOOK.INDEX [E pot, _REL +] ], NON-LOCAL.SLASH.LIST < [], ... >]]. ;;; SLASH reformulated. neg-cont-aux-lex := cont-neg-aux-lex & [SYNSEM.LOCAL [CAT.VAL.COMPS <[LOCAL.CAT.HEAD.VFORM dep],...>, CONT [HOOK.INDEX [E continuative]]]]. neg-cmpl-aux-lex := neg-aux-lex & i-no-infl-lex-item & [SYNSEM.LOCAL [CAT.VAL.COMPS <[LOCAL.CAT.HEAD.VFORM dep],...>, CONT [HOOK.INDEX [E perfective]]]]. neg-reg-aux-lex := neg-aux-lex & i-no-infl-lex-item & [SYNSEM.LOCAL [CAT.VAL.COMPS <[LOCAL.CAT.HEAD.VFORM indep],...>, CONT [HOOK.INDEX [E non-cont-tam & non-compl-tam & non-sbj-tam]]]]. sbj-lex := simple-aux-lex & non-cont-aux-lex & [SYNSEM.LOCAL [CAT.HEAD.VFORM indep, CONT.HOOK.INDEX [E sbj, _REL - ]]]. cont-wsp-lex := simple-wsp-lex & cont-aux-lex & [SYNSEM.LOCAL [CAT.HEAD.VFORM dep, CONT.HOOK.INDEX.E continuative ]]. non-cont-wsp-lex := simple-wsp-lex & non-cont-aux-lex & [SYNSEM.LOCAL [CAT.HEAD.VFORM dep, CONT.HOOK.INDEX.E non-cont-tam ]]. 1-sg-wsp-lex := 1-sg-lex & non-cont-wsp-lex. 2-sg-m-wsp-lex := 2-sg-m-lex & non-cont-wsp-lex. 2-sg-f-wsp-lex := 2-sg-f-lex & non-cont-wsp-lex. 3-sg-m-wsp-lex := 3-sg-m-lex & non-cont-wsp-lex. 3-sg-f-wsp-lex := 3-sg-f-lex & non-cont-wsp-lex. 4-wsp-lex := 4-lex & non-cont-wsp-lex. 1-pl-wsp-lex := 1-pl-lex & non-cont-wsp-lex. 2-pl-wsp-lex := 2-pl-lex & non-cont-wsp-lex. 3-pl-wsp-lex := 3-pl-lex & non-cont-wsp-lex. 1-sg-cont-wsp-lex := 1-sg-lex & cont-wsp-lex. 2-sg-m-cont-wsp-lex := 2-sg-m-lex & cont-wsp-lex. 2-sg-f-cont-wsp-lex := 2-sg-f-lex & cont-wsp-lex. 3-sg-m-cont-wsp-lex := 3-sg-m-lex & cont-wsp-lex. 3-sg-f-cont-wsp-lex := 3-sg-f-lex & cont-wsp-lex. 4-cont-wsp-lex := 4-lex & cont-wsp-lex. 1-pl-cont-wsp-lex := 1-pl-lex & cont-wsp-lex. 2-pl-cont-wsp-lex := 2-pl-lex & cont-wsp-lex. 3-pl-cont-wsp-lex := 3-pl-lex & cont-wsp-lex. ;;; Subjunctive 1-sg-sbj-lex := 1-sg-lex & sbj-lex. 2-sg-m-sbj-lex := 2-sg-m-lex & sbj-lex. 2-sg-f-sbj-lex := 2-sg-f-lex & sbj-lex. 3-sg-m-sbj-lex := 3-sg-m-lex & sbj-lex. 3-sg-f-sbj-lex := 3-sg-f-lex & sbj-lex. 4-sbj-lex := 4-lex & sbj-lex. 1-pl-sbj-lex := 1-pl-lex & sbj-lex. 2-pl-sbj-lex := 2-pl-lex & sbj-lex. 3-pl-sbj-lex := 3-pl-lex & sbj-lex. ;;; Completive 1-sg-abs-cmpl-aux-lex := 1-sg-lex & abs-cmpl-aux-lex. 2-sg-m-abs-cmpl-aux-lex := 2-sg-m-lex & abs-cmpl-aux-lex. 2-sg-f-abs-cmpl-aux-lex := 2-sg-f-lex & abs-cmpl-aux-lex. 3-sg-m-abs-cmpl-aux-lex := 3-sg-m-lex & abs-cmpl-aux-lex. 3-sg-f-abs-cmpl-aux-lex := 3-sg-f-lex & abs-cmpl-aux-lex. 4-abs-cmpl-aux-lex := 4-lex & abs-cmpl-aux-lex. 1-pl-abs-cmpl-aux-lex := 1-pl-lex & abs-cmpl-aux-lex. 2-pl-abs-cmpl-aux-lex := 2-pl-lex & abs-cmpl-aux-lex. 3-pl-abs-cmpl-aux-lex := 3-pl-lex & abs-cmpl-aux-lex. 1-sg-rel-cmpl-aux-lex := 1-sg-lex & rel-cmpl-aux-lex. 2-sg-m-rel-cmpl-aux-lex := 2-sg-m-lex & rel-cmpl-aux-lex. 2-sg-f-rel-cmpl-aux-lex := 2-sg-f-lex & rel-cmpl-aux-lex. 3-sg-m-rel-cmpl-aux-lex := 3-sg-m-lex & rel-cmpl-aux-lex. 3-sg-f-rel-cmpl-aux-lex := 3-sg-f-lex & rel-cmpl-aux-lex. 4-rel-cmpl-aux-lex := 4-lex & rel-cmpl-aux-lex. 1-pl-rel-cmpl-aux-lex := 1-pl-lex & rel-cmpl-aux-lex. 2-pl-rel-cmpl-aux-lex := 2-pl-lex & rel-cmpl-aux-lex. 3-pl-rel-cmpl-aux-lex := 3-pl-lex & rel-cmpl-aux-lex. 1-sg-neg-cmpl-aux-lex := 1-sg-lex & fused-neg-aux-lex. 3-sg-m-neg-cmpl-aux-lex := 3-sg-m-lex & fused-neg-aux-lex. 1-sg-fut-aux-lex := 1-sg-lex & fused-fut-aux-lex. 3-sg-m-fut-aux-lex := 3-sg-m-lex & fused-fut-aux-lex. ;;; Potential/Rhetorical ;;; Completive 1-sg-abs-pot-aux-lex := 1-sg-lex & abs-pot-aux-lex. 2-sg-m-abs-pot-aux-lex := 2-sg-m-lex & abs-pot-aux-lex. 2-sg-f-abs-pot-aux-lex := 2-sg-f-lex & abs-pot-aux-lex. 3-sg-m-abs-pot-aux-lex := 3-sg-m-lex & abs-pot-aux-lex. 3-sg-f-abs-pot-aux-lex := 3-sg-f-lex & abs-pot-aux-lex. 4-abs-pot-aux-lex := 4-lex & abs-pot-aux-lex. 1-pl-abs-pot-aux-lex := 1-pl-lex & abs-pot-aux-lex. 2-pl-abs-pot-aux-lex := 2-pl-lex & abs-pot-aux-lex. 3-pl-abs-pot-aux-lex := 3-pl-lex & abs-pot-aux-lex. 1-sg-rel-pot-aux-lex := 1-sg-lex & rel-pot-aux-lex. 2-sg-m-rel-pot-aux-lex := 2-sg-m-lex & rel-pot-aux-lex. 2-sg-f-rel-pot-aux-lex := 2-sg-f-lex & rel-pot-aux-lex. 3-sg-m-rel-pot-aux-lex := 3-sg-m-lex & rel-pot-aux-lex. 3-sg-f-rel-pot-aux-lex := 3-sg-f-lex & rel-pot-aux-lex. 4-rel-pot-aux-lex := 4-lex & rel-pot-aux-lex. 1-pl-rel-pot-aux-lex := 1-pl-lex & rel-pot-aux-lex. 2-pl-rel-pot-aux-lex := 2-pl-lex & rel-pot-aux-lex. 3-pl-rel-pot-aux-lex := 3-pl-lex & rel-pot-aux-lex. short-rel-pot-aux-lex := rel-pot-aux-lex & [SYNSEM.LOCAL.CAT.VAL.SUBJ <[OPT -]>]. ;;; Habitual 1-sg-hab-aux-lex := 1-sg-lex & hab-aux-lex. 2-sg-m-hab-aux-lex := 2-sg-m-lex & hab-aux-lex. 2-sg-f-hab-aux-lex := 2-sg-f-lex & hab-aux-lex. 3-sg-m-hab-aux-lex := 3-sg-m-lex & hab-aux-lex. 3-sg-f-hab-aux-lex := 3-sg-f-lex & hab-aux-lex. 4-hab-aux-lex := 4-lex & hab-aux-lex. 1-pl-hab-aux-lex := 1-pl-lex & hab-aux-lex. 2-pl-hab-aux-lex := 2-pl-lex & hab-aux-lex. 3-pl-hab-aux-lex := 3-pl-lex & hab-aux-lex. short-hab-aux-lex := hab-aux-lex & [SYNSEM.LOCAL.CAT.VAL.SUBJ <[OPT -]>]. ;;; Continuative short-abs-cont-aux-lex := abs-cont-aux-lex & [SYNSEM.LOCAL.CAT.VAL.SUBJ <[OPT -, LOCAL.CONT.HOOK.INDEX.PNG.PN 3]>]. short-rel-cont-aux-lex := rel-cont-aux-lex & [SYNSEM.LOCAL.CAT.VAL.SUBJ <[OPT -, LOCAL.CONT.HOOK.INDEX.PNG.PN 3]>]. 1-sg-abs-cont-aux-lex := 1-sg-lex & abs-cont-aux-lex. 2-sg-m-abs-cont-aux-lex := 2-sg-m-lex & abs-cont-aux-lex. 2-sg-f-abs-cont-aux-lex := 2-sg-f-lex & abs-cont-aux-lex. 3-sg-m-abs-cont-aux-lex := 3-sg-m-lex & abs-cont-aux-lex. 3-sg-f-abs-cont-aux-lex := 3-sg-f-lex & abs-cont-aux-lex. 4-abs-cont-aux-lex := 4-lex & abs-cont-aux-lex. 1-pl-abs-cont-aux-lex := 1-pl-lex & abs-cont-aux-lex. 2-pl-abs-cont-aux-lex := 2-pl-lex & abs-cont-aux-lex. 3-pl-abs-cont-aux-lex := 3-pl-lex & abs-cont-aux-lex. 1-sg-rel-cont-aux-lex := 1-sg-lex & rel-cont-aux-lex. 2-sg-m-rel-cont-aux-lex := 2-sg-m-lex & rel-cont-aux-lex. 2-sg-f-rel-cont-aux-lex := 2-sg-f-lex & rel-cont-aux-lex. 3-sg-m-rel-cont-aux-lex := 3-sg-m-lex & rel-cont-aux-lex. 3-sg-f-rel-cont-aux-lex := 3-sg-f-lex & rel-cont-aux-lex. 4-rel-cont-aux-lex := 4-lex & rel-cont-aux-lex. 1-pl-rel-cont-aux-lex := 1-pl-lex & rel-cont-aux-lex. 2-pl-rel-cont-aux-lex := 2-pl-lex & rel-cont-aux-lex. 3-pl-rel-cont-aux-lex := 3-pl-lex & rel-cont-aux-lex. ;;;;;;;;;;;;; ;;; Nouns ;;; ;;;;;;;;;;;;; noun-lex := basic-noun-lex & basic-one-arg & no-hcons-lex-item & agr-lex & no-prefix-lex & i-num-gend-lex-item & [ ARG-ST < #spr & [NON-LOCAL.SLASH ]>, INFLECTED infl-root, SYNSEM [BOUND -, LKEYS [KEYREL.PRED #key], LOCAL [CONT.HOOK. INDEX ref-ind, AGR [COG-ST activ-or-less, PNG [PN 3, GEND non-anon] ], CAT [HEAD [CASE bare, KEYS.KEY #key, MOD <>], VAL [ COMPS < >, SUBJ < >, SPEC < >, SPR < #spr & [ LOCAL.CAT.HEAD det ] > ] ]]]]. n_-_m_le := noun-lex & [SYNSEM [LKEYS.--MCLASS.INH-GEND +, LOCAL.AGR.PNG p-n-m ]]. n_-_f_le := noun-lex & [SYNSEM [LKEYS.--MCLASS.INH-GEND +, LOCAL.AGR.PNG p-n-f ]]. n_-_mf_le := noun-lex & [SYNSEM [LKEYS.--MCLASS.INH-GEND +, LOCAL.AGR.PNG p-n-g ]]. basic-dynamic-noun-lex := norm-sem-lex-item & [ SYNSEM [ LOCAL.CAT.HEAD noun, LKEYS [KEYREL event-relation]]]. dynamic-noun-lex := basic-dynamic-noun-lex & i-num-gend-lex-item & [INFLECTED infl-root, SYNSEM [BOUND -, LKEYS [KEYREL.PRED #key], LOCAL [AGR [PNG [PN 3, GEND non-anon] ], CAT [HEAD [KEYS.KEY #key, MOD <>], VAL [ SUBJ < #subj >, SPEC < >, SPR < > ] ], CONT.HOOK.XARG #xarg]], ARG-ST.FIRST #subj & [ LOCAL [ CAT.VAL [ SPR < >, COMPS < > ], CONT.HOOK.INDEX #xarg], NON-LOCAL.SLASH ]]. ;;; Reevaluate subject gaps... non-expl-lex := lex-item & [SYNSEM.LOCAL.CONT.HOOK.XARG ref-ind]. an_-_lex := dynamic-noun-lex & intransitive-lex-item & non-expl-lex & [SYNSEM [LKEYS.--MCLASS.INH-GEND +, LOCAL [CAT.VAL.COMPS frame-A-val-list & < >] ], ARG-ST < [LOCAL.CAT.HEAD noun & [MOD <>]] >]. an_-_m_le := an_-_lex & [SYNSEM [LKEYS.--MCLASS.INH-GEND +, LOCAL.AGR.PNG p-s-m ]]. an_-_f_le := an_-_lex & [SYNSEM [LKEYS.--MCLASS.INH-GEND +, LOCAL.AGR.PNG p-s-f ]]. an_np_lex := dynamic-noun-lex & transitive-lex-item & non-expl-lex & [SYNSEM [LKEYS.--MCLASS.INH-GEND +, LOCAL [CAT.VAL.COMPS frame-B-C-val-cons & <#c> ] ], ARG-ST <[LOCAL.CAT.HEAD noun & [MOD <>]], #c & [LOCAL.CAT [HEAD noun & [MOD <>], VAL [SUBJ <>, COMPS <>, SPR <>]]] >]. an_np_m_le := an_np_lex & [SYNSEM [LKEYS.--MCLASS.INH-GEND +, LOCAL.AGR.PNG p-s-m ]]. an_np_f_le := an_np_lex & [SYNSEM [LKEYS.--MCLASS.INH-GEND +, LOCAL.AGR.PNG p-s-f ]]. an_cp_lex := dynamic-noun-lex & clausal-second-arg-trans-lex-item & non-expl-lex & [SYNSEM [LKEYS.--MCLASS.INH-GEND +, LOCAL [CAT.VAL.COMPS <#c>] ], ARG-ST <[LOCAL.CAT.HEAD noun & [MOD <>]], #c & [LOCAL.CAT [HEAD +vc & [VFORM fin, MOD <>], VAL [SUBJ <>, COMPS <>]]] >]. an_cp_m_le := an_cp_lex & [SYNSEM [LKEYS.--MCLASS.INH-GEND +, LOCAL.AGR.PNG p-s-m ]]. an_cp_f_le := an_cp_lex & [SYNSEM [LKEYS.--MCLASS.INH-GEND +, LOCAL.AGR.PNG p-s-f ]]. an_expl_cp_lex := dynamic-noun-lex & clausal-expl-arg-lex-item & [SYNSEM [LKEYS.--MCLASS.INH-GEND +, LOCAL [CAT.VAL.COMPS <#c>] ], ARG-ST <[LOCAL [CAT [HEAD noun & [MOD <>]], CONT [RELS , HCONS ]], NON-LOCAL.SLASH ], #c & [LOCAL.CAT [HEAD verb & [VFORM fin, MOD <>], VAL [SUBJ <>, COMPS <>]]] >]. ;;; SLASH constraint ok an_expl_cp_m_le := an_expl_cp_lex & [SYNSEM [LKEYS.--MCLASS.INH-GEND +, LOCAL.AGR.PNG p-s-m ]]. an_expl_cp_f_le := an_expl_cp_lex & [SYNSEM [LKEYS.--MCLASS.INH-GEND +, LOCAL.AGR.PNG p-s-f ]]. ;;;;;;;;;;;;;;;;;; ;;; Adjectives ;;; ;;;;;;;;;;;;;;;;;; raise-index-mod-lex-item := norm-ltop-lex-item & [ SYNSEM.LOCAL [ CAT.HEAD.MOD < [ LOCAL.CONT.HOOK.INDEX #index ] >, CONT.HOOK.XARG #index ] ]. basic-adjective-lex := single-rel-lex-item & [ SYNSEM [ LOCAL.CAT.HEAD noun, LKEYS [--MCLASS.INH-GEND na-or--, KEYREL event-relation ]]]. basic-int-mod-adj-lex :+ [SYNSEM [LKEYS [KEYREL [ARG0 #0 & event, ARG1 #1]], LOCAL [AGR #1, CONT.HOOK [INDEX #0, XARG #1]]]]. adj-lex := basic-int-mod-adj-lex & i-num-gend-lex-item & [INFLECTED infl-root, SYNSEM [BOUND -, LOCAL [AGR #agr, CAT [VAL.SPR <>, HEAD [MOD <[MODIFIABLE +, LOCAL [CAT [HEAD noun, VAL [COMPS <>] ], AGR #agr]] > ] ]], NON-LOCAL [QUE , REL ]]]. a_-_le := adj-lex & basic-zero-arg & zero-to-bind & [SYNSEM [LOCAL.CAT.VAL [SUBJ <>, COMPS <>], NON-LOCAL.SLASH ]]. ;;; This type looks weird a_np_le := adj-lex & basic-one-arg & [SYNSEM [LKEYS.KEYREL.ARG2 #x, LOCAL [CAT.VAL [SUBJ <>, COMPS frame-A-val-cons & <#c & [LOCAL [CAT [HEAD noun, VAL [SPR <>, SUBJ <>, COMPS <>, SPEC <>]], CONT.HOOK.INDEX #x & ref-ind]]>]], NON-LOCAL.SLASH ], ARG-ST <#c>]. ;;;;;;;;;;;;; ;;; Verbs ;;; ;;;;;;;;;;;;; basic-verb-lex := lex-item & [ SYNSEM [ LOCAL.CAT.HEAD #hd, LKEYS [--TONE #tone, KEYREL relation & [ARG0 individual ], --MCLASS [LEX #tone, _HEAD #hd]]]]. ;;; Presentational verbs like babu/akwai existential-verb-lex := basic-verb-lex & basic-one-arg & [ INFLECTED [CAN-RES na, FRAME na, NUM-GEND na], SYNSEM [BOUND -, LKEYS.KEYREL [PRED #pred, ARG0 #ev], LOCAL [ CAT [HEAD verb & [MOD <>, VFORM indep], VAL [ SPR < >, SPEC < >, COMPS canon-val-list & < #arg1 & [LOCAL [CAT [HEAD noun, VAL [SPR <>, SUBJ <>, COMPS <>]], CONT.HOOK.INDEX #x]]>, SUBJ < > ]], CONT [HOOK [INDEX #ev, XARG #x], RELS.LIST.FIRST [PRED #pred, ARG1 #x]]], NON-LOCAL.REL 0-dlist & [LIST null] ], ARG-ST.FIRST #arg1 & [ LOCAL [ CAT.VAL [ COMPS < > ], CONT.HOOK.INDEX #x]] ]. pos-exist_v_le := existential-verb-lex & single-rel-lex-item & no-hcons-lex-item & norm-hook-lex-item. neg-exist_v_le := existential-verb-lex & [SYNSEM.LOCAL.CONT [HOOK [LTOP #h], RELS , HCONS ]]. ;;; Verbs do now amalgamate their SUBJ's SLASH verb-lex := basic-verb-lex & i-frame-lex-item & [ INFLECTED [NUM-GEND na], SYNSEM [BOUND -, LKEYS.KEYREL.ARG0 #ev, LOCAL [ CAT [HEAD verb & [MOD <>, VFORM non-fin], VAL [ SPR < >, SPEC < >, SUBJ < #subj > ]], CONT [HOOK [INDEX #ev, XARG #xarg]]], NON-LOCAL.REL 0-dlist & [LIST null] ], ARG-ST.FIRST #subj & [ LOCAL [ CAT.VAL [ COMPS < > ], CONT.HOOK.INDEX #xarg]] ]. norm-verb-lex := verb-lex & norm-sem-lex-item. trans-first-arg-raising-no-sem-lex-item := verb-lex & trans-first-arg-raising-lex-item & no-hcons-lex-item & [ ARG-ST < #s & [ LOCAL.CAT.HEAD noun ], #c & [ LOCAL.CONT.HOOK #hook & [INDEX event] ] >, SYNSEM [ LOCAL [CAT.VAL [SUBJ < #s >, COMPS frame-B-C-val-cons & < #c >, SPR < >, SPEC < >], CONT [HOOK #hook, RELS ] ]]]. non-expl-verb-lex := norm-verb-lex & [SYNSEM.LOCAL.CONT.HOOK.XARG event-or-ref-index]. v_-_le := intransitive-lex-item & non-expl-verb-lex & [ SYNSEM.LOCAL.CAT.VAL.COMPS frame-A-val-list & < >, ARG-ST.FIRST.LOCAL.CAT.HEAD noun & [CASE bare, MOD <>]]. v_np_le := transitive-lex-item & non-expl-verb-lex & [ SYNSEM.LOCAL.CAT.VAL.COMPS frame-B-C-val-cons & < #comps >, ARG-ST < [ LOCAL.CAT.HEAD noun & [CASE bare, MOD <>]], #comps & [ LOCAL.CAT [ VAL [ SPR <>, SUBJ <>, COMPS < > ], HEAD noun & [CASE bare, MOD <>]] ] > ]. v_np-da_le := transitive-lex-item & non-expl-verb-lex & [ SYNSEM.LOCAL.CAT.VAL.COMPS frame-B-C-val-cons & < #comps >, ARG-ST < [ LOCAL.CAT.HEAD noun & [CASE bare, MOD <>]], #comps & [ LOCAL.CAT [ VAL [ SUBJ < >, SPR < >, COMPS < > ], HEAD noun & [MOD <>]] ] > ]. v_expl_cp_le := norm-verb-lex & clausal-expl-arg-lex-item & [ SYNSEM.LOCAL.CAT.VAL.COMPS < #comp >, ARG-ST < [ LOCAL.CAT.HEAD noun & [MOD <>]], #comp & [ LOCAL.CAT [ VAL [ SUBJ <>, SPR < >, COMPS < > ], HEAD +vc & [VFORM fin, MOD <>]] ] > ]. v_cp_le := clausal-second-arg-trans-lex-item & non-expl-verb-lex & [ SYNSEM.LOCAL.CAT.VAL.COMPS < #comp >, ARG-ST < [ LOCAL.CAT.HEAD noun & [MOD <>]], #comp & [ LOCAL [CAT [ VAL [ SUBJ <>, SPR < >, COMPS < > ], HEAD +vc & [VFORM fin, MOD <>]], CONT.HOOK.INDEX event]] > ]. v_vp_tr_le := clausal-second-arg-trans-lex-item & non-expl-verb-lex & [ SYNSEM.LOCAL.CAT.VAL.COMPS frame-C-val-cons & < #comp >, ARG-ST < #subj & [ LOCAL.CAT.HEAD noun & [MOD <>]], #comp & [ LOCAL [CAT [ VAL [ SUBJ <#subj>, SPR < >, COMPS < > ], HEAD +nv & [VFORM non-fin, MOD <>]], CONT.HOOK.INDEX event]] > ]. v_vp_intr_le := clausal-second-arg-trans-lex-item & non-expl-verb-lex & [ SYNSEM.LOCAL.CAT.VAL.COMPS frame-A-val-list & < #comp >, ARG-ST < #subj & [ LOCAL.CAT.HEAD noun & [MOD <>]], #comp & [ LOCAL [CAT [ VAL [ SUBJ <#subj>, SPR < >, COMPS < > ], HEAD +nv & [VFORM non-fin, MOD <>]], CONT.HOOK.INDEX event]] > ]. v_np_cp_le := clausal-third-arg-ditrans-lex-item & non-expl-verb-lex & [ SYNSEM.LOCAL.CAT.VAL.COMPS frame-B-C-val-cons & < #comp, #ocomp >, ARG-ST < [ LOCAL.CAT.HEAD noun & [MOD <>]], #comp & [ LOCAL.CAT.HEAD noun & [CASE bare, MOD <>]], #ocomp & [ LOCAL.CAT [ VAL [ SUBJ <>, SPR < >, COMPS < > ], HEAD +vc & [VFORM fin, MOD <>]] ] > ]. v_np_np_le := ditransitive-lex-item & non-expl-verb-lex & [ SYNSEM.LOCAL.CAT.VAL.COMPS frame-B-C-val-cons & < #comps, #ocomps > , ARG-ST < [ LOCAL.CAT.HEAD noun & [CASE bare, MOD <>]], #comps & [ LOCAL.CAT [ VAL [ SUBJ <>, SPR < >, COMPS < > ], HEAD noun & [MOD <>]] ], #ocomps & [ LOCAL.CAT [ VAL [ SUBJ <>, SPR < >, COMPS < > ], HEAD noun & [CASE bare, MOD <>]]] > ]. v_wa-np_np_le := basic-three-arg-no-hcons & non-expl-verb-lex & [ SYNSEM [LOCAL [CAT.VAL.COMPS frame-D-val-cons & < #ocomps, #comps >, CONT.HOOK [LTOP #l, INDEX #e]], LKEYS.KEYREL [ ARG1 #ind1, ARG2 #ind2 ]], ARG-ST < [ LOCAL [CAT.HEAD noun & [MOD <>], CONT.HOOK.INDEX ref-ind & #ind1]], #comps & [ LOCAL [CAT [ VAL [ SUBJ <>, SPR < >, COMPS < > ], HEAD noun & [MOD <>]], CONT.HOOK.INDEX individual & #ind2]], #ocomps & [ BOUND +, LOCAL [CAT [ VAL [ SUBJ <>, SPR < >], HEAD verb & [KEYS.KEY "_wà_v_applic_rel"]], CONT.HOOK [LTOP #l, XARG #e]]]> ]. ;;; Determiner vacuous-determiner-lex := no-hcons-lex-item & norm-zero-arg & [ SYNSEM [ LOCAL [ CAT [ HEAD det & [MOD <>, KEYS.KEY #pred], VAL [SPR <>, COMPS <>, SUBJ <>]], CONT [ RELS ] ], NON-LOCAL.QUE , LKEYS.KEYREL quant-relation & [ PRED #pred ] ], ARG-ST <>]. determiner-lex := basic-determiner-lex & fully-inflected-lexeme & [SYNSEM [LOCAL.CAT [HEAD [MOD <>], VAL [COMPS <>, SUBJ <>, SPR <>]]]]. sg-determiner-lex := determiner-lex & [SYNSEM.LOCAL.CONT.HOOK.INDEX [PNG [PN sg]]]. pl-determiner-lex := determiner-lex & [SYNSEM.LOCAL.CONT.HOOK.INDEX [PNG [PN pl]]]. m-sg-determiner-lex := sg-determiner-lex & [SYNSEM.LOCAL.CONT.HOOK.INDEX [PNG [GEND m]]]. f-sg-determiner-lex := sg-determiner-lex & [SYNSEM.LOCAL.CONT.HOOK.INDEX [PNG [GEND f]]]. std-det-lex := determiner-lex & norm-zero-arg & [ARG-ST <>, SYNSEM.NON-LOCAL.QUE ]. bound-det-lex := determiner-lex & poltone-lex & word & [SYNSEM [LKEYS.KEYREL.PRED #pred, BOUND +, LOCAL [CONT.HOOK.INDEX [COG-ST activ+fam, SPECI +], CAT.HEAD bound-det & [KEYS.KEY #pred]]]]. ;;; npro-do ??? free-det-lex := determiner-lex & [SYNSEM [BOUND -, LOCAL [CONT.HOOK.INDEX.SPECI -, CAT.HEAD free-det]]]. wh-det-lex := zero-arg-que & free-det-lex & [ARG-ST <>, SYNSEM [LOCAL.CONT.HOOK.INDEX.SPECI -, NON-LOCAL.QUE ]]. sg-det-lex := std-det-lex & sg-determiner-lex & free-det-lex. m-sg-det-lex := m-sg-determiner-lex & sg-det-lex. f-sg-det-lex := f-sg-determiner-lex & sg-det-lex. pl-det-lex := std-det-lex & pl-determiner-lex & free-det-lex. wh-m-sg-det-lex := wh-det-lex & m-sg-determiner-lex. wh-f-sg-det-lex := wh-det-lex & f-sg-determiner-lex. wh-pl-det-lex := wh-det-lex & pl-determiner-lex. ;;; Selected prepositions wa-sel-lex := basic-verb-lex & basic-one-arg-no-hcons & norm-sem-lex-item & i-frame-lex-item & [INFLECTED [NUM-GEND na], ARG-ST <#ss & [LOCAL [CAT [HEAD noun & [CASE bare], VAL [SPR <>, SUBJ <>, COMPS <>]], CONT.HOOK.INDEX ref-ind & #arg2 ]]>, SYNSEM [BOUND +, LKEYS.KEYREL [LBL #l, PRED #pred & "_wà_v_applic_rel", ARG1 #arg1, ARG2 #arg2], LOCAL [CAT [HEAD verb & [VFORM non-fin, MOD <>, KEYS.KEY #pred], VAL [SUBJ <>, SPR <>, COMPS frame-B-C-val-cons & <#ss & [LOCAL.CAT.HEAD.CASE bare]>]], CONT.HOOK [LTOP #l, INDEX event & [E no_tam], XARG #arg1] ]]]. ;;; Modifier basic-adposition-lex := single-rel-lex-item & [ SYNSEM [ LOCAL.CAT.HEAD +np, LKEYS.KEYREL event-relation ]]. prep-lex := basic-int-mod-adposition-lex & basic-one-arg & i-can-res-lex-item & [ARG-ST <#c>, SYNSEM [BOUND -, LKEYS.KEYREL [ARG0 #0, ARG1 #1, ARG2 #2], LOCAL [CONT.HOOK [INDEX #0, XARG #1], CAT [HEAD.MOD <[MODIFIABLE na-or-+, LOCAL.CAT.HEAD +nv]>, VAL [SUBJ <>, COMPS <#c & [LOCAL [CAT [HEAD +np, VAL [COMPS <>, SPR <>, SUBJ <>, SPEC <>]], CONT.HOOK.INDEX #2 ]]>]]]]]. strict-prep-lex := prep-lex & [SYNSEM.LOCAL.CAT [HEAD adp, VAL.COMPS <[OPT -]>]]. uninfl-strict-prep-lex := strict-prep-lex & [INFLECTED [FRAME na]]. subord-conjunction-lex := basic-subord-conjunction-lex & hcons-lex-item & word & [INFLECTED infl-word, ARG-ST <#c>, SYNSEM [LOCAL [CONT.HOOK [INDEX event, XARG handle], CAT [HEAD adp & [MOD <[LOCAL.CONT.HOOK.INDEX event & [E real_tam]]>], VAL [SUBJ <>, SPR <>, COMPS <#c & [LOCAL [CAT [HEAD verb , VAL [COMPS <>, SPR <>, SUBJ <>, SPEC <>]]]]>]]]]]. ;;; SPR <> is probably too restrictive ;;; Should be constrained to appropriate pre-modifiers genitive-prep-lex := prep-lex & i-frame-lex-item & [SYNSEM [LKEYS.--MCLASS n-pl-uninfl, LOCAL [AGR.PNG p-s-g, CAT [HEAD noun, VAL [SPR <>, COMPS frame-B-C-val-cons ]]]]]. m-genitive-prep-lex := genitive-prep-lex & [SYNSEM [LOCAL.AGR.PNG p-s-m, LKEYS.--MCLASS.INH-GEND +]]. f-genitive-prep-lex := genitive-prep-lex & [SYNSEM [LOCAL.AGR.PNG p-s-f, LKEYS.--MCLASS.INH-GEND +]]. p_np_garee_le := uninfl-strict-prep-lex & b-word & [SYNSEM.LOCAL.CAT [VAL.COMPS <[BOUND +, LOCAL [CAT.HEAD [MOD <> ]]]>]]. ;;; Restrict to pronouns p_np_ga_le := uninfl-strict-prep-lex & word & [SYNSEM.LOCAL.CAT [VAL.COMPS <[BOUND -, LIGHT -, LOCAL.CAT.HEAD [MOD <>]]>]]. ;;; Restrict to non-pronouns p_np-mod_ga_le := uninfl-strict-prep-lex & word & [SYNSEM.LOCAL [CAT [HEAD.MOD #mod, VAL.COMPS <[BOUND -, LIGHT -, LOCAL [CAT.HEAD [MOD #mod], CONT.HOOK.LTOP #l]]>], CONT.HOOK.LTOP #l]]. ;;; Restrict to nouns p_np_le := word & uninfl-strict-prep-lex & [SYNSEM.LOCAL.CAT [VAL.COMPS <[BOUND -, LOCAL.CAT.HEAD noun & [MOD <>]]>]]. p_np-mod_le := word & uninfl-strict-prep-lex & [SYNSEM.LOCAL [CAT [HEAD.MOD <#mod>, VAL.COMPS <[BOUND -, LOCAL [CAT.HEAD +np & [CASE bare, MOD <#mod>], CONT.HOOK.LTOP #l ]]>], CONT.HOOK.LTOP #l]]. ;;; Restrict to nouns nmod-prep-lex := strict-prep-lex & [SYNSEM.LOCAL [CAT [VAL.COMPS <[OPT -, LOCAL.CAT.HEAD.MOD <>]>, HEAD.MOD <[LOCAL [CAT.HEAD noun, CONT.HOOK.INDEX ref-ind]]>], CONT.HOOK.INDEX.E no_tam]]. nmod-prep-pro-lex := nmod-prep-lex & b-word & [SYNSEM.LOCAL [CAT [VAL.COMPS <[BOUND +]>]]]. nmod-prep-npro-lex := nmod-prep-lex & word & [SYNSEM.LOCAL [CAT [VAL.COMPS <[BOUND -]>]]]. nmod-prep-strict-npro-lex := nmod-prep-npro-lex & [SYNSEM.LOCAL [CAT [VAL.COMPS <[LIGHT -]>]]]. ;;; Restrict to nouns ;;; mai/maras sg-agr-nmod-prep-npro-lex := nmod-prep-npro-lex & [SYNSEM.LOCAL [CONT.HOOK.XARG.PNG p-s-g]]. pl-agr-nmod-prep-npro-lex := nmod-prep-npro-lex & [SYNSEM.LOCAL [CONT.HOOK.XARG.PNG p-p-g]]. ;;; na/ta f-sg-agr-nmod-prep-lex := nmod-prep-lex & [SYNSEM.LOCAL.CONT.HOOK.XARG.PNG p-s-f]. pl-or-m-sg-agr-nmod-prep-lex := nmod-prep-lex & [SYNSEM.LOCAL [CONT.HOOK.XARG.PNG p-n-m+p-p-g]]. f-sg-agr-nmod-npro-prep-lex := f-sg-agr-nmod-prep-lex & nmod-prep-strict-npro-lex. f-sg-agr-nmod-pro-prep-lex := f-sg-agr-nmod-prep-lex & nmod-prep-pro-lex. f-sg-agr-nmod-n1sg-prep-lex := f-sg-agr-nmod-pro-prep-lex & [SYNSEM.LKEYS.KEYREL.ARG2.PNG.PN -1s]. f-sg-agr-nmod-1sg-prep-lex := f-sg-agr-nmod-pro-prep-lex & [SYNSEM.LKEYS.KEYREL.ARG2.PNG.PN 1s]. pl-or-m-sg-agr-nmod-npro-prep-lex := pl-or-m-sg-agr-nmod-prep-lex & nmod-prep-strict-npro-lex. pl-or-m-sg-agr-nmod-pro-prep-lex := pl-or-m-sg-agr-nmod-prep-lex & nmod-prep-pro-lex. pl-or-m-sg-agr-nmod-1sg-prep-lex := pl-or-m-sg-agr-nmod-pro-prep-lex & [SYNSEM.LKEYS.KEYREL.ARG2.PNG.PN 1s]. pl-or-m-sg-agr-nmod-n1sg-prep-lex := pl-or-m-sg-agr-nmod-pro-prep-lex & [SYNSEM.LKEYS.KEYREL.ARG2.PNG.PN -1s]. ;;; Currently not used anymore, since wà is now a verb. ;;; Using for particle dà now. (Grade 5) marker-sel-lex := raise-sem-lex-item & basic-one-arg & i-can-res-lex-item & [ SUPRA supra_reent, INFLECTED [FRAME na, NUM-GEND na], SYNSEM [ LKEYS.KEYREL.PRED #k, BOUND #b, LOCAL [CAT [HEAD noun & [KEYS.KEY #k, CASE da, VFORM #vf, MOD <>], VAL [SUBJ <>, SPR <>, SPEC <>, COMPS frame-A-val-cons & < #c & [OPT -, BOUND #b, LOCAL.CAT [HEAD noun & [MOD <>, CASE bare, VFORM #vf], VAL [SUBJ <>, SPR <>, COMPS <>, SPEC <>]]]>]]]], ARG-ST <#c>]. ;;; Complementiser complementiser-lex := fully-inflected-lexeme & basic-one-arg & [MORPH.COMPLETE +, SYNSEM.LOCAL [CAT [HEAD comp & [MOD <>, VFORM #vform & fin], VAL [SUBJ <>, COMPS <#c & [OPT -]>]], CONT [HOOK [LTOP #t, INDEX #e & event], RELS , HCONS ]], ARG-ST <#c & [LOCAL [CAT [HEAD verb & [VFORM #vform], VAL [SUBJ <>, COMPS <>]], CONT.HOOK [LTOP #t, INDEX #e & [SF prop] ]]]>]. rel-complementiser-lex := fully-inflected-lexeme & [MORPH.COMPLETE +, SYNSEM [NON-LOCAL [TO-BIND [FILLER <[CONT.HOOK.INDEX #i & ref-ind]>, SLASH #sl], SLASH , QUE #q, REL ], LOCAL [AGR #i, CAT [HEAD comp & [MOD <>, VFORM #vform & indep], VAL [SUBJ <>, COMPS <#c>]], CONT [HOOK [LTOP #t, INDEX #e & event], RELS , HCONS ]]], ARG-ST <#c & [LOCAL [CAT [HEAD verb & [VFORM #vform], VAL [SUBJ <>, COMPS <>]], CONT.HOOK [LTOP #t, INDEX #e ]], NON-LOCAL [SLASH #sl & [LIST < [], ...>], QUE #q, REL ]]>]. ;;; Adverbs ;;; Assume for now that these adverbs take saturated phrases ;;; Need to revisit system of constraints regulating modifier attachment (SYNSEM.MODIFIABLE) intersective-adv-lex := basic-int-adverb-lex & norm-zero-arg & word & [SYNSEM [LOCAL [CONT.HOOK.XARG event, CAT [HEAD.MOD < [MODIFIABLE +, LOCAL [CAT [HEAD +nvp, VAL [COMPS < >, SPR < >, SPEC < >, SUBJ < [ ] >] ], AGR #agr] ] >, VAL [COMPS < >, SPR < >, SPEC < >, SUBJ < >]], AGR #agr]]]. discourse-adv-lex := basic-int-adverb-lex & norm-zero-arg & word & [SYNSEM [MODIFIABLE -, LOCAL [CAT [HEAD.MOD < [MODIFIABLE +, LOCAL [CAT [HEAD +nvp, VAL [COMPS < >, SPR 0-1-list, SPEC < >, SUBJ < >] ], AGR #agr] ] >, VAL [COMPS < >, SPR < >, SPEC < >, SUBJ < >]], AGR #agr]]]. topic-adv-lex := discourse-adv-lex & [SYNSEM.LOCAL.CAT.HEAD.MOD < [LOCAL.CONT.HOOK.INDEX.--IS +top] > ]. focus-adv-lex := discourse-adv-lex & [SYNSEM.LOCAL.CAT.HEAD.MOD < [LOCAL.CONT.HOOK.INDEX.--IS +foc] > ]. poltone-focus-adv-lex := focus-adv-lex & poltone-lex. poltone-lex := lex-item & [SYNSEM.POLTONE.POL <#t>, SUPRA [TONE.LIST < #t, ... > ]]. m-or-pl-focus-adv-lex := focus-adv-lex & [SYNSEM.LOCAL [AGR.PNG p-n-m+p-p-g]]. f-sg-focus-adv-lex := focus-adv-lex & [SYNSEM.LOCAL [AGR.PNG p-s-f]]. ne-le := poltone-focus-adv-lex & m-or-pl-focus-adv-lex. ce-le := poltone-focus-adv-lex & f-sg-focus-adv-lex. ;;; Pronouns basic-pronoun-lex := fully-inflected-lexeme & [MORPH.COMPLETE +, SYNSEM [LOCAL [AGR index, CAT [HEAD noun & [CASE bare, MOD <>], VAL [SUBJ <>, COMPS <>, SPR <>, SPEC <>]]]]]. ;;; Give a joint representation for pronominals (synsem-type?) ; rel-pron-lex := ; basic-pronoun-lex & ; zero-arg-nonslash & ; zero-arg-nonque & ; [SYNSEM [LOCAL.CONT [HOOK.INDEX #i, ; RELS , ; HCONS ], ; NON-LOCAL.REL ]]. m-sg-rel-complementiser-lex := rel-complementiser-lex & [SYNSEM.LOCAL.AGR.PNG [PN sg, GEND m]]. f-sg-rel-complementiser-lex := rel-complementiser-lex & [SYNSEM.LOCAL.AGR.PNG [PN sg, GEND f]]. pl-rel-complementiser-lex := rel-complementiser-lex & [SYNSEM.LOCAL.AGR.PNG [PN pl]]. wh-pron-lex := norm-hook-lex-item & basic-pronoun-lex & zero-arg-nonslash & zero-arg-nonrel & zero-to-bind & [SYNSEM [BOUND -, LKEYS.KEYREL #key, LOCAL [AGR #0, CONT [HOOK [INDEX #0 & [PNG.PN 3]], RELS , HCONS ]], NON-LOCAL.QUE ]]. std-pronoun-lex := zero-to-bind & basic-pronoun-lex & [SYNSEM pronominal-synsem & [LOCAL [CAT.HEAD.KEYS.KEY "pron_rel", AGR #0, CONT [HOOK [INDEX #0]]], NON-LOCAL.QUE ]]. weak-pron-lex := std-pronoun-lex & norm-zero-arg & [SYNSEM [BOUND +, LOCAL [CAT.HEAD [MOD <>], CONT.HOOK.INDEX.COG-ST in-foc]]]. strong-pron-lex := std-pronoun-lex & [SYNSEM [MODIFIABLE na-or--, BOUND -, LIGHT +, LOCAL [CAT.HEAD [MOD <> ]]]]. 1-s-weak-pron-lex := weak-pron-lex & 1-sg-lex. 2-s-m-weak-pron-lex := weak-pron-lex & 2-sg-m-lex. 2-s-f-weak-pron-lex := weak-pron-lex & 2-sg-f-lex. 3-s-m-weak-pron-lex := weak-pron-lex & 3-sg-m-lex. 3-s-f-weak-pron-lex := weak-pron-lex & 3-sg-f-lex. 1-p-weak-pron-lex := weak-pron-lex & 1-pl-lex. 2-p-weak-pron-lex := weak-pron-lex & 2-pl-lex. 3-p-weak-pron-lex := weak-pron-lex & 3-pl-lex. 1-s-strong-pron-lex := strong-pron-lex & 1-sg-lex. 2-s-m-strong-pron-lex := strong-pron-lex & 2-sg-m-lex. 2-s-f-strong-pron-lex := strong-pron-lex & 2-sg-f-lex. 3-s-m-strong-pron-lex := strong-pron-lex & 3-sg-m-lex. 3-s-f-strong-pron-lex := strong-pron-lex & 3-sg-f-lex. 1-p-strong-pron-lex := strong-pron-lex & 1-pl-lex. 2-p-strong-pron-lex := strong-pron-lex & 2-pl-lex. 3-p-strong-pron-lex := strong-pron-lex & 3-pl-lex. ;;;;;;;;;;;;;;;;;;;; ;;; Proper names ;;; ;;;;;;;;;;;;;;;;;;;; proper-noun-lex := noun-lex & [INFLECTED infl-root, SYNSEM [LKEYS [KEYREL named-relation & [ARG0.COG-ST uniq-id] ]]]. pn_mf_le := proper-noun-lex. pn_m_le := proper-noun-lex & [SYNSEM [LKEYS [KEYREL.ARG0.PNG.GEND m]]]. pn_f_le := proper-noun-lex & [SYNSEM [LKEYS [KEYREL.ARG0.PNG.GEND f]]]. nosem-conj-lex :+ word & [ STEM < #stem . list > , SYNSEM [ LOCAL [COORD-STRAT #stem ] ] ]. conj-lex :+ word & [ STEM < #stem . list > , SYNSEM [ LOCAL [COORD-STRAT #stem ] ] ].