summaryrefslogtreecommitdiff
path: root/old-lib/resource/interlingua/VerbIna.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/interlingua/VerbIna.gf
parent3049b59b35b25381a7c6787444165c200d66e08b (diff)
next-lib renamed to lib, lib to old-lib
Diffstat (limited to 'old-lib/resource/interlingua/VerbIna.gf')
-rw-r--r--old-lib/resource/interlingua/VerbIna.gf66
1 files changed, 66 insertions, 0 deletions
diff --git a/old-lib/resource/interlingua/VerbIna.gf b/old-lib/resource/interlingua/VerbIna.gf
new file mode 100644
index 000000000..c41b1f55b
--- /dev/null
+++ b/old-lib/resource/interlingua/VerbIna.gf
@@ -0,0 +1,66 @@
+concrete VerbIna of Verb = CatIna ** open ResIna, Prelude in {
+
+ flags optimize=all_subs ;
+
+ lin
+ UseV = predV ;
+
+ SlashV2a v = predV v ** {p2 = v.p2 ; c2 = v.c2} ;
+
+ Slash2V3 v np = insertObj v.p2 v.c2 np (predV v) ** {p2 = v.p3 ; c2 = v.c3} ;
+ Slash3V3 v np = insertObj v.p3 v.c3 np (predV v) ** {p2 = v.p2 ; c2 = v.c2} ;
+
+ SlashV2A v ap =
+ insertInvarObj (casePrep v.p3 v.c3 ++ (ap.s ! Sp3))
+ (predV v) ** {p2 = v.p2 ; c2 = v.c2} ;
+
+ -- This is not described by the interlingua grammar.
+ -- eg. "peint en rouge"
+
+-- the 1.4 additions made by AR 16/6/2008
+ SlashV2V v vp =
+ insertInvarObj (infVP vp) (predV v) ** {p2 = v.p2 ; c2 = v.c2} ;
+ SlashV2S v s =
+ insertInvarObj ("que" ++ s.s) (predV v) ** {p2 = v.p2 ; c2 = v.c2} ;
+ SlashV2Q v q =
+ insertInvarObj (q.s ! ODir) (predV v) ** {p2 = v.p2 ; c2 = v.c2} ;
+
+
+ ComplVV v vp = insertInvarObj (infVP vp) (predV v) ;
+
+ ComplVS v s = insertInvarObj ("que" ++ s.s) (predV v) ;
+ ComplVQ v q = insertInvarObj (q.s ! ODir) (predV v) ;
+
+
+ ComplVA v ap = insertInvarObj (ap.s ! Sp3) (predV v) ;
+ -- !!! Agr should agree with the subject; however this is a quite useless sentence:
+ -- You are greater than yourself... etc.
+
+
+ ComplSlash vp np = insertObj vp.p2 vp.c2 np vp ;
+
+ UseComp comp = insertInvarObj (comp.s ! Sp3) (predV esserV) ;
+ -- !!! as above
+
+ SlashVV v vp =
+ insertInvarObj (infVP vp) (predV v) ** {p2 = vp.p2 ; c2 = vp.c2} ;
+
+ SlashV2VNP v np vp =
+ insertObj v.p2 v.c2 np
+ (insertInvarObj (infVP vp) (predV v)) ** {p2 = vp.p2 ; c2 = vp.c2} ;
+
+ AdvVP vp adv = insertInvarObj (adv.s) vp ;
+
+ AdVVP adv vp = insertInvarObj adv.s vp ;
+ -- ??? The grammar is quite unclear about where the adverbs should go.
+
+ ReflVP vp = insertReflObj vp.p2 vp.c2
+ {isPronoun = True; s = \\agr,c => reflPron!agr} vp ;
+
+ PassV2 v = insertInvarObj (v.s ! VPPart) (predV esserV);
+
+ CompAP ap = ap ;
+ CompNP np = {s = \\_ => np.s ! Acc} ;
+ CompAdv a = {s = \\_ => a.s} ;
+
+}