German numerals and almost all Basic

This commit is contained in:
aarne
2006-01-17 19:15:13 +00:00
parent b80f737013
commit 89cd3d352d
10 changed files with 187 additions and 176 deletions

View File

@@ -61,5 +61,32 @@ oper
_ => Predef.tk 2 v
} ;
-- For $Numeral$.
LinDigit = {s : DForm => CardOrd => Str} ;
cardOrd : Str -> Str -> CardOrd => Str = \drei,dritte ->
table {
NCard => drei ;
NOrd a => (regA (init dritte)).s ! Posit ! a
} ;
cardReg : Str -> CardOrd => Str = \zehn ->
cardOrd zehn (zehn + "te") ;
mkDigit : (x1,_,_,x4 : Str) -> LinDigit =
\drei,dreizehn,dreissig,dritte ->
{s = table {
DUnit => cardOrd drei dritte ;
DTeen => cardReg dreizehn ;
DTen => cardOrd dreissig (dreissig + "ste")
}
} ;
regDigit : Str -> LinDigit = \vier ->
mkDigit vier (vier + "zehn") (vier + "zig") (vier + "te") ;
invNum : CardOrd = NCard ;
} ;