refactoring in Bulgarian: use explicit Animacy instead of fourth gender

This commit is contained in:
krasimir
2009-09-03 20:13:09 +00:00
parent d8ef62ae76
commit 366c7faf89
11 changed files with 178 additions and 192 deletions

View File

@@ -22,16 +22,13 @@ lin n9 = mkDigit "
lin pot01 =
{s = table {
unit => table {
NCard DMascIndef => "åäèí" ;
NCard DMascDef => "åäèíèÿ" ;
NCard DMascDefNom => "åäèíèÿò" ;
NCard DMascPersonalIndef => "åäèí" ;
NCard DMascPersonalDef => "åäèíèÿ" ;
NCard DMascPersonalDefNom => "åäèíèÿò" ;
NCard DFemIndef => "åäíà" ;
NCard DFemDef => "åäíàòà" ;
NCard DNeutIndef => "åäíî" ;
NCard DNeutDef => "åäíîòî" ;
NCard (CFMasc Indef _) => "åäèí" ;
NCard (CFMasc Def _) => "åäèíèÿ" ;
NCard (CFMascDefNom _) => "åäèíèÿò" ;
NCard (CFFem Indef) => "åäíà" ;
NCard (CFFem Def) => "åäíàòà" ;
NCard (CFNeut Indef) => "åäíî" ;
NCard (CFNeut Def) => "åäíîòî" ;
NOrd aform => case aform of {
ASg Masc Indef => "ïúðâè" ;
ASg Masc Def => "ïúðâèÿ" ;
@@ -61,12 +58,12 @@ lin pot1to19 d = {s = \\c,nf => d.s ! teen nf ! c; n = Pl; i = True} ;
lin pot0as1 n = {s = \\c,nf => n.s ! unit ! c; n = n.n; i = True} ;
lin pot1 d = {s = \\c,nf => d.s ! ten nf ! c; n = Pl; i = True} ;
lin pot1plus d e = {
s = \\c,nf => d.s ! ten nf ! NCard DMascIndef ++ "è" ++ e.s ! unit ! c ; n = Pl; i = False} ;
s = \\c,nf => d.s ! ten nf ! NCard (CFMasc Indef NonHuman) ++ "è" ++ e.s ! unit ! c ; n = Pl; i = False} ;
lin pot1as2 n = n ;
lin pot2 n = {s = \\c,nf => n.s ! hundred ! c; n = Pl; i = True} ;
lin pot2plus d e = {
s = \\c,nf => d.s ! hundred ! NCard DMascIndef ++ case e.i of {False => []; True => "è"} ++ e.s ! c ! nf ;
s = \\c,nf => d.s ! hundred ! NCard (CFMasc Indef NonHuman) ++ case e.i of {False => []; True => "è"} ++ e.s ! c ! nf ;
n = Pl ;
i = False
} ;
@@ -75,12 +72,12 @@ lin pot2as3 n = n ;
lin pot3 n = {
s = \\c,nf => case n.n of {
Sg => mkCardOrd100 "õèëÿäà" "õèëÿäåí" ! c ;
Pl => n.s ! NCard DFemIndef ! nf ++ mkCardOrd100 "õèëÿäè" "õèëÿäåí" ! c
Pl => n.s ! NCard (CFFem Indef) ! nf ++ mkCardOrd100 "õèëÿäè" "õèëÿäåí" ! c
} ;
n = Pl
} ;
lin pot3plus n m = {
s = \\c,nf => (pot3 (n ** {lock_Sub1000=<>})).s ! NCard DMascIndef ! nf ++ case m.i of {False => []; True => "è"} ++ m.s ! c ! nf ;
s = \\c,nf => (pot3 (n ** {lock_Sub1000=<>})).s ! NCard (CFMasc Indef NonHuman) ! nf ++ case m.i of {False => []; True => "è"} ++ m.s ! c ! nf ;
n = Pl
} ;
@@ -94,7 +91,7 @@ lin pot3plus n m = {
IDig d = d ** {tail = T1} ;
IIDig d i = {
s = \\o => d.s ! NCard DMascIndef ++ commaIf i.tail ++ i.s ! o ;
s = \\o => d.s ! NCard (CFMasc Indef NonHuman) ++ commaIf i.tail ++ i.s ! o ;
n = Pl ;
tail = inc i.tail
} ;