From fa966ab2126b1f24520c60a3d9485de316f082d5 Mon Sep 17 00:00:00 2001 From: Krasimir Angelov Date: Wed, 4 Jul 2018 14:06:41 +0200 Subject: [PATCH] use CPrep instead of Acc in several places --- src/bulgarian/AdjectiveBul.gf | 13 ++++++------- src/bulgarian/AdverbBul.gf | 2 +- src/bulgarian/ExtendBul.gf | 7 +++---- src/bulgarian/ExtraBul.gf | 5 ++--- src/bulgarian/NounBul.gf | 4 ++-- src/bulgarian/RelativeBul.gf | 2 +- src/bulgarian/VerbBul.gf | 2 +- 7 files changed, 16 insertions(+), 19 deletions(-) diff --git a/src/bulgarian/AdjectiveBul.gf b/src/bulgarian/AdjectiveBul.gf index 38e79e2ac..14848f20d 100644 --- a/src/bulgarian/AdjectiveBul.gf +++ b/src/bulgarian/AdjectiveBul.gf @@ -10,8 +10,8 @@ concrete AdjectiveBul of Adjective = CatBul ** open ResBul, Prelude in { } ; ComparA a np = { - s = \\aform,_ => "по" ++ hyphen ++ a.s ! aform ++ "от" ++ np.s ! RObj Acc ; - adv = "по" ++ hyphen ++ a.adv ++ "от" ++ np.s ! RObj Acc ; + s = \\aform,_ => "по" ++ hyphen ++ a.s ! aform ++ "от" ++ np.s ! RObj CPrep ; + adv = "по" ++ hyphen ++ a.adv ++ "от" ++ np.s ! RObj CPrep ; isPre = True } ; UseComparA a = { @@ -28,16 +28,15 @@ concrete AdjectiveBul of Adjective = CatBul ** open ResBul, Prelude in { -- $SuperlA$ belongs to determiner syntax in $Noun$. ----- just to make the API compile. AR 7/4/2010 CAdvAP ad ap np = { - s = \\a,p => ad.s ++ ap.s ! a ! p ++ ad.sn ++ np.s ! RObj Acc ; - adv = ad.s ++ ap.adv ++ ad.sn ++ np.s ! RObj Acc ; + s = \\a,p => ad.s ++ ap.s ! a ! p ++ ad.sn ++ np.s ! RObj CPrep ; + adv = ad.s ++ ap.adv ++ ad.sn ++ np.s ! RObj CPrep ; isPre = False } ; ComplA2 a np = { - s = \\aform,p => a.s ! aform ++ a.c2 ++ np.s ! RObj Acc ; - adv = a.adv ++ a.c2 ++ np.s ! RObj Acc ; + s = \\aform,p => a.s ! aform ++ a.c2 ++ np.s ! RObj CPrep ; + adv = a.adv ++ a.c2 ++ np.s ! RObj CPrep ; isPre = False } ; diff --git a/src/bulgarian/AdverbBul.gf b/src/bulgarian/AdverbBul.gf index f4b844826..8043df955 100644 --- a/src/bulgarian/AdverbBul.gf +++ b/src/bulgarian/AdverbBul.gf @@ -5,7 +5,7 @@ concrete AdverbBul of Adverb = CatBul ** open ResBul, Prelude in { lin PositAdvAdj a = {s = a.adv} ; ComparAdvAdj cadv a np = { - s = cadv.s ++ "по" ++ "-" ++ a.s ! ASg Neut Indef ++ "от" ++ np.s ! RObj Acc + s = cadv.s ++ "по" ++ "-" ++ a.s ! ASg Neut Indef ++ "от" ++ np.s ! RObj CPrep } ; ComparAdvAdjS cadv a s = { s = cadv.s ++ "по" ++ "-" ++ a.s ! ASg Neut Indef ++ "от" ++ "колкото" ++ s.s diff --git a/src/bulgarian/ExtendBul.gf b/src/bulgarian/ExtendBul.gf index 745114888..6d7b5a4ff 100644 --- a/src/bulgarian/ExtendBul.gf +++ b/src/bulgarian/ExtendBul.gf @@ -7,8 +7,7 @@ lin AdAdV a adv = {s = a.s ++ adv.s; p = adv.p} ; EmptyRelSlash slash = { - s = \\t,a,p,agr => slash.c2.s ++ whichRP ! agr.gn ++ slash.s ! agr ! t ! a ! p ! Main ; - role = RObj Acc + s = \\t,a,p,agr => slash.c2.s ++ whichRP ! agr.gn ++ slash.s ! agr ! t ! a ! p ! Main } ; CompoundN n1 n2 = @@ -55,7 +54,7 @@ lin vp.s ! Perf ! VPassive aform ++ vp.compl1 ! {gn=aform2gennum aform; p=p} ++ vp.compl2 ! {gn=aform2gennum aform; p=p} ++ - "РѕС‚" ++ np.s ! RObj Acc + "РѕС‚" ++ np.s ! RObj CPrep in {s = ap; adv = ap ! ASg Neut Indef ! P3; isPre = False} ; GerundCN vp = { @@ -93,7 +92,7 @@ lin vp.compl1 ! a ++ vp.compl2 ! a) Pos (predV verbBe) ; PassAgentVPSlash vp np = - insertObj (\\_ => "РѕС‚" ++ np.s ! RObj Acc) Pos + insertObj (\\_ => "РѕС‚" ++ np.s ! RObj CPrep) Pos (insertObj (\\a => vp.s ! Perf ! VPassive (aform a.gn Indef (RObj Acc)) ++ vp.compl1 ! a ++ vp.compl2 ! a) Pos (predV verbBe)) ; diff --git a/src/bulgarian/ExtraBul.gf b/src/bulgarian/ExtraBul.gf index 5fa19f8d6..6adb99727 100644 --- a/src/bulgarian/ExtraBul.gf +++ b/src/bulgarian/ExtraBul.gf @@ -27,8 +27,7 @@ concrete ExtraBul of ExtraBulAbs = CatBul ** } ; EmptyRelSlash slash = { - s = \\t,a,p,agr => slash.c2.s ++ whichRP ! agr.gn ++ slash.s ! agr ! t ! a ! p ! Main ; - role = RObj Acc + s = \\t,a,p,agr => slash.c2.s ++ whichRP ! agr.gn ++ slash.s ! agr ! t ! a ! p ! Main } ; i8fem_Pron = mkPron "аз" "мой" "моя" "моят" "моя" "моята" "мое" "моето" "мои" "моите" (GSg Fem) PronP1 ; @@ -96,7 +95,7 @@ concrete ExtraBul of ExtraBulAbs = CatBul ** vp.compl1 ! a ++ vp.compl2 ! a) Pos (predV verbBe) ; PassAgentVPSlash vp np = ---- AR 9/4/2014: to be verified - insertObj (\\_ => "чрез" ++ np.s ! RObj Acc) Pos + insertObj (\\_ => "чрез" ++ np.s ! RObj CPrep) Pos (insertObj (\\a => vp.s ! Perf ! VPassive (aform a.gn Indef (RObj Acc)) ++ vp.compl1 ! a ++ vp.compl2 ! a) Pos (predV verbBe)) ; diff --git a/src/bulgarian/NounBul.gf b/src/bulgarian/NounBul.gf index 40654005f..49d095775 100644 --- a/src/bulgarian/NounBul.gf +++ b/src/bulgarian/NounBul.gf @@ -197,9 +197,9 @@ concrete NounBul of Noun = CatBul ** open ResBul, Prelude in { ApposCN cn np = {s = \\nf => cn.s ! nf ++ np.s ! RSubj; g=cn.g} ; - PossNP cn np = {s = \\nf => cn.s ! nf ++ "на" ++ np.s ! (RObj Acc); g = cn.g} ; + PossNP cn np = {s = \\nf => cn.s ! nf ++ "на" ++ np.s ! (RObj CPrep); g = cn.g} ; - PartNP cn np = {s = \\nf => cn.s ! nf ++ "от" ++ np.s ! (RObj Acc); g = cn.g} ; + PartNP cn np = {s = \\nf => cn.s ! nf ++ "от" ++ np.s ! (RObj CPrep); g = cn.g} ; CountNP det np = { s = \\role => let g = case np.gn of { -- this is lossy diff --git a/src/bulgarian/RelativeBul.gf b/src/bulgarian/RelativeBul.gf index c923ca934..44c12fa64 100644 --- a/src/bulgarian/RelativeBul.gf +++ b/src/bulgarian/RelativeBul.gf @@ -28,7 +28,7 @@ concrete RelativeBul of Relative = CatBul ** open ResBul in { } ; FunRP p np rp = { - s = \\gn => np.s ! RObj Acc ++ linPrep p ++ rp.s ! gn ; + s = \\gn => np.s ! RObj CPrep ++ linPrep p ++ rp.s ! gn ; } ; IdRP = { diff --git a/src/bulgarian/VerbBul.gf b/src/bulgarian/VerbBul.gf index 7123ff14f..cb2450895 100644 --- a/src/bulgarian/VerbBul.gf +++ b/src/bulgarian/VerbBul.gf @@ -150,7 +150,7 @@ concrete VerbBul of Verb = CatBul ** open Prelude, ResBul, ParadigmsBul in { PassV2 v = insertObj (\\a => v.s ! Perf ! VPassive (aform a.gn Indef (RObj Acc))) Pos (predV verbBe) ; CompAP ap = {s = \\agr => ap.s ! aform agr.gn Indef (RObj Acc) ! agr.p; p = Pos} ; - CompNP np = {s = \\_ => np.s ! RObj Acc; p = personPol np.p} ; + CompNP np = {s = \\_ => np.s ! RObj CPrep; p = personPol np.p} ; CompAdv a = {s = \\_ => a.s; p = Pos} ; CompCN cn = {s = \\agr => cn.s ! (NF (numGenNum agr.gn) Indef); p = Pos} ;