diff options
Diffstat (limited to 'old-lib/resource/romance/VerbRomance.gf')
| -rw-r--r-- | old-lib/resource/romance/VerbRomance.gf | 119 |
1 files changed, 119 insertions, 0 deletions
diff --git a/old-lib/resource/romance/VerbRomance.gf b/old-lib/resource/romance/VerbRomance.gf new file mode 100644 index 000000000..96992bd35 --- /dev/null +++ b/old-lib/resource/romance/VerbRomance.gf @@ -0,0 +1,119 @@ +incomplete concrete VerbRomance of Verb = + CatRomance ** open Prelude, CommonRomance, ResRomance in { + + flags optimize=all_subs ; + + lin + UseV = predV ; + + ComplVV v vp = + insertComplement (\\a => prepCase v.c2.c ++ infVP vp a) (predV v) ; + ComplVS v s = insertExtrapos (\\b => conjThat ++ s.s ! (v.m ! b)) (predV v) ; + ComplVQ v q = insertExtrapos (\\_ => q.s ! QIndir) (predV v) ; + ComplVA v ap = + insertComplement (\\a => ap.s ! AF a.g a.n) (predV v) ; + + SlashV2a v = mkVPSlash v.c2 (predV v) ; + + Slash2V3 v np = mkVPSlash v.c3 (insertObject v.c2 np (predV v)) ; + Slash3V3 v np = mkVPSlash v.c2 (insertObject v.c3 np (predV v)) ; + + SlashV2V v vp = + mkVPSlash v.c2 + (insertComplement + (\\a => prepCase v.c2.c ++ infVP vp a) + (predV v)) ; + + SlashV2S v s = + mkVPSlash v.c2 + (insertExtrapos + (\\b => conjThat ++ s.s ! Indic) ---- mood + (predV v)) ; + + SlashV2Q v q = + mkVPSlash v.c2 + (insertExtrapos + (\\_ => q.s ! QIndir) + (predV v)) ; + + {- ---- lincat should be fixed + SlashV2A v ap = + + let af = case v.c3.isDir of { + True => AF np.a.g np.a.n ; -- ... bleues + _ => AF Masc Sg -- il les peint en bleu + } + -} + + SlashV2A v ap = + let af = AF Masc Sg + in + mkVPSlash v.c2 + (insertComplement + (\\_ => v.c3.s ++ prepCase v.c3.c ++ ap.s ! af) + (predV v)) ; + + ComplSlash vp np = insertObject vp.c2 np vp ; + + ReflVP v = case v.c2.isDir of { + True => insertRefl v ; + False => insertComplement + (\\a => v.c2.s ++ reflPron a.n a.p v.c2.c) v + } ; + + SlashVV v vp = + mkVPSlash vp.c2 + (insertComplement (\\a => prepCase v.c2.c ++ infVP vp a) (predV v)) ; + + SlashV2VNP v np vp = + mkVPSlash vp.c2 + (insertComplement + (\\a => prepCase v.c2.c ++ infVP vp a) + (insertObject v.c2 np (predV v))) ; + + UseComp comp = insertComplement comp.s (predV copula) ; + + CompAP ap = {s = \\ag => ap.s ! AF ag.g ag.n} ; + CompNP np = {s = \\_ => np.s ! Ton Acc} ; + CompAdv a = {s = \\_ => a.s} ; + + AdvVP vp adv = insertAdv adv.s vp ; + AdVVP adv vp = insertAdV adv.s vp ; + + PassV2 v = insertComplement (\\a => v.s ! VPart a.g a.n) (predV auxPassive) ; + +} + +{---b + ComplV2 v np1 = insertObject v.c2 np1 (predV v) ; + ComplV3 v np1 np2 = insertObject v.c3 np2 (insertObject v.c2 np1 (predV v)) ; + + ComplV2V v np vp = + insertComplement (\\a => prepCase v.c2.c ++ infVP vp a) + (insertObject v.c2 np (predV v)) ; + ComplV2S v np s = + insertExtrapos (\\b => s.s ! Indic) ---- mood + (insertObject v.c2 np (predV v)) ; + ComplV2Q v np q = + insertExtrapos (\\_ => q.s ! QIndir) + (insertObject v.c2 np (predV v)) ; + + ComplV2A v np ap = + let af = case v.c3.isDir of { + True => AF np.a.g np.a.n ; -- ... bleues + _ => AF Masc Sg -- il les peint en bleu + } + in + insertComplement + (\\a => v.c3.s ++ prepCase v.c3.c ++ ap.s ! af) + (insertObject v.c2 np (predV v)) ; + + ReflV2 v = case v.c2.isDir of { + True => predV {s = v.s ; vtyp = vRefl} ; + False => insertComplement + (\\a => v.c2.s ++ reflPron a.n a.p v.c2.c) (predV v) + } ; + + UseVS, UseVQ = \vv -> {s = vv.s ; c2 = complAcc ; vtyp = vv.vtyp} ; +-} + |
