home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
PC World 2000 April
/
PCWorld_2000-04_cd.bin
/
SPEECH
/
SPCHAPI.EXE
/
RCDATA
/
CABINET
/
speech.dll
/
CFG
/
101
Wrap
Text (UTF-16)
|
1999-01-12
|
39KB
|
595 lines
[<Start>]
<Start> = [opt] (JunkBegin) (Commands) [opt] (JunkEnd)
[(JunkBegin)]
=please
=could you
=I want [opt] to
=I wanna
=computer
=uh
[(JunkEnd)]
=please
=now
[(YesNo)]
1=yes
1=yup
1=go for it
1=yeah [opt] sure
1=sure
1=okay
1=you betcha
1=do it
1=fer sure
1=yes please
2=no
2=no way
2=nope
2=stop
2=no thanks
2=no thank you
2=don't do it
[<PhoneNumber>]
<PhoneNumber> = area code <ThreeDigits> [opt] <DashSlash> "-" <ThreeDigits> [opt] <DashSlash> "-" <FourDigits>
<PhoneNumber> = <ThreeDigits> [opt] <DashSlash> "-" <FourDigits>
<PhoneNumber> = <ThreeDigits> [opt] <DashSlash> "-" <ThreeDigits> [opt] <DashSlash> "-" <FourDigits>
<PhoneNumber> = one "1-" <ThreeDigits> [opt] <DashSlash> "-" <ThreeDigits> [opt] <DashSlash> "-" <FourDigits>
<PhoneNumber> = one eight hundred "1-800-" <ThreeDigits> [opt] <DashSlash> "-" <FourDigits>
<PhoneNumber> = one nine hundred "1-900-" <ThreeDigits> [opt] <DashSlash> "-" <FourDigits>
<PhoneNumber> = <ZeroOh> one one [opt] <DashSlash> "011-" <ThreeDigits> [opt] <DashSlash> "-" <Digits>
<PhoneNumber> = X. "x" [1+] <0..9>
<PhoneNumber> = extension "x" [1+] <0..9>
<ThreeDigits> = <0..9> <0..9> <0..9>
<ThreeDigits> = <0..9> <DoubleDigit>
<ThreeDigits> = <TrippleDigit>
<FourDigits> = <0..9> <ThreeDigits>
<FourDigits> = <DoubleDigit> <Last2Digits>
<Last2Digits> = <DoubleDigit>
<Last2Digits> = <0..9> <0..9>
<Last2Digits> = hundred "00"
<DashSlash> = -\dash
<DashSlash> = dash
<DashSlash> = /\slash
<DashSlash> = slash
<ZeroOh> = zero
<ZeroOh> = oh
;<ZeroOh> = o.
[<Year>]
<Year> = <DoubleNumber>
<Year> = <Less1000000Not>
<Year> = <Less1000Not>
<Year> = <Less100Not>
// Double-number cominations, like "ninteen sixty"
<DoubleNumber> = <Less100Not> <DoubleDigit>
<DoubleNumber> = <Less100Not> oh "0" <1..9>
<DoubleNumber> = <Less100Not> hundred "00"
[<Month>]
<Month> = January "January"
<Month> = February "February"
<Month> = March "March"
<Month> = April "April"
<Month> = May "May"
<Month> = June "June"
<Month> = July "July"
<Month> = August "August"
<Month> = September "September"
<Month> = October "October"
<Month> = November "November"
<Month> = December "December"
[<Date>]
<Date> = <Month> " " <Date2>
<Date2> = <Ordinal> [opt] <Date3>
<Date2> = <1..31>
<Date2> = <YearMore31>
<Date3> = ", " <Year>
<YearMore31> = <DoubleNumber>
<YearMore31> = <Less1000000Not>
<YearMore31> = <Less1000Not>
<YearMore31> = <32.99>
<1..31> = <1..9>
<1..31> = <10..19>
<1..31> = <20.31>
// Double-number cominations, like "ninteen sixty"
<DoubleNumber> = <Less100Not> <DoubleDigit>
<DoubleNumber> = <Less100Not> oh "0" <1..9>
<DoubleNumber> = <Less100Not> hundred "00"
[<Time>]
<Time> = <Hours> <Time2>
<Time> = midnight "12:00 AM"
<Time> = noon "12:00 PM"
<Time2> = o'clock ":00" [opt] <AMPM>
<Time2> = ":" <Minutes> [opt] <AMPM>
<Time2> = ":00" [opt] <AMPM>
<Time> = <Natural> <Time3>
<Time3> = hundred hours ":00"
<Time3> = ":" <Minutes> hours
<Time> = quarter <Time4>
<Time4> = <PastAfter> <Hours> ":15" [opt] <AMPM>
<Time4> = <PastAfter> noon "12:15 PM"
<Time4> = <PastAfter> midnight "12:15 AM"
<Time4> = <BeforeTo> <HoursMinus1> ":45" [opt] <AMPM>
<Time4> = <BeforeTo> noon "11:45 AM"
<Time4> = <BeforeTo> midnight "11:45 PM"
<Time> = half <Time5>
<Time5> = <PastAfter> <Hours> ":30" [opt] <AMPM>
<Time5> = <PastAfter> noon "12:30 PM"
<Time5> = <PastAfter> midnight "12:30 AM"
<PastAfter> = past
<PastAfter> = after
<BeforeTo> = before
<BeforeTo> = to
;<BeforeTo> = 'til
<BeforeTo> = til
<Minutes> = <DoubleDigit>
<Minutes> = oh "0" <0..9>
;<Minutes> = O. "0" <0..9>
<Hours> = <1..9>
<Hours> = ten "10"
<Hours> = eleven "11"
<Hours> = twelve "12"
<HoursMinus1> = one "12"
<HoursMinus1> = two "1"
<HoursMinus1> = three "2"
<HoursMinus1> = four "3"
<HoursMinus1> = five "4"
<HoursMinus1> = six "5"
<HoursMinus1> = seven "6"
<HoursMinus1> = eight "7"
<HoursMinus1> = nine "8"
<HoursMinus1> = ten "9"
<HoursMinus1> = eleven "10"
<HoursMinus1> = twelve "11"
<AMPM> = a. m. " AM"
<AMPM> = a.m. " AM"
<AMPM> = am " AM"
<AMPM> = p. m. " PM"
<AMPM> = p.m. " PM"
<AMPM> = pm " PM"
<AMPM> = in the evening " PM"
<AMPM> = at night " PM"
<AMPM> = in the morning " AM"
[<Dollars>]
<Dollars> = "$" <Natural> <Dollars2>
<Dollars2> = <Dollar> ".00"
<Dollars2> = <Dollar> [opt] and "." <Less100Pad> <CentCents>
<Dollars> = "$0." <Less100Pad> <CentCents>
<CentCents> = cent
<CentCents> = cents
<Dollar> = dollar
<Dollar> = dollars
[<Digits>]
<Digits> = [1+] <0..9>
[<Fraction>]
<Fraction> = <Integer> <Fraction2>
<Fraction2> = and " " <Natural> "/" <Denom>
<Fraction2> = and a " 1/" <Denom>
<Fraction2> = "/" <Denom>
<Fraction2> = and " " <Natural> over "/" <Natural>
<Fraction2> = over "/" <Natural>
<Denom> = half "2"
<Denom> = halves "2"
<Denom> = third "3"
<Denom> = thirds "3"
<Denom> = fourth "4"
<Denom> = fourths "4"
<Denom> = quarter "4"
<Denom> = quarters "4"
<Denom> = fifth "5"
<Denom> = fifths "5"
<Denom> = sixth "6"
<Denom> = sixths "6"
<Denom> = seventh "7"
<Denom> = sevenths "7"
<Denom> = eighth "8"
<Denom> = eighths "8"
<Denom> = ninth "9"
<Denom> = ninths "9"
<Denom> = tenth "10"
<Denom> = tenths "10"
<Denom> = eleventh "11"
<Denom> = elevenths "11"
<Denom> = twelfth "12"
<Denom> = twelfths "12"
<Denom> = thirteenth "13"
<Denom> = thirteenths "13"
<Denom> = fourteenth "14"
<Denom> = fourteenths "14"
<Denom> = fifteenth "15"
<Denom> = fifteenths "15"
<Denom> = sixteenth "16"
<Denom> = sixteenths "16"
<Denom> = seventeenth "17"
<Denom> = seventeenths "17"
<Denom> = eighteenth "18"
<Denom> = eighteenths "18"
<Denom> = nineteenth "19"
<Denom> = nineteenths "19"
<Denom> = twentieth "20"
<Denom> = twentieths "20"
<Denom> = thirtieth "30"
<Denom> = thirtieths "30"
<Denom> = fortieth "40"
<Denom> = fortieths "40"
<Denom> = fiftieth "50"
<Denom> = fiftieths "50"
<Denom> = sixtieth "60"
<Denom> = sixtieths "60"
<Denom> = seventieth "70"
<Denom> = seventieths "70"
<Denom> = eightieth "80"
<Denom> = eightieths "80"
<Denom> = ninetieth "90"
<Denom> = ninetieths "90"
<Denom> = hundredth "100"
<Denom> = hundredths "100"
<Denom> = thousandth "1000"
<Denom> = thousandths "1000"
<Denom> = millionth "1000000"
<Denom> = millionths "1000000"
<Denom> = billionth "1000000000"
<Denom> = billionths "1000000000"
<Denom> = trillionth "1000000000000"
<Denom> = trillionths "1000000000000"
[<Natural>]
<Natural> = <Less1000000000000000Not>
<Natural> = <Less1000000000000Not>
<Natural> = <Less1000000000Not>
<Natural> = <Less1000000Not>
<Natural> = <Less1000Not>
<Natural> = <Less100Not>
// Less than 1,000,000,000,000,000, not padded with zeros
<Less1000000000000000Not> = <Less100Not> <Less1000000000000000Not2>
<Less1000000000000000Not> = <Less1000Not> <Less1000000000000000Not2>
<Less1000000000000000Not2> = trillion "000000000000"
<Less1000000000000000Not2> = trillion [opt] and <Less1000000000000Pad>
// Less than 1,000,000,000,000, padded with zeros
<Less1000000000000Pad> = "000" <Less1000000000Pad>
<Less1000000000000Pad> = billion [opt] and "001" <Less1000000000Pad>
<Less1000000000000Pad> = <Less1000Pad> <Less1000000000000Pad2>
<Less1000000000000Pad> = <Less1000Pad> <Less1000000000000Pad2>
<Less1000000000000Pad2> = billion "000000000"
<Less1000000000000Pad2> = billion [opt] and <Less1000000000Pad>
// Less than 1,000,000,000,000, not padded with zeros
<Less1000000000000Not> = <Less100Not> <Less1000000000000Not2>
<Less1000000000000Not> = <Less1000Not> <Less1000000000000Not2>
<Less1000000000000Not2> = billion "000000000"
<Less1000000000000Not2> = billion [opt] and <Less1000000000Pad>
// Less than 1,000,000,000, padded with zeros
<Less1000000000Pad> = "000" <Less1000000Pad>
<Less1000000000Pad> = million [opt] and "001" <Less1000000Pad>
<Less1000000000Pad> = <Less1000Pad> <Less1000000000Pad2>
<Less1000000000Pad2> = million "000000"
<Less1000000000Pad2> = million [opt] and <Less1000000Pad>
// Less than 1,000,000,000, not padded with zeros
<Less1000000000Not> = <Less100Not> <Less1000000000Not2>
<Less1000000000Not> = <Less1000Not> <Less1000000000Not2>
<Less1000000000Not2> = million "000000"
<Less1000000000Not2> = million [opt] and <Less1000000Pad>
// Less than 1,000,000, padded with zeros
<Less1000000Pad> = "000" <Less1000Pad>
<Less1000000Pad> = thousand [opt] and "001" <Less1000Pad>
<Less1000000Pad> = <Less1000Pad> <Less1000000Pad2>
<Less1000000Pad2> = thousand "000"
<Less1000000Pad2> = thousand [opt] and <Less1000Pad>
[<Ordinal>]
<Ordinal> = <OrdinalLess1000000000000000Not>
<Ordinal> = <OrdinalLess1000000000000Not>
<Ordinal> = <OrdinalLess1000000000Not>
<Ordinal> = <OrdinalLess1000000Not>
<Ordinal> = <OrdinalLess1000Not>
<Ordinal> = <OrdinalLess100Not>
<Orindal> = <Less100Not> hundredth "00"
// Ordinal ,Less than 1,000,000,000,000,000, not padded with zeros, without ending
<OrdinalLess1000000000000000Not> = <Less100Not> trillionth "000000000000"
<OrdinalLess1000000000000000Not> = <Less100Not> trillion [opt] and <OrdinalLess1000000000000Pad>
<OrdinalLess1000000000000000Not> = <Less1000Not> trillionth "000000000000"
<OrdinalLess1000000000000000Not> = <Less1000Not> trillion [opt] and <OrdinalLess1000000000000Pad>
// Ordinal, Less than 1,000,000,000,000, padded with zeros, withouth ending
<OrdinalLess1000000000000Pad> = "000" <OrdinalLess1000000000Pad>
<OrdinalLess1000000000000Pad> = billion [opt] and "001" <OrdinalLess1000000000Pad>
<OrdinalLess1000000000000Pad> = <Less1000Pad> <OrdinalLess1000000000000Pad2>
<OrdinalLess1000000000000Pad> = <Less1000Pad> <OrdinalLess1000000000000Pad2>
<OrdinalLess1000000000000Pad2> = billionth "000000000"
<OrdinalLess1000000000000Pad2> = billion [opt] and <OrdinalLess1000000000Pad>
// Ordinal, Less than 1,000,000,000,000, not padded with zeros, without ending
<OrdinalLess1000000000000Not> = <Less100Not> <OrdinalLess1000000000000Not2>
<OrdinalLess1000000000000Not> = <Less1000Not> <OrdinalLess1000000000000Not2>
<OrdinalLess1000000000000Not2> = billionth "000000000"
<OrdinalLess1000000000000Not2> = billion [opt] and <OrdinalLess1000000000Pad>
// Ordinal, Less than 1,000,000,000, padded with zeros, without ending
<OrdinalLess1000000000Pad> = "000" <OrdinalLess1000000Pad>
<OrdinalLess1000000000Pad> = million [opt] and "001" <OrdinalLess1000000Pad>
<OrdinalLess1000000000Pad> = <Less1000Pad> <OrdinalLess1000000000Pad2>
<OrdinalLess1000000000Pad2> = millionth "000000"
<OrdinalLess1000000000Pad2> = million [opt] and <OrdinalLess1000000Pad>
// Ordinal Less than 1,000,000,000, not padded with zeros, without ending
<OrdinalLess1000000000Not> = <Less100Not> <OrdinalLess1000000000Not2>
<OrdinalLess1000000000Not> = <Less1000Not> <OrdinalLess1000000000Not2>
<OrdinalLess1000000000Not2> = millionth "000000"
<OrdinalLess1000000000Not2> = million [opt] and <OrdinalLess1000000Pad>
// Ordinal Less than 1,000,000, padded with zeros, without ending
<OrdinalLess1000000Pad> = "000" <OrdinalLess1000Pad>
<OrdinalLess1000000Pad> = thousand [opt] and "001" <OrdinalLess1000Pad>
<OrdinalLess1000000Pad> = <Less1000Pad> <OrdinalLess1000000Pad2>
<OrdinalLess1000000Pad2> = thousandth "000"
<OrdinalLess1000000Pad2> = thousandth [opt] and <OrdinalLess1000Pad>
// Ordinal Less than 1,000,000, not padded with zeros, without ending
<OrdinalLess1000000Not> = <1..9> thousandth "000"
<OrdinalLess1000000Not> = <1..9> thousand [opt] and <OrdinalLess1000Pad>
<OrdinalLess1000000Not> = <DoubleDigit> <OrdinalLess1000000Not2>
<OrdinalLess1000000Not> = <TrippleDigit> <OrdinalLess1000000Not2>
<OrdinalLess1000000Not2> = thousandth "000"
<OrdinalLess1000000Not2> = thousand [opt] and <OrdinalLess1000Pad>
// Ordinal Less than 1000, padded with zeros, without ending
<OrdinalLess1000Pad> = "0" <OrdinalLess100Pad>
<OrdinalLess1000Pad> = <OrdinalTrippleDigit>
// Ordinal Less than 1000, not padded with zeros, without ending
<OrdinalLess1000Not> = <OrdinalTrippleDigit>
[<Integer>]
<Integer> = <Natural>
<Integer> = <MinusNegative> "-" <Natural>
<MinusNegative> = minus
<MinusNegative> = negative
[<Float>]
<Float> = <Integer> [opt] <Float2>
<Float> = <Point> "0." <Digits>
<Float2> = <Point> "." <Digits>
<Point> = point
[<PluralNumber>]
<PluralNumber> = <Less100Not> <PluralNumber2>
<PluralNumber> = <DoubleDigitPlural> "'s"
<PluralNumber> = <SingleDigitPluralWithoutOne> "'s"
<PluralNumber2> = <DoubleDigitPlural> "'s"
<PluralNumber2> = oh <SingleDigitPlural> "'s"
<PluralNumber2> = hundreds "00's"
<SingleDigitPlural> = ones "1"
<SingleDigitPlural> = one's "1"
<SingleDigitPlural> = <SingleDigitPluralWithoutOne>
<SingleDigitPluralWithoutOne> = twos "2"
<SingleDigitPluralWithoutOne> = two's "2"
<SingleDigitPluralWithoutOne> = threes "3"
<SingleDigitPluralWithoutOne> = three's "3"
<SingleDigitPluralWithoutOne> = fours "4"
<SingleDigitPluralWithoutOne> = four's "4"
<SingleDigitPluralWithoutOne> = fives "5"
<SingleDigitPluralWithoutOne> = five's "5"
<SingleDigitPluralWithoutOne> = sixes "6"
<SingleDigitPluralWithoutOne> = six's "6"
<SingleDigitPluralWithoutOne> = sevens "7"
<SingleDigitPluralWithoutOne> = seven's "7"
<SingleDigitPluralWithoutOne> = eights "8"
<SingleDigitPluralWithoutOne> = eight's "8"
<SingleDigitPluralWithoutOne> = nines "9"
<SingleDigitPluralWithoutOne> = nine's "9"
<DoubleDigitPlural> = tens "10"
<DoubleDigitPlural> = ten's "10"
<DoubleDigitPlural> = elevens "11"
<DoubleDigitPlural> = eleven's "11"
<DoubleDigitPlural> = twelves "12"
<DoubleDigitPlural> = twelve's "12"
<DoubleDigitPlural> = thirteens "13"
<DoubleDigitPlural> = thirteen's "13"
<DoubleDigitPlural> = fourteens "14"
<DoubleDigitPlural> = fourteen's "14"
<DoubleDigitPlural> = fifteens "15"
<DoubleDigitPlural> = fifteen's "15"
<DoubleDigitPlural> = sixteens "16"
<DoubleDigitPlural> = sixteen's "16"
<DoubleDigitPlural> = seventeens "17"
<DoubleDigitPlural> = seventeen's "17"
<DoubleDigitPlural> = eighteens "18"
<DoubleDigitPlural> = eighteen's "18"
<DoubleDigitPlural> = nineteens "19"
<DoubleDigitPlural> = nineteen's "19"
<DoubleDigitPlural> = twenties "20"
<DoubleDigitPlural> = twenty's "20"
<DoubleDigitPlural> = twenty "2" <SingleDigitPlural>
<DoubleDigitPlural> = thirties "30"
<DoubleDigitPlural> = thirty's "30"
<DoubleDigitPlural> = thirty "3" <SingleDigitPlural>
<DoubleDigitPlural> = forties "40"
<DoubleDigitPlural> = forty's "40"
<DoubleDigitPlural> = forty "4" <SingleDigitPlural>
<DoubleDigitPlural> = fifties "50"
<DoubleDigitPlural> = fifty's "50"
<DoubleDigitPlural> = fifty "5" <SingleDigitPlural>
<DoubleDigitPlural> = sixties "60"
<DoubleDigitPlural> = sixty's "60"
<DoubleDigitPlural> = sixty "6" <SingleDigitPlural>
<DoubleDigitPlural> = seventies "70"
<DoubleDigitPlural> = seventy's "70"
<DoubleDigitPlural> = seventy "7" <SingleDigitPlural>
<DoubleDigitPlural> = eighties "80"
<DoubleDigitPlural> = eighty's "80"
<DoubleDigitPlural> = eighty "8" <SingleDigitPlural>
<DoubleDigitPlural> = nineties "90"
<DoubleDigitPlural> = ninety's "90"
<DoubleDigitPlural> = ninety "9" <SingleDigitPlural>
[<1..9>]
<1..9> = one "1"
<1..9> = two "2"
<1..9> = three "3"
<1..9> = four "4"
<1..9> = five "5"
<1..9> = six "6"
<1..9> = seven "7"
<1..9> = eight "8"
<1..9> = nine "9"
[<Ordinal1..9>]
<Ordinal1..9> = first "1"
<Ordinal1..9> = second "2"
<Ordinal1..9> = third "3"
<Ordinal1..9> = fourth "4"
<Ordinal1..9> = fifth "5"
<Ordinal1..9> = sixth "6"
<Ordinal1..9> = seventh "7"
<Ordinal1..9> = eighth "8"
<Ordinal1..9> = ninth "9"
[<0..9>]
<0..9> = zero "0"
<0..9> = oh "0"
<0..9> = <1..9>
[<Ordinal0..9>]
// Ordinal Zero through nine, without ending
<Ordinal0..9> = zeroth "0"
<Ordinal0..9> = <Ordinal1..9>
[<10..19>]
<10..19> = ten "10"
<10..19> = eleven "11"
<10..19> = twelve "12"
<10..19> = thirteen "13"
<10..19> = fourteen "14"
<10..19> = fifteen "15"
<10..19> = sixteen "16"
<10..19> = seventeen "17"
<10..19> = eighteen "18"
<10..19> = nineteen "19"
[<Ordinal10..19>]
<Ordinal10..19> = tenth "10"
<Ordinal10..19> = eleventh "11"
<Ordinal10..19> = twelfth "12"
<Ordinal10..19> = thirteenth "13"
<Ordinal10..19> = fourteenth "14"
<Ordinal10..19> = fifteenth "15"
<Ordinal10..19> = sixteenth "16"
<Ordinal10..19> = seventeenth "17"
<Ordinal10..19> = eighteenth "18"
<Ordinal10..19> = nineteenth "19"
[<20..99>]
<20..99> = <20.31>
<20..99> = <32.99>
[<20.31>]
<20.31> = twenty "20"
<20.31> = twenty "2" <1..9>
<20.31> = thirty "30"
[<32.99>]
<32.99> = thirty "3" <1..9>
<32.99> = forty "40"
<32.99> = forty "4" <1..9>
<32.99> = fifty "50"
<32.99> = fifty "5" <1..9>
<32.99> = sixty "60"
<32.99> = sixty "6" <1..9>
<32.99> = seventy "70"
<32.99> = seventy "7" <1..9>
<32.99> = eighty "80"
<32.99> = eighty "8" <1..9>
<32.99> = ninety "90"
<32.99> = ninety "9" <1..9>
[<Ordinal20..99>]
<Ordinal20..99> = twentieth "20"
<Ordinal20..99> = twenty "2" <Ordinal1..9>
<Ordinal20..99> = thirtieth "30"
<Ordinal20..99> = thirty "3" <Ordinal1..9>
<Ordinal20..99> = fortieth "40"
<Ordinal20..99> = forty "4" <Ordinal1..9>
<Ordinal20..99> = fiftieth "50"
<Ordinal20..99> = fifty "5" <Ordinal1..9>
<Ordinal20..99> = sixtieth "60"
<Ordinal20..99> = sixty "6" <Ordinal1..9>
<Ordinal20..99> = seventieth "70"
<Ordinal20..99> = seventy "7" <Ordinal1..9>
<Ordinal20..99> = eightieth "80"
<Ordinal20..99> = eighty "8" <Ordinal1..9>
<Ordinal20..99> = ninetieth "90"
<Ordinal20..99> = ninety "9" <Ordinal1..9>
[<DoubleDigit>]
<DoubleDigit> = <20..99>
<DoubleDigit> = <10..19>
[<OrdinalDoubleDigit>]
<OrdinalDoubleDigit> = <Ordinal20..99>
<OrdinalDoubleDigit> = <Ordinal10..19>
[<TrippleDigit>]
<TrippleDigit> = hundred "1" <Less100Pad>
<TrippleDigit> = <1..9> <TrippleDigit2>
<TrippleDigit2> = hundred [opt] and <Less100Pad>
<TrippleDigit2> = hundred "00"
[<OrdinalTrippleDigit>]
<OrdinalTrippleDigit> = hundred "1" <OrdinalLess100Pad>
<OrdinalTrippleDigit> = <1..9> hundred [opt] and <OrdinalLess100Pad>
<OrdinalTrippleDigit> = <1..9> hundredth "00"
[<Less100Not>]
// Less that 100, not padded with zeros
<Less100Not> = <1..9>
<Less100Not> = <DoubleDigit>
<Less100Not> = zero "0"
[<OrdinalLess100Not>]
// Ordinal, Less that 100, not padded with zeros, without ending
<OrdinalLess100Not> = <Ordinal1..9>
<OrdinalLess100Not> = <OrdinalDoubleDigit>
<OrdinalLess100Not> = zeroeth "0"
[<Less100Pad>]
// Less that 100, padded with zeros
<Less100Pad> = "0" <1..9>
<Less100Pad> = <DoubleDigit>
<Less100Pad> = zero "00"
[<OrdinalLess100Pad>]
// Ordinal Less that 100, padded with zeros, without ending
<OrdinalLess100Pad> = "0" <Ordinal1..9>
<OrdinalLess100Pad> = <OrdinalDoubleDigit>
<OrdinalLess100Pad> = zeroeth "00"
[<Less1000Not>]
// Less than 1000, not padded with zeros
<Less1000Not> = <TrippleDigit>
[<Less1000Pad>]
// Less than 1000, padded with zeros
<Less1000Pad> = "0" <Less100Pad>
<Less1000Pad> = <TrippleDigit>
[<Less1000000Not>]
// Less than 1,000,000, not padded with zeros
<Less1000000Not> = <1..9> thousand "000"
<Less1000000Not> = <1..9> thousand [opt] and <Less1000Pad>
<Less1000000Not> = <DoubleDigit> <Less1000000Not2>
<Less1000000Not> = <TrippleDigit> <Less1000000Not2>
<Less1000000Not2> = thousand "000"
<Less1000000Not2> = thousand [opt] and <Less1000Pad>