diff options
Diffstat (limited to 'old-lib/resource/bulgarian/VerbBul.gf')
| -rw-r--r-- | old-lib/resource/bulgarian/VerbBul.gf | 92 |
1 files changed, 92 insertions, 0 deletions
diff --git a/old-lib/resource/bulgarian/VerbBul.gf b/old-lib/resource/bulgarian/VerbBul.gf new file mode 100644 index 000000000..59d29deb2 --- /dev/null +++ b/old-lib/resource/bulgarian/VerbBul.gf @@ -0,0 +1,92 @@ +concrete VerbBul of Verb = CatBul ** open Prelude, ResBul, ParadigmsBul in { + flags coding=cp1251 ; + + + flags optimize=all_subs ; + + lin + UseV = predV ; + + SlashV2a v = slashV v v.c2 ; + + Slash2V3 v np = + insertSlashObj1 (\\_ => v.c2.s ++ np.s ! RObj v.c2.c) (slashV v v.c3) ; + + Slash3V3 v np = + insertSlashObj2 (\\_ => v.c3.s ++ np.s ! RObj v.c3.c) (slashV v v.c2) ; + + ComplVV vv vp = + insertObj (daComplex vp ! Perf) (predV vv) ; + + ComplVS v s = insertObj (\\_ => "," ++ "χε" ++ s.s) (predV v) ; + ComplVQ v q = insertObj (\\_ => q.s ! QDir) (predV v) ; + + ComplVA v ap = + insertObj (\\agr => ap.s ! aform agr.gn Indef (RObj Acc)) (predV v) ; + + + SlashV2A v ap = + insertSlashObj2 (\\a => ap.s ! aform a.gn Indef (RObj Acc)) (slashV v v.c2) ; + + -- test: I saw a boy to whom she said that they are here + SlashV2S v s = insertSlashObj2 (\\_ => "," ++ "χε" ++ s.s) (slashV v v.c2) ; + + -- test: I saw a boy whom she asked who is here + SlashV2Q v q = insertSlashObj2 (\\_ => q.s ! QDir) (slashV v v.c2) ; + + -- test: I saw a boy whom she begged to walk + SlashV2V vv vp = + insertSlashObj2 (daComplex vp ! Perf) (slashV vv vv.c2) ; + + -- test: I saw a car whom she wanted to buy + SlashVV vv slash = { + s = vv.s ; + ad = {isEmpty=True; s=[]}; + compl1 = daComplex {s=slash.s; ad=slash.ad; compl=slash.compl1; vtype=slash.vtype} ! Perf ; + compl2 = slash.compl2 ; + vtype = vv.vtype ; + c2 = slash.c2 + } ; + + -- test: I saw a car whom she begged me to buy + SlashV2VNP vv np slash = { + s = vv.s ; + ad = {isEmpty=True; s=[]}; + compl1 = \\agr => vv.c2.s ++ np.s ! RObj vv.c2.c ++ + daComplex {s=slash.s; ad=slash.ad; compl=slash.compl1; vtype=slash.vtype} ! Perf ! np.a ; + compl2 = slash.compl2 ; + vtype = vv.vtype ; + c2 = slash.c2 + } ; + + ComplSlash slash np = { + s = slash.s ; + ad = slash.ad ; + compl = \\a => slash.compl1 ! a ++ slash.c2.s ++ np.s ! RObj slash.c2.c ++ slash.compl2 ! np.a ; + vtype = slash.vtype + } ; + + UseComp comp = insertObj comp.s (predV verbBe) ; + + AdvVP vp adv = insertObj (\\_ => adv.s) vp ; + + AdVVP adv vp = { + s = vp.s ; + ad = {isEmpty=False; s=vp.ad.s ++ adv.s} ; + compl = vp.compl ; + vtype = vp.vtype + } ; + + ReflVP slash = { + s = slash.s ; + ad = slash.ad ; + compl = \\agr => slash.compl1 ! agr ++ slash.compl2 ! agr ; + vtype = VMedial slash.c2.c ; + } ; + + PassV2 v = insertObj (\\a => v.s ! Perf ! VPassive (aform a.gn Indef (RObj Acc))) (predV verbBe) ; + + CompAP ap = {s = \\agr => ap.s ! aform agr.gn Indef (RObj Acc)} ; + CompNP np = {s = \\_ => np.s ! RObj Acc} ; + CompAdv a = {s = \\_ => a.s} ; +} |
