;; make rule for indefiniteness - where the COG status is set to ID ;; case and agreement png :+ [ PER person, NUM number, GEN gender ]. ;; feature to mark pronouns individual :+ [ PRO bool ]. ;; type to differentiate complementizers from question markers comp :+ [ COMPTYPE compt ]. person := *top*. first := person. second := person. third := person. number := *top*. sg := number. non-sg := number. dual := non-sg. pl := non-sg. gender := *top*. masc := gender. fem := gender. neut := gender. case := *top*. nom+acc := case. nom := nom+acc. acc := nom+acc. dat := case. ;; verb forms and tense ;;complet := tense. ;;pret := tense. ;;neg-comp := tense. ;;hab := tense. past := tense. present := tense. future := tense. ;;subjunct := mood. head :+ [ AUX bool, FORM form ] . ; A-D forms for later implementation of verb grades form := avm . inf := form . inflec := form. fin := inflec . imp := inflec. Averb := fin. Bverb := fin. Cverb := fin. Dverb := fin. ;;types for complementizers compt := *top*. qmarker := compt. cpmarker := compt. neg := head. ;; adposition (used only for indirect object - common nouns) +np :+ [ CASE case ]. case-marker-p-lex := basic-one-arg & raise-sem-lex-item & [ SYNSEM.LOCAL.CAT [ HEAD adp & [ MOD < > ], VAL [ SPR < >, SUBJ < >, COMPS < #comps >, SPEC < > ]], ARG-ST < #comps & [ LOCAL.CAT[ HEAD noun, VAL.SPR < > ]]> ]. ;; discourse status for demonstratives demonstrative_a_rel := predsort. proximal+dem_a_rel := demonstrative_a_rel. ;; close to speaker. distal+dem_a_rel := demonstrative_a_rel. ;; away from speaker. remote+dem_a_rel := distal+dem_a_rel. ;;away from speaker and hearer hearer+dem_a_rel := distal+dem_a_rel. ;;near hearer ;; phrase types head-comp-phrase := basic-head-1st-comp-phrase & head-initial & [ NON-HEAD-DTR.SYNSEM.LOCAL.CAT.VAL.SPR <> ]. head-final-head-comp-phrase := head-final & basic-head-1st-comp-phrase & [ HEAD-DTR.SYNSEM.LOCAL.CAT [ HEAD comp & [ COMPTYPE qmarker ], MC #mc ], NON-HEAD-DTR.SYNSEM.LOCAL.CAT [ HEAD.FORM inflec, MC #mc ]]. head-opt-subj-phrase := decl-head-opt-subj-phrase & [ HEAD-DTR.SYNSEM.LOCAL.CAT [ HEAD.FORM fin, MC +, VAL [ SUBJ < [ LOCAL.CAT.HEAD noun & [ CASE nom ] ] >] ] ]. ; ERB 2007-05-16 Need to maintain MC feature here. subj-head-phrase := decl-head-subj-phrase & head-final & [ SYNSEM.LOCAL.CAT.MC #mc, HEAD-DTR.SYNSEM.LOCAL.CAT [ MC #mc, VAL.COMPS < > ] ]. ; EBR 2007-05-19 Oops -- we weren't saying 2nd person here. ; Maybe that was on purpose, but for GMMT purposes, I'm adding it now. imperative-phrase := imp-head-opt-subj-phrase & [ HEAD-DTR.SYNSEM.LOCAL.CAT [ HEAD verb & [ FORM imp], VAL.SUBJ < [ LOCAL.CONT.HOOK.INDEX.PNG.PER second ] > ] ]. negation-phrase := ternary-head-middle-phrase & [ SYNSEM.LOCAL.CAT [ HEAD #head, VAL #val ], ARGS < L-neg-sentence-part, [ SYNSEM.LOCAL [ CAT [ HEAD #head & verb & [FORM fin], VAL #val & [ SUBJ < >, COMPS < >, SPR < >, SPEC < >] ], CONT.HOOK [ LTOP #dltop, XARG #xarg ]]], R-neg-sentence-part >, C-CONT [ RELS , HOOK [ LTOP #ltop, INDEX #index, XARG #xarg ], HCONS ]]. ; Rules for bulding NPs. Note that the Matrix uses SPR for ; the specifier of nouns and SUBJ for the subject (specifier) of verbs. head-spec-phrase := basic-head-spec-phrase & head-final. ; Bare NP phrase. Consider modifying the PRED value of the quantifier relation ; introduced to match the semantic effect of bare NPs in your language. bare-np-phrase := basic-bare-np-phrase & [ C-CONT.RELS ]. ; ERB 2007-05-16 Introducing two subtypes, to get the right distribution ; of [ COG-ST type-id ]. indef-bare-np-phrase := bare-np-phrase & [ SYNSEM.LOCAL.CONT.HOOK.INDEX.COG-ST type-id ]. def+dem-bare-np-phrase := bare-np-phrase & [ SYNSEM.LOCAL.CAT.HEAD.DEF + ]. ; Type for negative adverbs. neg-adv-lex := basic-scopal-adverb-lex & [ SYNSEM.LOCAL.CAT [ VAL [ SPR < >, COMPS < >, SUBJ < > ], HEAD.MOD < [ LOCAL.CAT.HEAD verb ] > ] ] . neg-sentence-part-lex := norm-zero-arg & [ INFLECTED + , SYNSEM.LOCAL [ CAT [HEAD neg & [MOD < >], VAL [SPR < >, SPEC < > , COMPS < >, SUBJ < >]], CONT[ RELS , HCONS ]]]. R-neg-sentence-part := neg-sentence-part-lex. L-neg-sentence-part := neg-sentence-part-lex. ; This grammar includes head-modifier rules. To keep ; out extraneous parses, constrain the value of MOD on ; various subtypes of head. This may need to be loosened later. ; This constraint says that only adverbs, adjectives, ; and adpositions can be modifiers. +nvcdmo :+ [ MOD < > ] . ;;; Coordination Strategy 1 np1-top-coord-rule := basic-np-top-coord-rule & apoly-top-coord-rule & [ SYNSEM.LOCAL [ CAT.HEAD.CASE #case, COORD-STRAT "1", CONT.HOOK.INDEX.PNG.NUM non-sg], LCOORD-DTR.SYNSEM.LOCAL.CAT.HEAD.CASE #case, RCOORD-DTR.SYNSEM.LOCAL.CAT.HEAD.CASE #case ] . np1-bottom-coord-rule := conj-first-bottom-coord-rule & np-bottom-coord-phrase & [ SYNSEM.LOCAL.COORD-STRAT "1" ] . ;;; Coordination Strategy 1 vp1-top-coord-rule := basic-vp-top-coord-rule & apoly-top-coord-rule & [ SYNSEM.LOCAL.COORD-STRAT "1" ] . vp1-bottom-coord-rule := conj-first-bottom-coord-rule & vp-bottom-coord-phrase & [ SYNSEM.LOCAL.COORD-STRAT "1" ] . ; We treat question particles as complementizers. ; Here is the lexical type for complementizers. ; ERB 2007-05-16 Need to constrain complement to be properly ; inflected (i.e., not imperative). qpart-lex-item had said ; [ FORM inflec ] on complement, that specifically allows ; imperatives. I think that [ FORM fin ] is probably more ; appropriate, and furthermore, we need this for all of ; the complementizers. complementizer-lex-item := raise-sem-lex-item & basic-one-arg & [ SYNSEM.LOCAL.CAT [ HEAD comp & [ MOD < > ], VAL [ SPR < >, SUBJ < >, COMPS < #comp > ] ], ARG-ST < #comp & [ LOCAL.CAT [ HEAD verb & [ FORM fin], VAL [ SUBJ < >, COMPS < > ] ] ] > ] . ques-complementizer-lex-item := complementizer-lex-item & [ SYNSEM.LOCAL [ CAT [ MC -, HEAD.COMPTYPE cpmarker ], CONT.HOOK.INDEX.SF ques ] ]. prop-complementizer-lex-item := complementizer-lex-item & [ SYNSEM.LOCAL[ CAT [ MC -, HEAD.COMPTYPE cpmarker ], CONT.HOOK.INDEX.SF prop] ]. ; Subtype for question particles. Constrains SF to ques. qpart-lex-item := complementizer-lex-item & [ SYNSEM.LOCAL [ CAT [ MC +, HEAD.COMPTYPE qmarker, VAL [ SUBJ < >, SPEC < >, SPR < > ] ], CONT.HOOK.INDEX.SF ques ]]. ;;; Lexical types noun :+ [ MOD < >, DEF bool ]. verb :+ [MOD < > ]. det :+ [ MOD < > ]. +nvd :+ [ MOD < > ]. ;;; Nouns noun-lex := basic-noun-lex & basic-one-arg & no-hcons-lex-item & [ SYNSEM.LOCAL.CAT.VAL [ SPR < #spr & [ LOCAL.CAT.HEAD det ] >, COMPS < >, SUBJ < >, SPEC < > ], ARG-ST < #spr > ] . common-noun-lex := noun-lex & [ SYNSEM.LOCAL [ CAT.HEAD.CASE nom+acc, CONT.HOOK.INDEX.PNG.PER third ], INFLECTED - ] . ;;;; Pronouns ;;; ERB 2007-05-16 It's inconvenient to push the pronouns through ;;; the indef-lex-rule, and I don't see that it's helping anything, ;;; so let's just make them lexically [ INFLECTED + ]. pronoun-lex := noun-lex & [ SYNSEM [ LOCAL.CAT.VAL.SPR < [ OPT + ] > , LKEYS.KEYREL.PRED "_pronoun_n_rel", LOCAL.CONT.HOOK.INDEX [ PRO +, COG-ST activ-or-more, SPECI + ]], INFLECTED + ]. ;;; Verbs ;;; ERB 2007-05-16 Generator is producing verbs with no PAC. ;;; Try making them lexically [ INFLECTED - ]. ... or not, ;;; since that breaks the hacked imperatives. Rather, should ;;; just have verbs lexically specified as [ INFLECTED +/- ]. verb-lex := basic-verb-lex & [ SYNSEM.LOCAL [ CAT.VAL [ SPR < >, SPEC < >, SUBJ < #subj > ], CONT.HOOK [ XARG #xarg ]], ARG-ST < #subj & [ LOCAL [ CAT [ HEAD noun & [ CASE nom ], VAL [ SPR < >, COMPS < > ]], CONT.HOOK.INDEX #xarg & [ PRO - ] ] ], ... > ]. intransitive-verb-lex := verb-lex & intransitive-lex-item & [ SYNSEM.LOCAL.CAT.VAL.COMPS < >, ARG-ST < [ LOCAL.CAT [ HEAD noun ] ] > ] . ; ERB 2007-05-11 Added subtypes to allow for argument optionality. ; Kelsey says there is some inflectional reflex of dropped arguments. ; Not modeling that yet. transitive-verb-lex-super := verb-lex & transitive-lex-item & [ SYNSEM.LOCAL.CAT.VAL.COMPS < #comps >, ARG-ST < [ LOCAL.CAT.HEAD noun ], #comps & [ LOCAL.CAT [ VAL [ SPR < >, COMPS < > ], HEAD noun & [ CASE acc ] ] ] > ] . transitive-verb-lex := transitive-verb-lex-super & [ ARG-ST.REST.FIRST.OPT - ]. ; ERB 2007-05-11 Just guessing that for 'eat' we're dealing with ; INI here. opt-comp-transitive-verb-lex := transitive-verb-lex-super & [ ARG-ST.REST.FIRST.OPT-CS type-id ]. ditransitive-verb-lex := verb-lex & ditransitive-lex-item & [ SYNSEM.LOCAL.CAT.VAL.COMPS < #comps1, #comps2 >, ARG-ST < [ LOCAL.CAT.HEAD noun ], #comps1 & [ OPT - ], #comps2 & [ OPT - ]> ]. dat-ditrans-verb-lex := ditransitive-verb-lex & [ ARG-ST <[ LOCAL.CAT.HEAD noun ] , [ LOCAL.CAT.HEAD +np & [ CASE dat ]], [ LOCAL.CAT.HEAD noun & [ CASE acc ]]>]. ; ERB 2007-05-16 Since these are specifically allowing CP as ; well as S, they also need to day [ FORM fin ] on their complements ; to keep the imperatives out. clausal-comp-trverb-lex := verb-lex & clausal-second-arg-trans-lex-item & [ SYNSEM.LOCAL.CAT.VAL.COMPS < #comps & [ LOCAL [ CAT [ MC -, VAL [ SUBJ < > , COMPS < > ], HEAD +vc & [ FORM fin ]], CONT.HOOK.INDEX.SF prop-or-ques ]]>, ARG-ST < [LOCAL.CAT.HEAD noun], #comps >]. clausal-comp-dtrverb-lex := verb-lex & clausal-third-arg-ditrans-lex-item & [ SYNSEM.LOCAL.CAT.VAL.COMPS <#comps1 & [ LOCAL.CAT.HEAD noun & [ CASE dat ]], #comps2 & [ LOCAL [ CAT [ MC -, VAL [ SUBJ < >, COMPS < > ], HEAD +vc & [ FORM fin ]], CONT.HOOK.INDEX.SF prop-or-ques ]] >, ARG-ST < [LOCAL.CAT.HEAD noun],#comps1, #comps2> ]. ; ERB 2007-05-16 These types were constraining the verb's own SF, ; not its complement's. Fixing that... ques-comp-dtrverb-lex := clausal-comp-dtrverb-lex & [ SYNSEM.LOCAL.CAT.VAL.COMPS.REST.FIRST.LOCAL.CONT.HOOK.INDEX.SF ques ]. prop-comp-dtrverb-lex := clausal-comp-dtrverb-lex & [ SYNSEM.LOCAL.CAT.VAL.COMPS.REST.FIRST.LOCAL.CONT.HOOK.INDEX.SF prop ]. ques-comp-trverb-lex := clausal-comp-trverb-lex & [ SYNSEM.LOCAL.CAT.VAL.COMPS.FIRST.LOCAL.CONT.HOOK.INDEX.SF ques ]. prop-comp-trverb-lex := clausal-comp-trverb-lex & [ SYNSEM.LOCAL.CAT.VAL.COMPS.FIRST.LOCAL.CONT.HOOK.INDEX.SF prop ]. ;;auxiliaries aux-verb-lex := verb-lex & trans-first-arg-raising-lex-item-1 & [ SYNSEM.LOCAL [ CAT.VAL [ SUBJ < [ LOCAL.CAT.HEAD noun ] >, COMPS < #comps & [ LOCAL.CAT.HEAD verb & [ FORM inf ]]>]], ARG-ST < [ LOCAL.CAT.HEAD noun ], #comps>]. ;;adjectives ;;; ERB 2007-05-12 Kelsey says that adjectives are posthead. ;;; ... or at least the thing corresponding to "hungry" is. ;;; Her master test suite has some prehead adjectives, so I'm ;;; going to move that constraint down to the lex item. adjective-lex := basic-int-mod-adj-lex & [SYNSEM [ LOCAL [ CAT [ HEAD.MOD < [LOCAL [CAT [HEAD noun, VAL.SPR cons ]]] >, VAL [SPR < >, SUBJ < >, COMPS < > , SPEC < > ]]]]]. f-adjective-lex := adjective-lex & [ SYNSEM.LOCAL.CAT.HEAD.MOD < [ LOCAL.CONT.HOOK.INDEX.PNG [ GEN fem]]>]. m-adjective-lex := adjective-lex & [ SYNSEM.LOCAL.CAT.HEAD.MOD < [ LOCAL.CONT.HOOK.INDEX.PNG [ GEN masc]]>]. p-adjective-lex := adjective-lex & [ SYNSEM.LOCAL.CAT.HEAD.MOD < [ LOCAL.CONT.HOOK.INDEX.PNG [ NUM non-sg]]>]. ;;adverbs adverb-lex := basic-adverb-lex & intersective-mod-lex & [ SYNSEM [ LOCAL [ CAT [ HEAD.MOD < [ LOCAL.CAT[ HEAD verb, VAL [ COMPS < >, SUBJ < >] ]]>, VAL [ SPR < >, SUBJ < > , COMPS < >, SPEC < >]]]]]. ;;; Determiners ;;; SPEC is non-empty, and already specified by basic-determiner-lex. determiner-lex := basic-determiner-lex & basic-zero-arg & [ SYNSEM.LOCAL.CAT.VAL [ SPR < >, COMPS < >, SUBJ < > ] ] . ;;; ERB 2007-05-16 Assume that these take nouns in the "indefinite" ;;; form. Get this by constraining SPEC to be [ DEF - ]. demonstrative-determiner-lex := norm-hook-lex-item & basic-zero-arg & [ SYNSEM [ LOCAL [ CAT [ HEAD det, VAL [ SPEC.FIRST.LOCAL [ CAT.HEAD.DEF -, CONT.HOOK [ INDEX #ind & [COG-ST activ+fam], LTOP #larg & #lbl ]], SPR < >, SUBJ < >, COMPS < > ]], CONT [ HCONS < ! qeq & [ HARG #harg, LARG #larg ] ! >, RELS ] ], LKEYS [ KEYREL quant-relation & [ ARG0 #ind, RSTR #harg ], ALTKEYREL #lkey ]]]. ; ERB 2007-05-11 Added mp-demonstrative-lex and constrained the ; other two to be [NUM sg]. f-demonstrative-lex := demonstrative-determiner-lex & [ SYNSEM.LOCAL.CONT.HOOK.INDEX.PNG [ GEN fem, NUM sg ]]. m-demonstrative-lex := demonstrative-determiner-lex & [ SYNSEM.LOCAL.CONT.HOOK.INDEX.PNG [ GEN masc, NUM sg]]. mp-demonstrative-lex := demonstrative-determiner-lex & [ SYNSEM.LOCAL.CONT.HOOK.INDEX.PNG [ GEN masc, NUM non-sg ]]. ;;;; Lexical rules ;; rules for definiteness suffix (nouns) ;; ERB 2007-05-16 Add [ DEF + ] here to keep these from combining ;; with demonstrative determiners. definiteness-lex-rule := infl-ltow-rule & [ SYNSEM.LOCAL [ CONT.HOOK.INDEX.COG-ST uniq+fam+act, CAT.HEAD.DEF + ], DTR.SYNSEM.LOCAL.CAT.HEAD noun ]. f-definiteness-lex-rule := definiteness-lex-rule & [ SYNSEM.LOCAL.CONT.HOOk.INDEX.PNG [ GEN fem, NUM sg ]]. m-definiteness-lex-rule := definiteness-lex-rule & [ SYNSEM.LOCAL.CONT.HOOk.INDEX.PNG [ GEN masc, NUM sg ]]. p-definiteness-lex-rule := definiteness-lex-rule & [ SYNSEM.LOCAL.CONT.HOOk.INDEX.PNG.NUM non-sg ]. ;; rules for indefiniteness (nouns without suffix) ;; ERB 2007-05-16 These have to end up with COG-ST type-id, but ;; we can't put that info in here, since these are (presumably) ;; also the forms that co-occur with the demonstratives. So, ;; once again, using the trick of making them [ DEF - ], and ;; then creating two bare-np rules. Furthermore, there is no ;; need to distinguish the different word classes here, since ;; it's all const-ltow anyway. indef-lex-rule := const-ltow-rule & [ SYNSEM.LOCAL.CAT.HEAD noun & [ DEF - ]]. ; n-indef-lex-rule := const-ltow-rule & ; [ SYNSEM.LOCAL.CONT.HOOK.INDEX [ PNG [PER first, NUM sg ]]. ; f-indef-lex-rule := const-ltow-rule & ; [ SYNSEM.LOCAL.CONT.HOOK.INDEX[ PNG [ GEN fem, NUM sg] ], ; DTR.SYNSEM.LOCAL.CAT.HEAD noun ]. ; m-indef-lex-rule := const-ltow-rule & ; [ SYNSEM.LOCAL.CONT.HOOk.INDEX[ PNG [ GEN masc, NUM sg] ], ; DTR.SYNSEM.LOCAL.CAT.HEAD noun ]. ; p-indef-lex-rule := const-ltow-rule & ; [ SYNSEM.LOCAL.CONT.HOOK.INDEX[ PNG [ NUM non-sg]], ; DTR.SYNSEM.LOCAL.CAT.HEAD noun]. ;; rules for adding the linker (adjectives) no-linker-adj-lex-rule := const-ltow-rule & [ SYNSEM.LOCAL [ CAT.POSTHEAD + ], DTR.SYNSEM.LOCAL.CAT [ HEAD adj ] ]. adj-lex-rule := infl-ltow-rule & [ SYNSEM.LOCAL[ CAT.POSTHEAD -], DTR.SYNSEM.LOCAL.CAT.HEAD adj ]. f-adj-lex-rule := adj-lex-rule & [ SYNSEM.LOCAL.CAT.HEAD.MOD < [ LOCAL.CONT.HOOK.INDEX.PNG [ GEN fem, NUM sg]]> ]. m-adj-lex-rule := adj-lex-rule & [ SYNSEM.LOCAL.CAT.HEAD.MOD < [ LOCAL.CONT.HOOK.INDEX.PNG [ GEN masc, NUM sg ]]> ]. p-adj-lex-rule := adj-lex-rule & [ SYNSEM.LOCAL.CAT.HEAD.MOD < [ LOCAL.CONT.HOOK.INDEX.PNG [ NUM non-sg ]]> ]. ;; infinitive (zero PAC) rule null-PAC-verb-lex-rule := const-ltow-rule & [ SYNSEM.LOCAL.CAT.HEAD.FORM inf, DTR.SYNSEM.LOCAL.CAT [HEAD verb ]]. ;; person rules - supertypes for verb inflection 1sg-verb-lex-rule := infl-ltow-rule & [ SYNSEM.LOCAL [CAT[ HEAD.FORM fin, VAL.SUBJ < [ LOCAL.CONT.HOOK.INDEX.PNG [ PER first, NUM sg ] ]>]], DTR.SYNSEM.LOCAL.CAT.HEAD verb ]. 2f-verb-lex-rule := infl-ltow-rule & [ SYNSEM.LOCAL [CAT[ HEAD.FORM fin, VAL.SUBJ < [ LOCAL.CONT.HOOK.INDEX.PNG [ PER second, NUM sg, GEN fem ] ]>]], DTR.SYNSEM.LOCAL.CAT.HEAD verb ]. 2m-verb-lex-rule := infl-ltow-rule & [ SYNSEM.LOCAL [CAT[ HEAD.FORM fin, VAL.SUBJ < [ LOCAL.CONT.HOOK.INDEX.PNG [ PER second, NUM sg, GEN masc ] ]>]], DTR.SYNSEM.LOCAL.CAT.HEAD verb ]. 3f-verb-lex-rule := infl-ltow-rule & [ SYNSEM.LOCAL [CAT[ HEAD.FORM fin, VAL.SUBJ < [ LOCAL.CONT.HOOK.INDEX.PNG [ PER third, NUM sg, GEN fem ] ]>]], DTR.SYNSEM.LOCAL.CAT.HEAD verb ]. 3m-verb-lex-rule := infl-ltow-rule & [ SYNSEM.LOCAL [CAT[ HEAD.FORM fin, VAL.SUBJ < [ LOCAL.CONT.HOOK.INDEX.PNG [ PER third, NUM sg, GEN masc ] ]>]], DTR.SYNSEM.LOCAL.CAT.HEAD verb ]. 1p-verb-lex-rule := infl-ltow-rule & [ SYNSEM.LOCAL [CAT[ HEAD.FORM fin, VAL.SUBJ < [ LOCAL.CONT.HOOK.INDEX.PNG [ PER first, NUM non-sg ] ]>]], DTR.SYNSEM.LOCAL.CAT.HEAD verb ]. 2p-verb-lex-rule := infl-ltow-rule & [ SYNSEM.LOCAL [CAT[ HEAD.FORM fin, VAL.SUBJ < [ LOCAL.CONT.HOOK.INDEX.PNG [ PER second, NUM non-sg ] ]>]], DTR.SYNSEM.LOCAL.CAT.HEAD verb ]. 3p-verb-lex-rule := infl-ltow-rule & [ SYNSEM.LOCAL [CAT[ HEAD.FORM fin, VAL.SUBJ < [ LOCAL.CONT.HOOK.INDEX.PNG [ PER third, NUM non-sg ] ]>]], DTR.SYNSEM.LOCAL.CAT.HEAD verb ]. ;; rules for completive verbs complet-verb-lex-rule := infl-ltow-rule & [SYNSEM.LOCAL.CONT.HOOK.INDEX.E [TENSE past]]. 1sg-complet-verb-lex-rule := complet-verb-lex-rule & 1sg-verb-lex-rule. 2m-complet-verb-lex-rule := complet-verb-lex-rule & 2m-verb-lex-rule. 2f-complet-verb-lex-rule := complet-verb-lex-rule & 2f-verb-lex-rule. 3m-complet-verb-lex-rule := complet-verb-lex-rule & 3m-verb-lex-rule. 3f-complet-verb-lex-rule := complet-verb-lex-rule & 3f-verb-lex-rule. 1p-complet-verb-lex-rule := complet-verb-lex-rule & 1p-verb-lex-rule. 2p-complet-verb-lex-rule := complet-verb-lex-rule & 2p-verb-lex-rule. 3p-complet-verb-lex-rule := complet-verb-lex-rule & 3p-verb-lex-rule. ;; continuous contin-verb-lex-rule := infl-ltow-rule & [SYNSEM.LOCAL.CONT.HOOK.INDEX.E [TENSE present]]. 1sg-contin-verb-lex-rule := contin-verb-lex-rule & 1sg-verb-lex-rule. 2m-contin-verb-lex-rule := contin-verb-lex-rule & 2m-verb-lex-rule. 2f-contin-verb-lex-rule := contin-verb-lex-rule & 2f-verb-lex-rule. 3m-contin-verb-lex-rule := contin-verb-lex-rule & 3m-verb-lex-rule. 3f-contin-verb-lex-rule := contin-verb-lex-rule & 3f-verb-lex-rule. 1p-contin-verb-lex-rule := contin-verb-lex-rule & 1p-verb-lex-rule. 2p-contin-verb-lex-rule := contin-verb-lex-rule & 2p-verb-lex-rule. 3p-contin-verb-lex-rule := contin-verb-lex-rule & 3p-verb-lex-rule. ;;future tense future-verb-lex-rule := infl-ltow-rule & [SYNSEM.LOCAL.CONT.HOOK.INDEX.E [TENSE future] ]. 1sg-future-verb-lex-rule := future-verb-lex-rule & 1sg-verb-lex-rule. 2m-future-verb-lex-rule := future-verb-lex-rule & 2m-verb-lex-rule. 2f-future-verb-lex-rule := future-verb-lex-rule & 2f-verb-lex-rule. 3m-future-verb-lex-rule := future-verb-lex-rule & 3m-verb-lex-rule. 3f-future-verb-lex-rule := future-verb-lex-rule & 3f-verb-lex-rule. 1p-future-verb-lex-rule := future-verb-lex-rule & 1p-verb-lex-rule. 2p-future-verb-lex-rule := future-verb-lex-rule & 2p-verb-lex-rule. 3p-future-verb-lex-rule := future-verb-lex-rule & 3p-verb-lex-rule. ;; rules for subjunctive ;;rules for preterite