summaryrefslogtreecommitdiff
path: root/grammars/numerals
diff options
context:
space:
mode:
authorbjorn <bjorn@bringert.net>2008-08-14 07:58:04 +0000
committerbjorn <bjorn@bringert.net>2008-08-14 07:58:04 +0000
commit77270a010a0b453e9a84c3e62db7cfd22e49d55d (patch)
treed17682a545d6ac1e68ff49b8c20964182794baf7 /grammars/numerals
parent0bbb906141711767678f82b15a7b43e65e0b5bd6 (diff)
Remove the grammars directory. It was full of old grammars that don't compile these days. See the old source distributions if you want them.
Diffstat (limited to 'grammars/numerals')
-rw-r--r--grammars/numerals/Decimal.gf41
-rw-r--r--grammars/numerals/English.gf39
-rw-r--r--grammars/numerals/Nat.gf55
-rw-r--r--grammars/numerals/Nat.hs46
-rw-r--r--grammars/numerals/Num2Bin.gf45
-rw-r--r--grammars/numerals/NumSwedish.gf44
-rw-r--r--grammars/numerals/Numerals.gf34
-rw-r--r--grammars/numerals/ResDecimal.gf7
-rw-r--r--grammars/numerals/ResNumSwedish.gf23
-rw-r--r--grammars/numerals/Symb.gf12
-rw-r--r--grammars/numerals/Trans.gf3
-rw-r--r--grammars/numerals/old/af_tunni.gf50
-rw-r--r--grammars/numerals/old/albanian.gf45
-rw-r--r--grammars/numerals/old/amharic.gf81
-rw-r--r--grammars/numerals/old/basque.gf59
-rw-r--r--grammars/numerals/old/bearlake_slave.gf44
-rw-r--r--grammars/numerals/old/biblical_hebrew.gf88
-rw-r--r--grammars/numerals/old/bulgarian.gf51
-rw-r--r--grammars/numerals/old/catalan.gf56
-rw-r--r--grammars/numerals/old/classical_arabic.gf96
-rw-r--r--grammars/numerals/old/classical_greek.gf197
-rw-r--r--grammars/numerals/old/croatian.gf69
-rw-r--r--grammars/numerals/old/czech.gf58
-rw-r--r--grammars/numerals/old/dagur.gf59
-rw-r--r--grammars/numerals/old/demo.gfs49
-rw-r--r--grammars/numerals/old/fulfulde.gf50
-rw-r--r--grammars/numerals/old/geez.gf121
-rw-r--r--grammars/numerals/old/guahibo.gf45
-rw-r--r--grammars/numerals/old/guarani.gf48
-rw-r--r--grammars/numerals/old/hindi.gf99
-rw-r--r--grammars/numerals/old/hungarian.gf61
-rw-r--r--grammars/numerals/old/icelandic.gf51
-rw-r--r--grammars/numerals/old/irish.gf79
-rw-r--r--grammars/numerals/old/italian.gf45
-rw-r--r--grammars/numerals/old/japanese.gf59
-rw-r--r--grammars/numerals/old/kabardian.gf79
-rw-r--r--grammars/numerals/old/kambera.gf47
-rw-r--r--grammars/numerals/old/kawaiisu.gf41
-rw-r--r--grammars/numerals/old/khmer.gf50
-rw-r--r--grammars/numerals/old/khowar.gf57
-rw-r--r--grammars/numerals/old/kolyma_yukaghir.gf45
-rw-r--r--grammars/numerals/old/korean.gf109
-rw-r--r--grammars/numerals/old/kulung.gf55
-rw-r--r--grammars/numerals/old/kwami.gf48
-rw-r--r--grammars/numerals/old/kwaza.gf37
-rw-r--r--grammars/numerals/old/lamani.gf95
-rw-r--r--grammars/numerals/old/latvian.gf49
-rw-r--r--grammars/numerals/old/lithuanian.gf56
-rw-r--r--grammars/numerals/old/lotuxo.gf61
-rw-r--r--grammars/numerals/old/maale.gf55
-rw-r--r--grammars/numerals/old/maltese.gf59
-rw-r--r--grammars/numerals/old/mapuche.gf43
-rw-r--r--grammars/numerals/old/maybrat.gf71
-rw-r--r--grammars/numerals/old/miya.gf53
-rw-r--r--grammars/numerals/old/mkAll.gfs51
-rw-r--r--grammars/numerals/old/modern_greek.gf69
-rw-r--r--grammars/numerals/old/mongolian.gf59
-rw-r--r--grammars/numerals/old/nenets.gf67
-rw-r--r--grammars/numerals/old/numerals.Abs.gf32
-rw-r--r--grammars/numerals/old/numerals.Ara.gf88
-rw-r--r--grammars/numerals/old/numerals.Chi.gf110
-rw-r--r--grammars/numerals/old/numerals.ChiU.gf110
-rw-r--r--grammars/numerals/old/numerals.Dan.gf44
-rw-r--r--grammars/numerals/old/numerals.Dec.gf43
-rw-r--r--grammars/numerals/old/numerals.Deu.gf47
-rw-r--r--grammars/numerals/old/numerals.Eng.gf39
-rw-r--r--grammars/numerals/old/numerals.Fra.gf60
-rw-r--r--grammars/numerals/old/numerals.Gre.gf92
-rw-r--r--grammars/numerals/old/numerals.Heb.gf88
-rw-r--r--grammars/numerals/old/numerals.Ita.gf45
-rw-r--r--grammars/numerals/old/numerals.Mag.gf61
-rw-r--r--grammars/numerals/old/numerals.Malay.gf71
-rw-r--r--grammars/numerals/old/numerals.Ned.gf48
-rw-r--r--grammars/numerals/old/numerals.NorB.gf45
-rw-r--r--grammars/numerals/old/numerals.Pol.gf94
-rw-r--r--grammars/numerals/old/numerals.Rus.gf111
-rw-r--r--grammars/numerals/old/numerals.RusU.gf111
-rw-r--r--grammars/numerals/old/numerals.Slo.gf60
-rw-r--r--grammars/numerals/old/numerals.Spa.gf61
-rw-r--r--grammars/numerals/old/numerals.Suo.gf60
-rw-r--r--grammars/numerals/old/numerals.Swe.gf44
-rw-r--r--grammars/numerals/old/numerals.Tam.gf60
-rw-r--r--grammars/numerals/old/old_church_slavonic.gf58
-rw-r--r--grammars/numerals/old/pashto.gf88
-rw-r--r--grammars/numerals/old/polish.gf94
-rw-r--r--grammars/numerals/old/portuguese.gf58
-rw-r--r--grammars/numerals/old/quechua.gf50
-rw-r--r--grammars/numerals/old/romanian.gf61
-rw-r--r--grammars/numerals/old/sango.gf63
-rw-r--r--grammars/numerals/old/sanskrit.gf197
-rw-r--r--grammars/numerals/old/slovak.gf60
-rw-r--r--grammars/numerals/old/sorani.gf90
-rw-r--r--grammars/numerals/old/spanish.gf61
-rw-r--r--grammars/numerals/old/stieng.gf54
-rw-r--r--grammars/numerals/old/swahili.gf54
-rw-r--r--grammars/numerals/old/swiss_french.gf72
-rw-r--r--grammars/numerals/old/tamil.gf166
-rw-r--r--grammars/numerals/old/tibetan.gf65
-rw-r--r--grammars/numerals/old/totonac.gf108
-rw-r--r--grammars/numerals/old/transNum.gfs81
-rw-r--r--grammars/numerals/old/tukang_besi.gf41
-rw-r--r--grammars/numerals/old/turkish.gf56
-rw-r--r--grammars/numerals/old/welsh.gf71
-rw-r--r--grammars/numerals/old/yasin_burushaski.gf62
104 files changed, 0 insertions, 6699 deletions
diff --git a/grammars/numerals/Decimal.gf b/grammars/numerals/Decimal.gf
deleted file mode 100644
index f72caa92d..000000000
--- a/grammars/numerals/Decimal.gf
+++ /dev/null
@@ -1,41 +0,0 @@
-concrete Decimal of Numerals = open ResDecimal in {
-
-flags lexer=chars ; unlexer=concat ;
-
-
-lincat Sub100 = {s : Zeros => Str} ;
-lincat Sub1000 = {s : Zeros => Str} ;
-lincat Sub1000000 = {s : Zeros => Str} ;
-
-
-lin num n = {s = n.s ! noz} ;
-lin n2 = ss "2" ;
-lin n3 = ss "3" ;
-lin n4 = ss "4" ;
-lin n5 = ss "5" ;
-lin n6 = ss "6" ;
-lin n7 = ss "7" ;
-lin n8 = ss "8" ;
-lin n9 = ss "9" ;
-
-lin pot01 = ss "1" ;
-lin pot0 d = d ;
-
-lin pot110 = mkz ("1" ++ "0") ;
-lin pot111 = mkz ("1" ++ "1") ;
-lin pot1to19 d = mkz ("1" ++ d.s) ;
-
-lin pot0as1 n = {s = table {noz => n.s ; zz => "0" ++ n.s}} ;
-
-lin pot1 d = mkz (d.s ++ "0") ;
-lin pot1plus d e = mkz (d.s ++ e.s) ;
-
-lin pot1as2 n = {s = table {noz => n.s ! noz ; zz => "0" ++ n.s ! zz}} ;
-lin pot2 d = mkz (d.s ++ "0" ++ "0") ;
-lin pot2plus d e = mkz (d.s ++ e.s ! zz) ;
-
-lin pot2as3 n = {s = table {noz => n.s ! noz ; zz => "0" ++ n.s ! zz}} ;
-
-lin pot3 n = mkz (n.s ! noz ++ "0" ++ "0" ++ "0") ;
-lin pot3plus n m = {s = table {z => n.s ! z ++ m.s ! zz}} ;
-}
diff --git a/grammars/numerals/English.gf b/grammars/numerals/English.gf
deleted file mode 100644
index d4aa3e3de..000000000
--- a/grammars/numerals/English.gf
+++ /dev/null
@@ -1,39 +0,0 @@
-include numerals.Abs.gf ;
-
-param DForm = unit | teen | ten ;
-
-lincat Digit = {s : DForm => Str} ;
-lincat Sub10 = {s : DForm => Str} ;
-
-oper mkNum : Str -> Str -> Str -> Lin Digit =
- \two -> \twelve -> \twenty ->
- {s = table {unit => two ; teen => twelve ; ten => twenty}} ;
-oper regNum : Str -> Lin Digit =
- \six -> mkNum six (six + "teen") (six + "ty") ;
-oper ss : Str -> {s : Str} = \s -> {s = s} ;
-
-lin num x = x ;
-lin n2 = mkNum "two" "twelve" "twenty" ;
-lin n3 = mkNum "three" "thirteen" "thirty" ;
-lin n4 = mkNum "four" "fourteen" "forty" ;
-lin n5 = mkNum "five" "fifteen" "fifty" ;
-lin n6 = regNum "six" ;
-lin n7 = regNum "seven" ;
-lin n8 = mkNum "eight" "eighteen" "eighty" ;
-lin n9 = regNum "nine" ;
-
-lin pot01 = {s = table {f => "one"}} ;
-lin pot0 d = {s = table {f => d.s ! f}} ;
-lin pot110 = ss "ten" ;
-lin pot111 = ss "eleven" ;
-lin pot1to19 d = {s = d.s ! teen} ;
-lin pot0as1 n = {s = n.s ! unit} ;
-lin pot1 d = {s = d.s ! ten} ;
-lin pot1plus d e = {s = d.s ! ten ++ "-" ++ e.s ! unit} ;
-lin pot1as2 n = n ;
-lin pot2 d = {s = d.s ! unit ++ "hundred"} ;
-lin pot2plus d e = {s = d.s ! unit ++ "hundred" ++ "and" ++ e.s} ;
-lin pot2as3 n = n ;
-lin pot3 n = {s = n.s ++ "thousand"} ;
-lin pot3plus n m = {s = n.s ++ "thousand" ++ m.s} ;
-
diff --git a/grammars/numerals/Nat.gf b/grammars/numerals/Nat.gf
deleted file mode 100644
index 742bba27c..000000000
--- a/grammars/numerals/Nat.gf
+++ /dev/null
@@ -1,55 +0,0 @@
--- Unary and binary natural numbers, and conversions between them. AR 8/10/2003
--- To be used as an example of transfer.
-
-abstract Nat = Numerals ** {
-
- cat Nat ;
- fun
- One : Nat ; -- 1
- Succ : Nat -> Nat ; -- n'
- data Nat = One | Succ ;
-
- cat Bin ;
- fun
- BOne : Bin ; -- 1
- BX : Bin -> Bin ; -- b 0
- BXPlus : Bin -> Bin ; -- b 1
- data Bin = BOne | BX | BXPlus ;
-
- fun succ : Bin -> Bin ;
- def
- succ BOne = BX BOne ;
- succ (BX b) = BXPlus b ;
- succ (BXPlus BOne) = BX (BX BOne) ;
- succ b = succAux b (lastZero b) ;
-
- fun lastZero : Bin -> Nat ;
- def
- lastZero (BX _) = One ;
- lastZero (BXPlus b) = Succ (lastZero b) ;
-
- fun succAux : Bin -> Nat -> Bin ;
- def
- succAux (BXPlus b) One = BX (succ b) ;
- succAux (BXPlus b) (Succ n) = BX (succAux b n) ;
- succAux b _ = succ b ;
-
- -- this is the transfer function
- fun nat2bin : Nat -> Bin ;
- def
- nat2bin One = BOne ;
- nat2bin (Succ n) = succ (nat2bin n) ;
-
- -- and the other way round
- fun bin2nat : Bin -> Nat ;
- def
- bin2nat BOne = One ;
- bin2nat (BX b) = double (bin2nat b) ;
- bin2nat (BXPlus b) = Succ (double (bin2nat b)) ;
-
- fun double : Nat -> Nat ;
- def
- double One = Succ One ;
- double (Succ n) = Succ (Succ (double n)) ;
-
-}
diff --git a/grammars/numerals/Nat.hs b/grammars/numerals/Nat.hs
deleted file mode 100644
index 73bc406ba..000000000
--- a/grammars/numerals/Nat.hs
+++ /dev/null
@@ -1,46 +0,0 @@
-module Nat where
-
--- testing transfer from unary to binary, for Nat.gf. AR 8/10/2003
-
-data Nat = One | Succ Nat deriving Show
-
-data Bin = BOne | BX Bin | BXPlus Bin deriving Show
-
-succBin:: Bin -> Bin
-succBin BOne = BX BOne
-succBin (BX b) = BXPlus b
-succBin (BXPlus BOne) = BX (BX BOne)
-succBin b = succAux b (lastZero b)
-
-lastZero :: Bin -> Nat
-lastZero (BX _) = One
-lastZero (BXPlus b) = Succ (lastZero b)
-
-succAux :: Bin -> Nat -> Bin
-succAux (BXPlus b) One = BX (succBin b)
-succAux (BXPlus b) (Succ n) = BX (succAux b n)
-succAux b _ = succBin b
-
-int2bin :: Int -> Bin
-int2bin 1 = BOne
-int2bin n = succBin (int2bin (n-1))
-
-bin2nat :: Bin -> Nat
-bin2nat BOne = One
-bin2nat (BX b) = double (bin2nat b)
-bin2nat (BXPlus b) = Succ (double (bin2nat b))
-
-double :: Nat -> Nat
-double One = Succ One
-double (Succ n) = Succ (Succ (double n))
-
-
--- to test
-
-prBin :: Bin -> String
-prBin BOne = "1"
-prBin (BX b) = prBin b ++ "0"
-prBin (BXPlus b) = prBin b ++ "1"
-
-test = map (prBin . int2bin) [1..16]
-test2 = map (bin2nat . int2bin) [1..16]
diff --git a/grammars/numerals/Num2Bin.gf b/grammars/numerals/Num2Bin.gf
deleted file mode 100644
index b620acf92..000000000
--- a/grammars/numerals/Num2Bin.gf
+++ /dev/null
@@ -1,45 +0,0 @@
-transfer Num2Bin : Numerals -> Nat = {
- transfer Numeral = num2bin ;
-
- fun num2bin : Numeral -> Bin ;
- def num2bin n = num2nat (nat2bin n) ;
-
- fun
- num2nat : Numeral -> Nat ;
- sub1000000_2nat : Sub1000000 -> Nat ;
- sub1000_2nat : Sub1000 -> Nat ;
- sub100_2nat : Sub100 -> Nat ;
- sub10_2nat : Sub10 -> Nat ;
- digit2nat : Digit -> Nat ;
-
- def
- num2nat (num n) = sub1000000_2nat n ;
- ---
- sub1000000_2nat (pot2as3 n) = sub1000_2nat n ;
- ---
- sub1000_2nat (pot1as2 n) = sub100_2nat n ;
- ---
- sub100_2nat (pot0as1 n) = sub10_2nat n ;
- sub100_2nat (pot1 d) = tenTimes (digit2nat d) ;
- ---
- sub10_2nat (pot0 d) = digit2nat d ;
-
- digit2nat n2 = Succ One ;
- digit2nat n3 = Succ (digit2nat n2) ;
- digit2nat n4 = Succ (digit2nat n3) ;
- digit2nat n5 = Succ (digit2nat n4) ;
- digit2nat n6 = Succ (digit2nat n5) ;
- digit2nat n7 = Succ (digit2nat n6) ;
- digit2nat n8 = Succ (digit2nat n7) ;
- digit2nat n9 = Succ (digit2nat n8) ;
-
- fun
- tenTimes : Nat -> Nat ;
- tenPlus, ninePlus : Nat -> Nat ;
- def
- tenTimes One = ninePlus One ; -- the price to pay for starting from One
- tenTimes (Succ n) = tenPlus (tenTimes n) ;
-
- tenPlus n = Succ (ninePlus n) ;
- ninePlus n = Succ (double (double (double One))) ;
-}
diff --git a/grammars/numerals/NumSwedish.gf b/grammars/numerals/NumSwedish.gf
deleted file mode 100644
index c216ff596..000000000
--- a/grammars/numerals/NumSwedish.gf
+++ /dev/null
@@ -1,44 +0,0 @@
---# -path=.:../prelude
-
-concrete NumSwedish of Numerals = open ResNumSwedish, Prelude in {
-
- flags startcat = Numeral ; lexer=unglue ; unlexer=glue ;
-
- lincat Digit = {
- s : DForm => Str
- } ;
- lincat Sub10 = {
- s : DForm => Str
- } ;
- lin n2 = mkTal "två" "tolv" "tjugo" ;
- lin n3 = mkTal "tre" "tretton" "trettio" ;
- lin n4 = mkTal "fyra" "fjorton" "fyrtio" ;
- lin n5 = regTal "fem" ;
- lin n6 = regTal "sex" ;
- lin n7 = mkTal "sju" "sjutton" "sjuttio" ;
- lin n8 = mkTal "åtta" "arton" "åttio" ;
- lin n9 = mkTal "nio" "nitton" "nittio" ;
- lin num = \x -> x ;
- lin pot0 = \d -> {
- s = table {
- f => d.s ! f
- }
- } ;
- lin pot01 = {
- s = table {
- f => "ett"
- }
- } ;
- lin pot0as1 = \n -> ss (n.s ! ental);
- lin pot1 = \ d -> ss (d.s ! tiotal);
- lin pot110 = ss "tio" ;
- lin pot111 = ss "elva" ;
- lin pot1as2 = \ n -> n ;
- lin pot1plus = \ d -> \ e -> ss (glueOpt (d.s ! tiotal) (e.s ! ental)) ;
- lin pot1to19 = \ d -> ss (d.s ! ton);
- lin pot2 = \ d -> ss (glueOpt (d.s ! ental) "hundra") ;
- lin pot2as3 = \ n -> n ;
- lin pot2plus = \ d -> \ e -> ss (glueOpt (glueOpt (d.s ! ental) "hundra") e.s);
- lin pot3 = \ n -> ss (glueOpt n.s "tusen");
- lin pot3plus = \ n -> \ m -> ss (noglueOpt (glueOpt n.s "tusen") m.s);
- }
diff --git a/grammars/numerals/Numerals.gf b/grammars/numerals/Numerals.gf
deleted file mode 100644
index b725070dc..000000000
--- a/grammars/numerals/Numerals.gf
+++ /dev/null
@@ -1,34 +0,0 @@
--- numerals from 1 to 999999 in decimal notation
-
-abstract Numerals = {
-
-flags startcat=Numeral ;
-
-cat
- Numeral ; -- 0..
- Digit ; -- 2..9
- Sub10 ; -- 1..9
- Sub100 ; -- 1..99
- Sub1000 ; -- 1..999
- Sub1000000 ; -- 1..999999
-
-fun
- num : Sub1000000 -> Numeral ;
-
- n2, n3, n4, n5, n6, n7, n8, n9 : Digit ;
-
- pot01 : Sub10 ; -- 1
- pot0 : Digit -> Sub10 ; -- d * 1
- pot110 : Sub100 ; -- 10
- pot111 : Sub100 ; -- 11
- pot1to19 : Digit -> Sub100 ; -- 10 + d
- pot0as1 : Sub10 -> Sub100 ; -- coercion of 1..9
- pot1 : Digit -> Sub100 ; -- d * 10
- pot1plus : Digit -> Sub10 -> Sub100 ; -- d * 10 + n
- pot1as2 : Sub100 -> Sub1000 ; -- coercion of 1..99
- pot2 : Sub10 -> Sub1000 ; -- m * 100
- pot2plus : Sub10 -> Sub100 -> Sub1000 ; -- m * 100 + n
- pot2as3 : Sub1000 -> Sub1000000 ; -- coercion of 1..999
- pot3 : Sub1000 -> Sub1000000 ; -- m * 1000
- pot3plus : Sub1000 -> Sub1000 -> Sub1000000 ; -- m * 1000 + n
-}
diff --git a/grammars/numerals/ResDecimal.gf b/grammars/numerals/ResDecimal.gf
deleted file mode 100644
index 4b04cb921..000000000
--- a/grammars/numerals/ResDecimal.gf
+++ /dev/null
@@ -1,7 +0,0 @@
-resource ResDecimal = {
-
-param Zeros = noz | zz ;
-
-oper ss : Str -> {s : Str} = \s -> {s = s} ;
-oper mkz : Str -> {s : Zeros => Str} = \s -> {s = table {_ => s}} ;
-}
diff --git a/grammars/numerals/ResNumSwedish.gf b/grammars/numerals/ResNumSwedish.gf
deleted file mode 100644
index 2f4c80c9a..000000000
--- a/grammars/numerals/ResNumSwedish.gf
+++ /dev/null
@@ -1,23 +0,0 @@
-resource ResNumSwedish = {
- param DForm = ental | ton | tiotal ;
- oper mkTal : Str -> Str -> Str -> {
- s : DForm => Str
- }
- = \ två -> \ tolv -> \ tjugo -> {
- s = table {
- ental => två ;
- ton => tolv ;
- tiotal => tjugo
- }
- } ;
- oper regTal : Str -> {
- s : DForm => Str
- }
- = \ fem -> mkTal fem (fem + "ton")(fem + "tio");
- oper ss : Str -> {
- s : Str
- }
- = \ s -> {
- s = s
- } ;
- }
diff --git a/grammars/numerals/Symb.gf b/grammars/numerals/Symb.gf
deleted file mode 100644
index 0648b778f..000000000
--- a/grammars/numerals/Symb.gf
+++ /dev/null
@@ -1,12 +0,0 @@
-concrete Symb of Nat = open Prelude in {
- lincat Nat, Bin = SS ;
-
- lin
- One = ss "1" ;
- Succ = postfixSS "'" ;
-
- BOne = ss "1" ;
- BX = postfixSS "0" ;
- BXPlus = postfixSS "1" ;
-}
-
diff --git a/grammars/numerals/Trans.gf b/grammars/numerals/Trans.gf
deleted file mode 100644
index 4d46bc7f1..000000000
--- a/grammars/numerals/Trans.gf
+++ /dev/null
@@ -1,3 +0,0 @@
-transfer Trans : Nat -> Nat = {
- transfer Nat = nat2bin ;
-}
diff --git a/grammars/numerals/old/af_tunni.gf b/grammars/numerals/old/af_tunni.gf
deleted file mode 100644
index 600397690..000000000
--- a/grammars/numerals/old/af_tunni.gf
+++ /dev/null
@@ -1,50 +0,0 @@
-include numerals.Abs.gf ;
-
-param Size = sg | pl ;
-param DForm = unit | ten ;
-
-oper LinDigit = {s : DForm => Str ; size : Size } ;
-oper Form = {s : Str ; size : Size } ;
-
-lincat Numeral = {s : Str} ;
-lincat Digit = LinDigit ;
-lincat Sub10 = LinDigit ;
-lincat Sub100 = Form ;
-lincat Sub1000 = Form ;
-lincat Sub1000000 = {s : Str} ;
-lin num x0 =
- {s = x0.s} ; -- TODO: Encoding
-
-oper mkNum : Str -> Str -> LinDigit = \mbili -> \lama ->
- {s = table {unit => mbili ; ten => lama }; size = pl };
-
--- lin n1 = mkNum "ków" ;
-lin n2 = mkNum "lámma" "labaatón";
-lin n3 = mkNum "síddi?" "soddón" ;
-lin n4 = mkNum "áfar" "afartón";
-lin n5 = mkNum "s^án" "kontón";
-lin n6 = mkNum "lí?" "lihdón";
-lin n7 = mkNum "toddóbo" "toddobátan";
-lin n8 = mkNum "siyéed" "siyyeétan" ;
-lin n9 = mkNum "sagáal" "sagaás^an";
-
-oper ss : Str -> Form = \s1 -> {s = s1 ; size = pl} ;
-
-lin pot01 =
- {s = table {f => "ków" }; size = sg };
-lin pot0 d = d ;
-lin pot110 = ss "tómon" ;
-lin pot111 = ss ("tómon" ++ "i" ++ "ków") ;
-lin pot1to19 d = ss ("tómon" ++ "i" ++ (d.s ! unit)) ;
-lin pot0as1 n = {s = n.s ! unit ; size = n.size } ;
-lin pot1 d = ss (d.s ! ten) ;
-lin pot1plus d e = ss (d.s ! ten ++ "i" ++ e.s ! unit) ;
-lin pot1as2 n = n ;
-lin pot2 d = ss (selsg d.size (d.s ! unit) ++ "boqól" );
-lin pot2plus d e = ss ((selsg d.size (d.s ! unit)) ++ "boqól" ++ e.s) ;
-lin pot2as3 n = {s = n.s } ;
-lin pot3 n = {s = (selsg n.size n.s) ++ "kún"} ;
-lin pot3plus n m = {s = (selsg n.size n.s) ++ "kún" ++ m.s} ;
-
-oper selsg : Size -> Str -> Str = \sz -> \attr ->
- table {pl => attr ; sg => [] } ! sz ;
diff --git a/grammars/numerals/old/albanian.gf b/grammars/numerals/old/albanian.gf
deleted file mode 100644
index dfe0e9f82..000000000
--- a/grammars/numerals/old/albanian.gf
+++ /dev/null
@@ -1,45 +0,0 @@
-include numerals.Abs.gf ;
-
-oper bind : Str -> Str -> Str = \a -> \b -> a ++ b ;
-
-param DForm = unit | teen | ten ;
-
-oper LinDigit = {s : DForm => Str };
-oper LinSub100 = {s : Str } ;
-
-lincat Digit = LinDigit ;
-lincat Sub10 = LinDigit ;
-lincat Sub100 = LinSub100 ;
-lincat Sub1000 = LinSub100 ;
-
-oper mkNum : Str -> LinDigit = \tri ->
- { s = table {unit => tri ; teen => tri + "mbë" + "dhjetë" ; ten => tri + "dhjetë" }};
-
-lin num x = {s = x.s } ;
-
-lin n2 = {s = table {unit => "dy" ; teen => "dy" + "mbë" + "dhjetë" ; ten => "njëzet" }};
-lin n3 = mkNum "tre" ;
-lin n4 = {s = table {unit => "katër" ; teen => "katër" + "mbë" + "dhjetë" ; ten => "dyzet" } };
-lin n5 = mkNum "pesë" ;
-lin n6 = mkNum "gjashtë";
-lin n7 = mkNum "shtatë";
-lin n8 = mkNum "tetë";
-lin n9 = mkNum "nëntë";
-
-oper mkR : Str -> LinSub100 = \n -> {s = n } ;
-
-lin pot01 = { s = table {_ => "një" }};
-lin pot0 d = d ;
-lin pot110 = mkR "dhjetë" ;
-lin pot111 = mkR ("një" + "mbë" + "dhjetë") ;
-lin pot1to19 d = mkR (d.s ! teen) ;
-lin pot0as1 n = mkR (n.s ! unit) ;
-lin pot1 d = mkR (d.s ! ten) ;
-lin pot1plus d e = mkR ((d.s ! ten) ++ "e" ++ (e.s ! unit)) ;
-lin pot1as2 n = n ;
-lin pot2 d = mkR (bind (d.s ! unit) "qind") ;
-lin pot2plus d e = mkR ((bind (d.s ! unit) "qind") ++ "e" ++ e.s) ;
-lin pot2as3 n = {s = n.s };
-lin pot3 n = {s = n.s ++ "mijë" } ;
-lin pot3plus n m = {s = n.s ++ "mijë" ++ m.s} ;
-
diff --git a/grammars/numerals/old/amharic.gf b/grammars/numerals/old/amharic.gf
deleted file mode 100644
index b02a00456..000000000
--- a/grammars/numerals/old/amharic.gf
+++ /dev/null
@@ -1,81 +0,0 @@
-include numerals.Abs.gf ;
-
--- 14, 15 have variants in pronounciation {asraratt, asrammIst}
-
--- No long consonants marked in the indigen. script
--- s is set intersection s
--- h is set union h
--- H is three-fork h
--- x is hook-looking h
--- L is sin-looking s
--- X is h looking like k with a roof
--- ) is chair-vowel i.e historically glottal stop
--- ( is round-shape vowel sign i.e historically 3ayn
--- Z is zh
--- $ is sh
--- N is n~
--- I is i" (6th row)
--- A is a" (1st row)
--- Capitalis for ejectives KPTCS
-
-
-param DForm = unit | ten ;
-param Size = sg | pl | tenplus ;
-param S100 = indep | tenpart | tenelfu | sihpart ;
-
-oper LinDigit = {s : DForm => Str ; size : Size} ;
-oper LinSub100 = {s : S100 => Str ; size : Size} ;
-
-lincat Numeral = {s : Str} ;
-lincat Digit = LinDigit ;
-lincat Sub10 = LinDigit ;
-lincat Sub100 = LinSub100 ;
-lincat Sub1000 = {s : Str ; s2 : Str ; size : Size } ;
-lincat Sub1000000 = {s : Str} ;
-
-oper mkNum : Str -> Str -> LinDigit = \hulatt -> \haya ->
- {s = table {unit => hulatt ; ten => haya} ; size = pl} ;
-
-lin num x0 =
- {s = "/E" ++ x0.s ++ "E/"} ;
-lin n2 = mkNum "hulAt" (variants {"haya" ; "Haya" ; "xaya" ; "kaya" }) ;
-lin n3 = mkNum "Lost" "LAlasa" ;
-lin n4 = mkNum "arat" "arba" ;
-lin n5 = mkNum "amIst" (variants { "amsa" ; "xamsa" }) ;
-lin n6 = mkNum "sIdIst" (variants { "sIdsa" ; "sIlsa" }) ;
-lin n7 = mkNum "sAbat" "sAba" ;
-lin n8 = mkNum "sImInt" "sAmanya" ;
-lin n9 = mkNum "zATAN" "zATAna" ;
-
-oper ss1 : Str -> Str -> Str -> LinSub100 = \assir -> \ten -> \unitpart ->
- {s = table {indep => assir ; tenpart => ten ; tenelfu => [] ; sihpart => unitpart} ; size = tenplus } ;
-
-oper ss : Str -> Str -> Str -> LinSub100 = \assir -> \ten -> \unitpart ->
- {s = table {indep => assir ; tenpart => ten ; tenelfu => ten ; sihpart => unitpart} ; size = tenplus } ;
-
-lin pot01 =
- {s = table {unit => "and" ; ten => "asra" }; size = sg};
-lin pot0 d = d ;
-lin pot110 = ss1 "asIr" "and" [] ;
-lin pot111 = ss1 (variants {"asrand" ; "asra" ++ "and" }) "and" Sih ;
-lin pot1to19 d = ss1 ("asra" ++ d.s ! unit) "and" (mkSih d.size (d.s ! unit)) ;
-lin pot0as1 n = {s = table {indep => n.s ! unit ; sihpart => mkSih n.size (n.s ! unit) ; _ => [] } ; size = n.size} ;
-lin pot1 d = ss (d.s ! ten) (d.s ! unit) [] ;
-lin pot1plus d e = ss ((d.s ! ten) ++ (e.s ! unit))
- (d.s ! unit)
- (mkSih e.size (e.s ! unit));
-
-lin pot1as2 n = {s = n.s ! indep ; s2 = n.s ! tenelfu ++ "Ilef" ++ n.s ! sihpart ; size = n.size} ;
-
-lin pot2 d = {s = (sel d.size [] (d.s ! unit)) ++ "mAto" ;
- s2 = sel d.size "asIr" (d.s ! ten) ; size = tenplus} ;
-lin pot2plus d e = {s = (sel d.size [] (d.s ! unit)) ++ "mAto" ++ e.s ! indep ; s2 = d.s ! ten ++ e.s ! tenpart ++ "Ilef" ++ e.s ! sihpart ; size = tenplus} ;
-lin pot2as3 n = {s = n.s} ;
-lin pot3 n = {s = table {pl => n.s ++ Sih ; sg => Sih ; tenplus => n.s2 } ! n.size} ;
-lin pot3plus n m = {s = table {pl => n.s ++ Sih ; sg => Sih ; tenplus => n.s2 } ! n.size ++ m.s} ;
-
-oper Sih : Str = variants {"$ih" ; "$i"} ;
-
-oper mkSih : Size -> Str -> Str = \sz -> \attr -> (sel sz [] attr) ++ Sih ;
-
-oper sel : Size -> Str -> Str -> Str = \sz -> \a -> \b -> table {sg => a ; _ => b} ! sz ; \ No newline at end of file
diff --git a/grammars/numerals/old/basque.gf b/grammars/numerals/old/basque.gf
deleted file mode 100644
index ba77d9219..000000000
--- a/grammars/numerals/old/basque.gf
+++ /dev/null
@@ -1,59 +0,0 @@
-include numerals.Abs.gf ;
-
-oper LinDigit = {s : DForm => Str ; even20 : Even20 ; size : Size} ;
-
-oper mk20Ten : Str -> Str -> Str -> Str -> LinDigit =
- \tri -> \t -> \fiche -> \h ->
- { s = table {unit => tri ; teen => t ; twenty => fiche ; hund => h + "ehun"} ; even20 = ten ; size = pl} ;
-
-oper mkEven20 : Str -> Str -> Str -> Str -> LinDigit =
- \se -> \t -> \trifichid -> \h ->
- { s = table {unit => se ; teen => t ; twenty => trifichid ; hund => h + "ehun"} ; even20 = even ; size = pl} ;
-
-param Even20 = ten | even ;
-param DForm = unit | teen | twenty | hund ;
-param Size = sg | pl ;
-
-lincat Numeral = {s : Str} ;
-lincat Digit = LinDigit ;
-lincat Sub10 = LinDigit ;
-lincat Sub100 = {s : Str ; size : Size} ;
-lincat Sub1000 = {s : Str ; size : Size } ;
-lincat Sub1000000 = {s : Str} ;
-lin num x0 =
- {s = x0.s} ;
-lin n2 = mkEven20 "bi" "hamabi" "hogei" "berr" ;
-lin n3 = mk20Ten "hiru" (variants {"hamahiru" ; "hamahirur"}) "hogei" "hirur";
-lin n4 = mkEven20 "lau" (variants {"hamalau" ; "hamalaur"}) "berrogei" "laur";
-lin n5 = mk20Ten "bost" (variants {"hamabost" ; "hamabortz"}) "berrogei" "bost";
-lin n6 = mkEven20 "sei" "hamasei" "hirurogei" "seir" ;
-lin n7 = mk20Ten "zazpi" "hamazazpi" "hirurogei" "zazpi" ;
-lin n8 = mkEven20 "zortzi" "hemezortzi" "laurogei" "zortzi" ;
-lin n9 = mk20Ten "bederatzi" "hemeretzi" "laurogei" "bederatzi" ;
-
-lin pot01 =
- {s = table {unit => "bat" ; hund => "ehun" ; _ => "dummy"} ; even20 = ten ; size = sg};
-lin pot0 d = {s = d.s ; even20 = d.even20 ; size = d.size} ;
-lin pot110 = {s = "hamar" ; size = pl} ;
-lin pot111 = {s = variants {"hamaika" ; "hameka"} ; size = pl} ;
-lin pot1to19 d = {s = d.s ! teen ; size = pl} ;
-lin pot0as1 n = {s = n.s ! unit ; size = n.size} ;
-lin pot1 d =
- {s = table {even => d.s ! twenty ;
- ten => d.s ! twenty ++ "tahamar"} ! d.even20 ; -- glue
- size = pl} ;
-lin pot1plus d e =
- {s = table {even => d.s ! twenty ++ "ta" ++ e.s ! unit;
- ten => d.s ! twenty ++ "ta" ++ e.s ! teen} ! (d.even20) ;
- size = pl} ;
-
-lin pot1as2 n = n ;
-lin pot2 d = {s = d.s ! hund ; size = pl} ;
-lin pot2plus d e =
- {s = variants {d.s ! hund ++ e.s ; d.s ! hund ++ "ta" ++ e.s} ; size = pl} ;
-lin pot2as3 n =
- {s = n.s } ;
-lin pot3 n =
- {s = table {sg => [] ; pl => n.s } ! n.size ++ "mila"} ;
-lin pot3plus n m =
- {s = table {sg => [] ; pl => n.s } ! n.size ++ "mila" ++ "ta" ++ m.s } ;
diff --git a/grammars/numerals/old/bearlake_slave.gf b/grammars/numerals/old/bearlake_slave.gf
deleted file mode 100644
index 32329bcf8..000000000
--- a/grammars/numerals/old/bearlake_slave.gf
+++ /dev/null
@@ -1,44 +0,0 @@
-include numerals.Abs.gf ;
-
-param DForm = unit | hundred ;
-
-oper LinDigit = {s : Str } ;
-
-lincat Digit = LinDigit ;
-lincat Sub10 = LinDigit ;
-lincat Sub100 = {s : Str } ;
-lincat Sub1000 = {s : Str } ;
-
-oper mkNum : Str -> LinDigit = \two ->
- {s = two } ;
-
--- TODO: Transl.
-
-lin num x = x ;
--- lin n1 mkNum "l-ée" ;
-lin n2 = mkNum "nákee" ;
-lin n3 = mkNum "tai" ;
-lin n4 = mkNum "di,i," ;
-lin n5 = mkNum "so,lái" ;
-lin n6 = mkNum "?ehts'é,tai" ;
-lin n7 = mkNum "l-á,hdi,i," ;
-lin n8 = mkNum "?ehts'é,di,i," ;
-lin n9 = mkNum "l-óto," ;
-
-oper o : Str = "?ó," ;
-
-lin pot01 = {s = "l-ée" } ;
-lin pot0 d = d ;
-lin pot110 = {s = variants {"honéno," ; "hóno" }} ;
-lin pot111 = {s = variants {"honéno," ; "hóno" } ++ o ++ "l-ée" } ;
-lin pot1to19 d = {s = (variants {"honéno," ; "hóno" }) ++ o ++ d.s } ;
-lin pot0as1 n = n ;
-lin pot1 d = {s = d.s ++ (variants {"honéno," ; "óno,"})} ;
-lin pot1plus d e = {s = d.s ++ (variants {"honéno," ; "óno,"}) ++ o ++ e.s } ;
-lin pot1as2 n = n ;
-lin pot2 d = {s = d.s ++ "lak'o, óno,"} ;
-lin pot2plus d e = {s = d.s ++ "lak'o, óno," ++ e.s} ;
-lin pot2as3 n = n ;
-lin pot3 n = {s = n.s ++ "lamíl"} ;
-lin pot3plus n m = {s = n.s ++ "lamíl" ++ m.s } ;
-
diff --git a/grammars/numerals/old/biblical_hebrew.gf b/grammars/numerals/old/biblical_hebrew.gf
deleted file mode 100644
index d95ebfcc6..000000000
--- a/grammars/numerals/old/biblical_hebrew.gf
+++ /dev/null
@@ -1,88 +0,0 @@
-include numerals.Abs.gf ;
-
-param DForm = unit Place | cons | ten | hund ;
-param Size = small | large | dual ;
-param Place = attr | indep ;
-lincat Numeral = {s : Str} ;
-lincat Digit = {s : DForm => Str ; size : Size} ;
-lincat Sub10 = {s : DForm => Str ; size : Size} ;
-lincat Sub100 = {s : Place => Str ; size : Size} ;
-lincat Sub1000 = {s : Place => Str ; size : Size} ;
-lincat Sub1000000 = {s : Str} ;
-lin num x0 =
- {s = "/+" ++ x0.s ++ "+/"} ; -- the Hebrew environment
-
-lin n2 =
- {s = table {(unit attr) => [] ;
- (unit indep) => "snyM" ;
- cons => "sny" ;
- ten => "osryM" ;
- hund => "matyM"} ; size = dual} ;
-lin n3 =
- {s = table {(unit _) => "slsh" ;
- cons => "slst" ;
- ten => "slsyM" ;
- hund => "sls" ++ "mawt"} ; size = small} ;
-lin n4 =
- {s = table {(unit _) => "arboh" ;
- cons => "arbot" ;
- ten => "arboyM" ;
- hund => "arbo" ++ "mawt"} ; size = small} ;
-lin n5 =
- {s = table {(unit _) => "Hmsh" ;
- cons => "Hmst" ;
- ten => "HmsyM" ;
- hund => "Hms" ++ "mawt"} ; size = small} ;
-lin n6 =
- {s = table {(unit _) => "ssh" ;
- cons => "sst" ;
- ten => "ssyM" ;
- hund => "ss" ++ "mawt"} ; size = small} ;
-lin n7 =
- {s = table {(unit _) => "sboh" ;
- cons => "sbot" ;
- ten => "sboyM" ;
- hund => "sbo" ++ "mawt"} ; size = small} ;
-lin n8 =
- {s = table {(unit _) => "smnh" ;
- cons => "smnt" ;
- ten => "smnyM" ;
- hund => "smnh" ++ "mawt"} ; size = small} ;
-lin n9 =
- {s = table {(unit _) => "tsoh" ;
- cons => "tsot" ;
- ten => "tsoyM" ;
- hund => "tso" ++ "mawt"} ; size = small} ;
-
-lin pot01 =
- {s = table {hund => "mah"; (unit attr) => [] ; f => "aHd"} ; size = large} ;
-lin pot0 d =
- {s = d.s ; size = d.size} ;
-lin pot110 =
- {s = table {_ => "osr"} ; size = small} ;
-lin pot111 =
- {s = table {_ => variants {"aHd" ++ "osr" ; "osty" ++ "osr"} } ; size = large} ;
-lin pot1to19 d =
- {s = table {_ => d.s ! unit indep ++ "osr"} ; size = large} ;
-lin pot0as1 n =
- {s = table {p => n.s ! unit p} ; size = n.size} ;
-lin pot1 d =
- {s = table {_ => d.s ! ten} ; size = large} ;
-lin pot1plus d e =
- {s = table {_ => d.s ! ten ++ "w" ++ e.s ! unit indep} ; size = large} ;
-lin pot1as2 n =
- {s = n.s ; size = n.size} ;
-lin pot2 d =
- {s = table {_ => d.s ! hund} ; size = large} ;
-lin pot2plus d e =
- {s = table {_ => d.s ! hund ++ "w" ++ e.s ! indep} ; size = large} ;
-lin pot2as3 n =
- {s = n.s ! indep} ;
-lin pot3 n =
- {s = n.s ! attr ++ Alf ! n.size} ;
-lin pot3plus n m =
- {s = n.s ! attr ++ Alf ! n.size ++ "w" ++ m.s ! indep} ;
-
-oper Alf : Size => Str =
- table {{small} => "alpyM" ; {dual} => "alpyM" ; _ => "alP"} ;
-
diff --git a/grammars/numerals/old/bulgarian.gf b/grammars/numerals/old/bulgarian.gf
deleted file mode 100644
index fd330152f..000000000
--- a/grammars/numerals/old/bulgarian.gf
+++ /dev/null
@@ -1,51 +0,0 @@
--- ä is ya
--- q is [ch]
--- w for [sh]
--- j for i kratkoe i.e i with a thing
-
-include numerals.Abs.gf ;
-
-param Size = sg | below10 | tenover ;
-param DForm = unit | teen | ten | hundred ;
-
-oper LinDigit = {s : DForm => Str ; size : Size } ;
-
-lincat Digit = LinDigit ;
-lincat Sub10 = LinDigit ;
-lincat Sub100 = {s : Str ; size : Size } ;
-lincat Sub1000 = {s : Str ; size : Size } ;
-
-oper mkNum : Str -> Str -> Str -> LinDigit = \tri -> \trijset -> \trista ->
- { s = table {unit => tri ; teen => variants {tri + "nadeset" ; tri + "najset" }; ten => trijset ; hund => trista} ; size = below10};
-
-lin num x = {s = "/_" ++ x.s ++ "_/"} ; -- the (Russian) Cyrillic ad-hoc translation
-
-lin n2 = {s = table {unit => "dve" ; teen => variants {"dvanadeset" ; "dvanajset"}; ten => "dvajset" ; hund => "dvesta" } ; size = below10 } ;
-lin n3 = mkNum "tri" (variants {"trijset"; "trideset"}) "trista" ;
-lin n4 = mkNum "qetiri" (variants {"qetiriset" ; "qetirijset" ; "qetirideset"}) "qetiristotin" ;
-lin n5 = mkNum "pet" "petdeset" "petstotin" ;
-lin n6 = mkNum "west" (variants {"westdeset" ; "wejset"}) "weststotin" ;
-lin n7 = mkNum "sedem" "sedemdeset" "sedemstotin" ;
-lin n8 = mkNum "osem" "osemdeset" "osemstotin" ;
-lin n9 = mkNum "devet" "devetdeset" "devetstotin" ;
-
-lin pot01 = { s = table {unit => "edno" ; hundred => "sot" ; _ => "dummy" } ; size = sg };
-lin pot0 d = d ;
-lin pot110 = {s = "deset" ; size = below10};
-lin pot111 = {s = variants {"edinadeset" ; "edinajset" }; size = tenover};
-lin pot1to19 d = {s = d.s ! teen ; size = tenover};
-lin pot0as1 n = {s = n.s ! unit ; size = n.size } ;
-lin pot1 d = {s = d.s ! ten ; size = tenover} ;
-lin pot1plus d e = {s = d.s ! ten ++ "i" ++ e.s ! unit ; size = tenover} ;
-lin pot1as2 n = n ;
-lin pot2 d = {s = d.s ! hundred ; size = tenover} ;
-lin pot2plus d e = { s = d.s ! hundred ++ maybei e.size ++ e.s ; size = tenover } ;
-lin pot2as3 n = {s = n.s };
-lin pot3 n = {s = mkThou n.size n.s} ;
-lin pot3plus n m = {s = mkThou n.size n.s ++ m.s} ;
-
-oper mkThou : Size -> Str -> Str = \sz -> \attr ->
- table {sg => "xiläda" ; _ => attr ++ "xilädi" } ! sz ;
-
-oper maybei : Size -> Str = \sz -> table {tenover => [] ; _ => "i"} ! sz ;
-
diff --git a/grammars/numerals/old/catalan.gf b/grammars/numerals/old/catalan.gf
deleted file mode 100644
index b1396c6b3..000000000
--- a/grammars/numerals/old/catalan.gf
+++ /dev/null
@@ -1,56 +0,0 @@
-include numerals.Abs.gf ;
-
-oper bind : Str -> Str -> Str = \s1 -> \s2 -> s1 ++ s2 ;
-
-param DForm = unit | teen | ten | hundred | vint ;
-param Size = sg | two | pl ;
-
-lincat Numeral = {s : Str} ;
-lincat Digit = {s : DForm => Str ; size : Size } ;
-lincat Sub10 = {s : DForm => Str ; size : Size } ;
-lincat Sub100 = {s : Str ; size : Size} ;
-lincat Sub1000 = {s : Str ; size : Size} ;
-lincat Sub1000000 = {s : Str} ;
-
-oper mkNum : Str -> Str -> Str -> Lin Digit =
- \dois -> \doze -> \vinte ->
- {s = table {unit => dois ; teen => doze ; ten => vinte ; hundred => dois + "-" + "cents" ; vint => "vint-i-" + dois } ; size = pl} ;
-
-lin num x0 =
- {s = x0.s} ;
-
-lin n2 = {s = table {unit => "dos" ; teen => "dotze" ; ten => "vint" ; hundred => "dos-cents" ; vint => "vint-i-" + "dos" } ; size = two } ;
-lin n3 = mkNum "tres" "tretze" "trenta" ;
-lin n4 = mkNum "quatre" "catorze" "quaranta" ;
-lin n5 = mkNum "cinc" "quinze" "cinqanta" ;
-lin n6 = mkNum "sis" "setze" "seixanta" ;
-lin n7 = mkNum "set" "disset" "setanta" ;
-lin n8 = mkNum "vuit" "divuit" "vuitanta" ;
-lin n9 = mkNum "nou" "dinou" "noranta" ;
-
-lin pot01 = {s = table {unit => "u" ; hundred => "cent" ; vint => "vint-i-" + "u" ; _ => "dummy"} ; size = sg} ;
-lin pot0 d = d ;
-lin pot110 =
- {s = "deu" ; size = pl} ;
-lin pot111 =
- {s = "onze" ; size = pl} ;
-lin pot1to19 d =
- {s = d.s ! teen ; size = pl} ;
-lin pot0as1 n =
- {s = n.s ! unit ; size = n.size } ;
-lin pot1 d =
- {s = d.s ! ten ; size = pl} ;
-lin pot1plus d e =
- {s = table {two => e.s ! vint ; _ => bind (bind (d.s ! ten) "-") (e.s ! unit) } ! d.size ; size = pl} ;
-lin pot1as2 n = n ;
-lin pot2 d =
- {s = d.s ! hundred ; size = pl} ;
-lin pot2plus d e =
- {s = d.s ! hundred ++ e.s ; size = pl} ;
-lin pot2as3 n =
- {s = n.s } ;
-lin pot3 n =
- {s = table {sg => "mil" ; _ => n.s ++ "mil"} ! n.size} ;
-lin pot3plus n m =
- {s = table {sg => "mil" ; _ => n.s ++ "mil"} ! n.size ++ m.s } ;
-
diff --git a/grammars/numerals/old/classical_arabic.gf b/grammars/numerals/old/classical_arabic.gf
deleted file mode 100644
index 767be53d6..000000000
--- a/grammars/numerals/old/classical_arabic.gf
+++ /dev/null
@@ -1,96 +0,0 @@
-include numerals.Abs.gf ;
-
--- There is uncertainty as to wthere forms like 102 000 should be
--- hundred and thousand<DUAL> or hundred and two thousands<GEN.PL> or
--- as implemented hundred and two thousand<DUAL>
-
-param DForm = unit Place | teen | ten | hund ;
-param Size = sg | pl | dual | eleventonineteen ;
-param Place = attr | indep ;
-lincat Numeral = {s : Str} ;
-lincat Digit = {s : DForm => Str ; size : Size} ;
-lincat Sub10 = {s : DForm => Str ; size : Size} ;
-lincat Sub100 = {s : Place => Str ; size : Size} ;
-lincat Sub1000 = {s : Place => Str ; size : Size} ;
-lincat Sub1000000 = {s : Str} ;
-lin num x0 =
- {s = "/6" ++ x0.s ++ "6/"} ; -- the Arabic0x0600 environment
-
-lin n2 =
- {s = table {(unit attr) => [] ;
- (unit indep) => "avnan" ;
- teen => "avna" ;
- ten => "ocrwn" ;
- hund => "maOtan"} ; size = dual} ;
-lin n3 =
- {s = table {(unit _) => "vlavA" ;
- teen => "vlavA" ;
- ten => "vlavwn" ;
- hund => variants {"vlav" ++ "maOA" ; "vlavmaOA"}} ;
- size = pl} ;
-lin n4 =
- {s = table {(unit _) => "urboA" ;
- teen => "urboA" ;
- ten => "urbown" ;
- hund => variants {"urbo" ++ "maOA" ; "urbomaOA"}} ;
- size = pl} ;
-lin n5 =
- {s = table {(unit _) => "CmsA" ;
- teen => "CmsA" ;
- ten => "Cmswn" ;
- hund => variants {"Cms" ++ "maOA" ; "CmsmaOA"}} ; size = pl} ;
-lin n6 =
- {s = table {(unit _) => "stA" ;
- teen => "stA" ;
- ten => "stwn" ;
- hund => variants {"st" ++ "maOA" ; "stmaOA"}} ; size = pl} ;
-lin n7 =
- {s = table {(unit _) => "sboA" ;
- teen => "sboA" ;
- ten => "sbown" ;
- hund => variants {"sbo" ++ "maOA" ; "sbomaOA"}} ; size = pl} ;
-lin n8 =
- {s = table {(unit _) => "vmanyA" ;
- teen => "vmanyA" ;
- ten => "vmanwn" ;
- hund => variants {"vman" ++ "maOA" ; "vmanmaOA"}} ;
- size = pl} ;
-lin n9 =
- {s = table {(unit _) => "tsoA" ;
- teen => "tsoA" ;
- ten => "tsown" ;
- hund => variants {"tso" ++ "maOA" ; "tsomaOA"}} ;
- size = pl} ;
-
-lin pot01 =
- {s = table {hund => (variants {"maOA" ; "m0A"} ) ; (unit attr) => [] ; f => "waHd"} ; size = sg} ;
-lin pot0 d =
- {s = d.s ; size = d.size} ;
-lin pot110 =
- {s = table {_ => "ocrA"} ; size = pl} ;
-lin pot111 =
- {s = table {_ => "aHd" ++ "ocr"} ; size = eleventonineteen} ;
-lin pot1to19 d =
- {s = table {_ => d.s ! teen ++ "ocr"} ; size = eleventonineteen} ;
-lin pot0as1 n =
- {s = table {p => n.s ! unit p} ; size = n.size} ;
-lin pot1 d =
- {s = table {_ => d.s ! ten} ; size = eleventonineteen} ;
-lin pot1plus d e =
- {s = table {_ => e.s ! unit indep ++ "w" ++ d.s ! ten} ; size = e.size} ;
-lin pot1as2 n =
- {s = n.s ; size = n.size} ;
-lin pot2 d =
- {s = table {_ => d.s ! hund} ; size = pl} ;
-lin pot2plus d e =
- {s = table {_ => d.s ! hund ++ "w" ++ e.s ! indep} ; size = e.size} ;
-lin pot2as3 n =
- {s = n.s ! indep} ;
-lin pot3 n =
- {s = n.s ! attr ++ Alf ! n.size} ;
-lin pot3plus n m =
- {s = n.s ! attr ++ Alf ! n.size ++ "w" ++ m.s ! indep} ;
-
-oper Alf : Size => Str =
- table {{pl} => "Ulaf" ; {dual} => "alfan" ; {eleventonineteen} => "alfa" ; sg => "alf"} ;
-
diff --git a/grammars/numerals/old/classical_greek.gf b/grammars/numerals/old/classical_greek.gf
deleted file mode 100644
index 44ce57fe7..000000000
--- a/grammars/numerals/old/classical_greek.gf
+++ /dev/null
@@ -1,197 +0,0 @@
-include numerals.Abs.gf ;
--- Classical Greek (of Athens)
--- Aarne's transliteration
--- There are attested variant forms. kai:s between the elements in bigger ->
--- smaller order is also possible but not common.
-
-param DForm = unit | tkismyr | teen | ten | hund | kisxil | kismyr |
- tenkismyr | tenkis ;
-param InterData = indep Order | xiliad | myriad Order ;
-param Tenpart = kis1 | tkis1 ;
-param Size = sg | pl | tenoverpl ;
-param Order = des | asc;
-lincat Numeral = {s : Str} ;
-
-oper LinDigit = {s : DForm => Str} ;
-oper LinSub1000 = {s : InterData => Str ; size : Size} ;
-
-lincat Digit = LinDigit ;
-lincat Sub10 = {s : DForm => Str ;
- size : Size} ;
-lincat Sub100 = {s : InterData => Str ;
- s1 : Tenpart => Str ;
- s2 : Str ;
- size : Size} ;
-lincat Sub1000 = LinSub1000 ;
-lincat Sub1000000 = {s : Str} ;
-lin num x0 =
- {s = "//" ++ x0.s ++ "//"} ; -- Greek environment
-
-oper mkNum : Str -> Str -> Str -> Str -> Str -> Str -> Str -> LinDigit =
- \dyo -> \dis -> \dwdekakis -> \dwdeka -> \eikosi -> \diakosioi ->
- \eikosakis ->
- {s = table {unit => dyo ;
- tkismyr => dwdekakis + "m'yrioi" ;
- teen => dwdeka ;
- ten => eikosi ;
- hund => diakosioi ;
- kisxil => dis + "c'ilioi" ;
- kismyr => dis + "m'yrioi" ;
- tenkis => eikosakis ;
- tenkismyr => eikosakis + "m'yrioi"} };
-
-lin n2 = mkNum
- "d'yo"
- "dis"
- "dwdekakis"
- "d'wdeka"
- "e)'ikosi"
- "diak'osioi"
- "e)ikos'akis" ;
-
-lin n3 = mkNum
- "tre~ij"
- "tris"
- "treiskaidekakis"
- (variants {"tre~ij" ++ "ka`i" ++ "d'eka" ; "treiska'ideka"} )
- "tri'akonta"
- "triak'osioi"
- "triakont'akis" ;
-
-lin n4 = mkNum
- "t'ettarej"
- "tetrakis"
- "tettareskaidekakis"
- (variants {"t'ettarej" ++ "ka`i" ++ "d'eka" ; "tettareska'ideka"})
- "tettar'akonta"
- "tetrak'osioi"
- "tettarakont'akis" ;
-
-lin n5 = mkNum
- "p'ente"
- "pentakis"
- "pentekaidekakis"
- "penteka'ideka"
- "pent'hkonta"
- "pentak'osioi"
- "penthkont'akis" ;
-
-lin n6 = mkNum
- "('ex"
- "(exakis"
- "(ekkaidekakis"
- "(ekka'ideka"
- "(ex'hkonta"
- "(exak'osioi"
- "(exhkont'akis" ;
-
-lin n7 = mkNum
- "(ept'a"
- "(eptakis"
- "(eptakaidekakis"
- "(eptaka'ideka"
- "(ebdom'hkonta"
- "(eptak'osioi"
- "(ebdomhkont'akis" ;
-
-lin n8 = mkNum
- ")okt'w"
- ")oktakis"
- ")oktwkaidekakis"
- ")oktwka'ideka"
- ")ogdo'hkonta"
- ")oktak'osioi"
- ")ogdohkont'akis" ;
-
-lin n9 = mkNum
- ")enn'ea"
- ")enakis"
- ")enneakaidekakis"
- ")enneaka'ideka"
- ")enen'hkonta"
- ")enak'osioi"
- ")enenhkont'akis" ;
-
-lin pot01 =
- {s = table {hund => "(ekat'on" ;
- kisxil => "c'ilioi" ;
- kismyr => "('apax" + "m'yrioi" ;
- _ => "e('ij" } ;
- size = sg} ;
-lin pot0 d =
- {s = d.s ; size = pl} ;
-lin pot110 =
- {s = table {xiliad => "dummy" ;
- (myriad _) => "m'yrioi" ;
- (indep _) => "d'eka" };
- s1 = table {kis1 => "('apax" + "m'yrioi" ; tkis1 => "(endek'akis" + "m'yrioi"} ;
- s2 = [] ;
- size = tenoverpl} ;
-lin pot111 =
- {s = table {xiliad => "dummy" ;
- (myriad des) => "m'yrioi" ++ "c'ilioi" ;
- (myriad asc) => "c'ilioi" ++ "ka`i" ++ "m'yrioi" ;
- (indep _) => "('endeka" } ;
- s1 = table {kis1 => "('apax" + "m'yrioi" ; tkis1 => "(endek'akis" + "m'yrioi"} ;
- s2 = "c'ilioi" ;
- size = tenoverpl} ;
-lin pot1to19 d =
- {s = table {xiliad => "dummy" ;
- (myriad des) => "m'yrioi" ++ d.s ! kisxil ;
- (myriad asc) => d.s ! kisxil ++ "ka`i" ++ "m'yrioi" ;
- (indep _) => d.s ! teen } ;
- s1 = table {kis1 => "('apax" + "m'yrioi" ; tkis1 => "(endek'akis" + "m'yrioi" } ;
- s2 = d.s ! kisxil ;
- size = tenoverpl} ;
-lin pot0as1 n =
- {s = table {xiliad => n.s ! kisxil ;
- (indep _) => n.s ! unit ;
- (myriad _) => "dummy" } ;
- s1 = table {_ => []} ;
- s2 = n.s ! kisxil ;
- size = n.size} ;
-lin pot1 d =
- {s = table {xiliad => "dummy" ;
- (myriad _) => d.s ! kismyr ;
- (indep _) => d.s ! ten} ;
- s1 = table {kis1 => d.s ! kismyr ; tkis1 => d.s ! tkismyr } ;
- s2 = [];
- size = tenoverpl} ;
-lin pot1plus d e =
- {s = table {xiliad => "dummy" ;
- (myriad des) => d.s ! kismyr ++ e.s ! kisxil ;
- (myriad asc) => e.s ! kisxil ++ "ka`i" ++ d.s ! kismyr ;
- (indep des) => d.s ! ten ++ e.s ! unit ;
- (indep asc) => e.s ! unit ++ "ka`i" ++ d.s ! ten } ;
- s1 = table {kis1 => d.s ! kismyr ; tkis1 => d.s ! tkismyr } ;
- s2 = e.s ! kisxil ;
- size = tenoverpl} ;
-lin pot1as2 n =
- {s = n.s ; size = n.size} ;
-lin pot2 d =
- {s = table {(indep _) => d.s ! hund ;
- (myriad _) => d.s ! tenkismyr;
- xiliad => "dummy"} ;
- size = tenoverpl} ;
-lin pot2plus d e =
- {s = table {(myriad _) => table {sg => e.s1 ! tkis1 ;
- pl => d.s ! tenkis ++ e.s1 ! kis1 ;
- tenoverpl => "dummy" } ! d.size ++ e.s2 ;
- (indep des) => d.s ! hund ++ e.s ! indep des ;
- (indep asc) => (e.s ! indep asc) ++ "ka`i" ++ d.s ! hund ;
- xiliad => "dummy" } ;
- size = tenoverpl} ;
-
-lin pot2as3 n =
- {s = variants { n.s ! indep des ; n.s ! indep asc}} ;
-lin pot3 n =
- {s = variants {(Myr n des) ! n.size ; (Myr n asc) ! n.size} } ;
-lin pot3plus n m =
- {s = variants {(Myr n des) ! n.size ++ m.s ! indep des;
- m.s ! indep asc ++ "ka`i" ++ (Myr n asc) ! n.size }} ;
-
-oper Myr : LinSub1000 -> Order -> Size => Str = \n -> \order ->
- table {sg => "c'ilioi" ;
- pl => n.s ! xiliad ;
- tenoverpl => n.s ! myriad order} ;
-
diff --git a/grammars/numerals/old/croatian.gf b/grammars/numerals/old/croatian.gf
deleted file mode 100644
index 501c81dcc..000000000
--- a/grammars/numerals/old/croatian.gf
+++ /dev/null
@@ -1,69 +0,0 @@
-include numerals.Abs.gf ;
-
-param DForm = unit | teen | ten | hund ;
-
--- [c^], [s^], [c']
-
-
-param ThForm = onlyone | lastone | twoorthreeorfour | fiveup ;
-
-oper LinDigit = {s : DForm => Str; o : ThForm ; t : ThForm } ;
-lincat Digit = LinDigit ;
-lincat Sub10 = {s : DForm => Str; o : ThForm ; t : ThForm } ;
-lincat Sub100 = {s : Str; t : ThForm } ;
-lincat Sub1000 = {s : Str; t : ThForm } ;
-
-oper mkNum : Str -> Str -> Str -> Str -> ThForm -> LinDigit =
- \dwa -> \dwanascie -> \dwadziescia -> \dwiescie -> \thform ->
- { s = table {unit => dwa ; teen => dwanascie ; ten => dwadziescia ; hund =>
-dwiescie };
- o = thform ; t = thform
- };
-
-oper mkRegNum : Str -> LinDigit =
- \sedam ->
- { s = table { unit => sedam ; teen => sedam + "naest" ;
- ten => sedam + "deset" ; hund => sedam ++ "stotina"
- };
- o = fiveup ; t = fiveup
- };
-
-oper mkTh : Str -> ThForm => Str = \attr ->
- table { onlyone => variants {"hiljada" ; "tisuc'a"} ; lastone => attr ++ "hiljada" ;
- twoorthreeorfour => attr ++ "hiljade" ; fiveup => attr ++ "hiljada"
- };
-
-oper ss : Str -> ThForm -> {s : Str ; t : ThForm} = \str -> \th -> {s = str; t = th} ;
-
-lin num x = {s = "/L" ++ x.s ++ "L/"} ; -- Latin A Supplement environment
-
-lin n2 = mkNum "dva" "dvanaest" "dvadeset" (variants { "dve" ++ "stotine" ; "dvesta" } ) twoorthreeorfour ;
-lin n3 = mkNum "tri" "trinaest" "trideset" (variants { "tri" ++ "stotine" ; "trista" } ) twoorthreeorfour ;
-lin n4 = mkNum "c^etiri" "c^etrnaest" "c^etrdeset" ("c^etiri" ++ "stotine") twoorthreeorfour ;
-lin n5 = mkNum "pet" "petnaest" "pedeset" ("pet" ++ "stotina") fiveup ;
-lin n6 = mkNum "s^est" "s^esnaest" "s^ezdeset" ("s^est" ++ "stotina") fiveup ;
-lin n7 = mkRegNum "sedam" ;
-lin n8 = mkRegNum "osam" ;
-lin n9 = mkNum "devet" "devetnaest" "devedeset" ("devet" ++ "stotina") fiveup;
-
-lin pot01 = { s = table {hund => variants {"sto" ; "stotina" }; f => "jedan" };
- o = onlyone ; t = lastone
- };
-lin pot0 d = {s = table {f => d.s ! f} ; o = d.o ; t = d.t} ;
-lin pot110 = ss "deset" fiveup ;
-lin pot111 = ss "jedanaest" fiveup ;
-lin pot1to19 d = {s = d.s ! teen ; t = fiveup} ;
-lin pot0as1 n = {s = n.s ! unit ; t = n.o} ;
-lin pot1 d = {s = d.s ! ten ; t = fiveup} ;
-lin pot1plus d e = {s = d.s ! ten ++ "i" ++ e.s ! unit; t = e.t} ;
-lin pot1as2 n = n ;
-lin pot2 d = {s = d.s ! hund ; t = fiveup} ;
-lin pot2plus d e = { s = d.s ! hund ++ e.s ;
- t = table { onlyone => lastone ; f => f } ! e.t
- } ;
-
-lin pot2as3 n = n ;
-lin pot3 n = {s = (mkTh n.s) ! n.t} ;
-lin pot3plus n m = {s = (mkTh n.s) ! n.t ++ m.s} ;
-
-
diff --git a/grammars/numerals/old/czech.gf b/grammars/numerals/old/czech.gf
deleted file mode 100644
index 880bd25d5..000000000
--- a/grammars/numerals/old/czech.gf
+++ /dev/null
@@ -1,58 +0,0 @@
-include numerals.Abs.gf ;
-
-oper bind : Str -> Str -> Str = \s1 -> \s2 -> s1 ++ s2 ;
-
--- [c^], [s^], [r^], [e^]
-
-param Size = sg | twothreefour | fiveup ;
-param DForm = unit | teen | ten | hundred ;
-
-lincat Digit = {s : DForm => Str ; size : Size} ;
-lincat Sub10 = {s : DForm => Str ; size : Size} ;
-lincat Sub100 = {s : Str; size : Size } ;
-lincat Sub1000 = {s : Str; size : Size } ;
-
-oper mkNum : Str -> Str -> Str -> Str -> Size -> Lin Digit =
- \dva -> \dvanast -> \dvadsat -> \dveste -> \sz ->
- { s = table {unit => dva ; teen => dvanast + "náct" ; ten => dvadsat ; hundred => dveste } ; size = sz };
-
-oper mk2Num : Str -> Str -> Str -> Str -> Lin Digit = \unit -> \teenbase -> \tenbase -> \hundred ->
- mkNum unit teenbase (tenbase + "cet") hundred twothreefour ;
-
-oper mk5Num : Str -> Str -> Str -> Lin Digit = \unit -> \teenbase -> \tenbase ->
- mkNum unit teenbase (tenbase + "desát") (unit ++ "set") fiveup ;
-
-lin num x = {s = "/L" ++ x.s ++ "L/" } ; -- Latin A supplement encoding
-
-lin n2 = mk2Num "dva" "dva" "dva" ("dve^" ++ "ste^") ;
-lin n3 = mk2Num "tr^i" "tr^i" "tr^i" ("tr^i" ++ "sta") ;
-lin n4 = mk2Num "c^tyr^i" "c^tr" "c^tyr^i" ("c^tyr^i" ++ "sta") ;
-lin n5 = mk5Num "pe^t" "pat" "pa" ;
-lin n6 = mk5Num "s^est" "s^est" "s^e" ;
-lin n7 = mk5Num "sedm" "sedm" "sedm";
-lin n8 = mk5Num "osm" "osm" "osm";
-lin n9 = mk5Num "deve^t" "devate" "deva" ;
-
-lin pot01 = {s = table {unit => "jeden" ; hundred => "sto" ; _ => "dummy" } ;
- size = sg } ;
-lin pot0 d = d ;
-lin pot110 = {s = "deset" ; size = fiveup } ;
-lin pot111 = {s = "jedenáct" ; size = fiveup };
-lin pot1to19 d = {s = d.s ! teen ; size = fiveup} ;
-lin pot0as1 n = {s = n.s ! unit ; size = n.size} ;
-lin pot1 d = {s = d.s ! ten ; size = fiveup} ;
-lin pot1plus d e = {s = variants { d.s ! ten ++ e.s ! unit ; bind (bind (e.s ! unit) "a") (d.s ! ten)} ; size = tfSize e.size} ;
-lin pot1as2 n = n ;
-lin pot2 d = {s = d.s ! hundred ; size = fiveup} ;
-lin pot2plus d e = {s = d.s ! hundred ++ e.s ; size = tfSize e.size} ;
-lin pot2as3 n = {s = n.s } ;
-lin pot3 n = {s = (mkTh n.s) ! n.size} ;
-lin pot3plus n m = {s = (mkTh n.s) ! n.size ++ m.s} ;
-
-oper tfSize : Size -> Size = \sz ->
- table {sg => fiveup ; other => other} ! sz ;
-
-oper mkTh : Str -> Size => Str = \attr ->
- table {sg => "tisíc" ;
- twothreefour => attr ++ "tisíce" ;
- fiveup => attr ++ "tisíc" } ;
diff --git a/grammars/numerals/old/dagur.gf b/grammars/numerals/old/dagur.gf
deleted file mode 100644
index 80cfdf45b..000000000
--- a/grammars/numerals/old/dagur.gf
+++ /dev/null
@@ -1,59 +0,0 @@
-include numerals.Abs.gf ;
-
-param DForm = unit | ten ;
-param Size = sg | pl | tenplus ;
-param S100 = indep | tenpart | tenelfu | sihpart ;
-
-lincat Numeral = {s : Str} ;
-oper LinDigit = {s : DForm => Str ; size : Size} ;
-lincat Digit = LinDigit ;
-lincat Sub10 = LinDigit ;
-oper LinSub100 = {s : S100 => Str ; size : Size} ;
-lincat Sub100 = LinSub100 ;
-lincat Sub1000 = {s : Str ; s2 : Str ; size : Size } ;
-lincat Sub1000000 = {s : Str} ;
-
-oper mkNum : Str -> Str -> LinDigit = \hulatt -> \haya ->
- {s = table {unit => hulatt ; ten => haya} ; size = pl} ;
-
-lin num x0 =
- {s = x0.s } ;
-lin n2 = mkNum "hoire" "hori" ;
-lin n3 = mkNum "guarebe" "goci" ;
-lin n4 = mkNum "durube" "duci" ;
-lin n5 = mkNum "taau" "tabi" ;
-lin n6 = mkNum "jireuoo" "jari" ;
-lin n7 = mkNum "doloo" "dale" ;
-lin n8 = mkNum "naime" "nai" ;
-lin n9 = mkNum "ise" "ire" ;
-
-oper ss1 : Str -> Str -> Str -> LinSub100 = \assir -> \ten -> \unitpart ->
- {s = table {indep => assir ; tenpart => ten ; tenelfu => [] ; sihpart => unitpart} ; size = tenplus } ;
-
-oper ss : Str -> Str -> Str -> LinSub100 = \assir -> \ten -> \unitpart ->
- {s = table {indep => assir ; tenpart => ten ; tenelfu => ten ; sihpart => unitpart} ; size = tenplus } ;
-
-lin pot01 =
- {s = table {unit => "neke" ; ten => "harebe" }; size = sg};
-lin pot0 d = d ;
-lin pot110 = ss1 "harebe" "neke" [] ;
-lin pot111 = ss1 ("hareben" ++ "neke") "neke" "miange" ;
-lin pot1to19 d = ss1 ("hareben" ++ d.s ! unit) "neke" (mkmiange d.size (d.s ! unit)) ;
-lin pot0as1 n = {s = table {indep => n.s ! unit ; sihpart => mkmiange n.size (n.s ! unit) ; _ => [] } ; size = n.size} ;
-lin pot1 d = ss (d.s ! ten) (d.s ! unit) [] ;
-lin pot1plus d e = ss ((d.s ! ten) ++ (e.s ! unit))
- (d.s ! unit)
- (mkmiange e.size (e.s ! unit));
-
-lin pot1as2 n = {s = n.s ! indep ; s2 = n.s ! tenelfu ++ "tume" ++ n.s ! sihpart ; size = n.size} ;
-
-lin pot2 d = {s = (sel d.size [] (d.s ! unit)) ++ "jau" ;
- s2 = sel d.size "harebe" (d.s ! ten) ; size = tenplus} ;
-lin pot2plus d e = {s = (sel d.size [] (d.s ! unit)) ++ "jau" ++ e.s ! indep ; s2 = d.s ! ten ++ e.s ! tenpart ++ "tume" ++ e.s ! sihpart ; size = tenplus} ;
-lin pot2as3 n = {s = n.s} ;
-lin pot3 n = {s = table {pl => n.s ++ "miange" ; sg => "miange" ; tenplus => n.s2 } ! n.size} ;
-lin pot3plus n m = {s = table {pl => n.s ++ "miange" ; sg => "miange" ; tenplus => n.s2 } ! n.size ++ m.s} ;
-
-oper mkmiange : Size -> Str -> Str = \sz -> \attr -> (sel sz [] attr) ++ "miange" ;
-
-oper sel : Size -> Str -> Str -> Str = \sz -> \a -> \b -> table {sg => a ; _ => b} ! sz ; \ No newline at end of file
diff --git a/grammars/numerals/old/demo.gfs b/grammars/numerals/old/demo.gfs
deleted file mode 100644
index 34e2e657c..000000000
--- a/grammars/numerals/old/demo.gfs
+++ /dev/null
@@ -1,49 +0,0 @@
-i -old -abs=Nums -cnc=Decimal numerals.Dec.gf
-i -old -abs=Nums -cnc=Amharic amharic.gf
-i -old -abs=Nums -cnc=Basque basque.gf
---i -old -abs=Nums biblical_hebrew.gf
---i -old -abs=Nums classical_arabic.gf
-i -old -abs=Nums -cnc=Greek classical_greek.gf
---i -old -abs=Nums croatian.gf
-i -old -abs=Nums -cnc=Geez geez.gf
-i -old -abs=Nums -cnc=Hindi hindi.gf
-i -old -abs=Nums -cnc=Hungarian hungarian.gf
-i -old -abs=Nums -cnc=Icelandic icelandic.gf
-i -old -abs=Nums -cnc=Irish irish.gf
---i -old -abs=Nums italian.gf
---i -old -abs=Nums japanese.gf
---i -old -abs=Nums khowar.gf
---i -old -abs=Nums korean.gf
---i -old -abs=Nums kulung.gf
---i -old -abs=Nums modern_greek.gf
---i -old -abs=Nums mongolian.gf
-i -old -abs=Nums -cnc=Arabic numerals.Ara.gf
-i -old -abs=Nums -cnc=Hebrew numerals.Heb.gf
---i -old -abs=Nums numerals.ChiU.gf
---i -old -abs=Nums numerals.Dan.gf
-i -old -abs=Nums -cnc=German numerals.Deu.gf
-i -old -abs=Nums -cnc=English numerals.Eng.gf
-i -old -abs=Nums -cnc=French numerals.Fra.gf
-i -old -abs=Nums -cnc=Malay numerals.Malay.gf
-i -old -abs=Nums -cnc=Dutch numerals.Ned.gf
---i -old -abs=Nums numerals.NorB.gf
-i -old -abs=Nums -cnc=Russian numerals.Rus.gf
-i -old -abs=Nums -cnc=Finnish numerals.Suo.gf
-i -old -abs=Nums -cnc=Swedish numerals.Swe.gf
---i -old -abs=Nums numerals.Tam.gf
-i -old -abs=Nums -cnc=OldChurchSlavonic old_church_slavonic.gf
-i -old -abs=Nums -cnc=Pashto pashto.gf
---i -old -abs=Nums polish.gf
---i -old -abs=Nums portuguese.gf
-i -old -abs=Nums -cnc=Quechua quechua.gf
---i -old -abs=Nums romanian.gf
-i -old -abs=Nums -cnc=Sanskrit sanskrit.gf
---i -old -abs=Nums slovak.gf
---i -old -abs=Nums sorani.gf
---i -old -abs=Nums spanish.gf
---i -old -abs=Nums swiss_french.gf
---i -old -abs=Nums tamil.gf
---i -old -abs=Nums tibetan.gf
---i -old -abs=Nums totonac.gf
-i -old -abs=Nums -cnc=Turkish turkish.gf
---ts -lang -f
diff --git a/grammars/numerals/old/fulfulde.gf b/grammars/numerals/old/fulfulde.gf
deleted file mode 100644
index 0531d35de..000000000
--- a/grammars/numerals/old/fulfulde.gf
+++ /dev/null
@@ -1,50 +0,0 @@
-include numerals.Abs.gf ;
-
-param Size = sg | pl | two;
-
-oper Form = {s : Str ; size : Size } ;
-
-lincat Numeral = {s : Str} ;
-lincat Digit = Form ;
-lincat Sub10 = Form ;
-lincat Sub100 = Form ;
-lincat Sub1000 = Form ;
-lincat Sub1000000 = {s : Str} ;
-lin num x0 =
- {s = x0.s} ; -- TODO: Encoding
-
-oper mkNum = ss ;
-
-oper ss : Str -> Form = \f -> {s = f ; size = pl } ;
-
--- lin n1 = mkNum "go'o" ;
-lin n2 = {s = "d.id.i" ; size = two } ;
-lin n3 = mkNum "tati" ;
-lin n4 = mkNum "nai" ;
-lin n5 = mkNum "jowi" ;
-lin n6 = mkNum "jowe:go" ;
-lin n7 = mkNum "jowe:d.id.i" ;
-lin n8 = mkNum "jowe:tati" ;
-lin n9 = mkNum "jowe:nai" ;
-
-lin pot01 = {s = "go'o" ; size = sg };
-lin pot0 d = d ;
-lin pot110 = ss "sappo" ;
-lin pot111 = ss ("sappo" ++ "e" ++ "go'o") ;
-lin pot1to19 d = ss ("sappo" ++ "e" ++ d.s) ;
-lin pot0as1 n = n ;
-lin pot1 d = ss (mkten d.size d.s) ;
-lin pot1plus d e = ss ((mkten d.size d.s) ++ "e" ++ e.s) ;
-lin pot1as2 n = n ;
-lin pot2 d = ss (mkhund d.size d.s) ;
-lin pot2plus d e = ss ((mkhund d.size d.s) ++ "e" ++ e.s) ;
-lin pot2as3 n = n ;
-lin pot3 n = ss (mkthou n.size n.s) ;
-lin pot3plus n m = ss ((mkthou n.size n.s) ++ m.s) ;
-
-oper mkten : Size -> Str -> Str = \sz -> \attr ->
- table {two => "no:gas" ; _ => "chappand.e" ++ attr } ! sz ;
-oper mkhund : Size -> Str -> Str = \sz -> \attr ->
- table {sg => "temerre" ; _ => "temed.d.e" ++ attr} ! sz ;
-oper mkthou : Size -> Str -> Str = \sz -> \attr ->
- table {sg => "ujine:re"; _ => variants {"ujine" ++ attr ; "ujine:je" ++ attr}} ! sz ;
diff --git a/grammars/numerals/old/geez.gf b/grammars/numerals/old/geez.gf
deleted file mode 100644
index 9178f8760..000000000
--- a/grammars/numerals/old/geez.gf
+++ /dev/null
@@ -1,121 +0,0 @@
-include numerals.Abs.gf ;
-
--- No long consonants marked in the indigen. script
--- s is set intersection s
--- h is set union h
--- H is three-fork h
--- x is hook-looking h
--- L is sin-looking s
--- X is h looking like k with a roof
--- Z is zh
--- $ is sh
--- ) is the glottal stop hamza = independent vowel in word
--- ( is 3ayn
--- Capitalis for ejectives KPTCS
--- stress not indicated in indigen. script
-
-param DForm = unit | ten ;
-param Size = sg | less100 | more100 ;
-param Ending = zero | nonzero | tenzero;
-param S100 = tenp | tenpalf | unitp ;
-param S1000 = indep | alf | tenm | tailform ;
-
-oper LinDigit = {s : DForm => Str ; size : Size} ;
-
-lincat Numeral = {s : Str} ;
-lincat Digit = LinDigit ;
-lincat Sub10 = {s : DForm => Str ; size : Size} ;
-lincat Sub100 = {s : Str ; s2 : S100 => Str ; unitp_ending : Ending ; size : Size} ;
-lincat Sub1000 = {s : S1000 => Str ; ending : Ending ; size : Size } ;
-lincat Sub1000000 = {s : Str} ;
-lin num x0 =
- {s = "/E" ++ x0.s ++ "E/"} ; -- The Ethiopic script environment
-lin n2 = mkNum "kïl)etu" "(ï$ra" ;
-lin n3 = mkNum "Lälastu" "Lälasa" ;
-lin n4 = mkNum ")ärba(tu" ")ärbï(a" ;
-lin n5 = mkNum "xämïstu" "xämsa" ;
-lin n6 = mkNum "sïdïstu" "sïssa" ;
-lin n7 = mkNum (variants { "säb(ätu" ; "säb(atu" }) "säb(a" ;
-lin n8 = mkNum (variants { "sämantu" ; "sämanitu" }) "sämanya" ;
-lin n9 = mkNum (variants { "tïs(ätu" ; "täs(ätu" ; "täsa(tu" }) (variants {"täs(a" ; "tïs(a"}) ;
-
-oper mkNum : Str -> Str -> LinDigit = \tva -> \tjugo ->
- {s = table {unit => tva ; ten => tjugo} ; size = less100 } ;
-
-lin pot01 =
- {s = table {unit => ")äHädu" ; ten => "(ä$ärtu" } ; size = sg};
-lin pot0 d = d ;
-lin pot110 = {s = "(ä$ärtu" ;
- s2 = table {tenp => "wä" ++ ")äHädu" ;
- tenpalf => ")ïlf" ;
- unitp => [] } ;
- unitp_ending = zero ;
- size = less100} ;
-lin pot111 = {s = "(ä$ärtu" ++ "wä" ++ ")äHädu" ;
- s2 = table {tenp => "wä" ++ ")äHädu" ;
- tenpalf => ")ïlf" ;
- unitp => "(ä$ärtu" } ;
- unitp_ending = nonzero ;
- size = less100} ;
-lin pot1to19 d =
- {s = "(ä$ärtu" ++ "wä" ++ d.s ! unit ;
- s2 = table {tenp => "wä" ++ ")äHädu" ;
- tenpalf => ")ïlf" ;
- unitp => d.s ! ten } ;
- unitp_ending = nonzero ;
- size = less100} ;
-lin pot0as1 n =
- {s = n.s ! unit ;
- s2 = table {unitp => n.s ! ten ; _ => [] };
- unitp_ending = nonzero ;
- size = n.size} ;
-lin pot1 d =
- {s = d.s ! ten ;
- s2 = table {tenp => "wä" ++ d.s ! unit ;
- tenpalf => d.s ! unit ++ ")ïlf" ;
- unitp => [] } ;
- unitp_ending = tenzero ;
- size = less100} ;
-lin pot1plus d e =
- {s = d.s ! ten ++ "wä" ++ e.s ! unit ;
- s2 = table {tenp => "wä" ++ d.s ! unit ;
- tenpalf => d.s ! unit ++ ")ïlf" ;
- unitp => e.s ! ten } ;
- unitp_ending = nonzero ;
- size = less100} ;
-lin pot1as2 n =
- {s = table {indep => n.s ;
- tailform => n.s ;
- tenm => n.s2 ! unitp ;
- alf => n.s2 ! tenpalf ++ n.s2 ! unitp } ;
- ending = n.unitp_ending ;
- size = n.size} ;
-lin pot2 d =
- {s = table {indep => table {sg => "mï)t" ; _ => d.s ! unit ++ "mï)t" } ! d.size ;
- tenm => "dummy" ;
- alf => d.s ! ten ++ ")ïlf" ;
- tailform => d.s ! unit ++ "mï)t" } ;
- size = more100 ;
- ending = zero} ;
-lin pot2plus d e =
- {s = table {indep => table {sg => "mï)t" ; _ => d.s ! unit ++ "mï)t" } ! d.size ++ e.s ;
- tenm => "dummy";
- alf => d.s ! ten ++ e.s2 ! tenp ++ ")ïlf" ++ e.s2 ! unitp ;
- tailform => d.s ! unit ++ "mï)t" ++ e.s} ;
- size = more100 ;
- ending = e.unitp_ending } ;
-
-lin pot2as3 n = {s = n.s ! indep } ;
-lin pot3 n =
- {s = table {more100 => mkmit n.ending (n.s ! alf) ; _ => n.s ! tenm ++ "mï)t"} ! n.size} ;
-lin pot3plus n m =
- {s = table
- {more100 => table {more100 => n.s ! alf ; less100 => n.s ! alf ; _ => n.s ! tenm} ! n.size ++
- table {zero => m.s ! indep ;
- tenzero => m.s ! indep ;
- nonzero => "wä" ++ m.s ! tailform } ! n.ending;
- _ => table {more100 => mkmit n.ending (n.s ! alf) ;
- less100 => n.s ! alf ++ table {nonzero => "mï)t" ; _ => []} ! n.ending ;
- _ => n.s ! tenm ++ "mï)t"} ! n.size ++ m.s ! indep} ! m.size } ;
-
-oper mkmit : Ending -> Str -> Str = \e -> \s -> table {zero => [] ; _ => s ++"mï)t" } ! e; \ No newline at end of file
diff --git a/grammars/numerals/old/guahibo.gf b/grammars/numerals/old/guahibo.gf
deleted file mode 100644
index d9cb69ebc..000000000
--- a/grammars/numerals/old/guahibo.gf
+++ /dev/null
@@ -1,45 +0,0 @@
-include numerals.Abs.gf ;
-
-oper bind : Str -> Str -> Str = \a -> \b -> a ++ b ;
-
-param Size = sg | pl ;
-
-oper All = {s : Str ; size : Size};
-
-lincat Digit = All ;
-lincat Sub10 = All ;
-lincat Sub100 = All ;
-lincat Sub1000 = All ;
-
-oper mkNum : Str -> All = \tri ->
- { s = tri ; size = pl};
-
-lin num x = {s = x.s } ;
-
-lin n2 = mkNum "aniha" ;
-lin n3 = mkNum "akueya" ;
-lin n4 = mkNum "yana" ;
-lin n5 = mkNum "kobe" ;
-lin n6 = mkNum "ku" ;
-lin n7 = mkNum "iwi" ;
-lin n8 = mkNum "yu" ;
-lin n9 = mkNum "ho" ;
-
-oper ss : Str -> All = \s1 -> {s = s1 ; size = pl } ;
-
-lin pot01 = { s = "kae" ; size = sg};
-lin pot0 d = d ;
-lin pot110 = ss "xu" ;
-lin pot111 = ss ("xu" + "kae") ;
-lin pot1to19 d = ss (bind "xu" d.s) ;
-lin pot0as1 n = n ;
-lin pot1 d = ss (bind d.s "bae" );
-lin pot1plus d e = ss ((bind d.s "bae") ++ e.s ) ;
-lin pot1as2 n = n ;
-lin pot2 d = ss (bind ((selsg d.s) ! d.size) "sia" ) ;
-lin pot2plus d e = ss ((bind ((selsg d.s) ! d.size) "sia") ++ e.s) ;
-lin pot2as3 n = {s = n.s };
-lin pot3 n = {s = bind ((selsg n.s) ! n.size) "sunu" } ;
-lin pot3plus n m = {s = (bind ((selsg n.s) ! n.size) "sunu") ++ m.s} ;
-
-oper selsg : Str -> Size => Str = \s -> table {sg => [] ; pl => s } ; \ No newline at end of file
diff --git a/grammars/numerals/old/guarani.gf b/grammars/numerals/old/guarani.gf
deleted file mode 100644
index 7fbfa5d9b..000000000
--- a/grammars/numerals/old/guarani.gf
+++ /dev/null
@@ -1,48 +0,0 @@
-include numerals.Abs.gf ;
-
-oper bind : Str -> Str -> Str = \a -> \b -> a ++ b ;
-
-param Size = sg | pl ;
-
-oper All = {s : Str ; s2 : Str ; size : Size};
-
-lincat Digit = All ;
-lincat Sub10 = All ;
-lincat Sub100 = {s : Str ; size : Size} ;
-lincat Sub1000 = {s : Str ; size : Size} ;
-
-oper mkNum : Str -> All = \tri ->
- { s = tri ; s2 = "kua" + tri ; size = pl};
-
-oper mkNum2 : Str -> Str -> All = \tri -> \teen ->
- { s = tri ; s2 = "kua" + teen ; size = pl};
-
-lin num x = {s = x.s } ; -- TODO
-
-lin n2 = mkNum2 "moko~i" "ko~i";
-lin n3 = mkNum2 "mpohapy" "py";
-lin n4 = mkNum2 "irundy" "rundy";
-lin n5 = mkNum "po" ;
-lin n6 = mkNum "potei~" ;
-lin n7 = mkNum "poko~i" ;
-lin n8 = mkNum "poapy" ;
-lin n9 = mkNum "porundy" ;
-
-oper ss : Str -> {s : Str ; size : Size} = \s1 -> {s = s1 ; size = pl } ;
-
-lin pot01 = { s = "petei~" ; s2 = "dummy" ; size = sg};
-lin pot0 d = d ;
-lin pot110 = ss "kua~" ;
-lin pot111 = ss ("kua" + "tei~") ;
-lin pot1to19 d = ss d.s2 ;
-lin pot0as1 n = {s = n.s ; size = n.size} ;
-lin pot1 d = ss (bind d.s "kua~" );
-lin pot1plus d e = ss ((bind d.s "kua~") ++ e.s ) ;
-lin pot1as2 n = n ;
-lin pot2 d = ss (((selsg d.s) ! d.size) ++ "sa~" ) ;
-lin pot2plus d e = ss ((((selsg d.s) ! d.size) ++ "sa~") ++ e.s) ;
-lin pot2as3 n = {s = n.s };
-lin pot3 n = {s = bind ((selsg n.s) ! n.size) "ma" } ;
-lin pot3plus n m = {s = (bind ((selsg n.s) ! n.size) "ma") ++ m.s} ;
-
-oper selsg : Str -> Size => Str = \s -> table {sg => variants {[]; "petei~"}; pl => s } ; \ No newline at end of file
diff --git a/grammars/numerals/old/hindi.gf b/grammars/numerals/old/hindi.gf
deleted file mode 100644
index 15a874f89..000000000
--- a/grammars/numerals/old/hindi.gf
+++ /dev/null
@@ -1,99 +0,0 @@
-include numerals.Abs.gf ;
-
-param DForm = unit | ten ;
-param DSize = sg | r2 | r3 | r4 | r5 | r6 | r7 | r8 | r9 ;
-param Size = sing | less100 | more100 ;
-
-oper LinDigit = {s : DForm => Str ; size : DSize} ;
-lincat Digit = LinDigit ;
-lincat Sub10 = {s : DForm => Str ; size : DSize} ;
-lincat Sub100 = {s : Str ; size : Size} ;
-lincat Sub1000 = {s : Str ; s2 : Str ; size : Size } ;
-
-lin num x0 =
- {s = "/&" ++ x0.s ++ "&/"} ; -- the Devana:gari environment
-
-
--- H is for aspiration (h is a sepaarate letter)
--- M is anusvara
--- ~ is candrabindhu
--- c is is Eng. ch in e.g chop
--- cH is chH
--- _: is length
--- T, D, R are the retroflexes
-
-oper mkNum : Str -> Str -> DSize -> LinDigit =
- \do -> \bis -> \sz ->
- {s = table {unit => do ; ten => bis } ;
- size = sz } ;
-
--- lin n1 mkNum "ek" "gya:rah" "das"
-lin n2 = mkNum "do" "bi:s" r2 ;
-lin n3 = mkNum "ti:n" "ti:s" r3 ;
-lin n4 = mkNum "ca:r" "ca:li:s" r4 ;
-lin n5 = mkNum "pa:~nc" "paca:s" r5 ;
-lin n6 = mkNum (variants {"cHah" ; "cHa;" ; "cHai"}) "sa:TH" r6 ;
-lin n7 = mkNum "sa:t" "sattar" r7;
-lin n8 = mkNum "a:TH" "assi:" r8;
-lin n9 = mkNum "nau" (variants {"navve" ; "nabbe" }) r9 ;
-
-oper mkR : Str -> Str -> Str -> Str -> Str -> Str -> Str -> Str -> Str -> DSize => Str = \a1 -> \a2 -> \a3 -> \a4 -> \a5 -> \a6 -> \a7 -> \a8 -> \a9 -> table {
- sg => a1 + "ah" ;
- r2 => a2 + "i:s" ;
- r3 => a3 + "ti:s" ;
- r4 => a4 + "a:li:s" ;
- r5 => a5 + "an" ;
- r6 => a6 + "saTH" ;
- r7 => a7 + "hattar" ;
- r8 => a8 + "a:si:" ;
- r9 => a9 + "a:nave"
-} ;
-
-oper rows : DSize => DSize => Str = table {
- sg => mkR "gya:r" "ikk" "ikat" "ekt" "ikya:v" "ik" "ik" "iky" "iky" ;
- r2 => mkR "ba:r" "ba:" "bat" "bay" "ba:v" "ba:" "ba" "bay" "b" ;
- r3 => mkR "ter" "te" "taiM" "taiMt" "tirp" "tir" "ti" "tir" "tir" ;
- r4 => mkR "caud" "caub" "cauM" "cav" "caup" "cauM" "cau" "caur" "caur" ;
- r5 => mkR "paMdr" "pacc" "paiM" "paiMt" "pacp" "paiM" "pac" "pac" "pac" ;
- r6 => mkR "sol" "cHabb" "cHat" "cHiy" "cHapp" "cHiya:" "cHi" "cHiy" "cHiy" ;
- r7 => mkR (variants { "sattr" ; "satr"}) "satta:v" "saiM" "saiMt" "satta:" "sar" "sat" (variants {"satt" ; "sat" }) "satt" ;
- r8 => mkR "aTHa:r" "aTTHa:" "aR" "aRt" "aTTHa:v" "aR" "aTH" (variants { "aTTH" ; "aTH" }) "aTTH" ;
- r9 => table {sg => "unni:s" ; r2 => "unati:s" ; r3 => "unata:li:s" ;
- r4 => "unaca:s" ; r5 => "unasaTH" ; r6 => "unahattar" ;
- r7 => (variants{"unna:si:" ; "unya:si:"}) ;
- r8 => "nava:si:" ; r9 => "ninya:nave" }
-} ;
-
-oper ss : Str -> {s : Str} = \s -> {s = s} ;
-
-lin pot01 = {s = table {unit => "ek" ; _ => "dummy" } ; size = sg} ;
-lin pot0 d = d ;
-lin pot110 = {s = "das" ; size = less100} ;
-lin pot111 = {s = rows ! sg ! sg ; size = less100} ;
-lin pot1to19 d = {s = rows ! d.size ! sg ; size = less100} ;
-lin pot0as1 n = {s = n.s ! unit ; size = table {sg => sing ; _ => less100} ! n.size } ;
-
-lin pot1 d = {s = d.s ! ten ; size = less100} ;
-lin pot1plus d e = {s = rows ! e.size ! d.size ; size = less100} ;
-
-lin pot1as2 n = {s = n.s ; s2 = "dummy" ; size = n.size } ;
-lin pot2 d = {s = (mksau (d.s ! unit) d.size) ;
- s2 = d.s ! unit ++ "la:kH" ; size = more100} ;
-lin pot2plus d e =
- {s = (mksau (d.s ! unit) d.size) ++ e.s ;
- s2 = (d.s ! unit) ++ "la:kH" ++ (mkhazar e.s e.size) ;
- size = more100} ;
-
-lin pot2as3 n = {s = n.s } ;
-lin pot3 n = {s = table { sing => ekhazar ;
- less100 => n.s ++ "haza:r" ;
- more100 => n.s2 } ! n.size} ;
-lin pot3plus n m =
- {s = table {sing => ekhazar ;
- less100 => n.s ++ "haza:r" ;
- more100 => n.s2 } ! n.size ++ m.s} ;
-
-
-oper ekhazar : Str = variants {"haza:r" ; "ek" ++ "haza:r"} ;
-oper mkhazar : Str -> Size -> Str = \s -> \sz -> table {sing => ekhazar ; _ => s ++ "haza:r"} ! sz ;
-oper mksau : Str -> DSize -> Str = \s -> \sz -> table {sg => "sau" ; _ => s ++ "sau"} ! sz ;
diff --git a/grammars/numerals/old/hungarian.gf b/grammars/numerals/old/hungarian.gf
deleted file mode 100644
index 2489fb6ef..000000000
--- a/grammars/numerals/old/hungarian.gf
+++ /dev/null
@@ -1,61 +0,0 @@
-include numerals.Abs.gf ;
-
--- by Patrik Jansson, Chalmers
-
-param DForm = ental | tiotal ;
-param Place = attr | indep ;
-lincat Numeral = {s : Str} ;
-lincat Digit = {s : (DForm*Place) => Str} ;
-lincat Sub10 = {s : (DForm*Place) => Str} ;
-lincat Sub100 = {s : Place => Str} ;
-lincat Sub1000 = {s : Place => Str} ;
-lincat Sub1000000 = {s : Str} ;
-lin num x0 =
- {s = x0.s} ;
-lin n2 =
- {s = table {<ental,indep> => "kettö" ;
- <tiotal,indep> => "húsz" ;
- <ental,attr> => "két" ;
- <tiotal, attr> => "huszon"}} ;
-lin n3 =
- {s = table {<ental,p> => "három" ; <tiotal,p> => "harminc"}} ;
-lin n4 =
- {s = table {<ental,p> => "négy" ; <tiotal,p> => "negyven"}} ;
-lin n5 =
- {s = table {<ental,p> => "öt" ; <tiotal,p> => "ötven"}} ;
-lin n6 =
- {s = table {<ental,p> => "hat" ; <tiotal,p> => "hatvan"}} ;
-lin n7 =
- {s = table {<ental,p> => "hét" ; <tiotal,p> => "hetven"}} ;
-lin n8 =
- {s = table {<ental,p> => "nyolc" ; <tiotal,p> => "nyolcvan"}} ;
-lin n9 =
- {s = table {<ental,p> => "kilenc" ; <tiotal,p> => "kilencven"}} ;
-lin pot01 =
- {s = table {<f,attr> => [] ; <f,indep> => "egy"}} ;
-lin pot0 d =
- {s = table {<f,p> => d.s ! <f,p>}} ;
-lin pot110 =
- {s = table {p => "tíz"}} ;
-lin pot111 =
- {s = table {p => "tizen" ++ "egy"}} ;
-lin pot1to19 d =
- {s = table {p => "tizen" ++ d.s ! <ental,indep>}} ;
-lin pot0as1 n =
- {s = table {p => n.s ! <ental,p>}} ;
-lin pot1 d =
- {s = table {p => d.s ! <tiotal,indep>}} ;
-lin pot1plus d e =
- {s = table {p => (d.s ! <tiotal,attr>) ++ e.s ! <ental,indep>}} ;
-lin pot1as2 n =
- {s = table {p => n.s ! p}} ;
-lin pot2 d =
- {s = table {p => (d.s ! <ental,attr>) ++ "száz"}} ;
-lin pot2plus d e =
- {s = table {p => (d.s ! <ental,attr>) ++ "száz" ++ e.s ! indep}} ;
-lin pot2as3 n =
- {s = n.s ! indep} ;
-lin pot3 n =
- {s = n.s ! attr ++ "ezer"} ;
-lin pot3plus n m =
- {s = n.s ! attr ++ "ezer" ++ m.s ! indep} ;
diff --git a/grammars/numerals/old/icelandic.gf b/grammars/numerals/old/icelandic.gf
deleted file mode 100644
index 1933f7332..000000000
--- a/grammars/numerals/old/icelandic.gf
+++ /dev/null
@@ -1,51 +0,0 @@
-include numerals.Abs.gf ;
-
-param DForm = unit | teen | ten | neuter ;
-param Gen = com | neut ;
-param Size = sg | less10 | pl ;
-
-oper LinDigit = {s : DForm => Str} ;
-
-lincat Digit = LinDigit ;
-lincat Sub10 = {s : DForm => Str ; size : Size} ;
-lincat Sub100 = {s : Gen => Str ; size : Size} ;
-lincat Sub1000 = {s : Gen => Str ; size : Size} ;
-
-oper mkNum : Str -> Str -> Str -> Str -> LinDigit =
- \two -> \twelve -> \twenty -> \tvo ->
- {s = table {unit => two ; teen => twelve ; ten => twenty ; neuter => tvo}} ;
-oper regNum : Str -> LinDigit =
- \fimm -> mkNum fimm (fimm + "tán") (fimm + "tíu") fimm;
-
-oper ss : Str -> {s : Gen => Str ; size : Size} = \s -> {s = table {_ => s } ; size = pl};
-
-lin num x = x ;
-lin n2 = mkNum "tveir" "tólf" "tuttugu" "tvö" ;
-lin n3 = mkNum "Þrír" "Þréttán" "Þrjátíu" "Þrjú" ;
-lin n4 = mkNum "fjórir" "fjórtán" "fjörutíu" "fjögur";
-lin n5 = regNum "fimm" ;
-lin n6 = regNum "sex" ;
-lin n7 = mkNum "sjö" "sautján" "sjötíu" "sjö" ;
-lin n8 = mkNum "átta" "átján" "áttíu" "átta" ;
-lin n9 = mkNum "níu" "nítján" "níutíu" "níu" ;
-
-lin pot01 = {s = table {f => "einn"} ; size = sg } ;
-lin pot0 d = {s = d.s ; size = less10 } ;
-lin pot110 = ss "tíu" ;
-lin pot111 = ss "ellefu" ;
-lin pot1to19 d = ss (d.s ! teen) ;
-lin pot0as1 n = {s = table {com => n.s ! unit ; neut => n.s ! neuter } ; size = n.size } ;
-lin pot1 d = {s = table {_ => d.s ! ten } ; size = pl};
-lin pot1plus d e = {s = table {com => d.s ! ten ++ "og" ++ e.s ! unit ;
- neut => d.s ! ten ++ "og" ++ e.s ! neuter} ; size = pl} ;
-lin pot1as2 n = n ;
-lin pot2 d = {s = table {_ => omitsg (d.s ! neuter) d.size ++ "hundrað" } ; size = pl} ;
-lin pot2plus d e = {s = table {f => omitsg (d.s ! neuter) d.size ++ "hundrað" ++ (maybeog) e.size ++ e.s ! f} ; size = pl} ;
-
-lin pot2as3 n = {s = n.s ! com } ;
-lin pot3 n = {s = omitsg (n.s ! neut) n.size ++ "Þúsund"} ;
-lin pot3plus n m = {s = omitsg (n.s ! neut) n.size ++ "Þúsund" ++ (maybeog m.size) ++ m.s ! com} ;
-
-
-oper maybeog : Size -> Str = \sz -> table {pl => [] ; _ => "og" } ! sz ;
-oper omitsg : Str -> Size -> Str = \s -> \sz -> table {sg => [] ; _ => s } ! sz ; \ No newline at end of file
diff --git a/grammars/numerals/old/irish.gf b/grammars/numerals/old/irish.gf
deleted file mode 100644
index 71e44a783..000000000
--- a/grammars/numerals/old/irish.gf
+++ /dev/null
@@ -1,79 +0,0 @@
-include numerals.Abs.gf ;
-
--- Not the archaic base-10 system fiche, triocha, daichead, caoga, seasca, seachtó, ochtó, nócha
--- scór can be used in place of fiche but is not implemented (since it's much less preferred)
-
-oper LinDigit = {s : DForm => Str ; even20 : Even20 ; size : Size} ;
-oper mk20Ten : Str -> Str -> Size -> LinDigit =
- \tri -> \fiche -> \thesize ->
- { s = table {unit => tri ; twenty => fiche ; teen => tri ++ "déag" ; attrib => tri} ; even20 = ten ; size = thesize} ;
-
-oper mkEven20 : Str -> Str -> Size -> LinDigit =
- \se -> \trifichid -> \thesize ->
- { s = table {unit => se ; twenty => trifichid ; teen => se ++ "déag" ; attrib => se} ; even20 = even ; size = thesize} ;
-
-param HForm = attr | indep ;
-param Even20 = ten | even ;
-param DForm = unit | twenty | teen | attrib ;
-param Size = sg | onetosix | seventonine | tenover | eventen ;
-
-lincat Numeral = {s : Str} ;
-lincat Digit = LinDigit ;
-lincat Sub10 = LinDigit ;
-lincat Sub100 = {s : HForm => Str ; size : Size} ;
-lincat Sub1000 = {s : HForm => Str ; size : Size } ;
-lincat Sub1000000 = {s : Str} ;
-lin num x0 =
- {s = x0.s} ;
-lin n2 =
- {s = table {unit => "dó" ; twenty => "fiche" ; attrib => "dhá" ; teen => "dó" ++ "dhéag" } ; even20 = even ; size = onetosix } ;
-lin n3 = mk20Ten "trí" "fiche" onetosix ;
-lin n4 =
- {s = table {unit => "ceathair" ; twenty => "dhá" ++ "fhichead" ; teen => "dó" ++ "dhéag" ; attrib => "ceithre" } ; even20 = even ; size = onetosix} ;
-lin n5 = mk20Ten "cúig" ("dhá" ++ "fhichead") onetosix ;
-lin n6 = mkEven20 "sé" ("trí" ++ "fichid") onetosix ;
-lin n7 = mk20Ten "seacht" ("trí" ++ "fichid") seventonine ;
-lin n8 = mkEven20 "hocht" ("cheithre" ++ "fichid") seventonine ;
-lin n9 = mk20Ten "naoi" ("cheithre" ++ "fichid") seventonine ;
-
-lin pot01 =
- {s = table {unit => "haon" ; attrib => [] ; _ => "dummy"} ; even20 = ten ; size = sg};
-lin pot0 d =
- {s = d.s ; even20 = d.even20 ; size = d.size} ;
-lin pot110 =
- {s = table {attr => "deich" ; indep => "a" ++ "deich"} ; size = tenover} ;
-lin pot111 =
- {s = table {attr => "haon" ++ "déag" ; indep => "a" ++ "haon" ++ "déag"} ; size = tenover} ;
-lin pot1to19 d =
- {s = table {attr => d.s ! teen ; indep => "a" ++ d.s ! teen } ; size = tenover} ;
-lin pot0as1 n =
- {s = table {attr => n.s ! attrib ; indep => "a" ++ n.s ! unit} ; size = n.size} ;
-lin pot1 d =
- {s = table {attr => d.s ! twenty ++ AddDeich ! (d.even20) ;
- indep => d.s ! twenty ++ AddADeich ! (d.even20)} ;
- size = eventen} ;
-lin pot1plus d e =
- {s = table {attr => (d.s ! twenty) ++ e.s ! unit ++
- table {ten => "déag" ; _ => []} ! (d.even20) ;
- indep => (d.s ! twenty) ++ "a" ++ e.s ! unit ++
- table {ten => "déag" ; _ => []} ! (d.even20)} ;
- size = e.size} ;
-lin pot1as2 n =
- {s = table {attr => n.s ! attr ; indep => n.s ! indep} ; size = n.size} ;
-lin pot2 d =
- {s = table {_ => d.s ! attrib ++ EclipseLeniteCead ! d.size} ; size = tenover} ;
-lin pot2plus d e =
- {s = table {_ => d.s ! attrib ++ EclipseLeniteCead ! d.size ++ AddIs ! e.size ++ e.s ! indep} ; size = e.size} ;
-lin pot2as3 n =
- {s = n.s ! indep} ;
-lin pot3 n =
- {s = n.s ! attr ++ LeniteMile ! n.size} ;
-lin pot3plus n m =
- {s = n.s ! attr ++ LeniteMile ! n.size ++ m.s ! indep} ;
-
-oper AddDeich : Even20 => Str = table {ten => "deich" ; _ => []} ;
-oper AddADeich : Even20 => Str = table {ten => "a" ++ "deich" ; _ => []} ;
-oper AddIs : Size => Str = table {eventen => "is" ; _ => []} ;
-oper EclipseLeniteCead : Size => Str = table {onetosix => "chead" ; seventonine => "gcéad" ; _ => "céad" } ;
-oper LeniteMile : Size => Str = table {onetosix => "mhíle" ; _ => "míle" } ;
-
diff --git a/grammars/numerals/old/italian.gf b/grammars/numerals/old/italian.gf
deleted file mode 100644
index 29e15cd7b..000000000
--- a/grammars/numerals/old/italian.gf
+++ /dev/null
@@ -1,45 +0,0 @@
-include numerals.Abs.gf ;
-
-param DForm = ental Pred | ton | tiotal ;
-param Num = sg | pl ;
-param Pred = pred | indip ;
-
-lincat Digit = {s : DForm => Str} ;
-lincat Sub10 = {s : DForm => Str ; n : Num} ;
-lincat Sub100 = {s : Str ; n : Num} ;
-lincat Sub1000 = {s : Str ; n : Num} ;
-lincat Sub1000000 = {s : Str} ;
-
-oper mkTal : Str -> Str -> Str -> Lin Digit =
- \två -> \tolv -> \tjugo ->
- {s = table {ental _ => två ; ton => tolv ; tiotal => tjugo}} ;
-oper ss : Str -> {s : Str} = \s -> {s = s} ;
-oper spl : Str -> {s : Str ; n : Num} = \s -> {s = s ; n = pl} ;
-oper mille : Num => Str = table {sg => "mille" ; pl => "mila"} ;
-
-lin num x = x ;
-
-lin n2 = mkTal "due" "dodici" "venti" ;
-lin n3 = mkTal "tre" "tredici" "trenta" ;
-lin n4 = mkTal "quattro" "quattordici" "quaranta" ;
-lin n5 = mkTal "cinque" "quindici" "cinquanta" ;
-lin n6 = mkTal "sei" "sedici" "sessanta" ;
-lin n7 = mkTal "sette" "diciassette" "settanta" ;
-lin n8 = mkTal "otto" "diciotto" "ottanta" ;
-lin n9 = mkTal "nove" "diciannove" "novanta" ;
-
-lin pot01 = {s = table {ental pred => [] ; _ => "uno"} ; n = sg} ;
-lin pot0 d = {s = table {f => d.s ! f} ; n = pl} ;
-lin pot110 = spl "dieci" ;
-lin pot111 = spl "undici" ;
-lin pot1to19 d = spl (d.s ! ton) ;
-lin pot0as1 n = {s = n.s ! ental indip ; n = n.n} ;
-lin pot1 d = spl (d.s ! tiotal) ;
-lin pot1plus d e = spl (d.s ! tiotal ++ e.s ! ental indip) ;
-lin pot1as2 n = {s = n.s ; n = n.n} ;
-lin pot2 d = spl (d.s ! ental pred ++ "cento") ;
-lin pot2plus d e = spl (d.s ! ental pred ++ "cento" ++ e.s) ;
-lin pot2as3 n = {s = n.s ; n = n.n} ;
-lin pot3 n = ss (n.s ++ mille ! n.n) ;
-lin pot3plus n m = ss (n.s ++ mille ! n.n ++ m.s) ;
-
diff --git a/grammars/numerals/old/japanese.gf b/grammars/numerals/old/japanese.gf
deleted file mode 100644
index 6cd55a576..000000000
--- a/grammars/numerals/old/japanese.gf
+++ /dev/null
@@ -1,59 +0,0 @@
-include numerals.Abs.gf ;
-
-param DForm = unit | attr | ten | hundred | thousand ;
-param Size = sg | pl | more10 ;
-param S100 = tenp | senp ;
-param S1000 = indep | man | sen;
-
--- Standard Romajii
--- Everything should be glued
-
-lincat Numeral = {s : Str} ;
-oper LinDigit = {s : DForm => Str ; size : Size } ;
-lincat Digit = LinDigit ;
-lincat Sub10 = LinDigit ;
-lincat Sub100 = {s : Str ; s2 : S100 => Str; size : Size} ;
-lincat Sub1000 = {s : S1000 => Str ; size : Size } ;
-lincat Sub1000000 = {s : Str} ;
-lin num x0 =
- {s = "/J" ++ x0.s ++ "J/"} ;
-
-oper mkNum : Str -> LinDigit = \base ->
- {s = table {unit => base ; attr => base ; ten => base + "juu" ; hundred => base + "hyaku" ; thousand => base + "sen" } ; size = pl} ;
-
-oper mkNum4 : Str -> Str -> Str -> Str -> LinDigit = \ni -> \base -> \nihyaku -> \nisen ->
- {s = table {unit => ni ; attr => base ; ten => base + "juu" ; hundred => nihyaku ; thousand => nisen } ; size = pl} ;
-
-oper mkNum2 : Str -> Str -> LinDigit = \yon -> \base ->
- {s = table {unit => yon ; attr => base ; ten => base + "juu" ; hundred => base + "hyaku" ; thousand => base + "sen" } ; size = pl} ;
-
--- lin n1 = mkNum "ichi" ;
-lin n2 = mkNum "ni" ;
-lin n3 = mkNum4 "san" "san" "sanbyaku" "sanzen" ;
-lin n4 = mkNum2 (variants { "shi" ; "yon" }) "yon" ;
-lin n5 = mkNum "go" ;
-lin n6 = mkNum4 "roku" "roku" "roppyaku" "rokusen" ;
-lin n7 = mkNum2 (variants {"nana" ; "shichi" }) "nana" ;
-lin n8 = mkNum4 "hachi" "hachi" "happyaku" "hassen" ;
-lin n9 = mkNum2 (variants {"kyuu" ; "ku" }) "kyuu" ;
-
-lin pot01 =
- {s = table {unit => "ichi" ; attr => [] ; ten => "juu" ; hundred => "hyaku" ; thousand => "sen"} ; size = sg };
-lin pot0 d = d ;
-lin pot110 = {s = "juu" ; s2 = table {tenp => "ichi" + "man" ; senp => []} ; size = more10} ;
-lin pot111 = {s = "juu" + "ichi" ; s2 = table {tenp => "ichi" + "man" ; senp => "sen"} ; size = more10} ;
-lin pot1to19 d = {s = "juu" ++ d.s ! unit ; s2 = table {tenp => "ichi" + "man" ; senp => d.s ! thousand} ; size = more10} ;
-lin pot0as1 n = {s = n.s ! unit ; s2 = table {tenp => [] ; senp => n.s ! thousand} ; size = n.size} ;
-lin pot1 d = {s = d.s ! ten ; s2 = table {tenp => d.s ! unit ++ "man" ; senp => []} ; size = more10} ;
-lin pot1plus d e =
- {s = d.s ! ten ++ e.s ! unit ;
- s2 = table {tenp => d.s ! unit ++ "man" ; senp => e.s ! thousand} ;
- size = more10} ;
-
-lin pot1as2 n = {s = table {indep => n.s ; man => n.s2 ! tenp ++ n.s2 ! senp ; sen => n.s2 ! senp} ; size = n.size} ;
-lin pot2 d = {s = table {indep => d.s ! hundred ; man => d.s ! ten ++ "man" ; sen => "dummy"} ; size = more10 };
-lin pot2plus d e = {s = table {indep => d.s ! hundred ++ e.s ; man => d.s ! ten ++ e.s2 ! tenp ++ e.s2 ! senp ; sen => "dummy" } ; size = more10 };
-lin pot2as3 n = {s = n.s ! indep } ;
-lin pot3 n = {s = table {more10 => n.s ! man ; _ => n.s ! sen} ! n.size} ;
-lin pot3plus n m = {s = table {more10 => n.s ! man ; _ => n.s ! sen} ! n.size ++ m.s ! indep} ;
-
diff --git a/grammars/numerals/old/kabardian.gf b/grammars/numerals/old/kabardian.gf
deleted file mode 100644
index e6716ca93..000000000
--- a/grammars/numerals/old/kabardian.gf
+++ /dev/null
@@ -1,79 +0,0 @@
--- Kabardian
-
--- W is superscript w (= IPA labialisation)
--- & is schwa upside down e
--- s'
--- L is lambda
--- L is lambda with dash across
--- x^ is x with ^ ontop
--- G is gamma
-
-include numerals.Abs.gf ;
-
-param DForm = unit | unite | unitra | teen | ten | tenra | hund | thou;
-
-oper LinDigit = {s : DForm => Str };
-oper LinS100 = {s : Str; s2 : Str } ;
-lincat Digit = LinDigit ;
-lincat Sub10 = LinDigit ;
-lincat Sub100 = LinS100 ;
-lincat Sub1000 = LinS100 ;
-
-oper mkNum : Str -> LinDigit = \dwa ->
- {s = table {unit => dwa ; unite => dwa + "&" ; unitra => dwa + "&ra" ;
- ten => dwa + "&s'" ; tenra => dwa + "&s'ra" ;
- teen => "p's''&" + "k'W&" + dwa ;
- hund => "s'a" + "&y" + dwa ;
- thou => variants {"m&yn"+"&y"+dwa ; dwa+"a"+"s''a"++"m&yn"}}};
-
-oper mkNum2 : Str -> LinDigit = \dwa ->
- {s = table {unit => dwa ; unite => dwa + "&" ; unitra => dwa + "&ra" ;
- ten => dwa + "as'" ; tenra => dwa + "as'ra" ;
- teen => "p's''&"+"k'W&"+"t'" ;
- hund => "s'a" + "&y" + "t'" ;
- thou => variants {"m&yn"+"&y"+"t'" ; dwa+"a"+"s''a"++"m&yn"}}};
-
-oper mkNum3 : Str -> LinDigit = \dwa ->
- {s = table {unit => dwa ; unite => dwa + "&" ; unitra => dwa + "&ra" ;
- ten => dwa + "as'" ; tenra => dwa + "as'ra" ;
- teen => "p's''&"+"k'W&"+dwa ;
- hund => "s'a" + "&y" + dwa ;
- thou => variants {"m&yn"+"&y"+dwa ; dwa+"a"+"s''a"++"m&yn"}}};
-
-lin num x = {s = x.s } ; -- TODO ;
-
-lin n2 = mkNum2 "t'?W" ;
-lin n3 = mkNum3 "s'" ;
-lin n4 = mkNum "p'L-'" ;
-lin n5 = mkNum "tx^W" ;
-lin n6 = mkNum "x^";
-lin n7 = mkNum "bL" ;
-lin n8 = mkNum "y" ;
-lin n9 = mkNum "bGW" ;
-
-oper bind : Str -> Str -> Str = \s1 -> \s2 -> s1 ++ s2 ;
-
-lin pot01 =
- {s = table {unit => "z" ; unite => "z&" ; unitra => "z&" + "ra" ;
- teen => "p's''&"+"k'W&"+"z" ; ten => "dummy" ; tenra => "dummy" ;
- hund => "s'a" ; thou => "m&yn"}};
-
-oper ss : Str -> LinS100 = \f ->
- {s = f ; s2 = variants {("m&yn"+"&y") ++ f ; (bind f "as'a") ++ "m&yn"}};
-
-lin pot0 d = d ;
-lin pot110 =
- {s = "p's''&" ;
- s2 = variants {"m&yn"+"&y"+"p's''" ; "p's''"+"a"+"s''a"++"m&yn"}};
-lin pot111 = ss ("p's''&"+"k'W&"+"z") ;
-lin pot1to19 d = ss (d.s ! teen) ;
-lin pot0as1 n = {s = n.s ! unite ; s2 = n.s ! thou } ;
-lin pot1 d = ss (variants {(d.s ! ten) ; (d.s ! unite) ++ "p's''&wa"}) ;
- -- extra variant p's''ay = 80
-lin pot1plus d e = ss ((d.s ! tenra) ++ (e.s ! unitra)) ;
-lin pot1as2 n = n ;
-lin pot2 d = ss (d.s ! hund) ;
-lin pot2plus d e = ss ((d.s ! hund) ++ e.s) ;
-lin pot2as3 n = {s = n.s } ;
-lin pot3 n = {s = n.s2} ;
-lin pot3plus n m = {s = n.s2 ++ m.s} ;
diff --git a/grammars/numerals/old/kambera.gf b/grammars/numerals/old/kambera.gf
deleted file mode 100644
index c42921b19..000000000
--- a/grammars/numerals/old/kambera.gf
+++ /dev/null
@@ -1,47 +0,0 @@
-include numerals.Abs.gf ;
-
-param Size = sg | two | pl ;
-
-oper Form = {s : Str ; size : Size} ;
-
-lincat Digit = Form ;
-lincat Sub10 = Form ;
-lincat Sub100 = Form ;
-lincat Sub1000 = Form ;
-
-oper mkNum : Str -> Form = \two ->
- {s = two ; size = pl} ;
-
-lin num x = x ;
--- lin n1 mkNum "diha" ;
-lin n2 = {s = "dua" ; size = two} ;
-lin n3 = mkNum "tailu" ;
-lin n4 = mkNum "patu" ;
-lin n5 = mkNum "lima" ;
-lin n6 = mkNum "nomu" ;
-lin n7 = mkNum "pitu" ;
-lin n8 = mkNum "walu" ;
-lin n9 = mkNum "hiwa" ;
-
-oper ss : Str -> {s : Str ; size : Size} = \s1 -> {s = s1 ; size = pl} ;
-
-lin pot01 = {s = "diha" ; size = sg} ;
-lin pot0 d = d ;
-lin pot110 = ss "hakambulu" ;
-lin pot111 = ss ("hakambulu" ++ "hau") ;
-lin pot1to19 d = ss ("hakambulu" ++ (if12 d.size d.s)) ;
-lin pot0as1 n = n ;
-lin pot1 d = ss (d.s ++ "kambulu" ) ;
-lin pot1plus d e = ss (d.s ++ "kambulu" ++ (if12 e.size e.s)) ;
-lin pot1as2 n = n ;
-lin pot2 d = ss (selsg d.size "hangahu" (d.s ++ "ngahu")) ;
-lin pot2plus d e = ss (selsg d.size "hangahu" (d.s ++ "ngahu") ++ e.s) ;
-lin pot2as3 n = {s = n.s };
-lin pot3 n = {s = (selsg n.size "hariu" (n.s ++ "riu"))} ;
-lin pot3plus n m = {s = (selsg n.size "hariu" (n.s ++ "riu")) ++ m.s } ;
-
-oper if12 : Size -> Str -> Str = \sz -> \a ->
- table {sg => "hau" ; two => "dambu" ; _ => a} ! sz ;
-oper selsg : Size -> Str -> Str -> Str = \sz -> \a -> \b ->
- table {sg => a ; _ => b} ! sz ;
-
diff --git a/grammars/numerals/old/kawaiisu.gf b/grammars/numerals/old/kawaiisu.gf
deleted file mode 100644
index 5e45a4eb6..000000000
--- a/grammars/numerals/old/kawaiisu.gf
+++ /dev/null
@@ -1,41 +0,0 @@
-include numerals.Abs.gf ;
-
-oper bind : Str -> Str -> Str = \a -> \b -> a ++ b ;
-oper na : {s : Str } = {s = "N/A" } ;
-
-oper LinDigit = {s : Str ; s2 : Str ; s3 : Str} ;
-
-lincat Numeral = {s : Str} ;
-lincat Digit = LinDigit ;
-lincat Sub10 = LinDigit ;
-lincat Sub100 = {s : Str } ;
-lincat Sub1000 = {s : Str } ;
-lincat Sub1000000 = {s : Str} ;
-lin num x0 =
- {s = x0.s} ; -- TODO
-
-oper mkNum : Str -> LinDigit = \s1 -> {s = s1 ; s2 = s1 + "yu" ; s3 = s1 + "suu"} ;
-oper mkNum2 : Str -> LinDigit = \s1 -> {s = s1 ; s2 = s1 + "yu" ; s3 = s1 + "cuu"} ;
-lin n2 = mkNum "waha" ;
-lin n3 = mkNum "pehe" ;
-lin n4 = mkNum "wacuu" ;
-lin n5 = mkNum2 "mani-gi" ;
-lin n6 = mkNum2 "navaha" ;
-lin n7 = {s = "no?mi-zi" ; s2 = "no?mi-zi" ; s3 = "no?mi-zicuu" };
-lin n8 = {s = "nanawacuu" ; s2 = "nanawacuu"; s3 = "nanawacuucuu" };
-lin n9 = mkNum2 "sukumi-su" ;
-
-lin pot01 = mkNum "suu" ;
-lin pot0 d = d ;
-lin pot110 = {s = "mi-mi-suuyu" } ;
-lin pot111 = {s = "mi-mi-susuuyu" } ;
-lin pot1to19 d = {s = bind "mi-mi-susuu" d.s2 } ;
-lin pot0as1 n = {s = n.s } ;
-lin pot1 d = {s = bind d.s3 "yu"} ;
-lin pot1plus d e = {s = bind d.s3 e.s2 } ;
-lin pot1as2 n = n ;
-lin pot2 d = na ;
-lin pot2plus d e = na ;
-lin pot2as3 n = n ;
-lin pot3 n = na ;
-lin pot3plus n m = na ;
diff --git a/grammars/numerals/old/khmer.gf b/grammars/numerals/old/khmer.gf
deleted file mode 100644
index 7c4fb1051..000000000
--- a/grammars/numerals/old/khmer.gf
+++ /dev/null
@@ -1,50 +0,0 @@
-include numerals.Abs.gf ;
-
-param DForm = unit | ten ;
-param Size = sg | pl ;
-
-oper LinDigit = {s : DForm => Str ; size : Size} ;
-
-lincat Digit = LinDigit ;
-lincat Sub10 = LinDigit ;
-lincat Sub100 = {s : Str ; s2 : Str ; size : Size} ;
-lincat Sub1000 = {s : Str ; s2 : Str ; size : Size} ;
-
-oper mkNum : Str -> Str -> LinDigit = \u -> \t -> {s = table {unit => u ; ten => t} ; size = pl} ;
-
-lin n2 = mkNum "bi:ra" "mbhai" ;
-lin n3 = mkNum "pi:" ("sa:ma" ++ "sipa") ;
-lin n4 = mkNum "pwna" ("se:" ++ "sipa") ;
-lin n5 = mkNum "pra:m." ("ha:" ++ "sipa") ;
-lin n6 = mkNum ("pra:m." ++ "mwya") ("huka" ++ "sipa") ;
-lin n7 = mkNum ("pra:m." ++ "bi:ra") ("cita" ++ "sipa") ;
-lin n8 = mkNum ("pra:m." ++ "pi:") ("pe:ta" ++ "sipa") ;
-lin n9 = mkNum ("pra:m." ++ "pwna") ("kau" ++ "sipa") ;
-
-oper bana : Str = variants {"mwya" ++ "ba:'na" ; "mpa:'na"} ;
-
-lin num x = {s = "/X" ++ x.s ++ "X/"} ; -- for the diacritics
-
-lin pot01 = {s = table { _ => "mwya" } ; size = sg } ;
-lin pot0 d = d ;
-lin pot110 = {s = "t.a'pa" ; s2 = "hmi-na" ; size = pl} ;
-lin pot111 = {s = "mwya" ++ "t.an.ta'pa" ; s2 = "hmi-na" ++ bana; size = pl} ;
-lin pot1to19 d = {s = (d.s ! unit) ++ "t.an.ta'pa" ; s2 = "hmi-na" ++ (d.s ! unit) ++ "ba:'na" ; size = pl } ;
-lin pot0as1 n = {s = n.s ! unit ; s2 = xsg n.size bana (n.s ! unit ++ "ba:'na") ; size = n.size} ;
-lin pot1 d = {s = d.s ! ten ; s2 = d.s ! unit ++ "hmi-na" ; size = pl} ;
-lin pot1plus d e = {s = d.s ! ten ++ e.s ! unit ; s2 = d.s ! unit ++ "hmi-na" ++ xsg e.size bana (e.s ! unit ++ "ba:'na") ; size = pl} ;
-lin pot1as2 n = n ;
-lin pot2 d = {s = xsg d.size (variants {"raya" ; "mraya"}) (d.s ! unit ++ "raya") ;
- s2 = (d.s ! unit) ++ "se:na" ;
- size = pl } ;
-lin pot2plus d e = {s = xsg d.size (variants {"raya" ; "mraya"}) (d.s ! unit ++ "raya") ++ e.s ;
- s2 = (d.s ! unit) ++ "se:na" ++ e.s2 ;
- size = pl} ;
-lin pot2as3 n = {s = n.s} ;
-lin pot3 n = {s = n.s2 } ;
-lin pot3plus n m = {s = n.s2 ++ m.s } ;
-
-oper xsg : Size -> Str -> Str -> Str = \sz -> \s1 -> \s2 -> table {sg => s1 ; _ => s2} ! sz ;
-
-
-
diff --git a/grammars/numerals/old/khowar.gf b/grammars/numerals/old/khowar.gf
deleted file mode 100644
index 7bb890a75..000000000
--- a/grammars/numerals/old/khowar.gf
+++ /dev/null
@@ -1,57 +0,0 @@
-include numerals.Abs.gf ;
-
--- 2 has a non-general variant "joowáloo" ;
-
-param DForm = unit | ten S100 | teen ;
-param Size = sg | pl | more100;
-param Par20 = even | odd ;
-param S100 = attr | preceded ;
-param S1000 = indep | dep | lakh ;
-
-oper LinDigit = {s : DForm => Str ; size : Size ; par20 : Par20} ;
-
-lincat Numeral = {s : Str} ;
-lincat Digit = LinDigit ;
-lincat Sub10 = LinDigit ;
-lincat Sub100 = {s : S100 => Str ; size : Size} ;
-lincat Sub1000 = {s : S1000 => Str ; size : Size } ;
-lincat Sub1000000 = {s : Str} ;
-lin num x0 =
- {s = "/L" ++ x0.s ++ "L/"} ; -- Latin A Supplement
-
-oper mkNum : Str -> Str -> Par20 -> LinDigit = \s -> \tw -> \p20 ->
- {s = table {unit => s ; teen => "jo.sh" + "-" + s ; ten _ => tw ++ "bîsher"} ; size = pl ; par20 = p20} ;
-
--- lin n1 = mkNum variants {"î" ; "îwáloo"} ;
-lin n2 =
- {s = table {unit => "joo" ; teen => "jo.sh" + "-" + "joo" ; ten attr => "bîsher" ; ten preceded => "î" ++ "bîsher" } ; size = pl ; par20 = even };
-lin n3 =
- {s = table {unit => "troi" ; teen => "jo.sh" + "-" + "troi" ; ten attr => "bîsher" ; ten preceded => "î" ++ "bîsher" } ; size = pl ; par20 = odd };
-lin n4 = mkNum "cho.r" "joo" even ;
-lin n5 = mkNum "po.nj" "joo" odd ;
-lin n6 = mkNum "chöi" "troi" even ;
-lin n7 = mkNum "so.t" "troi" odd ;
-lin n8 = mkNum "o.sht" "chöi" even ;
-lin n9 = mkNum "nyun" "chöi" odd ;
-
-lin pot01 =
- {s = table {unit => "î" ; _ => "dummy" } ; size = sg ; par20 = odd};
-lin pot0 d = d ;
-lin pot110 = {s = table {_ => "jo.sh" } ; size = pl} ;
-lin pot111 = {s = table {_ => "jo.sh" + "-" + "î" } ; size = pl} ;
-lin pot1to19 d = {s = table {_ => d.s ! teen }; size = pl} ;
-lin pot0as1 n = {s = table {_ => n.s ! unit } ; size = n.size} ;
-lin pot1 d = {s = table {f => table {even => d.s ! ten f ; odd => d.s ! ten f ++ "jo.sh" } ! d.par20 } ; size = pl} ;
-lin pot1plus d e = {s = table {f => table {even => d.s ! ten f ++ e.s ! unit ; odd => d.s ! ten f ++ e.s ! teen } ! d.par20 }; size = pl} ;
-lin pot1as2 n = {s = table {indep => n.s ! attr ; dep => n.s ! preceded ; lakh => "dummy"} ; size = n.size} ;
-lin pot2 d =
- {s = table {lakh => table {sg => "lakh" ; _ => d.s ! unit ++ "lakh"} ! d.size ;
- _ => table {sg => "sho.r" ; _ => d.s ! unit ++ "sho.r" } ! d.size } ;
- size = more100 };
-lin pot2plus d e =
- {s = table {lakh => table {sg => "lakh" ; _ => d.s ! unit ++ "lakh"} ! d.size ++ table {sg => [] ; _ => e.s ! preceded } ! e.size ++ "hazâr" ;
- _ => table {sg => "sho.r" ; _ => d.s ! unit ++ "sho.r" } ! d.size ++ "oché" ++ e.s ! preceded } ;
- size = more100} ;
-lin pot2as3 n = {s = table {sg => [] ++ variants {"î" ; "îwáloo"} ; _ => n.s ! indep} ! n.size } ;
-lin pot3 n = {s = table {pl => n.s ! indep ++ "hazâr" ; sg => "hazâr" ; more100 => n.s ! lakh} ! n.size} ;
-lin pot3plus n m = {s = table {pl => n.s ! indep ++ "hazâr" ; sg => "hazâr" ; more100 => n.s ! lakh} ! n.size ++ m.s ! dep} ;
diff --git a/grammars/numerals/old/kolyma_yukaghir.gf b/grammars/numerals/old/kolyma_yukaghir.gf
deleted file mode 100644
index b7cade9af..000000000
--- a/grammars/numerals/old/kolyma_yukaghir.gf
+++ /dev/null
@@ -1,45 +0,0 @@
-include numerals.Abs.gf ;
-
-oper na = {s = "N/A" };
-
-param DForm = u | teen ;
-
-oper LinDigit = {s : DForm => Str } ;
-
-lincat Digit = LinDigit ;
-lincat Sub10 = LinDigit ;
-lincat Sub100 = {s : Str } ;
-lincat Sub1000 = {s : Str } ;
-
-oper bind : Str -> Str -> Str = \a -> \b -> a ++ b ;
-
-oper mkNum : Str -> LinDigit = \a ->
- {s = table {u => a ; teen => "kun'il" ++ a ++ "budie"}} ;
-oper mkNum2 : Str -> Str -> LinDigit = \a -> \b ->
- {s = table {u => a ; teen => b ++ "budie"}} ;
-
-lin num x = x ;
--- lin n1 mkNum "irkin" ;
-lin n2 = mkNum2 "ataqun" ("kun" ++ "ataqun") ;
-lin n3 = mkNum2 "ja:n" ("kun'il" ++ "ja:l");
-lin n4 = mkNum "ilekun" ;
-lin n5 = mkNum "n'ahanbo:d'e" ;
-lin n6 = mkNum "malha:n" ;
-lin n7 = mkNum "purki:n" ;
-lin n8 = mkNum "malhi:lek" ;
-lin n9 = mkNum "kunirkil'd'o:j" ;
-
-lin pot01 = mkNum2 "irkin" ("kun" ++ "irku");
-lin pot0 d = d ;
-lin pot110 = {s = "kun'in"};
-lin pot111 = {s = ("kun" ++ "irkubudie")} ;
-lin pot1to19 d = {s = d.s ! teen} ;
-lin pot0as1 n = {s = n.s ! u} ;
-lin pot1 d = {s = d.s ! u ++ "kun'el"} ;
-lin pot1plus d e = {s = d.s ! u ++ "kun'el" ++ e.s ! u};
-lin pot1as2 n = n ;
-lin pot2 d = {s = "kun'in" ++ "kun'in" ++ d.s ! u ++ "budie"} ;
-lin pot2plus d e = {s = "kun'in" ++ "kun'in" ++ d.s ! u ++ "budie" ++ e.s } ;
-lin pot2as3 n = n ;
-lin pot3 n = na ;
-lin pot3plus n m = na ;
diff --git a/grammars/numerals/old/korean.gf b/grammars/numerals/old/korean.gf
deleted file mode 100644
index fa804ed58..000000000
--- a/grammars/numerals/old/korean.gf
+++ /dev/null
@@ -1,109 +0,0 @@
-include numerals.Abs.gf ;
-
-param DForm = unit | teen | ten | tenq | chi | chiten ;
-param Size = sg | twotoeight | nine | exten | more10 ;
-param S100 = tenpart | chenpart ;
-
--- Korean
--- Sorry, no hangul transliteration
-
-lincat Numeral = {s : Str} ;
-oper LinDigit = {s : DForm => Str ; size : Size } ;
-lincat Digit = LinDigit ;
-lincat Sub10 = LinDigit ;
-lincat Sub100 = {s : Str ; s2 : S100 => Str; size : Size} ;
-lincat Sub1000 = {s : Str ; s2 : Str ; size : Size } ;
-lincat Sub1000000 = {s : Str} ;
-lin num x0 =
- {s = "/L" ++ x0.s ++ "L/" } ; -- just makes colons into length bar ontop of char
-
-oper mkNumq : Str -> Str -> Str -> Str -> LinDigit =
- \twul -> \yelqtwul -> \sumul -> \i ->
- {s = table {unit => twul ; teen => yelqtwul ; ten => sumul ; tenq => sumul + "q" ; chi => i ; chiten => i ++ "sip"} ; size = twotoeight} ;
-
-oper mkNum : Str -> Str -> Str -> Str -> LinDigit =
- \twul -> \yelqtwul -> \sumul -> \i ->
- {s = table {unit => twul ; teen => yelqtwul ; ten => sumul ; tenq => sumul ; chi => i ; chiten => i ++ "sip"} ; size = twotoeight} ;
-
-oper mkNum6 : Str -> Str -> Str -> Str -> LinDigit =
- \twul -> \yelqtwul -> \sumul -> \i ->
- {s = table {unit => twul ; teen => yelqtwul ; ten => sumul ; tenq => sumul + "q" ; chi => i ; chiten => (i + "q") ++ "sip"} ; size = twotoeight} ;
-
-oper mkNum9 : Str -> Str -> Str -> Str -> LinDigit =
- \twul -> \yelqtwul -> \sumul -> \i ->
- {s = table {unit => twul ; teen => yelqtwul ; ten => sumul ; tenq => sumul + "q" ; chi => i ; chiten => i ++ "sip"} ; size = nine} ;
-
--- lin n1 = mkNum variants{"hana" ; "han } ; variants {"yelhana" ; "yelhan" }
-lin n2 = mkNumq (variants {"twu:l" ; "twu" })
- (variants {"yelqtwul" ; "yelqtwu" })
- (variants {"sumul" ; "sumu" })
- "i:" ;
-lin n3 = mkNum (variants {"se:ys" ; "se:y" ; "se:k" ; "se:" })
- (variants {"yelqseys" ; "yelqsey" ; "yelqsek" ; "yelqse" })
- (variants {"seun" ; "sehun" })
- "sam" ;
-lin n4 = mkNum (variants {"ne:ys" ; "ne:y" ; "ne:k" ; "ne:" })
- (variants {"yelneys" ; "yelney" ; "yelnek" ; "yelne" })
- "mahun" "sa:" ;
-lin n5 = mkNum "tases" "yelqtases" "swi:n" "o:";
-lin n6 = mkNum6 "yeses" (variants {"yelqyeses" ; "yelyeses"}) "yeyswun" "yuk" ;
-lin n7 = mkNum6 "ilkop" (variants {"yelqilkop" ; "yelilkop"}) "ilhun" "chil" ;
-lin n8 = mkNum6 "yetel" (variants {"yelqyetel" ; "yelyetel"}) "yetun" "phal" ;
-lin n9 = mkNum9 "ahop" "yelahop" "ahun" "kwu" ;
-
-lin pot01 =
- {s = table {unit => variants {"hana" ; "han"} ;
- ten => variants {"yel" ; "yelq"} ;
- tenq => "dummy" ;
- teen => variants {"yelhana" ; "yelhan" } ;
- chi => "il" ; chiten => "sip"} ;
- size = sg };
-lin pot0 d = d ;
-lin pot110 = {s = variants {"yel" ; "yelq"} ;
- s2 = table {tenpart => "il" ++ "man" ;
- chenpart => [] } ;
- size = exten} ;
-lin pot111 = {s = variants {"yelhana" ; "yelhan"} ;
- s2 = table {tenpart => "il" ++ "man" ;
- chenpart => maybeil sg "il" "chen" } ;
- size = more10} ;
-lin pot1to19 d = {s = d.s ! teen ;
- s2 = table {tenpart => "il" ++ "man" ;
- chenpart => maybeil d.size (d.s ! chi) "chen" } ;
- size = more10} ;
-lin pot0as1 n = {s = n.s ! unit ;
- s2 = table {tenpart => "man" ;
- chenpart => maybeil n.size (n.s ! chi) "chen" } ;
- size = n.size} ;
-lin pot1 d = {s = d.s ! ten ;
- s2 = table {tenpart => d.s ! chi ++ "man" ;
- chenpart => [] } ;
- size = more10} ;
-lin pot1plus d e =
- {s = table {twotoeight => d.s ! tenq ;
- _ => d.s ! ten } ! e.size ++ e.s ! unit;
- s2 = table {tenpart => d.s ! chi ++ "man";
- chenpart => maybeil e.size (e.s ! chi) "chen" } ;
- size = more10} ;
-
-lin pot1as2 n = {s = n.s ;
- s2 = table {more10 => n.s2 ! tenpart ;
- exten => (variants {"ma:n" ; "il" ++ "man"}) ;
- _ => []} ! n.size ++ n.s2 ! chenpart ;
- size = n.size} ;
-lin pot2 d =
- {s = maybeil d.size (d.s ! chi) "payk" ;
- s2 = d.s ! chiten ;
- size = more10 };
-lin pot2plus d e =
- {s = (maybeil d.size (d.s ! chi) "payk") ++ e.s ;
- s2 = d.s ! chiten ++ e.s2 ! tenpart ++ e.s2 ! chenpart ;
- size = more10 };
-lin pot2as3 n = {s = n.s } ;
-lin pot3 n = {s = n.s2 } ;
-lin pot3plus n m = {s = n.s2 ++ m.s } ;
-
-oper maybeil : Size -> Str -> Str -> Str = \sz -> \a -> \chen ->
- table {twotoeight => a ++ chen ; sg => variants {chen ; "il" ++ chen } ; _ => a ++ chen} ! sz ;
-
-
diff --git a/grammars/numerals/old/kulung.gf b/grammars/numerals/old/kulung.gf
deleted file mode 100644
index f5eda8634..000000000
--- a/grammars/numerals/old/kulung.gf
+++ /dev/null
@@ -1,55 +0,0 @@
-include numerals.Abs.gf ;
-
-param DForm = basic | belowtenform | tenindep | ten;
-param Size = sg | less100 | more100 ;
-param Scale = reg | lakh ;
-
--- From Krishna Bahadur Rai in Werner Winter: When Numeral Systems are
--- Expanded in Jadranka Gvozdanovic' (ed.) Numeral Types and Changes
--- Worldwide, 1999
-
-lincat Digit = {s : DForm => Str} ;
-lincat Sub10 = {s : DForm => Str ; size : Size} ;
-lincat Sub100 = {s : Str ; size : Size} ;
-lincat Sub1000 = {s : Scale => Str ; size : Size} ;
-
-oper mkNum : Str -> Str -> Str -> Str -> Lin Digit =
- \two -> \two2 -> \twenty -> \twenty2 ->
- {s = table {basic => two ; belowtenform => two2 ; tenindep => twenty ; ten => twenty2}} ;
-
-oper mkRegNum : Str -> Lin Digit =
- \su ->
- { s = table { basic => su ; belowtenform => su + "kci" ; tenindep => su + "kká" ; ten => su + "k"} };
-
-lin num x = x ;
--- lin n1 mkNum "i" "ibim" ... ;
-lin n2 = mkNum "ni" "nicci" (variants { "nissá" ; "nukká" }) "nuk" ;
-lin n3 = mkRegNum "su" ;
-lin n4 = mkNum "li" "lici" "likká" "lik" ;
-lin n5 = mkNum "ngá" "ngá" "ngakká" "ngak" ;
-lin n6 = mkRegNum "tu" ;
-lin n7 = mkRegNum "nu" ;
-lin n8 = mkRegNum "re" ;
-lin n9 = mkNum "vau" "vauci" "vavau" "vavau" ;
-
-oper ss : Str -> {s : Str ; size : Size} = \s -> {s = s ; size = less100} ;
-
-lin pot01 = {s = table {f => variants {"i" ; "ibim"}} ; size = sg} ;
-lin pot0 d = {s = table {f => d.s ! f} ; size = less100} ;
-lin pot110 = ss ( variants { "pau" ; "pauci" }) ;
-lin pot111 = ss ("pau" ++ "i") ;
-lin pot1to19 d = ss ("pau" ++ d.s ! basic) ;
-lin pot0as1 n = {s = variants {n.s ! basic ; n.s ! belowtenform} ; size = n.size} ;
-lin pot1 d = {s = d.s ! tenindep ; size = less100} ;
-lin pot1plus d e = {s = (d.s ! ten) ++ e.s ! basic ; size = less100} ;
-lin pot1as2 n = {s = table {_ => n.s } ; size = n.size} ;
-lin pot2 d = {s = table {lakh => omitsg (d.s ! basic) d.size ++ "lankau" ; reg => omitsg (d.s ! basic) d.size ++ "chhum" }; size = more100} ;
-lin pot2plus d e = {s = table {lakh => omitsg (d.s ! basic) d.size ++ "lankau" ++ omitsg e.s e.size ++ "habau" ; reg => omitsg (d.s ! basic) d.size ++ "chhum" ++ e.s } ; size = more100} ;
-
-lin pot2as3 n = {s = n.s ! reg };
-lin pot3 n = {s = mklankau n.size (n.s ! reg) (n.s ! lakh)} ;
-lin pot3plus n m = {s = mklankau n.size (n.s ! reg) (n.s ! lakh) ++ m.s ! reg} ;
-
-oper mklankau : Size -> Str -> Str -> Str = \sz -> \attr -> \lankau ->
- table {sg => "habau" ; less100 => attr ++ "habau" ; more100 => lankau} ! sz;
-oper omitsg : Str -> Size -> Str = \s -> \sz -> table {sg => [] ; _ => s} ! sz ; \ No newline at end of file
diff --git a/grammars/numerals/old/kwami.gf b/grammars/numerals/old/kwami.gf
deleted file mode 100644
index cb441f3ee..000000000
--- a/grammars/numerals/old/kwami.gf
+++ /dev/null
@@ -1,48 +0,0 @@
-include numerals.Abs.gf ;
-
--- D^ is from implosive d IPA symbol
--- N Num
-
-param Size = sg | two | three | other ;
-
-oper LinDigit = {s : Str ; size : Size} ;
-lincat Digit = LinDigit ;
-lincat Sub10 = LinDigit ;
-lincat Sub100 = LinDigit ;
-lincat Sub1000 = LinDigit ;
-lincat Sub1000000 = {s : Str} ;
-
-oper mkNum : Str -> LinDigit = \kunun ->
- {s = kunun ; size = other} ;
-
-lin num x0 =
- {s = "/L" ++ x0.s ++ "L/"} ; -- for D^
-
-lin n2 = {s = variants {"póllów" ; "fóllów"} ; size = two };
-lin n3 = {s = "kúnún" ; size = three } ;
-lin n4 = mkNum (variants {"pòD^òw" ; "fòD^òw"}) ;
-lin n5 = mkNum (variants {"páaD^í" ; "fáaD^í"}) ;
-lin n6 = mkNum (variants {"páyíndì" ; "fáyíndì"}) ;
-lin n7 = mkNum (variants {"pópíllów" ; "fópíllów"}) ;
-lin n8 = mkNum (variants {"pówùrD^ów" ; "fówùrD^ów"}) ;
-lin n9 = mkNum "làmbáD^à" ;
-
-oper thirty : Str = variants {("kúu" ++ "kúnún") ; "tàlàatín"} ;
-oper two100 : Str = variants {"dálmágí" ++ "póllów" ; "mèetán"} ;
-oper thousand : Str = variants {("dálmágí" ++ "kúmó") ; "dùbúk" ; "dúbúk"} ;
-
-lin pot01 =
- {s = "múndí" ; size = sg};
-lin pot0 d = d ;
-lin pot110 = mkNum "kúmó" ;
-lin pot111 = mkNum ("kúmó" ++ "kán" ++ "múndí") ;
-lin pot1to19 d = mkNum ((variants {"kúmó" ++ "kán" ; "tùrò"}) ++ d.s ) ;
-lin pot0as1 n = n ;
-lin pot1 d = mkNum (table {three => thirty ; _ => "kúu" ++ d.s} ! d.size) ;
-lin pot1plus d e = mkNum ((table {three => thirty ; _ => "kúu" ++ d.s} ! d.size) ++ "kán" ++ e.s) ;
-lin pot1as2 n = n ;
-lin pot2 d = mkNum (table {sg => (variants {"dálmágí" ; "dálmák"}) ; two => two100 ; _ => "dálmágí" ++ d.s } ! d.size) ;
-lin pot2plus d e = mkNum ((table {two => two100 ; sg => (variants {"dálmágí" ; "dálmák"}) ; _ => "dálmágí" ++ d.s } ! d.size) ++ "kán" ++ e.s) ;
-lin pot2as3 n = {s = n.s} ;
-lin pot3 n = {s = table {sg => thousand ; _ => "dùbúk" ++ n.s} ! n.size } ;
-lin pot3plus n m = {s = table {sg => thousand ; _ => "dùbúk" ++ n.s} ! n.size ++ m.s} ; \ No newline at end of file
diff --git a/grammars/numerals/old/kwaza.gf b/grammars/numerals/old/kwaza.gf
deleted file mode 100644
index e8ed82487..000000000
--- a/grammars/numerals/old/kwaza.gf
+++ /dev/null
@@ -1,37 +0,0 @@
-include numerals.Abs.gf ;
-
-lincat Numeral = {s : Str} ;
-lincat Digit = {s : Str } ;
-lincat Sub10 = {s : Str } ;
-lincat Sub100 = {s : Str } ;
-lincat Sub1000 = {s : Str } ;
-lincat Sub1000000 = {s : Str} ;
-lin num x0 =
- {s = x0.s} ; -- TODO
-
-oper na = {s = "N/A" } ;
-
-lin n2 = {s = "aky'hy~" };
-lin n3 = {s = "e'ma~" };
-lin n4 = {s = "ElE'lE" };
-lin n5 = {s = "bwako'je" };
-lin n6 = na ;
-lin n7 = na ;
-lin n8 = na ;
-lin n9 = na ;
-
-lin pot01 =
- {s = "tei'hy~"};
-lin pot0 d = d ;
-lin pot110 = na ;
-lin pot111 = na ;
-lin pot1to19 d = na ;
-lin pot0as1 n = n ;
-lin pot1 d = na ;
-lin pot1plus d e = na ;
-lin pot1as2 n = n ;
-lin pot2 d = na ;
-lin pot2plus d e = na ;
-lin pot2as3 n = n ;
-lin pot3 n = na ;
-lin pot3plus n m = na ;
diff --git a/grammars/numerals/old/lamani.gf b/grammars/numerals/old/lamani.gf
deleted file mode 100644
index d295ebaa2..000000000
--- a/grammars/numerals/old/lamani.gf
+++ /dev/null
@@ -1,95 +0,0 @@
-include numerals.Abs.gf ;
-
--- the sporadic kam-forms not implemented (general minus formations are hardly possible to implement)
-
-param DForm = unit | ten | teen | tene | next | inv ;
-param Size = sg | two | five | seven | nine | e25 | e75 | e50s | e90s | other ;
-
-oper LinDigit = {s : DForm => Str ; s2 : Str ; size : Size} ;
-oper LinSub100 = {s : Str ; s2 : Str ; s3 : Str ; size : Size} ;
-
-lincat Digit = LinDigit ;
-lincat Sub10 = LinDigit ;
-lincat Sub100 = LinSub100 ;
-lincat Sub1000 = {s : Str ; s2 : Str } ;
-
-lin num x0 =
- {s = x0.s } ;
-
-oper mkNum : Str -> Str -> Str -> Str -> Str -> LinDigit =
- \do -> \baara -> \bis -> \nxt -> \inverse ->
- {s = table {unit => do ; teen => baara ; ten => bis ; tene => bis + "e" ; next => nxt ; inv => inverse} ;
- s2 = do ++ "hajaar" ;
- size = other } ;
-
-oper mkNumS : Str -> Str -> Str -> Str -> Str -> Size -> LinDigit =
- \do -> \baara -> \bis -> \nxt -> \inverse -> \sz ->
- {s = table {unit => do ; teen => baara ; ten => bis ; tene => bis + "e" ; next => nxt ; inv => inverse} ;
- s2 = do ++ "hajaar" ;
- size = sz } ;
-
--- lin n1 mkNum "ek" "gyaara" "das"
-lin n2 = mkNum "di" "baara" "vis" ("tin" ++ "se") "aaT" ;
-lin n3 = mkNumS "tin" "tera" "tis" ("caar"++ "se") "saat" two ;
-lin n4 = mkNum "caar" "cawda" "caaLis" ("paanc" ++ "se") "cho" ;
-lin n5 = mkNumS "paanc" "pandra" "pacaas" ("cho" ++ "se") "paanc" five;
-lin n6 = mkNum "cho" "sola" "saaT" ("saat" ++ "se") "caar" ;
-lin n7 = mkNumS "saat" "satara" "sattar" ("aaT" ++ "se") "tin" seven ;
-lin n8 = mkNum "aaT" "aTara" "ãysi" ("naw" ++ "se") "di" ;
-lin n9 = mkNumS "naw" "wagNis" "nawwad" "hajaar" "ek" nine;
-
-oper ss : Str -> LinSub100 = \s1 -> {s = s1 ; s2 = s1 ++ "hajaar" ; s3 = s1 ; size = other} ;
-oper sssize : Str -> Str -> Size -> LinSub100 = \s1 -> \aux -> \sz ->
- {s = s1 ; s2 = s1 ++ "hajaar" ; s3 = aux ; size = sz} ;
-
-oper spcsize : Size -> Size -> Size = \s1 -> \s2 ->
- table {two => table {five => e25 ; _ => other} ;
- five => table {_ => e50s} ;
- seven => table {five => e75 ; _ => other} ;
- nine => table {_ => e90s} ;
- _ => table {_ => other}} ! s1 ! s2 ;
-
-lin pot01 = {s = table {unit => "ek" ; next => "di" ; inv => "naw" ; _ => "dummy" } ; s2 = "hajaar" ; size = sg} ;
-lin pot0 d = d ;
-lin pot110 = ss "das" ;
-lin pot111 = ss "gyaara" ;
-lin pot1to19 d = ss (d.s ! teen) ;
-lin pot0as1 n = {s = n.s ! unit ; s2 = n.s2 ; s3 = (n.s ! unit) ; size = n.size} ;
-
-lin pot1 d = sssize (d.s ! ten) [] (table {five => e50s ; _ => other} ! d.size) ;
-lin pot1plus d e = sssize (variants {(d.s ! tene) ++ "par" ++ (e.s ! unit) ; (d.s ! ten) ++ "an" ++ (e.s ! unit)}) (table {nine => e.s ! inv ; _ => e.s ! unit} ! d.size) (spcsize d.size e.size) ;
-
-lin pot1as2 n = {s = n.s ; s2 = n.s2 } ;
-
-lin pot2 d = {s = selsg d.size "so" ((d.s ! unit) ++ "se") ;
- s2 = selsg d.size [] ((d.s ! unit) ++ "laak") } ;
-
-lin pot2plus d e =
- {s = mkso d.size e.size (table {e75 => d.s ! next ; e90s => d.s ! next ; _ => d.s ! unit} ! e.size)
- (table {e50s => e.s3 ; e90s => e.s3 ; _ => e.s } ! e.size) ;
- s2 = (d.s ! unit) ++ "laak" ++ (selsg e.size "hajaar" (e.s ++ "hajaar")) } ;
-
-lin pot2as3 n = {s = n.s } ;
-lin pot3 n = {s = n.s2 } ;
-lin pot3plus n m = {s = n.s2 ++ m.s } ;
-
-oper selsg : Size -> Str -> Str -> Str = \sz -> \s1 -> \s2 -> table {sg => s1 ; _ => s2} ! sz ;
-
-oper mkso : Size -> Size -> Str -> Str -> Str = \ds -> \es -> \auxd -> \auxe -> table {
- sg => table {e25 => "sawaa" + "se" ;
- e50s => "DoD" ++ "se" ++ auxe ;
- e75 => "pawNe" ++ auxd ;
- e90s => variants { auxd ++ "kam" ++ auxe ; auxe ++ "kam" ++ auxd} ;
- _ => "ek" ++ "so" ++ auxe} ;
- two => table {e50s => "aDaai" ++ auxe ;
- e25 => "sawaa" ++ auxd ++ "se" ;
- e75 => "pawNe" ++ auxd ;
- e90s => variants { auxd ++ "kam" ++ auxe ; auxe ++ "kam" ++ auxd} ;
- _ => "do" ++ "se" ++ auxe} ;
- _ => table {e50s => "saaDe" ++ auxd ++ "se" ++ auxe ;
- e25 => "sawaa" ++ auxd ++ "se" ;
- e75 => "pawNe" ++ auxd ;
- e90s => variants { auxd ++ "kam" ++ auxe ; auxe ++ "kam" ++ auxd} ;
- _ => auxd ++ "se" ++ auxe}
- } ! ds ! es ;
-
diff --git a/grammars/numerals/old/latvian.gf b/grammars/numerals/old/latvian.gf
deleted file mode 100644
index 5cfbba3b7..000000000
--- a/grammars/numerals/old/latvian.gf
+++ /dev/null
@@ -1,49 +0,0 @@
--- c^
--- s^
--- n, is n with a comma under
--- u^ with line over
-
-include numerals.Abs.gf ;
-
-param DForm = unit | teen | ten | hundred ;
-
-oper LinDigit = {s : DForm => Str ; s2 : Str };
-oper LinSub100 = {s : Str ; s2 : Str } ;
-
-lincat Digit = LinDigit ;
-lincat Sub10 = LinDigit ;
-lincat Sub100 = LinSub100 ;
-lincat Sub1000 = LinSub100 ;
-
-oper mkNum : Str -> Str -> LinDigit = \tri -> \tribase ->
- { s = table {unit => tri ; teen => tribase + "padsmit" ; ten => tribase + "desmit" ; hundred => variants {tribase + "simt" ; tri ++ "simti"} } ; s2 = tribase + "tu^kstos^" };
-
-lin num x = {s = "/L" ++ x.s ++ "L/"} ; -- Latin A Supplement diacritics ;
-
-lin n2 = mkNum "divi" "div" ;
-lin n3 = mkNum "tri:s" "tri:s" ;
-lin n4 = mkNum "c^etri" "c^etr" ;
-lin n5 = mkNum "pieci" "piec" ;
-lin n6 = mkNum "ses^i" "ses^" ;
-lin n7 = mkNum "septin,i" "septin," ;
-lin n8 = mkNum "aston,i" "aston," ;
-lin n9 = mkNum "devin,i" "devin," ;
-
-oper mkR : Str -> LinSub100 = \n -> {s = n ; s2 = n ++ "tu^kstos^" } ;
-
-lin pot01 = { s = table {hundred => "simts" ; _ => "viens" } ; s2 = "tu^kstotis" ; size = sg };
-lin pot0 d = d ;
-lin pot110 = mkR "desmit" ;
-lin pot111 = mkR "vienpadsmit" ;
-lin pot1to19 d = mkR (d.s ! teen) ;
-lin pot0as1 n = {s = n.s ! unit ; s2 = n.s2 } ;
-lin pot1 d = mkR (d.s ! ten) ;
-lin pot1plus d e = mkR ((d.s ! ten) ++ (e.s ! unit)) ;
-lin pot1as2 n = n ;
-lin pot2 d = mkR (d.s ! hundred) ;
-lin pot2plus d e = mkR ((d.s ! hundred) ++ e.s) ;
-lin pot2as3 n = {s = n.s };
-lin pot3 n = {s = n.s2} ;
-lin pot3plus n m = {s = n.s2 ++ m.s} ;
-
-
diff --git a/grammars/numerals/old/lithuanian.gf b/grammars/numerals/old/lithuanian.gf
deleted file mode 100644
index 703d8ca0d..000000000
--- a/grammars/numerals/old/lithuanian.gf
+++ /dev/null
@@ -1,56 +0,0 @@
-include numerals.Abs.gf ;
-
--- y:
--- e:
--- i~
--- s^
--- m~
--- n~
--- ú:
--- u,
-
-param Size = sg | pl ;
-param DForm = unit | teen | ten ;
-
-oper LinDigit = {s : DForm => Str ; size : Size };
-oper LinSub100 = {s : Str ; size : Size } ;
-
-lincat Digit = LinDigit ;
-lincat Sub10 = LinDigit ;
-lincat Sub100 = LinSub100 ;
-lincat Sub1000 = LinSub100 ;
-
-oper mkNum : Str -> Str -> Str -> LinDigit = \tri -> \dvylika -> \tribase ->
- { s = table {unit => tri ; teen => dvylika ; ten => tribase + "des^imt" } ; size = pl};
-
-lin num x = {s = x.s} ; -- TODO ;
-
-lin n2 = mkNum "dù" "dvýlika" "dvì" ;
-lin n3 = mkNum "try:s" "trýlika" "trìs" ;
-lin n4 = mkNum "keturì" "keturiólika" "ke:turias" ;
-lin n5 = mkNum "penkì" "penkiólika" "pen~kias" ;
-lin n6 = mkNum "s^es^ì" "s^es^iólika" "s^e:s^ias" ;
-lin n7 = mkNum "septynì" "septyniólika" "septýnias" ;
-lin n8 = mkNum "as^tuonì" "as^tuoniólika" "as^túonias" ;
-lin n9 = mkNum "devynì" "devyniólika" "devýnias" ;
-
-oper mkR : Str -> LinSub100 = \n -> {s = n ; size = pl } ;
-
-lin pot01 = { s = table {_ => "víenas" } ; size = sg };
-lin pot0 d = d ;
-lin pot110 = mkR (variants {"de:s^imt"; "des^imtìs" });
-lin pot111 = mkR "vienúolika" ;
-lin pot1to19 d = mkR (d.s ! teen) ;
-lin pot0as1 n = mkR (n.s ! unit) ;
-lin pot1 d = mkR (d.s ! ten) ;
-lin pot1plus d e = mkR ((d.s ! ten) ++ (e.s ! unit)) ;
-lin pot1as2 n = n ;
-lin pot2 d = mkR (selsg d.size "s^im~tas" ((d.s ! unit) ++ "s^imtai~")) ;
-lin pot2plus d e = mkR ((selsg d.size "s^im~tas" ((d.s ! unit) ++ "s^imtai~")) ++ e.s) ;
-lin pot2as3 n = {s = n.s };
-lin pot3 n = {s = selsg n.size "tú:kstantis" (n.s ++ "tú:kstanc^iu,") } ;
-lin pot3plus n m = {s = (selsg n.size "tú:kstantis" (n.s ++ "tú:kstanc^iu,")) ++ m.s} ;
-
-oper selsg : Size -> Str -> Str -> Str = \sz -> \s1 -> \s2 ->
- table {sg => s1 ; pl => s2} ! sz ;
-
diff --git a/grammars/numerals/old/lotuxo.gf b/grammars/numerals/old/lotuxo.gf
deleted file mode 100644
index 02ddf52ff..000000000
--- a/grammars/numerals/old/lotuxo.gf
+++ /dev/null
@@ -1,61 +0,0 @@
-include numerals.Abs.gf ;
-
-param Size = sg | pl ;
-
-oper Form = {s : Str ; size : Size } ;
-
-lincat Numeral = {s : Str} ;
-lincat Digit = Form ;
-lincat Sub10 = Form ;
-lincat Sub100 = Form ;
-lincat Sub1000 = Form ;
-lincat Sub1000000 = {s : Str} ;
-lin num x0 =
- {s = x0.s} ; -- TODO: Encoding
-
-oper mkNum : Str -> Form = \mbili ->
- {s = mbili; size = pl };
-
--- N [ng]
--- E epsilon
--- I i without dot
--- O IPA for o in cod
-
--- lin n1 = mkNum "âbotye" ;
-lin n2 = mkNum "ârrexai" ;
-lin n3 = mkNum "xunixoi" ;
-lin n4 = mkNum "aNwan" ;
-lin n5 = mkNum "miet" ;
-lin n6 = mkNum "IllE" ;
-lin n7 = mkNum "xattarIk" ;
-lin n8 = mkNum "xottoxunik" ;
-lin n9 = mkNum "xOttONwan" ;
-
-oper xo : Str = pre {"xO" ;
- "xo" / strs {"m" ; "xu" ; "xo"} ;
- "x'" / strs {"â" ; "a"}} ;
-
-oper ss : Str -> Form = \s1 -> {s = s1 ; size = pl} ;
-
-lin pot01 =
- {s = "âbotye" ; size = sg };
-lin pot0 d = d ;
-lin pot110 = ss "'tOmOn" ;
-lin pot111 = ss ("'tOmOn" ++ xo ++ "âbotye") ;
-lin pot1to19 d = ss ("'tOmOn" ++ xo ++ d.s ) ;
-lin pot0as1 n = n ;
-lin pot1 d = ss ("atOmwana" ++ d.s ) ;
-lin pot1plus d e = ss ("atOmwana" ++ d.s ++ xo ++ e.s ) ;
-lin pot1as2 n = n ;
-lin pot2 d = ss (mkessixa d.size d.s) ;
-lin pot2plus d e = ss ((mkessixa d.size d.s) ++ "ikO" ++ e.s) ;
-lin pot2as3 n = {s = n.s } ;
-lin pot3 n = {s = mktau n.size n.s } ;
-lin pot3plus n m = {s = (mktau n.size n.s) ++ "ikO" ++ m.s} ;
-
-oper mkessixa : Size -> Str -> Str = \sz -> \attr ->
- table {pl => "EssIxa" ++ attr ;
- sg => variants {"EssIxa" ++ "âbotye"; "atOmwana" ++ "'tOmOn"}} ! sz ;
-oper mktau : Size -> Str -> Str = \sz -> \attr ->
- table {pl => "tausand" ++ attr ;
- sg => variants {"tausand" ++ "âbotye"; "EssIxa" ++ "'tOmOn"}} ! sz ;
diff --git a/grammars/numerals/old/maale.gf b/grammars/numerals/old/maale.gf
deleted file mode 100644
index 5b8d309a0..000000000
--- a/grammars/numerals/old/maale.gf
+++ /dev/null
@@ -1,55 +0,0 @@
-include numerals.Abs.gf ;
-
-param Size = sg | pl ;
-param DForm = unit | ten ;
-
-oper LinDigit = {s : DForm => Str ; size : Size } ;
-oper Form = {s : Str ; size : Size } ;
-
-lincat Numeral = {s : Str} ;
-lincat Digit = LinDigit ;
-lincat Sub10 = LinDigit ;
-lincat Sub100 = Form ;
-lincat Sub1000 = {s : Str} ;
-lincat Sub1000000 = {s : Str} ;
-lin num x0 =
- {s = x0.s} ; -- TODO: Encoding
-
-oper mkNum : Str -> Str -> LinDigit = \mbili -> \lama ->
- {s = table {unit => mbili ; ten => lama + "-támmi" }; size = pl };
-
--- b> is b with right bend
--- ? without dot
--- $ IPA [sh]
-
--- lin n1 = mkNum "pétte" ;
-lin n2 = mkNum "lam?ó" "lamá";
-lin n3 = mkNum "haitsó" "haytsí" ;
-lin n4 = mkNum "?oidó" "?oydí";
-lin n5 = mkNum "dóngo" "dóngi";
-lin n6 = mkNum "láhhó" "láhhi";
-lin n7 = mkNum "lánkayi" "lánkayi";
-lin n8 = mkNum "sálli" "sálli" ;
-lin n9 = mkNum "tásub>a" "tázub>i";
-
-oper ss : Str -> Form = \s1 -> {s = s1 ; size = pl} ;
-
-lin pot01 =
- {s = table {f => "pétte" }; size = sg };
-lin pot0 d = d ;
-lin pot110 = ss "táb>b>ó" ;
-lin pot111 = ss ("táb>b>ó" ++ "pétte") ;
-lin pot1to19 d = ss ("táb>b>ó" ++ (d.s ! unit)) ;
-lin pot0as1 n = {s = n.s ! unit ; size = n.size } ;
-lin pot1 d = ss (d.s ! ten) ;
-lin pot1plus d e = ss (d.s ! ten ++ e.s ! unit) ;
-lin pot1as2 n = n ;
-lin pot2 d = {s = mkseeta d.size (d.s ! unit) };
-lin pot2plus d e = {s = (mkseeta d.size (d.s ! unit)) ++ e.s} ;
-lin pot2as3 n = {s = n.s } ;
-lin pot3 n = {s = n.s ++ "$íya"} ;
-lin pot3plus n m = {s = n.s ++ "$íya" ++ m.s} ;
-
-oper mkseeta : Size -> Str -> Str = \sz -> \attr ->
- table {pl => attr ++ "s'ééta" ;
- sg => "s'ééta" } ! sz ;
diff --git a/grammars/numerals/old/maltese.gf b/grammars/numerals/old/maltese.gf
deleted file mode 100644
index 153f6a9c9..000000000
--- a/grammars/numerals/old/maltese.gf
+++ /dev/null
@@ -1,59 +0,0 @@
-include numerals.Abs.gf ;
-
-param DForm = unit | teen | teenil | ten | hund ;
-param Size = sg | pl | dual ;
-
-oper LinDigit = {s: DForm => Str ; s2 : Str ; size : Size } ;
-oper Form = {s : Str ; s2 : Str ; size : Size } ;
-
-lincat Numeral = {s : Str} ;
-lincat Digit = LinDigit ;
-lincat Sub10 = LinDigit ;
-lincat Sub100 = Form ;
-lincat Sub1000 = Form ;
-lincat Sub1000000 = {s : Str} ;
-
-lin num x = x ; -- TODO
-
-oper mkN : Str -> Str -> Str -> Str -> Str -> LinDigit = \u -> \tn -> \t -> \h -> \e ->
- {s = table {unit => u ; teen => tn + "ax" ; teenil => tn + "ax" + "il" ;
- ten => t ; hund => h ++ "mija"} ; s2 = e ; size = pl };
-
-lin n2 =
- {s = table {unit => "tnejn" ;
- teen => "tnax" ; teenil => "tnax-il" ;
- ten => "gh-oxrin" ;
- hund => "mitejn"} ; s2 = "tnejn" ; size = dual} ;
-lin n3 = mkN "tlieta" "tlett" "tletin" "tliet" "tlitt";
-lin n4 = mkN "erbgh-a" "erbat" "erbgh-in" "erba'" "erbat";
-lin n5 = mkN "h-amsa" "h-mist" "h-amsin" "h-ames" "h-amest" ;
-lin n6 = mkN "sitta" "sitt" "sitt" "sitt" "sitt";
-lin n7 = mkN "sebgh-a" "sbat" "sbebgh-in" "seba'" "sebat" ;
-lin n8 = mkN "tmienja" "tmint" "tmenin" "tmien" "tmint" ;
-lin n9 = mkN "disgh-a" "dsat" "disgh-in" "disa'" "disat";
-
-oper ss : Str -> Form = \s1 -> {s = s1 ; s2 = s1 ; size = pl };
-oper ss2 : Str -> Str -> Form = \a -> \b -> {s = a ; s2 = b ; size = pl };
-
-lin pot01 =
- {s = table {unit => "wieh-ed" ; teen => "h-dax" ; _ => "mija" } ;
- s2 = "wieh-ed" ;
- size = sg};
-lin pot0 d = d;
-lin pot110 = ss "gh-axra" ;
-lin pot111 = ss2 "h-dax" "h-dax-il";
-lin pot1to19 d = ss2 (d.s ! teen) (d.s ! teenil);
-lin pot0as1 n = {s = n.s ! unit ; s2 = n.s2 ; size = n.size} ;
-lin pot1 d = ss (d.s ! ten) ;
-lin pot1plus d e = ss ((e.s ! unit) ++ "u" ++ (d.s ! ten)) ;
-lin pot1as2 n = n ;
-lin pot2 d = ss (d.s ! hund) ;
-lin pot2plus d e = ss2 ((d.s ! hund) ++ "u" ++ e.s)
- ((d.s ! hund) ++ "u" ++ e.s2) ;
-lin pot2as3 n = {s = n.s } ;
-lin pot3 n = { s = (elf n.s2) ! n.size } ;
-lin pot3plus n m = { s = (elf n.s2) ! n.size ++ m.s} ;
-
-oper elf : Str -> Size => Str = \attr ->
- table {pl => attr ++ "elef" ; dual => "elfejn" ; sg => "elf"} ;
-
diff --git a/grammars/numerals/old/mapuche.gf b/grammars/numerals/old/mapuche.gf
deleted file mode 100644
index 390f87c73..000000000
--- a/grammars/numerals/old/mapuche.gf
+++ /dev/null
@@ -1,43 +0,0 @@
-include numerals.Abs.gf ;
-
-param Size = sg | pl ;
-
-oper All = {s : Str ; size : Size};
-
-lincat Digit = All ;
-lincat Sub10 = All ;
-lincat Sub100 = All ;
-lincat Sub1000 = All ;
-
-oper mkNum : Str -> All = \tri ->
- { s = tri ; size = pl};
-
-lin num x = {s = x.s } ;
-
-lin n2 = mkNum "epu" ;
-lin n3 = mkNum "külá" ;
-lin n4 = mkNum "meli" ;
-lin n5 = mkNum "kechu" ;
-lin n6 = mkNum "kayu" ;
-lin n7 = mkNum "reqle" ;
-lin n8 = mkNum "pura" ;
-lin n9 = mkNum "aylla" ;
-
-oper ss : Str -> All = \s1 -> {s = s1 ; size = pl } ;
-
-lin pot01 = { s = "kiñe" ; size = sg};
-lin pot0 d = d ;
-lin pot110 = ss "mari" ;
-lin pot111 = ss ("mari" ++ "kiñe") ;
-lin pot1to19 d = ss ("mari" ++ d.s );
-lin pot0as1 n = n ;
-lin pot1 d = ss (d.s ++ "mari" );
-lin pot1plus d e = ss (d.s ++ "mari" ++ e.s ) ;
-lin pot1as2 n = n ;
-lin pot2 d = ss (((selsg d.s) ! d.size) ++ "pataka" ) ;
-lin pot2plus d e = ss (((selsg d.s) ! d.size) ++ "pataka" ++ e.s) ;
-lin pot2as3 n = {s = n.s };
-lin pot3 n = {s = (selsg n.s) ! n.size ++ "warangka" } ;
-lin pot3plus n m = {s = (selsg n.s) ! n.size ++ "warangka" ++ m.s} ;
-
-oper selsg : Str -> Size => Str = \s -> table {sg => [] ; pl => s } ; \ No newline at end of file
diff --git a/grammars/numerals/old/maybrat.gf b/grammars/numerals/old/maybrat.gf
deleted file mode 100644
index 604addcdd..000000000
--- a/grammars/numerals/old/maybrat.gf
+++ /dev/null
@@ -1,71 +0,0 @@
-include numerals.Abs.gf ;
-
-oper LinDigit = {s : DForm => Str ; even20 : Even20 } ;
-
-oper mk20Ten : Str -> Str -> Str -> LinDigit = \tri -> \t -> \h ->
- { s = table {unit => tri ; unit2 => t ; twenty => "rae" ++ h } ;
- even20 = ten};
-
-oper mkEven20 : Str -> Str -> Str -> LinDigit = \se -> \t -> \h ->
- { s = table {unit => se ; unit2 => t ; twenty => "rae" ++ h } ;
- even20 = even};
-
-oper na = {s = "N/A"} ;
-
-param Even20 = ten | even ;
-param DForm = unit | unit2 | twenty ;
-
-lincat Numeral = {s : Str} ;
-lincat Digit = LinDigit ;
-lincat Sub10 = LinDigit ;
-lincat Sub100 = {s : Str } ;
-lincat Sub1000 = {s : Str } ;
-lincat Sub1000000 = {s : Str} ;
-lin num x0 =
- {s = x0.s} ;
-lin n2 = mkEven20 (variants{"ewok"; "eok"})
- ("krem" ++ "ewok")
- ("sait" ++ "yhai") ;
-lin n3 = mk20Ten "tuf"
- ("krem" ++ "tuf")
- ("sait" ++ "yhai") ;
-lin n4 = mkEven20 "tiet"
- ("krem" ++ "tiet")
- ("ewok" ++ "mhai") ;
-lin n5 = mk20Ten (variants {"mat" ; "temsau"})
- ("sau" ++ "muf")
- ("ewok" ++ "mhai") ;
-lin n6 = mkEven20 ("krem" ++ "sau")
- ("sau" ++ "krem" ++ "sau")
- ("tuf" ++ "mhai") ;
-lin n7 = mk20Ten ("krem" ++ "ewok")
- ("sau" ++ "krem" ++ "ewok")
- ("tuf" ++ "mhai") ;
-lin n8 = mkEven20 ("krem" ++ "tuf")
- ("sau" ++ "krem" ++ "tuf")
- ("tiet" ++ "mhai") ;
-lin n9 = mk20Ten ("krem" ++ "tiet")
- ("sau" ++ "krem" ++ "tiet")
- ("tiet" ++ "mhai") ;
-
-lin pot01 =
- {s = table {unit => "sau" ; unit2 => "krem" ++ "sau" ; twenty => "dummy" } ;
- even20 = ten };
-lin pot0 d = d ;
-lin pot110 = {s = "statem" } ;
-lin pot111 = {s = "oo" ++ "krem" ++ "sau" } ;
-lin pot1to19 d = {s = "oo" ++ d.s ! unit2 } ;
-lin pot0as1 n = {s = n.s ! unit} ;
-lin pot1 d =
- {s = table {even => d.s ! twenty ;
- ten => (d.s ! twenty) ++ "statem"} ! d.even20} ;
-lin pot1plus d e =
- {s = table {even => d.s ! twenty ++ e.s ! unit ;
- ten => (d.s ! twenty) ++ (e.s ! unit2)} ! d.even20} ;
-
-lin pot1as2 n = n ;
-lin pot2 d = na;
-lin pot2plus d e = na;
-lin pot2as3 n = n ;
-lin pot3 n = na ;
-lin pot3plus n m = na ;
diff --git a/grammars/numerals/old/miya.gf b/grammars/numerals/old/miya.gf
deleted file mode 100644
index ae2ad4a62..000000000
--- a/grammars/numerals/old/miya.gf
+++ /dev/null
@@ -1,53 +0,0 @@
-include numerals.Abs.gf ;
-
-param Size = sg | pl ;
-param DForm = unit | acc ;
-
-oper LinDigit = {s : DForm => Str ; size : Size } ;
-oper Form = {s : Str ; size : Size } ;
-
-lincat Numeral = {s : Str} ;
-lincat Digit = LinDigit ;
-lincat Sub10 = LinDigit ;
-lincat Sub100 = Form ;
-lincat Sub1000 = Form ;
-lincat Sub1000000 = {s : Str} ;
-lin num x0 =
- {s = x0.s} ; -- TODO: Encoding
-
-oper mkNum : Str -> Str -> LinDigit = \mbili -> \lama ->
- {s = table {unit => mbili ; acc => lama }; size = pl };
-
--- lin n1 = mkNum "wút`&" ;
-lin n2 = mkNum "ts`&r" "ts'&r";
-lin n3 = mkNum "kìdi" "kídì" ;
-lin n4 = mkNum "f`&d>&" "f'&d>&";
-lin n5 = mkNum "vàatl&" "vaatl&";
-lin n6 = mkNum "màaha" "máahà";
-lin n7 = mkNum "màats&r" "máats`&r";
-lin n8 = mkNum "f´&rf´&d>&" "f`&rf´&d>&" ;
-lin n9 = mkNum "kùciya" "kúcìya";
-
-oper ss : Str -> Form = \s1 -> {s = s1 ; size = pl} ;
-oper behan = "bèh&n" ;
-oper enaa = "'`&náa" ;
-
-lin pot01 =
- {s = table {unit => "wút`&" ; acc => "wut'&"}; size = sg };
-lin pot0 d = d ;
-lin pot110 = ss "d'&rb>itim" ;
-lin pot111 = ss (variants {behan ++ "wut'&";"d'&rb>itim" ++ behan ++ "wut'&"});
-lin pot1to19 d = ss (variants {behan ++ (d.s ! acc); "d'&rb>itim" ++ behan ++ d.s ! acc}) ;
-lin pot0as1 n = {s = n.s ! unit ; size = n.size } ;
-lin pot1 d = ss ("díb>i" ++ d.s ! unit) ;
-lin pot1plus d e = ss ("díb>i" ++ d.s ! unit ++ behan ++ e.s ! acc) ;
-lin pot1as2 n = n ;
-lin pot2 d = ss ("d>àriy" ++ selsg d.size (d.s ! unit));
-lin pot2plus d e = ss ("d>àriy" ++ (selsg d.size (d.s ! unit)) ++ enaa ++ e.s);
-lin pot2as3 n = {s = n.s } ;
-lin pot3 n = {s = "d'&bu" ++ (selsg n.size n.s)} ;
-lin pot3plus n m = {s = "d'&bu" ++ (selsg n.size n.s) ++ enaa ++ m.s} ;
-
-oper selsg : Size -> Str -> Str = \sz -> \attr ->
- table {pl => attr ; sg => variants {[] ; attr} } ! sz ;
-
diff --git a/grammars/numerals/old/mkAll.gfs b/grammars/numerals/old/mkAll.gfs
deleted file mode 100644
index d14a0676c..000000000
--- a/grammars/numerals/old/mkAll.gfs
+++ /dev/null
@@ -1,51 +0,0 @@
-i -old -abs=Nums -cnc=Decimal numerals.Dec.gf
-i -old -abs=Nums -cnc=Amharic amharic.gf
-i -old -abs=Nums -cnc=Basque basque.gf
---i -old -abs=Nums biblical_hebrew.gf
-i -old -abs=Nums -cnc=ArabicClassical classical_arabic.gf
-i -old -abs=Nums -cnc=Greek classical_greek.gf
-i -old -abs=Nums -cnc=Croatian croatian.gf
-i -old -abs=Nums -cnc=Geez geez.gf
-i -old -abs=Nums -cnc=Hindi hindi.gf
-i -old -abs=Nums -cnc=Hungarian hungarian.gf
-i -old -abs=Nums -cnc=Icelandic icelandic.gf
-i -old -abs=Nums -cnc=Irish irish.gf
-i -old -abs=Nums -cnc=Italian italian.gf
-i -old -abs=Nums -cnc=Japanese japanese.gf
-i -old -abs=Nums -cnc=Khowar khowar.gf
-i -old -abs=Nums -cnc=Korean korean.gf
-i -old -abs=Nums -cnc=Kulung kulung.gf
-i -old -abs=Nums -cnc=GreekModern modern_greek.gf
-i -old -abs=Nums -cnc=Mongolian mongolian.gf
-i -old -abs=Nums -cnc=ArabicModern numerals.Ara.gf
-i -old -abs=Nums -cnc=Hebrew numerals.Heb.gf
---i -old -abs=Nums -cnc=Chinese numerals.ChiU.gf
-i -old -abs=Nums -cnc=Danish numerals.Dan.gf
-i -old -abs=Nums -cnc=German numerals.Deu.gf
-i -old -abs=Nums -cnc=English numerals.Eng.gf
-i -old -abs=Nums -cnc=French numerals.Fra.gf
-i -old -abs=Nums -cnc=Malay numerals.Malay.gf
-i -old -abs=Nums -cnc=Dutch numerals.Ned.gf
-i -old -abs=Nums -cnc=NorwegianBok numerals.NorB.gf
-i -old -abs=Nums -cnc=Russian numerals.Rus.gf
-i -old -abs=Nums -cnc=Finnish numerals.Suo.gf
-i -old -abs=Nums -cnc=Swedish numerals.Swe.gf
-i -old -abs=Nums -cnc=Tampere numerals.Tam.gf
-i -old -abs=Nums -cnc=OldChurchSlavonic old_church_slavonic.gf
-i -old -abs=Nums -cnc=Pashto pashto.gf
-i -old -abs=Nums -cnc=Polish polish.gf
-i -old -abs=Nums -cnc=Portuguese portuguese.gf
-i -old -abs=Nums -cnc=Quechua quechua.gf
-i -old -abs=Nums -cnc=Romanian romanian.gf
-i -old -abs=Nums -cnc=Sanskrit sanskrit.gf
-i -old -abs=Nums -cnc=Slovak slovak.gf
-i -old -abs=Nums -cnc=Sorani sorani.gf
-i -old -abs=Nums -cnc=Spanish spanish.gf
-i -old -abs=Nums -cnc=FrenchSwiss swiss_french.gf
-i -old -abs=Nums -cnc=Tamil tamil.gf
-i -old -abs=Nums -cnc=Tibetan tibetan.gf
-i -old -abs=Nums -cnc=Totonac totonac.gf
-i -old -abs=Nums -cnc=Turkish turkish.gf
-s
---ts -lang -f
-pm | wf numerals.gfcm
diff --git a/grammars/numerals/old/modern_greek.gf b/grammars/numerals/old/modern_greek.gf
deleted file mode 100644
index 24ba24603..000000000
--- a/grammars/numerals/old/modern_greek.gf
+++ /dev/null
@@ -1,69 +0,0 @@
-include numerals.Abs.gf ;
-
--- Free variation on accents on m'ia and d'yo
-
-oper vowel : Strs = strs {"e" ; "o" ; "a" ; "'e" ; "'o" ; "'a"} ;
-
-param DForm = unit | fem | femteen | teen | ten | hundredneut | hundredfem ;
-param Use = indep | femattr ;
-param Size = sg | pl ;
-
-lincat Numeral = {s : Str} ;
-lincat Digit = {s : DForm => Str } ;
-lincat Sub10 = {s : DForm => Str ; size : Size} ;
-lincat Sub100 = {s : Use => Str ; size : Size} ;
-lincat Sub1000 = {s : Use => Str ; size : Size} ;
-lincat Sub1000000 = {s : Str} ;
-lin num x0 =
- {s = "//" ++ x0.s ++ "//"} ; -- Greek environment
-
-oper mkNum : Str -> Str -> Str -> Str -> Str -> Str -> Lin Digit =
- \dyo -> \dwdeka -> \eikosi -> \diakosi -> \dyofem -> \dwdekafem ->
- {s = table {unit => dyo ; teen => dwdeka ; ten => eikosi ;
- hundredneut => diakosi + "a" ; hundredfem => diakosi + "ej" ;
- fem => dyofem ; femteen => dwdekafem}} ;
-
-oper mkIndeclNum : Str -> Str -> Str -> Str -> Lin Digit =
- \dyo -> \dwdeka -> \eikosi -> \diakosi ->
- {s = table {unit => dyo ; teen => dwdeka ; ten => eikosi ;
- hundredneut => diakosi + "a" ; hundredfem => diakosi + "ej" ;
- fem => dyo ; femteen => dwdeka}} ;
-
-lin n2 = mkIndeclNum "d'yo" "d'wdeka" "e'ikosi" "diak'osi" ;
-lin n3 = mkNum "tr'ia" "dekatr'ia" "tri'anta" "triak'osi" "tre'ij" "dekatre'is" ;
-lin n4 = mkNum "t'essera" "dekat'essera" "sar'anta" "tetrak'osi" "t'esserij" "dekat'esserij" ;
-lin n5 = mkIndeclNum "p'ente" "dekap'ente" "pen'hnta" "pentak'osi" ;
-lin n6 = mkIndeclNum "'exi" (variants { "deka'exi" ; "deka'exi" }) "ex'hnta" "exak'osi" ;
-lin n7 = mkIndeclNum (variants {"ept'a" ; "eft'a" }) "dekaeft'a" "ebdom'hnta" "eftak'osi" ;
-lin n8 = mkIndeclNum "oct'w" "dekaoct'w" "ogd'onta" "octak'osi" ;
-lin n9 = mkIndeclNum (variants {"enn'ea" ; "enn'ia" }) "dekaenn'ea" "enen'hnta" "enniak'osi" ;
-lin pot01 =
- {s = table {unit => "'ena" ; fem => "m'ia" ; _ => "ekat'o" + pre {[] ; "n" / vowel}} ; size = sg} ;
-lin pot0 d =
- {s = d.s ; size = pl} ;
-lin pot110 =
- {s = table {indep => "d'eka" ; femattr => "d'eka"} ; size = pl} ;
-lin pot111 =
- {s = table {indep => "'enteka" ; femattr => "'enteka" } ; size = pl} ;
-lin pot1to19 d =
- {s = table {indep => d.s ! teen; femattr => d.s ! femteen } ; size = pl} ;
-lin pot0as1 n =
- {s = table {indep => n.s ! unit ; femattr => n.s ! fem } ; size = n.size} ;
-lin pot1 d =
- {s = table {indep => d.s ! ten ; femattr => d.s ! ten } ; size = pl } ;
-lin pot1plus d e =
- {s = table {indep => d.s ! ten ++ e.s ! unit ; femattr => d.s ! ten ++ e.s ! fem } ; size = pl} ;
-lin pot1as2 n = n ;
-lin pot2 d =
- {s = table {indep => d.s ! hundredneut ; femattr => d.s ! hundredfem} ; size = pl} ;
-lin pot2plus d e =
- {s = table {indep => d.s ! hundredneut ++ e.s ! indep ; femattr => d.s ! hundredfem ++ e.s ! femattr} ; size = pl} ;
-lin pot2as3 n =
- {s = n.s ! indep } ;
-lin pot3 n =
- {s = (Xilias (n.s ! femattr)) ! n.size} ;
-lin pot3plus n m =
- {s = (Xilias (n.s ! femattr)) ! n.size ++ m.s ! indep} ;
-
-oper Xilias : Str -> Size => Str =
- \s -> table {sg => "c'ilia" ; pl => s ++ "cili'adej" } ; \ No newline at end of file
diff --git a/grammars/numerals/old/mongolian.gf b/grammars/numerals/old/mongolian.gf
deleted file mode 100644
index 54ff617b2..000000000
--- a/grammars/numerals/old/mongolian.gf
+++ /dev/null
@@ -1,59 +0,0 @@
-include numerals.Abs.gf ;
-
-param DForm = unit | ten ;
-param Size = sg | pl | tenplus ;
-param S100 = indep | tenpart | tenelfu | sihpart ;
-
-lincat Numeral = {s : Str} ;
-oper LinDigit = {s : DForm => Str ; size : Size} ;
-lincat Digit = LinDigit ;
-lincat Sub10 = LinDigit ;
-oper LinSub100 = {s : S100 => Str ; size : Size} ;
-lincat Sub100 = LinSub100 ;
-lincat Sub1000 = {s : Str ; s2 : Str ; size : Size } ;
-lincat Sub1000000 = {s : Str} ;
-
-oper mkNum : Str -> Str -> LinDigit = \hulatt -> \haya ->
- {s = table {unit => hulatt ; ten => haya} ; size = pl} ;
-
-lin num x0 =
- {s = "/L" ++ x0.s ++ "L/"} ;
-lin n2 = mkNum "qoyar" "qorin" ;
-lin n3 = mkNum "Gurban" "guc^in" ;
-lin n4 = mkNum "dörbän" "döc^in" ;
-lin n5 = mkNum "tabun" "tabin" ;
-lin n6 = mkNum "j^irGu'an" "j^irin" ;
-lin n7 = mkNum "dolo'an" "dalan" ;
-lin n8 = mkNum "naiman" "nayan" ;
-lin n9 = mkNum "yisün" "j^arin" ;
-
-oper ss1 : Str -> Str -> Str -> LinSub100 = \assir -> \ten -> \unitpart ->
- {s = table {indep => assir ; tenpart => ten ; tenelfu => [] ; sihpart => unitpart} ; size = tenplus } ;
-
-oper ss : Str -> Str -> Str -> LinSub100 = \assir -> \ten -> \unitpart ->
- {s = table {indep => assir ; tenpart => ten ; tenelfu => ten ; sihpart => unitpart} ; size = tenplus } ;
-
-lin pot01 =
- {s = table {unit => "nigän" ; ten => "arban" }; size = sg};
-lin pot0 d = d ;
-lin pot110 = ss1 "arban" "nigän" [] ;
-lin pot111 = ss1 ("arban" ++ "nigän") "nigän" "mingGan" ;
-lin pot1to19 d = ss1 ("arban" ++ d.s ! unit) "nigän" (mkmingGan d.size (d.s ! unit)) ;
-lin pot0as1 n = {s = table {indep => n.s ! unit ; sihpart => mkmingGan n.size (n.s ! unit) ; _ => [] } ; size = n.size} ;
-lin pot1 d = ss (d.s ! ten) (d.s ! unit) [] ;
-lin pot1plus d e = ss ((d.s ! ten) ++ (e.s ! unit))
- (d.s ! unit)
- (mkmingGan e.size (e.s ! unit));
-
-lin pot1as2 n = {s = n.s ! indep ; s2 = n.s ! tenelfu ++ "tümän" ++ n.s ! sihpart ; size = n.size} ;
-
-lin pot2 d = {s = (sel d.size [] (d.s ! unit)) ++ "j^a'un" ;
- s2 = sel d.size "arban" (d.s ! ten) ; size = tenplus} ;
-lin pot2plus d e = {s = (sel d.size [] (d.s ! unit)) ++ "j^a'un" ++ e.s ! indep ; s2 = d.s ! ten ++ e.s ! tenpart ++ "tümän" ++ e.s ! sihpart ; size = tenplus} ;
-lin pot2as3 n = {s = n.s} ;
-lin pot3 n = {s = table {pl => n.s ++ "mingGan" ; sg => "mingGan" ; tenplus => n.s2 } ! n.size} ;
-lin pot3plus n m = {s = table {pl => n.s ++ "mingGan" ; sg => "mingGan" ; tenplus => n.s2 } ! n.size ++ m.s} ;
-
-oper mkmingGan : Size -> Str -> Str = \sz -> \attr -> (sel sz [] attr) ++ "mingGan" ;
-
-oper sel : Size -> Str -> Str -> Str = \sz -> \a -> \b -> table {sg => a ; _ => b} ! sz ; \ No newline at end of file
diff --git a/grammars/numerals/old/nenets.gf b/grammars/numerals/old/nenets.gf
deleted file mode 100644
index 6ab6cb44b..000000000
--- a/grammars/numerals/old/nenets.gf
+++ /dev/null
@@ -1,67 +0,0 @@
-include numerals.Abs.gf ;
-
--- #n-
--- #t-
--- #l-
--- #s' with , ontop of s
--- #N for n with a thing on the right leg i.e IPA [ng]
--- #|~ a vertical tilde in thge top right corner
-
-param DForm = unit | teen ;
-param Size = sg | nine | pl ;
-
-oper LinDigit = {s : DForm => Str ; size : Size } ;
-oper LinS100 = {s : Str ; size : Size} ;
-
-lincat Numeral = {s : Str} ;
-lincat Digit = LinDigit ;
-lincat Sub10 = LinDigit ;
-lincat Sub100 = LinS100 ;
-lincat Sub1000 = LinS100 ;
-lincat Sub1000000 = {s : Str} ;
-lin num x0 =
- {s = x0.s } ; -- TODO Encoding
-
-oper mkNum : Str -> Str -> LinDigit =
- \u -> \t -> {s = table {unit => u ; teen => t } ; size = pl} ;
-
-lin n2 = mkNum (variants {"side"; "sidea"}) "sidejaNan-â|~" ;
-lin n3 = mkNum (variants {"n-ahar" ; "nâr"}) "n-aharaNan-â|~" ;
-lin n4 = mkNum (variants {"t-êt" ; "t-iet" ; "tiet"}) "t-êtaNan-â|~" ;
-lin n5 = mkNum (variants {"saml-aN" ; "sambl-aN" ; "sambel-ank" })
- "saml-an-aNan-â|~";
-lin n6 = mkNum "mat'" "mat-aNan-â|~";
-lin n7 = mkNum (variants {"siu" ; "s'eu"}) "siujaNan-â|~" ;
-lin n8 = mkNum "sidend-êt" "sidend-êtaNan-â|~" ;
-lin n9 = {s = table {unit => variants {"hâsawaju'" ; "habeiju'"} ;
- teen => "hâsawajujaNan-â|~" } ;
- size = nine} ;
-
-oper ss : Str -> LinS100 = \s1 -> {s = s1 ; size = pl} ;
-
-lin pot01 =
- {s = table {unit => variants {"~ob" ; "~opoi" } ; _ => "dummy" }; size = sg};
-lin pot0 d = d ;
-lin pot110 = ss (variants {"ju'" ; "lûcaju'" ; "lûsaju'" }) ;
-lin pot111 = ss (variants {"~objaNan-â|~"; "~objaNn-â" ; "~objaNa"}) ;
-lin pot1to19 d = ss (d.s ! teen) ;
-lin pot0as1 n = {s = n.s ! unit ; size = n.size} ;
-lin pot1 d = ss (ifnine d.size (d.s ! unit)) ;
-lin pot1plus d e = ss ((ifnine d.size (d.s ! unit)) ++ (e.s ! unit)) ;
-lin pot1as2 n = n ;
-lin pot2 d = ss (mkjur d.size (d.s ! unit)) ;
-lin pot2plus d e = ss ((mkjur d.size (d.s ! unit)) ++ e.s) ;
-lin pot2as3 n = {s = n.s } ;
-lin pot3 n = {s = mkjuonar n.size n.s } ;
-lin pot3plus n m = {s = (mkjuonar n.size n.s) ++ m.s } ;
-
-oper mkjuonar : Size -> Str -> Str = \sz -> \attr ->
- table {nine => attr ++ "juonar" ;
- sg => variants {"juonar" ; "jônar" ; "ju" ++ "jur"} ;
- pl => attr ++ "juonar" } ! sz ;
-
-oper mkjur : Size -> Str -> Str = \sz -> \attr ->
- table {sg => "jur" ; _ => attr ++ "jur" } ! sz ;
-
-oper ifnine : Size -> Str -> Str = \sz -> \attr ->
- table {nine => "hâsawajur" ; _ => attr ++ "ju'" } ! sz ; \ No newline at end of file
diff --git a/grammars/numerals/old/numerals.Abs.gf b/grammars/numerals/old/numerals.Abs.gf
deleted file mode 100644
index 90aae3cb7..000000000
--- a/grammars/numerals/old/numerals.Abs.gf
+++ /dev/null
@@ -1,32 +0,0 @@
--- numerals from 1 to 999999 in decimal notation
-
-flags startcat=Numeral ;
-
-cat
- Numeral ; -- 0..
- Digit ; -- 2..9
- Sub10 ; -- 1..9
- Sub100 ; -- 1..99
- Sub1000 ; -- 1..999
- Sub1000000 ; -- 1..999999
-
-fun
- num : Sub1000000 -> Numeral ;
-
- n2, n3, n4, n5, n6, n7, n8, n9 : Digit ;
-
- pot01 : Sub10 ; -- 1
- pot0 : Digit -> Sub10 ; -- d * 1
- pot110 : Sub100 ; -- 10
- pot111 : Sub100 ; -- 11
- pot1to19 : Digit -> Sub100 ; -- 10 + d
- pot0as1 : Sub10 -> Sub100 ; -- coercion of 1..9
- pot1 : Digit -> Sub100 ; -- d * 10
- pot1plus : Digit -> Sub10 -> Sub100 ; -- d * 10 + n
- pot1as2 : Sub100 -> Sub1000 ; -- coercion of 1..99
- pot2 : Sub10 -> Sub1000 ; -- m * 100
- pot2plus : Sub10 -> Sub100 -> Sub1000 ; -- m * 100 + n
- pot2as3 : Sub1000 -> Sub1000000 ; -- coercion of 1..999
- pot3 : Sub1000 -> Sub1000000 ; -- m * 1000
- pot3plus : Sub1000 -> Sub1000 -> Sub1000000 ; -- m * 1000 + n
-
diff --git a/grammars/numerals/old/numerals.Ara.gf b/grammars/numerals/old/numerals.Ara.gf
deleted file mode 100644
index 5c2433400..000000000
--- a/grammars/numerals/old/numerals.Ara.gf
+++ /dev/null
@@ -1,88 +0,0 @@
-include numerals.Abs.gf ;
-
-param DForm = unit Place | teen | ten | hund ;
-param Size = small | large | dual ;
-param Place = attr | indep ;
-lincat Numeral = {s : Str} ;
-lincat Digit = {s : DForm => Str ; size : Size} ;
-lincat Sub10 = {s : DForm => Str ; size : Size} ;
-lincat Sub100 = {s : Place => Str ; size : Size} ;
-lincat Sub1000 = {s : Place => Str ; size : Size} ;
-lincat Sub1000000 = {s : Str} ;
-lin num x0 =
- {s = "/-" ++ x0.s ++ "-/"} ; -- the Arabic environment
-
-lin n2 =
- {s = table {(unit attr) => [] ;
- (unit indep) => "avnyn" ;
- teen => "avnj" ;
- ten => "ocryn" ;
- hund => "maOtyn"} ; size = dual} ;
-lin n3 =
- {s = table {(unit _) => "vlavA" ;
- teen => "vlavA" ;
- ten => "vlavyn" ;
- hund => "vlavmaOA"} ; size = small} ;
-lin n4 =
- {s = table {(unit _) => "urboA" ;
- teen => "urboA" ;
- ten => "urboyn" ;
- hund => "urbomaOA"} ; size = small} ;
-lin n5 =
- {s = table {(unit _) => "CmsA" ;
- teen => "CmsA" ;
- ten => "Cmsyn" ;
- hund => "CmsmaOA"} ; size = small} ;
-lin n6 =
- {s = table {(unit _) => "stA" ;
- teen => "stA" ;
- ten => "styn" ;
- hund => "stmaOA"} ; size = small} ;
-lin n7 =
- {s = table {(unit _) => "sboA" ;
- teen => "sboA" ;
- ten => "sboyn" ;
- hund => "sbomaOA"} ; size = small} ;
-lin n8 =
- {s = table {(unit _) => "vmanyA" ;
- teen => "vmanyA" ;
- ten => "vmanyn" ;
- hund => "vmanmaOA"} ; size = small} ;
-lin n9 =
- {s = table {(unit _) => "tsoA" ;
- teen => "tsoA" ;
- ten => "tsoyn" ;
- hund => "tsomaOA"} ; size = small} ;
-
-lin pot01 =
- {s = table {hund => "maOA"; (unit attr) => [] ; f => "waHd"} ; size = large} ;
-lin pot0 d =
- {s = d.s ; size = d.size} ;
-lin pot110 =
- {s = table {_ => "ocrA"} ; size = small} ;
-lin pot111 =
- {s = table {_ => "aHd" ++ "ocr"} ; size = large} ;
-lin pot1to19 d =
- {s = table {_ => d.s ! teen ++ "ocr"} ; size = large} ;
-lin pot0as1 n =
- {s = table {p => n.s ! unit p} ; size = n.size} ;
-lin pot1 d =
- {s = table {_ => d.s ! ten} ; size = large} ;
-lin pot1plus d e =
- {s = table {_ => e.s ! unit indep ++ "w" ++ d.s ! ten} ; size = large} ;
-lin pot1as2 n =
- {s = n.s ; size = n.size} ;
-lin pot2 d =
- {s = table {_ => d.s ! hund} ; size = large} ;
-lin pot2plus d e =
- {s = table {_ => d.s ! hund ++ "w" ++ e.s ! indep} ; size = large} ;
-lin pot2as3 n =
- {s = n.s ! indep} ;
-lin pot3 n =
- {s = n.s ! attr ++ Alf ! n.size} ;
-lin pot3plus n m =
- {s = n.s ! attr ++ Alf ! n.size ++ "w" ++ m.s ! indep} ;
-
-oper Alf : Size => Str =
- table {{small} => "Ulaf" ; {dual} => "alfyn" ; _ => "alf"} ;
-
diff --git a/grammars/numerals/old/numerals.Chi.gf b/grammars/numerals/old/numerals.Chi.gf
deleted file mode 100644
index f80b1fbb5..000000000
--- a/grammars/numerals/old/numerals.Chi.gf
+++ /dev/null
@@ -1,110 +0,0 @@
-include numerals.Abs.gf ;
-
-param Qform = bai | bai0 | shiwan | shiwan0 ;
-param Bform = shi | shi0 | wan | wan0 ;
-param Zero = zero | nozero ;
-oper ling : Zero * Zero => Str =
- table {<{zero},z> => "é›¶" ;
- <z,{zero}> => "é›¶" ;
- <{nozero},{nozero}> => []} ;
-oper Wan : Zero => Str =
- table {{zero} => "万" ;
- {nozero} => []} ;
-lincat Numeral = {s : Str} ;
-lincat Digit = {s : Str} ;
-lincat Sub10 = {s : Str} ;
-lincat Sub100 = {inh : Zero ; s : Bform => Str} ;
-lincat Sub1000 = {inh : Zero ; s : Qform => Str} ;
-lincat Sub1000000 = {s : Str} ;
-lin num x0 =
- {s = x0.s} ;
-lin n2 =
- {s = "è´°"} ;
-lin n3 =
- {s = "å"} ;
-lin n4 =
- {s = "肆"} ;
-lin n5 =
- {s = "ä¼"} ;
-lin n6 =
- {s = "陆"} ;
-lin n7 =
- {s = "柒"} ;
-lin n8 =
- {s = "æŒ"} ;
-lin n9 =
- {s = "玖"} ;
-lin pot01 =
- {s = "壹"} ;
-lin pot0 d =
- {s = d.s} ;
-lin pot110 =
- {inh = nozero ;
- s = table {
- {shi} => "壹拾" ;
- {shi0} => "壹拾" ;
- {wan} => "壹万" ;
- {wan0} => "壹万"}} ;
-lin pot111 =
- {inh = nozero ;
- s = table {
- {shi} => "拾壹" ;
- {shi0} => "壹拾壹" ;
- {wan} => "拾壹万" ;
- {wan0} => "拾壹万"}} ;
-lin pot1to19 d =
- {inh = nozero ;
- s = table {
- {shi} => "壹拾" ++ d.s ;
- {shi0} => "壹拾" ;
- {wan} => "壹万" ++ d.s ++ "仟" ;
- {wan0} => "壹万" ++ d.s ++ "仟"}} ;
-lin pot0as1 n =
- {inh = zero ;
- s = table {
- {shi} => n.s ;
- {shi0} => n.s ;
- {wan} => n.s ++ "仟" ;
- {wan0} => n.s ++ "仟"}} ;
-lin pot1 d =
- {inh = zero ;
- s = table {
- {shi} => d.s ++ "拾" ;
- {shi0} => d.s ++ "拾" ;
- {wan0} => d.s ++ "万" ;
- {wan} => d.s ++ "万"}} ;
-lin pot1plus d e =
- {inh = nozero ;
- s = table {
- {shi} => d.s ++ "拾" ++ e.s ;
- {shi0} => d.s ++ "拾" ++ e.s ;
- {wan} => d.s ++ "万" ++ e.s ++ "仟" ;
- {wan0} => d.s ++ "万" ++ e.s ++ "仟"}} ;
-lin pot1as2 n =
- {inh = zero ;
- s = table {
- {bai} => n.s ! shi ;
- {bai0} => n.s ! shi ;
- {shiwan} => n.s ! wan ;
- {shiwan0} => n.s ! wan0}} ;
-lin pot2 d =
- {inh = zero ;
- s = table {
- {bai} => d.s ++ "ä½°" ;
- {bai0} => d.s ++ "ä½°" ;
- {shiwan0} => d.s ++ "拾万" ;
- {shiwan} => d.s ++ "拾万"}} ;
-lin pot2plus d e =
- {inh = nozero ;
- s = table {
- {bai} => d.s ++ "ä½°" ++ (ling ! <e.inh,e.inh>) ++ e.s ! shi0 ;
- {bai0} => d.s ++ "ä½°" ++ (ling ! <e.inh,e.inh>) ++ e.s ! shi0 ;
- {shiwan} => d.s ++ "拾" ++ (Wan ! (e.inh)) ++ e.s ! wan ;
- {shiwan0} => d.s ++ "拾" ++ (Wan ! (e.inh)) ++ e.s ! wan0}} ;
-lin pot2as3 n =
- {s = n.s ! bai} ;
-lin pot3 n =
- {s = n.s ! shiwan} ;
-lin pot3plus n m =
- {s = (n.s ! shiwan0) ++ (ling ! <n.inh,m.inh>) ++ m.s ! bai0} ;
-
diff --git a/grammars/numerals/old/numerals.ChiU.gf b/grammars/numerals/old/numerals.ChiU.gf
deleted file mode 100644
index f80b1fbb5..000000000
--- a/grammars/numerals/old/numerals.ChiU.gf
+++ /dev/null
@@ -1,110 +0,0 @@
-include numerals.Abs.gf ;
-
-param Qform = bai | bai0 | shiwan | shiwan0 ;
-param Bform = shi | shi0 | wan | wan0 ;
-param Zero = zero | nozero ;
-oper ling : Zero * Zero => Str =
- table {<{zero},z> => "é›¶" ;
- <z,{zero}> => "é›¶" ;
- <{nozero},{nozero}> => []} ;
-oper Wan : Zero => Str =
- table {{zero} => "万" ;
- {nozero} => []} ;
-lincat Numeral = {s : Str} ;
-lincat Digit = {s : Str} ;
-lincat Sub10 = {s : Str} ;
-lincat Sub100 = {inh : Zero ; s : Bform => Str} ;
-lincat Sub1000 = {inh : Zero ; s : Qform => Str} ;
-lincat Sub1000000 = {s : Str} ;
-lin num x0 =
- {s = x0.s} ;
-lin n2 =
- {s = "è´°"} ;
-lin n3 =
- {s = "å"} ;
-lin n4 =
- {s = "肆"} ;
-lin n5 =
- {s = "ä¼"} ;
-lin n6 =
- {s = "陆"} ;
-lin n7 =
- {s = "柒"} ;
-lin n8 =
- {s = "æŒ"} ;
-lin n9 =
- {s = "玖"} ;
-lin pot01 =
- {s = "壹"} ;
-lin pot0 d =
- {s = d.s} ;
-lin pot110 =
- {inh = nozero ;
- s = table {
- {shi} => "壹拾" ;
- {shi0} => "壹拾" ;
- {wan} => "壹万" ;
- {wan0} => "壹万"}} ;
-lin pot111 =
- {inh = nozero ;
- s = table {
- {shi} => "拾壹" ;
- {shi0} => "壹拾壹" ;
- {wan} => "拾壹万" ;
- {wan0} => "拾壹万"}} ;
-lin pot1to19 d =
- {inh = nozero ;
- s = table {
- {shi} => "壹拾" ++ d.s ;
- {shi0} => "壹拾" ;
- {wan} => "壹万" ++ d.s ++ "仟" ;
- {wan0} => "壹万" ++ d.s ++ "仟"}} ;
-lin pot0as1 n =
- {inh = zero ;
- s = table {
- {shi} => n.s ;
- {shi0} => n.s ;
- {wan} => n.s ++ "仟" ;
- {wan0} => n.s ++ "仟"}} ;
-lin pot1 d =
- {inh = zero ;
- s = table {
- {shi} => d.s ++ "拾" ;
- {shi0} => d.s ++ "拾" ;
- {wan0} => d.s ++ "万" ;
- {wan} => d.s ++ "万"}} ;
-lin pot1plus d e =
- {inh = nozero ;
- s = table {
- {shi} => d.s ++ "拾" ++ e.s ;
- {shi0} => d.s ++ "拾" ++ e.s ;
- {wan} => d.s ++ "万" ++ e.s ++ "仟" ;
- {wan0} => d.s ++ "万" ++ e.s ++ "仟"}} ;
-lin pot1as2 n =
- {inh = zero ;
- s = table {
- {bai} => n.s ! shi ;
- {bai0} => n.s ! shi ;
- {shiwan} => n.s ! wan ;
- {shiwan0} => n.s ! wan0}} ;
-lin pot2 d =
- {inh = zero ;
- s = table {
- {bai} => d.s ++ "ä½°" ;
- {bai0} => d.s ++ "ä½°" ;
- {shiwan0} => d.s ++ "拾万" ;
- {shiwan} => d.s ++ "拾万"}} ;
-lin pot2plus d e =
- {inh = nozero ;
- s = table {
- {bai} => d.s ++ "ä½°" ++ (ling ! <e.inh,e.inh>) ++ e.s ! shi0 ;
- {bai0} => d.s ++ "ä½°" ++ (ling ! <e.inh,e.inh>) ++ e.s ! shi0 ;
- {shiwan} => d.s ++ "拾" ++ (Wan ! (e.inh)) ++ e.s ! wan ;
- {shiwan0} => d.s ++ "拾" ++ (Wan ! (e.inh)) ++ e.s ! wan0}} ;
-lin pot2as3 n =
- {s = n.s ! bai} ;
-lin pot3 n =
- {s = n.s ! shiwan} ;
-lin pot3plus n m =
- {s = (n.s ! shiwan0) ++ (ling ! <n.inh,m.inh>) ++ m.s ! bai0} ;
-
diff --git a/grammars/numerals/old/numerals.Dan.gf b/grammars/numerals/old/numerals.Dan.gf
deleted file mode 100644
index d1f97525f..000000000
--- a/grammars/numerals/old/numerals.Dan.gf
+++ /dev/null
@@ -1,44 +0,0 @@
-include numerals.Abs.gf ;
-
--- AR 12/10/2002 following www.geocities.com/tsca.geo/dansk/dknummer.html
-
-param DForm = ental | ton | tiotal ;
-
-lincat Numeral = {s : Str} ;
-lincat Digit = {s : DForm => Str} ;
-lincat Sub10 = {s : DForm => Str} ;
-lincat Sub100 = {s : Str} ;
-lincat Sub1000 = {s : Str} ;
-lincat Sub1000000 = {s : Str} ;
-
-oper mkTal : Str -> Str -> Str -> Lin Digit =
- \to, tolv, tyve ->
- {s = table {ental => to ; ton => tolv ; tiotal => tyve}} ;
-oper regTal : Str -> Lin Digit = \fem -> mkTal fem (fem + "ton") (fem + "tio") ;
-oper ss : Str -> {s : Str} = \s -> {s = s} ;
-
-lin num x = x ;
-
-lin n2 = mkTal "to" "tolv" "tyve" ;
-lin n3 = mkTal "tre" "tretten" "tredive" ;
-lin n4 = mkTal "fire" "fjorten" "fyrre" ;
-lin n5 = mkTal "fem" "femten" "halvtreds" ;
-lin n6 = mkTal "seks" "seksten" "tres" ;
-lin n7 = mkTal "syv" "sytten" "halvfjerds" ;
-lin n8 = mkTal "otte" "atten" "firs" ;
-lin n9 = mkTal "ni" "nitten" "halvfems" ;
-
-lin pot01 = {s = table {f => "en"}} ; ---
-lin pot0 d = {s = table {f => d.s ! f}} ;
-lin pot110 = ss "ti" ;
-lin pot111 = ss "elleve" ;
-lin pot1to19 d = ss (d.s ! ton) ;
-lin pot0as1 n = ss (n.s ! ental) ;
-lin pot1 d = ss (d.s ! tiotal) ;
-lin pot1plus d e = ss (e.s ! ental ++ "og" ++ d.s ! tiotal) ;
-lin pot1as2 n = n ;
-lin pot2 d = ss (d.s ! ental ++ "hundrede") ;
-lin pot2plus d e = ss (d.s ! ental ++ "hundrede" ++ "og" ++ e.s) ;
-lin pot2as3 n = n ;
-lin pot3 n = ss (n.s ++ "tusind") ;
-lin pot3plus n m = ss (n.s ++ "tusind" ++ "og" ++ m.s) ; ---
diff --git a/grammars/numerals/old/numerals.Dec.gf b/grammars/numerals/old/numerals.Dec.gf
deleted file mode 100644
index c27485373..000000000
--- a/grammars/numerals/old/numerals.Dec.gf
+++ /dev/null
@@ -1,43 +0,0 @@
-include numerals.Abs.gf ;
-
-flags lexer=chars ; unlexer=concat ;
-
-param Zeros = noz | zz ;
-
-lincat Sub100 = {s : Zeros => Str} ;
-lincat Sub1000 = {s : Zeros => Str} ;
-lincat Sub1000000 = {s : Zeros => Str} ;
-
-oper ss : Str -> {s : Str} = \s -> {s = s} ;
-oper mkz : Str -> {s : Zeros => Str} = \s -> {s = table {_ => s}} ;
-
-lin num n = {s = n.s ! noz} ;
-lin n2 = ss "2" ;
-lin n3 = ss "3" ;
-lin n4 = ss "4" ;
-lin n5 = ss "5" ;
-lin n6 = ss "6" ;
-lin n7 = ss "7" ;
-lin n8 = ss "8" ;
-lin n9 = ss "9" ;
-
-lin pot01 = ss "1" ;
-lin pot0 d = d ;
-
-lin pot110 = mkz ("1" ++ "0") ;
-lin pot111 = mkz ("1" ++ "1") ;
-lin pot1to19 d = mkz ("1" ++ d.s) ;
-
-lin pot0as1 n = {s = table {noz => n.s ; zz => "0" ++ n.s}} ;
-
-lin pot1 d = mkz (d.s ++ "0") ;
-lin pot1plus d e = mkz (d.s ++ e.s) ;
-
-lin pot1as2 n = {s = table {noz => n.s ! noz ; zz => "0" ++ n.s ! zz}} ;
-lin pot2 d = mkz (d.s ++ "0" ++ "0") ;
-lin pot2plus d e = mkz (d.s ++ e.s ! zz) ;
-
-lin pot2as3 n = {s = table {noz => n.s ! noz ; zz => "0" ++ n.s ! zz}} ;
-
-lin pot3 n = mkz (n.s ! noz ++ "0" ++ "0" ++ "0") ;
-lin pot3plus n m = {s = table {z => n.s ! z ++ m.s ! zz}} ;
diff --git a/grammars/numerals/old/numerals.Deu.gf b/grammars/numerals/old/numerals.Deu.gf
deleted file mode 100644
index 3e7b9990c..000000000
--- a/grammars/numerals/old/numerals.Deu.gf
+++ /dev/null
@@ -1,47 +0,0 @@
-include numerals.Abs.gf ;
-
-param DForm = unit | teen | ten ;
-param Place = indep | prae | attr ;
-
-lincat Numeral = {s : Str} ;
-lincat Digit = {s : DForm => Str} ;
-lincat Sub10 = {s : DForm*Place => Str} ;
-lincat Sub100 = {s : Place => Str} ;
-lincat Sub1000 = {s : Place => Str} ;
-lincat Sub1000000 = {s : Str} ;
-
-oper mkZahl : Str -> Str -> Str -> Lin Digit =
- \två -> \tolv -> \tjugo ->
- {s = table {unit => två ; teen => tolv ; ten => tjugo}} ;
-oper regZahl : Str -> Lin Digit =
- \vier -> mkZahl vier (vier + "zehn") (vier + "zig") ;
-oper ss : Str -> {s : Str} = \s -> {s = s} ;
-
-lin num x = x ;
-
-lin n2 = mkZahl "zwei" "zwölf" "zwanzig" ;
-lin n3 = mkZahl "drei" "dreizehn" "dreissig" ;
-lin n4 = regZahl "vier" ;
-lin n5 = regZahl "fünf" ;
-lin n6 = regZahl "sechs" ;
-lin n7 = mkZahl "sieben" "siebzehn" "siebzig" ;
-lin n8 = regZahl "acht" ;
-lin n9 = regZahl "neun" ;
-
-lin pot01 = {s = table {<f,indep> => "eins" ; <f,prae> => "ein" ; <f,attr> => []}} ;
-lin pot0 d = {s = table {<f,p> => d.s ! f}} ;
-lin pot110 = {s = table {p => "zehn"}} ;
-lin pot111 = {s = table {p => "elf"}} ;
-lin pot1to19 d = {s = table {p => d.s ! teen}} ;
-lin pot0as1 n = {s = table {p => n.s ! <unit,p>}} ;
-lin pot1 d = {s = table {p => d.s ! ten}} ;
-lin pot1plus d e = {s = table {p => e.s ! <unit,prae> ++ "und" ++ d.s ! ten}} ;
-lin pot1as2 n = {s = table {p => n.s ! p}} ;
-lin pot2 d = {s = table {p => d.s ! <unit,attr> ++ "hundert"}} ;
-lin pot2plus d e = {s = table {
- attr => d.s ! <unit,attr> ++ "hundert" ++ e.s ! prae ;
- _ => d.s ! <unit,attr> ++ "hundert" ++ e.s ! indep}} ;
-lin pot2as3 n = ss (n.s ! indep) ;
-lin pot3 n = ss (n.s ! attr ++ "tausend") ;
-lin pot3plus n m = ss (n.s ! attr ++ "tausend" ++ m.s ! prae) ;
-
diff --git a/grammars/numerals/old/numerals.Eng.gf b/grammars/numerals/old/numerals.Eng.gf
deleted file mode 100644
index d4aa3e3de..000000000
--- a/grammars/numerals/old/numerals.Eng.gf
+++ /dev/null
@@ -1,39 +0,0 @@
-include numerals.Abs.gf ;
-
-param DForm = unit | teen | ten ;
-
-lincat Digit = {s : DForm => Str} ;
-lincat Sub10 = {s : DForm => Str} ;
-
-oper mkNum : Str -> Str -> Str -> Lin Digit =
- \two -> \twelve -> \twenty ->
- {s = table {unit => two ; teen => twelve ; ten => twenty}} ;
-oper regNum : Str -> Lin Digit =
- \six -> mkNum six (six + "teen") (six + "ty") ;
-oper ss : Str -> {s : Str} = \s -> {s = s} ;
-
-lin num x = x ;
-lin n2 = mkNum "two" "twelve" "twenty" ;
-lin n3 = mkNum "three" "thirteen" "thirty" ;
-lin n4 = mkNum "four" "fourteen" "forty" ;
-lin n5 = mkNum "five" "fifteen" "fifty" ;
-lin n6 = regNum "six" ;
-lin n7 = regNum "seven" ;
-lin n8 = mkNum "eight" "eighteen" "eighty" ;
-lin n9 = regNum "nine" ;
-
-lin pot01 = {s = table {f => "one"}} ;
-lin pot0 d = {s = table {f => d.s ! f}} ;
-lin pot110 = ss "ten" ;
-lin pot111 = ss "eleven" ;
-lin pot1to19 d = {s = d.s ! teen} ;
-lin pot0as1 n = {s = n.s ! unit} ;
-lin pot1 d = {s = d.s ! ten} ;
-lin pot1plus d e = {s = d.s ! ten ++ "-" ++ e.s ! unit} ;
-lin pot1as2 n = n ;
-lin pot2 d = {s = d.s ! unit ++ "hundred"} ;
-lin pot2plus d e = {s = d.s ! unit ++ "hundred" ++ "and" ++ e.s} ;
-lin pot2as3 n = n ;
-lin pot3 n = {s = n.s ++ "thousand"} ;
-lin pot3plus n m = {s = n.s ++ "thousand" ++ m.s} ;
-
diff --git a/grammars/numerals/old/numerals.Fra.gf b/grammars/numerals/old/numerals.Fra.gf
deleted file mode 100644
index 532a4598d..000000000
--- a/grammars/numerals/old/numerals.Fra.gf
+++ /dev/null
@@ -1,60 +0,0 @@
-include numerals.Abs.gf ;
-
-param DForm = unit | teen | jten | ten | tenplus ;
-param Nm = sg | pl ;
-param Place = indep | attr ;
-
-
-lincat Numeral = {s : Str} ;
-lincat Digit = {inh : DForm ; inh1 : Nm ; s : DForm => Str} ;
-lincat Sub10 = {inh : Nm ; s : {p1 : DForm ; p2 : Place} => Str} ;
-lincat Sub100 = {s : Place => Str} ;
-lincat Sub1000 = {s : Place => Str} ;
-lincat Sub1000000 = {s : Str} ;
-
-lin num x0 =
- {s = x0.s} ;
-lin n2 =
- {inh = unit ; inh1 = sg ; s = table {unit => "deux" ; teen => "douze" ; jten => "vingt" ; ten => "vingt" ; tenplus => "vingt"}} ;
-lin n3 =
- {inh = unit ; inh1 = sg ; s = table {unit => "trois" ; teen => "treize" ; jten => "trente" ; ten => "trente" ; tenplus => "trente"}} ;
-lin n4 =
- {inh = unit ; inh1 = sg ; s = table {unit => "quatre" ; teen => "quatorze" ; jten => "quarante" ; ten => "quarante" ; tenplus => "quarante"}} ;
-lin n5 =
- {inh = unit ; inh1 = sg ; s = table {unit => "cinq" ; teen => "quinze" ; jten => "cinquante" ; ten => "cinquante" ; tenplus => "cinquante"}} ;
-lin n6 =
- {inh = unit ; inh1 = sg ; s = table {unit => "six" ; teen => "seize" ; jten => "soixante" ; ten => "soixante" ; tenplus => "soixante"}} ;
-lin n7 =
- {inh = teen ; inh1 = sg ; s = table {unit => "sept" ; teen => "dix" ++ "-" ++ "sept" ; jten => "soixante" ++ "-" ++ "dix" ; ten => "soixante" ++ "-" ++ "dix" ; tenplus => "soixante"}} ;
-lin n8 =
- {inh = unit ; inh1 = pl ; s = table {unit => "huit" ; teen => "dix" ++ "-" ++ "huit" ; jten => "quatre" ++ "-" ++ "vingts" ; ten => "quatre" ++ "-" ++ "vingt" ; tenplus => "quatre" ++ "-" ++ "vingt"}} ;
-lin n9 =
- {inh = teen ; inh1 = pl ; s = table {unit => "neuf" ; teen => "dix" ++ "-" ++ "neuf" ; jten => "quatre" ++ "-" ++ "vingt" ++ "-" ++ "dix" ; ten => "quatre" ++ "-" ++ "vingt" ++ "-" ++ "dix" ; tenplus => "quatre" ++ "-" ++ "vingt"}} ;
-lin pot01 =
- {inh = sg ; s = table {{p1 = unit ; p2 = indep} => "un" ; {p1 = unit ; p2 = attr} => [] ; {p1 = teen ; p2 = indep} => "onze" ; {p1 = teen ; p2 = attr} => [] ; {p1 = jten ; p2 = indep} => "dix" ; {p1 = jten ; p2 = attr} => [] ; {p1 = ten ; p2 = indep} => "dix" ; {p1 = ten ; p2 = attr} => [] ; {p1 = tenplus ; p2 = indep} => "dix" ; {p1 = tenplus ; p2 = attr} => []}} ;
-lin pot0 d =
- {inh = pl ; s = table {{p1 = unit ; p2 = indep} => d.s ! unit ; {p1 = unit ; p2 = attr} => d.s ! unit ; {p1 = teen ; p2 = indep} => d.s ! teen ; {p1 = teen ; p2 = attr} => d.s ! teen ; {p1 = jten ; p2 = indep} => d.s ! jten ; {p1 = jten ; p2 = attr} => d.s ! jten ; {p1 = ten ; p2 = indep} => d.s ! ten ; {p1 = ten ; p2 = attr} => d.s ! ten ; {p1 = tenplus ; p2 = indep} => d.s ! tenplus ; {p1 = tenplus ; p2 = attr} => d.s ! tenplus}} ;
-lin pot110 =
- {s = table {indep => "dix" ; attr => "dix"}} ;
-lin pot111 =
- {s = table {indep => "onze" ; attr => "onze"}} ;
-lin pot1to19 d =
- {s = table {indep => d.s ! teen ; attr => d.s ! teen}} ;
-lin pot0as1 n =
- {s = table {indep => n.s ! {p1 = unit ; p2 = indep} ; attr => n.s ! {p1 = unit ; p2 = attr}}} ;
-lin pot1 d =
- {s = table {indep => d.s ! jten ; attr => d.s ! ten}} ;
-lin pot1plus d e =
- {s = table {indep => (d.s ! tenplus) ++ (table {{p1 = sg ; p2 = sg} => "et" ; {p1 = sg ; p2 = pl} => "-" ; {p1 = pl ; p2 = sg} => "-" ; {p1 = pl ; p2 = pl} => "-"} ! {p1 = d.inh1 ; p2 = e.inh}) ++ e.s ! {p1 = d.inh ; p2 = indep} ; attr => (d.s ! tenplus) ++ (table {{p1 = sg ; p2 = sg} => "et" ; {p1 = sg ; p2 = pl} => "-" ; {p1 = pl ; p2 = sg} => "-" ; {p1 = pl ; p2 = pl} => "-"} ! {p1 = d.inh1 ; p2 = e.inh}) ++ e.s ! {p1 = d.inh ; p2 = indep}}} ;
-lin pot1as2 n =
- {s = table {indep => n.s ! indep ; attr => n.s ! attr}} ;
-lin pot2 d =
- {s = table {indep => (d.s ! {p1 = unit ; p2 = attr}) ++ table {sg => "cent" ; pl => "cents"} ! (d.inh) ; attr => (d.s ! {p1 = unit ; p2 = attr}) ++ "cent"}} ;
-lin pot2plus d e =
- {s = table {indep => (d.s ! {p1 = unit ; p2 = attr}) ++ "cent" ++ e.s ! indep ; attr => (d.s ! {p1 = unit ; p2 = attr}) ++ "cent" ++ e.s ! indep}} ;
-lin pot2as3 n =
- {s = n.s ! indep} ;
-lin pot3 n =
- {s = (n.s ! attr) ++ "mille"} ;
-lin pot3plus n m =
- {s = (n.s ! attr) ++ "mille" ++ m.s ! indep} ;
diff --git a/grammars/numerals/old/numerals.Gre.gf b/grammars/numerals/old/numerals.Gre.gf
deleted file mode 100644
index b88065bfc..000000000
--- a/grammars/numerals/old/numerals.Gre.gf
+++ /dev/null
@@ -1,92 +0,0 @@
-include numerals.Abs.gf ;
-
-param DForm = unit | teen | ten | hund ;
-param Place = attr | indep ;
-param Size = sg | pl ;
-lincat Numeral = {s : Str} ;
-lincat Digit = {s : DForm => Str} ;
-lincat Sub10 = {s : Place => DForm => Str ; size : Size} ;
-lincat Sub100 = {s : Place => Str ; size : Size} ;
-lincat Sub1000 = {s : Place => Str ; size : Size} ;
-lincat Sub1000000 = {s : Str} ;
-lin num x0 =
- {s = "//" ++ x0.s ++ "//"} ; -- Greek environment
-
-lin n2 =
- {s = table {{unit} => "d'yo" ;
- {teen} => "d'wdeka" ;
- {ten} => "e)'ikosi" ;
- {hund} => "diak'osioi"}} ;
-lin n3 =
- {s = table {{unit} => "tre~ij" ;
- {teen} => "tre~ij" ++ "ka`i" ++ "d'eka" ;
- {ten} => "tri'akonta" ;
- {hund} => "triak'osioi"}} ;
-lin n4 =
- {s = table {{unit} => "t'ettarej" ;
- {teen} => "t'ettarej" ++ "ka`i" ++ "d'eka" ;
- {ten} => "tettar'akonta" ;
- {hund} => "tetrak'osioi"}} ;
-lin n5 =
- {s = table {{unit} => "p'ente" ;
- {teen} => "penteka'ideka" ;
- {ten} => "pent'hkonta" ;
- {hund} => "pentak'osioi"}} ;
-lin n6 =
- {s = table {{unit} => "('ex" ;
- {teen} => "(ekka'ideka" ;
- {ten} => "(ex'hkonta" ;
- {hund} => "(exak'osioi"}} ;
-lin n7 =
- {s = table {{unit} => "(ept'a" ;
- {teen} => "(eptaka'ideka" ;
- {ten} => "(ebdom'hkonta" ;
- {hund} => "(eptak'osioi"}} ;
-lin n8 =
- {s = table {{unit} => ")okt'w" ;
- {teen} => ")oktwka'ideka" ;
- {ten} => ")ogdo'hkonta" ;
- {hund} => ")oktako'sioi"}} ;
-lin n9 =
- {s = table {{unit} => ")enn'ea" ;
- {teen} => ")enneaka'ideka" ;
- {ten} => ")enen'hkonta" ;
- {hund} => ")enak'osioi"}} ;
-
-
-lin pot01 =
- {s = table {{attr} => table {{hund} => "(ekat'on" ; _ => []} ;
- _ => table {{hund} => "(ekat'on" ; f => "e('ij"}} ; size = sg} ;
-lin pot0 d =
- {s = table {_ => d.s} ; size = pl} ;
-lin pot110 =
- {s = table {_ => "d'eka"} ; size = pl} ;
-lin pot111 =
- {s = table {_ => "('endeka"} ; size = pl} ;
-lin pot1to19 d =
- {s = table {_ => d.s ! teen} ; size = pl} ;
-lin pot0as1 n =
- {s = table {p => n.s ! p ! unit} ; size = n.size} ;
-lin pot1 d =
- {s = table {_ => d.s ! ten} ; size = pl} ;
-lin pot1plus d e =
- {s = table {_ => d.s ! ten ++ e.s ! indep ! unit} ; size = pl} ;
-lin pot1as2 n =
- {s = n.s ; size = n.size} ;
-lin pot2 d =
- {s = table {p => d.s ! p ! hund} ; size = pl} ;
-lin pot2plus d e =
- {s = table {p => d.s ! p ! hund ++ e.s ! indep} ; size = pl} ;
-lin pot2as3 n =
- {s = n.s ! indep} ;
-lin pot3 n =
- {s = n.s ! attr ++ "c'ilioi"} ;
-lin pot3plus n m =
- {s = n.s ! attr ++ "c'ilioi" ++ m.s ! indep} ;
-
---- TODO
---- 2000 discilioi-3
---- 10000 myrioi-3
---- 20000 dismyrioi-3
-
-
diff --git a/grammars/numerals/old/numerals.Heb.gf b/grammars/numerals/old/numerals.Heb.gf
deleted file mode 100644
index 5f38915dc..000000000
--- a/grammars/numerals/old/numerals.Heb.gf
+++ /dev/null
@@ -1,88 +0,0 @@
-include numerals.Abs.gf ;
-
-param DForm = unit Place | cons | ten | hund ;
-param Size = small | large | dual ;
-param Place = attr | indep ;
-lincat Numeral = {s : Str} ;
-lincat Digit = {s : DForm => Str ; size : Size} ;
-lincat Sub10 = {s : DForm => Str ; size : Size} ;
-lincat Sub100 = {s : Place => Str ; size : Size} ;
-lincat Sub1000 = {s : Place => Str ; size : Size} ;
-lincat Sub1000000 = {s : Str} ;
-lin num x0 =
- {s = "/+" ++ x0.s ++ "+/"} ; -- the Hebrew environment
-
-lin n2 =
- {s = table {(unit attr) => [] ;
- (unit indep) => "snyM" ;
- cons => "sny" ;
- ten => "osryM" ;
- hund => "matyM"} ; size = dual} ;
-lin n3 =
- {s = table {(unit _) => "slsh" ;
- cons => "slst" ;
- ten => "slsyM" ;
- hund => "sls-mawt"} ; size = small} ;
-lin n4 =
- {s = table {(unit _) => "arboh" ;
- cons => "arbot" ;
- ten => "arboyM" ;
- hund => "arbo-mawt"} ; size = small} ;
-lin n5 =
- {s = table {(unit _) => "Hmsh" ;
- cons => "Hmst" ;
- ten => "HmsyM" ;
- hund => "Hms-mawt"} ; size = small} ;
-lin n6 =
- {s = table {(unit _) => "ssh" ;
- cons => "sst" ;
- ten => "ssyM" ;
- hund => "ss-mawt"} ; size = small} ;
-lin n7 =
- {s = table {(unit _) => "sboh" ;
- cons => "sbot" ;
- ten => "sboyM" ;
- hund => "sbo-mawt"} ; size = small} ;
-lin n8 =
- {s = table {(unit _) => "smwnh" ;
- cons => "smwnt" ;
- ten => "smwnyM" ;
- hund => "smwnh-mawt"} ; size = small} ;
-lin n9 =
- {s = table {(unit _) => "tsoh" ;
- cons => "tsot" ;
- ten => "tsoyM" ;
- hund => "tso-mawt"} ; size = small} ;
-
-lin pot01 =
- {s = table {hund => "mah"; (unit attr) => [] ; f => "aHd"} ; size = large} ;
-lin pot0 d =
- {s = d.s ; size = d.size} ;
-lin pot110 =
- {s = table {_ => "osr"} ; size = small} ;
-lin pot111 =
- {s = table {_ => "aHd" ++ "-" ++ "osr"} ; size = large} ;
-lin pot1to19 d =
- {s = table {_ => d.s ! unit indep ++ "-" ++ "osr"} ; size = large} ;
-lin pot0as1 n =
- {s = table {p => n.s ! unit p} ; size = n.size} ;
-lin pot1 d =
- {s = table {_ => d.s ! ten} ; size = large} ;
-lin pot1plus d e =
- {s = table {_ => d.s ! ten ++ "w" ++ e.s ! unit indep} ; size = large} ;
-lin pot1as2 n =
- {s = n.s ; size = n.size} ;
-lin pot2 d =
- {s = table {_ => d.s ! hund} ; size = large} ;
-lin pot2plus d e =
- {s = table {_ => d.s ! hund ++ "w" ++ e.s ! indep} ; size = large} ;
-lin pot2as3 n =
- {s = n.s ! indep} ;
-lin pot3 n =
- {s = n.s ! attr ++ Alf ! n.size} ;
-lin pot3plus n m =
- {s = n.s ! attr ++ Alf ! n.size ++ "w" ++ m.s ! indep} ;
-
-oper Alf : Size => Str =
- table {{small} => "alpyM" ; {dual} => "alpyM" ; _ => "alP"} ;
-
diff --git a/grammars/numerals/old/numerals.Ita.gf b/grammars/numerals/old/numerals.Ita.gf
deleted file mode 100644
index 29e15cd7b..000000000
--- a/grammars/numerals/old/numerals.Ita.gf
+++ /dev/null
@@ -1,45 +0,0 @@
-include numerals.Abs.gf ;
-
-param DForm = ental Pred | ton | tiotal ;
-param Num = sg | pl ;
-param Pred = pred | indip ;
-
-lincat Digit = {s : DForm => Str} ;
-lincat Sub10 = {s : DForm => Str ; n : Num} ;
-lincat Sub100 = {s : Str ; n : Num} ;
-lincat Sub1000 = {s : Str ; n : Num} ;
-lincat Sub1000000 = {s : Str} ;
-
-oper mkTal : Str -> Str -> Str -> Lin Digit =
- \två -> \tolv -> \tjugo ->
- {s = table {ental _ => två ; ton => tolv ; tiotal => tjugo}} ;
-oper ss : Str -> {s : Str} = \s -> {s = s} ;
-oper spl : Str -> {s : Str ; n : Num} = \s -> {s = s ; n = pl} ;
-oper mille : Num => Str = table {sg => "mille" ; pl => "mila"} ;
-
-lin num x = x ;
-
-lin n2 = mkTal "due" "dodici" "venti" ;
-lin n3 = mkTal "tre" "tredici" "trenta" ;
-lin n4 = mkTal "quattro" "quattordici" "quaranta" ;
-lin n5 = mkTal "cinque" "quindici" "cinquanta" ;
-lin n6 = mkTal "sei" "sedici" "sessanta" ;
-lin n7 = mkTal "sette" "diciassette" "settanta" ;
-lin n8 = mkTal "otto" "diciotto" "ottanta" ;
-lin n9 = mkTal "nove" "diciannove" "novanta" ;
-
-lin pot01 = {s = table {ental pred => [] ; _ => "uno"} ; n = sg} ;
-lin pot0 d = {s = table {f => d.s ! f} ; n = pl} ;
-lin pot110 = spl "dieci" ;
-lin pot111 = spl "undici" ;
-lin pot1to19 d = spl (d.s ! ton) ;
-lin pot0as1 n = {s = n.s ! ental indip ; n = n.n} ;
-lin pot1 d = spl (d.s ! tiotal) ;
-lin pot1plus d e = spl (d.s ! tiotal ++ e.s ! ental indip) ;
-lin pot1as2 n = {s = n.s ; n = n.n} ;
-lin pot2 d = spl (d.s ! ental pred ++ "cento") ;
-lin pot2plus d e = spl (d.s ! ental pred ++ "cento" ++ e.s) ;
-lin pot2as3 n = {s = n.s ; n = n.n} ;
-lin pot3 n = ss (n.s ++ mille ! n.n) ;
-lin pot3plus n m = ss (n.s ++ mille ! n.n ++ m.s) ;
-
diff --git a/grammars/numerals/old/numerals.Mag.gf b/grammars/numerals/old/numerals.Mag.gf
deleted file mode 100644
index 2489fb6ef..000000000
--- a/grammars/numerals/old/numerals.Mag.gf
+++ /dev/null
@@ -1,61 +0,0 @@
-include numerals.Abs.gf ;
-
--- by Patrik Jansson, Chalmers
-
-param DForm = ental | tiotal ;
-param Place = attr | indep ;
-lincat Numeral = {s : Str} ;
-lincat Digit = {s : (DForm*Place) => Str} ;
-lincat Sub10 = {s : (DForm*Place) => Str} ;
-lincat Sub100 = {s : Place => Str} ;
-lincat Sub1000 = {s : Place => Str} ;
-lincat Sub1000000 = {s : Str} ;
-lin num x0 =
- {s = x0.s} ;
-lin n2 =
- {s = table {<ental,indep> => "kettö" ;
- <tiotal,indep> => "húsz" ;
- <ental,attr> => "két" ;
- <tiotal, attr> => "huszon"}} ;
-lin n3 =
- {s = table {<ental,p> => "három" ; <tiotal,p> => "harminc"}} ;
-lin n4 =
- {s = table {<ental,p> => "négy" ; <tiotal,p> => "negyven"}} ;
-lin n5 =
- {s = table {<ental,p> => "öt" ; <tiotal,p> => "ötven"}} ;
-lin n6 =
- {s = table {<ental,p> => "hat" ; <tiotal,p> => "hatvan"}} ;
-lin n7 =
- {s = table {<ental,p> => "hét" ; <tiotal,p> => "hetven"}} ;
-lin n8 =
- {s = table {<ental,p> => "nyolc" ; <tiotal,p> => "nyolcvan"}} ;
-lin n9 =
- {s = table {<ental,p> => "kilenc" ; <tiotal,p> => "kilencven"}} ;
-lin pot01 =
- {s = table {<f,attr> => [] ; <f,indep> => "egy"}} ;
-lin pot0 d =
- {s = table {<f,p> => d.s ! <f,p>}} ;
-lin pot110 =
- {s = table {p => "tíz"}} ;
-lin pot111 =
- {s = table {p => "tizen" ++ "egy"}} ;
-lin pot1to19 d =
- {s = table {p => "tizen" ++ d.s ! <ental,indep>}} ;
-lin pot0as1 n =
- {s = table {p => n.s ! <ental,p>}} ;
-lin pot1 d =
- {s = table {p => d.s ! <tiotal,indep>}} ;
-lin pot1plus d e =
- {s = table {p => (d.s ! <tiotal,attr>) ++ e.s ! <ental,indep>}} ;
-lin pot1as2 n =
- {s = table {p => n.s ! p}} ;
-lin pot2 d =
- {s = table {p => (d.s ! <ental,attr>) ++ "száz"}} ;
-lin pot2plus d e =
- {s = table {p => (d.s ! <ental,attr>) ++ "száz" ++ e.s ! indep}} ;
-lin pot2as3 n =
- {s = n.s ! indep} ;
-lin pot3 n =
- {s = n.s ! attr ++ "ezer"} ;
-lin pot3plus n m =
- {s = n.s ! attr ++ "ezer" ++ m.s ! indep} ;
diff --git a/grammars/numerals/old/numerals.Malay.gf b/grammars/numerals/old/numerals.Malay.gf
deleted file mode 100644
index 1213a96ee..000000000
--- a/grammars/numerals/old/numerals.Malay.gf
+++ /dev/null
@@ -1,71 +0,0 @@
--- Malay Numerals (Indonesian)
--- David Wahlstedt Sep 2002
-
-include numerals.Abs.gf ;
-
-param
- Place = attr | indep ;
- Nm = sg | pl ;
-
-oper Num = {inh : Nm ; s : Place => Str} ;
-
-lincat
- Numeral = {s : Str} ;
- Digit = {s : Str} ;
- Sub10 = Num ;
- Sub100 = Num ;
- Sub1000 = Num ;
- Sub1000000 = {s : Str} ;
-
-oper
- ratus : Nm => Str = -- 100
- table {{sg} => "seratus" ; {pl} => "ratus"} ;
-
- ribu : Nm => Str = -- 1000
- table {{sg} => "seribu" ; {pl} => "ribu"} ;
-
- mkTab : Str -> Place => Str = \s -> table { _ => s } ;
-
- mkNum : Str -> Num = \s -> {inh = pl ; s = mkTab s} ;
-
- ss : Str -> { s : Str } = \s -> { s = s } ;
-
-lin
- num x0 = x0 ;
-
- n2 = ss "dua" ;
- n3 = ss "tiga" ;
- n4 = ss "empat" ;
- n5 = ss "lima" ;
- n6 = ss "enam" ;
- n7 = ss "tujuh" ;
- n8 = ss "delapan" ;
- n9 = ss "sembilan" ;
-
- pot01 = {inh = sg ; s = table {{attr} => [] ; {indep} => "satu"}} ;
-
- pot0 d = mkNum d.s ;
-
- pot110 = mkNum "sepuluh" ;
-
- pot111 = mkNum "sebelas" ;
-
- pot1to19 d = mkNum ( d.s ++ "belas" ) ;
-
- pot0as1 n = n ;
-
- pot1 d = mkNum ( d.s ++ "puluh" ) ;
-
- pot1plus d e = mkNum ( d.s ++ "puluh" ++ e.s ! indep ) ;
-
- pot1as2 n = n ;
-
- pot2 d = mkNum ( d.s ! attr ++ ratus ! d.inh ) ;
-
- pot2plus d e = mkNum ( d.s ! attr ++ ratus ! d.inh ++ e.s ! indep ) ;
-
- pot2as3 n = ss ( n.s ! indep ) ;
-
- pot3 n = ss ( n.s ! attr ++ ribu ! n.inh ) ;
-
- pot3plus n m = ss ( n.s ! attr ++ ribu ! n.inh ++ m.s ! indep ) ;
diff --git a/grammars/numerals/old/numerals.Ned.gf b/grammars/numerals/old/numerals.Ned.gf
deleted file mode 100644
index 69f101f04..000000000
--- a/grammars/numerals/old/numerals.Ned.gf
+++ /dev/null
@@ -1,48 +0,0 @@
--- Koen Claessen from Deu, 11/1/2001.
-
-include numerals.Abs.gf ;
-
-param DForm = unit | teen | ten ;
-param Place = indep | prae | attr ;
-
-lincat Numeral = {s : Str} ;
-lincat Digit = {s : DForm => Str} ;
-lincat Sub10 = {s : DForm * Place => Str} ;
-lincat Sub100 = {s : Place => Str} ;
-lincat Sub1000 = {s : Place => Str} ;
-lincat Sub1000000 = {s : Str} ;
-
-oper mkGetal : Str -> Str -> Str -> Lin Digit =
- \två -> \tolv -> \tjugo ->
- {s = table {unit => två ; teen => tolv ; ten => tjugo}} ;
-oper regGetal : Str -> Lin Digit =
- \vier -> mkGetal vier (vier + "tien") (vier + "tig") ;
-oper ss : Str -> {s : Str} = \s -> {s = s} ;
-
-lin num x = x ;
-
-lin n2 = mkGetal "twee" "twaalf" "twintig" ;
-lin n3 = mkGetal "drie" "dertien" "dertig" ;
-lin n4 = mkGetal "vier" "veertien" "veertig";
-lin n5 = regGetal "vijf" ;
-lin n6 = regGetal "zes" ;
-lin n7 = regGetal "zeven" ;
-lin n8 = mkGetal "acht" "achttien" "tachtig";
-lin n9 = regGetal "negen" ;
-
-lin pot01 = {s = table {<f,indep> => "een" ; <f,prae> => "een" ; <f,attr> => []}} ;
-lin pot0 d = {s = table {<f,p> => d.s ! f}} ;
-lin pot110 = {s = table {p => "tien"}} ;
-lin pot111 = {s = table {p => "elf"}} ;
-lin pot1to19 d = {s = table {p => d.s ! teen}} ;
-lin pot0as1 n = {s = table {p => n.s ! <unit,p>}} ;
-lin pot1 d = {s = table {p => d.s ! ten}} ;
-lin pot1plus d e = {s = table {p => e.s ! <unit,prae> ++ "en" ++ d.s ! ten}} ;
-lin pot1as2 n = {s = table {p => n.s ! p}} ;
-lin pot2 d = {s = table {p => d.s ! <unit,attr> ++ "honderd"}} ;
-lin pot2plus d e = {s = table {
- _ => d.s ! <unit,attr> ++ "honderd" ++ e.s ! indep}} ;
-lin pot2as3 n = ss (n.s ! indep) ;
-lin pot3 n = ss (n.s ! attr ++ "duizend") ;
-lin pot3plus n m = ss (n.s ! attr ++ "duizend" ++ m.s ! prae) ;
-
diff --git a/grammars/numerals/old/numerals.NorB.gf b/grammars/numerals/old/numerals.NorB.gf
deleted file mode 100644
index be67e94fe..000000000
--- a/grammars/numerals/old/numerals.NorB.gf
+++ /dev/null
@@ -1,45 +0,0 @@
--- norsk bokmol, by Herman R Jervell herman.jervell@ilf.uio.no, 6/3/2001
-
-include numerals.Abs.gf ;
-
-param DForm = ental | ton | tiotal ;
-
-lincat Numeral = {s : Str} ;
-lincat Digit = {s : DForm => Str} ;
-lincat Sub10 = {s : DForm => Str} ;
-lincat Sub100 = {s : Str} ;
-lincat Sub1000 = {s : Str} ;
-lincat Sub1000000 = {s : Str} ;
-
-oper mkTal : Str -> Str -> Str -> Lin Digit =
- \två -> \tolv -> \tjugo ->
- {s = table {ental => två ; ton => tolv ; tiotal => tjugo}} ;
-oper regTal : Str -> Lin Digit = \fem -> mkTal fem (fem + "ten") (fem + "ti") ;
-oper ss : Str -> {s : Str} = \s -> {s = s} ;
-
-lin num x = x ;
-
-lin n2 = mkTal "to" "tolv" "tjue" ;
-lin n3 = mkTal "tre" "tretten" "tretti" ;
-lin n4 = mkTal "fire" "fjorten" "førti" ;
-lin n5 = regTal "fem" ;
-lin n6 = regTal "seks" ;
-lin n7 = mkTal "sju" "sytten" "sytti" ;
-lin n8 = mkTal "åtte" "atten" "åtti" ;
-lin n9 = mkTal "ni" "nitten" "nitti" ;
-
-lin pot01 = {s = table {f => "et"}} ;
-lin pot0 d = {s = table {f => d.s ! f}} ;
-lin pot110 = ss "ti" ;
-lin pot111 = ss "elve" ;
-lin pot1to19 d = ss (d.s ! ton) ;
-lin pot0as1 n = ss (n.s ! ental) ;
-lin pot1 d = ss (d.s ! tiotal) ;
-lin pot1plus d e = ss (d.s ! tiotal ++ e.s ! ental) ;
-lin pot1as2 n = n ;
-lin pot2 d = ss (d.s ! ental ++ "hundre") ;
-lin pot2plus d e = ss (d.s ! ental ++ "hundre" ++ "og" ++ e.s) ;
-lin pot2as3 n = n ;
-lin pot3 n = ss (n.s ++ "tusen") ;
-lin pot3plus n m = ss (n.s ++ "tusen" ++ "og" ++ m.s) ;
-
diff --git a/grammars/numerals/old/numerals.Pol.gf b/grammars/numerals/old/numerals.Pol.gf
deleted file mode 100644
index 8ecc3839a..000000000
--- a/grammars/numerals/old/numerals.Pol.gf
+++ /dev/null
@@ -1,94 +0,0 @@
--- numerals in Polish, author Wojciech Mostowski, 20/9/2002
-
-include numerals.Abs.gf ;
-
--- all different for unit digits, teens, tens and hundreds
-param DForm = unit | teen | ten | hund ;
-
--- cases for thousand in Polish
--- 1000 - jeden TYSIAC
--- 2000 - dwa TYSIACE
--- 3000 - trzy TYSIACE
--- 4000 - cztery TYSIACE
--- 5000 - piec TYSIECY
--- 104000 - sto cztery TYSIECE
--- 105000 - sto piec TYSIECY
--- 24000 - dwadziescia cztery TYSIACE
--- 25000 - dwadziescia piec TYSIACY
--- BUT e.g.
--- 21000 - dwadziescia jeden TYSIECY (not TYSIAC)
--- 11000 - jedenascie TYSIECY
--- (12..19)000 - TYSIECY
-
-param ThForm = onlyone | lastone | twoorthreeorfour | fiveup ;
-
-oper LinDigit = {s : DForm => Str; o : ThForm ; t : ThForm } ;
-lincat Digit = LinDigit ;
-lincat Sub10 = {s : DForm => Str; o : ThForm ; t : ThForm } ;
-lincat Sub100 = {s : Str; t : ThForm } ;
-lincat Sub1000 = {s : Str; t : ThForm } ;
-
-oper mkNum : Str -> Str -> Str -> Str -> ThForm -> LinDigit =
- \dwa -> \dwanascie -> \dwadziescia -> \dwiescie -> \thform ->
- { s = table {unit => dwa ; teen => dwanascie ; ten => dwadziescia ; hund =>
-dwiescie };
- o = thform ; t = thform
- };
-
-oper mkRegNum1 : Str -> LinDigit =
- \siedem ->
- { s = table { unit => siedem ; teen => siedem + "nascie" ;
- ten => siedem + "dziesiat" ; hund => siedem + "set"
- };
- o = fiveup ; t = fiveup
- };
-oper mkRegNum2 : Str -> LinDigit =
- \pie ->
- { s = table { unit => pie + "c" ; teen => pie + "tnascie" ;
- ten => pie + "cdziesiat" ; hund => pie + "cset"
- };
- o = fiveup ; t = fiveup
- };
-
-oper mkTh : ThForm => Str =
- table { onlyone => "tysiac" ; lastone => "tysiecy" ;
- twoorthreeorfour => "tysiace" ; fiveup => "tysiecy"
- };
-
-oper ss : Str -> ThForm -> {s : Str ; t : ThForm} = \str -> \th -> {s = str; t = th}
-;
-
-lin num x = x ;
-
-lin n2 = mkNum "dwa" "dwanascie" "dwadziescia" "dwiescie"
-twoorthreeorfour ;
-lin n3 = mkNum "trzy" "trzynascie" "trzydziesci" "trzysta"
-twoorthreeorfour ;
-lin n4 = mkNum "cztery" "czternascie" "czterdziesci" "czterysta"
-twoorthreeorfour ;
-lin n5 = mkRegNum2 "pie" ;
-lin n6 = mkNum "szesc" "szesnascie" "szescdziesiat" "szescset" fiveup;
-lin n7 = mkRegNum1 "siedem" ;
-lin n8 = mkRegNum1 "osiem" ;
-lin n9 = mkRegNum2 "dziewie" ;
-
-lin pot01 = { s = table {hund => "sto"; f => "jeden" };
- o = onlyone ; t = lastone
- };
-lin pot0 d = {s = table {f => d.s ! f} ; o = d.o ; t = d.t} ;
-lin pot110 = ss "dziesiec" fiveup ;
-lin pot111 = ss "jedenascie" fiveup ;
-lin pot1to19 d = {s = d.s ! teen ; t = fiveup} ;
-lin pot0as1 n = {s = n.s ! unit ; t = n.o} ;
-lin pot1 d = {s = d.s ! ten ; t = fiveup} ;
-lin pot1plus d e = {s = d.s ! ten ++ e.s ! unit; t = e.t} ;
-lin pot1as2 n = n ;
-lin pot2 d = {s = d.s ! hund ; t = fiveup} ;
-lin pot2plus d e = { s = d.s ! hund ++ e.s ;
- t = table { onlyone => lastone ; f => f } ! e.t
- } ;
-
-lin pot2as3 n = n ;
-lin pot3 n = {s = n.s ++ mkTh ! n.t} ;
-lin pot3plus n m = {s = n.s ++ mkTh ! n.t ++ m.s} ;
-
diff --git a/grammars/numerals/old/numerals.Rus.gf b/grammars/numerals/old/numerals.Rus.gf
deleted file mode 100644
index 7e08361fa..000000000
--- a/grammars/numerals/old/numerals.Rus.gf
+++ /dev/null
@@ -1,111 +0,0 @@
-include numerals.Abs.gf ;
-
--- Toiska, 13/8/2000, AR with Arto Mustajoki.
-
-param DForm = unit | teen | ten | hund ;
-param Place = attr | indep ;
-param Size = nom | sgg | plg ;
-param Gen = masc | fem | neut ;
-lincat Numeral = {s : Str} ;
-lincat Digit = {s : DForm => Gen => Str ; size : Size} ;
-lincat Sub10 = {s : Place => DForm => Gen => Str ; size : Size} ;
-lincat Sub100 = {s : Place => Gen => Str ; size : Size} ;
-lincat Sub1000 = {s : Place => Gen => Str ; size : Size} ;
-lincat Sub1000000 = {s : Gen => Str} ;
-
-oper mille : Size => Str = table {
- {nom} => "t1säqa" ;
- {sgg} => "t1säqi" ;
- _ => "t1säq"} ;
-
-oper gg : Str -> Gen => Str = \s -> table {_ => s} ;
-
-lin num x0 =
- {s = "/_" ++ x0.s ! masc ++ "_/"} ; -- Russian environment
-
-lin n2 =
- {s = table {{unit} => table {{fem} => "dve" ; _ => "dva"} ;
- {teen} => gg "dvenadcat'" ;
- {ten} => gg "dvadcat'" ;
- {hund} => gg "dvesti"} ;
- size = sgg} ;
-lin n3 =
- {s = table {{unit} => gg "tri" ;
- {teen} => gg "trinadcat'" ;
- {ten} => gg "tridcat'" ;
- {hund} => gg "trista"} ;
- size = sgg} ;
-lin n4 =
- {s = table {{unit} => gg "qet1re" ;
- {teen} => gg "qet1rnadcat'" ;
- {ten} => gg "sorok" ;
- {hund} => gg "qet1resta"} ;
- size = sgg} ;
-lin n5 =
- {s = table {{unit} => gg "pät'" ;
- {teen} => gg "pätnadcat'" ;
- {ten} => gg "pät'desät" ;
- {hund} => gg "pät'sot"} ;
- size = plg} ;
-lin n6 =
- {s = table {{unit} => gg "west'" ;
- {teen} => gg "westnadcat'" ;
- {ten} => gg "west'desät" ;
- {hund} => gg "west'sot"} ;
- size = plg} ;
-lin n7 =
- {s = table {{unit} => gg "sem'" ;
- {teen} => gg "semnadcat'" ;
- {ten} => gg "sem'desät" ;
- {hund} => gg "sem'sot"} ;
- size = plg} ;
-lin n8 =
- {s = table {{unit} => gg "vosem'" ;
- {teen} => gg "vosemnadcat'" ;
- {ten} => gg "vosem'desät" ;
- {hund} => gg "vosem'sot"} ;
- size = plg} ;
-lin n9 =
- {s = table {{unit} => gg "devät'" ;
- {teen} => gg "devätnadcat'" ;
- {ten} => gg "devänosto" ;
- {hund} => gg "devät'sot"} ;
- size = plg} ;
-
-
-lin pot01 =
- {s = table {{attr} => table {{hund} => gg "sto" ; _ => gg []} ;
- _ => table {{hund} => gg "sto" ;
- _ => table {{masc} => "odin" ; {fem} => "odna" ; _ => "odno"}}} ;
- size = nom} ;
-lin pot0 d =
- {s = table {_ => d.s} ; size = d.size} ;
-lin pot110 =
- {s = table {_ => gg "desät'"} ; size = plg} ;
-lin pot111 =
- {s = table {_ => gg "odinnadcat'"} ; size = plg} ; --- 11
-lin pot1to19 d =
- {s = table {_ => d.s ! teen} ; size = plg} ;
-lin pot0as1 n =
- {s = table {p => n.s ! p ! unit} ; size = n.size} ;
-lin pot1 d =
- {s = table {_ => d.s ! ten} ; size = plg} ; ---
-lin pot1plus d e =
- {s = table {_ =>
- table {g => d.s ! ten ! g ++ e.s ! indep ! unit ! g}} ; size = e.size} ;
-lin pot1as2 n =
- {s = n.s ; size = n.size} ;
-lin pot2 d =
- {s = table {p => d.s ! p ! hund} ; size = plg} ;
-lin pot2plus d e =
- {s = table {p => table {g => d.s ! p ! hund ! g ++ e.s ! indep ! g}} ; size = e.size} ;
-lin pot2as3 n =
- {s = n.s ! indep} ;
-lin pot3 n =
- {s = gg (n.s ! attr ! fem ++ mille ! n.size)} ;
-lin pot3plus n m =
- {s = table {g => n.s ! attr ! fem ++ mille ! n.size ++ m.s ! indep ! g}} ;
-
---- TODO
---- raz/odin
-
diff --git a/grammars/numerals/old/numerals.RusU.gf b/grammars/numerals/old/numerals.RusU.gf
deleted file mode 100644
index 7e08361fa..000000000
--- a/grammars/numerals/old/numerals.RusU.gf
+++ /dev/null
@@ -1,111 +0,0 @@
-include numerals.Abs.gf ;
-
--- Toiska, 13/8/2000, AR with Arto Mustajoki.
-
-param DForm = unit | teen | ten | hund ;
-param Place = attr | indep ;
-param Size = nom | sgg | plg ;
-param Gen = masc | fem | neut ;
-lincat Numeral = {s : Str} ;
-lincat Digit = {s : DForm => Gen => Str ; size : Size} ;
-lincat Sub10 = {s : Place => DForm => Gen => Str ; size : Size} ;
-lincat Sub100 = {s : Place => Gen => Str ; size : Size} ;
-lincat Sub1000 = {s : Place => Gen => Str ; size : Size} ;
-lincat Sub1000000 = {s : Gen => Str} ;
-
-oper mille : Size => Str = table {
- {nom} => "t1säqa" ;
- {sgg} => "t1säqi" ;
- _ => "t1säq"} ;
-
-oper gg : Str -> Gen => Str = \s -> table {_ => s} ;
-
-lin num x0 =
- {s = "/_" ++ x0.s ! masc ++ "_/"} ; -- Russian environment
-
-lin n2 =
- {s = table {{unit} => table {{fem} => "dve" ; _ => "dva"} ;
- {teen} => gg "dvenadcat'" ;
- {ten} => gg "dvadcat'" ;
- {hund} => gg "dvesti"} ;
- size = sgg} ;
-lin n3 =
- {s = table {{unit} => gg "tri" ;
- {teen} => gg "trinadcat'" ;
- {ten} => gg "tridcat'" ;
- {hund} => gg "trista"} ;
- size = sgg} ;
-lin n4 =
- {s = table {{unit} => gg "qet1re" ;
- {teen} => gg "qet1rnadcat'" ;
- {ten} => gg "sorok" ;
- {hund} => gg "qet1resta"} ;
- size = sgg} ;
-lin n5 =
- {s = table {{unit} => gg "pät'" ;
- {teen} => gg "pätnadcat'" ;
- {ten} => gg "pät'desät" ;
- {hund} => gg "pät'sot"} ;
- size = plg} ;
-lin n6 =
- {s = table {{unit} => gg "west'" ;
- {teen} => gg "westnadcat'" ;
- {ten} => gg "west'desät" ;
- {hund} => gg "west'sot"} ;
- size = plg} ;
-lin n7 =
- {s = table {{unit} => gg "sem'" ;
- {teen} => gg "semnadcat'" ;
- {ten} => gg "sem'desät" ;
- {hund} => gg "sem'sot"} ;
- size = plg} ;
-lin n8 =
- {s = table {{unit} => gg "vosem'" ;
- {teen} => gg "vosemnadcat'" ;
- {ten} => gg "vosem'desät" ;
- {hund} => gg "vosem'sot"} ;
- size = plg} ;
-lin n9 =
- {s = table {{unit} => gg "devät'" ;
- {teen} => gg "devätnadcat'" ;
- {ten} => gg "devänosto" ;
- {hund} => gg "devät'sot"} ;
- size = plg} ;
-
-
-lin pot01 =
- {s = table {{attr} => table {{hund} => gg "sto" ; _ => gg []} ;
- _ => table {{hund} => gg "sto" ;
- _ => table {{masc} => "odin" ; {fem} => "odna" ; _ => "odno"}}} ;
- size = nom} ;
-lin pot0 d =
- {s = table {_ => d.s} ; size = d.size} ;
-lin pot110 =
- {s = table {_ => gg "desät'"} ; size = plg} ;
-lin pot111 =
- {s = table {_ => gg "odinnadcat'"} ; size = plg} ; --- 11
-lin pot1to19 d =
- {s = table {_ => d.s ! teen} ; size = plg} ;
-lin pot0as1 n =
- {s = table {p => n.s ! p ! unit} ; size = n.size} ;
-lin pot1 d =
- {s = table {_ => d.s ! ten} ; size = plg} ; ---
-lin pot1plus d e =
- {s = table {_ =>
- table {g => d.s ! ten ! g ++ e.s ! indep ! unit ! g}} ; size = e.size} ;
-lin pot1as2 n =
- {s = n.s ; size = n.size} ;
-lin pot2 d =
- {s = table {p => d.s ! p ! hund} ; size = plg} ;
-lin pot2plus d e =
- {s = table {p => table {g => d.s ! p ! hund ! g ++ e.s ! indep ! g}} ; size = e.size} ;
-lin pot2as3 n =
- {s = n.s ! indep} ;
-lin pot3 n =
- {s = gg (n.s ! attr ! fem ++ mille ! n.size)} ;
-lin pot3plus n m =
- {s = table {g => n.s ! attr ! fem ++ mille ! n.size ++ m.s ! indep ! g}} ;
-
---- TODO
---- raz/odin
-
diff --git a/grammars/numerals/old/numerals.Slo.gf b/grammars/numerals/old/numerals.Slo.gf
deleted file mode 100644
index 9e781429e..000000000
--- a/grammars/numerals/old/numerals.Slo.gf
+++ /dev/null
@@ -1,60 +0,0 @@
-include numerals.Abs.gf ;
-
--- by Karol Ostrovsky, Chalmers
--- mechanically translated to new GF notation by AR
-
-param DForm = unit | teen | ten ;
-param Place = indep | prae ;
-
-lincat Numeral = {s : Str} ;
-lincat Digit = {s : {p1 : DForm ; p2 : Place} => Str} ;
-lincat Sub10 = {s : {p1 : DForm ; p2 : Place} => Str} ;
-lincat Sub100 = {s : Place => Str} ;
-lincat Sub1000 = {s : Place => Str} ;
-lincat Sub1000000 = {s : Str} ;
-lin num x0 =
- {s = x0.s} ;
-lin n2 =
- {s = table {{p1 = unit ; p2 = indep} => "dva" ; {p1 = unit ; p2 = prae} => "dve" ; {p1 = teen ; p2 = indep} => "dvanast" ; {p1 = teen ; p2 = prae} => "dvanast" ; {p1 = ten ; p2 = indep} => "dvadsat" ; {p1 = ten ; p2 = prae} => "dvadsat"}} ;
-lin n3 =
- {s = table {{p1 = unit ; p2 = indep} => "tri" ; {p1 = unit ; p2 = prae} => "tri" ; {p1 = teen ; p2 = indep} => "trinast" ; {p1 = teen ; p2 = prae} => "trinast" ; {p1 = ten ; p2 = indep} => "tridsat" ; {p1 = ten ; p2 = prae} => "tridsat"}} ;
-lin n4 =
- {s = table {{p1 = unit ; p2 = indep} => "styri" ; {p1 = unit ; p2 = prae} => "styri" ; {p1 = teen ; p2 = indep} => "strnast" ; {p1 = teen ; p2 = prae} => "strnast" ; {p1 = ten ; p2 = indep} => "styridsat" ; {p1 = ten ; p2 = prae} => "styridsat"}} ;
-lin n5 =
- {s = table {{p1 = unit ; p2 = indep} => "pat" ; {p1 = unit ; p2 = prae} => "pat" ; {p1 = teen ; p2 = indep} => "patnast" ; {p1 = teen ; p2 = prae} => "patnast" ; {p1 = ten ; p2 = indep} => "patdesiat" ; {p1 = ten ; p2 = prae} => "patdesiat"}} ;
-lin n6 =
- {s = table {{p1 = unit ; p2 = indep} => "sest" ; {p1 = unit ; p2 = prae} => "sest" ; {p1 = teen ; p2 = indep} => "sestnast" ; {p1 = teen ; p2 = prae} => "sestnast" ; {p1 = ten ; p2 = indep} => "sestdesiat" ; {p1 = ten ; p2 = prae} => "sestdesiat"}} ;
-lin n7 =
- {s = table {{p1 = unit ; p2 = indep} => "sedem" ; {p1 = unit ; p2 = prae} => "sedem" ; {p1 = teen ; p2 = indep} => "sedemnast" ; {p1 = teen ; p2 = prae} => "sedemnast" ; {p1 = ten ; p2 = indep} => "sedemdesiat" ; {p1 = ten ; p2 = prae} => "sedemdesiat"}} ;
-lin n8 =
- {s = table {{p1 = unit ; p2 = indep} => "osem" ; {p1 = unit ; p2 = prae} => "osem" ; {p1 = teen ; p2 = indep} => "osemnast" ; {p1 = teen ; p2 = prae} => "osemnast" ; {p1 = ten ; p2 = indep} => "osemdesiat" ; {p1 = ten ; p2 = prae} => "osemdesiat"}} ;
-lin n9 =
- {s = table {{p1 = unit ; p2 = indep} => "devat" ; {p1 = unit ; p2 = prae} => "devat" ; {p1 = teen ; p2 = indep} => "devatnast" ; {p1 = teen ; p2 = prae} => "devatnast" ; {p1 = ten ; p2 = indep} => "devatdesiat" ; {p1 = ten ; p2 = prae} => "devatdesiat"}} ;
-lin pot01 =
- {s = table {{p1 = unit ; p2 = indep} => "jedna" ; {p1 = unit ; p2 = prae} => [] ; {p1 = teen ; p2 = indep} => "jedna" ; {p1 = teen ; p2 = prae} => [] ; {p1 = ten ; p2 = indep} => "jedna" ; {p1 = ten ; p2 = prae} => []}} ;
-lin pot0 d =
- {s = table {{p1 = unit ; p2 = indep} => d.s ! {p1 = unit ; p2 = indep} ; {p1 = unit ; p2 = prae} => d.s ! {p1 = unit ; p2 = prae} ; {p1 = teen ; p2 = indep} => d.s ! {p1 = teen ; p2 = indep} ; {p1 = teen ; p2 = prae} => d.s ! {p1 = teen ; p2 = prae} ; {p1 = ten ; p2 = indep} => d.s ! {p1 = ten ; p2 = indep} ; {p1 = ten ; p2 = prae} => d.s ! {p1 = ten ; p2 = prae}}} ;
-lin pot110 =
- {s = table {indep => "desat" ; prae => "desat"}} ;
-lin pot111 =
- {s = table {indep => "jedenast" ; prae => "jedenast"}} ;
-lin pot1to19 d =
- {s = table {indep => d.s ! {p1 = teen ; p2 = indep} ; prae => d.s ! {p1 = teen ; p2 = prae}}} ;
-lin pot0as1 n =
- {s = table {indep => n.s ! {p1 = unit ; p2 = indep} ; prae => n.s ! {p1 = unit ; p2 = indep}}} ;
-lin pot1 d =
- {s = table {indep => d.s ! {p1 = ten ; p2 = indep} ; prae => d.s ! {p1 = ten ; p2 = prae}}} ;
-lin pot1plus d e =
- {s = table {indep => (d.s ! {p1 = ten ; p2 = indep}) ++ e.s ! {p1 = unit ; p2 = indep} ; prae => (d.s ! {p1 = ten ; p2 = prae}) ++ e.s ! {p1 = unit ; p2 = indep}}} ;
-lin pot1as2 n =
- {s = table {indep => n.s ! indep ; prae => n.s ! indep}} ;
-lin pot2 d =
- {s = table {indep => (d.s ! {p1 = unit ; p2 = prae}) ++ "sto" ; prae => (d.s ! {p1 = unit ; p2 = prae}) ++ "sto"}} ;
-lin pot2plus d e =
- {s = table {indep => (d.s ! {p1 = unit ; p2 = prae}) ++ "sto" ++ e.s ! indep ; prae => (d.s ! {p1 = unit ; p2 = prae}) ++ "sto" ++ e.s ! indep}} ;
-lin pot2as3 n =
- {s = n.s ! indep} ;
-lin pot3 n =
- {s = (n.s ! prae) ++ "tisic"} ;
-lin pot3plus n m =
- {s = (n.s ! prae) ++ "tisic" ++ m.s ! indep} ;
diff --git a/grammars/numerals/old/numerals.Spa.gf b/grammars/numerals/old/numerals.Spa.gf
deleted file mode 100644
index 30d7e46a4..000000000
--- a/grammars/numerals/old/numerals.Spa.gf
+++ /dev/null
@@ -1,61 +0,0 @@
-include numerals.Abs.gf ;
-
--- by Carlos Gonzalia, Chalmers, 1999
--- original source automatically translated to new GF by AR
-
-param DForm = unit | teen | ten | hundred ;
-param Modif = mod | unmod | conj ;
-
-lincat Numeral = {s : Str} ;
-lincat Digit = {inh : Modif ; s : {p1 : DForm ; p2 : Modif} => Str} ;
-lincat Sub10 = {s : {p1 : DForm ; p2 : Modif} => Str} ;
-lincat Sub100 = {s : Str} ;
-lincat Sub1000 = {s : Str} ;
-lincat Sub1000000 = {s : Str} ;
-
-lin num x0 =
- {s = x0.s} ;
-lin n2 =
- {inh = mod ; s = table {{p1 = unit ; p2 = mod} => "dos" ; {p1 = unit ; p2 = unmod} => "dos" ; {p1 = unit ; p2 = conj} => "y" ++ "dos" ; {p1 = teen ; p2 = mod} => "doce" ; {p1 = teen ; p2 = unmod} => "doce" ; {p1 = teen ; p2 = conj} => "doce" ; {p1 = ten ; p2 = mod} => "veinti" ; {p1 = ten ; p2 = unmod} => "veinte" ; {p1 = ten ; p2 = conj} => "veinte" ; {p1 = hundred ; p2 = mod} => "doscientos" ; {p1 = hundred ; p2 = unmod} => "doscientos" ; {p1 = hundred ; p2 = conj} => "doscientos"}} ;
-lin n3 =
- {inh = conj ; s = table {{p1 = unit ; p2 = mod} => "tres" ; {p1 = unit ; p2 = unmod} => "tres" ; {p1 = unit ; p2 = conj} => "y" ++ "tres" ; {p1 = teen ; p2 = mod} => "trece" ; {p1 = teen ; p2 = unmod} => "trece" ; {p1 = teen ; p2 = conj} => "trece" ; {p1 = ten ; p2 = mod} => "treinta" ; {p1 = ten ; p2 = unmod} => "treinta" ; {p1 = ten ; p2 = conj} => "treinta" ; {p1 = hundred ; p2 = mod} => "trescientos" ; {p1 = hundred ; p2 = unmod} => "trescientos" ; {p1 = hundred ; p2 = conj} => "trescientos"}} ;
-lin n4 =
- {inh = conj ; s = table {{p1 = unit ; p2 = mod} => "cuatro" ; {p1 = unit ; p2 = unmod} => "cuatro" ; {p1 = unit ; p2 = conj} => "y" ++ "cuatro" ; {p1 = teen ; p2 = mod} => "catorce" ; {p1 = teen ; p2 = unmod} => "catorce" ; {p1 = teen ; p2 = conj} => "catorce" ; {p1 = ten ; p2 = mod} => "cuarenta" ; {p1 = ten ; p2 = unmod} => "cuarenta" ; {p1 = ten ; p2 = conj} => "cuarenta" ; {p1 = hundred ; p2 = mod} => "cuatrocientos" ; {p1 = hundred ; p2 = unmod} => "cuatrocientos" ; {p1 = hundred ; p2 = conj} => "cuatrocientos"}} ;
-lin n5 =
- {inh = conj ; s = table {{p1 = unit ; p2 = mod} => "cinco" ; {p1 = unit ; p2 = unmod} => "cinco" ; {p1 = unit ; p2 = conj} => "y" ++ "cinco" ; {p1 = teen ; p2 = mod} => "quince" ; {p1 = teen ; p2 = unmod} => "quince" ; {p1 = teen ; p2 = conj} => "quince" ; {p1 = ten ; p2 = mod} => "cincuenta" ; {p1 = ten ; p2 = unmod} => "cincuenta" ; {p1 = ten ; p2 = conj} => "cincuenta" ; {p1 = hundred ; p2 = mod} => "quinientos" ; {p1 = hundred ; p2 = unmod} => "quinientos" ; {p1 = hundred ; p2 = conj} => "quinientos"}} ;
-lin n6 =
- {inh = conj ; s = table {{p1 = unit ; p2 = mod} => "seis" ; {p1 = unit ; p2 = unmod} => "seis" ; {p1 = unit ; p2 = conj} => "y" ++ "seis" ; {p1 = teen ; p2 = mod} => "dieciseis" ; {p1 = teen ; p2 = unmod} => "dieciseis" ; {p1 = teen ; p2 = conj} => "dieciseis" ; {p1 = ten ; p2 = mod} => "sesenta" ; {p1 = ten ; p2 = unmod} => "sesenta" ; {p1 = ten ; p2 = conj} => "sesenta" ; {p1 = hundred ; p2 = mod} => "seiscientos" ; {p1 = hundred ; p2 = unmod} => "seiscientos" ; {p1 = hundred ; p2 = conj} => "seiscientos"}} ;
-lin n7 =
- {inh = conj ; s = table {{p1 = unit ; p2 = mod} => "siete" ; {p1 = unit ; p2 = unmod} => "siete" ; {p1 = unit ; p2 = conj} => "y" ++ "siete" ; {p1 = teen ; p2 = mod} => "diecisiete" ; {p1 = teen ; p2 = unmod} => "diecisiete" ; {p1 = teen ; p2 = conj} => "diecisiete" ; {p1 = ten ; p2 = mod} => "setenta" ; {p1 = ten ; p2 = unmod} => "setenta" ; {p1 = ten ; p2 = conj} => "setenta" ; {p1 = hundred ; p2 = mod} => "setecientos" ; {p1 = hundred ; p2 = unmod} => "setecientos" ; {p1 = hundred ; p2 = conj} => "setecientos"}} ;
-lin n8 =
- {inh = conj ; s = table {{p1 = unit ; p2 = mod} => "ocho" ; {p1 = unit ; p2 = unmod} => "ocho" ; {p1 = unit ; p2 = conj} => "y" ++ "ocho" ; {p1 = teen ; p2 = mod} => "dieciocho" ; {p1 = teen ; p2 = unmod} => "dieciocho" ; {p1 = teen ; p2 = conj} => "dieciocho" ; {p1 = ten ; p2 = mod} => "ochenta" ; {p1 = ten ; p2 = unmod} => "ochenta" ; {p1 = ten ; p2 = conj} => "ochenta" ; {p1 = hundred ; p2 = mod} => "ochocientos" ; {p1 = hundred ; p2 = unmod} => "ochocientos" ; {p1 = hundred ; p2 = conj} => "ochocientos"}} ;
-lin n9 =
- {inh = conj ; s = table {{p1 = unit ; p2 = mod} => "nueve" ; {p1 = unit ; p2 = unmod} => "nueve" ; {p1 = unit ; p2 = conj} => "y" ++ "nueve" ; {p1 = teen ; p2 = mod} => "diecinueve" ; {p1 = teen ; p2 = unmod} => "diecinueve" ; {p1 = teen ; p2 = conj} => "diecinueve" ; {p1 = ten ; p2 = mod} => "noventa" ; {p1 = ten ; p2 = unmod} => "noventa" ; {p1 = ten ; p2 = conj} => "noventa" ; {p1 = hundred ; p2 = mod} => "novecientos" ; {p1 = hundred ; p2 = unmod} => "novecientos" ; {p1 = hundred ; p2 = conj} => "novecientos"}} ;
-lin pot01 =
- {s = table {{p1 = unit ; p2 = mod} => "uno" ; {p1 = unit ; p2 = unmod} => "uno" ; {p1 = unit ; p2 = conj} => "y" ++ "uno" ; {p1 = teen ; p2 = mod} => "uno" ; {p1 = teen ; p2 = unmod} => "uno" ; {p1 = teen ; p2 = conj} => "y" ++ "uno" ; {p1 = ten ; p2 = mod} => "uno" ; {p1 = ten ; p2 = unmod} => "uno" ; {p1 = ten ; p2 = conj} => "y" ++ "uno" ; {p1 = hundred ; p2 = mod} => "ciento" ; {p1 = hundred ; p2 = unmod} => "cien" ; {p1 = hundred ; p2 = conj} => "y" ++ "uno"}} ;
-lin pot0 d =
- {s = table {{p1 = unit ; p2 = mod} => d.s ! {p1 = unit ; p2 = mod} ; {p1 = unit ; p2 = unmod} => d.s ! {p1 = unit ; p2 = unmod} ; {p1 = unit ; p2 = conj} => d.s ! {p1 = unit ; p2 = conj} ; {p1 = teen ; p2 = mod} => d.s ! {p1 = teen ; p2 = mod} ; {p1 = teen ; p2 = unmod} => d.s ! {p1 = teen ; p2 = unmod} ; {p1 = teen ; p2 = conj} => d.s ! {p1 = teen ; p2 = conj} ; {p1 = ten ; p2 = mod} => d.s ! {p1 = ten ; p2 = mod} ; {p1 = ten ; p2 = unmod} => d.s ! {p1 = ten ; p2 = unmod} ; {p1 = ten ; p2 = conj} => d.s ! {p1 = ten ; p2 = conj} ; {p1 = hundred ; p2 = mod} => d.s ! {p1 = hundred ; p2 = mod} ; {p1 = hundred ; p2 = unmod} => d.s ! {p1 = hundred ; p2 = unmod} ; {p1 = hundred ; p2 = conj} => d.s ! {p1 = hundred ; p2 = conj}}} ;
-lin pot110 =
- {s = "diez"} ;
-lin pot111 =
- {s = "once"} ;
-lin pot1to19 d =
- {s = d.s ! {p1 = teen ; p2 = unmod}} ;
-lin pot0as1 n =
- {s = n.s ! {p1 = unit ; p2 = unmod}} ;
-lin pot1 d =
- {s = d.s ! {p1 = ten ; p2 = unmod}} ;
-lin pot1plus d e =
- {s = (d.s ! {p1 = ten ; p2 = mod}) ++ e.s ! {p1 = unit ; p2 = d.inh}} ;
-lin pot1as2 n =
- {s = n.s} ;
-lin pot2 d =
- {s = d.s ! {p1 = hundred ; p2 = unmod}} ;
-lin pot2plus d e =
- {s = (d.s ! {p1 = hundred ; p2 = mod}) ++ e.s} ;
-lin pot2as3 n =
- {s = n.s} ;
-lin pot3 n =
- {s = n.s ++ "mil"} ;
-lin pot3plus n m =
- {s = n.s ++ "mil" ++ m.s} ;
diff --git a/grammars/numerals/old/numerals.Suo.gf b/grammars/numerals/old/numerals.Suo.gf
deleted file mode 100644
index 6cb789ff2..000000000
--- a/grammars/numerals/old/numerals.Suo.gf
+++ /dev/null
@@ -1,60 +0,0 @@
-include numerals.Abs.gf ;
-
-param Place = attr | indep ;
-param Nm = sg | pl ;
-oper sata : Nm => Str =
- table {{sg} => "sata" ; {pl} => "sataa"} ;
-oper tuhat : Nm => Str =
- table {{sg} => "tuhat" ; {pl} => "tuhatta"} ;
-lincat Numeral = {s : Str} ;
-lincat Digit = {s : Str} ;
-lincat Sub10 = {inh : Nm ; s : Place => Str} ;
-lincat Sub100 = {inh : Nm ; s : Place => Str} ;
-lincat Sub1000 = {inh : Nm ; s : Place => Str} ;
-lincat Sub1000000 = {s : Str} ;
-lin num x0 =
- {s = x0.s} ;
-lin n2 =
- {s = "kaksi"} ;
-lin n3 =
- {s = "kolme"} ;
-lin n4 =
- {s = "neljä"} ;
-lin n5 =
- {s = "viisi"} ;
-lin n6 =
- {s = "kuusi"} ;
-lin n7 =
- {s = "seitsemän"} ;
-lin n8 =
- {s = "kahdeksan"} ;
-lin n9 =
- {s = "yhdeksän"} ;
-lin pot01 =
- {inh = sg ; s = table {{attr} => [] ; {indep} => "yksi"}} ;
-lin pot0 d =
- {inh = pl ; s = table {p => d.s}} ;
-lin pot110 =
- {inh = pl ; s = table {p => "kymmenen"}} ;
-lin pot111 =
- {inh = pl ; s = table {p => "yksi"++"toista"}} ;
-lin pot1to19 d =
- {inh = pl ; s = table {p => d.s ++ "toista"}} ;
-lin pot0as1 n =
- {inh = n.inh ; s = table {p => n.s ! p}} ;
-lin pot1 d =
- {inh = pl ; s = table {p => d.s ++ "kymmentä"}} ;
-lin pot1plus d e =
- {inh = pl ; s = table {p => d.s ++ "kymmentä" ++ e.s ! indep}} ;
-lin pot1as2 n =
- {inh = n.inh ; s = table {p => n.s ! p}} ;
-lin pot2 d =
- {inh = pl ; s = table {p => (d.s ! attr) ++ sata ! (d.inh)}} ;
-lin pot2plus d e =
- {inh = pl ; s = table {p => (d.s ! attr) ++ (sata ! (d.inh)) ++ e.s ! indep}} ;
-lin pot2as3 n =
- {s = n.s ! indep} ;
-lin pot3 n =
- {s = (n.s ! attr) ++ tuhat ! (n.inh)} ;
-lin pot3plus n m =
- {s = (n.s ! attr) ++ (tuhat ! (n.inh)) ++ m.s ! indep} ;
diff --git a/grammars/numerals/old/numerals.Swe.gf b/grammars/numerals/old/numerals.Swe.gf
deleted file mode 100644
index 41de7ab14..000000000
--- a/grammars/numerals/old/numerals.Swe.gf
+++ /dev/null
@@ -1,44 +0,0 @@
-include numerals.Abs.gf ;
-
-param DForm = ental | ton | tiotal ;
-
-lincat
- Digit = {s : DForm => Str} ;
- Sub10 = {s : DForm => Str} ;
-
-oper
- mkTal : Str -> Str -> Str -> Lin Digit = \två, tolv, tjugo ->
- {s = table {ental => två ; ton => tolv ; tiotal => tjugo}} ;
-
- regTal : Str -> Lin Digit = \fem ->
- mkTal fem (fem + "ton") (fem + "tio") ;
-
- ss : Str -> {s : Str} = \s -> {s = s} ;
-
-lin
- num x = x ;
-
- n2 = mkTal "två" "tolv" "tjugo" ;
- n3 = mkTal "tre" "tretton" "trettio" ;
- n4 = mkTal "fyra" "fjorton" "fyrtio" ;
- n5 = regTal "fem" ;
- n6 = regTal "sex" ;
- n7 = mkTal "sju" "sjutton" "sjuttio" ;
- n8 = mkTal "åtta" "arton" "åttio" ;
- n9 = mkTal "nio" "nitton" "nittio" ;
-
- pot01 = {s = table {f => "ett"}} ;
- pot0 d = {s = table {f => d.s ! f}} ;
- pot110 = ss "tio" ;
- pot111 = ss "elva" ;
- pot1to19 d = ss (d.s ! ton) ;
- pot0as1 n = ss (n.s ! ental) ;
- pot1 d = ss (d.s ! tiotal) ;
- pot1plus d e = ss (d.s ! tiotal ++ e.s ! ental) ;
- pot1as2 n = n ;
- pot2 d = ss (d.s ! ental ++ "hundra") ;
- pot2plus d e = ss (d.s ! ental ++ "hundra" ++ e.s) ;
- pot2as3 n = n ;
- pot3 n = ss (n.s ++ "tusen") ;
- pot3plus n m = ss (n.s ++ "tusen" ++ m.s) ;
-
diff --git a/grammars/numerals/old/numerals.Tam.gf b/grammars/numerals/old/numerals.Tam.gf
deleted file mode 100644
index e9fff3524..000000000
--- a/grammars/numerals/old/numerals.Tam.gf
+++ /dev/null
@@ -1,60 +0,0 @@
-include numerals.Abs.gf ;
-
-param Place = attr | indep ;
-param Nm = sg | pl ;
-oper sata : Nm => Str =
- table {{sg} => "sata" ; {pl} => "sataa"} ;
-oper tuhat : Nm => Str =
- table {{sg} => "tuhat" ; {pl} => "tuhatta"} ;
-lincat Numeral = {s : Str} ;
-lincat Digit = {s : Place => Str} ;
-lincat Sub10 = {inh : Nm ; s : Place => Str} ;
-lincat Sub100 = {inh : Nm ; s : Place => Str} ;
-lincat Sub1000 = {inh : Nm ; s : Place => Str} ;
-lincat Sub1000000 = {s : Str} ;
-lin num x0 =
- {s = x0.s} ;
-lin n2 =
- {s = table {p => "kaks"}} ;
-lin n3 =
- {s = table {{attr} => "kol" ; {indep} => "kolme"}} ;
-lin n4 =
- {s = table {{attr} => "nel" ; {indep} => "neliä"}} ;
-lin n5 =
- {s = table {p => "viis"}} ;
-lin n6 =
- {s = table {p => "kuus"}} ;
-lin n7 =
- {s = table {{attr} => "seit" ; {indep} => "seittämän"}} ;
-lin n8 =
- {s = table {p => "kahreksan"}} ;
-lin n9 =
- {s = table {p => "yhreksän"}} ;
-lin pot01 =
- {inh = sg ; s = table {{attr} => [] ; {indep} => "yks"}} ;
-lin pot0 d =
- {inh = pl ; s = table {p => d.s ! indep}} ;
-lin pot110 =
- {inh = pl ; s = table {p => "kymmenen"}} ;
-lin pot111 =
- {inh = pl ; s = table {p => "yks"++"toista"}} ;
-lin pot1to19 d =
- {inh = pl ; s = table {p => (d.s ! indep) ++ "toista"}} ;
-lin pot0as1 n =
- {inh = n.inh ; s = table {p => n.s ! p}} ;
-lin pot1 d =
- {inh = pl ; s = table {p => (d.s ! attr) ++ "kytä"}} ;
-lin pot1plus d e =
- {inh = pl ; s = table {p => (d.s ! attr) ++ "kyt" ++ e.s ! indep}} ;
-lin pot1as2 n =
- {inh = n.inh ; s = table {p => n.s ! p}} ;
-lin pot2 d =
- {inh = pl ; s = table {p => (d.s ! attr) ++ sata ! (d.inh)}} ;
-lin pot2plus d e =
- {inh = pl ; s = table {p => (d.s ! attr) ++ (sata ! (d.inh)) ++ e.s ! indep}} ;
-lin pot2as3 n =
- {s = n.s ! indep} ;
-lin pot3 n =
- {s = (n.s ! attr) ++ tuhat ! (n.inh)} ;
-lin pot3plus n m =
- {s = (n.s ! attr) ++ (tuhat ! (n.inh)) ++ m.s ! indep} ;
diff --git a/grammars/numerals/old/old_church_slavonic.gf b/grammars/numerals/old/old_church_slavonic.gf
deleted file mode 100644
index ce6a0c032..000000000
--- a/grammars/numerals/old/old_church_slavonic.gf
+++ /dev/null
@@ -1,58 +0,0 @@
--- je, jo, ja for je, jo, ja etc
--- U, I yers
--- ä is jat'
--- q is [ch]
--- y for [bi]
--- e~, o~
--- w for [sh]
-
-include numerals.Abs.gf ;
-
-param Size = sg | dual | threefour | fiveup ;
-
-lincat Digit = {s : Str ; s2 : Str ; size : Size } ;
-lincat Sub10 = {s : Str ; s2 : Str ; size : Size } ;
-lincat Sub100 = {s : Str ; s2 : Str ; size : Size } ;
-lincat Sub1000 = {s : Str ; s2 : Str ; size : Size } ;
-
-oper mkNum : Str -> Size -> {s : Str ; s2 : Str ; size : Size} =
- \petI -> \sz -> { s = petI ; s2 = petI ; size = sz};
-
-oper mkNum5 : Str -> {s : Str ; s2 : Str ; size : Size} = \s -> mkNum s fiveup ;
-
-lin num x = {s = "/C" ++ x.s ++ "C/"} ; -- the Old Church Slavonic Cyrillic script ;
-
-lin n2 = {s = "dUva" ; s2 = [] ; size = dual };
-lin n3 = mkNum (variants {"trije" ; "trIje" }) threefour ;
-lin n4 = mkNum "qetyre" threefour ;
-lin n5 = mkNum5 "pe~tI" ;
-lin n6 = mkNum5 "westI" ;
-lin n7 = mkNum5 "sedmI" ;
-lin n8 = mkNum5 "osmI" ;
-lin n9 = mkNum5 "deve~tI" ;
-
-lin pot01 = { s = "jedinU" ; s2 = [] ; size = sg };
-lin pot0 d = d ;
-lin pot110 = mkNum5 "dese~tI" ;
-lin pot111 = mkNum5 ("jedinU" ++ "na" ++ "dese~te") ;
-lin pot1to19 d = mkNum5 (d.s ++ "na" ++ "dese~te") ;
-lin pot0as1 n = n ;
-lin pot1 d = {s = mkTen d.size d.s ; s2 = mkTen d.size d.s ; size = fiveup} ;
-lin pot1plus d e = {s = mkTen d.size d.s ++ variants {"i" ; "ti"} ++ e.s ; s2 =mkTen d.size d.s ++ variants {"i" ; "ti"} ++ mkattr e.size e.s ; size = e.size} ;
-lin pot1as2 n = n ;
-lin pot2 d = {s = mkHund d.size d.s ; s2 = mkHund d.size d.s ; size = fiveup} ;
-lin pot2plus d e = { s = mkHund d.size d.s ++ e.s ; s2 = mkHund d.size d.s ++ e.s2 ; size = e.size } ;
-lin pot2as3 n = {s = n.s };
-lin pot3 n = {s = n.s2 ++ mkThou n.size} ;
-lin pot3plus n m = {s = n.s2 ++ mkThou n.size ++ m.s} ;
-
-oper mkThou : Size -> Str = \sz ->
- table {sg => (variants {"tysjo~wti" ; "tysje~wti"}) ; dual => ("dUvä" ++ "tysjo~wti") ; threefour => "tysjo~wte~" ; fiveup => "tysjo~wtI" } ! sz ;
-
-oper mkHund : Size -> Str -> Str = \sz -> \s ->
- table {sg => "sUto" ; dual => "dUvä" ++ "sUtä" ; threefour => s ++ "sUta" ; fiveup => s ++ "sUtU" } ! sz ;
-
-oper mkTen : Size -> Str -> Str = \sz -> \s ->
- table {sg => "dese~tI" ; dual => s ++ "dese~ti" ; threefour => s ++ "dese~te" ; fiveup => s ++ "dese~tU" } ! sz ;
-
-oper mkattr : Size -> Str -> Str = \sz -> \s -> table {dual => [] ; _ => s} ! sz;
diff --git a/grammars/numerals/old/pashto.gf b/grammars/numerals/old/pashto.gf
deleted file mode 100644
index 3904c08b2..000000000
--- a/grammars/numerals/old/pashto.gf
+++ /dev/null
@@ -1,88 +0,0 @@
-include numerals.Abs.gf ;
-
-param DForm = unit | ten | teen | spctwo | twenties;
-param Size = sg | two | less100 | more100 ;
-
--- From Herbert Penzl's Pashto book. There's no standard orthography of
--- Pashto so minor deviations may occur
--- yaw can occur beforer zar and sal but usually doesn't
--- [e] is yaw with two vertical under
--- [$] is Ha with three dots above
--- [X] is Sin with one dot below and one above
--- [A] shouldnt have dots
--- [p] is be with three dots below like Persian
--- [G] is za/ra etc with one dot below and one above
--- [a] should not have a hamza
--- [P] is a Ha with a hamza above
--- [R] is an r with a ring below
-
-lincat Digit = {s : DForm => Str ; size : Size} ;
-lincat Sub10 = {s : DForm => Str ; size : Size} ;
-lincat Sub100 = {s : Str ; size : Size} ;
-lincat Sub1000 = {s : Str ; s2 : Str ; size : Size } ;
-
-lin num x0 =
- {s = "/A" ++ x0.s ++ "A/"} ; -- the Extented-Arabic environment
-
-oper mkNum : Str -> Str -> Str -> Lin Digit =
- \dwA -> \cl -> \dwwls ->
- {s = table {unit => dwA ; ten => cl ; teen => dwwls ; spctwo => dwA ; twenties => dwA + "wict"} ; size = less100 } ;
-
-oper mkIrrNum : Str -> Str -> Str -> Str -> Str -> Lin Digit =
- \dwA -> \cl -> \dwwls -> \dw -> \dr ->
- {s = table {unit => dwA ; ten => cl ; teen => dwwls ; spctwo => dw ; twenties
-=> dr + "wict"} ; size = less100 } ;
-
--- lin n1 mkNum "yw" "ls" ... ;
-lin n2 = {s = table {unit => "dwA" ; ten => "cl" ; teen => "dwwls" ;
- spctwo => "dw" ; twenties => "dwA" + "wict" } ;
- size = two };
-lin n3 = mkIrrNum "dry" "derc" "dyarls" "dry" "dr" ;
-lin n4 = mkIrrNum "$lwr" "$lweXt" "$wrls" "$lwr" "$ler";
-lin n5 = mkNum "pnPA" "pnPws" (variants { "pnPAls"; "pnPls"}) ;
-lin n6 = mkNum "cpG" "cpetA" "spaRls" ;
-lin n7 = mkNum "awA" "awya" (variants {"awAls"; "awls"}) ;
-lin n8 = mkNum "atA" "atya" (variants {"atAls"; "atls"}) ;
-lin n9 = mkNum "nA" "nwy" (variants {"nwls"; "nwns"}) ;
-
-oper ss : Str -> {s : Str} = \s -> {s = s} ;
-
-lin pot01 = {s = table {unit => "yw" ;
- spctwo => "yw" ;
- twenties => "yw" + "wict" ;
- _ => "dummy" } ; size = sg} ;
-lin pot0 d = {s = table {f => d.s ! f} ; size = less100} ;
-lin pot110 = {s = "ls" ; size = less100} ;
-lin pot111 = {s = "ywwls" ; size = less100} ;
-lin pot1to19 d = {s = d.s ! teen ; size = less100} ;
-lin pot0as1 n = {s = n.s ! unit ; size = n.size} ;
-lin pot1 d = {s = d.s ! ten ; size = less100} ;
-lin pot1plus d e = {s = table {two => e.s ! twenties ;
- _ => e.s ! spctwo ++ (d.s ! ten) } ! d.size ;
- size = less100} ;
-lin pot1as2 n = {s = n.s ; s2 = "dummy" ; size = n.size } ;
-lin pot2 d = {s = (mkswA (d.s ! unit)) ! d.size ; s2 = (mklk (d.s ! unit)) ! d.size ; size = more100} ;
-lin pot2plus d e =
- {s = (mkvarswA (d.s ! unit)) ! d.size ++ "aw" ++ e.s ;
- s2 = (mklk (d.s ! unit)) ! d.size ++ e.s ++ (mkzrA ! e.size) ;
- size = more100} ;
-
-lin pot2as3 n = {s = n.s } ;
-lin pot3 n = {s = table { sg => "zr" ;
- two => n.s ++ "zrA" ;
- less100 => n.s ++ "zrA" ;
- more100 => n.s2 } ! n.size} ;
-lin pot3plus n m =
- {s = table { sg => variants {"zr" ; "yw" ++ "zr"} ;
- two => n.s ++ "zrA" ;
- less100 => n.s ++ "zrA" ;
- more100 => n.s2 } ! n.size ++ maybeaw ! m.size ++ m.s} ;
-
-
-oper mklk : Str -> Size => Str = \s -> table {sg => "lk" ; _ => s ++ "lk"} ;
-oper maybeaw : Size => Str = table {more100 => [] ; _ => "aw"} ;
-oper mkswA : Str -> Size => Str = \s -> table {sg => "sl" ; _ => s ++ "swA"} ;
-oper mkvarswA : Str -> Size => Str =
- \s -> table {sg => (variants {"sl" ; "yw" ++ "sl"}) ; _ => s ++ "swA"} ;
-oper mkzrA : Size => Str = table {sg => "zr" ; _ => "zrA"} ;
-
diff --git a/grammars/numerals/old/polish.gf b/grammars/numerals/old/polish.gf
deleted file mode 100644
index 8ecc3839a..000000000
--- a/grammars/numerals/old/polish.gf
+++ /dev/null
@@ -1,94 +0,0 @@
--- numerals in Polish, author Wojciech Mostowski, 20/9/2002
-
-include numerals.Abs.gf ;
-
--- all different for unit digits, teens, tens and hundreds
-param DForm = unit | teen | ten | hund ;
-
--- cases for thousand in Polish
--- 1000 - jeden TYSIAC
--- 2000 - dwa TYSIACE
--- 3000 - trzy TYSIACE
--- 4000 - cztery TYSIACE
--- 5000 - piec TYSIECY
--- 104000 - sto cztery TYSIECE
--- 105000 - sto piec TYSIECY
--- 24000 - dwadziescia cztery TYSIACE
--- 25000 - dwadziescia piec TYSIACY
--- BUT e.g.
--- 21000 - dwadziescia jeden TYSIECY (not TYSIAC)
--- 11000 - jedenascie TYSIECY
--- (12..19)000 - TYSIECY
-
-param ThForm = onlyone | lastone | twoorthreeorfour | fiveup ;
-
-oper LinDigit = {s : DForm => Str; o : ThForm ; t : ThForm } ;
-lincat Digit = LinDigit ;
-lincat Sub10 = {s : DForm => Str; o : ThForm ; t : ThForm } ;
-lincat Sub100 = {s : Str; t : ThForm } ;
-lincat Sub1000 = {s : Str; t : ThForm } ;
-
-oper mkNum : Str -> Str -> Str -> Str -> ThForm -> LinDigit =
- \dwa -> \dwanascie -> \dwadziescia -> \dwiescie -> \thform ->
- { s = table {unit => dwa ; teen => dwanascie ; ten => dwadziescia ; hund =>
-dwiescie };
- o = thform ; t = thform
- };
-
-oper mkRegNum1 : Str -> LinDigit =
- \siedem ->
- { s = table { unit => siedem ; teen => siedem + "nascie" ;
- ten => siedem + "dziesiat" ; hund => siedem + "set"
- };
- o = fiveup ; t = fiveup
- };
-oper mkRegNum2 : Str -> LinDigit =
- \pie ->
- { s = table { unit => pie + "c" ; teen => pie + "tnascie" ;
- ten => pie + "cdziesiat" ; hund => pie + "cset"
- };
- o = fiveup ; t = fiveup
- };
-
-oper mkTh : ThForm => Str =
- table { onlyone => "tysiac" ; lastone => "tysiecy" ;
- twoorthreeorfour => "tysiace" ; fiveup => "tysiecy"
- };
-
-oper ss : Str -> ThForm -> {s : Str ; t : ThForm} = \str -> \th -> {s = str; t = th}
-;
-
-lin num x = x ;
-
-lin n2 = mkNum "dwa" "dwanascie" "dwadziescia" "dwiescie"
-twoorthreeorfour ;
-lin n3 = mkNum "trzy" "trzynascie" "trzydziesci" "trzysta"
-twoorthreeorfour ;
-lin n4 = mkNum "cztery" "czternascie" "czterdziesci" "czterysta"
-twoorthreeorfour ;
-lin n5 = mkRegNum2 "pie" ;
-lin n6 = mkNum "szesc" "szesnascie" "szescdziesiat" "szescset" fiveup;
-lin n7 = mkRegNum1 "siedem" ;
-lin n8 = mkRegNum1 "osiem" ;
-lin n9 = mkRegNum2 "dziewie" ;
-
-lin pot01 = { s = table {hund => "sto"; f => "jeden" };
- o = onlyone ; t = lastone
- };
-lin pot0 d = {s = table {f => d.s ! f} ; o = d.o ; t = d.t} ;
-lin pot110 = ss "dziesiec" fiveup ;
-lin pot111 = ss "jedenascie" fiveup ;
-lin pot1to19 d = {s = d.s ! teen ; t = fiveup} ;
-lin pot0as1 n = {s = n.s ! unit ; t = n.o} ;
-lin pot1 d = {s = d.s ! ten ; t = fiveup} ;
-lin pot1plus d e = {s = d.s ! ten ++ e.s ! unit; t = e.t} ;
-lin pot1as2 n = n ;
-lin pot2 d = {s = d.s ! hund ; t = fiveup} ;
-lin pot2plus d e = { s = d.s ! hund ++ e.s ;
- t = table { onlyone => lastone ; f => f } ! e.t
- } ;
-
-lin pot2as3 n = n ;
-lin pot3 n = {s = n.s ++ mkTh ! n.t} ;
-lin pot3plus n m = {s = n.s ++ mkTh ! n.t ++ m.s} ;
-
diff --git a/grammars/numerals/old/portuguese.gf b/grammars/numerals/old/portuguese.gf
deleted file mode 100644
index bf3fb1b2e..000000000
--- a/grammars/numerals/old/portuguese.gf
+++ /dev/null
@@ -1,58 +0,0 @@
-include numerals.Abs.gf ;
-
-param DForm = unit | teen | ten | hundred ;
-param Size = sg | less10 | pl ;
-
-lincat Numeral = {s : Str} ;
-lincat Digit = {s : DForm => Str ; size : Size } ;
-lincat Sub10 = {s : DForm => Str ; size : Size } ;
-lincat Sub100 = {s : Str ; size : Size} ;
-lincat Sub1000 = {s : Str ; size : Size} ;
-lincat Sub1000000 = {s : Str} ;
-
-oper mkNum : Str -> Str -> Str -> Str -> Lin Digit =
- \dois -> \doze -> \vinte -> \duzentos ->
- {s = table {unit => dois ; teen => doze ; ten => vinte ; hundred => duzentos} ; size = less10} ;
-
-
-lin num x0 =
- {s = x0.s} ;
-
-lin n2 = mkNum "dois" "doze" "vinte" "duzentos" ;
-lin n3 = mkNum "três" "treze" "trinta" "trezentos" ;
-lin n4 = mkNum "cuatro" (variants {"catorze" ; "quatorze"}) "quarenta" "cuatrocentos" ;
-lin n5 = mkNum "cinco" "quinze" "cinqüenta" "quinhentos" ;
-lin n6 = mkNum "seis" (variants {"dezasseis" ; "dezesseis"}) "sessenta" "seiscentos" ;
-lin n7 = mkNum "sete" (variants {"dezassete" ; "dezessete"}) "setenta" "setecentos" ;
-lin n8 = mkNum "oito" "dezoito" "oitenta" "oitocentos" ;
-lin n9 = mkNum "nove" (variants {"dezanove" ; "dezenove"}) "noventa" "novecentos" ;
-
-lin pot01 = {s = table {unit => "um" ; hundred => "cem" ; _ => "dummy"} ; size = sg} ;
-lin pot0 d = d ;
-lin pot110 =
- {s = "dez" ; size = pl} ;
-lin pot111 =
- {s = "onze" ; size = pl} ;
-lin pot1to19 d =
- {s = d.s ! teen ; size = pl} ;
-lin pot0as1 n =
- {s = n.s ! unit ; size = n.size } ;
-lin pot1 d =
- {s = d.s ! ten ; size = pl} ;
-lin pot1plus d e =
- {s = d.s ! ten ++ "e" ++ e.s ! unit ; size = pl} ;
-lin pot1as2 n =
- {s = n.s ; size = n.size} ;
-lin pot2 d =
- {s = d.s ! hundred ; size = pl} ;
-lin pot2plus d e =
- {s = table {sg => "cento" ;
- _ => d.s ! hundred } ! d.size ++ (add e.s) ! e.size ; size = pl} ;
-lin pot2as3 n =
- {s = n.s} ;
-lin pot3 n =
- {s = table {sg => "mil" ; _ => n.s ++ "mil"} ! n.size} ;
-lin pot3plus n m =
- {s = table {sg => "mil" ; _ => n.s ++ "mil"} ! n.size ++ (add m.s) ! m.size } ;
-
-oper add : Str -> Size => Str = \s -> table {pl => s ; _ => "e" ++ s}; \ No newline at end of file
diff --git a/grammars/numerals/old/quechua.gf b/grammars/numerals/old/quechua.gf
deleted file mode 100644
index 768a5921a..000000000
--- a/grammars/numerals/old/quechua.gf
+++ /dev/null
@@ -1,50 +0,0 @@
-include numerals.Abs.gf ;
-
-param DForm = unit | havingunit ;
-param Size = sg | pl ;
-
--- Quechua har no standard orthography so there are numerous spelling variants
--- not considered here.
-
-
-lincat Digit = {s : DForm => Str ; size : Size} ;
-lincat Sub10 = {s : DForm => Str ; size : Size} ;
-lincat Sub100 = {s : Str ; size : Size} ;
-lincat Sub1000 = {s : Str ; size : Size} ;
-
-oper mkRegNum1 : Str -> Lin Digit =
- \juk ->
- { s = table { unit => juk ; havingunit => juk + "niyuq" } ; size = pl};
-
-oper mkRegNum2 : Str -> Lin Digit =
- \kinsa ->
- { s = table { unit => kinsa ; havingunit => kinsa + "yuq" } ; size = pl};
-
-lin num x = x ;
--- lin n1 mkRegNum1 "juk";
-lin n2 = mkRegNum1 "iskay";
-lin n3 = mkRegNum2 "kinsa";
-lin n4 = mkRegNum2 "tawa";
-lin n5 = mkRegNum2 "pishq'a" ;
-lin n6 = mkRegNum2 "suqta";
-lin n7 = mkRegNum1 "k'anchis" ;
-lin n8 = mkRegNum1 "pusaq" ;
-lin n9 = mkRegNum1 "isk'un" ;
-
-lin pot01 = {s = table { unit => "juk" ; havingunit => "juk" + "niyuq" } ; size = sg} ;
-lin pot0 d = d ;
-lin pot110 = {s = "chunka" ; size = pl } ;
-lin pot111 = {s = "chunka" ++ "jukniyuq" ; size = pl } ;
-lin pot1to19 d = {s = "chunka" ++ d.s ! havingunit ; size = pl } ;
-lin pot0as1 n = {s = n.s ! unit ; size = n.size} ;
-lin pot1 d = {s = d.s ! unit ++ "chunka" ; size = pl} ;
-lin pot1plus d e = {s = (d.s ! unit ++ "chunka") ++ e.s ! havingunit ; size = pl } ;
-lin pot1as2 n = n ;
-lin pot2 d = {s = (drop (d.s ! unit)) ! d.size ++ "pachak" ; size = pl} ;
-lin pot2plus d e = {s = (drop (d.s ! unit)) ! d.size ++ "pachak" ++ e.s ; size = pl} ;
-
-lin pot2as3 n = n ;
-lin pot3 n = {s = (drop n.s) ! n.size ++ "warank'a"} ;
-lin pot3plus n m = {s = (drop n.s) ! n.size ++ "warank'a" ++ m.s} ;
-
-oper drop : Str -> Size => Str = \s -> table {sg => [] ; pl => s } ; \ No newline at end of file
diff --git a/grammars/numerals/old/romanian.gf b/grammars/numerals/old/romanian.gf
deleted file mode 100644
index 5e6937063..000000000
--- a/grammars/numerals/old/romanian.gf
+++ /dev/null
@@ -1,61 +0,0 @@
-include numerals.Abs.gf ;
-
--- Note [s,], [a%] for Romanian s, and a with up bow ontop (not â)
-
-param DForm = unit | teen | ten | attr ;
-param MidForm = indep | det ;
-param Size = sg | less20 | pl ;
-
-lincat Digit = {s : DForm => Str ; size : Size} ;
-lincat Sub10 = {s : DForm => Str ; size : Size} ;
-lincat Sub100 = {s : MidForm => Str ; size : Size} ;
-lincat Sub1000 = {s : MidForm => Str ; size : Size} ;
-
-oper mkNum : Str -> Str -> Str -> Lin Digit =
- \two -> \twelve -> \twenty -> mkNumSpc two twelve twenty two ;
-
-oper mkNumSpc : Str -> Str -> Str -> Str -> Lin Digit =
- \two -> \twelve -> \twenty -> \doua ->
- {s = table {unit => two ; teen => twelve ; ten => twenty ; attr => doua} ; size = less20} ;
-
-oper regNum : Str -> Lin Digit =
- \trei -> mkNum trei (trei + variants { "sprezece" ; "s,pe" }) (trei + "zeci") ;
-
-oper ss : Str -> {s : MidForm => Str ; size : Size} = \st -> {s = table {_ => st} ; size = less20} ;
-
-lin num x = {s = "/L" ++ x.s ++ "L/" }; -- Latin A Supplement chars
-lin n2 = mkNumSpc "doi" (variants { "doisprezece" ; "doua%sprezece" }) "doua%zeci" "doua%" ;
-lin n3 = regNum "trei" ;
-lin n4 = mkNum "patru" (variants{"paisprezece" ; "pais,pe"}) "patruzeci" ;
-lin n5 = mkNumSpc "cinci" (variants{"cinsprezece" ; "cins,pe"}) "cinzeci" (variants { "cinci" ; "cin" });
-lin n6 = mkNum "s,ase" (variants{"s,aisprezece" ; "s,aispe"}) "s,aizeci" ;
-lin n7 = mkNum "s,apte" (variants{"s,aptesprezece" ; "s,apspe"}) "s,aptezeci" ;
-lin n8 = mkNum "opt" (variants{"optsprezece" ; "opspe"}) "optzeci" ;
-lin n9 = regNum "noua%" ;
-
-lin pot01 = {s = table {attr => "o" ; f => "unu"} ; size = sg} ;
-lin pot0 d = d ;
-lin pot110 = ss "zece" ;
-lin pot111 = ss (variants { "unsprezece" ; "uns,pe"}) ;
-lin pot1to19 d = {s = table {_ => d.s ! teen } ; size = less20} ;
-lin pot0as1 n = {s = table {indep => n.s ! unit ; det => n.s ! attr } ; size = n.size} ;
-lin pot1 d = {s = table {_ => d.s ! ten } ; size = pl} ;
-lin pot1plus d e =
- {s = table {indep => d.s ! ten ++ "s,i" ++ e.s ! unit ;
- det => d.s ! ten ++ "s,i" ++ e.s ! attr } ;
- size = pl} ;
-lin pot1as2 n = n ;
-lin pot2 d = {s = table {_ => d.s ! attr ++ (mksute d.size) }; size = pl} ;
-lin pot2plus d e =
- {s = table {indep => d.s ! attr ++ (mksute d.size) ++ e.s ! indep;
- det => d.s ! attr ++ (mksute d.size) ++ e.s ! det };
- size = pl} ;
-lin pot2as3 n = {s = n.s ! indep };
-lin pot3 n = {s = (mkmie n.size (n.s ! det) (n.s ! indep))} ;
-lin pot3plus n m = {s = (mkmie n.size (n.s ! det) (n.s ! indep)) ++ m.s ! indep} ;
-
-oper mksute : Size -> Str = \sz -> table {sg => "suta" ; _ => "sute" } ! sz ;
-oper mkmie : Size -> Str -> Str -> Str = \sz -> \attr -> \indep ->
- table {sg => "o" ++ "mie" ;
- less20 => attr ++ "mii" ;
- pl => indep ++ "de" ++ "mii"} ! sz ;
diff --git a/grammars/numerals/old/sango.gf b/grammars/numerals/old/sango.gf
deleted file mode 100644
index f96874ede..000000000
--- a/grammars/numerals/old/sango.gf
+++ /dev/null
@@ -1,63 +0,0 @@
-include numerals.Abs.gf ;
-
-param Size = sg | pl | over10;
-
-oper Form = {s : Str ; size : Size } ;
-
-lincat Numeral = {s : Str} ;
-lincat Digit = Form ;
-lincat Sub10 = Form ;
-lincat Sub100 = Form ;
-lincat Sub1000 = Form ;
-lincat Sub1000000 = {s : Str} ;
-lin num x0 =
- {s = x0.s} ; -- TODO: Encoding
-
-oper mkNum : Str -> Form = \mbili ->
- {s = mbili ; size = pl };
-
--- O IPA for o in cod
--- Ó
-
--- lin n1 = mkNum "ÓkO" ;
-lin n2 = mkNum "óse" ;
-lin n3 = mkNum "otá" ;
-lin n4 = mkNum "osió" ;
-lin n5 = mkNum "ukú" ;
-lin n6 = mkNum "omaná" ;
-lin n7 = mkNum "mbásámbárá" ;
-lin n8 = mkNum "miombe" ;
-lin n9 = mkNum "ngombáyá" ;
-
-oper nandoni : Str = ("na" ++ variants {"ndó" ++ "ní" ; []}) ;
-
-oper ss : Str -> Form = \s1 -> {s = s1 ; size = over10} ;
-
-lin pot01 = {s = "ÓkO" ; size = sg };
-lin pot0 d = d ;
-lin pot110 = ss ("bale" ++ "ÓkO");
-lin pot111 = ss ("bale" ++ "ÓkO" ++ nandoni ++ "ÓkO");
-lin pot1to19 d = ss ("bale" ++ "ÓkO" ++ nandoni ++ d.s);
-lin pot0as1 n = n ;
-lin pot1 d = ss ("bale" ++ d.s ) ;
-lin pot1plus d e = ss ("bale" ++ d.s ++ nandoni ++ e.s ) ;
-lin pot1as2 n = n ;
-lin pot2 d = ss (mkng d.size d.s) ;
-lin pot2plus d e = ss ((mkng d.size d.s) ++ nandoni ++ e.s) ;
-lin pot2as3 n = {s = n.s } ;
-lin pot3 n = {s = mktau n.size n.s } ;
-lin pot3plus n m = {s = mktau n.size (n.s ++ nandoni ++ m.s) } ;
-
-oper mkng : Size -> Str -> Str = \sz -> \attr ->
- table {pl => "ngbangbu" ++ attr ;
- over10 => "dummy" ;
- sg => variants {"ngbangbu" ++ "ÓkO"; "ngbangbu" }} ! sz ;
-
-oper mktau : Size -> Str -> Str = \sz -> \attr ->
- table {pl => "ngbangbu" ++ "bale" ++ attr ;
- over10 => "N/A" ;
- sg => variants {"ngbangbu" ++ "bale"; "kutu"} ++ attr} ! sz ;
-
-
-
-
diff --git a/grammars/numerals/old/sanskrit.gf b/grammars/numerals/old/sanskrit.gf
deleted file mode 100644
index be092b3ee..000000000
--- a/grammars/numerals/old/sanskrit.gf
+++ /dev/null
@@ -1,197 +0,0 @@
-include numerals.Abs.gf ;
-
-param DForm = unit | ten ;
-param DSize = sg | r2 | r3 | r4 | r5 | r6 | r7 | r8 | r9 ;
-param Size = sing | dual | less10 | more100 | more10 ;
-
-
-oper
- vowel : Strs = strs {"a" ; "e" ; "i" ; "u" ; "o"} ;
- dental : Strs = strs {"n"; "t"; "d"} ;
- labial : Strs = strs {"m"; "p"; "b"} ;
- velar : Strs = strs {"G"; "k"; "g"} ;
- affricate : Strs = strs {"ñ" ; "c"; "j" } ;
- retroflex : Strs = strs {"N" ; "T" ; "D"; "S"} ;
- sibilant : Strs = strs {"ç" ; "s"; "h"; "r"} ; -- r also
- unvoiced : Strs = strs {"k"; "p"; "c"; "t"} ;
-
-oper
- S : Str = pre {"S" ; "T" / unvoiced ; "D" / vowel } ;
- as : Str = pre {"o" ; "as" / unvoiced ; "a;" / sibilant } ;
- i : Str = pre {"i" ; "y" / vowel } ;
- am : Str = "a" + (pre {"m" ; "n" / dental ; "G" / velar ; "ñ" / affricate ; "N" / retroflex ; "M" / sibilant}) ;
- a_ : Str = pre { "a:" ; "a" / vowel } ; -- shortened if a follows (no other vowel occur initally)
- r : Str = pre {"r" ; "s" / unvoiced ; "c" / affricate ; ";" / sibilant } ;
- t : Str = pre {"t" ; "c" / affricate ; "T" / retroflex } ;
-
-
-LinDigit = {s : DForm => Str ; size : DSize} ;
-lincat Digit = LinDigit ;
-lincat Sub10 = {s : DForm => Str ; size : DSize} ;
-lincat Sub100 = {s : Str ; s2 : Str ; size : Size} ;
-lincat Sub1000 = {s : Str ; s2 : Str ; size : Size } ;
-
-lin num x0 =
- {s = "/&" ++ x0.s ++ "&/"} ; -- the Devanagari environment
-
-oper mkNum : Str -> Str -> DSize -> LinDigit =
- \u -> \t -> \sz ->
- {s = table {unit => u ; ten => t } ; size = sz } ;
-
--- lin n1 mkNum "eka" daca ... ;
-lin n2 = mkNum "dva" viMcati r2 ;
-lin n3 = mkNum ("tr" + i) triMcat r3 ;
-lin n4 = mkNum ("catu" + r) catvariMcat r4 ;
-lin n5 = mkNum "pañca" pancacat r5 ;
-lin n6 = mkNum ("Sa" + S) SaSTi r6 ;
-lin n7 = mkNum "sapta" saptati r7 ;
-lin n8 = mkNum "aSTa" aciti r8;
-lin n9 = mkNum "nava" navati r9 ;
-
-oper daca : Str = "daça" ;
-oper viMcati : Str = "viMçat" + i;
-oper triMcat : Str = "triMça" + t;
-oper catvariMcat : Str = "catva:riMça" + t ;
-oper pancacat : Str = "pañca:ça" + t;
-oper SaSTi : Str = "SaST" + i;
-oper saptati : Str = "saptat" + i ;
-oper aciti : Str = "açi:t" + i ;
-oper navati : Str = "navat" + i ;
-
-oper mkR1 : Str -> Str -> DSize => Str = \a1 -> \a2 -> table {
- sg => a1 + daca ;
- r2 => a2 + viMcati ;
- r3 => a2 + triMcat ;
- r4 => a2 + catvariMcat ;
- r5 => a2 + pancacat ;
- r6 => a2 + SaSTi ;
- r7 => a2 + saptati ;
- r8 => a2 + aciti ;
- r9 => a2 + navati
-} ;
-
-oper mkR : Str -> DSize => Str = \a1 -> table {
- sg => a1 + daca ;
- r2 => a1 + viMcati ;
- r3 => a1 + triMcat ;
- r4 => a1 + catvariMcat ;
- r5 => a1 + pancacat ;
- r6 => a1 + SaSTi ;
- r7 => a1 + saptati ;
- r8 => a1 + aciti ;
- r9 => a1 + navati
-} ;
-
-oper mkR9 : Str -> DSize => Str = \a1 -> table {
- sg => variants {a1 + daca ; "u:na:" + viMcati} ;
- r2 => variants {a1 + viMcati ; "u:na:" + triMcat } ;
- r3 => variants {a1 + triMcat ; "u:na:" + catvariMcat } ;
- r4 => variants {a1 + catvariMcat ; "u:na:" + pancacat } ;
- r5 => variants {a1 + pancacat ; "u:na:" + SaSTi } ;
- r6 => variants {a1 + SaSTi ; "u:na:" + saptati } ;
- r7 => variants {a1 + saptati ; "u:na:" + aciti } ;
- r8 => variants {a1 + aciti ; "u:na:" + navati } ;
- r9 => variants {a1 + navati ; "u:na:" + cata }
-} ;
-
-oper mkR3 : Str -> Str -> DSize => Str = \a1 -> \a2 -> table {
- sg => a1 + daca ;
- r2 => a1 + viMcati ;
- r3 => a1 + triMcat ;
- r4 => variants { a2 + catvariMcat ; a1 + catvariMcat } ;
- r5 => variants { a2 + pancacat ; a1 + pancacat } ;
- r6 => variants { a2 + SaSTi ; a1 + SaSTi } ;
- r7 => variants { a2 + saptati ; a1 + saptati } ;
- r8 => a2 + aciti ;
- r9 => variants { a2 + navati ; a1 + navati }
-} ;
-
-oper mkR6 : Str -> DSize => Str = \a1 -> table {
- sg => "SoDaça" ;
- r2 => a1 + viMcati ;
- r3 => a1 + triMcat ;
- r4 => a1 + catvariMcat ;
- r5 => a1 + pancacat ;
- r6 => a1 + SaSTi ;
- r7 => a1 + saptati ;
- r8 => a1 + aciti ;
- r9 => "SoNNavat" + i
-} ;
-
-oper rows : DSize => DSize => Str = table {
- sg => mkR1 ("ek" + a_) eka ;
- r2 => mkR3 ("dv" + a_) ("dv" + i) ;
- r3 => mkR3 ("tray" + as) ("tr" + i) ;
- r4 => mkR ("catu" + r) ;
- r5 => mkR "pañca" ;
- r6 => mkR6 ("Sa" + S) ;
- r7 => mkR "sapta" ;
- r8 => mkR3 ("aST" + a_) "aSTa" ;
- r9 => mkR9 "nava"
-} ;
-
-oper eka : Str = "eka" ;
-
-lin pot01 = {s = table {unit => eka ; ten => daca } ; size = sg} ;
-lin pot0 d = d ;
-lin pot110 = {s = daca ; s2 = variants { ayuta ; mksahasra2 more10 daca }; size = more10} ;
-lin pot111 = {s = rows ! sg ! sg ;
- s2 = mkayutamore eka sg eka sg ;
- size = more10} ;
-lin pot1to19 d =
- {s = rows ! d.size ! sg ;
- s2 = mkayutamore eka sg (d.s ! unit) d.size;
- size = more10} ;
-lin pot0as1 n = {s = n.s ! unit ;
- s2 = mksahasra n.size (n.s ! unit) ;
- size = table {sg => sing ; r2 => dual ; _ => less10} ! n.size };
-lin pot1 d = {s = d.s ! ten ;
- s2 = variants {mkayuta d.size (d.s ! unit) ; mksahasra2 more10 (d.s ! ten) } ;
- size = more10} ;
-lin pot1plus d e = {s = rows ! e.size ! d.size ;
- s2 = mkayutamore (d.s ! unit) d.size (e.s ! unit) e.size ;
- size = more10} ;
-lin pot1as2 n = {s = n.s ; s2 = n.s2 ; size = n.size } ;
-lin pot2 d =
- {s = mkcata d.size (d.s ! unit);
- s2 = mklakh d.size (d.s ! unit) ;
- size = more100} ;
-
-lin pot2plus d e =
- {s = hundredplusunit (mkcata d.size (d.s ! unit)) e.s ;
- s2 = lakhplus (mklakh d.size (d.s ! unit)) e.s2 ;
- size = more100} ;
-
-lin pot2as3 n = {s = n.s } ;
-lin pot3 n =
- {s = table {more10 => n.s2 ;
- _ => mksahasra2 n.size n.s } ! n.size} ;
-
-lin pot3plus n m =
- {s = p3plus (table {more10 => n.s2 ; _ => mksahasra2 n.size n.s } ! n.size) n.size m.s m.size} ;
-
-oper mksahasra2 : Size -> Str -> Str = \sz -> \s -> table {sing => "sahasr" + am ; dual => "dve" ++ "sahasre" ; _ => s ++ ("sahasra:N" + i)} ! sz ;
-oper mksahasra : DSize -> Str -> Str = \sz -> \s -> table {sg => "sahasr" + am ; r2 => "dve" ++ "sahasre" ; _ => s ++ ("sahasra:N" + i)} ! sz ;
-oper mkcata : DSize -> Str -> Str = \sz -> \s -> table {sg => cata ; r2 => variants {"dve" ++ "çate" ; "dvi:" + cata }; _ => s ++ ("çata:n" + i)} ! sz ;
-oper mklakh : DSize -> Str -> Str = \sz -> \s -> table {sg => "lakS" + am ; r2 => "dve" ++ "lakSe" ; _ => s ++ ("lakSa:N" + i) } ! sz ;
-oper mklakh2 : Size -> Str -> Str = \sz -> \s -> table {sing => "lakS" + am ; dual => "dve" ++ "lakSe" ; _ => s ++ ("lakSa:N" + i) } ! sz ;
-
-oper mkayuta : DSize -> Str -> Str = \sz -> \s -> table {sg => "ayut" + am ; r2 => "dve" ++ "ayute" ; _ => s ++ ("ayuta:n" + i)} ! sz ;
-
-oper adhikam : Str = "adHik" + am ;
-oper ca : Str = "ca" ;
-oper ayuta : Str = "ayut" + am ;
-oper cata : Str = "çat" + am ;
-
-oper hundredplusunit : Str -> Str -> Str = \hun -> \unit ->
- variants {hun ++ unit ++ "ca" ; unit ++ adhikam ++ hun};
-
-oper lakhplus : Str -> Str -> Str = \lakh -> \low -> lakh ++ low ++ ca ;
-
-oper p3plus : Str -> Size -> Str -> Size -> Str = \b -> \bs -> \s -> \ss -> table {more10 => table {more10 => b ++ ca ++ s ++ ca ; _ => s ++ adhikam ++ b} ! ss;
- _ => table {more10 => b ++ s ++ ca ; _ => s ++ b} ! ss } ! bs;
-
-mkayutamore : Str -> DSize -> Str -> DSize -> Str = \d -> \ds -> \e -> \es ->
- variants {(mkayuta ds d) ++ (mksahasra es e) ;
- mklakh2 more10 (rows ! es ! ds) } ;
-
diff --git a/grammars/numerals/old/slovak.gf b/grammars/numerals/old/slovak.gf
deleted file mode 100644
index 9e781429e..000000000
--- a/grammars/numerals/old/slovak.gf
+++ /dev/null
@@ -1,60 +0,0 @@
-include numerals.Abs.gf ;
-
--- by Karol Ostrovsky, Chalmers
--- mechanically translated to new GF notation by AR
-
-param DForm = unit | teen | ten ;
-param Place = indep | prae ;
-
-lincat Numeral = {s : Str} ;
-lincat Digit = {s : {p1 : DForm ; p2 : Place} => Str} ;
-lincat Sub10 = {s : {p1 : DForm ; p2 : Place} => Str} ;
-lincat Sub100 = {s : Place => Str} ;
-lincat Sub1000 = {s : Place => Str} ;
-lincat Sub1000000 = {s : Str} ;
-lin num x0 =
- {s = x0.s} ;
-lin n2 =
- {s = table {{p1 = unit ; p2 = indep} => "dva" ; {p1 = unit ; p2 = prae} => "dve" ; {p1 = teen ; p2 = indep} => "dvanast" ; {p1 = teen ; p2 = prae} => "dvanast" ; {p1 = ten ; p2 = indep} => "dvadsat" ; {p1 = ten ; p2 = prae} => "dvadsat"}} ;
-lin n3 =
- {s = table {{p1 = unit ; p2 = indep} => "tri" ; {p1 = unit ; p2 = prae} => "tri" ; {p1 = teen ; p2 = indep} => "trinast" ; {p1 = teen ; p2 = prae} => "trinast" ; {p1 = ten ; p2 = indep} => "tridsat" ; {p1 = ten ; p2 = prae} => "tridsat"}} ;
-lin n4 =
- {s = table {{p1 = unit ; p2 = indep} => "styri" ; {p1 = unit ; p2 = prae} => "styri" ; {p1 = teen ; p2 = indep} => "strnast" ; {p1 = teen ; p2 = prae} => "strnast" ; {p1 = ten ; p2 = indep} => "styridsat" ; {p1 = ten ; p2 = prae} => "styridsat"}} ;
-lin n5 =
- {s = table {{p1 = unit ; p2 = indep} => "pat" ; {p1 = unit ; p2 = prae} => "pat" ; {p1 = teen ; p2 = indep} => "patnast" ; {p1 = teen ; p2 = prae} => "patnast" ; {p1 = ten ; p2 = indep} => "patdesiat" ; {p1 = ten ; p2 = prae} => "patdesiat"}} ;
-lin n6 =
- {s = table {{p1 = unit ; p2 = indep} => "sest" ; {p1 = unit ; p2 = prae} => "sest" ; {p1 = teen ; p2 = indep} => "sestnast" ; {p1 = teen ; p2 = prae} => "sestnast" ; {p1 = ten ; p2 = indep} => "sestdesiat" ; {p1 = ten ; p2 = prae} => "sestdesiat"}} ;
-lin n7 =
- {s = table {{p1 = unit ; p2 = indep} => "sedem" ; {p1 = unit ; p2 = prae} => "sedem" ; {p1 = teen ; p2 = indep} => "sedemnast" ; {p1 = teen ; p2 = prae} => "sedemnast" ; {p1 = ten ; p2 = indep} => "sedemdesiat" ; {p1 = ten ; p2 = prae} => "sedemdesiat"}} ;
-lin n8 =
- {s = table {{p1 = unit ; p2 = indep} => "osem" ; {p1 = unit ; p2 = prae} => "osem" ; {p1 = teen ; p2 = indep} => "osemnast" ; {p1 = teen ; p2 = prae} => "osemnast" ; {p1 = ten ; p2 = indep} => "osemdesiat" ; {p1 = ten ; p2 = prae} => "osemdesiat"}} ;
-lin n9 =
- {s = table {{p1 = unit ; p2 = indep} => "devat" ; {p1 = unit ; p2 = prae} => "devat" ; {p1 = teen ; p2 = indep} => "devatnast" ; {p1 = teen ; p2 = prae} => "devatnast" ; {p1 = ten ; p2 = indep} => "devatdesiat" ; {p1 = ten ; p2 = prae} => "devatdesiat"}} ;
-lin pot01 =
- {s = table {{p1 = unit ; p2 = indep} => "jedna" ; {p1 = unit ; p2 = prae} => [] ; {p1 = teen ; p2 = indep} => "jedna" ; {p1 = teen ; p2 = prae} => [] ; {p1 = ten ; p2 = indep} => "jedna" ; {p1 = ten ; p2 = prae} => []}} ;
-lin pot0 d =
- {s = table {{p1 = unit ; p2 = indep} => d.s ! {p1 = unit ; p2 = indep} ; {p1 = unit ; p2 = prae} => d.s ! {p1 = unit ; p2 = prae} ; {p1 = teen ; p2 = indep} => d.s ! {p1 = teen ; p2 = indep} ; {p1 = teen ; p2 = prae} => d.s ! {p1 = teen ; p2 = prae} ; {p1 = ten ; p2 = indep} => d.s ! {p1 = ten ; p2 = indep} ; {p1 = ten ; p2 = prae} => d.s ! {p1 = ten ; p2 = prae}}} ;
-lin pot110 =
- {s = table {indep => "desat" ; prae => "desat"}} ;
-lin pot111 =
- {s = table {indep => "jedenast" ; prae => "jedenast"}} ;
-lin pot1to19 d =
- {s = table {indep => d.s ! {p1 = teen ; p2 = indep} ; prae => d.s ! {p1 = teen ; p2 = prae}}} ;
-lin pot0as1 n =
- {s = table {indep => n.s ! {p1 = unit ; p2 = indep} ; prae => n.s ! {p1 = unit ; p2 = indep}}} ;
-lin pot1 d =
- {s = table {indep => d.s ! {p1 = ten ; p2 = indep} ; prae => d.s ! {p1 = ten ; p2 = prae}}} ;
-lin pot1plus d e =
- {s = table {indep => (d.s ! {p1 = ten ; p2 = indep}) ++ e.s ! {p1 = unit ; p2 = indep} ; prae => (d.s ! {p1 = ten ; p2 = prae}) ++ e.s ! {p1 = unit ; p2 = indep}}} ;
-lin pot1as2 n =
- {s = table {indep => n.s ! indep ; prae => n.s ! indep}} ;
-lin pot2 d =
- {s = table {indep => (d.s ! {p1 = unit ; p2 = prae}) ++ "sto" ; prae => (d.s ! {p1 = unit ; p2 = prae}) ++ "sto"}} ;
-lin pot2plus d e =
- {s = table {indep => (d.s ! {p1 = unit ; p2 = prae}) ++ "sto" ++ e.s ! indep ; prae => (d.s ! {p1 = unit ; p2 = prae}) ++ "sto" ++ e.s ! indep}} ;
-lin pot2as3 n =
- {s = n.s ! indep} ;
-lin pot3 n =
- {s = (n.s ! prae) ++ "tisic"} ;
-lin pot3plus n m =
- {s = (n.s ! prae) ++ "tisic" ++ m.s ! indep} ;
diff --git a/grammars/numerals/old/sorani.gf b/grammars/numerals/old/sorani.gf
deleted file mode 100644
index 0b62c6039..000000000
--- a/grammars/numerals/old/sorani.gf
+++ /dev/null
@@ -1,90 +0,0 @@
-include numerals.Abs.gf ;
-
-param DForm = unit | ten | teen | hund | kilurrest | kilurresthAzar ;
-param Size = sg | less500 | fiveup | more500 ;
-
--- From Manuel de Kurde (dialecte Sorani).
---
--- [W] is waw with a horizontal line above
--- [E] is a ye with a horizonytal line above
--- [A] shouldnt have dots (= ta marbuta; also inside a word)
--- [p] is be with three dots below like Persian
--- [j] is djim like normal, like arabic (not ye)
--- [O] is a waw with a hacek above
--- [F] is a fa with three dots above (i.e v)
--- [Z] is a zain with three dots above (i.e zh)
--- [I] is a ye with a horizontal line above
--- [C] is a djim with three dots below like Persian (i.e ch)
--- [c] is shin (i.e sh)
--- [H] is Arabic Ha (= djim without dots)
-
--- [P] is a Ha with a hamza above
--- [R] is an r with a ring below
-
-lincat Digit = {s : DForm => Str ; size : Size} ;
-lincat Sub10 = {s : DForm => Str ; size : Size} ;
-lincat Sub100 = {s : Str ; size : Size} ;
-lincat Sub1000 = {s : Str ; s2 : Str ; size : Size} ;
-
-lin num x0 =
- {s = "/A" ++ x0.s ++ "A/"} ; -- the Arabic environment
-
-oper mkNum : Str -> Str -> Str -> Lin Digit =
- \dwA -> \cl -> \dwwls ->
- {s = table {unit => dwA ; ten => cl ; teen => dwwls ; hund => dwA + "sAd" ;
- kilurrest => "dummy" ; kilurresthAzar => "dummy" } ; size = less500};
-
-oper mkNum6 : Str -> Str -> Str -> Str -> Str -> Lin Digit =
- \dwA -> \cl -> \dwwls -> \pEn -> \rest ->
- {s = table {unit => dwA ; ten => cl ; teen => dwwls ; hund => pEn + "sAd" ;
- kilurrest => rest + "sAd" ; kilurresthAzar => rest + "sAd" ++ "hAzar"} ; size = fiveup} ;
-
--- lin n1 mkNum "yAk" "dA" variants { "yazdA" ; "yanzA"} [] ;
-lin n2 = mkNum "dW" "bIst" (variants { "dwwazdA" ; "dwwanzA" }) ;
-lin n3 = mkNum "sE" "sI" (variants { "sEzdA" ; "syanzA" }) ;
-lin n4 = mkNum "Cwwar" "Pl" "CwwardA" ;
-lin n5 = {s = table {unit => "pEnj" ;
- ten => "pAnja" ;
- teen => (variants { "pazdA" ; "panzA" }) ;
- hund => "pEn" + "sAd";
- kilurrest => [] ;
- kilurresthAzar => [] } ;
- size = fiveup } ;
-
-lin n6 = mkNum6 "cAc" "cAst" (variants { "cazdA"; "canzA"}) "cAc" [] ;
-lin n7 = mkNum6 "HAwt" "HAfta" "HAFdA" "HAw" "dW" ;
-lin n8 = mkNum6 "hAct" "hActa" "hAZdA" "hAc" "sE" ;
-lin n9 = mkNum6 "nO" "nAwAd" "nOzdA" "nO" "Cwwar" ;
-
-oper ss : Str -> {s : Str ; size : Size} = \s -> {s = s ; size = less500} ;
-
-lin pot01 = {s = table {unit => "yAk" ; hund => "sAd" ; _ => "dummy" } ; size = sg } ;
-lin pot0 d = {s = table {f => d.s ! f} ; size = d.size} ;
-lin pot110 = ss "dA" ;
-lin pot111 = ss (variants { "yazdA" ; "yanzA"});
-lin pot1to19 d = {s = d.s ! teen ; size = less500 } ;
-lin pot0as1 n = {s = n.s ! unit ; size = n.size} ;
-lin pot1 d = {s = d.s ! ten ; size = less500} ;
-lin pot1plus d e = {s = (d.s ! ten) ++ "w" ++ (e.s ! unit); size = less500} ;
-lin pot1as2 n = {s = n.s ; s2 = "dummy" ; size = n.size } ;
-lin pot2 d = {s = d.s ! hund ; s2 = "klWr" ++ d.s ! kilurresthAzar ; size = isover500 d.size} ;
-lin pot2plus d e =
- {s = d.s ! hund ++ e.s ;
- s2 = "klWr" ++ d.s ! kilurrest ++ (mkhAzar e.s "dummy") ! e.size ;
- size = isover500 d.size} ;
-lin pot2as3 n = {s = n.s} ;
-lin pot3 n = {s = (mkhAzar n.s n.s2) ! n.size } ;
-lin pot3plus n m = {s =(mkhAzar n.s n.s2) ! n.size ++ m.s} ;
-
-oper isover500 : Size -> Size = \sz ->
- table {fiveup => more500 ; _ => less500} ! sz ;
-
-oper mkhAzar : Str -> Str -> Size => Str = \attr -> \kilur ->
- table {sg => "hAzar" ;
- fiveup => attr ++ "hAzar" ;
- less500 => attr ++ "hAzar" ;
- more500 => kilur} ;
-
-
-
-
diff --git a/grammars/numerals/old/spanish.gf b/grammars/numerals/old/spanish.gf
deleted file mode 100644
index 30d7e46a4..000000000
--- a/grammars/numerals/old/spanish.gf
+++ /dev/null
@@ -1,61 +0,0 @@
-include numerals.Abs.gf ;
-
--- by Carlos Gonzalia, Chalmers, 1999
--- original source automatically translated to new GF by AR
-
-param DForm = unit | teen | ten | hundred ;
-param Modif = mod | unmod | conj ;
-
-lincat Numeral = {s : Str} ;
-lincat Digit = {inh : Modif ; s : {p1 : DForm ; p2 : Modif} => Str} ;
-lincat Sub10 = {s : {p1 : DForm ; p2 : Modif} => Str} ;
-lincat Sub100 = {s : Str} ;
-lincat Sub1000 = {s : Str} ;
-lincat Sub1000000 = {s : Str} ;
-
-lin num x0 =
- {s = x0.s} ;
-lin n2 =
- {inh = mod ; s = table {{p1 = unit ; p2 = mod} => "dos" ; {p1 = unit ; p2 = unmod} => "dos" ; {p1 = unit ; p2 = conj} => "y" ++ "dos" ; {p1 = teen ; p2 = mod} => "doce" ; {p1 = teen ; p2 = unmod} => "doce" ; {p1 = teen ; p2 = conj} => "doce" ; {p1 = ten ; p2 = mod} => "veinti" ; {p1 = ten ; p2 = unmod} => "veinte" ; {p1 = ten ; p2 = conj} => "veinte" ; {p1 = hundred ; p2 = mod} => "doscientos" ; {p1 = hundred ; p2 = unmod} => "doscientos" ; {p1 = hundred ; p2 = conj} => "doscientos"}} ;
-lin n3 =
- {inh = conj ; s = table {{p1 = unit ; p2 = mod} => "tres" ; {p1 = unit ; p2 = unmod} => "tres" ; {p1 = unit ; p2 = conj} => "y" ++ "tres" ; {p1 = teen ; p2 = mod} => "trece" ; {p1 = teen ; p2 = unmod} => "trece" ; {p1 = teen ; p2 = conj} => "trece" ; {p1 = ten ; p2 = mod} => "treinta" ; {p1 = ten ; p2 = unmod} => "treinta" ; {p1 = ten ; p2 = conj} => "treinta" ; {p1 = hundred ; p2 = mod} => "trescientos" ; {p1 = hundred ; p2 = unmod} => "trescientos" ; {p1 = hundred ; p2 = conj} => "trescientos"}} ;
-lin n4 =
- {inh = conj ; s = table {{p1 = unit ; p2 = mod} => "cuatro" ; {p1 = unit ; p2 = unmod} => "cuatro" ; {p1 = unit ; p2 = conj} => "y" ++ "cuatro" ; {p1 = teen ; p2 = mod} => "catorce" ; {p1 = teen ; p2 = unmod} => "catorce" ; {p1 = teen ; p2 = conj} => "catorce" ; {p1 = ten ; p2 = mod} => "cuarenta" ; {p1 = ten ; p2 = unmod} => "cuarenta" ; {p1 = ten ; p2 = conj} => "cuarenta" ; {p1 = hundred ; p2 = mod} => "cuatrocientos" ; {p1 = hundred ; p2 = unmod} => "cuatrocientos" ; {p1 = hundred ; p2 = conj} => "cuatrocientos"}} ;
-lin n5 =
- {inh = conj ; s = table {{p1 = unit ; p2 = mod} => "cinco" ; {p1 = unit ; p2 = unmod} => "cinco" ; {p1 = unit ; p2 = conj} => "y" ++ "cinco" ; {p1 = teen ; p2 = mod} => "quince" ; {p1 = teen ; p2 = unmod} => "quince" ; {p1 = teen ; p2 = conj} => "quince" ; {p1 = ten ; p2 = mod} => "cincuenta" ; {p1 = ten ; p2 = unmod} => "cincuenta" ; {p1 = ten ; p2 = conj} => "cincuenta" ; {p1 = hundred ; p2 = mod} => "quinientos" ; {p1 = hundred ; p2 = unmod} => "quinientos" ; {p1 = hundred ; p2 = conj} => "quinientos"}} ;
-lin n6 =
- {inh = conj ; s = table {{p1 = unit ; p2 = mod} => "seis" ; {p1 = unit ; p2 = unmod} => "seis" ; {p1 = unit ; p2 = conj} => "y" ++ "seis" ; {p1 = teen ; p2 = mod} => "dieciseis" ; {p1 = teen ; p2 = unmod} => "dieciseis" ; {p1 = teen ; p2 = conj} => "dieciseis" ; {p1 = ten ; p2 = mod} => "sesenta" ; {p1 = ten ; p2 = unmod} => "sesenta" ; {p1 = ten ; p2 = conj} => "sesenta" ; {p1 = hundred ; p2 = mod} => "seiscientos" ; {p1 = hundred ; p2 = unmod} => "seiscientos" ; {p1 = hundred ; p2 = conj} => "seiscientos"}} ;
-lin n7 =
- {inh = conj ; s = table {{p1 = unit ; p2 = mod} => "siete" ; {p1 = unit ; p2 = unmod} => "siete" ; {p1 = unit ; p2 = conj} => "y" ++ "siete" ; {p1 = teen ; p2 = mod} => "diecisiete" ; {p1 = teen ; p2 = unmod} => "diecisiete" ; {p1 = teen ; p2 = conj} => "diecisiete" ; {p1 = ten ; p2 = mod} => "setenta" ; {p1 = ten ; p2 = unmod} => "setenta" ; {p1 = ten ; p2 = conj} => "setenta" ; {p1 = hundred ; p2 = mod} => "setecientos" ; {p1 = hundred ; p2 = unmod} => "setecientos" ; {p1 = hundred ; p2 = conj} => "setecientos"}} ;
-lin n8 =
- {inh = conj ; s = table {{p1 = unit ; p2 = mod} => "ocho" ; {p1 = unit ; p2 = unmod} => "ocho" ; {p1 = unit ; p2 = conj} => "y" ++ "ocho" ; {p1 = teen ; p2 = mod} => "dieciocho" ; {p1 = teen ; p2 = unmod} => "dieciocho" ; {p1 = teen ; p2 = conj} => "dieciocho" ; {p1 = ten ; p2 = mod} => "ochenta" ; {p1 = ten ; p2 = unmod} => "ochenta" ; {p1 = ten ; p2 = conj} => "ochenta" ; {p1 = hundred ; p2 = mod} => "ochocientos" ; {p1 = hundred ; p2 = unmod} => "ochocientos" ; {p1 = hundred ; p2 = conj} => "ochocientos"}} ;
-lin n9 =
- {inh = conj ; s = table {{p1 = unit ; p2 = mod} => "nueve" ; {p1 = unit ; p2 = unmod} => "nueve" ; {p1 = unit ; p2 = conj} => "y" ++ "nueve" ; {p1 = teen ; p2 = mod} => "diecinueve" ; {p1 = teen ; p2 = unmod} => "diecinueve" ; {p1 = teen ; p2 = conj} => "diecinueve" ; {p1 = ten ; p2 = mod} => "noventa" ; {p1 = ten ; p2 = unmod} => "noventa" ; {p1 = ten ; p2 = conj} => "noventa" ; {p1 = hundred ; p2 = mod} => "novecientos" ; {p1 = hundred ; p2 = unmod} => "novecientos" ; {p1 = hundred ; p2 = conj} => "novecientos"}} ;
-lin pot01 =
- {s = table {{p1 = unit ; p2 = mod} => "uno" ; {p1 = unit ; p2 = unmod} => "uno" ; {p1 = unit ; p2 = conj} => "y" ++ "uno" ; {p1 = teen ; p2 = mod} => "uno" ; {p1 = teen ; p2 = unmod} => "uno" ; {p1 = teen ; p2 = conj} => "y" ++ "uno" ; {p1 = ten ; p2 = mod} => "uno" ; {p1 = ten ; p2 = unmod} => "uno" ; {p1 = ten ; p2 = conj} => "y" ++ "uno" ; {p1 = hundred ; p2 = mod} => "ciento" ; {p1 = hundred ; p2 = unmod} => "cien" ; {p1 = hundred ; p2 = conj} => "y" ++ "uno"}} ;
-lin pot0 d =
- {s = table {{p1 = unit ; p2 = mod} => d.s ! {p1 = unit ; p2 = mod} ; {p1 = unit ; p2 = unmod} => d.s ! {p1 = unit ; p2 = unmod} ; {p1 = unit ; p2 = conj} => d.s ! {p1 = unit ; p2 = conj} ; {p1 = teen ; p2 = mod} => d.s ! {p1 = teen ; p2 = mod} ; {p1 = teen ; p2 = unmod} => d.s ! {p1 = teen ; p2 = unmod} ; {p1 = teen ; p2 = conj} => d.s ! {p1 = teen ; p2 = conj} ; {p1 = ten ; p2 = mod} => d.s ! {p1 = ten ; p2 = mod} ; {p1 = ten ; p2 = unmod} => d.s ! {p1 = ten ; p2 = unmod} ; {p1 = ten ; p2 = conj} => d.s ! {p1 = ten ; p2 = conj} ; {p1 = hundred ; p2 = mod} => d.s ! {p1 = hundred ; p2 = mod} ; {p1 = hundred ; p2 = unmod} => d.s ! {p1 = hundred ; p2 = unmod} ; {p1 = hundred ; p2 = conj} => d.s ! {p1 = hundred ; p2 = conj}}} ;
-lin pot110 =
- {s = "diez"} ;
-lin pot111 =
- {s = "once"} ;
-lin pot1to19 d =
- {s = d.s ! {p1 = teen ; p2 = unmod}} ;
-lin pot0as1 n =
- {s = n.s ! {p1 = unit ; p2 = unmod}} ;
-lin pot1 d =
- {s = d.s ! {p1 = ten ; p2 = unmod}} ;
-lin pot1plus d e =
- {s = (d.s ! {p1 = ten ; p2 = mod}) ++ e.s ! {p1 = unit ; p2 = d.inh}} ;
-lin pot1as2 n =
- {s = n.s} ;
-lin pot2 d =
- {s = d.s ! {p1 = hundred ; p2 = unmod}} ;
-lin pot2plus d e =
- {s = (d.s ! {p1 = hundred ; p2 = mod}) ++ e.s} ;
-lin pot2as3 n =
- {s = n.s} ;
-lin pot3 n =
- {s = n.s ++ "mil"} ;
-lin pot3plus n m =
- {s = n.s ++ "mil" ++ m.s} ;
diff --git a/grammars/numerals/old/stieng.gf b/grammars/numerals/old/stieng.gf
deleted file mode 100644
index 549e9bd3f..000000000
--- a/grammars/numerals/old/stieng.gf
+++ /dev/null
@@ -1,54 +0,0 @@
-include numerals.Abs.gf ;
-
-param Size = sg | belowten | moreten ;
-
-oper LinDigit = {s : Str ; size : Size} ;
-
-lincat Digit = LinDigit ;
-lincat Sub10 = LinDigit ;
-lincat Sub100 = {s : Str ; s2 : Str ; size : Size} ;
-lincat Sub1000 = {s : Str ; s2 : Str ; size : Size} ;
-
-oper mkNum : Str -> LinDigit = \u -> {s = u ; size = belowten} ;
-
-lin n2 = mkNum "baar" ;
-lin n3 = mkNum "pê" ;
-lin n4 = mkNum "puôn" ;
-lin n5 = mkNum "pram" ;
-lin n6 = mkNum "prau" ;
-lin n7 = mkNum "poh" ;
-lin n8 = mkNum "phaam" ;
-lin n9 = mkNum "sên" ;
-
-oper ban : Str = (variants {"ban" ; "rabu"} ) ;
-
-lin num x = x ;
-
-lin pot01 = {s = variants {"muôi" ; "du" ; "di"} ; size = sg } ;
-lin pot0 d = d ;
-lin pot110 = {s = "jo'mo't" ; s2 = variants {"mu'n" ; "jo'm'ot" ++ "ban"} ; size = moreten} ;
-lin pot111 = {s = "jo'mo't" ++ "muôi" ; s2 = variants {"mu'n" ++ ban ; "jo'm'ot" ++ "muôi" ++ ban} ; size = moreten} ;
-lin pot1to19 d = {s = "jo'mo't" ++ d.s ; s2 = variants {"mu'n" ++ d.s ++ "ban"; "jo'm'ot" ++ d.s ++ "ban"} ; size = moreten };
-lin pot0as1 n = {s = n.s ; s2 = xsg n.size ban (n.s ++ "ban") ; size = n.size} ;
-lin pot1 d = {s = d.s ++ "jo't" ; s2 = variants {d.s ++ "mu'n" ; d.s ++ "jo't" ++ "ban"} ; size = moreten} ;
-lin pot1plus d e = {s = d.s ++ "jo't" ++ e.s ; s2 = variants {d.s ++ "mu'n" ; d.s ++ "jo't" } ++ xsg e.size ban (e.s ++ "ban") ; size = moreten} ;
-lin pot1as2 n = n ;
-lin pot2 d = {s = xsg d.size (variants { "riêng" ; "rhiêng" }) (d.s ++ "riêng") ;
- s2 = xsg d.size "seen" (d.s ++ "seen") ;
- size = moreten} ;
-lin pot2plus d e = {s = xsg d.size (variants { "riêng" ; "rhiêng" }) (d.s ++ "riêng") ++ maybeo e.size ++ e.s ;
- s2 = xsg d.size "seen" (d.s ++ "seen") ++ e.s2 ;
- size = moreten} ;
-lin pot2as3 n = {s = n.s} ;
-lin pot3 n = {s = table {sg => (variants {"ban" ; "rabu"}) ;
- belowten => n.s ++ "ban" ;
- tenover => n.s2} ! n.size } ;
-lin pot3plus n m = {s = table {sg => (variants {"ban" ; "rabu"}) ;
- belowten => n.s ++ "ban" ;
- tenover => n.s2} ! n.size ++ maybeo m.size ++ m.s } ;
-
-oper maybeo : Size -> Str = \sz -> table {moreten => [] ; _ => "ô"} ! sz;
-oper xsg : Size -> Str -> Str -> Str = \sz -> \s1 -> \s2 -> table {sg => s1 ; _ => s2} ! sz ;
-
-
-
diff --git a/grammars/numerals/old/swahili.gf b/grammars/numerals/old/swahili.gf
deleted file mode 100644
index e3613e986..000000000
--- a/grammars/numerals/old/swahili.gf
+++ /dev/null
@@ -1,54 +0,0 @@
-include numerals.Abs.gf ;
-
-param DForm = unit | ten ;
-param Size = sg | pl | pl_end | more100;
-param S1000 = reg | lakh ;
-
-lincat Numeral = {s : Str} ;
-lincat Digit = {s : DForm => Str ; size : Size } ;
-lincat Sub10 = {s : DForm => Str ; size : Size } ;
-lincat Sub100 = {s : Str ; size : Size} ;
-lincat Sub1000 = {s : S1000 => Str ; size : Size } ;
-lincat Sub1000000 = {s : Str} ;
-lin num x0 =
- {s = x0.s} ;
-
-oper mkNum : Str -> Str -> Lin Digit = \mbili -> \ishirini ->
- {s = table {unit => mbili ; ten => ishirini } ; size = pl_end };
-
--- lin n1 = mkNum "moja" ;
-lin n2 = mkNum "mbili" "ishirini" ;
-lin n3 = mkNum "tatu" "thelathini" ;
-lin n4 = mkNum "nne" "arobaini" ;
-lin n5 = mkNum "tano" "hamsini" ;
-lin n6 = mkNum "sita" "sitini" ;
-lin n7 = mkNum "saba" "sabini" ;
-lin n8 = mkNum "nane" "themanini" ;
-lin n9 = mkNum "tisa" "tisini" ;
-
-lin pot01 =
- {s = table {unit => "moja" ; _ => "dummy" } ; size = sg };
-lin pot0 d = d ;
-lin pot110 = {s = "kumi" ; size = pl_end} ;
-lin pot111 = {s = "kumi" ++ "na" ++ "moja" ; size = pl} ;
-lin pot1to19 d = {s = "kumi" ++ "na" ++ d.s ! unit ; size = pl} ;
-lin pot0as1 n = {s = n.s ! unit ; size = n.size} ;
-lin pot1 d = {s = d.s ! ten ; size = pl_end} ;
-lin pot1plus d e = {s = d.s ! ten ++ "na" ++ e.s ! unit ; size = pl} ;
-lin pot1as2 n = {s = table {_ => n.s } ; size = n.size} ;
-lin pot2 d = {s = table {reg => mkmia d.size (d.s ! unit) ; lakh => mklakh d.size (d.s ! unit) []} ; size = more100};
-lin pot2plus d e =
- {s = table {lakh => mklakh d.size (d.s ! unit) ("elfu" ++ e.s) ;
- reg => mkmia d.size (d.s ! unit) ++ maybena e.size ++ e.s } ;
- size = more100} ;
-lin pot2as3 n = {s = n.s ! reg } ;
-lin pot3 n = {s = table {sg => variants {"elfu" ; "elfu" ++ "moja"} ; more100 => n.s ! lakh ; _ => n.s ! reg ++ "elfu"} ! n.size} ; -- invert order in 1 < x < 100 * 1000 if nothing follows the elfu
-lin pot3plus n m = {s = table {more100 => n.s ! lakh ; _ => "elfu" ++ n.s ! reg} ! n.size ++ maybena m.size ++ m.s ! reg} ;
-
-oper lakhi : Str = (variants {"lakh" ; "lakhi" }) ;
-oper mia : Str = (variants { "mia" ; "mia" ++ "moja" }) ;
-oper maybena : Size -> Str = \sz -> table {sg => "na" ; pl_end => "na" ; _ => []} ! sz ;
-oper mklakh : Size -> Str -> Str -> Str = \sz -> \attr -> \elfu ->
- table {sg => lakhi ; _ => lakhi ++ attr} ! sz ++ elfu ;
-oper mkmia : Size -> Str -> Str = \sz -> \attr ->
- table {sg => mia; _ => "mia" ++ attr } ! sz ;
diff --git a/grammars/numerals/old/swiss_french.gf b/grammars/numerals/old/swiss_french.gf
deleted file mode 100644
index 1966c25c0..000000000
--- a/grammars/numerals/old/swiss_french.gf
+++ /dev/null
@@ -1,72 +0,0 @@
-include numerals.Abs.gf ;
-
-param DForm = unit | teen | ten ;
-param Nm = sg | pl ;
-param Place = indep | attr ;
-
-lincat Numeral = {s : Str} ;
-lincat Digit = {inh : DForm ; inh1 : Nm ; s : DForm => Str} ;
-lincat Sub10 = {inh : Nm ; s : {p1 : DForm ; p2 : Place} => Str} ;
-lincat Sub100 = {s : Place => Str} ;
-lincat Sub1000 = {s : Place => Str} ;
-lincat Sub1000000 = {s : Str} ;
-
-lin num x0 =
- {s = x0.s} ;
-lin n2 =
- {inh = unit ; inh1 = sg ; s = table {unit => "deux" ; teen => "douze" ; ten => "vingt" }} ;
-lin n3 =
- {inh = unit ; inh1 = sg ; s = table {unit => "trois" ; teen => "treize" ; ten => "trente" }} ;
-lin n4 =
- {inh = unit ; inh1 = sg ; s = table {unit => "quatre" ; teen => "quatorze" ; ten => "quarante" }} ;
-lin n5 =
- {inh = unit ; inh1 = sg ; s = table {unit => "cinq" ; teen => "quinze" ; ten => "cinquante" }} ;
-lin n6 =
- {inh = unit ; inh1 = sg ; s = table {unit => "six" ; teen => "seize" ; ten => "soixante" }} ;
-lin n7 =
- {inh = unit ; inh1 = sg ; s = table {unit => "sept" ; teen => "dix" ++ "-" ++ "sept" ; ten => "septante" }} ;
-lin n8 =
- {inh = unit ; inh1 = pl ; s = table {unit => "huit" ; teen => "dix" ++ "-" ++ "huit" ; ten => "huitante" }} ;
-lin n9 =
- {inh = unit ; inh1 = pl ; s = table {unit => "neuf" ; teen => "dix" ++ "-" ++ "neuf" ; ten => "nonante" }} ;
-lin pot01 =
- {inh = sg ;
- s = table {{p1 = unit ; p2 = indep} => "un" ;
- {p1 = unit ; p2 = attr} => [] ;
- {p1 = teen ; p2 = indep} => "onze" ;
- {p1 = teen ; p2 = attr} => [] ;
- {p1 = ten ; p2 = indep} => "dix" ;
- {p1 = ten ; p2 = attr} => [] }} ;
-lin pot0 d =
- {inh = pl ;
- s = table {{p1 = unit ; p2 = indep} => d.s ! unit ;
- {p1 = unit ; p2 = attr} => d.s ! unit ;
- {p1 = teen ; p2 = indep} => d.s ! teen ;
- {p1 = teen ; p2 = attr} => d.s ! teen ;
- {p1 = ten ; p2 = indep} => d.s ! ten ;
- {p1 = ten ; p2 = attr} => d.s ! ten }} ;
-
-lin pot110 =
- {s = table {indep => "dix" ; attr => "dix"}} ;
-lin pot111 =
- {s = table {indep => "onze" ; attr => "onze"}} ;
-lin pot1to19 d =
- {s = table {indep => d.s ! teen ; attr => d.s ! teen}} ;
-lin pot0as1 n =
- {s = table {indep => n.s ! {p1 = unit ; p2 = indep} ; attr => n.s ! {p1 = unit ; p2 = attr}}} ;
-lin pot1 d =
- {s = table {indep => d.s ! ten ; attr => d.s ! ten}} ;
-lin pot1plus d e =
- {s = table {indep => (d.s ! ten) ++ (table {{p1 = sg ; p2 = sg} => "et" ; {p1 = sg ; p2 = pl} => "-" ; {p1 = pl ; p2 = sg} => "-" ; {p1 = pl ; p2 = pl} => "-"} ! {p1 = d.inh1 ; p2 = e.inh}) ++ e.s ! {p1 = d.inh ; p2 = indep} ; attr => (d.s ! ten) ++ (table {{p1 = sg ; p2 = sg} => "et" ; {p1 = sg ; p2 = pl} => "-" ; {p1 = pl ; p2 = sg} => "-" ; {p1 = pl ; p2 = pl} => "-"} ! {p1 = d.inh1 ; p2 = e.inh}) ++ e.s ! {p1 = d.inh ; p2 = indep}}} ;
-lin pot1as2 n =
- {s = table {indep => n.s ! indep ; attr => n.s ! attr}} ;
-lin pot2 d =
- {s = table {indep => (d.s ! {p1 = unit ; p2 = attr}) ++ table {sg => "cent" ; pl => "cents"} ! (d.inh) ; attr => (d.s ! {p1 = unit ; p2 = attr}) ++ "cent"}} ;
-lin pot2plus d e =
- {s = table {indep => (d.s ! {p1 = unit ; p2 = attr}) ++ "cent" ++ e.s ! indep ; attr => (d.s ! {p1 = unit ; p2 = attr}) ++ "cent" ++ e.s ! indep}} ;
-lin pot2as3 n =
- {s = n.s ! indep} ;
-lin pot3 n =
- {s = (n.s ! attr) ++ "mille"} ;
-lin pot3plus n m =
- {s = (n.s ! attr) ++ "mille" ++ m.s ! indep} ;
diff --git a/grammars/numerals/old/tamil.gf b/grammars/numerals/old/tamil.gf
deleted file mode 100644
index 82a1a66c1..000000000
--- a/grammars/numerals/old/tamil.gf
+++ /dev/null
@@ -1,166 +0,0 @@
--- Tamil
--- Ad hoc transcr.
--- when there is something bigger maybe a:yiram should be preceded
--- by an o:ru
-
--- c is sh/ch etc
--- s is sanskr. s'
--- S is sanskr. s.
--- G is velar n i.e [ng]
--- V regular n in e.g [na:ru]
--- n one ring n
--- N two ring n
--- ñ
--- l
--- L (like N but without the middle ring)
--- M is retroflex l with the char that looks a bit like m (e.g l in Tamil)
-
-
-include numerals.Abs.gf ;
-
-oper
- vowel : Strs = strs {"o" ; "e" ; "a" ; "i" ; "u"} ;
- labial : Strs = strs {"m" ; "p"} ;
- retroflex : Strs = strs {"N" ; "T"} ;
- sandhi_u : Str = pre {"u" ; [] / vowel} ;
- sandhi_n : Str = pre {"n" ; "m" / labial} ;
- sandhi_spc_n : Str = pre {"n" ; "p" / labial} ;
- -- sandhi_N : Str = post {"n" ; "N" / retroflex } ;
-
-param DForm = unit | attr1 | attr2 | teen ;
-param Size = sg | four | five | eight | nine | more100 | less100 ;
-param Place = attr | indep ;
-param Sub1000Data = attrtwo | indeptwo | preceded | lakhs | lakhs2 ;
-
-lincat Numeral = {s : Str} ;
-lincat Digit = {s : DForm => Str ; size : Size} ;
-lincat Sub10 = {s : DForm => Str ; size : Size} ;
-lincat Sub100 = {s : Place => Str ; size : Size} ;
-lincat Sub1000 = {s : Sub1000Data => Str ; size : Size} ;
-lincat Sub1000000 = {s : Str} ;
-lin num x0 =
- {s = "/T" ++ x0.s ++ "T/"} ; -- the Tamil environment
-
-lin n2 =
- {s = table {teen => "panniraNTu" ;
- unit => "iraNT" + sandhi_u ;
- attr1 => "iru" ;
- attr2 => variants {"iraNT" + sandhi_u ; "i:r"} } ; size = less100} ;
-lin n3 =
- {s = table {teen => "patin" + "mu:nru" ;
- unit => "mu:nr" + sandhi_u ;
- attr1 => "mu" + sandhi_spc_n ;
- attr2 => "mu:l"} ; size = less100} ;
-lin n4 =
- {s = table {teen => "pati" + variants { "Va:lu" ; "Va:nku" } ;
- unit => variants { "Va:l" + sandhi_u ; "Va:nk" + sandhi_u } ;
- attr1 => "Va:r" ;
- attr2 => "Va:l"} ; size = four} ;
-lin n5 =
- {s = table {teen => "patin" + "aindu" ;
- unit => "aint" + sandhi_u ;
- attr1 => "ai" + sandhi_n ;
- attr2 => "aiy"} ; size = five} ;
-lin n6 =
- {s = table {teen => "patin" + "a:ru" ;
- unit => "a:r" + sandhi_u ;
- attr1 => "aru" ;
- attr2 => "a:r"} ; size = less100} ;
-lin n7 =
- {s = table {teen => "patin" + "e:Lu" ;
- unit => "e:L" + sandhi_u ;
- attr1 => "eLu" ;
- attr2 => "eL"} ; size = less100} ;
-lin n8 =
- {s = table {teen => "patin" + "eTTu" ;
- unit => "eTT" + sandhi_u ;
- attr1 => "eN" ;
- attr2 => "eNN"} ; size = eight} ;
-lin n9 =
- {s = table {teen => "patt" + "o:npatu" ;
- unit => "o:npat" + sandhi_u ;
- attr1 => "toN" ;
- attr2 => "o:npatin"} ; size = nine} ;
-
-oper fiveh : Str = variants { "ainna:ru" ; "añña:ru"} ;
-oper fiveh_sandhi : Str = variants { "ainna:r" + sandhi_u ; "añña:r" + sandhi_u } ;
-
-lin pot01 =
- {s = table {unit => "o:nru"; teen => "patin" + "o:nru" ; attr1 => "o:r" + sandhi_u ; attr2 => []} ; size = sg} ;
-lin pot0 d =
- {s = d.s ; size = d.size} ;
-lin pot110 =
- {s = table {_ => "pattu"} ; size = less100} ;
-lin pot111 =
- {s = table {_ => "patin" + "o:nr" + sandhi_u} ; size = less100} ;
-lin pot1to19 d =
- {s = table {_ => d.s ! teen} ; size = less100} ;
-lin pot0as1 n =
- {s = table {attr => n.s ! attr2 ; indep => n.s ! unit} ; size = n.size} ;
-lin pot1 d =
- {s = table {_ => table {nine => "toNNa:r" + sandhi_u ; _ => d.s ! attr1 ++ "patu"} ! d.size} ; size = less100} ;
-lin pot1plus d e =
- {s = table {_ => table {nine => ("toNNa:r" + sandhi_u) ++ e.s ! unit; _ => d.s ! attr1 ++ "pat" + sandhi_u } ! d.size ++ e.s ! unit }; size = less100} ;
-lin pot1as2 n =
- {s = table {indeptwo => n.s ! indep ; attrtwo => n.s ! attr ; preceded => n.s ! indep ; _ => "dummy"}; size = n.size} ;
-lin pot2 d =
- {s = table {indeptwo =>
- table {nine => "toLLa:yiram" ;
- eight => "eNNa:ru" ;
- four => "Va:Va:ru" ;
- five => fiveh ;
- sg => "Va:ru" ;
- _ => d.s ! attr1 ++ "Va:ru"} ! d.size ;
- attrtwo =>
- table {nine => "toLLa:yiratt" + sandhi_u ;
- eight => "eNNa:r" + sandhi_u ;
- four => "Va:Va:r" + sandhi_u;
- five => fiveh_sandhi ;
- _ => d.s ! attr1 ++ "Va:r" + sandhi_u} ! d.size ;
- preceded =>
- table {nine => "toLLa:yiram" ;
- eight => "eNNa:ru" ;
- four => "Va:Va:ru" ;
- five => fiveh ;
- _ => d.s ! attr1 ++ "Va:ru"} ! d.size ;
- lakhs => d.s ! unit ++ "ilaTcam" ;
- lakhs2 => d.s ! unit ++ "ilaTcattu" } ;
- size = more100} ;
-lin pot2plus d e =
- {s = table {indeptwo =>
- table {nine => ("toLLa:yiratt" + sandhi_u) ;
- eight => ("eNNa:r" + sandhi_u) ;
- four => ("Va:Va:r" + sandhi_u) ;
- five => fiveh_sandhi ;
- sg => ("Va:r" + sandhi_u) ;
- _ => d.s ! attr1 ++ ("Va:r" + sandhi_u) } ! d.size ++ e.s ! indep ;
- attrtwo =>
- table {nine => ("toLLa:yiratt" + sandhi_u) ;
- eight => ("eNNa:r" + sandhi_u) ;
- four => ("Va:Va:r" + sandhi_u) ;
- five => fiveh_sandhi ;
- sg => ("Va:r" + sandhi_u) ;
- _ => d.s ! attr1 ++ ("Va:r" + sandhi_u) } ! d.size ++ e.s ! indep ;
- preceded =>
- table {nine => ("toLLa:yiratt" + sandhi_u) ;
- eight => ("eNNa:r" + sandhi_u) ;
- four => ("Va:Va:r" + sandhi_u) ;
- five => fiveh_sandhi ;
- _ => d.s ! attr1 ++ ("Va:r" + sandhi_u) } ! d.size ++ e.s ! indep ;
- lakhs => d.s ! unit ++ ("ilaTcatt" + sandhi_u) ++
- table {sg => "a:yiram" ; _ => e.s ! attr ++ "a:yiram" } ! e.size ;
- lakhs2 => d.s ! unit ++ ("ilaTcatt" + sandhi_u) ++
- table {sg => "a:yiratt" + sandhi_u ; _ => e.s ! attr ++ ("a:yiratt" + sandhi_u) } ! e.size} ; size = more100} ;
-
-lin pot2as3 n =
- {s = n.s ! indeptwo} ;
-lin pot3 n =
- {s = table {sg => "a:yiram" ;
- more100 => n.s ! lakhs ;
- _ => n.s ! attrtwo ++ "a:yiram" } ! n.size } ;
-
-lin pot3plus n m =
- {s = table {sg => "a:yiratt" + sandhi_u;
- more100 => n.s ! lakhs2 ;
- _ => n.s ! attrtwo ++ "a:yiratt" + sandhi_u } ! n.size ++ m.s ! preceded} ;
-
diff --git a/grammars/numerals/old/tibetan.gf b/grammars/numerals/old/tibetan.gf
deleted file mode 100644
index b862108fc..000000000
--- a/grammars/numerals/old/tibetan.gf
+++ /dev/null
@@ -1,65 +0,0 @@
-include numerals.Abs.gf ;
-
-oper bind : Str -> Str -> Str = \s1 -> \s2 -> s1 ++ s2;
-
-param DForm = unit | teen | bform | ten | hundred | agg ;
-
--- Sorry no tibetan script but the adhoc transliteration should be phonematic
--- 21 has an extra variant namely nyerchi'
-
-oper LinDigit = {s : DForm => Str} ;
-
-lincat Digit = LinDigit ;
-lincat Sub10 = LinDigit ;
-lincat Sub100 = {s : Str ; s2 : Str} ;
-lincat Sub1000 = {s : Str ; s2 : Str} ;
-
-oper mkNum : Str -> Str -> Str -> Str -> LinDigit =
- \u -> \tn -> \b -> \t ->
- {s = table {unit => u ; teen => tn ; bform => b + "chu" ; ten => t ; hundred => b + "g~ya" ; agg => "t.'a'" ++ u}} ;
-
--- lin n1 mkNum "chi'" "chug/chi'" ;
-lin n2 =
-{s = table {unit => "n~yi:" ; teen => "chug/n~yi:" ; ten => "tsag/" ;
- bform => "nyishu" ; hundred => (variants {"nyibg~ya"; "nyi:bg~ya"}) ;
- agg => "t.'a'" ++ "n~yi:" } };
-lin n3 = mkNum "sum" "chug/sum" "sum" "sog/" ;
-lin n4 = mkNum "z~hyi" "chubz~hyi" (variants {"z~hyib" ; "z~hib"}) "z/hye" ;
-lin n5 = mkNum "n~ga" "chö:n~ga" "n~gab" "nga" ;
-lin n6 = mkNum "d.u'" "chud.u'" "d.ug/" "re";
-lin n7 = mkNum "d~ün" "chubd~ün" "d~ün" "d/ön";
-lin n8 = mkNum "g~yä'" "chobg~yä'" "g~yä'" "g/ya";
-lin n9 = mkNum "g~u" "chug~u" "g~ub" "g/o";
-
-oper dang : Str = "d/ang" ;
-oper tampa : Str -> Str = \s -> (variants {s; s ++ "t'ampa"});
-
-lin num x = {s = "/X" ++ x.s ++ "X/" }; -- extra diacritics translation
-
-lin pot01 =
- {s = table {hundred => "g~ya" ; agg => (variants {[] ; "t'a'"}) ; _ => "chi'"}} ;
-lin pot0 d = d ;
-lin pot110 = {s = tampa "chu" ; s2 = variants {"t.'i" ; "t.'it.'a'"}} ;
-lin pot111 =
- {s = "chug/chi'" ;
- s2 = variants {"t.'i" ; "t.'it.'a'"} ++ dang ++ variants {"t~ong'i" ; "t~ongt.'a'"}} ;
-lin pot1to19 d = {s = d.s ! teen ; s2 = variants {"t.'i" ; "t.'it.'a'"} ++ mkagg (d.s ! agg) "t~ong"} ;
-lin pot0as1 n = {s = n.s ! unit ; s2 = mkagg (n.s ! agg) "t~ong"} ;
-lin pot1 d = {s = tampa (d.s ! bform) ; s2 = mkagg (d.s ! agg) "t.'i"} ;
-lin pot1plus d e =
- {s = variants { d.s ! bform ++ (bind (d.s ! ten) (e.s ! unit)) ;
- (bind (d.s ! ten) (e.s ! unit))} ;
- s2 = mkagg (d.s ! agg) "t.'i" ++ dang ++ mkagg (e.s ! agg) "t~ong"} ;
-lin pot1as2 n = {s = n.s ; s2 = n.s2 } ;
-lin pot2 d = {s = d.s ! hundred ; s2 = mkagg (d.s ! agg) "b~um" } ;
-lin pot2plus d e = {s = d.s ! hundred ++ dang ++ e.s ;
- s2 = mkagg (d.s ! agg) "b~um" ++ dang ++ e.s2} ;
-lin pot2as3 n = {s = n.s } ;
-lin pot3 n = {s = n.s2 } ;
-lin pot3plus n m = {s = n.s2 ++ dang ++ m.s} ;
-
-oper mkagg : Str -> Str -> Str = \attr -> \s -> bind s attr ;
-
-
-
-
diff --git a/grammars/numerals/old/totonac.gf b/grammars/numerals/old/totonac.gf
deleted file mode 100644
index 1b843b1db..000000000
--- a/grammars/numerals/old/totonac.gf
+++ /dev/null
@@ -1,108 +0,0 @@
-include numerals.Abs.gf ;
-
-oper mk20Ten : Str -> Str -> Str -> Size -> LinDigit =
- \tri -> \fiche -> \ext -> \sz ->
- { s = table {unit => tri ; maaunit => "maa" ++ tri ; twenty => fiche ; extra => ext } ; even20 = ten ; size = sz} ;
-
-oper mkEven20 : Str -> Str -> Str -> Size -> LinDigit =
- \se -> \trifichid -> \ext -> \sz ->
- { s = table {unit => se ; maaunit => "maa" ++ se ; twenty => trifichid ; extra => ext } ; even20 = even ; size = sz} ;
-
-param Even20 = ten | even ;
-param DForm = unit | maaunit | extra | twenty ;
-param Size = one | two | three | four | five | pl ;
-
-lincat Numeral = {s : Str} ;
-oper LinDigit = {s : DForm => Str ; even20 : Even20 ; size : Size} ;
-
-lincat Digit = LinDigit ;
-lincat Sub10 = LinDigit ;
-lincat Sub100 = {s : Str ; tenpsize : Size ; s2 : Str} ;
-lincat Sub1000 = {s : Str } ;
-lincat Sub1000000 = {s : Str} ;
-lin num x0 =
- {s = x0.s} ;
-lin n2 = mkEven20 "t~u3" "pus^um" [] two;
-lin n3 = mk20Ten "itun" ("pus^um" ++ "maa" ++ "kaawi") [] two;
-lin n4 = mkEven20 "t~a~at" (variants {"pus^um" ++ "pus^um" ; "tiy~u~u" ++ "pus^um"}) [] three;
-lin n5 = mk20Ten (variants {"kitis" ; "kic/is"})
- (variants {("paha" ++ "sye<ntu" ++ "~a") ;
- "pus^um" ++ "pus^um" ++ "maa" ++ "kaawi" ;
- "tiy~u~u" ++ "pus^um" ++ "maa" ++ "kaawi" }) [] three;
-lin n6 = mkEven20 "c^aas^an"
- (variants {("pus^um" ++ "pus^um" ++ "pus^um") ;
- "tutun" ++ "pus^um" }) "~a" four;
-lin n7 = mk20Ten "tuhun" (variants {("pus^um" ++ "pus^um" ++ "pus^um" ++ "lii" ++ "~a" ++ "kaawi" ) ; ("tutun" ++ "pus^um" ++ "maa" ++ "kaawi")}) [] four ;
-lin n8 = mkEven20 "c/iyan" (variants {("t~a~ati" ++ "pus^um") ; ("maa" ++ "t~a~ati" ++ "pus^um")}) ("lii" ++ "~a") five ;
-lin n9 = mk20Ten "nahaac/a" ("t~a~ati" ++ "pus^um" ++ "maa" ++ "kaawi") [] five;
-
-oper addkaawi : Size => Str = table {sz => "maa" ++ "kaawi" ++ mk5twenty ! sz };
-
-oper mk5twenty : Size => Str = table {
- one => variants {("maa" ++ "kic/is") ; "kic/is"} ++ "pus^um";
- two => "c^aas^an" ++ "pus^um";
- three => "tuhun" ++ "pus^um";
- four => "c/iyan" ++ "pus^um";
- _ => "nahaac/a" ++ "pus^um"
-} ;
-
-oper mktwenty : Str -> Str -> Str -> Str -> Str -> Size => Str =
- \a1 -> \a2 -> \a3 -> \a4 -> \a5 -> table {
- one => a1 ++ "pus^um" ;
- two => a2 ++ "pus^um" ;
- three => a3 ++ "pus^um" ;
- four => a4 ++ "pus^um" ;
- _ => a5 ++ "pus^um"
-} ;
-
-oper get20 : Str -> Size -> Size -> Str = \df -> \sz1 -> \sz2 ->
- table {one => mk5twenty ;
- two => mktwenty ("maa" ++ "kaawi")
- ("maa" ++ "kaawi" ++ "tun")
- ("maa" ++ "kaawi" ++ "t~u3")
- ("maa" ++ "kaawi" ++ "itun")
- ("maa" ++ "kaawi" ++ "t~a~at") ;
- three => addkaawi ;
- _ => table {_ => df } } ! sz1 ! sz2 ;
-
-lin pot01 =
- {s = table {unit => "tun" ; maaunit => "tun" ; tfive => "kic/is" ++ "pus^um" } ; even20 = ten ; size = one};
-lin pot0 d =
- {s = d.s ; even20 = d.even20 ; size = one} ;
-lin pot110 =
- {s = "kaawi" ; tenpsize = one ; s2 = "tun"} ;
-lin pot111 =
- {s = "kaawi" ++ "tun" ; tenpsize = one ; s2 = "tun" } ;
-lin pot1to19 d =
- {s = "kaawi" ++ d.s ! unit ; tenpsize = one ; s2 = d.s ! unit } ;
-lin pot0as1 n =
- {s = n.s ! maaunit ; tenpsize = one ; s2 = n.s ! maaunit} ;
-lin pot1 d =
- {s = d.s ! twenty ;
- tenpsize = d.size ;
- s2 = [] } ;
-
-lin pot1plus d e =
- {s = table {even => d.s ! twenty ++ d.s ! extra ++ e.s ! maaunit;
- ten => d.s ! twenty ++ e.s ! unit} ! (d.even20) ;
- tenpsize = d.size ;
- s2 = table {even => e.s ! maaunit ; ten => e.s ! unit} ! d.even20} ;
-
-lin pot1as2 n = {s = n.s} ;
-
-lin pot2 d =
- {s = variants {get20 (d.s ! maaunit ++ "sye<ntu") d.size one ;
- d.s ! maaunit ++ "sye<ntu" }};
-lin pot2plus d e =
- {s = variants {(get20 (d.s ! maaunit ++ "sye<ntu") d.size e.tenpsize) ++ e.s2;
- d.s ! maaunit ++ "sye<ntu" ++ e.s}} ;
-lin pot2as3 n =
- {s = n.s } ;
-lin pot3 n =
- {s = n.s ++ "mil" } ;
-lin pot3plus n m =
- {s = n.s ++ "mil" ++ "lii" ++ "~a" ++ m.s } ;
-
-
-
- \ No newline at end of file
diff --git a/grammars/numerals/old/transNum.gfs b/grammars/numerals/old/transNum.gfs
deleted file mode 100644
index 0b6954305..000000000
--- a/grammars/numerals/old/transNum.gfs
+++ /dev/null
@@ -1,81 +0,0 @@
-i -old -abs=Nums -cnc=Decimal numerals.Dec.gf
-i -old -abs=Nums -cnc=Amharic amharic.gf
-i -old -abs=Nums -cnc=Basque basque.gf
-i -old -abs=Nums -cnc=Hebrew biblical_hebrew.gf
-i -old -abs=Nums -cnc=Arabic classical_arabic.gf
-i -old -abs=Nums -cnc=GreekOld classical_greek.gf
-i -old -abs=Nums -cnc=Croatian croatian.gf
-i -old -abs=Nums -cnc=Bulgarian bulgarian.gf
-i -old -abs=Nums -cnc=Catalan catalan.gf
-i -old -abs=Nums -cnc=Czech czech.gf
-i -old -abs=Nums -cnc=Khmer khmer.gf
-i -old -abs=Nums -cnc=Kwami kwami.gf
-i -old -abs=Nums -cnc=Lamani lamani.gf
-i -old -abs=Nums -cnc=Latvian latvian.gf
-i -old -abs=Nums -cnc=Stieng stieng.gf
-i -old -abs=Nums -cnc=Swahili swahili.gf
-i -old -abs=Nums -cnc=Geez geez.gf
-i -old -abs=Nums -cnc=Hindi hindi.gf
-i -old -abs=Nums -cnc=Hungarian hungarian.gf
-i -old -abs=Nums -cnc=Icelandic icelandic.gf
-i -old -abs=Nums -cnc=Irish irish.gf
-i -old -abs=Nums -cnc=Italian italian.gf
-i -old -abs=Nums -cnc=Japanese japanese.gf
-i -old -abs=Nums -cnc=Khowar khowar.gf
-i -old -abs=Nums -cnc=Korean korean.gf
-i -old -abs=Nums -cnc=Kulung kulung.gf
-i -old -abs=Nums -cnc=GreekNew modern_greek.gf
-i -old -abs=Nums -cnc=Mongolian mongolian.gf
-i -old -abs=Nums -cnc=Chinese numerals.ChiU.gf
-i -old -abs=Nums -cnc=Danish numerals.Dan.gf
-i -old -abs=Nums -cnc=German numerals.Deu.gf
-i -old -abs=Nums -cnc=English numerals.Eng.gf
-i -old -abs=Nums -cnc=French numerals.Fra.gf
-i -old -abs=Nums -cnc=Malay numerals.Malay.gf
-i -old -abs=Nums -cnc=Dutch numerals.Ned.gf
-i -old -abs=Nums -cnc=Norwegian numerals.NorB.gf
-i -old -abs=Nums -cnc=Russian numerals.Rus.gf
-i -old -abs=Nums -cnc=Finnish numerals.Suo.gf
-i -old -abs=Nums -cnc=Swedish numerals.Swe.gf
-i -old -abs=Nums -cnc=Tampere numerals.Tam.gf
-i -old -abs=Nums -cnc=ChurchSlavonic old_church_slavonic.gf
-i -old -abs=Nums -cnc=Pashto pashto.gf
-i -old -abs=Nums -cnc=Polish polish.gf
-i -old -abs=Nums -cnc=Portuguese portuguese.gf
-i -old -abs=Nums -cnc=Quechua quechua.gf
-i -old -abs=Nums -cnc=Romanian romanian.gf
-i -old -abs=Nums -cnc=Sanskrit sanskrit.gf
-i -old -abs=Nums -cnc=Slovak slovak.gf
-i -old -abs=Nums -cnc=Sorani sorani.gf
-i -old -abs=Nums -cnc=Spanich spanish.gf
-i -old -abs=Nums -cnc=SwissFrench swiss_french.gf
-i -old -abs=Nums -cnc=Tamil tamil.gf
-i -old -abs=Nums -cnc=Tibetan tibetan.gf
-i -old -abs=Nums -cnc=Totonac totonac.gf
-i -old -abs=Nums -cnc=Turkish turkish.gf
-i -old -abs=Nums -cnc=AfTunni af_tunni.gf
-i -old -abs=Nums -cnc=Albanian albanian.gf
-i -old -abs=Nums -cnc=BearlakeSlave bearlake_slave.gf
-i -old -abs=Nums -cnc=Dagur dagur.gf
-i -old -abs=Nums -cnc=Fulfulde fulfulde.gf
-i -old -abs=Nums -cnc=Guahibo guahibo.gf
-i -old -abs=Nums -cnc=Guarani guarani.gf
-i -old -abs=Nums -cnc=Kabardian kabardian.gf
-i -old -abs=Nums -cnc=Kambera kambera.gf
-i -old -abs=Nums -cnc=Kawaiisu kawaiisu.gf
-i -old -abs=Nums -cnc=KolymaYukaghir kolyma_yukaghir.gf
-i -old -abs=Nums -cnc=Kwaza kwaza.gf
-i -old -abs=Nums -cnc=Lithuanian lithuanian.gf
-i -old -abs=Nums -cnc=Lotuxo lotuxo.gf
-i -old -abs=Nums -cnc=Maale maale.gf
-i -old -abs=Nums -cnc=Maltese maltese.gf
-i -old -abs=Nums -cnc=Mapuche mapuche.gf
-i -old -abs=Nums -cnc=Maybrat maybrat.gf
-i -old -abs=Nums -cnc=Miya miya.gf
-i -old -abs=Nums -cnc=Nenets nenets.gf
-i -old -abs=Nums -cnc=Sango sango.gf
-i -old -abs=Nums -cnc=TukangBesi tukang_besi.gf
-i -old -abs=Nums -cnc=Welsh welsh.gf
-i -old -abs=Nums -cnc=YasinBurushaski yasin_burushaski.gf
-
----ts -f
diff --git a/grammars/numerals/old/tukang_besi.gf b/grammars/numerals/old/tukang_besi.gf
deleted file mode 100644
index f07bdce33..000000000
--- a/grammars/numerals/old/tukang_besi.gf
+++ /dev/null
@@ -1,41 +0,0 @@
-include numerals.Abs.gf ;
-
-param DForm = u | v ;
-
-oper LinDigit = {s : DForm => Str } ;
-
-lincat Digit = LinDigit ;
-lincat Sub10 = LinDigit ;
-lincat Sub100 = LinDigit ;
-lincat Sub1000 = LinDigit ;
-
-oper bind : Str -> Str -> Str = \a -> \b -> a ++ b ;
-
-oper mkNum : Str -> LinDigit = \a -> {s = table {_ => a}} ;
-oper mkNum2 : Str -> Str -> LinDigit = \a -> \b -> {s = table {u => a ; v => b}} ;
-
-lin num x = x ;
--- lin n1 mkNum "sa'asa" ;
-lin n2 = mkNum "dua" ;
-lin n3 = mkNum "tolu" ;
-lin n4 = mkNum2 "gana" "hato";
-lin n5 = mkNum "lima" ;
-lin n6 = mkNum2 "no'o" "nomo" ;
-lin n7 = mkNum2 "pitu" "hitu" ;
-lin n8 = mkNum "alu" ;
-lin n9 = mkNum "sia" ;
-
-lin pot01 = mkNum2 "sa'asa" "sa" ;
-lin pot0 d = d ;
-lin pot110 = {s = table {_ => "ompulu" }};
-lin pot111 = {s = table {u => "ompulu" ++ "sa'asa" ; v => "ompulu" ++ "sa"}} ;
-lin pot1to19 d = {s = table {f => "ompulu" ++ d.s ! f}} ;
-lin pot0as1 n = n ;
-lin pot1 d = {s = table {_ => bind (d.s ! v) "hulu" }} ;
-lin pot1plus d e = {s = table {f => (bind (d.s ! v) "hulu") ++ e.s ! f}} ;
-lin pot1as2 n = n ;
-lin pot2 d = {s = table {_ => bind (d.s ! v) "hatu" }} ;
-lin pot2plus d e = {s = table {f => (bind (d.s ! v) "hatu") ++ e.s ! f}} ;
-lin pot2as3 n = {s = n.s ! u};
-lin pot3 n = {s = bind (n.s ! v) "riwu" } ;
-lin pot3plus n m = {s = (bind (n.s ! v) "riwu") ++ m.s ! u } ;
diff --git a/grammars/numerals/old/turkish.gf b/grammars/numerals/old/turkish.gf
deleted file mode 100644
index 49da296d0..000000000
--- a/grammars/numerals/old/turkish.gf
+++ /dev/null
@@ -1,56 +0,0 @@
-include numerals.Abs.gf ;
-
-param DForm = unit | ten | teen ;
-param Size = sg | pl ;
-
--- ç is c with a cedille (obviously)
--- s, is s with a cedille
--- I is i without a dot
--- g% is yumus,ak ge (i.e a g with a breve)
-
--- The hundreds and trheir qualif can be written together e.g ikiyüz
--- aswelll as ten + unit e.g yirmibir
-
-lincat Digit = {s : DForm => Str } ;
-lincat Sub10 = {s : DForm => Str ; size : Size} ;
-lincat Sub100 = {s : Str ; size : Size } ;
-lincat Sub1000 = {s : Str ; size : Size } ;
-
-oper mkNum : Str -> Str -> Lin Digit =
- \iki -> \yirmi ->
- {s = table {unit => iki ; teen => (variants {"on" + iki ; "on" ++ iki}) ; ten => yirmi } } ;
-
-lin num x = {s = "/L" ++ x.s ++ "L/" } ;
-
--- lin n1 mkNum "bir" "dA" ;
-lin n2 = mkNum "iki" "yirmi" ;
-lin n3 = mkNum "üç" "otuz" ;
-lin n4 = mkNum "dört" "kIrk" ;
-lin n5 = mkNum "bes," "elli" ;
-lin n6 = mkNum "altI" "altmIs," ;
-lin n7 = mkNum "yedi" "yetmis," ;
-lin n8 = mkNum "sekiz" "seksen" ;
-lin n9 = mkNum "dokuz" "doksan" ;
-
-oper ss : Str -> {s : Str ; size : Size} = \s -> {s = s ; size = pl} ;
-
-lin pot01 = {s = table {f => "bir"} ; size = sg} ;
-lin pot0 d = {s = table {f => d.s ! f} ; size = pl} ;
-lin pot110 = ss "on" ;
-lin pot111 = ss (variants { "on" ++ "bir" ; "onbir"});
-lin pot1to19 d = {s = d.s ! teen ; size = pl} ;
-lin pot0as1 n = {s = n.s ! unit ; size = n.size} ;
-lin pot1 d = {s = d.s ! ten ; size = pl} ;
-lin pot1plus d e = {s = d.s ! ten ++ e.s ! unit; size = pl} ;
-lin pot1as2 n = n ;
-lin pot2 d = {s = table {sg => [] ; _ => d.s ! unit} ! d.size ++ "yüz" ; size = pl} ;
-lin pot2plus d e = {s = table {sg => [] ; _ => d.s ! unit} ! d.size ++ "yüz" ++ e.s ; size = pl} ;
-
-lin pot2as3 n = n ;
-lin pot3 n = {s = table {sg => [] ; _ => n.s } ! n.size ++ "bin"} ;
-lin pot3plus n m = {s = table {sg => [] ; _ => n.s } ! n.size ++ "bin" ++ m.s} ;
-
-
-
-
-
diff --git a/grammars/numerals/old/welsh.gf b/grammars/numerals/old/welsh.gf
deleted file mode 100644
index 54a2ca640..000000000
--- a/grammars/numerals/old/welsh.gf
+++ /dev/null
@@ -1,71 +0,0 @@
-include numerals.Abs.gf ;
-
--- The neo-base-10 system dauddeg, trideg, pedwardeg, pumdeg/hanner cant, chwedeg, saithdeg, wythdeg, nawdeg is
--- implemented as the second variant as it should be
-
-oper LinDigit = {s : DForm => Str ; even20 : Even20 ; size : Size} ;
-oper LinSub100 = {s : Str ; size : Size} ;
-
-oper mk20Ten : Str -> Str -> Str -> Str -> Size -> LinDigit =
- \tri -> \trideg -> \fiche -> \triarddeg -> \sz ->
- { s = table {unit => tri ; twenty => fiche ; teen => triarddeg ; ten => trideg} ; even20 = odd ; size = sz} ;
-
-oper mkEven20 : Str -> Str -> Str -> Str -> Size -> LinDigit =
- \tri -> \trideg -> \fiche -> \triarddeg -> \sz ->
- { s = table {unit => tri ; twenty => fiche ; teen => triarddeg ; ten => trideg} ; even20 = even ; size = sz} ;
-
-param Even20 = odd | even ;
-param DForm = unit | ten | twenty | teen ;
-param Size = sg | mutation | am | pl | five | overten;
-
-lincat Numeral = {s : Str} ;
-lincat Digit = LinDigit ;
-lincat Sub10 = LinDigit ;
-lincat Sub100 = LinSub100 ;
-lincat Sub1000 = LinSub100 ;
-lincat Sub1000000 = {s : Str} ;
-lin num x0 =
- {s = x0.s} ;
-lin n2 = mkEven20 "dau" "dauddeg" "hugain" "deuddeg" mutation ;
-lin n3 = mk20Ten "tri" "trideg" "hugain" ("tri" ++ "ar" ++ "deg") am ;
-lin n4 = mkEven20 "pedwar" "pedwardeg" "deugain" ("pedwar" ++ "ar" ++ "ddeg") pl ;
-lin n5 = mk20Ten ("pum" + p) "pumdeg" "deugain" "pymtheg" five ;
-lin n6 = mkEven20 ("chwe" + ch) "chwedeg" "trigain" ("un" ++ "ar" ++ "bymtheg") am ;
-lin n7 = mk20Ten "saith" "saithdeg" "trigain" ("dau" ++ "ar" ++ "bymtheg") pl ;
-lin n8 = mkEven20 "wyth" "wythdeg" ("pedwar" ++ "ugain") "deunaw" pl ;
-lin n9 = mk20Ten "naw" "nawdeg" ("pedwar" ++ "ugain") ("pedwar" ++ "ar" ++ "bymtheg") pl ;
-oper AR : Str = pre {"ar" ; "a" / strs {"d"} } ;
-oper AG : Str = pre {"a" ; "ag" / strs {"a" ; "u" ; "i" ; "e" ; "o" ; "w"} } ; -- before vowel
-oper ng : Str = pre {"g" ; "ng" / strs {"m"} } ;
-oper t : Str = pre {[] ; "t" / strs {[]}} ;
-oper ch : Str = pre {[] ; "ch" / strs{[]}} ;
-oper p : Str = pre {[] ; "p" / strs{[]}} ;
-
-oper mkR : Str -> LinSub100 = \s1 -> {s = s1 ; size = overten } ;
-oper mkR2 : Str -> Size -> LinSub100 = \s1 -> \sz -> {s = s1 ; size = table {mutation => mutation ; am => am ; _ => overten} ! sz } ;
-
-lin pot01 =
- {s = table {unit => "un" ; _ => "dummy"} ; even20 = odd ; size = sg};
-lin pot0 d = d ;
-lin pot110 = {s = "de" + ng ; size = pl} ;
-lin pot111 = mkR (variants {"un" ++ "ar" ++ "ddeg" ; "undeg" ++ "un"}) ;
-lin pot1to19 d = mkR (variants {d.s ! teen ; "undeg" ++ d.s ! unit}) ;
-lin pot0as1 n = {s = n.s ! unit ; size = n.size} ;
-lin pot1 d = table {mutation => mkR (variants {"ugain" ; "dauddeg" }) ;
- five => mkR (variants {"hanner" ++ "cant" ; "deg" ++ "a" + "deugain" ; "pumdeg"}) ;
- _ => mkR (variants { table {even => d.s ! twenty ; odd => "deg" ++ AR ++ d.s ! twenty} ! d.even20 ; d.s ! ten}) } ! d.size ;
-lin pot1plus d e = mkR2 (variants { table {even => e.s ! unit ++ AR ++ d.s ! twenty ; odd => e.s ! teen ++ AR ++ d.s ! twenty} ! d.even20 ; d.s ! ten}) e.size ; -- hugain
-lin pot1as2 n = n ;
-lin pot2 d = mkR ((CANT (d.s ! unit)) ! d.size) ;
-lin pot2plus d e = mkR2 (((CANT (d.s ! unit)) ! d.size) ++ (maybeAG ! e.size) ++ e.s) e.size;
-lin pot2as3 n =
- {s = n.s } ;
-lin pot3 n =
- {s = (MIL n.s) ! n.size } ;
-lin pot3plus n m =
- {s = (MIL n.s) ! n.size ++ m.s } ;
-
-oper maybeAG : Size => Str = (table {overten => [] ; _ => AG} );
-oper CANT : Str -> Size => Str = \s1 -> table {sg => "can" + t ; mutation => s1 ++ "gan" + t; am => s1 ++ "chan" + t ; _ => s1 ++ "can" + t} ;
-oper MIL : Str -> Size => Str = \s1 -> table {sg => "mil" ; mutation => s1 ++ "fil" ; _ => s1 ++ "mil" } ;
-
diff --git a/grammars/numerals/old/yasin_burushaski.gf b/grammars/numerals/old/yasin_burushaski.gf
deleted file mode 100644
index 53ec8967f..000000000
--- a/grammars/numerals/old/yasin_burushaski.gf
+++ /dev/null
@@ -1,62 +0,0 @@
-include numerals.Abs.gf ;
-
-oper LinDigit = {s : DForm => Str ; even20 : Even20 ; size : Size} ;
-
-oper mk20Ten : Str -> Str -> LinDigit = \tri -> \tw ->
- {s = table {unit => tri ; teen => "turma-" + tri ; twenty => tw+"-áltar"} ;
- even20 = ten ; size = pl} ;
-
-oper mkEven20 : Str -> Str -> LinDigit = \tri -> \tw ->
- {s = table {unit => tri ; teen => "turma-" + tri ; twenty => tw+"-áltar"} ;
- even20 = even ; size = pl} ;
-
-param Even20 = ten | even ;
-param DForm = unit | teen | twenty ;
-param Size = sg | pl ;
-
-lincat Numeral = {s : Str} ;
-lincat Digit = LinDigit ;
-lincat Sub10 = LinDigit ;
-lincat Sub100 = {s : Str ; size : Size} ;
-lincat Sub1000 = {s : Str ; size : Size } ;
-lincat Sub1000000 = {s : Str} ;
-lin num x0 =
- {s = x0.s} ;
-lin n2 = {s = table {unit => "altó" ; teen => "turma-" + "altó" ; twenty => "áltar" } ; even20 = even ; size = pl} ;
-lin n3 = {s = table {unit => "iskí" ; teen => "turma-" + "iskí" ; twenty => "áltar" } ; even20 = ten ; size = pl} ;
-lin n4 = mkEven20 "wálte" "altó";
-lin n5 = mk20Ten "cendí" "altó";
-lin n6 = mkEven20 "bis'índe" "iskí" ;
-lin n7 = mk20Ten "thalé" "iskí";
-lin n8 = mkEven20 "altámbe" "wálte";
-lin n9 = mk20Ten "hutí" "wálte";
-
-lin pot01 =
- {s = table {unit => "hek" ; teen => "turma-" + "hék" ; twenty => []} ; even20 = ten ; size = sg};
-lin pot0 d = d ;
-lin pot110 = {s = "tórum" ; size = pl} ;
-lin pot111 = {s = "turma-" + "hék" ; size = pl} ;
-lin pot1to19 d = {s = d.s ! teen ; size = pl} ;
-lin pot0as1 n = {s = n.s ! unit ; size = n.size} ;
-lin pot1 d =
- {s = table {even => d.s ! twenty ;
- ten => d.s ! twenty ++ "tórum"} ! d.even20 ;
- size = pl} ;
-lin pot1plus d e =
- {s = table {even => d.s ! twenty ++ e.s ! unit;
- ten => d.s ! twenty ++ e.s ! teen} ! (d.even20) ;
- size = pl} ;
-
-lin pot1as2 n = n ;
-lin pot2 d = {s = (selsg d.size (d.s ! unit)) ++ "tha" ; size = pl} ;
-lin pot2plus d e =
- {s = (selsg d.size (d.s ! unit)) ++ "tha" ++ e.s ; size = pl} ;
-lin pot2as3 n =
- {s = n.s } ;
-lin pot3 n =
- {s = selsg n.size n.s ++ "hazár"} ;
-lin pot3plus n m =
- {s = selsg n.size n.s ++ "hazár" ++ m.s } ;
-
-oper selsg : Size -> Str -> Str = \sz -> \attr ->
- table {sg => [] ; _ => attr} ! sz ; \ No newline at end of file