diff options
| author | aarne <aarne@cs.chalmers.se> | 2008-09-22 12:24:28 +0000 |
|---|---|---|
| committer | aarne <aarne@cs.chalmers.se> | 2008-09-22 12:24:28 +0000 |
| commit | 766852a64c9816f073100ff720cf7bafab39c043 (patch) | |
| tree | 8aedd62fb0d8b24d84f2640087b2e958c1ced043 /next-lib/src/german/VerbGer.gf | |
| parent | 69b96e87ee361b1f95b8de566ef98c3789c53705 (diff) | |
adapted German to 1.5
Diffstat (limited to 'next-lib/src/german/VerbGer.gf')
| -rw-r--r-- | next-lib/src/german/VerbGer.gf | 82 |
1 files changed, 82 insertions, 0 deletions
diff --git a/next-lib/src/german/VerbGer.gf b/next-lib/src/german/VerbGer.gf new file mode 100644 index 000000000..83b7ae9e5 --- /dev/null +++ b/next-lib/src/german/VerbGer.gf @@ -0,0 +1,82 @@ +concrete VerbGer of Verb = CatGer ** open Prelude, ResGer in { + + flags optimize=all_subs ; + + lin + UseV = predV ; + + ComplVV v vp = + let + vpi = infVP v.isAux vp + in + insertExtrapos vpi.p3 ( + insertInf vpi.p2 ( + insertObj vpi.p1 ( + predVGen v.isAux v))) ; + + ComplVS v s = + 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) ; + + SlashV2a v = predV v ** {c2 = v.c2} ; + + Slash2V3 v np = + insertObj (\\_ => appPrep v.c2 np.s) (predV v) ** {c2 = v.c3} ; + Slash3V3 v np = + insertObj (\\_ => appPrep v.c3 np.s) (predV v) ** {c2 = v.c2} ; + + SlashV2S v s = + insertExtrapos (conjThat ++ s.s ! Sub) (predV v) ** {c2 = v.c2} ; + SlashV2Q v q = + insertExtrapos (q.s ! QIndir) (predV v) ** {c2 = v.c2} ; + SlashV2V v vp = + let + vpi = infVP False vp + in + insertExtrapos vpi.p3 ( + insertInf vpi.p2 ( + insertObj vpi.p1 ((predV v)))) ** {c2 = v.c2} ; + + SlashV2A v ap = + insertObj (\\_ => ap.s ! APred) (predV v) ** {c2 = v.c2} ; + + ComplSlash vp np = insertObj (\\_ => appPrep vp.c2 np.s) vp ; + + SlashVV v vp = + let + vpi = infVP v.isAux vp + in + insertExtrapos vpi.p3 ( + insertInf vpi.p2 ( + insertObj vpi.p1 ( + predVGen v.isAux v))) ** {c2 = vp.c2} ; + + SlashV2VNP 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)))) ** {c2 = v.c2} ; + + UseComp comp = insertAdv (comp.s ! agrP3 Sg) (predV sein_V) ; -- agr not used + -- we want to say "ich liebe sie nicht" but not "ich bin alt nicht" + + CompAP ap = {s = \\_ => ap.s ! APred} ; + CompNP np = {s = \\_ => np.s ! Nom} ; + CompAdv a = {s = \\_ => a.s} ; + + AdvVP vp adv = insertAdv adv.s vp ; + AdVVP adv vp = insertAdV adv.s vp ; + + ReflVP vp = insertObj (\\a => appPrep vp.c2 (reflPron ! a)) vp ; + + PassV2 v = insertInf (v.s ! VPastPart APred) (predV werdenPass) ; + +---b UseVS, UseVQ = \v -> v ** {c2 = noPreposition Acc} ; + +} |
