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.
 
 
 
 
 
 

851 lines
60 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="ZERO" VAL="13"/>
<ID NAME="NUMERATOR" VAL="14"/>
<ID NAME="DENOMINATOR" VAL="15"/>
<ID NAME="WHOLE" VAL="16"/>
<ID NAME="DAY_OF_WEEK" VAL="17"/>
<ID NAME="DAY_OF_MONTH" VAL="18"/>
<ID NAME="MONTH" VAL="19"/>
<ID NAME="YEAR" VAL="20"/>
<ID NAME="MINUTE" VAL="27"/>
<ID NAME="SECOND" VAL="28"/>
<ID NAME="UNITS" VAL="47"/>
<ID NAME="NUMBER" VAL="48"/>
<ID NAME="IMPERIAL" VAL="90" />
<ID NAME="GATSU" VAL="91" />
<ID NAME="NICHI" VAL="92" />
<ID NAME="NENN" VAL="93" />
<ID NAME="YOUBI" VAL="94" />
<ID NAME="FP_PART_D" VAL="95"/>
<ID NAME="MINUTE_TAG" VAL="96"/>
<ID NAME="JI" VAL="97"/>
<ID NAME="HUNN" VAL="98"/>
<ID NAME="GOZENN" VAL="99"/>
<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_ORDINAL" VAL="1007"/>
<ID NAME="GRID_DENOMINATOR" VAL="1008"/>
<ID NAME="GRID_FRACTION" VAL="1009"/>
<ID NAME="GRID_DATE" VAL="1010"/>
<ID NAME="GRID_TIME" VAL="1012"/>
<ID NAME="GRID_MEASUREMENT" VAL="1019"/>
<ID NAME="GRID_CURRENCY" VAL="1020"/>
<ID NAME="GRID_DEGREES" VAL="1021"/>
<ID NAME="GRID_JI_CORE" VAL="2001"/>
<ID NAME="GRID_JI24_CORE" VAL="2002"/>
<ID NAME="GRID_HUNN_CORE" VAL="2003"/>
<ID NAME="HOUR_COUNT" VAL="2004"/>
<ID NAME="DEGREE" VAL="2005"/>
<ID NAME="DIRECTION_TAG" VAL="2006"/>
</DEFINE>
<!-- CURRENCY -->
<RULE NAME="GRID_CURRENCY" ID="GRID_CURRENCY" INTERPRETER="1" TOPLEVEL="ACTIVE" EXPORT="1">
<RULEREF NAME="GRID_INTEGER" PROPNAME="YENs" PROPID="YENs"/>
<P> /円/えん/エン; </P>
</RULE>
<!--
INTEGER_9999
Numbers in [0, 10000)
Toplevel inactive but can be imported
-->
<RULE NAME="GRID_INTEGER_9999" ID="GRID_INTEGER_9999" INTERPRETER="1" 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" INTERPRETER="1" TOPLEVEL="ACTIVE" EXPORT="0">
<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" INTERPRETER="1" 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" INTERPRETER="1" 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" INTERPRETER="1" 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" INTERPRETER="1" TOPLEVEL="ACTIVE" EXPORT="1">
<P>
<L>
<RULEREF NAME="GRID_INTEGER" PROPNAME="ICHIs" PROPID="ICHIs"/>
<RULEREF NAME="NEGATIVE" PROPNAME="NEGATIVE" PROPID="NEGATIVE"/>
</L>
</P>
<P>
<L>
<P> /点/てん/テン; </P>
<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>
<!--
FRACTION
Can be expressed as either "three over four" or "three fourths".
Numerator and denominator both are allowed to be in the range (-1e12, 1e12).
The ITN-interpreting code must be prepared to handle zero denominators.
-->
<RULE NAME="GRID_FRACTION" ID="GRID_FRACTION" INTERPRETER="1" TOPLEVEL="ACTIVE" EXPORT="1">
<O>
<!-- Optional whole part -->
<RULEREF NAME="GRID_INTEGER" PROPNAME="WHOLE" PROPID="WHOLE"/>
<P>
/か/か/カ;
</P>
</O>
<P>
<RULEREF NAME="GRID_INTEGER" PROPNAME="DENOMINATOR" PROPID="DENOMINATOR"/>
</P>
<P>
<L>
<P> /分の/ぶんの/ブンノ; </P>
<P> /分/ふん/フン; /の/の/ノ; </P>
<P> /分/ぶん/ブン; /の/の/ノ; </P>
</L>
</P>
<P>
<RULEREF NAME="GRID_INTEGER" PROPNAME="NUMERATOR" PROPID="NUMERATOR"/>
</P>
</RULE>
<!--
DATE
Spoken dates.
-->
<RULE NAME="GRID_DATE" ID="GRID_DATE" INTERPRETER="1" TOPLEVEL="ACTIVE" EXPORT="1">
<O>
<O>
<RULEREF NAME="emperor" PROPNAME="IMPERIAL" PROPID="IMPERIAL"/>
</O>
<RULEREF NAME="GRID_INTEGER_9999" PROPNAME="NENN" PROPID="NENN"/>
<P> /年/ねん/ネン; </P>
</O>
<RULEREF NAME="month" PROPNAME="GATSU" PROPID="GATSU"/>
<RULEREF NAME="day_of_month" PROPNAME="NICHI" PROPID="NICHI"/>
<O>
<RULEREF NAME="day_of_week" PROPNAME="YOUBI" PROPID="YOUBI"/>
</O>
</RULE>
<!--
emperors for Japanese Imperial date system
-->
<RULE NAME="emperor">
<L PROPNAME="IMPERIAL" PROPID="IMPERIAL">
<P VALSTR="平成"> /平成/へいせい/ヘーセー; </P>
<P VALSTR="昭和"> /昭和/しょうわ/ショーワ; </P>
<P VALSTR="明治"> /明治/めいじ/メージ; </P>
<P VALSTR="大正">/大正/たいしょう/タイショー; </P>
</L>
</RULE>
<!--
TIME
Spoken time.
-->
<RULE NAME="GRID_TIME" ID="GRID_TIME" INTERPRETER="1" TOPLEVEL="ACTIVE" EXPORT="0">
<L>
<P>
<O>
<L PROPNAME="GOZENN" PROPID="GOZENN">
<P VALSTR="AM"> /午前/ごぜん/ゴゼン; </P>
<P VALSTR="PM"> /午後/ごご/ゴゴ; </P>
</L>
</O>
<RULEREF NAME="GRID_JI_CORE" PROPNAME="JI" PROPID="JI"/>
<O>
<L PROPNAME="HUNN" PROPID="HUNN">
<RULEREF NAME="GRID_HUNN_CORE" />
<P VALSTR="30"> /半/はん/ハン; </P>
</L>
</O>
</P>
<P>
<L>
<P>
<RULEREF NAME="GRID_JI24_CORE" PROPNAME="JI" PROPID="JI"/>
</P>
<P>
<RULEREF NAME="GRID_INTEGER_9999" PROPNAME="HOUR_COUNT" PROPID="HOUR_COUNT"/>
<L>
<P> /時間/じかん/ジカン; </P>
<P> /時/じ/ジ; /間/かん/カン;</P>
</L>
</P>
</L>
<O>
<L PROPNAME="HUNN" PROPID="HUNN">
<RULEREF NAME="GRID_HUNN_CORE" />
<P VALSTR="30"> /半/はん/ハン; </P>
</L>
</O>
</P>
</L>
</RULE>
<RULE NAME="GRID_JI_CORE" >
<RULEREF NAME="ji_frag"/>
</RULE>
<RULE NAME="GRID_JI24_CORE" >
<RULEREF NAME="ji24_frag"/>
</RULE>
<RULE NAME="GRID_HUNN_CORE" >
<L>
<P>
<RULEREF NAME="juuhunn_frag" PROPNAME="MINUTE" PROPID="MINUTE"/>
<O><RULEREF NAME="ichi_frag" PROPNAME="MINUTE" PROPID="MINUTE"/></O>
<L PROPNAME="MINUTE_TAG" PROPID="MINUTE_TAG">
<P VALSTR="+"> /分/ふん/フン; </P>
<P VALSTR="+"> /分/ぷん/プン; </P>
<P VALSTR="-"> /分前/ふんまえ/フンマエ; </P>
<P VALSTR="-"> /分/ふん/フン; /前/まえ/マエ; </P>
<P VALSTR="-"> /分/ぷん/プン; /前/まえ/マエ; </P>
</L>
<!-- optional seconds -->
<O>
<L>
<P>
<RULEREF NAME="juuhunn_frag" PROPNAME="SECOND" PROPID="SECOND"/>
<O><RULEREF NAME="ichi_frag" PROPNAME="SECOND" PROPID="SECOND" /></O>
</P>
<P>
<RULEREF NAME="ichi_frag" PROPNAME="SECOND" PROPID="SECOND"/>
</P>
</L>
<P> /秒/びょう/ビョー; </P>
</O>
</P>
<P>
<RULEREF NAME="ichi_frag" PROPNAME="MINUTE" PROPID="MINUTE"/>
<L PROPNAME="MINUTE_TAG" PROPID="MINUTE_TAG">
<P VALSTR="+"> /分/ふん/フン; </P>
<P VALSTR="+"> /分/ぷん/プン; </P>
<P VALSTR="-"> /分前/ふんまえ/フンマエ; </P>
<P VALSTR="-"> /分/ふん/フン; /前/まえ/マエ; </P>
<P VALSTR="-"> /分/ぷん/プン; /前/まえ/マエ; </P>
</L>
<!-- optional seconds -->
<O>
<L>
<P>
<RULEREF NAME="juuhunn_frag" PROPNAME="SECOND" PROPID="SECOND"/>
<O><RULEREF NAME="ichi_frag" PROPNAME="SECOND" PROPID="SECOND" /></O>
</P>
<P>
<RULEREF NAME="ichi_frag" PROPNAME="SECOND" PROPID="SECOND"/>
</P>
</L>
<P> /秒/びょう/ビョー; </P>
</O>
</P>
<!-- seconds only -->
<P>
<L>
<P>
<RULEREF NAME="juuhunn_frag" PROPNAME="SECOND" PROPID="SECOND"/>
<O><RULEREF NAME="ichi_frag" PROPNAME="SECOND" PROPID="SECOND" /></O>
</P>
<P>
<RULEREF NAME="ichi_frag" PROPNAME="SECOND" PROPID="SECOND"/>
</P>
</L>
<P> /秒/びょう/ビョー; </P>
</P>
</L>
</RULE>
<!--
GRID_DEGREE
Angle measurement: optional minutes or seconds
-->
<RULE NAME="GRID_DEGREES" ID="GRID_DEGREES" INTERPRETER="1" TOPLEVEL="ACTIVE" EXPORT="0">
<P>
<O>
<L PROPNAME="DIRECTION_TAG" PROPID="DIRECTION_TAG">
<P VALSTR="E"> /東/ひがし/ヒガシ; /へ/へ/エ;</P>
<P VALSTR="S"> /南/みなみ/ミナミ; /へ/へ/エ; </P>
<P VALSTR="W"> /西/にし/ニシ; /へ/へ/エ; </P>
<P VALSTR="N"> /北/きた/キタ; /へ/へ/エ; </P>
</L>
</O>
<RULEREF NAME="GRID_INTEGER_9999" PROPNAME="DEGREE" PROPID="DEGREE"/>
/度/ど/ド;
<!-- optional minutes -->
<O>
<L>
<RULEREF NAME="GRID_INTEGER_9999" PROPNAME="MINUTE" PROPID="MINUTE"/>
<RULEREF NAME="GRID_DIGIT_NUMBER" PROPNAME="MINUTE" PROPID="MINUTE"/>
</L>
<L>
<P> /分/ふん/フン; </P>
<P> /分/ぷん/プン; </P>
</L>
</O>
<!-- optional seconds -->
<O>
<L>
<RULEREF NAME="GRID_INTEGER_9999" PROPNAME="SECOND" PROPID="SECOND"/>
<RULEREF NAME="GRID_DIGIT_NUMBER" PROPNAME="SECOND" PROPID="SECOND"/>
<RULEREF NAME="GRID_FP_NUMBER" PROPNAME="SECOND" PROPID="SECOND"/>
</L>
<P> /秒/びょう/ビョー; </P>
</O>
</P>
</RULE>
<!--
GRID_MEASUREMENT
Any sort of number (NUMBER, FLOAT, or FRACTION) followed by a unit
-->
<RULE NAME="GRID_MEASUREMENT" ID="GRID_MEASUREMENT" INTERPRETER="1" TOPLEVEL="ACTIVE" EXPORT="0">
<P>
<RULEREF NAME="number_all"/>
</P>
<P>
<RULEREF NAME="units"/>
</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">
<L PROPNAME="SENNs" PROPID="SENNs">
<P VAL="1000"> /千/せん/セン; </P>
<P VAL="1000"> /一千/いっせん/イッセン; </P>
<P VAL="2000"> /二千/にせん/ニセン; </P>
<P VAL="3000"> /三千/さんぜん/サンゼン; </P>
<P VAL="4000"> /四千/よんせん/ヨンセン; </P>
<P VAL="5000"> /五千/ごせん/ゴセン; </P>
<P VAL="6000"> /六千/ろくせん/ロクセン; </P>
<P VAL="7000"> /七千/ななせん/ナナセン; </P>
<P VAL="8000"> /八千/はっせん/ハッセン; </P>
<P VAL="9000"> /九千/きゅうせん/キューセン; </P>
</L>
</RULE>
<RULE NAME="hyaku_frag">
<L PROPNAME="HYAKUs" PROPID="HYAKUs">
<P VAL="100"> /百/ひゃく/ヒャク; </P>
<P VAL="100"> /百/ひゃっ/ヒャッ; </P>
<P VAL="200"> /二百/にひゃく/ニヒャク; </P>
<P VAL="200"> /二百/にひゃっ/ニヒャッ; </P>
<P VAL="300"> /三百/さんびゃく/サンビャク; </P>
<P VAL="300"> /三百/さんびゃっ/サンビャッ; </P>
<P VAL="400"> /四百/よんひゃく/ヨンヒャク; </P>
<P VAL="400"> /四百/よんひゃっ/ヨンヒャッ; </P>
<P VAL="500"> /五百/ごひゃく/ゴヒャク; </P>
<P VAL="500"> /五百/ごひゃっ/ゴヒャッ; </P>
<P VAL="600"> /六百/ろっぴゃく/ロッピャク; </P>
<P VAL="600"> /六百/ろっぴゃっ/ロッピャッ; </P>
<P VAL="700"> /七百/ななひゃく/ナナヒャク; </P>
<P VAL="700"> /七百/ななひゃっ/ナナヒャッ; </P>
<P VAL="800"> /八百/はっぴゃく/ハッピャク; </P>
<P VAL="800"> /八百/はっぴゃっ/ハッピャッ; </P>
<P VAL="900"> /九百/きゅうひゃく/キューヒャク; </P>
<P VAL="900"> /九百/きゅうひゃっ/キューヒャッ; </P>
</L>
</RULE>
<RULE NAME="juu_frag">
<L PROPNAME="JUUs" PROPID="JUUs">
<P VAL="10"> /十/じゅう/ジュー; </P>
<P VAL="10"> /十/じゅっ/ジュッ; </P>
<P VAL="10"> /十/じっ/ジッ; </P>
<P VAL="20"> /二十/にじゅう/ニジュー; </P>
<P VAL="20"> /二十/にじゅっ/ニジュッ; </P>
<P VAL="20"> /二十/にじっ/ニジッ; </P>
<P VAL="30"> /三十/さんじゅう/サンジュー; </P>
<P VAL="30"> /三十/さんじゅっ/サンジュッ; </P>
<P VAL="30"> /三十/さんじっ/サンジッ; </P>
<P VAL="40"> /四十/よんじゅう/ヨンジュー; </P>
<P VAL="40"> /四十/よんじゅっ/ヨンジュッ; </P>
<P VAL="40"> /四十/よんじっ/ヨンジッ; </P>
<P VAL="40"> /四十/しじゅう/シジュー; </P>
<P VAL="40"> /四十/しじゅっ/シジュッ; </P>
<P VAL="50"> /五十/ごじゅう/ゴジュー; </P>
<P VAL="50"> /五十/ごじゅっ/ゴジュッ; </P>
<P VAL="50"> /五十/ごじっ/ゴジッ; </P>
<P VAL="60"> /六十/ろくじゅう/ロクジュー; </P>
<P VAL="60"> /六十/ろくじゅっ/ロクジュッ; </P>
<P VAL="60"> /六十/ろくじっ/ロクジッ; </P>
<P VAL="70"> /七十/しちじゅう/シチジュー; </P>
<P VAL="70"> /七十/しちじゅっ/シチジュッ; </P>
<P VAL="70"> /七十/しちじっ/シチジッ; </P>
<P VAL="70"> /七十/ななじゅう/ナナジュー; </P>
<P VAL="70"> /七十/ななじゅっ/ナナジュッ; </P>
<P VAL="70"> /七十/ななじっ/ナナジッ; </P>
<P VAL="80"> /八十/はちじゅう/ハチジュー; </P>
<P VAL="80"> /八十/はちじゅっ/ハチジュッ; </P>
<P VAL="80"> /八十/はちじっ/ハチジッ; </P>
<P VAL="90"> /九十/きゅうじゅう/キュージュー; </P>
<P VAL="90"> /九十/きゅうじゅっ/キュージュッ; </P>
<P VAL="90"> /九十/きゅうじっ/キュージッ; </P>
</L>
</RULE>
<RULE NAME="ichi_frag">
<L PROPNAME="ICHIs" PROPID="ICHIs">
<P VAL="0"> /〇/ぜろ/ゼロ; </P>
<P VAL="0"> /ゼロ/ぜろ/ゼロ; </P>
<P VAL="0"> /零/れい/レー; </P>
<P VAL="1"> /一/いち/イチ; </P>
<P VAL="1"> /一/いっ/イッ; </P>
<P VAL="2"> /二/に/ニ; </P>
<P VAL="3"> /三/さん/サン; </P>
<P VAL="4"> /四/よん/ヨン; </P>
<P VAL="4"> /四/よ/ヨ; </P>
<P VAL="4"> /四/し/シ; </P>
<P VAL="5"> /五/ご/ゴ; </P>
<P VAL="6"> /六/ろく/ロク; </P>
<P VAL="6"> /六/ろっ/ロッ; </P>
<P VAL="7"> /七/しち/シチ; </P>
<P VAL="7"> /七/なな/ナナ; </P>
<P VAL="8"> /八/はち/ハチ; </P>
<P VAL="8"> /八/はっ/ハッ; </P>
<P VAL="9"> /九/きゅう/キュー; </P>
<P VAL="9"> /九/く/ク; </P>
</L>
</RULE>
<RULE NAME="digit">
<L PROPNAME="DIGIT" PROPID="DIGIT">
<P VAL="0"> /〇/ぜろ/ゼロ; </P>
<P VAL="0"> /ゼロ/ぜろ/ゼロ; </P>
<P VAL="0"> /零/れい/レー; </P>
<P VAL="1"> /一/いち/イチ; </P>
<P VAL="1"> /一/いっ/イッ; </P>
<P VAL="2"> /二/に/ニ; </P>
<P VAL="3"> /三/さん/サン; </P>
<P VAL="4"> /四/よん/ヨン; </P>
<P VAL="4"> /四/し/シ; </P>
<P VAL="4"> /四/よ/ヨ; </P>
<P VAL="5"> /五/ご/ゴ; </P>
<P VAL="6"> /六/ろく/ロク; </P>
<P VAL="6"> /六/ろっ/ロッ; </P>
<P VAL="7"> /七/しち/シチ; </P>
<P VAL="7"> /七/なな/ナナ; </P>
<P VAL="8"> /八/はち/ハチ; </P>
<P VAL="8"> /八/はっ/ハッ; </P>
<P VAL="9"> /九/きゅう/キュー; </P>
<P VAL="9"> /九/く/ク; </P>
</L>
</RULE>
<!-- ************************************************************************
DENOMINATOR QUANTITIES
************************************************************************ -->
<!-- ************************************************************************
DATE QUANTITIES
************************************************************************ -->
<RULE NAME="day_of_week">
<L PROPNAME="DAY_OF_WEEK" PROPID="DAY_OF_WEEK">
<P VAL="0"> /日曜日/にちようび/ニチヨービ; </P>
<P VAL="1"> /月曜日/げつようび/ゲツヨービ; </P>
<P VAL="2"> /火曜日/かようび/カヨービ; </P>
<P VAL="3"> /水曜日/すいようび/スイヨービ; </P>
<P VAL="4"> /木曜日/もくようび/モクヨービ; </P>
<P VAL="5"> /金曜日/きんようび/キンヨービ; </P>
<P VAL="6"> /土曜日/どようび/ドヨービ; </P>
</L>
</RULE>
<RULE NAME="month">
<L PROPNAME="MONTH" PROPID="MONTH">
<P VAL="1"> /一/いち/イチ; /月/がつ/ガツ; </P>
<P VAL="2"> /二/に/ニ; /月/がつ/ガツ; </P>
<P VAL="3"> /三/さん/サン; /月/がつ/ガツ; </P>
<P VAL="4"> /四/し/シ; /月/がつ/ガツ; </P>
<P VAL="5"> /五/ご/ゴ; /月/がつ/ガツ; </P>
<P VAL="6"> /六/ろく/ロク; /月/がつ/ガツ; </P>
<P VAL="7"> /七/しち/シチ; /月/がつ/ガツ; </P>
<P VAL="8"> /八/はち/ハチ; /月/がつ/ガツ; </P>
<P VAL="9"> /九/く/ク; /月/がつ/ガツ; </P>
<P VAL="10"> /十/じゅう/ジュー; /月/がつ/ガツ; </P>
<P VAL="11"> /十/じゅう/ジュー; /一/いち/イチ; /月/がつ/ガツ; </P>
<P VAL="12"> /十/じゅう/ジュー; /二/に/ニ; /月/がつ/ガツ; </P>
<P VAL="1"> /一月/いちがつ/イチガツ; </P>
<P VAL="2"> /二月/にがつ/ニガツ; </P>
<P VAL="3"> /三月/さんがつ/サンガツ; </P>
<P VAL="4"> /四月/しがつ/シガツ; </P>
<P VAL="5"> /五月/ごがつ/ゴガツ; </P>
<P VAL="6"> /六月/ろくがつ/ロクガツ; </P>
<P VAL="7"> /七月/しちがつ/シチガツ; </P>
<P VAL="8"> /八月/はちがつ/ハチガツ; </P>
<P VAL="9"> /九月/くがつ/クガツ; </P>
<P VAL="10"> /十月/じゅうがつ/ジューガツ; </P>
<P VAL="11"> /十一月/じゅういちがつ/ジューイチガツ; </P>
<P VAL="12"> /十二月/じゅうにがつ/ジューニガツ; </P>
</L>
</RULE>
<RULE NAME="day_of_month">
<L PROPNAME="DAY_OF_MONTH" PROPID="DAY_OF_MONTH">
<P VAL="1"> /一日/ついたち/ツイタチ; </P>
<P VAL="2"> /二日/ふつか/フツカ; </P>
<P VAL="3"> /三日/みっか/ミッカ; </P>
<P VAL="4"> /四日/よっか/ヨッカ; </P>
<P VAL="5"> /五日/いつか/イツカ; </P>
<P VAL="6"> /六日/むいか/ムイカ; </P>
<P VAL="7"> /七日/なのか/ナノカ; </P>
<P VAL="8"> /八日/ようか/ヨーカ; </P>
<P VAL="9"> /九日/ここのか/ココノカ; </P>
<P VAL="10"> /十日/とおか/トーカ; </P>
<P VAL="14"> /十/じゅう/ジュー; /四日/よっか/ヨッカ; </P>
<P VAL="20"> /二十日/はつか/ハツカ; </P>
<P VAL="24"> /二十/にじゅう/ニジュー; /四日/よっか/ヨッカ; </P>
<P VAL="11"> /十/じゅう/ジュー; /一/いち/イチ; /日/にち/ニチ; </P>
<P VAL="12"> /十/じゅう/ジュー; /二/に/ニ; /日/にち/ニチ; </P>
<P VAL="13"> /十/じゅう/ジュー; /三/さん/サン; /日/にち/ニチ; </P>
<P VAL="15"> /十/じゅう/ジュー; /五/ご/ゴ; /日/にち/ニチ; </P>
<P VAL="16"> /十/じゅう/ジュー; /六/ろく/ロク; /日/にち/ニチ; </P>
<P VAL="17"> /十/じゅう/ジュー; /七/しち/シチ; /日/にち/ニチ; </P>
<P VAL="18"> /十/じゅう/ジュー; /八/はち/ハチ; /日/にち/ニチ; </P>
<P VAL="19"> /十/じゅう/ジュー; /九/く/ク; /日/にち/ニチ; </P>
<P VAL="21"> /二十/にじゅう/ニジュー; /一/いち/イチ; /日/にち/ニチ; </P>
<P VAL="22"> /二十/にじゅう/ニジュー; /二/に/ニ; /日/にち/ニチ; </P>
<P VAL="23"> /二十/にじゅう/ニジュー; /三/さん/サン; /日/にち/ニチ; </P>
<P VAL="25"> /二十/にじゅう/ニジュー; /五/ご/ゴ; /日/にち/ニチ; </P>
<P VAL="26"> /二十/にじゅう/ニジュー; /六/ろく/ロク; /日/にち/ニチ; </P>
<P VAL="27"> /二十/にじゅう/ニジュー; /七/しち/シチ; /日/にち/ニチ; </P>
<P VAL="28"> /二十/にじゅう/ニジュー; /八/はち/ハチ; /日/にち/ニチ; </P>
<P VAL="29"> /二十/にじゅう/ニジュー; /九/く/ク; /日/にち/ニチ; </P>
<P VAL="30"> /三十/さんじゅう/サンジュー; /日/にち/ニチ; </P>
<P VAL="31"> /三十/さんじゅう/サンジュー; /一/いち/イチ; /日/にち/ニチ; </P>
</L>
</RULE>
<!-- ************************************************************************
TIME QUANTITIES
************************************************************************ -->
<RULE NAME="ji_frag">
<L PROPNAME="JI" PROPID="JI">
<P VAL="0"> /零時/れいじ/レージ; </P>
<P VAL="0"> /零/れい/レー; /時/じ/ジ;</P>
<P VAL="1"> /一時/いちじ/イチジ;</P>
<P VAL="1"> /一/いち/イチ; /時/じ/ジ; </P>
<P VAL="2"> /二/に/ニ; /時/じ/ジ; </P>
<P VAL="3"> /三/さん/サン; /時/じ/ジ; </P>
<P VAL="4"> /四/よ/ヨ; /時/じ/ジ; </P>
<P VAL="5"> /五/ご/ゴ; /時/じ/ジ; </P>
<P VAL="6"> /六/ろく/ロク; /時/じ/ジ; </P>
<P VAL="7"> /七/しち/シチ; /時/じ/ジ; </P>
<P VAL="7"> /七/なな/ナナ; /時/じ/ジ; </P>
<P VAL="8"> /八/はち/ハチ; /時/じ/ジ; </P>
<P VAL="9"> /九/く/ク; /時/じ/ジ; </P>
<P VAL="10"> /十/じゅう/ジュー; /時/じ/ジ; </P>
<P VAL="11"> /十/じゅう/ジュー; /一時/いちじ/イチジ; </P>
<P VAL="11"> /十/じゅう/ジュー; /一/いち/イチ; /時/じ/ジ; </P>
<P VAL="12"> /十/じゅう/ジュー; /二/に/ニ; /時/じ/ジ; </P>
</L>
</RULE>
<RULE NAME="ji24_frag">
<L PROPNAME="JI" PROPID="JI">
<P VAL="13"> /十/じゅう/ジュー; /三/さん/サン; /時/じ/ジ;</P>
<P VAL="14"> /十/じゅう/ジュー; /四/よ/ヨ; /時/じ/ジ;</P>
<P VAL="15"> /十/じゅう/ジュー; /五/ご/ゴ; /時/じ/ジ;</P>
<P VAL="16"> /十/じゅう/ジュー; /六/ろく/ロク; /時/じ/ジ;</P>
<P VAL="17"> /十/じゅう/ジュー; /七/しち/シチ; /時/じ/ジ;</P>
<P VAL="17"> /十/じゅう/ジュー; /七/なな/ナナ; /時/じ/ジ;</P>
<P VAL="18"> /十/じゅう/ジュー; /八/はち/ハチ; /時/じ/ジ;</P>
<P VAL="19"> /十/じゅう/ジュー; /九/く/ク; /時/じ/ジ;</P>
<P VAL="20"> /二十/にじゅう/ニジュー; /時/じ/ジ;</P>
<P VAL="21"> /二十/にじゅう/ニジュー; /一/いち/イチ; /時/じ/ジ;</P>
<P VAL="22"> /二十/にじゅう/ニジュー; /二/に/ニ; /時/じ/ジ;</P>
<P VAL="23"> /二十/にじゅう/ニジュー; /三/さん/サン; /時/じ/ジ;</P>
<P VAL="24"> /二十/にじゅう/ニジュー; /四/よ/ヨ; /時/じ/ジ;</P>
</L>
</RULE>
<RULE NAME="juuhunn_frag">
<L PROPNAME="HUNN" PROPID="HUNN">
<P VAL="10"> /十/じゅう/ジュー; </P>
<P VAL="10"> /十/じゅっ/ジュッ; </P>
<P VAL="10"> /十/じっ/ジッ; </P>
<P VAL="20"> /二十/にじゅう/ニジュー; </P>
<P VAL="20"> /二十/にじゅっ/ニジュッ; </P>
<P VAL="20"> /二十/にじゅう/ニジッ; </P>
<P VAL="30"> /三十/さんじゅう/サンジュー; </P>
<P VAL="30"> /三十/さんじゅっ/サンジュッ; </P>
<P VAL="30"> /三十/さんじっ/サンジッ; </P>
<P VAL="40"> /四十/よんじゅう/ヨンジュー; </P>
<P VAL="40"> /四十/よんじゅっ/ヨンジュッ; </P>
<P VAL="40"> /四十/よんじっ/ヨンジッ; </P>
<P VAL="50"> /五十/ごじゅう/ゴジュー; </P>
<P VAL="50"> /五十/ごじゅっ/ゴジュッ; </P>
<P VAL="50"> /五十/ごじっ/ゴジッ; </P>
</L>
</RULE>
<!--
number_all
A number_all is any type of number recognized by ITN and will never be called
as a toplevel rule
-->
<RULE NAME="number_all">
<L>
<P>
<RULEREF NAME="GRID_INTEGER" PROPNAME="NUMBER" PROPID="NUMBER"/>
</P>
<P>
<RULEREF NAME="GRID_FP_NUMBER" PROPNAME="NUMBER" PROPID="NUMBER"/>
</P>
<P>
<RULEREF NAME="GRID_FRACTION" PROPNAME="NUMBER" PROPID="NUMBER"/>
</P>
</L>
</RULE>
<RULE NAME="units">
<L PROPNAME="UNITS" PROPID="UNITS">
<P VALSTR="km">/キロメートル/きろめーとる/キロメートル;</P>
<P VALSTR="km">/キロ/きろ/キロ; /メートル/めーとる/メートル;</P>
<P VALSTR="m"> /メートル/めーとる/メートル;</P>
<P VALSTR="cm"> /センチメートル/せんちめーとる/センチメートル;</P>
<P VALSTR="cm"> /センチ/せんち/センチ; /メートル/めーとる/メートル;</P>
<P VALSTR="mm"> /ミリメートル/みりめーとる/ミリメートル; </P>
<P VALSTR="mm"> /ミリ/みり/ミリ; /メートル/めーとる/メートル; </P>
<P VALSTR="nm"> /ナノメートル/なのめーとる/ナノメートル; </P>
<P VALSTR="nm"> /なの/なの/ナノ; /メートル/めーとる/メートル; </P>
<P VALSTR="l"> /リットル/りっとる/リットル; </P>
<P VALSTR="l"> /リッター/りったー/リッター; </P>
<P VALSTR="ml"> /ミリリットル/みりりっとる/ミリリットル; </P>
<P VALSTR="ml"> /ミリ/みり/ミリ; /リットル/りっとる/リットル; </P>
<P VALSTR="ml"> /ミリ/みり/ミリ; /リッター/りったー/リッター; </P>
<P VALSTR="cc"> /シー/しー/シー; /シー/しー/シー; </P>
<P VALSTR="cc"> CC </P>
<P VALSTR="kg"> /キログラム/きろぐらむ/キログラム; </P>
<P VALSTR="kg"> /キロ/きろ/キロ; /グラム/ぐらむ/グラム; </P>
<P VALSTR="g"> /グラム/ぐらむ/グラム; </P>
<P VALSTR="mg"> /ミリグラム/みりぐらむ/ミリグラム; </P>
<P VALSTR="mg"> /ミリ/みり/ミリ; /グラム/ぐらむ/グラム; </P>
<P VALSTR="KB"> /キロバイト/きろばいと/キロバイト; </P>
<P VALSTR="KB"> /キロ/きろ/キロ; /バイト/ばいと/バイト; </P>
<P VALSTR="MB"> /メガバイト/めがばいと/メガバイト; </P>
<P VALSTR="MB"> /メガ/めが/メガ; /バイト/ばいと/バイト;</P>
<P VALSTR="GB"> /ギガバイト/ぎがばいと/ギガバイト; </P>
<P VALSTR="GB"> /ギガ/ぎが/ギガ; /バイト/ばいと/バイト;</P>
<P VALSTR="TB"> /テラバイト/てらばいと/テラバイト; </P>
<P VALSTR="TB"> /テラ/てら/テラ; /バイト/ばいと/バイト; </P>
<P VALSTR="Hz"> /ヘルツ/へるつ/ヘルツ;</P>
<P VALSTR="kHz"> /キロヘルツ/きろへるつ/キロヘルツ; </P>
<P VALSTR="kHz"> /キロ/きろ/キロ; /ヘルツ/へるつ/ヘルツ; </P>
<P VALSTR="mHz"> /メガヘルツ/めがへるつ/メガヘルツ; </P>
<P VALSTR="mHz"> /メガ/めが/メガ; /ヘルツ/へるつ/ヘルツ;</P>
<P VALSTR="gHz"> /ギガヘルツ/ぎがへるつ/ギガヘルツ; </P>
<P VALSTR="gHz"> /ギガ/ぎが/ギガ; /ヘルツ/へるつ/ヘルツ;</P>
<P VALSTR="W"> /ワット/わっと/ワット;</P>
<P VALSTR="kW"> /キロワット/きろわっと/キロワット;</P>
<P VALSTR="kW"> /キロ/きろ/キロ; /ワット/わっと/ワット;</P>
</L>
</RULE>
</GRAMMAR>