diff options
Diffstat (limited to 'old-examples/numerals/greek_classical.gf')
| -rw-r--r-- | old-examples/numerals/greek_classical.gf | 200 |
1 files changed, 0 insertions, 200 deletions
diff --git a/old-examples/numerals/greek_classical.gf b/old-examples/numerals/greek_classical.gf deleted file mode 100644 index cdfb115ec..000000000 --- a/old-examples/numerals/greek_classical.gf +++ /dev/null @@ -1,200 +0,0 @@ -include numerals.Abs.gf ;
-flags coding=greek ;
-
--- 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 Numeral = { s : Str } ;
-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} ;
-
|
