Advertisement
Guest User

Untitled

a guest
Jan 19th, 2017
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.89 KB | None | 0 0
  1. insspace = ("" : " ");
  2.  
  3. zero = "0";
  4.  
  5. digits = ("1" : "jeden")
  6. | ("2" : "dwa")
  7. | ("3" : "trzy")
  8. | ("4" : "cztery")
  9. | ("5" : "pięć")
  10. | ("6" : "sześć")
  11. | ("7" : "siedem")
  12. | ("8" : "osiem")
  13. | ("9" : "dziewięć")
  14. ;
  15.  
  16. teens = ("10" : "dziesięć")
  17. | ("11" : "jedenaście")
  18. | ("12" : "dwanaście")
  19. | ("13" : "trzynaście")
  20. | ("14" : "czternaście")
  21. | ("15" : "piętnaście")
  22. | ("16" : "szesnaście")
  23. | ("17" : "siedemnaście")
  24. | ("18" : "osiemnaście")
  25. | ("19" : "dziewiętnaście")
  26. ;
  27.  
  28. decades = ("2" : "dwadzieścia")
  29. | ("3" : "trzydzieści")
  30. | ("4" : "czterdzieści")
  31. | ("5" : "pięćdziesiąt")
  32. | ("6" : "sześćdziesiąt")
  33. | ("7" : "siedemdziesiąt")
  34. | ("8" : "osiemdziesiąt")
  35. | ("9" : "dziewięćdziesiąt")
  36. ;
  37.  
  38. decades_0 = ("20" : "dwadzieścia")
  39. | ("30" : "trzydzieści")
  40. | ("40" : "czterdzieści")
  41. | ("50" : "pięćdziesiąt")
  42. | ("60" : "sześćdziesiąt")
  43. | ("70" : "siedemdziesiąt")
  44. | ("80" : "osiemdziesiąt")
  45. | ("90" : "dziewięćdziesiąt")
  46. ;
  47.  
  48. hundreds = ("1" : "sto")
  49. | ("2" : "dwieście")
  50. | ("3" : "trzysta")
  51. | ("4" : "czterysta")
  52. | ("5" : "pięćset")
  53. | ("6" : "sześćset")
  54. | ("7" : "siedemset")
  55. | ("8" : "osiemset")
  56. | ("9" : "dziewięćset")
  57. ;
  58.  
  59. thousands = ("1" : "tysiąc")
  60. | ("2":"dwa tysiące")
  61. | ("3":"trzy tysiące")
  62. | ("4":"cztery tysiące")
  63. | ("5":"pięć tysięcy")
  64. | ("6":"sześć tysięcy")
  65. | ("7":"siedem tysięcy")
  66. | ("8":"osiem tysięcy")
  67. | ("9":"dziewięć tysięcy");
  68.  
  69. thousands_1 = ("1" : "jeden tysięcy")
  70. | ("2":"dwa tysiące")
  71. | ("3":"trzy tysiące")
  72. | ("4":"cztery tysiące")
  73. | ("5":"pięć tysięcy")
  74. | ("6":"sześć tysięcy")
  75. | ("7":"siedem tysięcy")
  76. | ("8":"osiem tysięcy")
  77. | ("9":"dziewięć tysięcy");
  78.  
  79. thousands_19 = ("10":"dziesięć tysięcy")
  80. | ("11":"jedenaście tysięcy")
  81. | ("12":"dwanaście tysięcy")
  82. | ("13":"trzynaście tysięcy")
  83. | ("14":"czternaście tysięcy")
  84. | ("15":"piętnaście tysięcy")
  85. | ("16":"szesnaście tysięcy")
  86. | ("17":"siedemnaście tysięcy")
  87. | ("18":"osiemnaście tysięcy")
  88. | ("19":"dziewiętnaście tysięcy");
  89.  
  90.  
  91. thousands_decades = ("2" : "dwadzieścia tysięcy")
  92. | ("3" : "trzydzieści tysięcy")
  93. | ("4" : "czterdzieści tysięcy")
  94. | ("5" : "pięćdziesiąt tysięcy")
  95. | ("6" : "sześćdziesiąt tysięcy")
  96. | ("7" : "siedemdziesiąt tysięcy")
  97. | ("8" : "osiemdziesiąt tysięcy")
  98. | ("9" : "dziewięćdziesiąt tysięcy")
  99. ;
  100.  
  101. millions = ("1" : "milion")
  102. | ("2":"dwa miliony")
  103. | ("3":"trzy miliony")
  104. | ("4":"cztery miliony")
  105. | ("5":"pięć milionów")
  106. | ("6":"sześć milionów")
  107. | ("7":"siedem milionów")
  108. | ("8":"osiem milionów")
  109. | ("9":"dziewięć milionów");
  110.  
  111. millions_1 = ("1" : "jeden milionów")
  112. | ("2":"dwa miliony")
  113. | ("3":"trzy miliony")
  114. | ("4":"cztery miliony")
  115. | ("5":"pięć milionów")
  116. | ("6":"sześć milionów")
  117. | ("7":"siedem milionów")
  118. | ("8":"osiem milionów")
  119. | ("9":"dziewięć milionów");
  120.  
  121. millions_19 = ("10":"dziesięć milionów")
  122. | ("11":"jedenaście milionów")
  123. | ("12":"dwanaście milionów")
  124. | ("13":"trzynaście milionów")
  125. | ("14":"czternaście milionów")
  126. | ("15":"piętnaście milionów")
  127. | ("16":"szesnaście milionów")
  128. | ("17":"siedemnaście milionów")
  129. | ("18":"osiemnaście milionów")
  130. | ("19":"dziewiętnaście milionów");
  131.  
  132.  
  133. millions_decades = ("2" : "dwadzieścia milionów")
  134. | ("3" : "trzydzieści milionów")
  135. | ("4" : "czterdzieści milionów")
  136. | ("5" : "pięćdziesiąt milionów")
  137. | ("6" : "sześćdziesiąt milionów")
  138. | ("7" : "siedemdziesiąt milionów")
  139. | ("8" : "osiemdziesiąt milionów")
  140. | ("9" : "dziewięćdziesiąt milionów")
  141. ;
  142.  
  143. if_minus = Optimize["-":"minus "];
  144. if_zero = Optimize[zero:"zero"];
  145.  
  146. #first phase
  147. number_to_10 = Optimize[digits];
  148. numbers_to_99 = Optimize[ teens | decades_0 | decades insspace digits | digits ];
  149. numbers_to_999 = Optimize[ hundreds (((zero{2}):"") | insspace teens | insspace decades insspace digits | insspace decades_0 | (zero:" ") digits)];
  150. numbers_to_9999 =Optimize[ thousands((zero{3}:"") | insspace numbers_to_999 | (zero:" ") numbers_to_99 | (zero{2}:" ") digits )];
  151. numbers_to_19999 = Optimize[ thousands_19((zero{3}:"") | insspace numbers_to_999 | insspace numbers_to_99 | (zero{2}:" ") digits)];
  152. numbers_to_9999_1 =Optimize[ thousands_1((zero{3}:"") | insspace numbers_to_999 | (zero:" ") numbers_to_99 | (zero{2}:" ") digits )];
  153. numbers_to_90999 = Optimize[ thousands_decades (zero:"") ((zero{3}:"") |insspace numbers_to_999 | insspace hundreds ((zero{2}:"") | insspace teens | insspace decades insspace digits | insspace decades_0 | (zero:" ") digits) | (zero{2}:" ") digits)];
  154. numbers_to_99999 = Optimize[ decades insspace numbers_to_9999_1 ];
  155.  
  156. first_phase = Optimize [number_to_10 | numbers_to_99 | numbers_to_999 | numbers_to_9999 | numbers_to_19999 | numbers_to_9999_1 | numbers_to_90999 | numbers_to_99999];
  157.  
  158. #second phase
  159. numbers_to_999999 = Optimize[ hundreds ( (zero{5}:" tysięcy") | insspace numbers_to_90999 | insspace numbers_to_99999 | (zero:" ") numbers_to_9999_1 )];
  160. numbers_to_9999999 = Optimize[ millions( (zero{6}:"") | insspace numbers_to_999999 | (zero:" ") numbers_to_99999 | (zero:" ") numbers_to_90999 | (zero:" ") numbers_to_19999 | (zero{2}:" ") numbers_to_9999_1 | (zero{3}:" ") numbers_to_999 | (zero{4}:" ") numbers_to_99 | (zero{5}:" ") digits )];
  161. numbers_to_19999999 = Optimize[ millions_19 ( (zero{6}:"") | insspace numbers_to_999999 | (zero:" ") numbers_to_99999 | (zero:" ") numbers_to_90999 | (zero:" ") numbers_to_19999 | (zero{2}:" ") numbers_to_9999_1 | (zero{3}:" ") numbers_to_999 | (zero{3}:" ") numbers_to_99 | (zero{5}:" ") digits )];
  162. numbers_to_9999999_1 = Optimize[ millions_1 ( (zero{6}:"") | insspace numbers_to_999999 | (zero:" ") numbers_to_99999 | (zero:" ") numbers_to_90999 | (zero:" ") numbers_to_19999 | (zero{2}:" ") numbers_to_9999_1 | (zero{3}:" ") numbers_to_999 | (zero{4}:" ") numbers_to_99 | (zero{5}:" ") digits )];
  163. numbers_to_90999999 = Optimize[ millions_decades (zero:"")( (zero{6}:"") | insspace numbers_to_999999 | (zero:" ") numbers_to_99999 | (zero:" ") numbers_to_90999 | (zero:" ") numbers_to_19999 | (zero{2}:" ") numbers_to_9999_1 | (zero{3}:" ") numbers_to_999 | (zero{4}:" ") numbers_to_99 | (zero{5}:" ") digits )];
  164. numbers_to_99999999 = Optimize[ decades insspace numbers_to_9999999_1 ];
  165. numbers_to_999999999 = Optimize[ hundreds ( (zero{8}:" milionów") | insspace numbers_to_90999999 | insspace numbers_to_99999999 | (zero:" ") numbers_to_9999999_1 )];
  166.  
  167. second_phase = Optimize [numbers_to_999999 | numbers_to_9999999 | numbers_to_19999999 | numbers_to_9999999_1 | numbers_to_90999999 | numbers_to_99999999 | numbers_to_999999999];
  168.  
  169. WRITE = Optimize[ (if_zero) | (if_minus? ( first_phase | second_phase )?)];
  170.  
  171. export PROCESS = Optimize[WRITE];
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement