mirror of
https://github.com/GrammaticalFramework/gf-rgl.git
synced 2026-05-27 17:08:54 -06:00
use the reflexive clitic when ReflPron is used directly
This commit is contained in:
@@ -183,22 +183,31 @@ lin
|
|||||||
ComplSlashPartLast = ComplSlash ;
|
ComplSlashPartLast = ComplSlash ;
|
||||||
|
|
||||||
lincat
|
lincat
|
||||||
RNP = {s : Role => Str; gn : GenNum} ;
|
RNP = {s : Role => Str; gn : GenNum; isPron : Bool} ;
|
||||||
|
|
||||||
lin
|
lin
|
||||||
ReflRNP slash rnp = {
|
ReflRNP slash rnp = {
|
||||||
s = slash.s ;
|
s = slash.s ;
|
||||||
ad = slash.ad ;
|
ad = slash.ad ;
|
||||||
clitics = slash.clitics ;
|
clitics = slash.clitics ;
|
||||||
compl = \\a => slash.compl1 ! a ++ slash.c2.s ++ rnp.s ! RObj slash.c2.c ++ slash.compl2 ! agrP3 rnp.gn ;
|
compl = \\a => slash.compl1 ! a ++ slash.c2.s ++
|
||||||
vtype = slash.vtype ;
|
case <rnp.isPron, slash.c2.c> of {
|
||||||
|
<True, Acc | Dat> => [] ;
|
||||||
|
_ => rnp.s ! RObj slash.c2.c
|
||||||
|
} ++
|
||||||
|
slash.compl2 ! agrP3 rnp.gn ;
|
||||||
|
vtype = case <rnp.isPron, slash.c2.c> of {
|
||||||
|
<True, Acc | Dat> => VMedial slash.c2.c ;
|
||||||
|
_ => slash.vtype
|
||||||
|
} ;
|
||||||
p = slash.p ;
|
p = slash.p ;
|
||||||
isSimple = False
|
isSimple = False
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
ReflPron =
|
ReflPron =
|
||||||
{ s = \\role => "себе си";
|
{ s = \\role => "себе си";
|
||||||
gn = GSg Masc
|
gn = GSg Masc;
|
||||||
|
isPron = True
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
ReflPoss num cn =
|
ReflPoss num cn =
|
||||||
@@ -219,15 +228,17 @@ lin
|
|||||||
RObj c => linCase c Pos ++ s;
|
RObj c => linCase c Pos ++ s;
|
||||||
_ => s
|
_ => s
|
||||||
} ;
|
} ;
|
||||||
gn = gennum cn.g (numnnum num.nn)
|
gn = gennum cn.g (numnnum num.nn) ;
|
||||||
|
isPron = False
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
PredetRNP pred rnp = {
|
PredetRNP pred rnp = {
|
||||||
s = \\c => pred.s ! rnp.gn ++ rnp.s ! c ;
|
s = \\c => pred.s ! rnp.gn ++ rnp.s ! c ;
|
||||||
gn = rnp.gn
|
gn = rnp.gn ;
|
||||||
|
isPron = False
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
AdvRNP np prep rnp = {s = \\role => np.s ! role ++ prep.s ++ rnp.s ! RObj prep.c; gn = np.gn; p = np.p} ;
|
AdvRNP np prep rnp = {s = \\role => np.s ! role ++ prep.s ++ rnp.s ! RObj prep.c; gn = np.gn; p = np.p; isPron = False} ;
|
||||||
AdvRVP vp prep rnp = insertObj (\\a => prep.s ++ rnp.s ! RObj prep.c) Pos vp ;
|
AdvRVP vp prep rnp = insertObj (\\a => prep.s ++ rnp.s ! RObj prep.c) Pos vp ;
|
||||||
AdvRAP ap prep rnp = {
|
AdvRAP ap prep rnp = {
|
||||||
s = \\aform,p => ap.s ! aform ! p ++ prep.s ++ rnp.s ! RObj prep.c ;
|
s = \\aform,p => ap.s ! aform ! p ++ prep.s ++ rnp.s ! RObj prep.c ;
|
||||||
|
|||||||
Reference in New Issue
Block a user