1
0
forked from GitHub/gf-rgl

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 519049496f
commit f76a57c8d2
3 changed files with 17 additions and 12 deletions

View File

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

View File

@@ -181,10 +181,15 @@ oper
NFPlCount => n1.s ! NFPlCount ++ n2.s ! (NF Pl Indef) ; NFPlCount => n1.s ! NFPlCount ++ n2.s ! (NF Pl Indef) ;
NFVocative => n1.s ! NFVocative ++ n2.s ! (NF Sg Indef) NFVocative => n1.s ! NFVocative ++ n2.s ! (NF Sg Indef)
} ; } ;
rel = \\aform => n1.rel ! aform; rel = \\aform => n1.rel ! aform;
g = n1.g ; g = n1.g
g = n1.anim
} ; } ;
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; relativeN : N -> A -> N;

View File

@@ -155,6 +155,13 @@ resource ResBul = ParamX ** open Prelude, Predef in {
GPl => APl spec 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 = dgenderSpecies : AGender -> Species -> Role -> CardForm =
\g,spec,role -> case <g,spec> of { \g,spec,role -> case <g,spec> of {
<AMasc a,Indef> => CFMasc Indef a ; <AMasc a,Indef> => CFMasc Indef a ;