;;; -*- 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 "LVPR", GENRE nonstandard ]. #| 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.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" ]. ; 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.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 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.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 ] ].