1
0
forked from GitHub/gf-core

remove the redundant complement fields in V2V and V2A

This commit is contained in:
krasimir
2009-09-22 08:08:54 +00:00
parent d7817e5317
commit 1e894281b7
2 changed files with 10 additions and 12 deletions

View File

@@ -110,9 +110,9 @@ concrete CatRon of Cat =
VQ, VA = ResRon.Verb ; VQ, VA = ResRon.Verb ;
V2,V2S, V2Q = ResRon.Verb ** {c2 : Compl} ; V2,V2S,V2Q,V2V,V2A = ResRon.Verb ** {c2 : Compl} ;
V3,V2A, V2V = ResRon.Verb ** {c2,c3 : Compl} ; V3 = ResRon.Verb ** {c2,c3 : Compl} ;
VS = ResRon.Verb ** {m : Polarity => Mood} ; VS = ResRon.Verb ** {m : Polarity => Mood} ;

View File

@@ -68,8 +68,8 @@ concrete VerbRon of Verb =
-- more usually the adverbial form is used, hence no agreement -- more usually the adverbial form is used, hence no agreement
SlashV2A v ap = SlashV2A v ap =
(insertSimpObj (\\a => v.c3.s ++ ap.s ! (AF Masc Sg Indef (convCase v.c3.c))) (insertSimpObj (\\a => ap.s ! (AF Masc Sg Indef ANomAcc)) (useVerb v))
(useVerb v)) ** {needAgr = False ; needClit = True ; c2 = v.c2} ; ** {needAgr = False ; needClit = True ; c2 = v.c2} ;
ComplSlash vp np = let s1 = vp.c2.s ++(np.s ! (vp.c2.c)).comp ; ComplSlash vp np = let s1 = vp.c2.s ++(np.s ! (vp.c2.c)).comp ;
ss = if_then_Str np.hasRef (vp.c2.prepDir ++ s1) s1 ; ss = if_then_Str np.hasRef (vp.c2.prepDir ++ s1) s1 ;
@@ -128,14 +128,12 @@ concrete VerbRon of Verb =
vvp = vp ** {lock_VP = <>}; vvp = vp ** {lock_VP = <>};
vcomp = (getConjComp vvp np.a).s vcomp = (getConjComp vvp np.a).s
in in
case v.c2.isDir of case v.c2.isDir of {
{Dir PAcc => (insertObje (\\a => sir ++ vcomp ! a) (clitFromNoun np Ac) RNoAg (isAgrFSg np.a) vcAc (useVerb v)) ** {needAgr = vp.needAgr ; needClit = False ;c2 = vp.c2} ; Dir PAcc => insertObje (\\a => sir ++ vcomp ! a) (clitFromNoun np Ac) RNoAg (isAgrFSg np.a) vcAc (useVerb v) ;
Dir PDat => insertObje (\\a => sir ++ vcomp ! a) RNoAg (clitFromNoun np Da) False vcDa (useVerb v) ;
Dir PDat => (insertObje (\\a => sir ++ vcomp ! a) RNoAg (clitFromNoun np Da) False vcDa (useVerb v)) ** {needAgr = vp.needAgr ; needClit = False ; c2 = vp.c2}; _ => insertSimpObjPre (\\a => ss ++ vcomp ! a) (useVerb v)
}
_ => (insertSimpObjPre (\\a => ss ++ vcomp ! a) (useVerb v)) ** {needAgr = vp.needAgr ; needClit = False ; c2 = vp.c2} ** {needAgr = vp.needAgr ; needClit = False ;c2 = vp.c2} ;
};
UseComp comp = insertSimpObj comp.s copula ; UseComp comp = insertSimpObj comp.s copula ;