diff --git a/lib/resource/bulgarian/CatBul.gf b/lib/resource/bulgarian/CatBul.gf index a05400bc2..8fc318500 100644 --- a/lib/resource/bulgarian/CatBul.gf +++ b/lib/resource/bulgarian/CatBul.gf @@ -38,7 +38,8 @@ concrete CatBul of Cat = CommonX ** open ResBul, Prelude in { -- Noun CN = {s : NForm => Str; g : DGender} ; - NP, Pron = {s : Case => Str ; a : Agr} ; + NP = {s : Case => Str; a : Agr} ; + Pron = {s : Case => Str; gen : AForm => Str; a : Agr} ; Det = {s : DGender => Case => Str ; n : Number; countable : Bool; spec : Species} ; Predet, Ord = {s : AForm => Str; nonEmpty : Bool} ; Num = {s : DGenderSpecies => Str; n : Number; nonEmpty : Bool} ; diff --git a/lib/resource/bulgarian/NounBul.gf b/lib/resource/bulgarian/NounBul.gf index f38ba4f18..17a685186 100644 --- a/lib/resource/bulgarian/NounBul.gf +++ b/lib/resource/bulgarian/NounBul.gf @@ -18,7 +18,7 @@ concrete NounBul of Noun = CatBul ** open ResBul, Prelude in { in det.s ! cn.g ! c ++ cn.s ! nf ; a = {gn = gennum cn.g det.n; p = P3} ; } ; - UsePron p = p ; + UsePron p = {s = p.s; a=p.a} ; DetSg quant ord = { s = \\g,c => quant.s ! gennum g Sg ++ @@ -38,7 +38,7 @@ concrete NounBul of Noun = CatBul ** open ResBul, Prelude in { } ; PossPron p = { - s = \\gn => p.s ! Gen (aform gn Def Nom) ; + s = \\gn => p.gen ! aform gn Indef Nom ; spec = Indef } ; diff --git a/lib/resource/bulgarian/ResBul.gf b/lib/resource/bulgarian/ResBul.gf index e7902c131..a752d595e 100644 --- a/lib/resource/bulgarian/ResBul.gf +++ b/lib/resource/bulgarian/ResBul.gf @@ -18,7 +18,7 @@ resource ResBul = ParamX ** open Prelude in { -- This is the worst-case $Case$ needed for pronouns. param - Case = Nom | Acc | Gen AForm ; + Case = Nom | Acc ; NForm = NF Number Species @@ -426,13 +426,13 @@ resource ResBul = ParamX ** open Prelude in { gn = gn } ; - mkNP : (az,men,moj,moia,moiat,moia_,moiata,moe,moeto,moi,moite : Str) -> GenNum -> Person -> {s : Case => Str ; a : Agr} = + mkNP : (az,men,moj,moia,moiat,moia_,moiata,moe,moeto,moi,moite : Str) -> GenNum -> Person -> {s : Case => Str; gen : AForm => Str; a : Agr} = \az,men,moj,moia,moiat,moia_,moiata,moe,moeto,moi,moite,gn,p -> { s = table { Nom => az ; - Acc => men ; - Gen aform => (mkAdjective moj moia moiat moia_ moiata moe moeto moi moite).s ! aform + Acc => men } ; + gen = (mkAdjective moj moia moiat moia_ moiata moe moeto moi moite).s ; a = { gn = gn ; p = p