forked from GitHub/gf-rgl
restored compoundN (#453)
This commit is contained in:
committed by
GitHub
parent
4b4fbbb401
commit
9193a303a5
@@ -290,6 +290,87 @@ oper
|
|||||||
} ;
|
} ;
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
|
compoundN = overload {
|
||||||
|
compoundN : A -> N -> N
|
||||||
|
= \a, n -> applyMaybeNumber
|
||||||
|
{snom = case n.g of {
|
||||||
|
Fem => preOrPost (notB a.p) a.fsnom n.snom ;
|
||||||
|
Masc => preOrPost (notB a.p) a.msnom n.snom ;
|
||||||
|
Neut => preOrPost (notB a.p) a.nsnom n.snom
|
||||||
|
} ;
|
||||||
|
sgen = case n.g of {
|
||||||
|
Fem => preOrPost (notB a.p) a.fsgen n.sgen ;
|
||||||
|
_ => preOrPost (notB a.p) a.msgen n.sgen
|
||||||
|
} ;
|
||||||
|
sdat = case n.g of {
|
||||||
|
Fem => preOrPost (notB a.p) a.fsgen n.sdat ;
|
||||||
|
_ => preOrPost (notB a.p) a.msdat n.sdat
|
||||||
|
} ;
|
||||||
|
sacc = case n.g of {
|
||||||
|
Fem => preOrPost (notB a.p) a.fsacc n.sacc ;
|
||||||
|
Masc => case n.anim of {
|
||||||
|
Inanimate => preOrPost (notB a.p) a.msnom n.sacc ;
|
||||||
|
Animate => preOrPost (notB a.p) a.msgen n.sacc
|
||||||
|
} ;
|
||||||
|
Neut => preOrPost (notB a.p) a.nsnom n.sacc
|
||||||
|
} ;
|
||||||
|
sins = case n.g of {
|
||||||
|
Fem => preOrPost (notB a.p) a.fsins n.sins ;
|
||||||
|
_ => preOrPost (notB a.p) a.msins n.sins
|
||||||
|
} ;
|
||||||
|
sprep= case n.g of {
|
||||||
|
Fem => preOrPost (notB a.p) a.fsgen n.sprep ;
|
||||||
|
_ => preOrPost (notB a.p) a.msprep n.sprep
|
||||||
|
} ;
|
||||||
|
sloc = case n.g of {
|
||||||
|
Fem => preOrPost (notB a.p) a.fsgen n.sloc ;
|
||||||
|
_ => preOrPost (notB a.p) a.msprep n.sloc
|
||||||
|
} ;
|
||||||
|
sptv = case n.g of {
|
||||||
|
Fem => preOrPost (notB a.p) a.fsgen n.sptv ;
|
||||||
|
_ => preOrPost (notB a.p) a.msgen n.sptv
|
||||||
|
} ;
|
||||||
|
svoc = case n.g of {
|
||||||
|
Fem => preOrPost (notB a.p) a.fsnom n.svoc ;
|
||||||
|
Masc => preOrPost (notB a.p) a.msnom n.svoc ;
|
||||||
|
Neut => preOrPost (notB a.p) a.nsnom n.svoc
|
||||||
|
} ;
|
||||||
|
pnom = preOrPost (notB a.p) a.pnom n.pnom ;
|
||||||
|
pgen = preOrPost (notB a.p) a.pgen n.pgen ;
|
||||||
|
pdat = preOrPost (notB a.p) a.msins n.pdat ;
|
||||||
|
pacc = case n.anim of {
|
||||||
|
Inanimate => preOrPost (notB a.p) a.pnom n.pacc ;
|
||||||
|
Animate => preOrPost (notB a.p) a.pgen n.pacc
|
||||||
|
} ;
|
||||||
|
pins = preOrPost (notB a.p) a.pins n.pins ;
|
||||||
|
pprep= preOrPost (notB a.p) a.pgen n.sprep ;
|
||||||
|
anim=n.anim;
|
||||||
|
mayben=n.mayben ;
|
||||||
|
g=n.g ;
|
||||||
|
rel=(guessAdjectiveForms "") ;
|
||||||
|
rt=GenType
|
||||||
|
} ;
|
||||||
|
|
||||||
|
compoundN : N -> Str -> N
|
||||||
|
= \n, adv -> n ** {
|
||||||
|
snom = n.snom ++ adv;
|
||||||
|
sgen = n.sgen ++ adv;
|
||||||
|
sdat = n.sdat ++ adv;
|
||||||
|
sacc = n.sacc ++ adv;
|
||||||
|
sins = n.sins ++ adv;
|
||||||
|
sprep = n.sprep ++ adv;
|
||||||
|
sloc = n.sloc ++ adv;
|
||||||
|
sptv = n.sptv ++ adv;
|
||||||
|
svoc = n.svoc ++ adv;
|
||||||
|
pnom = n.pnom ++ adv;
|
||||||
|
pgen = n.pgen ++ adv;
|
||||||
|
pdat = n.pdat ++ adv;
|
||||||
|
pacc = n.pacc ++ adv;
|
||||||
|
pins = n.pins ++ adv;
|
||||||
|
pprep = n.pprep ++ adv
|
||||||
|
} ;
|
||||||
|
} ;
|
||||||
|
|
||||||
mkN2 = overload {
|
mkN2 = overload {
|
||||||
mkN2 : N -> N2
|
mkN2 : N -> N2
|
||||||
= \n -> lin N2 (mkFun n nullPrep) ;
|
= \n -> lin N2 (mkFun n nullPrep) ;
|
||||||
|
|||||||
Reference in New Issue
Block a user