From 8583ae40a57fd4e84e687866fe5ed3820ef222b1 Mon Sep 17 00:00:00 2001 From: aarne Date: Wed, 16 Apr 2008 15:20:12 +0000 Subject: [PATCH] implemented V2? in finnish, german, romance --- lib/resource/finnish/VerbFin.gf | 12 +++++++++++- lib/resource/german/VerbGer.gf | 17 ++++++++++++++++- lib/resource/romance/VerbRomance.gf | 13 +++++++++++-- 3 files changed, 38 insertions(+), 4 deletions(-) diff --git a/lib/resource/finnish/VerbFin.gf b/lib/resource/finnish/VerbFin.gf index 108cc9265..acb6e8943 100644 --- a/lib/resource/finnish/VerbFin.gf +++ b/lib/resource/finnish/VerbFin.gf @@ -26,12 +26,22 @@ concrete VerbFin of Verb = CatFin ** open Prelude, ResFin in { ComplVS v s = insertExtrapos ("että" ++ s.s) (predV v) ; ComplVQ v q = insertExtrapos ( q.s) (predV v) ; - ComplVA v ap = insertObj (\\_,b,agr => ap.s ! False ! AN (NCase agr.n (npform2case agr.n v.c2.c))) --- v.cs.s ignored (predV v) ; + + ComplV2S v np s = + insertExtrapos ("että" ++ s.s) + (insertObj (\\fin,b,_ => appCompl fin b v.c2 np) (predV v)) ; + ComplV2Q v np q = + insertExtrapos (q.s) + (insertObj (\\fin,b,_ => appCompl fin b v.c2 np) (predV v)) ; + ComplV2V v np vp = + insertObj (\\_,b,a => infVP v.sc b a vp) ---- different infinitives + (insertObj (\\fin,b,_ => appCompl fin b v.c2 np) (predV v)) ; + ComplV2A v np ap = insertObj (\\fin,b,_ => appCompl fin b v.c2 np ++ diff --git a/lib/resource/german/VerbGer.gf b/lib/resource/german/VerbGer.gf index d4ea45f26..58744c935 100644 --- a/lib/resource/german/VerbGer.gf +++ b/lib/resource/german/VerbGer.gf @@ -22,8 +22,23 @@ concrete VerbGer of Verb = CatGer ** open Prelude, ResGer in { insertExtrapos (conjThat ++ s.s ! Sub) (predV v) ; ComplVQ v q = insertExtrapos (q.s ! QIndir) (predV v) ; - ComplVA v ap = insertObj (\\ _ => ap.s ! APred) (predV v) ; + + ComplV2S v np s = + insertExtrapos (conjThat ++ s.s ! Sub) + (insertObj (\\_ => appPrep v.c2 np.s) (predV v)) ; + ComplV2Q v np q = + insertExtrapos (q.s ! QIndir) + (insertObj (\\_ => appPrep v.c2 np.s) (predV v)) ; + ComplV2V v np vp = + let + vpi = infVP False vp + in + insertExtrapos vpi.p3 ( + insertInf vpi.p2 ( + insertObj vpi.p1 ( + (insertObj (\\_ => appPrep v.c2 np.s) (predV v))))) ; + ComplV2A v np ap = insertObj (\\_ => appPrep v.c2 np.s ++ ap.s ! APred) (predV v) ; diff --git a/lib/resource/romance/VerbRomance.gf b/lib/resource/romance/VerbRomance.gf index 6b6501311..6b64923b9 100644 --- a/lib/resource/romance/VerbRomance.gf +++ b/lib/resource/romance/VerbRomance.gf @@ -12,12 +12,21 @@ incomplete concrete VerbRomance of Verb = ComplVV v vp = insertComplement (\\a => prepCase v.c2.c ++ infVP vp a) (predV v) ; - ComplVS v s = insertExtrapos (\\b => conjThat ++ s.s ! (v.m ! b)) (predV v) ; ComplVQ v q = insertExtrapos (\\_ => q.s ! QIndir) (predV v) ; - ComplVA v ap = insertComplement (\\a => ap.s ! AF a.g a.n) (predV v) ; + + ComplV2V v np vp = + insertComplement (\\a => prepCase v.c2.c ++ infVP vp a) + (insertObject v.c2 np (predV v)) ; + ComplV2S v np s = + insertExtrapos (\\b => s.s ! Indic) ---- mood + (insertObject v.c2 np (predV v)) ; + ComplV2Q v np q = + insertExtrapos (\\_ => q.s ! QIndir) + (insertObject v.c2 np (predV v)) ; + ComplV2A v np ap = let af = case v.c3.isDir of { True => AF np.a.g np.a.n ; -- ... bleues