;;; -*- Mode: tdl; Coding: utf-8; -*- %(letter-set (!c bdfgklmnprstz)) %(letter-set (!s abcdefghijklmnopqrtuvwxyz05_/)) %(letter-set (!t bcdfghjklmnpqrstvwxyz)) %(letter-set (!v aeiou)) %(letter-set (!. abcdefghijklmnopqrstuvwxyzåøöáéíóúìñABCDEFGHIJKLMNOPQRSTUVWXYZÅØÖÉÌ0123456789[]\(\){}|>/_-…%`”"'’?!#+¦σΩÅص™°º)) %(letter-set (!p abcdefghijklmnopqrstuvwxyzåøöáéíóúìµñABCDEFGHIJKLMNOPQRSTUVWXYZÅØÖÉÌ0123456789,.?\![]\(\){}|>/_%”"'’#+¦σΩÅØ®…™°ºβ*)) %(letter-set (!q abcdefghijklmnopqrstuvwxyzåøöáéíóúìñABCDEFGHIJKLMNOPQRSTUVWXYZÅØÖÉÌ0123456789,.?\!\(\)[]{}|>:/_-%`”"'’#+¦σΩ…µ™°º)) %(letter-set (!f abcdefghijklmnopqrstuvwxyzåøöáéíóúìñABCDEFGHIJKLMNOPQRSTUVWXYZÅØÖÉÌ0123456789[]“"‘'#+¦$=\(\)[]{}|<_\-.,Åؽ…µ™°ºβ)) %(letter-set (!b \!)) ;;; irregular words are stored in a separate file - irregs.tab ;;; because the forms stored there are the values of affix ;;; all the rules here should have the name `affix-type'_infl_rule n_pl_olr := %suffix (!s !ss) (!ss !ssses) (es eses) (ss sses) (!ty !ties) (ch ches) (sh shes) (x xes) (z zes) lex_rule_infl_affixed & [ ND-AFF +, SYNSEM mass_or_count_synsem & [ LOCAL plur_noun ], RNAME lnpl ]. v_3s-fin_olr := %suffix (!s !ss) (!ss !ssses) (ss sses) (!ty !ties) (ch ches) (sh shes) (x xes) (z zes) lex_rule_infl_affixed & [ ND-AFF +, SYNSEM.LOCAL third_sg_fin_verb, RNAME lvsg ]. v_psp_olr := %suffix (* ed) (!ty !tied) (e ed) (!t!v!c !t!v!c!ced) lex_rule_infl_affixed & [ ND-AFF +, SYNSEM.LOCAL psp_verb, RNAME lvpp ]. v_pst_olr := %suffix (* ed) (!ty !tied) (e ed) (!t!v!c !t!v!c!ced) lex_rule_infl_affixed & [ ND-AFF +, SYNSEM.LOCAL past_or_subj_verb, RNAME lvpt ]. v_prp_olr := %suffix (* ing) (!t!v!c !t!v!c!cing) (e ing) (ee eeing) (ie ying) lex_rule_infl_affixed & [ ND-AFF +, SYNSEM.LOCAL prp_verb, RNAME lvpr ]. ; Non-standard variant for |tryin| and |tryin'| v_prp-nf_olr := %suffix (* in) (!t!v!c !t!v!c!cin) (e in) (ee eein) (ie yin) lex_rule_infl_affixed & [ ND-AFF +, SYNSEM.LOCAL prp_verb, RNAME lvprn, GENRE informal ]. #| bse_verb_irule := lex_rule_infl_affixed & [ ND-AFF -, ORTH #stem, DTR [ ORTH #stem ], SYNSEM.LOCAL bse_verb, RNAME lvbs ]. non_third_sg_fin_verb_irule := lex_rule_infl_affixed & [ ND-AFF -, ORTH #stem, DTR [ ORTH #stem ], SYNSEM.LOCAL non_third_sg_fin_verb, RNAME lvns ]. |# v_n3s-bse_ilr := lex_rule_infl_affixed & [ ND-AFF -, ORTH #stem, DTR [ ORTH #stem ], SYNSEM.LOCAL bse_or_non3sg_verb, RNAME lvns ]. n_sg_ilr := lex_rule_infl_affixed & [ ND-AFF -, ORTH #stem, DTR [ ORTH #stem ], SYNSEM count_noun_synsem & [ LOCAL sing_noun ], RNAME lnsg ]. n_ms_ilr := lex_rule_infl_affixed & [ ND-AFF -, ORTH #stem, DTR [ ORTH #stem ], SYNSEM basic_mass_noun_synsem & [ LOCAL mass_noun ], RNAME lnms ]. n_ms-cnt_ilr := lex_rule_infl_affixed & [ ND-AFF -, ORTH #stem, DTR [ ORTH #stem ], SYNSEM basic_mass_or_count_synsem & [ LOCAL mass_count_noun ], RNAME lnmc ]. n_pl-cur_ilr := lex_rule_infl_affixed & [ ND-AFF -, ORTH #stem, DTR n_-_c-cur_le & [ ORTH #stem ], SYNSEM.LOCAL plur_noun, RNAME lnpn ]. #| pos_adj_irule := lex_rule_infl_affixed & [ ND-AFF -, ORTH #stem, DTR [ ORTH #stem ], SYNSEM.LOCAL pos_adj, RNAME ladj ]. |# v_pas_odlr := %suffix (* ed) (!ty !tied) (e ed) (!t!v!c !t!v!c!ced) norm_passive_verb_lr & [ ND-AFF +, DTR.SYNSEM trans_subst & [ LOCAL [ CAT.VAL.COMPS [ FIRST [ LOCAL.CONT #objcont, --SIND #objind, NONLOC #ononloc ], REST #comps ] ], LKEYS.KEYREL #keyrel ], SYNSEM [ LOCAL [ CAT [ HEAD.LSYNSEM passive_unerg_synsem_min, VAL [ SUBJ < [ LOCAL.CONT #objcont, --SIND #objind, NONLOC #ononloc ] >, COMPS.REST #comps ] ], CONT [ HOOK.XARG #objind ] ], LKEYS.KEYREL #keyrel ], RNAME lvpa ]. ; "X was often referred to" v_pas-p_odlr := %suffix (* ed) (!ty !tied) (e ed) (!t!v!c !t!v!c!ced) prep_passive_verb_lr & [ ND-AFF +, RNAME lvpe ]. ; "X has been added to" v_pas-p-t_odlr := %suffix (* ed) (!ty !tied) (e ed) (!t!v!c !t!v!c!ced) prep_passive_trans_verb_lr & [ ND-AFF +, RNAME lvpf ]. v_pas-prt-t_odlr := %suffix (* ed) (!ty !tied) (e ed) (!t!v!c !t!v!c!ced) prep_passive_ptcl_verb_lr & [ ND-AFF +, RNAME lvpg ]. ;; DPF 2011-11-19 - Since the type passive_atrans_synsem does not fully ;; constrain the COMPS list, but only computes it here from the COMPS value of ;; the daughter, there is no easy way to determine what the LSYNSEM value ;; should be for conjunction reduction. So for now just decline to allow ;; conj-reduction for these cp-passives. ;; FIX someday. ;; ; For "it was believed (by many) that Sandy left" v_pas-cp_odlr := %suffix (* ed) (!ty !tied) (e ed) (!t!v!c !t!v!c!ced) norm_passive_verb_lr & [ ND-AFF +, DTR.SYNSEM cp_passivable_verb & [ LOCAL.CAT.VAL [ COMPS #comps, KCMP #kcmp ] ], SYNSEM passive_atrans_synsem & [ LOCAL.CAT [ HEAD.LSYNSEM no_synsem, VAL [ COMPS.REST #comps, KCMP #kcmp ] ] ], RNAME lvcp ]. v_pas-dat_odlr := %suffix (* ed) (!ty !tied) (e ed) (!t!v!c !t!v!c!ced) basic_passive_verb_lr & [ ND-AFF +, DTR [ SYNSEM basic_ditrans_subst & [ LOCAL [ CAT.VAL [ SUBJ < [ --SIND #subjind, NONLOC #snonloc ] >, COMPS < [ LOCAL.CONT #objcont, --SIND #objind, NONLOC #ononloc ], #npcomp > ] ], LKEYS.KEYREL #keyrel ] ], SYNSEM [ LOCAL [ CAT [ HEAD.LSYNSEM passive_unerg_synsem_min, VAL [ SUBJ < [ LOCAL.CONT #objcont, --SIND #objind, NONLOC #ononloc ] >, COMPS < #npcomp, synsem & [ LOCAL local & [ CAT [ HEAD prep & [ MINORS.MIN _by_p_cm_rel ], VAL [ SUBJ < >, SPR *olist*, COMPS < > ] ], CONT.HOOK.INDEX #subjind ], NONLOC #snonloc, OPT + ] > ] ], CONT [ HOOK.XARG #objind ] ], LKEYS.KEYREL #keyrel ], RNAME lvdp ]. ; Placeholder rule mentioned in irregs.tab, but only used in grammar checking, ; where this rule is redefined. ; non_third_sg_fin_v_rbst := lex_rule_infl_affixed & [ DTR.SYNSEM [ LOCAL.CAT.HEAD no_head, LKEYS.KEYREL.PRED never_unify_rel ], RNAME vfrb ].