diff options
| author | aarne <aarne@chalmers.se> | 2009-06-22 15:39:08 +0000 |
|---|---|---|
| committer | aarne <aarne@chalmers.se> | 2009-06-22 15:39:08 +0000 |
| commit | e89fdae2fa1626348d8025824a7469252fa85e42 (patch) | |
| tree | c7d46bbd0494043b4bd6f917a25a7687517d0547 /old-lib/resource/german/VerbGer.gf | |
| parent | 3049b59b35b25381a7c6787444165c200d66e08b (diff) | |
next-lib renamed to lib, lib to old-lib
Diffstat (limited to 'old-lib/resource/german/VerbGer.gf')
| -rw-r--r-- | old-lib/resource/german/VerbGer.gf | 82 |
1 files changed, 82 insertions, 0 deletions
diff --git a/old-lib/resource/german/VerbGer.gf b/old-lib/resource/german/VerbGer.gf new file mode 100644 index 000000000..83b7ae9e5 --- /dev/null +++ b/old-lib/resource/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} ; + +} |
