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

<GRAMMAR LANGID="411">
<DEFINE>
<ID NAME="YENs" VAL="1"/>
<ID NAME="CHOOs" VAL="2"/>
<ID NAME="OKUs" VAL="3"/>
<ID NAME="MANNs" VAL="4"/>
<ID NAME="SENNs" VAL="5"/>
<ID NAME="HYAKUs" VAL="6"/>
<ID NAME="JUUs" VAL="7"/>
<ID NAME="ICHIs" VAL="8"/>
<ID NAME="NEGATIVE" VAL="9"/>
<ID NAME="DIGIT" VAL="10"/>
<ID NAME="FP_PART" VAL="12"/>
<ID NAME="FP_PART_D" VAL="95"/>
<ID NAME="ZERO" VAL="13"/>
<ID NAME="NUMERATOR" VAL="14"/>
<ID NAME="DENOMINATOR" VAL="15"/>
<ID NAME="WHOLE" VAL="16"/>
<ID NAME="GRID_INTEGER_9999" VAL="1001"/>
<ID NAME="GRID_INTEGER_STANDALONE" VAL="1002"/>
<ID NAME="GRID_INTEGER" VAL="1003"/>
<ID NAME="GRID_INTEGER_NONNEG" VAL="1004"/>
<ID NAME="GRID_DIGIT_NUMBER" VAL="1005"/>
<ID NAME="GRID_FP_NUMBER" VAL="1006"/>
<ID NAME="GRID_NUMBER_ALL" VAL="1007"/>
</DEFINE>
<!--
GRID_NUMBER_ALL
All kinds of number, negative or positive, integer or float pointing number.
TopLevel Active rule.
-->
<RULE NAME="GRID_NUMBER_ALL" ID="GRID_NUMBER_ALL" TOPLEVEL="ACTIVE" EXPORT="0">
<LN>
<P WEIGHT="1000.01">zhoulotskunosprok</P>
<P WEIGHT="1.01">+/数字モード/すうじもーど/スウジモード;
<O>
<RULEREF NAME="NEGATIVE" PROPNAME="NEGATIVE" PROPID="NEGATIVE"/>
</O>
<L>
<RULEREF NAME="number_base_nonneg" PROPNAME="GRID_INTEGER_STANDALONE" PROPID="GRID_INTEGER_STANDALONE"/>
<RULEREF NAME="GRID_FP_NUMBER" PROPNAME="GRID_FP_NUMBER" PROPID="GRID_FP_NUMBER"/>
</L>
</P>
</LN>
</RULE>
<!--
INTEGER_9999
Numbers in [0, 10000)
Toplevel inactive but can be imported
-->
<RULE NAME="GRID_INTEGER_9999" ID="GRID_INTEGER_9999" TOPLEVEL="INACTIVE" EXPORT="1">
<RULEREF NAME="cardinal_9999" PROPNAME="ICHIs" PROPID="ICHIs"/>
</RULE>
<!--
INTEGER_STANDALONE
A INTEGER_STANDALONE can be in the range (-1e12, 1e12) and will always be
called as a toplevel rule.
This rule is not referenced by any other rules.
-->
<RULE NAME="GRID_INTEGER_STANDALONE" ID="GRID_INTEGER_STANDALONE" TOPLEVEL="INACTIVE" EXPORT="1">
<RULEREF NAME="number_base"/>
</RULE>
<!--
INTEGER
A INTEGER can be in the range (-1e12, 1e12) and will never be called
as a toplevel rule
-->
<RULE NAME="GRID_INTEGER" ID="GRID_INTEGER" TOPLEVEL="INACTIVE" EXPORT="1">
<RULEREF NAME="number_base"/>
</RULE>
<!--
INTEGER_NONNEG
A INTEGER_NONNEG can be in the range [0, 1e12) and will never be called
as a toplevel rule
-->
<RULE NAME="GRID_INTEGER_NONNEG" ID="GRID_INTEGER_NONNEG" TOPLEVEL="INACTIVE" EXPORT="1">
<RULEREF NAME="number_base_nonneg"/>
</RULE>
<!--
DIGIT_NUMBER
Integers in (0, 1e12), spelled out either one digit at a time or two digits
at a time.
This rule is an INACTIVE toplevel rule, since it should go through GRID_INTEGER
to be formatted
-->
<RULE NAME="GRID_DIGIT_NUMBER" ID="GRID_DIGIT_NUMBER" TOPLEVEL="INACTIVE" EXPORT="1">
<P MIN="2" MAX="12">
<RULEREF NAME="digit"/>
</P>
</RULE>
<!--
FP_NUMBER
Floating-point numbers with up to 12 sig figs. Both the stuff to the left of the
decimal point and the stuff to the right of the decimal point can be either
NUMBERs or DIGIT_NUMBERs
-->
<RULE NAME="GRID_FP_NUMBER" ID="GRID_FP_NUMBER" TOPLEVEL="INACTIVE" EXPORT="1">
<O>
<P>
<RULEREF NAME="number_base_nonneg" PROPNAME="ICHIs" PROPID="ICHIs"/>
</P>
</O>
<P>
<L>
<P> /点/てん/テン; </P>
<P> /・/・/テン; </P>
<P> /././テン; </P>
</L>
</P>
<P>
<L>
<P>
<RULEREF NAME="GRID_DIGIT_NUMBER" PROPNAME="FP_PART" PROPID="FP_PART"/>
</P>
<P>
<RULEREF NAME="digit" PROPNAME="FP_PART_D" PROPID="FP_PART_D"/>
</P>
</L>
</P>
</RULE>
<!-- ************************************************************************
CARDINAL QUANTITIES
************************************************************************ -->
<!--
number_base
The rule referenced by the number rules above
-->
<RULE NAME="number_base">
<O>
<RULEREF NAME="NEGATIVE" PROPNAME="NEGATIVE" PROPID="NEGATIVE"/>
</O>
<P>
<RULEREF NAME="number_base_nonneg"/>
</P>
</RULE>
<!--
number_base_nonneg
Same as above except nonnegative
-->
<RULE NAME="number_base_nonneg">
<L>
<P>
<RULEREF NAME="cardinal"/>
</P>
<P>
<RULEREF NAME="GRID_DIGIT_NUMBER" PROPNAME="GRID_DIGIT_NUMBER" PROPID="GRID_DIGIT_NUMBER"/>
</P>
</L>
</RULE>
<!--
cardinal
A cardinal is defined here as a number in [0, 1e16), properly
formed (not spoken digit by digit)
-->
<RULE NAME="cardinal">
<L>
<P>
<RULEREF NAME="cardinal_9999" PROPNAME="CHOOs" PROPID="CHOOs"/>
<P> /兆/ちょう/チョー; </P>
<O>
<RULEREF NAME="cardinal_9999" PROPNAME="OKUs" PROPID="OKUs"/>
<P> /億/おく/オク;</P>
</O>
<O>
<RULEREF NAME="cardinal_9999" PROPNAME="MANNs" PROPID="MANNs"/>
<P> /万/まん/マン; </P>
</O>
<O>
<RULEREF NAME="cardinal_9999" PROPNAME="ICHIs" PROPID="ICHIs"/>
</O>
</P>
<P>
<RULEREF NAME="cardinal_9999" PROPNAME="OKUs" PROPID="OKUs"/>
<P> /億/おく/オク;</P>
<O>
<RULEREF NAME="cardinal_9999" PROPNAME="MANNs" PROPID="MANNs"/>
<P> /万/まん/マン; </P>
</O>
<O>
<RULEREF NAME="cardinal_9999" PROPNAME="ICHIs" PROPID="ICHIs"/>
</O>
</P>
<P>
<RULEREF NAME="cardinal_9999" PROPNAME="MANNs" PROPID="MANNs"/>
<P> /万/まん/マン; </P>
<O> <RULEREF NAME="cardinal_9999" PROPNAME="ICHIs" PROPID="ICHIs"/> </O>
</P>
<P>
<RULEREF NAME="cardinal_9999" PROPNAME="ICHIs" PROPID="ICHIs"/>
</P>
</L>
</RULE>
<!--
cardinal_9999
This is defined as a number in [0,10000).
-->
<RULE NAME="cardinal_9999">
<L>
<P>
<RULEREF NAME="senn_frag"/>
<O><RULEREF NAME="hyaku_frag"/></O>
<O><RULEREF NAME="juu_frag"/></O>
<O><RULEREF NAME="ichi_frag"/></O>
</P>
<P>
<RULEREF NAME="hyaku_frag"/>
<O><RULEREF NAME="juu_frag"/></O>
<O><RULEREF NAME="ichi_frag"/></O>
</P>
<P>
<RULEREF NAME="juu_frag"/>
<O><RULEREF NAME="ichi_frag"/></O>
</P>
<P>
<RULEREF NAME="ichi_frag"/>
</P>
</L>
</RULE>
<RULE NAME="NEGATIVE">
<L>
<P>
/-/まいなす/マイナス;
</P>
<P>
/マイナス/まいなす/マイナス;
</P>
</L>
</RULE>
<RULE NAME="senn_frag">
<LN PROPNAME="SENNs" PROPID="SENNs">
<PN VAL="1000"> /千/せん/セン; </PN>
<PN VAL="1000"> /一千/いっせん/イッセン; </PN>
<PN VAL="2000"> /二千/にせん/ニセン; </PN>
<PN VAL="3000"> /三千/さんぜん/サンゼン; </PN>
<PN VAL="4000"> /四千/よんせん/ヨンセン; </PN>
<PN VAL="5000"> /五千/ごせん/ゴセン; </PN>
<PN VAL="6000"> /六千/ろくせん/ロクセン; </PN>
<PN VAL="7000"> /七千/ななせん/ナナセン; </PN>
<PN VAL="8000"> /八千/はっせん/ハッセン; </PN>
<PN VAL="9000"> /九千/きゅうせん/キューセン; </PN>
</LN>
</RULE>
<RULE NAME="hyaku_frag">
<LN PROPNAME="HYAKUs" PROPID="HYAKUs">
<PN VAL="100"> /百/ひゃく/ヒャク; </PN>
<PN VAL="100"> /百/ひゃっ/ヒャッ; </PN>
<PN VAL="200"> /二百/にひゃく/ニヒャク; </PN>
<PN VAL="200"> /二百/にひゃっ/ニヒャッ; </PN>
<PN VAL="300"> /三百/さんびゃく/サンビャク; </PN>
<PN VAL="300"> /三百/さんびゃっ/サンビャッ; </PN>
<PN VAL="400"> /四百/よんひゃく/ヨンヒャク; </PN>
<PN VAL="400"> /四百/よんひゃっ/ヨンヒャッ; </PN>
<PN VAL="500"> /五百/ごひゃく/ゴヒャク; </PN>
<PN VAL="500"> /五百/ごひゃっ/ゴヒャッ; </PN>
<PN VAL="600"> /六百/ろっぴゃく/ロッピャク; </PN>
<PN VAL="600"> /六百/ろっぴゃっ/ロッピャッ; </PN>
<PN VAL="700"> /七百/ななひゃく/ナナヒャク; </PN>
<PN VAL="700"> /七百/ななひゃっ/ナナヒャッ; </PN>
<PN VAL="800"> /八百/はっぴゃく/ハッピャク; </PN>
<PN VAL="800"> /八百/はっぴゃっ/ハッピャッ; </PN>
<PN VAL="900"> /九百/きゅうひゃく/キューヒャク; </PN>
<PN VAL="900"> /九百/きゅうひゃっ/キューヒャッ; </PN>
</LN>
</RULE>
<RULE NAME="juu_frag">
<LN PROPNAME="JUUs" PROPID="JUUs">
<PN VAL="10"> /十/じゅう/ジュー; </PN>
<PN VAL="10"> /十/じゅっ/ジュッ; </PN>
<PN VAL="10"> /十/じっ/ジッ; </PN>
<PN VAL="20"> /二十/にじゅう/ニジュー; </PN>
<PN VAL="20"> /二十/にじゅっ/ニジュッ; </PN>
<PN VAL="20"> /二十/にじっ/ニジッ; </PN>
<PN VAL="30"> /三十/さんじゅう/サンジュー; </PN>
<PN VAL="30"> /三十/さんじゅっ/サンジュッ; </PN>
<PN VAL="30"> /三十/さんじっ/サンジッ; </PN>
<PN VAL="40"> /四十/よんじゅう/ヨンジュー; </PN>
<PN VAL="40"> /四十/よんじゅっ/ヨンジュッ; </PN>
<PN VAL="40"> /四十/よんじっ/ヨンジッ; </PN>
<PN VAL="40"> /四十/しじゅう/シジュー; </PN>
<PN VAL="40"> /四十/しじゅっ/シジュッ; </PN>
<PN VAL="50"> /五十/ごじゅう/ゴジュー; </PN>
<PN VAL="50"> /五十/ごじゅっ/ゴジュッ; </PN>
<PN VAL="50"> /五十/ごじっ/ゴジッ; </PN>
<PN VAL="60"> /六十/ろくじゅう/ロクジュー; </PN>
<PN VAL="60"> /六十/ろくじゅっ/ロクジュッ; </PN>
<PN VAL="60"> /六十/ろくじっ/ロクジッ; </PN>
<PN VAL="70"> /七十/しちじゅう/シチジュー; </PN>
<PN VAL="70"> /七十/しちじゅっ/シチジュッ; </PN>
<PN VAL="70"> /七十/しちじっ/シチジッ; </PN>
<PN VAL="70"> /七十/ななじゅう/ナナジュー; </PN>
<PN VAL="70"> /七十/ななじゅっ/ナナジュッ; </PN>
<PN VAL="70"> /七十/ななじっ/ナナジッ; </PN>
<PN VAL="80"> /八十/はちじゅう/ハチジュー; </PN>
<PN VAL="80"> /八十/はちじゅっ/ハチジュッ; </PN>
<PN VAL="80"> /八十/はちじっ/ハチジッ; </PN>
<PN VAL="90"> /九十/きゅうじゅう/キュージュー; </PN>
<PN VAL="90"> /九十/きゅうじゅっ/キュージュッ; </PN>
<PN VAL="90"> /九十/きゅうじっ/キュージッ; </PN>
</LN>
</RULE>
<RULE NAME="ichi_frag">
<LN PROPNAME="ICHIs" PROPID="ICHIs">
<PN VAL="0"> /〇/ぜろ/ゼロ; </PN>
<PN VAL="0"> /ゼロ/ぜろ/ゼロ; </PN>
<PN VAL="0"> /零/れい/レー; </PN>
<PN VAL="1"> /一/いち/イチ; </PN>
<PN VAL="1"> /一/いっ/イッ; </PN>
<PN VAL="2"> /二/に/ニ; </PN>
<PN VAL="3"> /三/さん/サン; </PN>
<PN VAL="4"> /四/よん/ヨン; </PN>
<PN VAL="4"> /四/よ/ヨ; </PN>
<PN VAL="4"> /四/し/シ; </PN>
<PN VAL="5"> /五/ご/ゴ; </PN>
<PN VAL="6"> /六/ろく/ロク; </PN>
<PN VAL="6"> /六/ろっ/ロッ; </PN>
<PN VAL="7"> /七/しち/シチ; </PN>
<PN VAL="7"> /七/なな/ナナ; </PN>
<PN VAL="8"> /八/はち/ハチ; </PN>
<PN VAL="8"> /八/はっ/ハッ; </PN>
<PN VAL="9"> /九/きゅう/キュー; </PN>
<PN VAL="9"> /九/く/ク; </PN>
</LN>
</RULE>
<RULE NAME="digit">
<LN PROPNAME="DIGIT" PROPID="DIGIT">
<PN VAL="0"> /〇/ぜろ/ゼロ; </PN>
<PN VAL="0"> /ゼロ/ぜろ/ゼロ; </PN>
<PN VAL="0"> /零/れい/レー; </PN>
<PN VAL="1"> /一/いち/イチ; </PN>
<PN VAL="1"> /一/いっ/イッ; </PN>
<PN VAL="2"> /二/に/ニ; </PN>
<PN VAL="3"> /三/さん/サン; </PN>
<PN VAL="4"> /四/よん/ヨン; </PN>
<PN VAL="4"> /四/し/シ; </PN>
<PN VAL="4"> /四/よ/ヨ; </PN>
<PN VAL="5"> /五/ご/ゴ; </PN>
<PN VAL="6"> /六/ろく/ロク; </PN>
<PN VAL="6"> /六/ろっ/ロッ; </PN>
<PN VAL="7"> /七/しち/シチ; </PN>
<PN VAL="7"> /七/なな/ナナ; </PN>
<PN VAL="8"> /八/はち/ハチ; </PN>
<PN VAL="8"> /八/はっ/ハッ; </PN>
<PN VAL="9"> /九/きゅう/キュー; </PN>
<PN VAL="9"> /九/く/ク; </PN>
</LN>
</RULE>
</GRAMMAR>