;;; -*- 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
;
; Plural noun with |-s| suffix
; cats
;
;
;
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 ].
;; For |children, people, etc.|
;;
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 ].
;; For |fish, deer, etc.| where no change in form, so want to exclude these
;; as nonheads in plural compounds to avoid spurious ambig as in |fish tank|
;;
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.MINORS.NORM quantity_or_norm_rel ] ],
RNAME lnpln ].
;
; Third-singular present verb
; admires
;
;
;
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 ].
;
; Past particple verb
; admired
;
;
;
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 ].
;
; Past tense verb
; admired
;
;
;
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 ].
;
; Present participle verb
; admiring
;
;
;
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 ].
; Non-standard variant for |tryin| and |tryin'|
;
; Present participle verb,nonformal
; admirin
;
;
;
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 ].
|#
;
; Non-3sing or base form verb
; admire
;
;
;
v_n3s-bse_ilr := v_n3s-bse_inflrule &
[ ND-AFF -,
ORTH #stem,
DTR [ ORTH #stem ],
SYNSEM.LOCAL bse_or_non3sg_verb,
RNAME lvns ].
;
; Singular noun
; cat
;
;
;
n_sg_ilr := n_sg_inflrule &
[ ND-AFF -,
ORTH #stem,
DTR [ ORTH #stem ],
SYNSEM count_noun_synsem & [ LOCAL sing_noun ],
RNAME lnsg ].
;
; Mass noun
; rice
;
;
;
n_ms_ilr := n_ms_inflrule &
[ ND-AFF -,
ORTH #stem,
DTR [ ORTH #stem ],
SYNSEM basic_basic_mass_noun_synsem & [ LOCAL mass_noun ],
RNAME lnms ].
;
; Mass or count noun
; [unknown noun]
;
;
;
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 ].
;
; Plural of currency noun: no |-s|
; $
;
;
;
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 ].
;
; Passive verb
; admired
;
;
;
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 ].
; "X was often referred to"
;
; Prepositional passive verb
; 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 was done away with"
;
; Particle + prepositional passive verb
; done away with
;
;
;
v_pas-p-p_odlr :=
%suffix (* ed) (!ty !tied) (e ed) (!t!v!c !t!v!c!ced)
ptcl_prep_passive_verb_lr &
[ ND-AFF +,
RNAME lvppe ].
; "X has been added to"
;
; Prep. passive of trans. verb
; 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 ].
;
; Passive of verb+sel_PP
; relied on
;
;
;
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 ].
; For "it was believed (by many) that Sandy left"
;
; Passive of cp-complement verb
; said
;
;
;
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 ].
;
; Passive of dative shift verb
; given
;
;
;
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 [ 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"
;
; NP + prepositional passive verb
; 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_lr &
[ ND-AFF +,
RNAME lvppn ].