Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

384 lines
14 KiB

  1. <GRAMMAR LANGID="411">
  2. <DEFINE>
  3. <ID NAME="YENs" VAL="1"/>
  4. <ID NAME="CHOOs" VAL="2"/>
  5. <ID NAME="OKUs" VAL="3"/>
  6. <ID NAME="MANNs" VAL="4"/>
  7. <ID NAME="SENNs" VAL="5"/>
  8. <ID NAME="HYAKUs" VAL="6"/>
  9. <ID NAME="JUUs" VAL="7"/>
  10. <ID NAME="ICHIs" VAL="8"/>
  11. <ID NAME="NEGATIVE" VAL="9"/>
  12. <ID NAME="DIGIT" VAL="10"/>
  13. <ID NAME="FP_PART" VAL="12"/>
  14. <ID NAME="FP_PART_D" VAL="95"/>
  15. <ID NAME="ZERO" VAL="13"/>
  16. <ID NAME="NUMERATOR" VAL="14"/>
  17. <ID NAME="DENOMINATOR" VAL="15"/>
  18. <ID NAME="WHOLE" VAL="16"/>
  19. <ID NAME="GRID_INTEGER_9999" VAL="1001"/>
  20. <ID NAME="GRID_INTEGER_STANDALONE" VAL="1002"/>
  21. <ID NAME="GRID_INTEGER" VAL="1003"/>
  22. <ID NAME="GRID_INTEGER_NONNEG" VAL="1004"/>
  23. <ID NAME="GRID_DIGIT_NUMBER" VAL="1005"/>
  24. <ID NAME="GRID_FP_NUMBER" VAL="1006"/>
  25. <ID NAME="GRID_NUMBER_ALL" VAL="1007"/>
  26. </DEFINE>
  27. <!--
  28. GRID_NUMBER_ALL
  29. All kinds of number, negative or positive, integer or float pointing number.
  30. TopLevel Active rule.
  31. -->
  32. <RULE NAME="GRID_NUMBER_ALL" ID="GRID_NUMBER_ALL" TOPLEVEL="ACTIVE" EXPORT="0">
  33. <LN>
  34. <P WEIGHT="1000.01">zhoulotskunosprok</P>
  35. <P WEIGHT="1.01">+/数字モード/すうじもーど/スウジモード;
  36. <O>
  37. <RULEREF NAME="NEGATIVE" PROPNAME="NEGATIVE" PROPID="NEGATIVE"/>
  38. </O>
  39. <L>
  40. <RULEREF NAME="number_base_nonneg" PROPNAME="GRID_INTEGER_STANDALONE" PROPID="GRID_INTEGER_STANDALONE"/>
  41. <RULEREF NAME="GRID_FP_NUMBER" PROPNAME="GRID_FP_NUMBER" PROPID="GRID_FP_NUMBER"/>
  42. </L>
  43. </P>
  44. </LN>
  45. </RULE>
  46. <!--
  47. INTEGER_9999
  48. Numbers in [0, 10000)
  49. Toplevel inactive but can be imported
  50. -->
  51. <RULE NAME="GRID_INTEGER_9999" ID="GRID_INTEGER_9999" TOPLEVEL="INACTIVE" EXPORT="1">
  52. <RULEREF NAME="cardinal_9999" PROPNAME="ICHIs" PROPID="ICHIs"/>
  53. </RULE>
  54. <!--
  55. INTEGER_STANDALONE
  56. A INTEGER_STANDALONE can be in the range (-1e12, 1e12) and will always be
  57. called as a toplevel rule.
  58. This rule is not referenced by any other rules.
  59. -->
  60. <RULE NAME="GRID_INTEGER_STANDALONE" ID="GRID_INTEGER_STANDALONE" TOPLEVEL="INACTIVE" EXPORT="1">
  61. <RULEREF NAME="number_base"/>
  62. </RULE>
  63. <!--
  64. INTEGER
  65. A INTEGER can be in the range (-1e12, 1e12) and will never be called
  66. as a toplevel rule
  67. -->
  68. <RULE NAME="GRID_INTEGER" ID="GRID_INTEGER" TOPLEVEL="INACTIVE" EXPORT="1">
  69. <RULEREF NAME="number_base"/>
  70. </RULE>
  71. <!--
  72. INTEGER_NONNEG
  73. A INTEGER_NONNEG can be in the range [0, 1e12) and will never be called
  74. as a toplevel rule
  75. -->
  76. <RULE NAME="GRID_INTEGER_NONNEG" ID="GRID_INTEGER_NONNEG" TOPLEVEL="INACTIVE" EXPORT="1">
  77. <RULEREF NAME="number_base_nonneg"/>
  78. </RULE>
  79. <!--
  80. DIGIT_NUMBER
  81. Integers in (0, 1e12), spelled out either one digit at a time or two digits
  82. at a time.
  83. This rule is an INACTIVE toplevel rule, since it should go through GRID_INTEGER
  84. to be formatted
  85. -->
  86. <RULE NAME="GRID_DIGIT_NUMBER" ID="GRID_DIGIT_NUMBER" TOPLEVEL="INACTIVE" EXPORT="1">
  87. <P MIN="2" MAX="12">
  88. <RULEREF NAME="digit"/>
  89. </P>
  90. </RULE>
  91. <!--
  92. FP_NUMBER
  93. Floating-point numbers with up to 12 sig figs. Both the stuff to the left of the
  94. decimal point and the stuff to the right of the decimal point can be either
  95. NUMBERs or DIGIT_NUMBERs
  96. -->
  97. <RULE NAME="GRID_FP_NUMBER" ID="GRID_FP_NUMBER" TOPLEVEL="INACTIVE" EXPORT="1">
  98. <O>
  99. <P>
  100. <RULEREF NAME="number_base_nonneg" PROPNAME="ICHIs" PROPID="ICHIs"/>
  101. </P>
  102. </O>
  103. <P>
  104. <L>
  105. <P> /点/てん/テン; </P>
  106. <P> /・/・/テン; </P>
  107. <P> /././テン; </P>
  108. </L>
  109. </P>
  110. <P>
  111. <L>
  112. <P>
  113. <RULEREF NAME="GRID_DIGIT_NUMBER" PROPNAME="FP_PART" PROPID="FP_PART"/>
  114. </P>
  115. <P>
  116. <RULEREF NAME="digit" PROPNAME="FP_PART_D" PROPID="FP_PART_D"/>
  117. </P>
  118. </L>
  119. </P>
  120. </RULE>
  121. <!-- ************************************************************************
  122. CARDINAL QUANTITIES
  123. ************************************************************************ -->
  124. <!--
  125. number_base
  126. The rule referenced by the number rules above
  127. -->
  128. <RULE NAME="number_base">
  129. <O>
  130. <RULEREF NAME="NEGATIVE" PROPNAME="NEGATIVE" PROPID="NEGATIVE"/>
  131. </O>
  132. <P>
  133. <RULEREF NAME="number_base_nonneg"/>
  134. </P>
  135. </RULE>
  136. <!--
  137. number_base_nonneg
  138. Same as above except nonnegative
  139. -->
  140. <RULE NAME="number_base_nonneg">
  141. <L>
  142. <P>
  143. <RULEREF NAME="cardinal"/>
  144. </P>
  145. <P>
  146. <RULEREF NAME="GRID_DIGIT_NUMBER" PROPNAME="GRID_DIGIT_NUMBER" PROPID="GRID_DIGIT_NUMBER"/>
  147. </P>
  148. </L>
  149. </RULE>
  150. <!--
  151. cardinal
  152. A cardinal is defined here as a number in [0, 1e16), properly
  153. formed (not spoken digit by digit)
  154. -->
  155. <RULE NAME="cardinal">
  156. <L>
  157. <P>
  158. <RULEREF NAME="cardinal_9999" PROPNAME="CHOOs" PROPID="CHOOs"/>
  159. <P> /兆/ちょう/チョー; </P>
  160. <O>
  161. <RULEREF NAME="cardinal_9999" PROPNAME="OKUs" PROPID="OKUs"/>
  162. <P> /億/おく/オク;</P>
  163. </O>
  164. <O>
  165. <RULEREF NAME="cardinal_9999" PROPNAME="MANNs" PROPID="MANNs"/>
  166. <P> /万/まん/マン; </P>
  167. </O>
  168. <O>
  169. <RULEREF NAME="cardinal_9999" PROPNAME="ICHIs" PROPID="ICHIs"/>
  170. </O>
  171. </P>
  172. <P>
  173. <RULEREF NAME="cardinal_9999" PROPNAME="OKUs" PROPID="OKUs"/>
  174. <P> /億/おく/オク;</P>
  175. <O>
  176. <RULEREF NAME="cardinal_9999" PROPNAME="MANNs" PROPID="MANNs"/>
  177. <P> /万/まん/マン; </P>
  178. </O>
  179. <O>
  180. <RULEREF NAME="cardinal_9999" PROPNAME="ICHIs" PROPID="ICHIs"/>
  181. </O>
  182. </P>
  183. <P>
  184. <RULEREF NAME="cardinal_9999" PROPNAME="MANNs" PROPID="MANNs"/>
  185. <P> /万/まん/マン; </P>
  186. <O> <RULEREF NAME="cardinal_9999" PROPNAME="ICHIs" PROPID="ICHIs"/> </O>
  187. </P>
  188. <P>
  189. <RULEREF NAME="cardinal_9999" PROPNAME="ICHIs" PROPID="ICHIs"/>
  190. </P>
  191. </L>
  192. </RULE>
  193. <!--
  194. cardinal_9999
  195. This is defined as a number in [0,10000).
  196. -->
  197. <RULE NAME="cardinal_9999">
  198. <L>
  199. <P>
  200. <RULEREF NAME="senn_frag"/>
  201. <O><RULEREF NAME="hyaku_frag"/></O>
  202. <O><RULEREF NAME="juu_frag"/></O>
  203. <O><RULEREF NAME="ichi_frag"/></O>
  204. </P>
  205. <P>
  206. <RULEREF NAME="hyaku_frag"/>
  207. <O><RULEREF NAME="juu_frag"/></O>
  208. <O><RULEREF NAME="ichi_frag"/></O>
  209. </P>
  210. <P>
  211. <RULEREF NAME="juu_frag"/>
  212. <O><RULEREF NAME="ichi_frag"/></O>
  213. </P>
  214. <P>
  215. <RULEREF NAME="ichi_frag"/>
  216. </P>
  217. </L>
  218. </RULE>
  219. <RULE NAME="NEGATIVE">
  220. <L>
  221. <P>
  222. /-/まいなす/マイナス;
  223. </P>
  224. <P>
  225. /マイナス/まいなす/マイナス;
  226. </P>
  227. </L>
  228. </RULE>
  229. <RULE NAME="senn_frag">
  230. <LN PROPNAME="SENNs" PROPID="SENNs">
  231. <PN VAL="1000"> /千/せん/セン; </PN>
  232. <PN VAL="1000"> /一千/いっせん/イッセン; </PN>
  233. <PN VAL="2000"> /二千/にせん/ニセン; </PN>
  234. <PN VAL="3000"> /三千/さんぜん/サンゼン; </PN>
  235. <PN VAL="4000"> /四千/よんせん/ヨンセン; </PN>
  236. <PN VAL="5000"> /五千/ごせん/ゴセン; </PN>
  237. <PN VAL="6000"> /六千/ろくせん/ロクセン; </PN>
  238. <PN VAL="7000"> /七千/ななせん/ナナセン; </PN>
  239. <PN VAL="8000"> /八千/はっせん/ハッセン; </PN>
  240. <PN VAL="9000"> /九千/きゅうせん/キューセン; </PN>
  241. </LN>
  242. </RULE>
  243. <RULE NAME="hyaku_frag">
  244. <LN PROPNAME="HYAKUs" PROPID="HYAKUs">
  245. <PN VAL="100"> /百/ひゃく/ヒャク; </PN>
  246. <PN VAL="100"> /百/ひゃっ/ヒャッ; </PN>
  247. <PN VAL="200"> /二百/にひゃく/ニヒャク; </PN>
  248. <PN VAL="200"> /二百/にひゃっ/ニヒャッ; </PN>
  249. <PN VAL="300"> /三百/さんびゃく/サンビャク; </PN>
  250. <PN VAL="300"> /三百/さんびゃっ/サンビャッ; </PN>
  251. <PN VAL="400"> /四百/よんひゃく/ヨンヒャク; </PN>
  252. <PN VAL="400"> /四百/よんひゃっ/ヨンヒャッ; </PN>
  253. <PN VAL="500"> /五百/ごひゃく/ゴヒャク; </PN>
  254. <PN VAL="500"> /五百/ごひゃっ/ゴヒャッ; </PN>
  255. <PN VAL="600"> /六百/ろっぴゃく/ロッピャク; </PN>
  256. <PN VAL="600"> /六百/ろっぴゃっ/ロッピャッ; </PN>
  257. <PN VAL="700"> /七百/ななひゃく/ナナヒャク; </PN>
  258. <PN VAL="700"> /七百/ななひゃっ/ナナヒャッ; </PN>
  259. <PN VAL="800"> /八百/はっぴゃく/ハッピャク; </PN>
  260. <PN VAL="800"> /八百/はっぴゃっ/ハッピャッ; </PN>
  261. <PN VAL="900"> /九百/きゅうひゃく/キューヒャク; </PN>
  262. <PN VAL="900"> /九百/きゅうひゃっ/キューヒャッ; </PN>
  263. </LN>
  264. </RULE>
  265. <RULE NAME="juu_frag">
  266. <LN PROPNAME="JUUs" PROPID="JUUs">
  267. <PN VAL="10"> /十/じゅう/ジュー; </PN>
  268. <PN VAL="10"> /十/じゅっ/ジュッ; </PN>
  269. <PN VAL="10"> /十/じっ/ジッ; </PN>
  270. <PN VAL="20"> /二十/にじゅう/ニジュー; </PN>
  271. <PN VAL="20"> /二十/にじゅっ/ニジュッ; </PN>
  272. <PN VAL="20"> /二十/にじっ/ニジッ; </PN>
  273. <PN VAL="30"> /三十/さんじゅう/サンジュー; </PN>
  274. <PN VAL="30"> /三十/さんじゅっ/サンジュッ; </PN>
  275. <PN VAL="30"> /三十/さんじっ/サンジッ; </PN>
  276. <PN VAL="40"> /四十/よんじゅう/ヨンジュー; </PN>
  277. <PN VAL="40"> /四十/よんじゅっ/ヨンジュッ; </PN>
  278. <PN VAL="40"> /四十/よんじっ/ヨンジッ; </PN>
  279. <PN VAL="40"> /四十/しじゅう/シジュー; </PN>
  280. <PN VAL="40"> /四十/しじゅっ/シジュッ; </PN>
  281. <PN VAL="50"> /五十/ごじゅう/ゴジュー; </PN>
  282. <PN VAL="50"> /五十/ごじゅっ/ゴジュッ; </PN>
  283. <PN VAL="50"> /五十/ごじっ/ゴジッ; </PN>
  284. <PN VAL="60"> /六十/ろくじゅう/ロクジュー; </PN>
  285. <PN VAL="60"> /六十/ろくじゅっ/ロクジュッ; </PN>
  286. <PN VAL="60"> /六十/ろくじっ/ロクジッ; </PN>
  287. <PN VAL="70"> /七十/しちじゅう/シチジュー; </PN>
  288. <PN VAL="70"> /七十/しちじゅっ/シチジュッ; </PN>
  289. <PN VAL="70"> /七十/しちじっ/シチジッ; </PN>
  290. <PN VAL="70"> /七十/ななじゅう/ナナジュー; </PN>
  291. <PN VAL="70"> /七十/ななじゅっ/ナナジュッ; </PN>
  292. <PN VAL="70"> /七十/ななじっ/ナナジッ; </PN>
  293. <PN VAL="80"> /八十/はちじゅう/ハチジュー; </PN>
  294. <PN VAL="80"> /八十/はちじゅっ/ハチジュッ; </PN>
  295. <PN VAL="80"> /八十/はちじっ/ハチジッ; </PN>
  296. <PN VAL="90"> /九十/きゅうじゅう/キュージュー; </PN>
  297. <PN VAL="90"> /九十/きゅうじゅっ/キュージュッ; </PN>
  298. <PN VAL="90"> /九十/きゅうじっ/キュージッ; </PN>
  299. </LN>
  300. </RULE>
  301. <RULE NAME="ichi_frag">
  302. <LN PROPNAME="ICHIs" PROPID="ICHIs">
  303. <PN VAL="0"> /〇/ぜろ/ゼロ; </PN>
  304. <PN VAL="0"> /ゼロ/ぜろ/ゼロ; </PN>
  305. <PN VAL="0"> /零/れい/レー; </PN>
  306. <PN VAL="1"> /一/いち/イチ; </PN>
  307. <PN VAL="1"> /一/いっ/イッ; </PN>
  308. <PN VAL="2"> /二/に/ニ; </PN>
  309. <PN VAL="3"> /三/さん/サン; </PN>
  310. <PN VAL="4"> /四/よん/ヨン; </PN>
  311. <PN VAL="4"> /四/よ/ヨ; </PN>
  312. <PN VAL="4"> /四/し/シ; </PN>
  313. <PN VAL="5"> /五/ご/ゴ; </PN>
  314. <PN VAL="6"> /六/ろく/ロク; </PN>
  315. <PN VAL="6"> /六/ろっ/ロッ; </PN>
  316. <PN VAL="7"> /七/しち/シチ; </PN>
  317. <PN VAL="7"> /七/なな/ナナ; </PN>
  318. <PN VAL="8"> /八/はち/ハチ; </PN>
  319. <PN VAL="8"> /八/はっ/ハッ; </PN>
  320. <PN VAL="9"> /九/きゅう/キュー; </PN>
  321. <PN VAL="9"> /九/く/ク; </PN>
  322. </LN>
  323. </RULE>
  324. <RULE NAME="digit">
  325. <LN PROPNAME="DIGIT" PROPID="DIGIT">
  326. <PN VAL="0"> /〇/ぜろ/ゼロ; </PN>
  327. <PN VAL="0"> /ゼロ/ぜろ/ゼロ; </PN>
  328. <PN VAL="0"> /零/れい/レー; </PN>
  329. <PN VAL="1"> /一/いち/イチ; </PN>
  330. <PN VAL="1"> /一/いっ/イッ; </PN>
  331. <PN VAL="2"> /二/に/ニ; </PN>
  332. <PN VAL="3"> /三/さん/サン; </PN>
  333. <PN VAL="4"> /四/よん/ヨン; </PN>
  334. <PN VAL="4"> /四/し/シ; </PN>
  335. <PN VAL="4"> /四/よ/ヨ; </PN>
  336. <PN VAL="5"> /五/ご/ゴ; </PN>
  337. <PN VAL="6"> /六/ろく/ロク; </PN>
  338. <PN VAL="6"> /六/ろっ/ロッ; </PN>
  339. <PN VAL="7"> /七/しち/シチ; </PN>
  340. <PN VAL="7"> /七/なな/ナナ; </PN>
  341. <PN VAL="8"> /八/はち/ハチ; </PN>
  342. <PN VAL="8"> /八/はっ/ハッ; </PN>
  343. <PN VAL="9"> /九/きゅう/キュー; </PN>
  344. <PN VAL="9"> /九/く/ク; </PN>
  345. </LN>
  346. </RULE>
  347. </GRAMMAR>