home *** CD-ROM | disk | FTP | other *** search
- [<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>
-
-