added a version of compoundN which combines adjective and noun into a new noun

This commit is contained in:
kr.angelov
2013-09-20 12:04:37 +00:00
parent fd430a40fe
commit d2dc171508
3 changed files with 17 additions and 12 deletions

View File

@@ -5,7 +5,7 @@ concrete ExtraBul of ExtraBulAbs = CatBul **
lin
PossIndefPron p = {
s = \\_,aform => p.gen ! (indefAForm ! aform) ;
s = \\_,aform => p.gen ! (indefAForm aform) ;
nonEmpty = True;
spec = Indef
} ;
@@ -17,7 +17,7 @@ concrete ExtraBul of ExtraBulAbs = CatBul **
} ;
ReflIndefQuant = {
s = \\_,aform => reflPron ! (indefAForm ! aform) ;
s = \\_,aform => reflPron ! (indefAForm aform) ;
nonEmpty = True;
spec = Indef
} ;
@@ -65,13 +65,6 @@ concrete ExtraBul of ExtraBulAbs = CatBul **
APl Indef => "ñâîè" ;
APl Def => "ñâîèòå"
} ;
indefAForm : AForm => AForm =
table {
ASg g _ => ASg g Indef ;
ASgMascDefNom => ASg Masc Indef ;
APl _ => APl Indef
} ;
lincat
VPI = {s : Agr => Str} ;

View File

@@ -181,10 +181,15 @@ oper
NFPlCount => n1.s ! NFPlCount ++ n2.s ! (NF Pl Indef) ;
NFVocative => n1.s ! NFVocative ++ n2.s ! (NF Sg Indef)
} ;
rel = \\aform => n1.rel ! aform;
g = n1.g ;
g = n1.anim
rel = \\aform => n1.rel ! aform;
g = n1.g
} ;
compoundN : A -> N -> N
= \a,n -> lin N
{s = \\nf => (a.s ! nform2aform nf n.g) ++ (n.s ! (indefNForm nf)) ;
rel = \\aform => a.s ! aform ++ n.rel ! indefAForm aform ;
g = n.g
} ;
} ;
relativeN : N -> A -> N;

View File

@@ -155,6 +155,13 @@ resource ResBul = ParamX ** open Prelude, Predef in {
GPl => APl spec
} ;
indefAForm : AForm -> AForm
= \af -> case af of {
ASg g spec => ASg g Indef ;
ASgMascDefNom => ASg Masc Indef ;
APl spec => APl Indef
} ;
dgenderSpecies : AGender -> Species -> Role -> CardForm =
\g,spec,role -> case <g,spec> of {
<AMasc a,Indef> => CFMasc Indef a ;