1
0
forked from GitHub/gf-rgl

allow adjectivial forms for N2 and N3 as well

This commit is contained in:
Krasimir Angelov
2018-06-10 22:23:54 +02:00
parent 1e9876c5b4
commit d24c9986b9
4 changed files with 13 additions and 12 deletions

View File

@@ -85,8 +85,8 @@ concrete CatBul of Cat = CommonX - [IAdv,CAdv,AdV,SC] ** open ResBul, Prelude, P
A2 = {s : AForm => Str; adv : Str; c2 : Str} ; A2 = {s : AForm => Str; adv : Str; c2 : Str} ;
N = {s : NForm => Str; rel : AForm => Str; relPost : Bool; g : AGender} ; N = {s : NForm => Str; rel : AForm => Str; relPost : Bool; g : AGender} ;
N2 = {s : NForm => Str; g : AGender} ** {c2 : Preposition} ; N2 = {s : NForm => Str; rel : AForm => Str; relPost : Bool; g : AGender} ** {c2 : Preposition} ;
N3 = {s : NForm => Str; g : AGender} ** {c2,c3 : Preposition} ; N3 = {s : NForm => Str; rel : AForm => Str; relPost : Bool; g : AGender} ** {c2,c3 : Preposition} ;
PN = {s : Str; g : Gender} ; PN = {s : Str; g : Gender} ;
lindef lindef
@@ -107,8 +107,8 @@ concrete CatBul of Cat = CommonX - [IAdv,CAdv,AdV,SC] ** open ResBul, Prelude, P
A2 = \s -> {s = \\_ => s; adv = s; c2 = ""}; A2 = \s -> {s = \\_ => s; adv = s; c2 = ""};
N = \s -> {s = \\_ => s; rel = \\_ => s; relPost = False; g = AMasc NonHuman}; N = \s -> {s = \\_ => s; rel = \\_ => s; relPost = False; g = AMasc NonHuman};
N2 = \s -> {s = \\_ => s; g = AMasc NonHuman; c2 = {s=""; c=Acc}}; N2 = \s -> {s = \\_ => s; rel = \\_ => s; relPost = False; g = AMasc NonHuman; c2 = {s=""; c=Acc}};
N3 = \s -> {s = \\_ => s; g = AMasc NonHuman; c2,c3 = {s=""; c=Acc}}; N3 = \s -> {s = \\_ => s; rel = \\_ => s; relPost = False; g = AMasc NonHuman; c2,c3 = {s=""; c=Acc}};
linref linref
SSlash = \ss -> ss.s ! agrP3 (GSg Masc) ++ ss.c2.s; SSlash = \ss -> ss.s ! agrP3 (GSg Masc) ++ ss.c2.s;

View File

@@ -151,6 +151,7 @@ lin
s = reflPron ! aform (gennum cn.g (numnnum num.nn)) Def (RObj Acc) ++ num.s ! dgenderSpecies cn.g Indef role ++ cn.s ! nf s = reflPron ! aform (gennum cn.g (numnnum num.nn)) Def (RObj Acc) ++ num.s ! dgenderSpecies cn.g Indef role ++ cn.s ! nf
in case role of { in case role of {
RObj Dat => "на" ++ s; RObj Dat => "на" ++ s;
RObj WithPrep => with_Word ++ s;
_ => s _ => s
} ; } ;
a = {gn = gennum cn.g (numnnum num.nn); p = P3} ; a = {gn = gennum cn.g (numnnum num.nn); p = P3} ;

View File

@@ -170,7 +170,7 @@ oper
-- --
prepN2 : N -> Prep -> N2 ; prepN2 : N -> Prep -> N2 ;
prepN2 n p = {s = n.s; g = n.g; c2 = p; lock_N2 = <>} ; prepN2 n p = n ** {c2 = p} ;
dirN2 : N -> N2 ; dirN2 : N -> N2 ;
dirN2 n = prepN2 n noPrep ; dirN2 n = prepN2 n noPrep ;
@@ -180,7 +180,7 @@ oper
-- --
prepN3 : N -> Prep -> Prep -> N3 ; prepN3 : N -> Prep -> Prep -> N3 ;
prepN3 n p q = {s = n.s; g = n.g; c2 = p; c3 = q; lock_N3 = <>} ; prepN3 n p q = n ** {c2 = p; c3 = q} ;
dirN3 : N -> Prep -> N3 ; dirN3 : N -> Prep -> N3 ;
dirN3 n p = prepN3 n noPrep p ; dirN3 n p = prepN3 n noPrep p ;

View File

@@ -166,10 +166,10 @@ concrete NounBul of Noun = CatBul ** open ResBul, Prelude in {
UseN2 noun = noun ; UseN2 noun = noun ;
ComplN2 f x = {s = \\nf => f.s ! nf ++ f.c2.s ++ x.s ! RObj f.c2.c; g=f.g} ; ComplN2 f x = {s = \\nf => f.s ! nf ++ f.c2.s ++ x.s ! RObj f.c2.c; g=f.g} ;
ComplN3 f x = {s = \\nf => f.s ! nf ++ f.c2.s ++ x.s ! RObj f.c2.c; c2 = f.c3; g=f.g} ; ComplN3 f x = {s = \\nf => f.s ! nf ++ f.c2.s ++ x.s ! RObj f.c2.c; rel = \\af => f.rel ! af ++ f.c2.s ++ x.s ! RObj f.c2.c; relPost = True; c2 = f.c3; g=f.g} ;
Use2N3 f = {s = f.s ; g=f.g ; c2 = f.c2} ; Use2N3 f = {s = f.s ; rel = f.rel ; relPost = f.relPost ; g=f.g ; c2 = f.c2} ;
Use3N3 f = {s = f.s ; g=f.g ; c2 = f.c3} ; Use3N3 f = {s = f.s ; rel = f.rel ; relPost = f.relPost ; g=f.g ; c2 = f.c3} ;
AdjCN ap cn = { AdjCN ap cn = {