summaryrefslogtreecommitdiff
path: root/old-lib/resource/german/VerbGer.gf
diff options
context:
space:
mode:
authoraarne <aarne@chalmers.se>2009-06-22 15:39:08 +0000
committeraarne <aarne@chalmers.se>2009-06-22 15:39:08 +0000
commite89fdae2fa1626348d8025824a7469252fa85e42 (patch)
treec7d46bbd0494043b4bd6f917a25a7687517d0547 /old-lib/resource/german/VerbGer.gf
parent3049b59b35b25381a7c6787444165c200d66e08b (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.gf82
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} ;
+
+}