diff --git a/lib/resource/bulgarian/CatBul.gf b/lib/resource/bulgarian/CatBul.gf index 6a3c51216..b9389ede1 100644 --- a/lib/resource/bulgarian/CatBul.gf +++ b/lib/resource/bulgarian/CatBul.gf @@ -19,7 +19,7 @@ concrete CatBul of Cat = CommonX ** open ResBul, Prelude in { QCl = {s : ResBul.Tense => Anteriority => Polarity => QForm => Str} ; IP = {s : Str ; gn : GenNum} ; IComp = {s : Str} ; - IDet = {s : Gender => Str ; n : Number; det : Dt} ; + IDet = {s : Gender => Str ; n : Number; spec : Species} ; -- Verb @@ -33,11 +33,11 @@ concrete CatBul of Cat = CommonX ** open ResBul, Prelude in { -- Noun - CN = {s : Number => Case => Dt => Str; g : Gender} ; + CN = {s : Number => Case => Species => Str; g : Gender} ; NP, Pron = {s : Case => Str ; a : Agr} ; - Det = {s : Gender => Str ; n : Number; det : Dt} ; + Det = {s : Gender => Str ; n : Number; spec : Species} ; Num = {s : Str; n : Number } ; - Quant = {s : AForm => Str; det : Dt} ; + Quant = {s : AForm => Str; spec : Species} ; -- Structural diff --git a/lib/resource/bulgarian/MorphoBul.gf b/lib/resource/bulgarian/MorphoBul.gf index b63458e4a..6f7770b44 100644 --- a/lib/resource/bulgarian/MorphoBul.gf +++ b/lib/resource/bulgarian/MorphoBul.gf @@ -15,20 +15,20 @@ resource MorphoBul = ResBul ** open Prelude, (Predef=Predef) in { oper --2 Determiners - mkDeterminerSg : Str -> Str -> Str -> {s : Gender => Str; n : Number; det : Dt} = \vseki,vsiaka,vsiako -> - {s = table Gender [vseki;vsiaka;vsiako]; n = Sg; det = NDet} ; - mkDeterminerPl : Str -> {s : Gender => Str ; n : Number; det : Dt} = \vsicki -> - {s = \\_ => vsicki; n = Sg; det = NDet} ; + mkDeterminerSg : Str -> Str -> Str -> {s : Gender => Str; n : Number; spec : Species} = \vseki,vsiaka,vsiako -> + {s = table Gender [vseki;vsiaka;vsiako]; n = Sg; spec = Indef} ; + mkDeterminerPl : Str -> {s : Gender => Str ; n : Number; spec : Species} = \vsicki -> + {s = \\_ => vsicki; n = Sg; spec = Indef} ; - mkQuant : Str -> Str -> Str -> Str -> {s : AForm => Str; det : Dt} = \tozi,tazi,towa,tezi -> { + mkQuant : Str -> Str -> Str -> Str -> {s : AForm => Str; spec : Species} = \tozi,tazi,towa,tezi -> { s = \\gn => case gn of { ASg Masc _ => tozi ; ASg Fem _ => tazi ; ASg Neut _ => towa ; APl _ => tezi ; - AFullDet => tozi + AFullDef => tozi }; - det = NDet + spec = Indef } ; } \ No newline at end of file diff --git a/lib/resource/bulgarian/NounBul.gf b/lib/resource/bulgarian/NounBul.gf index 48aa7995d..2f348c69d 100644 --- a/lib/resource/bulgarian/NounBul.gf +++ b/lib/resource/bulgarian/NounBul.gf @@ -4,44 +4,44 @@ concrete NounBul of Noun = CatBul ** open ResBul, Prelude in { lin DetCN det cn = - { s = \\c => det.s ! cn.g ++ cn.s ! det.n ! c ! det.det ; + { s = \\c => det.s ! cn.g ++ cn.s ! det.n ! c ! det.spec ; a = agrP3 (gennum cn.g det.n) } ; UsePron p = p ; DetSg quant ord = { - s = \\g => quant.s ! ASg g NDet ++ ord.s ; + s = \\g => quant.s ! ASg g Indef ++ ord.s ; n = Sg ; - det=quant.det + spec=quant.spec } ; DetPl quant num ord = { s = \\g => quant.s ! aformGenNum (gennum g num.n) ++ num.s ++ ord.s ; n = num.n ; - det=quant.det + spec=quant.spec } ; - PossPron p = {s = \\aform => p.s ! Gen aform; det = NDet} ; + PossPron p = {s = \\aform => p.s ! Gen aform; spec = Indef} ; NoNum = {s = []; n = Pl } ; NoOrd = {s = []} ; DefArt = { s = \\_ => [] ; - det = ResBul.Det + spec = ResBul.Def } ; IndefArt = { s = \\_ => [] ; - det = ResBul.NDet + spec = ResBul.Indef } ; - MassDet = {s = \\_ => [] ; n = Sg ; det = NDet} ; + MassDet = {s = \\_ => [] ; n = Sg ; spec = Indef} ; UseN noun = { s = \\n,c,dt => let aform = case n of { Sg => case of { - => AFullDet ; + => AFullDef ; _ => ASg noun.g dt } ; Pl => APl dt diff --git a/lib/resource/bulgarian/ResBul.gf b/lib/resource/bulgarian/ResBul.gf index fcefe1f89..138ce0bce 100644 --- a/lib/resource/bulgarian/ResBul.gf +++ b/lib/resource/bulgarian/ResBul.gf @@ -30,8 +30,8 @@ resource ResBul = ParamX ** open Prelude in { param Gender = Masc | Fem | Neut ; - Dt = NDet | Det ; - + Species = Indef | Def ; + -- The plural never makes a gender distinction. --2 For $Verb$ @@ -55,9 +55,9 @@ resource ResBul = ParamX ** open Prelude in { --2 For $Adjective$ AForm = - ASg Gender Dt - | APl Dt - | AFullDet + ASg Gender Species + | APl Species + | AFullDef ; --2 Transformations between parameter types @@ -80,8 +80,8 @@ resource ResBul = ParamX ** open Prelude in { aformGenNum : GenNum -> AForm = \gn -> case gn of { - GSg g => ASg g NDet ; - GPl => APl NDet + GSg g => ASg g Indef ; + GPl => APl Indef } ; oper @@ -190,15 +190,15 @@ resource ResBul = ParamX ** open Prelude in { mkAdjective : (_,_,_,_,_,_,_,_,_ : Str) -> {s : AForm => Str} = \dobyr,dobria,dobriat,dobra,dobrata,dobro,dobroto,dobri,dobrite -> { s = table { - ASg Masc NDet => dobyr ; - ASg Masc Det => dobria ; - AFullDet => dobriat ; - ASg Fem NDet => dobra ; - ASg Fem Det => dobrata ; - ASg Neut NDet => dobro ; - ASg Neut Det => dobroto ; + ASg Masc Indef => dobyr ; + ASg Masc Def => dobria ; + AFullDef => dobriat ; + ASg Fem Indef => dobra ; + ASg Fem Def => dobrata ; + ASg Neut Indef => dobro ; + ASg Neut Def => dobroto ; APl NDet => dobri ; - APl Det => dobrite + APl Def => dobrite } } ;