diff --git a/lib/resource/bulgarian/CatBul.gf b/lib/resource/bulgarian/CatBul.gf index 8fc318500..9ccbe45ad 100644 --- a/lib/resource/bulgarian/CatBul.gf +++ b/lib/resource/bulgarian/CatBul.gf @@ -65,4 +65,7 @@ concrete CatBul of Cat = CommonX ** open ResBul, Prelude in { A2 = {s : AForm => Str ; c2 : Str} ; N = {s : NForm => Str; g : DGender} ; + N2 = {s : NForm => Str; g : DGender} ** {c2 : Str} ; + N3 = {s : NForm => Str; g : DGender} ** {c2,c3 : Str} ; + PN = {s : Str; g : Gender} ; } \ No newline at end of file diff --git a/lib/resource/bulgarian/LexiconBul.gf b/lib/resource/bulgarian/LexiconBul.gf index ef2f9ce36..c8984ceaa 100644 --- a/lib/resource/bulgarian/LexiconBul.gf +++ b/lib/resource/bulgarian/LexiconBul.gf @@ -49,6 +49,7 @@ lin new_A = mkA76 "нов" ; old_A = mkA76 "стар" ; open_V2 = dirV2 (mkV187 "отварям") ; + paris_PN = mkPN "Париж" Masc ; play_V2 = dirV2 (mkV161 "играя") ; read_V2 = dirV2 (mkV145 "чета") ; red_A = mkA76 "червен" ; @@ -146,6 +147,7 @@ lin wash_V2 = dirV2 (mkV163 "мия") ; -- wipe_V2 = dirV2 (regV "wipe") ; + john_PN = mkPN "Джон" Masc ; ready_A = mkA76 "готов" ; today_Adv = mkAdv "днес" ; uncertain_A = mkA79 "неясен" ; diff --git a/lib/resource/bulgarian/NounBul.gf b/lib/resource/bulgarian/NounBul.gf index 17a685186..11170b7c0 100644 --- a/lib/resource/bulgarian/NounBul.gf +++ b/lib/resource/bulgarian/NounBul.gf @@ -18,6 +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} ; } ; + UsePN pn = {s = \\_ => pn.s; a = {gn = GSg pn.g; p = P3}} ; UsePron p = {s = p.s; a=p.a} ; DetSg quant ord = { @@ -64,6 +65,11 @@ concrete NounBul of Noun = CatBul ** open ResBul, Prelude in { } ; UseN noun = noun ; + UseN2 noun = noun ; + UseN3 noun = noun ; + + ComplN2 f x = {s = \\nf => f.s ! nf ++ f.c2 ++ x.s ! Acc; g=f.g} ; + ComplN3 f x = {s = \\nf => f.s ! nf ++ f.c2 ++ x.s ! Acc; c2 = f.c3; g=f.g} ; AdjCN ap cn = { s = \\nf => preOrPost ap.isPre (ap.s ! nform2aform nf cn.g) (cn.s ! (indefNForm nf)) ; diff --git a/lib/resource/bulgarian/ParadigmsBul.gf b/lib/resource/bulgarian/ParadigmsBul.gf index caebd5d5d..e37e70330 100644 --- a/lib/resource/bulgarian/ParadigmsBul.gf +++ b/lib/resource/bulgarian/ParadigmsBul.gf @@ -81,6 +81,10 @@ oper dirV3 : V -> Prep -> V3 ; -- give,_,to dirdirV3 : V -> V3 ; -- give,_,_ + + mkPN : Str -> Gender -> PN ; + + mkAdv x = ss x ** {lock_Adv = <>} ; mkPrep p = ss p ** {lock_Prep = <>} ; @@ -92,4 +96,7 @@ oper mkV3 v p q = v ** {s = v.s ; s1 = v.s1 ; c2 = p.s ; c3 = q.s ; lock_V3 = <>} ; dirV3 v p = mkV3 v noPrep p ; dirdirV3 v = dirV3 v noPrep ; + + mkPN s g = {s = s; g = g ; lock_PN = <>} ; + } \ No newline at end of file