|
|
<!-- ************************************************************************
CHS ITN Grammars
Microsoft Corporation 2000
CHS ITN rules depends on CHS SR dictionary. All the items here should be a word in CHS SR dictionary
In this grammar, we support: Integer Decimal Minus number
************************************************************************* -->
<GRAMMAR LANGID="804">
<!-- ************************************************************************
Definations that will appear in header file
************************************************************************* --> <DEFINE> <ID NAME="HUNDREDMILLIONS" VAL="1"/> <ID NAME="TENTHOUSANDS" VAL="2"/> <ID NAME="TENTHOUSANDS_" VAL="3"/> <ID NAME="THOUSANDS" VAL="4"/> <ID NAME="HUNDREDS" VAL="5"/> <ID NAME="HUNDREDS_" VAL="6"/> <ID NAME="ONES" VAL="7"/> <ID NAME="INTEGER" VAL="8"/> <ID NAME="DECIMAL" VAL="9"/> <ID NAME="NEGATIVE" VAL="10"/> <ID NAME="PERIOD" VAL="23"/> <ID NAME="DIGITS" VAL="24"/> <ID NAME="POS_OF_MINUS" VAL="27"/> <ID NAME="ONES_THOUSANDS" VAL="28"/> <ID NAME="GRID_NUMBER" VAL="1001"/> <ID NAME="GRID_NUMBER_MINUS" VAL="1002"/> <ID NAME="GRID_DECIMAL" VAL="1003"/> <ID NAME="GRID_NUMBER_ALL" VAL="1004"/> </DEFINE>
<!-- ***************************************************************************
Number_All: includes negative or positive interger or float pointer numbers **************************************************************************** --> <RULE NAME="GRID_NUMBER_ALL" ID="GRID_NUMBER_ALL" TOPLEVEL="ACTIVE" EXPORT="1"> <LN> <P WEIGHT="1000.01">zhoulotskunosprok</P> <P WEIGHT="1.01">数字
<O> <P PROPNAME="NEGATIVE" PROPID="NEGATIVE">负</P> </O>
<L> <P> <RULEREF NAME="GRID_NUMBER" PROPNAME="GRID_NUMBER" PROPID="GRID_NUMBER"/> </P> <P> <RULEREF NAME="GRID_DECIMAL" PROPNAME="GRID_DECIMAL" PROPID="GRID_DECIMAL"/> </P> </L> </P> </LN> </RULE>
<!-- ************************************************************************
Grid number(positive integers from 0 - 9999,9999,9999(Chs spelling rules) or 999,999,999,999
************************************************************************* --> <RULE NAME="GRID_NUMBER" ID="GRID_NUMBER" TOPLEVEL="INACTIVE" EXPORT="1"> <L> <P> <!-- ******************** begining with '亿' section ******************* --> <RULEREF NAME="GRID_NUMBER_9999" PROPNAME="HUNDREDMILLIONS" PROPID="HUNDREDMILLIONS"/> <P>亿</P> <O> <L> <P> <!-- ******************** has '万' section ******************* --> <L> <RULEREF NAME="GRID_NUMBER_9999" PROPNAME="TENTHOUSANDS" PROPID="TENTHOUSANDS"/> <RULEREF NAME="ZERO_GRID_NUMBER_0999" PROPNAME="TENTHOUSANDS" PROPID="TENTHOUSANDS"/> </L> <P>万</P> <O> <L> <P> <RULEREF NAME="ONESFRAG_ONE_DIGIT_THOUSANDS" PROPNAME="ONES_THOUSANDS" PROPID="ONES_THOUSANDS"/> </P> <RULEREF NAME="GRID_NUMBER_9990" PROPNAME="ONES" PROPID="ONES" VAL="1"/> <RULEREF NAME="ZERO_GRID_NUMBER_0999" PROPNAME="ONES" PROPID="ONES" VAL="1"/> </L> </O> </P>
<P> <!-- ******************** does not have '万' section and directly has '个' section ******************* --> <L> <P> <RULEREF NAME="ZERODIGITS" PROPNAME="DIGITS" PROPID="DIGITS" VAL="0"/> <RULEREF NAME="GRID_NUMBER_9999" PROPNAME="ONES" PROPID="ONES" VAL="1"/> </P> <P> <RULEREF NAME="ZERO_GRID_NUMBER_0999" PROPNAME="ONES" PROPID="ONES" VAL="1"/> </P> </L> </P> </L> </O> </P>
<P> <!-- ******************** begining with '万' section ******************* --> <L> <P> <RULEREF NAME="GRID_NUMBER_9999" PROPNAME="TENTHOUSANDS" PROPID="TENTHOUSANDS"/> <P>万</P> </P>
<P> <L PROPNAME="TENTHOUSANDS_" PROPID="TENTHOUSANDS_"> <P VAL= "1" VALSTR="1">一万</P> <P VAL= "2" VALSTR="2">二万</P> <P VAL= "2" VALSTR="2">两 万</P> <P VAL= "3" VALSTR="3">三万</P> <P VAL= "4" VALSTR="4">四万</P> <P VAL= "5" VALSTR="5">五万</P> <P VAL= "6" VALSTR="6">六万</P> <P VAL= "7" VALSTR="7">七万</P> <P VAL= "8" VALSTR="8">八万</P> <P VAL= "9" VALSTR="9">九万</P> <P VAL= "10" VALSTR="10">十万</P> </L> </P> </L>
<O> <L> <P> <RULEREF NAME="ONESFRAG_ONE_DIGIT_THOUSANDS" PROPNAME="ONES_THOUSANDS" PROPID="ONES_THOUSANDS"/> </P> <RULEREF NAME="GRID_NUMBER_9990" PROPNAME="ONES" PROPID="ONES"/> <RULEREF NAME="ZERO_GRID_NUMBER_0999" PROPNAME="ONES" PROPID="ONES"/> </L> </O> </P>
<P> <!-- ******************** begining with '个' section ******************* --> <RULEREF NAME="GRID_NUMBER_9999" PROPNAME="ONES" PROPID="ONES"/> </P>
<P> <!-- ******************** zero itself ******************* --> <RULEREF NAME="ZERODIGITS" PROPNAME="ONES" PROPID="ONES" VAL="0"/> </P>
<P MIN="2" MAX="12"> <RULEREF NAME="DIGITS"/> </P> </L> </RULE>
<!-- ************************************************************************
Grid number 9999, integers from [1 - 9999], no leading zero
************************************************************************* --> <RULE NAME="GRID_NUMBER_9999"> <L> <P> <!--- ******************** begining with '千' section *************** --> <RULEREF NAME="THOUSANDSFRAG" PROPNAME="THOUSANDS" PROPID="THOUSANDS" VAL="1000"/> <O> <L> <P> <RULEREF NAME="ONESFRAG_ONE_DIGIT" PROPNAME="ONES" PROPID="ONES" VAL="100"/> </P> <P> <!-- ******************** has hundreds frag ******************* --> <P><RULEREF NAME="HUNDREDSFRAG" PROPNAME="HUNDREDS" PROPID="HUNDREDS" VAL="100"/></P> <O> <L> <P> <RULEREF NAME="ONESFRAG_TWO_DIGITS" PROPNAME="ONES" PROPID="ONES" VAL="1"/> </P> <P> <RULEREF NAME="ONESFRAG_ONE_DIGIT" PROPNAME="ONES" PROPID="ONES" VAL="10"/> <O> <RULEREF NAME="ONESFRAG_TWO_DIGITS_TRAIL" PROPNAME="ONES" PROPID="ONES" VAL="1"/> </O> </P> <P> <RULEREF NAME="ZERODIGITS" PROPNAME="ONES" PROPID="ONES" VAL="0"/> <RULEREF NAME="ONESFRAG_ONE_DIGIT" PROPNAME="ONES" PROPID="ONES" VAL="1"/> </P> </L> </O> </P> <P> <!-- ******************** no hundreds frag ******************* --> <RULEREF NAME="ZERODIGITS" PROPNAME="ONES" PROPID="ONES" VAL="0"/> <L> <RULEREF NAME="ONESFRAG" PROPNAME="ONES" PROPID="ONES" VAL="1"/> <P> <RULEREF NAME="ONESFRAG_ONE_DIGIT" PROPNAME="ONES" PROPID="ONES" VAL="10"/> <RULEREF NAME="ONESFRAG_TWO_DIGITS_TRAIL" PROPNAME="ONES" PROPID="ONES" VAL="1"/> </P> </L> </P> </L> </O> </P>
<P> <!--- ******************** begining with '百' section *************** --> <RULEREF NAME="HUNDREDSFRAG" PROPNAME="HUNDREDS" PROPID="HUNDREDS" VAL="100"/> <O> <L> <P> <RULEREF NAME="ONESFRAG_TWO_DIGITS" PROPNAME="ONES" PROPID="ONES" VAL="1"/> </P> <P> <RULEREF NAME="ONESFRAG_ONE_DIGIT" PROPNAME="ONES" PROPID="ONES" VAL="10"/> <O> <RULEREF NAME="ONESFRAG_TWO_DIGITS_TRAIL" PROPNAME="ONES" PROPID="ONES" VAL="1"/> </O> </P> <P> <RULEREF NAME="ZERODIGITS" PROPNAME="ONES" PROPID="ONES" VAL="0"/> <RULEREF NAME="ONESFRAG_ONE_DIGIT" PROPNAME="ONES" PROPID="ONES" VAL="1"/> </P> </L> </O> </P>
<P> <RULEREF NAME="ONESFRAG" PROPNAME="ONES" PROPID="ONES" VAL="1"/> </P> </L> </RULE>
<!-- ************************************************************************
Grid number 9990, integers from [10 - 9999], no leading zero
************************************************************************* --> <RULE NAME="GRID_NUMBER_9990"> <L> <P> <!--- ******************** begining with '千' section *************** --> <RULEREF NAME="THOUSANDSFRAG" PROPNAME="THOUSANDS" PROPID="THOUSANDS" VAL="1000"/> <O> <L> <P> <RULEREF NAME="ONESFRAG_ONE_DIGIT" PROPNAME="ONES" PROPID="ONES" VAL="100"/> </P> <P> <!-- ******************** has hundreds frag ******************* --> <P><RULEREF NAME="HUNDREDSFRAG" PROPNAME="HUNDREDS" PROPID="HUNDREDS" VAL="100"/></P> <O> <L> <P> <RULEREF NAME="ONESFRAG_TWO_DIGITS" PROPNAME="ONES" PROPID="ONES" VAL="1"/> </P> <P> <RULEREF NAME="ONESFRAG_ONE_DIGIT" PROPNAME="ONES" PROPID="ONES" VAL="10"/> <O> <RULEREF NAME="ONESFRAG_TWO_DIGITS_TRAIL" PROPNAME="ONES" PROPID="ONES" VAL="1"/> </O> </P> <P> <RULEREF NAME="ZERODIGITS" PROPNAME="ONES" PROPID="ONES" VAL="0"/> <RULEREF NAME="ONESFRAG_ONE_DIGIT" PROPNAME="ONES" PROPID="ONES" VAL="1"/> </P> </L> </O> </P> <P> <!-- ******************** no hundreds frag ******************* --> <RULEREF NAME="ZERODIGITS" PROPNAME="ONES" PROPID="ONES" VAL="0"/> <L> <RULEREF NAME="ONESFRAG" PROPNAME="ONES" PROPID="ONES" VAL="1"/> <P> <RULEREF NAME="ONESFRAG_ONE_DIGIT" PROPNAME="ONES" PROPID="ONES" VAL="10"/> <RULEREF NAME="ONESFRAG_TWO_DIGITS_TRAIL" PROPNAME="ONES" PROPID="ONES" VAL="1"/> </P> </L> </P> </L> </O> </P>
<P> <!--- ******************** begining with '百' section *************** --> <RULEREF NAME="HUNDREDSFRAG" PROPNAME="HUNDREDS" PROPID="HUNDREDS" VAL="100"/> <O> <L> <P> <RULEREF NAME="ONESFRAG_TWO_DIGITS" PROPNAME="ONES" PROPID="ONES" VAL="1"/> </P> <P> <RULEREF NAME="ONESFRAG_ONE_DIGIT" PROPNAME="ONES" PROPID="ONES" VAL="10"/> <O> <RULEREF NAME="ONESFRAG_TWO_DIGITS_TRAIL" PROPNAME="ONES" PROPID="ONES" VAL="1"/> </O> </P> <P> <RULEREF NAME="ZERODIGITS" PROPNAME="ONES" PROPID="ONES" VAL="0"/> <RULEREF NAME="ONESFRAG_ONE_DIGIT" PROPNAME="ONES" PROPID="ONES" VAL="1"/> </P> </L> </O> </P>
<P> <RULEREF NAME="ONESFRAG_TWO_DIGITS" PROPNAME="ONES" PROPID="ONES" VAL="1"/> </P> </L> </RULE>
<!-- ************************************************************************
Grid number 0999, positive integers from [1 - 999], with leading zero ************************************************************************ --> <RULE NAME="ZERO_GRID_NUMBER_0999"> <P> <RULEREF NAME="ZERODIGITS" PROPNAME="ONES" PROPID="ONES" VAL="0"/> </P> <L> <P> <RULEREF NAME="HUNDREDSFRAG" PROPNAME="HUNDREDS" PROPID="HUNDREDS" VAL="100"/> <O> <L> <P> <RULEREF NAME="ONESFRAG_TWO_DIGITS" PROPNAME="ONES" PROPID="ONES" VAL="1"/> </P> <P> <RULEREF NAME="ONESFRAG_ONE_DIGIT" PROPNAME="ONES" PROPID="ONES" VAL="10"/> <O> <RULEREF NAME="ONESFRAG_TWO_DIGITS_TRAIL" PROPNAME="ONES" PROPID="ONES" VAL="1"/> </O> </P> <P> <RULEREF NAME="ZERODIGITS" PROPNAME="ONES" PROPID="ONES" VAL="0"/> <RULEREF NAME="ONESFRAG_ONE_DIGIT" PROPNAME="ONES" PROPID="ONES" VAL="1"/> </P> </L> </O> </P>
<P> <L> <RULEREF NAME="ONESFRAG" PROPNAME="ONES" PROPID="ONES" VAL="1"/> <P> <RULEREF NAME="ONESFRAG_ONE_DIGIT" PROPNAME="ONES" PROPID="ONES" VAL="10"/> <RULEREF NAME="ONESFRAG_TWO_DIGITS_TRAIL" PROPNAME="ONES" PROPID="ONES" VAL="1"/> </P> </L> </P> </L> </RULE>
<!-- ************************************************************************
Thousands frag ************************************************************************ --> <RULE NAME="THOUSANDSFRAG"> <L PROPNAME="THOUSANDS" PROPID="THOUSANDS"> <P VAL="1" VALSTR="1">一千</P> <P VAL="2" VALSTR="2">二千</P> <P VAL="2" VALSTR="2">两 千</P> <P VAL="3" VALSTR="3">三千</P> <P VAL="4" VALSTR="4">四千</P> <P VAL="5" VALSTR="5">五千</P> <P VAL="6" VALSTR="6">六千</P> <P VAL="7" VALSTR="7">七千</P> <P VAL="8" VALSTR="8">八千</P> <P VAL="9" VALSTR="9">九千</P> </L> </RULE>
<!-- ************************************************************************
Hundreds frag ************************************************************************ --> <RULE NAME="HUNDREDSFRAG"> <L PROPNAME="HUNDREDS_" PROPID="HUNDREDS_"> <P VAL="1" VALSTR="1">一百</P> <P VAL="2" VALSTR="2">二百</P> <P VAL="2" VALSTR="2">两 百</P> <P VAL="3" VALSTR="3">三百</P> <P VAL="4" VALSTR="4">四百</P> <P VAL="5" VALSTR="5">五百</P> <P VAL="6" VALSTR="6">六百</P> <P VAL="7" VALSTR="7">七百</P> <P VAL="8" VALSTR="8">八百</P> <P VAL="9" VALSTR="9">九百</P> </L> </RULE>
<!-- ************************************************************************
One digit frag ************************************************************************ --> <RULE NAME="ONESFRAG_ONE_DIGIT"> <L PROPNAME="ONES" PROPID="ONES"> <P VAL="1" VALSTR="1">一</P> <P VAL="1" VALSTR="1">1</P> <P VAL="2" VALSTR="2">二</P> <P VAL="2" VALSTR="2">两</P> <P VAL="2" VALSTR="2">2</P> <P VAL="3" VALSTR="3">三</P> <P VAL="3" VALSTR="3">3</P> <P VAL="4" VALSTR="4">四</P> <P VAL="4" VALSTR="4">4</P> <P VAL="5" VALSTR="5">五</P> <P VAL="5" VALSTR="5">5</P> <P VAL="6" VALSTR="6">六</P> <P VAL="6" VALSTR="6">6</P> <P VAL="7" VALSTR="7">七</P> <P VAL="7" VALSTR="7">7</P> <P VAL="8" VALSTR="8">八</P> <P VAL="8" VALSTR="8">8</P> <P VAL="9" VALSTR="9">九</P> <P VAL="9" VALSTR="9">9</P> </L> </RULE>
<!-- ************************************************************************
One digit frag for thousands ************************************************************************ --> <RULE NAME="ONESFRAG_ONE_DIGIT_THOUSANDS"> <L PROPNAME="ONES" PROPID="ONES"> <P VAL="1000" VALSTR="1">一</P> <P VAL="1000" VALSTR="1">1</P> <P VAL="2000" VALSTR="2">二</P> <P VAL="2000" VALSTR="2">两</P> <P VAL="2000" VALSTR="2">2</P> <P VAL="3000" VALSTR="3">三</P> <P VAL="3000" VALSTR="3">3</P> <P VAL="4000" VALSTR="4">四</P> <P VAL="4000" VALSTR="4">4</P> <P VAL="5000" VALSTR="5">五</P> <P VAL="5000" VALSTR="5">5</P> <P VAL="6000" VALSTR="6">六</P> <P VAL="6000" VALSTR="6">6</P> <P VAL="7000" VALSTR="7">七</P> <P VAL="7000" VALSTR="7">7</P> <P VAL="8000" VALSTR="8">八</P> <P VAL="8000" VALSTR="8">8</P> <P VAL="9000" VALSTR="9">九</P> <P VAL="9000" VALSTR="9">9</P> </L> </RULE>
<!-- ************************************************************************
Two digits frag ************************************************************************ --> <RULE NAME="ONESFRAG_TWO_DIGITS"> <L PROPNAME="ONES" PROPID="ONES"> <P VAL="10" VALSTR="10">一十</P> <P VAL="11" VALSTR="11">十一</P> <P VAL="11" VALSTR="11">一十一</P> <P VAL="12" VALSTR="12">十二</P> <P VAL="12" VALSTR="12">一十二</P> <P VAL="13" VALSTR="13">十三</P> <P VAL="13" VALSTR="13">一十三</P> <P VAL="14" VALSTR="14">十四</P> <P VAL="14" VALSTR="14">一十四</P> <P VAL="15" VALSTR="15">十五</P> <P VAL="15" VALSTR="15">一十五</P> <P VAL="16" VALSTR="16">十六</P> <P VAL="16" VALSTR="16">一十六</P> <P VAL="17" VALSTR="17">十七</P> <P VAL="17" VALSTR="17">一十七</P> <P VAL="18" VALSTR="18">十八</P> <P VAL="18" VALSTR="18">一十八</P> <P VAL="19" VALSTR="19">十九</P> <P VAL="19" VALSTR="19">一十九</P>
<P VAL="20" VALSTR="20">二十</P> <P VAL="21" VALSTR="21">二十一</P> <P VAL="22" VALSTR="22">二十二</P> <P VAL="23" VALSTR="23">二十三</P> <P VAL="24" VALSTR="24">二十四</P> <P VAL="25" VALSTR="25">二十五</P> <P VAL="26" VALSTR="26">二十六</P> <P VAL="27" VALSTR="27">二十七</P> <P VAL="28" VALSTR="28">二十八</P> <P VAL="29" VALSTR="29">二十九</P>
<P VAL="30" VALSTR="30">三十</P> <P VAL="31" VALSTR="31">三十一</P> <P VAL="32" VALSTR="32">三十二</P> <P VAL="33" VALSTR="33">三十三</P> <P VAL="34" VALSTR="34">三十四</P> <P VAL="35" VALSTR="35">三十五</P> <P VAL="36" VALSTR="36">三十六</P> <P VAL="37" VALSTR="37">三十七</P> <P VAL="38" VALSTR="38">三十八</P> <P VAL="39" VALSTR="39">三十九</P>
<P VAL="40" VALSTR="40">四十</P> <P VAL="41" VALSTR="41">四十一</P> <P VAL="42" VALSTR="42">四十二</P> <P VAL="43" VALSTR="43">四十三</P> <P VAL="44" VALSTR="44">四十四</P> <P VAL="45" VALSTR="45">四十五</P> <P VAL="46" VALSTR="46">四十六</P> <P VAL="47" VALSTR="47">四十七</P> <P VAL="48" VALSTR="48">四十八</P> <P VAL="49" VALSTR="49">四十九</P>
<P VAL="50" VALSTR="50">五十</P> <P VAL="51" VALSTR="51">五十一</P> <P VAL="52" VALSTR="52">五十二</P> <P VAL="53" VALSTR="53">五十三</P> <P VAL="54" VALSTR="54">五十四</P> <P VAL="55" VALSTR="55">五十五</P> <P VAL="56" VALSTR="56">五十六</P> <P VAL="57" VALSTR="57">五十七</P> <P VAL="58" VALSTR="58">五十八</P> <P VAL="59" VALSTR="59">五十九</P>
<P VAL="60" VALSTR="60">六十</P> <P VAL="61" VALSTR="61">六十一</P> <P VAL="62" VALSTR="62">六十二</P> <P VAL="63" VALSTR="63">六十三</P> <P VAL="64" VALSTR="64">六十四</P> <P VAL="65" VALSTR="65">六十五</P> <P VAL="66" VALSTR="66">六十六</P> <P VAL="67" VALSTR="67">六十七</P> <P VAL="68" VALSTR="68">六十八</P> <P VAL="69" VALSTR="69">六十九</P>
<P VAL="70" VALSTR="70">七十</P> <P VAL="71" VALSTR="71">七十一</P> <P VAL="72" VALSTR="72">七十二</P> <P VAL="73" VALSTR="73">七十三</P> <P VAL="74" VALSTR="74">七十四</P> <P VAL="75" VALSTR="75">七十五</P> <P VAL="76" VALSTR="76">七十六</P> <P VAL="77" VALSTR="77">七十七</P> <P VAL="78" VALSTR="78">七十八</P> <P VAL="79" VALSTR="79">七十九</P>
<P VAL="80" VALSTR="80">八十</P> <P VAL="81" VALSTR="81">八十一</P> <P VAL="82" VALSTR="82">八十二</P> <P VAL="83" VALSTR="83">八十三</P> <P VAL="84" VALSTR="84">八十四</P> <P VAL="85" VALSTR="85">八十五</P> <P VAL="86" VALSTR="86">八十六</P> <P VAL="87" VALSTR="87">八十七</P> <P VAL="88" VALSTR="88">八十八</P> <P VAL="89" VALSTR="89">八十九</P>
<P VAL="90" VALSTR="90">九十</P> <P VAL="91" VALSTR="91">九十一</P> <P VAL="92" VALSTR="92">九十二</P> <P VAL="93" VALSTR="93">九十三</P> <P VAL="94" VALSTR="94">九十四</P> <P VAL="95" VALSTR="95">九十五</P> <P VAL="96" VALSTR="96">九十六</P> <P VAL="97" VALSTR="97">九十七</P> <P VAL="98" VALSTR="98">九十八</P> <P VAL="99" VALSTR="99">九十九</P> </L> </RULE>
<!-- ************************************************************************
Including the above two tables and '十' ************************************************************************ --> <RULE NAME="ONESFRAG"> <L PROPNAME="ONES" PROPID="ONES"> <P VAL="1" VALSTR="1">一</P> <P VAL="1" VALSTR="1">1</P> <P VAL="2" VALSTR="2">二</P> <P VAL="2" VALSTR="2">两</P> <P VAL="2" VALSTR="2">2</P> <P VAL="3" VALSTR="3">三</P> <P VAL="3" VALSTR="3">3</P> <P VAL="4" VALSTR="4">四</P> <P VAL="4" VALSTR="4">4</P> <P VAL="5" VALSTR="5">五</P> <P VAL="5" VALSTR="5">5</P> <P VAL="6" VALSTR="6">六</P> <P VAL="6" VALSTR="6">6</P> <P VAL="7" VALSTR="7">七</P> <P VAL="7" VALSTR="7">7</P> <P VAL="8" VALSTR="8">八</P> <P VAL="8" VALSTR="8">8</P> <P VAL="9" VALSTR="9">九</P> <P VAL="9" VALSTR="9">9</P>
<P VAL="10" VALSTR="10">十</P> <P VAL="10" VALSTR="10">一十</P> <P VAL="11" VALSTR="11">十一</P> <P VAL="11" VALSTR="11">一十一</P> <P VAL="12" VALSTR="12">十二</P> <P VAL="12" VALSTR="12">一十二</P> <P VAL="13" VALSTR="13">十三</P> <P VAL="13" VALSTR="13">一十三</P> <P VAL="14" VALSTR="14">十四</P> <P VAL="14" VALSTR="14">一十四</P> <P VAL="15" VALSTR="15">十五</P> <P VAL="15" VALSTR="15">一十五</P> <P VAL="16" VALSTR="16">十六</P> <P VAL="16" VALSTR="16">一十六</P> <P VAL="17" VALSTR="17">十七</P> <P VAL="17" VALSTR="17">一十七</P> <P VAL="18" VALSTR="18">十八</P> <P VAL="18" VALSTR="18">一十八</P> <P VAL="19" VALSTR="19">十九</P> <P VAL="19" VALSTR="19">一十九</P>
<P VAL="20" VALSTR="20">二十</P> <P VAL="21" VALSTR="21">二十一</P> <P VAL="22" VALSTR="22">二十二</P> <P VAL="23" VALSTR="23">二十三</P> <P VAL="24" VALSTR="24">二十四</P> <P VAL="25" VALSTR="25">二十五</P> <P VAL="26" VALSTR="26">二十六</P> <P VAL="27" VALSTR="27">二十七</P> <P VAL="28" VALSTR="28">二十八</P> <P VAL="29" VALSTR="29">二十九</P>
<P VAL="30" VALSTR="30">三十</P> <P VAL="31" VALSTR="31">三十一</P> <P VAL="32" VALSTR="32">三十二</P> <P VAL="33" VALSTR="33">三十三</P> <P VAL="34" VALSTR="34">三十四</P> <P VAL="35" VALSTR="35">三十五</P> <P VAL="36" VALSTR="36">三十六</P> <P VAL="37" VALSTR="37">三十七</P> <P VAL="38" VALSTR="38">三十八</P> <P VAL="39" VALSTR="39">三十九</P>
<P VAL="40" VALSTR="40">四十</P> <P VAL="41" VALSTR="41">四十一</P> <P VAL="42" VALSTR="42">四十二</P> <P VAL="43" VALSTR="43">四十三</P> <P VAL="44" VALSTR="44">四十四</P> <P VAL="45" VALSTR="45">四十五</P> <P VAL="46" VALSTR="46">四十六</P> <P VAL="47" VALSTR="47">四十七</P> <P VAL="48" VALSTR="48">四十八</P> <P VAL="49" VALSTR="49">四十九</P>
<P VAL="50" VALSTR="50">五十</P> <P VAL="51" VALSTR="51">五十一</P> <P VAL="52" VALSTR="52">五十二</P> <P VAL="53" VALSTR="53">五十三</P> <P VAL="54" VALSTR="54">五十四</P> <P VAL="55" VALSTR="55">五十五</P> <P VAL="56" VALSTR="56">五十六</P> <P VAL="57" VALSTR="57">五十七</P> <P VAL="58" VALSTR="58">五十八</P> <P VAL="59" VALSTR="59">五十九</P>
<P VAL="60" VALSTR="60">六十</P> <P VAL="61" VALSTR="61">六十一</P> <P VAL="62" VALSTR="62">六十二</P> <P VAL="63" VALSTR="63">六十三</P> <P VAL="64" VALSTR="64">六十四</P> <P VAL="65" VALSTR="65">六十五</P> <P VAL="66" VALSTR="66">六十六</P> <P VAL="67" VALSTR="67">六十七</P> <P VAL="68" VALSTR="68">六十八</P> <P VAL="69" VALSTR="69">六十九</P>
<P VAL="70" VALSTR="70">七十</P> <P VAL="71" VALSTR="71">七十一</P> <P VAL="72" VALSTR="72">七十二</P> <P VAL="73" VALSTR="73">七十三</P> <P VAL="74" VALSTR="74">七十四</P> <P VAL="75" VALSTR="75">七十五</P> <P VAL="76" VALSTR="76">七十六</P> <P VAL="77" VALSTR="77">七十七</P> <P VAL="78" VALSTR="78">七十八</P> <P VAL="79" VALSTR="79">七十九</P>
<P VAL="80" VALSTR="80">八十</P> <P VAL="81" VALSTR="81">八十一</P> <P VAL="82" VALSTR="82">八十二</P> <P VAL="83" VALSTR="83">八十三</P> <P VAL="84" VALSTR="84">八十四</P> <P VAL="85" VALSTR="85">八十五</P> <P VAL="86" VALSTR="86">八十六</P> <P VAL="87" VALSTR="87">八十七</P> <P VAL="88" VALSTR="88">八十八</P> <P VAL="89" VALSTR="89">八十九</P>
<P VAL="90" VALSTR="90">九十</P> <P VAL="91" VALSTR="91">九十一</P> <P VAL="92" VALSTR="92">九十二</P> <P VAL="93" VALSTR="93">九十三</P> <P VAL="94" VALSTR="94">九十四</P> <P VAL="95" VALSTR="95">九十五</P> <P VAL="96" VALSTR="96">九十六</P> <P VAL="97" VALSTR="97">九十七</P> <P VAL="98" VALSTR="98">九十八</P> <P VAL="99" VALSTR="99">九十九</P> </L> </RULE>
<!-- ************************************************************************
two digits from 11 to 19, which only have the value 1 to 9 to deal with "三百 四 十五", or "二百 一 十", due to the result from engine
************************************************************************* --> <RULE NAME="ONESFRAG_TWO_DIGITS_TRAIL"> <L PROPNAME="ONES" PROPID="ONES"> <P VAL="0" VALSTR="11">十</P> <P VAL="1" VALSTR="11">十一</P> <P VAL="2" VALSTR="12">十二</P> <P VAL="3" VALSTR="13">十三</P> <P VAL="4" VALSTR="14">十四</P> <P VAL="5" VALSTR="15">十五</P> <P VAL="6" VALSTR="16">十六</P> <P VAL="7" VALSTR="17">十七</P> <P VAL="8" VALSTR="18">十八</P> <P VAL="9" VALSTR="19">十九</P> </L> </RULE>
<!-- ************************************************************************
digit 0
************************************************************************* --> <RULE NAME="ZERODIGITS"> <L PROPNAME="ONES" PROPID="ONES"> <P VAL="0" VALSTR="0">零</P> <P VAL="0" VALSTR="0">0</P> <P VAL="0" VALSTR="0">○</P> </L> </RULE>
<!-- ************************************************************************
digits 1, 2, 3, 4, 5, 6, 7, 8, 9
************************************************************************* --> <RULE NAME="NONEZERODIGITS"> <L PROPNAME="ONES" PROPID="ONES"> <P VAL="1" VALSTR="1">一</P> <P VAL="1" VALSTR="1">1</P> <P VAL="2" VALSTR="2">二</P> <P VAL="2" VALSTR="2">两</P> <P VAL="2" VALSTR="2">2</P> <P VAL="3" VALSTR="3">三</P> <P VAL="3" VALSTR="3">3</P> <P VAL="4" VALSTR="4">四</P> <P VAL="4" VALSTR="4">4</P> <P VAL="5" VALSTR="5">五</P> <P VAL="5" VALSTR="5">5</P> <P VAL="6" VALSTR="6">六</P> <P VAL="6" VALSTR="6">6</P> <P VAL="7" VALSTR="7">七</P> <P VAL="7" VALSTR="7">7</P> <P VAL="8" VALSTR="8">八</P> <P VAL="8" VALSTR="8">8</P> <P VAL="9" VALSTR="9">九</P> <P VAL="9" VALSTR="9">9</P> </L> </RULE>
<!-- ************************************************************************
All digits
************************************************************************* --> <RULE NAME="DIGITS"> <L PROPNAME="DIGITS" PROPID="DIGITS"> <P VAL="0" VALSTR="0">零</P> <P VAL="0" VALSTR="0">0</P> <P VAL="0" VALSTR="0">○</P> <P VAL="1" VALSTR="1">一</P> <P VAL="1" VALSTR="1">1</P> <P VAL="2" VALSTR="2">二</P> <P VAL="2" VALSTR="2">两</P> <P VAL="2" VALSTR="2">2</P> <P VAL="3" VALSTR="3">三</P> <P VAL="3" VALSTR="3">3</P> <P VAL="4" VALSTR="4">四</P> <P VAL="4" VALSTR="4">4</P> <P VAL="5" VALSTR="5">五</P> <P VAL="5" VALSTR="5">5</P> <P VAL="6" VALSTR="6">六</P> <P VAL="6" VALSTR="6">6</P> <P VAL="7" VALSTR="7">七</P> <P VAL="7" VALSTR="7">7</P> <P VAL="8" VALSTR="8">八</P> <P VAL="8" VALSTR="8">8</P> <P VAL="9" VALSTR="9">九</P> <P VAL="9" VALSTR="9">9</P> </L> </RULE>
<!-- ************************************************************************
Decimal ************************************************************************* --> <RULE NAME="GRID_DECIMAL" ID="GRID_DECIMAL" TOPLEVEL="INACTIVE" EXPORT="1"> <P> <RULEREF NAME="GRID_NUMBER" PROPNAME="INTEGER" PROPID="INTEGER"/> </P> <P PROPNAME="PERIOD" PROPID="PERIOD"> <L> <P>点</P> <P>.</P> </L> </P> <P MIN="1" MAX="20"> <RULEREF NAME="DIGITS"/> </P> </RULE>
</GRAMMAR>
|