1
0
forked from GitHub/gf-rgl

fix: several rules were droping clitics

This commit is contained in:
krangelov
2020-04-26 22:36:29 +02:00
parent 0afe1ba167
commit 01ca4966dd
2 changed files with 20 additions and 9 deletions

View File

@@ -72,9 +72,10 @@ lin
{s = vp.ad.s ++ {s = vp.ad.s ++
vp.s ! Imperf ! VGerund ++ vp.s ! Imperf ! VGerund ++
case vp.vtype of { case vp.vtype of {
VNormal => "" ; VNormal => vp.clitics ;
VMedial c => reflClitics ! c ; VMedial c => vp.clitics++reflClitics ! c ;
VPhrasal c => personalClitics (agrP3 (GSg Masc)) ! c VPhrasal Dat => personalClitics (agrP3 (GSg Masc)) ! Dat++vp.clitics ;
VPhrasal c => vp.clitics++personalClitics (agrP3 (GSg Masc)) ! c
} ++ } ++
vp.compl ! {gn=GSg Neut; p=P3}} ; vp.compl ! {gn=GSg Neut; p=P3}} ;
@@ -102,9 +103,14 @@ lin
UttVPShort vp = { UttVPShort vp = {
s = let agr = agrP3 (GSg Neut) ; s = let agr = agrP3 (GSg Neut) ;
clitic = case vp.vtype of { clitic = case vp.vtype of {
VNormal => {s=[]; agr=agr} ; VNormal => {s=vp.clitics; agr=agr} ;
VMedial c => {s=reflClitics ! c; agr=agr} ; VMedial c => {s=vp.clitics++reflClitics ! c; agr=agr} ;
VPhrasal c => {s=personalClitics agr ! c; agr={gn=GSg Neut; p=P3}} VPhrasal c => {s=case c of {
Dat => personalClitics agr ! c++vp.clitics;
c => vp.clitics++personalClitics agr ! c
} ;
agr={gn=GSg Neut; p=P3}
}
} ; } ;
in vp.ad.s ++ clitic.s ++ in vp.ad.s ++ clitic.s ++
vp.s ! Imperf ! VPres (numGenNum clitic.agr.gn) clitic.agr.p ++ vp.s ! Imperf ! VPres (numGenNum clitic.agr.gn) clitic.agr.p ++

View File

@@ -613,9 +613,14 @@ resource ResBul = ParamX ** open Prelude, Predef in {
\vp -> \vp ->
let agr = {gn = GSg Neut; p = P1}; let agr = {gn = GSg Neut; p = P1};
clitic = case vp.vtype of { clitic = case vp.vtype of {
VNormal => {s=[]; agr=agr} ; VNormal => {s=vp.clitics; agr=agr} ;
VMedial c => {s=reflClitics ! c; agr=agr} ; VMedial c => {s=vp.clitics++reflClitics ! c; agr=agr} ;
VPhrasal c => {s=personalClitics agr ! c; agr={gn=GSg Neut; p=P3}} VPhrasal c => {s=case c of {
Dat => personalClitics agr ! Dat++vp.clitics;
_ => vp.clitics++personalClitics agr ! c
};
agr={gn=GSg Neut; p=P3}
}
} ; } ;
in vp.ad.s ++ in vp.ad.s ++
vp.s ! Imperf ! VPres (numGenNum clitic.agr.gn) clitic.agr.p ++ clitic.s ++ vp.s ! Imperf ! VPres (numGenNum clitic.agr.gn) clitic.agr.p ++ clitic.s ++