summaryrefslogtreecommitdiff
path: root/next-lib/src/interlingua/VerbIna.gf
diff options
context:
space:
mode:
authoraarne <aarne@cs.chalmers.se>2009-03-13 16:05:13 +0000
committeraarne <aarne@cs.chalmers.se>2009-03-13 16:05:13 +0000
commit9b636333297ef49caece5ddb523e4bef7b8aea83 (patch)
treee06ad1f15622e671b42d86af23224c4465400456 /next-lib/src/interlingua/VerbIna.gf
parente66b27aa5b6939694af4a1aa02b1f6e49dc7f636 (diff)
interlingua updated for new resource
Diffstat (limited to 'next-lib/src/interlingua/VerbIna.gf')
-rw-r--r--next-lib/src/interlingua/VerbIna.gf66
1 files changed, 66 insertions, 0 deletions
diff --git a/next-lib/src/interlingua/VerbIna.gf b/next-lib/src/interlingua/VerbIna.gf
new file mode 100644
index 000000000..c41b1f55b
--- /dev/null
+++ b/next-lib/src/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} ;
+
+}