Files
gf-core/lib/resource/romance/VerbRomance.gf
2007-12-12 20:30:11 +00:00

51 lines
1.5 KiB
Plaintext

incomplete concrete VerbRomance of Verb =
CatRomance ** open Prelude, CommonRomance, ResRomance in {
flags optimize=all_subs ;
lin
UseV = predV ;
ComplV2 v np1 = insertObject v.c2 np1 (predV v) ;
ComplV3 v np1 np2 = insertObject v.c3 np2 (insertObject v.c2 np1 (predV v)) ;
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) ;
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)) ;
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 ;
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)
} ;
PassV2 v = insertComplement (\\a => v.s ! VPart a.g a.n) (predV auxPassive) ;
UseVS, UseVQ = \vv -> {s = vv.s ; c2 = complAcc ; vtyp = vv.vtyp} ;
}