1
0
forked from GitHub/gf-core

fix the digits in NumberalBul

This commit is contained in:
kr.angelov
2013-10-07 18:50:58 +00:00
parent 2780ea839b
commit b0a6e22c53
2 changed files with 27 additions and 23 deletions

View File

@@ -100,16 +100,16 @@ lin pot3plus n m = {
tail = inc i.tail
} ;
D_0 = mk2Dig "0" "0â" ;
D_1 = mk3Dig "1" "1âè" Sg ;
D_0 = mk3Dig "0" "0" "0åâ" Pl ;
D_1 = mk3Dig "1" "1" "1âè" Sg ;
D_2 = mk2Dig "2" "2ðè" ;
D_3 = mkDig "3" ;
D_4 = mkDig "4" ;
D_5 = mkDig "5" ;
D_6 = mkDig "6" ;
D_7 = mk2Dig "7" "7ìè" ;
D_8 = mk2Dig "8" "8ìè" ;
D_9 = mkDig "9" ;
D_7 = mk3Dig "7" "7íà" "7ìè" Pl ;
D_8 = mk3Dig "8" "8íà" "8ìè" Pl ;
D_9 = mk3Dig "9" "9èìà" "9òè" Pl ;
oper
commaIf : DTail -> Str = \t -> case t of {
@@ -123,11 +123,11 @@ lin pot3plus n m = {
T3 => T1
} ;
mk2Dig : Str -> Str -> TDigit = \c,o -> mk3Dig c o Pl ;
mk2Dig : Str -> Str -> TDigit = \c,o -> mk3Dig c (c+"ìà") o Pl ;
mkDig : Str -> TDigit = \c -> mk2Dig c (c + "òè") ;
mk3Dig : Str -> Str -> Number -> TDigit = \c,o,n -> {
s = table {NCard _ => c ; NOrd aform => regAdjective o ! aform} ;
mk3Dig : Str -> Str -> Str -> Number -> TDigit = \c1,c2,o,n -> {
s = mkCardOrd c1 c2 c1 o ;
n = n
} ;

View File

@@ -530,18 +530,19 @@ resource ResBul = ParamX ** open Prelude, Predef in {
\dva, dvama, dve, vtori ->
table {
NCard dg => digitGenderSpecies dva dvama dve ! dg ;
NOrd aform => let vtora = init vtori + "à" ;
vtoro = init vtori + "î"
NOrd aform => let vtora : Str = case vtori of {_+"â" => vtori; _ => init vtori} + "à" ;
vtoro : Str = case vtori of {_+"â" => vtori; _ => init vtori} + "î";
i : Str = case vtori of {_+"â" => "è"; _ => ""}
in case aform of {
ASg Masc Indef => vtori ;
ASg Masc Def => vtori+"ÿ" ;
ASgMascDefNom => vtori+"ÿò" ;
ASg Masc Def => vtori+i+"ÿ" ;
ASgMascDefNom => vtori+i+"ÿò" ;
ASg Fem Indef => vtora ;
ASg Fem Def => vtora+"òà" ;
ASg Neut Indef => vtoro ;
ASg Neut Def => vtoro+"òî" ;
APl Indef => vtori ;
APl Def => vtori+"òå"
APl Indef => vtori+i ;
APl Def => vtori+i+"òå"
}
} ;
@@ -565,23 +566,26 @@ resource ResBul = ParamX ** open Prelude, Predef in {
digitGenderSpecies : Str -> Str -> Str -> CardForm => Str =
\dva, dvama, dve
-> let addDef : Str -> Str =
\s -> case s of {
-> let addDef : Str -> Gender -> Str =
\s,g -> case s of {
dves+"òà" => dves+"òàòå" ;
dv+"à" => dv+"àòà" ;
"0" => s+"òà" ;
"1" => s+case g of {Masc => "ÿò"; Fem => "òà"; Neut => "òî"} ;
"2" => s+case g of {Masc => "òà"; _ => "òå"} ;
x => x+"òå"
}
}
in table {
CFMasc Indef NonHuman => dva ;
CFMasc Def NonHuman => addDef dva ;
CFMascDefNom NonHuman => addDef dva ;
CFMasc Def NonHuman => addDef dva Masc ;
CFMascDefNom NonHuman => addDef dva Masc ;
CFMasc Indef Human => dvama ;
CFMasc Def Human => addDef dvama ;
CFMascDefNom Human => addDef dvama ;
CFMasc Def Human => addDef dvama Masc ;
CFMascDefNom Human => addDef dvama Masc ;
CFFem Indef => dve ;
CFFem Def => addDef dve ;
CFFem Def => addDef dve Fem ;
CFNeut Indef => dve ;
CFNeut Def => addDef dve
CFNeut Def => addDef dve Neut
} ;
mkIP : Str -> Str -> GenNum -> {s : Role => QForm => Str ; gn : GenNum} =