diff --git a/src/bulgarian/AdjectiveBul.gf b/src/bulgarian/AdjectiveBul.gf index 5beb49788..56d093fb1 100644 --- a/src/bulgarian/AdjectiveBul.gf +++ b/src/bulgarian/AdjectiveBul.gf @@ -29,8 +29,8 @@ concrete AdjectiveBul of Adjective = CatBul ** open ResBul, Prelude in { -- $SuperlA$ belongs to determiner syntax in $Noun$. CAdvAP ad ap np = { - 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 ; + s = \\a,p => ad.s ++ ap.s ! a ! p ++ ad.p ++ np.s ! RObj CPrep ; + adv = ad.s ++ ap.adv ++ ad.p ++ np.s ! RObj CPrep ; isPre = False } ; diff --git a/src/bulgarian/AdverbBul.gf b/src/bulgarian/AdverbBul.gf index 8043df955..af224bcb8 100644 --- a/src/bulgarian/AdverbBul.gf +++ b/src/bulgarian/AdverbBul.gf @@ -5,10 +5,10 @@ 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 CPrep + s = cadv.s ++ a.s ! ASg Neut Indef ++ cadv.p ++ np.s ! RObj CPrep } ; ComparAdvAdjS cadv a s = { - s = cadv.s ++ "по" ++ "-" ++ a.s ! ASg Neut Indef ++ "от" ++ "колкото" ++ s.s + s = cadv.s ++ a.s ! ASg Neut Indef ++ cadv.p ++ "колкото" ++ s.s } ; PrepNP prep np = {s = prep.s ++ np.s ! RObj prep.c} ; @@ -19,5 +19,6 @@ concrete AdverbBul of Adverb = CatBul ** open ResBul, Prelude in { SubjS = cc2 ; - AdnCAdv cadv = {s = cadv.sn ++ "от"} ; + AdnCAdv cadv = {s = cadv.s ++ cadv.p} ; + } diff --git a/src/bulgarian/CatBul.gf b/src/bulgarian/CatBul.gf index b94549d6e..44cdd6702 100644 --- a/src/bulgarian/CatBul.gf +++ b/src/bulgarian/CatBul.gf @@ -1,5 +1,5 @@ --# -coding=utf8 -concrete CatBul of Cat = CommonX - [IAdv,CAdv,AdV,SC] ** open ResBul, Prelude, Predef, (R = ParamX) in { +concrete CatBul of Cat = CommonX - [IAdv,AdV,SC] ** open ResBul, Prelude, Predef, (R = ParamX) in { lincat -- Tensed/Untensed @@ -44,7 +44,6 @@ concrete CatBul of Cat = CommonX - [IAdv,CAdv,AdV,SC] ** open ResBul, Prelude, P -- Adverb - CAdv = {s : Str; sn : Str} ; IAdv = {s : QForm => Str} ; AdV = {s : Str; p : Polarity} ; SC = {s : Agr => Str} ; diff --git a/src/bulgarian/MorphoFunsBul.gf b/src/bulgarian/MorphoFunsBul.gf index e95f8798e..39b9fb81d 100644 --- a/src/bulgarian/MorphoFunsBul.gf +++ b/src/bulgarian/MorphoFunsBul.gf @@ -22,7 +22,6 @@ oper -- Adverbs modifying adjectives and sentences can also be formed. mkAdA : Str -> AdA = \x -> lin AdA (ss x) ; - mkCAdv : Str -> Str -> CAdv = \s,sn -> lin CAdv {s = s; sn = sn} ; --2 Adjectives -- diff --git a/src/bulgarian/StructuralBul.gf b/src/bulgarian/StructuralBul.gf index 0e9aaeee1..677fea018 100644 --- a/src/bulgarian/StructuralBul.gf +++ b/src/bulgarian/StructuralBul.gf @@ -1,6 +1,6 @@ --# -coding=cp1251 concrete StructuralBul of Structural = CatBul ** - open MorphoBul, ParadigmsBul, Prelude in { + open MorphoBul, ParadigmsBul, Prelude, (X = ConstructX) in { flags coding=cp1251 ; @@ -48,9 +48,9 @@ concrete StructuralBul of Structural = CatBul ** "във" / strs {"в" ; "ф" ; "В" ; "Ф"} }) ; it_Pron = mkPron "то" "негов" "неговия" "неговият" "негова" "неговата" "негово" "неговото" "негови" "неговите" (GSg Neut) PronP3 ; - less_CAdv = {s="не"; sn="по-малко"} ; + less_CAdv = X.mkCAdv "по-малко" "от" ; many_Det = mkDeterminerPl "много" ; - more_CAdv = {s=[]; sn="повече"} ; + more_CAdv = X.mkCAdv "повече" "от" ; most_Predet = {s = \\_ => "повечето"} ; much_Det = mkDeterminerSg "много" "много" "много"; must_VV = @@ -122,7 +122,7 @@ concrete StructuralBul of Structural = CatBul ** youPl_Pron = mkPron "вие" "ваш" "вашия" "вашият" "ваша" "вашата" "ваше" "вашето" "ваши" "вашите" GPl PronP2 ; youPol_Pron = mkPron "вие" "ваш" "вашия" "вашият" "ваша" "вашата" "ваше" "вашето" "ваши" "вашите" GPl PronP2 ; - as_CAdv = mkCAdv "" "колкото" ; + as_CAdv = X.mkCAdv [] "колкото" ; have_V2 = dirV2 (stateV (mkV186 "имам")) ;