;;; -*- Mode: tdl; Coding: utf-8; -*- %(letter-set (!c bdfgklmnprstz)) %(letter-set (!s abcdefghijklmnopqrtuvwxyz05_/)) %(letter-set (!t bcdfghjklmnpqrstvwxyz)) %(letter-set (!v aeiou)) %(letter-set (!. abcdefghijklmnopqrstuvwxyzåøöé0123456789]\)>/_-%”"’'#¦σΩÅØ)) %(letter-set (!p abcdefghijklmnopqrstuvwxyzåøöé0123456789,.?\!]\)>/_%”"'’#¦σΩÅØ®…)) %(letter-set (!q abcdefghijklmnopqrstuvwxyzåøöé0123456789,.?\!\(\)]>:/_-%`”"'’#¦σΩ…)) %(letter-set (!f 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 plur_noun_orule := %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" ]. third_sg_fin_verb_orule := %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" ]. psp_verb_orule := %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" ]. past_verb_orule := %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" ]. prp_verb_orule := %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" ]. #| bse_verb_irule := lex_rule_infl_affixed & [ ND-AFF -, STEM #stem, DTR [ STEM #stem ], SYNSEM.LOCAL bse_verb, RNAME "LVBS" ]. non_third_sg_fin_verb_irule := lex_rule_infl_affixed & [ ND-AFF -, STEM #stem, DTR [ STEM #stem ], SYNSEM.LOCAL non_third_sg_fin_verb, RNAME "LVNS" ]. |# bse_or_non3sg_verb_irule := lex_rule_infl_affixed & [ ND-AFF -, STEM #stem, DTR [ STEM #stem ], SYNSEM.LOCAL bse_or_non3sg_verb, RNAME "LVNS" ]. sing_noun_irule := lex_rule_infl_affixed & [ ND-AFF -, STEM #stem, DTR [ STEM #stem ], SYNSEM count_noun_synsem & [ LOCAL sing_noun ], RNAME "LNSG" ]. mass_noun_irule := lex_rule_infl_affixed & [ ND-AFF -, STEM #stem, DTR [ STEM #stem ], SYNSEM basic_mass_noun_synsem & [ LOCAL mass_noun ], RNAME "LNMS" ]. mass_count_irule := lex_rule_infl_affixed & [ ND-AFF -, STEM #stem, DTR [ STEM #stem ], SYNSEM basic_mass_or_count_synsem & [ LOCAL mass_count_noun ], RNAME "LNMC" ]. plur_numcomp_noun_irule := lex_rule_infl_affixed & [ ND-AFF -, STEM #stem, DTR n_-_c-cur_le & [ STEM #stem ], SYNSEM.LOCAL plur_noun, RNAME "LNPN" ]. #| pos_adj_irule := lex_rule_infl_affixed & [ ND-AFF -, STEM #stem, DTR [ STEM #stem ], SYNSEM.LOCAL pos_adj, RNAME "LADJ" ]. |# passive_orule := %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" ]. ; For "it was believed (by many) that Sandy left" cp_passive_orule := %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" ]. dative_passive_orule := %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" ].