diff options
Diffstat (limited to 'old-lib/resource/interlingua/RelativeIna.gf')
| -rw-r--r-- | old-lib/resource/interlingua/RelativeIna.gf | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/old-lib/resource/interlingua/RelativeIna.gf b/old-lib/resource/interlingua/RelativeIna.gf new file mode 100644 index 000000000..ebdebcd13 --- /dev/null +++ b/old-lib/resource/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"}; + +} |
