forked from GitHub/gf-rgl
added compoundN
This commit is contained in:
@@ -266,6 +266,85 @@ 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
|
||||
} ;
|
||||
|
||||
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 : N -> N2
|
||||
= \n -> lin N2 (mkFun n nullPrep) ;
|
||||
|
||||
Reference in New Issue
Block a user