;;; -*- 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ÅØÖÉÌ0Ä123456789[]\(\){}|>/_-…%`”"'’?!#+¦⌊⌋$£=σΩÅص™°º℃)) %(letter-set (!p abcdefghijklmnopqrstuvwxyzåøöáéíóúìµñßœæëïüÿäěʤàāēīōūABCDEFGHIJKLMNOPQRSTUVWXYZÅØÖÉÌ0Ä123456789,.?\![]\(\){}|>/_-%”"'’#+¦⌊⌋$£=σΩÅØ®…™°º℃β*)) %(letter-set (!q abcdefghijklmnopqrstuvwxyzåøöáéíóúìµñßœæëïüÿäěʤàāēīōūABCDEFGHIJKLMNOPQRSTUVWXYZÅØÖÉÌ0Ä123456789,.?\!\(\)[]{}|>:/_-%`”"'’#+¦⌊⌋$£=σΩ…µ™°º℃β)) ;; Same as q but without italic marker, to avoid right-ital rules applying ;; without having done left-ital when needed %(letter-set (!r abcdefghijklmnopqrstuvwxyzåøöáéíóúìµñßœæëïüÿäěʤàāēīōūABCDEFGHIJKLMNOPQRSTUVWXYZÅØÖÉÌ0Ä123456789,.?\!\(\)[]{}|>:/_-%`”"'’#+$£=σΩ…µ™°ºβ)) %(letter-set (!f abcdefghijklmnopqrstuvwxyzåøöáéíóúìµñßœæëïüÿäěʤàāēīōūABCDEFGHIJKLMNOPQRSTUVWXYZÅØÖÉÌ0Ä123456789[]“"‘'`#+¦⌊⌋$£=\(\)[]{}|/_%”"'’#+¦⌊⌋$£=σΩÅØ®…™°ºβ*)) %(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) n_pl_inflrule & [ ND-AFF +, SYNSEM mass_or_count_synsem & [ LOCAL plur_noun & [ AGR.PNG png-reg ] ], RNAME lnpl ]. n_pl-paren_olr := %suffix (!s !s\(s\)) n_pl_inflrule & [ ND-AFF +, SYNSEM mass_or_count_synsem & [ LOCAL plur_noun & [ AGR.PNG png-reg ] ], RNAME lnpl ]. n_pl-irreg_olr := %suffix (xxirreg xxirreg) n_pl_inflrule & [ ND-AFF +, SYNSEM mass_or_count_synsem & [ LOCAL plur_noun & [ AGR.PNG png-irreg ] ], RNAME lnpli ]. ;; DPF 2020-07-12 - NORM quantity_or_norm_rel sadly prevents these from being ;; vocatives, as in "People, let's move!". And more generally, we want to accept ;; "people mover", so we finally added a construction-specific feature --CPDNHD ;; to enable lexical blocking for compounds. ;; n_pl-irreg-noaff_olr := %suffix (xxirreg xxirreg) n_pl_inflrule & [ ND-AFF +, SYNSEM mass_or_count_synsem & [ LOCAL plur_noun & [ AGR.PNG png-irreg, CAT.HEAD.--BARE - ] ], RNAME lnpln ]. v_3s-fin_olr := %suffix (!s !ss) (!ss !ssses) (ss sses) (!ty !ties) (ch ches) (sh shes) (x xes) (z zes) v_3s-fin_inflrule & [ 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) v_psp_inflrule & [ ND-AFF +, SYNSEM.LOCAL psp_verb, RNAME lvpp ]. v_pst_olr := %suffix (* ed) (!ty !tied) (e ed) (!t!v!c !t!v!c!ced) v_pst_inflrule & [ 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) v_prp_inflrule & [ ND-AFF +, SYNSEM.LOCAL prp_verb, RNAME lvpr ]. v_prp-nf_olr := %suffix (* in) (!t!v!c !t!v!c!cin) (e in) (ee eein) (ie yin) v_prp-nf_inflrule & [ ND-AFF +, SYNSEM.LOCAL prp_verb, RNAME lvprn, GENRE nonformal ]. #| 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 := v_n3s-bse_inflrule & [ ND-AFF -, ORTH #stem, DTR [ ORTH #stem ], SYNSEM.LOCAL bse_or_non3sg_verb, RNAME lvns ]. n_sg_ilr := n_sg_inflrule & [ ND-AFF -, ORTH #stem, DTR [ ORTH #stem ], SYNSEM count_noun_synsem & [ LOCAL sing_noun & [ AGR.PNG norm-png ] ], RNAME lnsg ]. n_ms_ilr := n_ms_inflrule & [ ND-AFF -, ORTH #stem, DTR [ ORTH #stem ], SYNSEM basic_basic_mass_noun_synsem & [ LOCAL mass_noun ], RNAME lnms ]. n_ms-cnt_ilr := n_ms-cnt_inflrule & [ ND-AFF -, ORTH #stem, DTR [ ORTH #stem ], SYNSEM basic_mass_or_count_synsem & [ LOCAL mass_count_noun ], RNAME lnmc ]. n_pl-cur_ilr := n_pl-cur_inflrule & [ ND-AFF -, ORTH #stem, DTR n_-_c-cur_le & [ ORTH #stem ], SYNSEM.LOCAL plur_noun, RNAME lnpn ]. n_sg-cur_ilr := n_sg-cur_inflrule & [ ND-AFF -, ORTH #stem, DTR n_-_c-cur_le & [ ORTH #stem ], SYNSEM.LOCAL sing_noun & [ AGR.PNG png-unsp ], RNAME lnsn ]. v_pas_odlr := %suffix (* ed) (!ty !tied) (e ed) (!t!v!c !t!v!c!ced) v_pas-norm_lexrule & [ 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 ]. v_pas-p_odlr := %suffix (* ed) (!ty !tied) (e ed) (!t!v!c !t!v!c!ced) prep_passive_verb_lexrule & [ ND-AFF +, RNAME lvpe ]. v_pas-p-p_odlr := %suffix (* ed) (!ty !tied) (e ed) (!t!v!c !t!v!c!ced) ptcl_prep_passive_verb_lexrule & [ ND-AFF +, RNAME lvppe ]. v_pas-p-t_odlr := %suffix (* ed) (!ty !tied) (e ed) (!t!v!c !t!v!c!ced) prep_passive_trans_verb_lexrule & [ 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_lexrule & [ ND-AFF +, RNAME lvpg ]. v_pas-cp_odlr := %suffix (* ed) (!ty !tied) (e ed) (!t!v!c !t!v!c!ced) v_pas-cp_lexrule & [ 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_lexrule & [ 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 [ 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 ]. ; "X was made an example of" v_pas-np-p_odlr := %suffix (* ed) (!ty !tied) (e ed) (!t!v!c !t!v!c!ced) np_prep_passive_verb_lexrule & [ ND-AFF +, RNAME lvppn ].