forked from GitHub/gf-rgl
fix: several rules were droping clitics
This commit is contained in:
@@ -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 ++
|
||||||
|
|||||||
@@ -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 ++
|
||||||
|
|||||||
Reference in New Issue
Block a user