1
0
forked from GitHub/gf-rgl

implement DetDAP and AdjDAP

This commit is contained in:
Krasimir Angelov
2018-06-14 09:52:24 +02:00
parent b993704225
commit c4ada6112f
2 changed files with 243 additions and 222 deletions

View File

@@ -54,7 +54,7 @@ concrete CatBul of Cat = CommonX - [IAdv,CAdv,AdV,SC] ** open ResBul, Prelude, P
CN = {s : NForm => Str; g : AGender} ; CN = {s : NForm => Str; g : AGender} ;
NP = {s : Role => Str; a : Agr; p : Polarity} ; NP = {s : Role => Str; a : Agr; p : Polarity} ;
Pron = {s : Role => Str; clit : Case => Str; gen : AForm => Str; a : Agr} ; Pron = {s : Role => Str; clit : Case => Str; gen : AForm => Str; a : Agr} ;
Det = {s : Bool => AGender => Role => Str; nn : NNumber; spec : Species; p : Polarity} ; Det,DAP = {s : Bool => AGender => Role => Str; nn : NNumber; spec : Species; p : Polarity} ;
Predet = {s : GenNum => Str} ; Predet = {s : GenNum => Str} ;
Ord = {s : AForm => Str} ; Ord = {s : AForm => Str} ;
Num = {s : CardForm => Str; nn : NNumber; nonEmpty : Bool} ; Num = {s : CardForm => Str; nn : NNumber; nonEmpty : Bool} ;

View File

@@ -219,4 +219,25 @@ concrete NounBul of Noun = CatBul ** open ResBul, Prelude in {
a = np.a ; a = np.a ;
p = np.p p = np.p
} ; } ;
AdjDAP dap ap = {s = \\sp,g,role => let g' = case g of {
AMasc _ => Masc ;
AFem => Fem ;
ANeut => Neut
} ;
aform = case <numnnum dap.nn,dap.spec,role> of {
<Sg,Def,RSubj> => ASgMascDefNom ;
<Sg,_ ,_ > => ASg g' dap.spec ;
<Pl,_ ,_ > => APl dap.spec
} ;
in dap.s ! True ! g ! role ++ ap.s ! aform ! P3 ;
nn = dap.nn;
spec = dap.spec;
p = dap.p
} ;
DetDAP det = {s = \\sp,g,role => det.s ! sp ! g ! role;
nn = det.nn;
spec = det.spec;
p = det.p
} ;
} }