summaryrefslogtreecommitdiff
path: root/next-lib/src/interlingua/RelativeIna.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/RelativeIna.gf
parente66b27aa5b6939694af4a1aa02b1f6e49dc7f636 (diff)
interlingua updated for new resource
Diffstat (limited to 'next-lib/src/interlingua/RelativeIna.gf')
-rw-r--r--next-lib/src/interlingua/RelativeIna.gf53
1 files changed, 53 insertions, 0 deletions
diff --git a/next-lib/src/interlingua/RelativeIna.gf b/next-lib/src/interlingua/RelativeIna.gf
new file mode 100644
index 000000000..ebdebcd13
--- /dev/null
+++ b/next-lib/src/interlingua/RelativeIna.gf
@@ -0,0 +1,53 @@
+concrete RelativeIna of Relative = CatIna ** open ResIna in {
+
+ flags optimize=all_subs ;
+
+ lin
+
+ RelCl cl = {
+ s = \\t,a,p,agr =>
+ (case agr.n of {Sg => "tal"; Pl => "tales"}) ++
+ "que" ++ cl.s ! t ! a ! p ! ODir ;
+ c = Nom
+ } ;
+
+ RelVP rp vp = {
+ s = \\t,a,p,agr => (mkClause (rp.s!Nom) agr vp).s ! t ! a ! p ! ODir;
+ c = Nom
+ } ;
+ -- !!! person agreement is probably bad here; see below.
+
+---- Pied piping: "a que tu invia flores"
+
+ RelSlash rp slash = {
+ s = \\t,a,p,agr => slash.p2 ++ rp.s ! slash.c2 ++ slash.s ! t ! a ! p ! ODir ;
+ c = slash.c2;
+ } ;
+ -- !!! In the above The agreement feature of the RP does not match
+ -- the the (parametric!) agreement of the resulting clause.
+ -- Is it a bug? I believe there is the same behaviour in the english grammar.
+
+ FunRP p np rp = {
+ s = \\c => np.s ! Acc ++ p.s ++ rp.s ! p.c ;
+ a = np.a
+ } ;
+
+
+ IdRP = {
+ -- TODO: variant: "le qual"
+ a = {p = P3; n = variants {Sg; Pl}};
+ s = table {
+ Nom => quique; -- Le ultime traino que pote portar me ibi a tempore parti in cinque minutas
+ Gen => "cuje"; -- Le documentos cuje importantia esseva dubitose incriminava le spia
+ Acc => "que"; -- Le documentos que le spia portava con se esseva multo importante
+ Dat => "a" ++ quique;
+ Abl => "de" ++ quique
+ }} ;
+
+ oper
+ quique = variants {"qui"; -- !!! Only for humans, only after a preposition.
+ -- This is extremely strange, because it does not match any Romance language I know.
+ -- For now just be lax and make it a variant of "que"
+ "que"};
+
+}