Files
gf-core/lib/src/mongolian/NumeralTransferMon.gf

76 lines
1.3 KiB
Plaintext

--# -path=.:../abstract:../common:../../prelude
concrete NumeralTransferMon of NumeralTransfer = NumeralMon ** open ResMon, MorphoMon, CatMon in {
flags coding=utf8 ;
lin
digits2numeral d = {
s = d.s ;
sp = \\rc => d.sp ! rc ;
n = d.n
} ;
digits2num d = d ;
num2digits n = n ;
dn10 d = {
s = \\_,_,co => d.s ! co ;
n = d.n
} ;
dn100 d1 d2 = {
s = \\_,co => d1.s ! co ++ d2.s ! co ;
n = Pl
} ;
dn1000 d1 d2 d3 = {
s = \\_,co => d1.s ! co ++ d2.s ! co ++ d3.s ! co ;
n = Pl
} ;
dn1000000a d1 d2 d3 d4 = {
s = \\co => d1.s ! co ++ d2.s ! co ++ d3.s ! co ++ d4.s ! co ;
n = Pl
} ;
dn1000000b d1 d2 d3 d4 d5 = dn1000000a d1 d2 d3 d4 ** {
s = \\co => d5.s ! co ;
n = Pl
} ;
dn1000000c d1 d2 d3 d4 d5 d6 = dn1000000b d1 d2 d3 d4 d5 ** {
s = \\co => d6.s ! co ;
n = Pl
} ;
dn d = {
s = \\_,_,co => d.s ! co
} ;
nd10 d = {
s = \\co => d.s ! Indep ! Unit ! co ;
n = Sg
} ;
nd100 d = {
s = \\co => d.s ! Indep ! co ;
n = Pl
} ;
nd1000 = nd100 ;
nd1000000 d = d ;
dconcat d1 d2 = {
s = \\co => d1.s ! co ++ d2.s ! co ;
n = Pl
} ;
nd d = {
s = \\co => d.s ! Indep ! Unit ! co ;
n = Pl
} ;
}