thirdparty/google_appengine/google/appengine/cron/GrocParser.py
changeset 2309 be1b94099f2d
parent 828 f5fd65cc3bf3
--- a/thirdparty/google_appengine/google/appengine/cron/GrocParser.py	Tue May 12 13:02:10 2009 +0200
+++ b/thirdparty/google_appengine/google/appengine/cron/GrocParser.py	Tue May 12 15:39:52 2009 +0200
@@ -32,39 +32,40 @@
 HIDDEN = BaseRecognizer.HIDDEN
 
 THIRD=12
-SEPTEMBER=34
+SEPTEMBER=35
 FOURTH=13
 SECOND=11
-WEDNESDAY=20
-NOVEMBER=36
-SATURDAY=23
-JULY=32
-APRIL=29
+WEDNESDAY=21
+NOVEMBER=37
+SATURDAY=24
+JULY=33
+APRIL=30
 DIGITS=8
-OCTOBER=35
-MAY=30
+OCTOBER=36
+MAY=31
 EVERY=6
-FEBRUARY=27
-MONDAY=18
-SUNDAY=24
-JUNE=31
-MARCH=28
+FEBRUARY=28
+MONDAY=19
+SUNDAY=25
+JUNE=32
+DAY=18
+MARCH=29
 OF=4
 EOF=-1
-JANUARY=26
-MONTH=25
-FRIDAY=22
+JANUARY=27
+MONTH=26
+FRIDAY=23
 FIFTH=14
 MINUTES=17
 TIME=5
-WS=39
-QUARTER=38
-THURSDAY=21
+WS=40
+QUARTER=39
+THURSDAY=22
 COMMA=9
-DECEMBER=37
-AUGUST=33
+DECEMBER=38
+AUGUST=34
 DIGIT=7
-TUESDAY=19
+TUESDAY=20
 HOURS=16
 FIRST=10
 FOURTH_OR_FIFTH=15
@@ -72,10 +73,10 @@
 tokenNames = [
     "<invalid>", "<EOR>", "<DOWN>", "<UP>",
     "OF", "TIME", "EVERY", "DIGIT", "DIGITS", "COMMA", "FIRST", "SECOND",
-    "THIRD", "FOURTH", "FIFTH", "FOURTH_OR_FIFTH", "HOURS", "MINUTES", "MONDAY",
-    "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY", "SUNDAY",
-    "MONTH", "JANUARY", "FEBRUARY", "MARCH", "APRIL", "MAY", "JUNE", "JULY",
-    "AUGUST", "SEPTEMBER", "OCTOBER", "NOVEMBER", "DECEMBER", "QUARTER",
+    "THIRD", "FOURTH", "FIFTH", "FOURTH_OR_FIFTH", "HOURS", "MINUTES", "DAY",
+    "MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY",
+    "SUNDAY", "MONTH", "JANUARY", "FEBRUARY", "MARCH", "APRIL", "MAY", "JUNE",
+    "JULY", "AUGUST", "SEPTEMBER", "OCTOBER", "NOVEMBER", "DECEMBER", "QUARTER",
     "WS"
 ]
 
@@ -95,6 +96,17 @@
         Parser.__init__(self, input, state)
 
 
+        self.dfa3 = self.DFA3(
+            self, 3,
+            eot = self.DFA3_eot,
+            eof = self.DFA3_eof,
+            min = self.DFA3_min,
+            max = self.DFA3_max,
+            accept = self.DFA3_accept,
+            special = self.DFA3_special,
+            transition = self.DFA3_transition
+            )
+
 
 
 
@@ -160,7 +172,7 @@
 
                     if ((DIGIT <= LA1_1 <= DIGITS)) :
                         alt1 = 2
-                    elif ((MONDAY <= LA1_1 <= SUNDAY)) :
+                    elif ((DAY <= LA1_1 <= SUNDAY)) :
                         alt1 = 1
                     else:
                         nvae = NoViableAltException("", 1, 1, self.input)
@@ -214,57 +226,77 @@
             try:
                 pass
                 pass
-                pass
-                pass
-                pass
-                self._state.following.append(self.FOLLOW_ordinals_in_specifictime69)
-                self.ordinals()
+                alt3 = 2
+                alt3 = self.dfa3.predict(self.input)
+                if alt3 == 1:
+                    pass
+                    pass
+                    pass
+                    self._state.following.append(self.FOLLOW_ordinals_in_specifictime69)
+                    self.ordinals()
+
+                    self._state.following.pop()
+                    self._state.following.append(self.FOLLOW_weekdays_in_specifictime71)
+                    self.weekdays()
+
+                    self._state.following.pop()
+
+
+
+                    self.match(self.input, OF, self.FOLLOW_OF_in_specifictime74)
+                    alt2 = 2
+                    LA2_0 = self.input.LA(1)
 
-                self._state.following.pop()
-                self._state.following.append(self.FOLLOW_weekdays_in_specifictime71)
-                self.weekdays()
+                    if ((MONTH <= LA2_0 <= DECEMBER)) :
+                        alt2 = 1
+                    elif ((FIRST <= LA2_0 <= THIRD) or LA2_0 == QUARTER) :
+                        alt2 = 2
+                    else:
+                        nvae = NoViableAltException("", 2, 0, self.input)
+
+                        raise nvae
 
-                self._state.following.pop()
+                    if alt2 == 1:
+                        pass
+                        self._state.following.append(self.FOLLOW_monthspec_in_specifictime77)
+                        self.monthspec()
+
+                        self._state.following.pop()
+
+
+                    elif alt2 == 2:
+                        pass
+                        self._state.following.append(self.FOLLOW_quarterspec_in_specifictime79)
+                        self.quarterspec()
+
+                        self._state.following.pop()
 
 
 
 
 
 
-                self.match(self.input, OF, self.FOLLOW_OF_in_specifictime75)
-                alt2 = 2
-                LA2_0 = self.input.LA(1)
+
 
-                if ((MONTH <= LA2_0 <= DECEMBER)) :
-                    alt2 = 1
-                elif ((FIRST <= LA2_0 <= THIRD) or LA2_0 == QUARTER) :
-                    alt2 = 2
-                else:
-                    nvae = NoViableAltException("", 2, 0, self.input)
-
-                    raise nvae
-
-                if alt2 == 1:
+                elif alt3 == 2:
+                    pass
                     pass
-                    self._state.following.append(self.FOLLOW_monthspec_in_specifictime78)
-                    self.monthspec()
+                    self._state.following.append(self.FOLLOW_ordinals_in_specifictime96)
+                    self.ordinals()
 
                     self._state.following.pop()
-
-
-                elif alt2 == 2:
-                    pass
-                    self._state.following.append(self.FOLLOW_quarterspec_in_specifictime80)
-                    self.quarterspec()
+                    self._state.following.append(self.FOLLOW_weekdays_in_specifictime98)
+                    self.weekdays()
 
                     self._state.following.pop()
+                    self.month_set = set(range(1,13))
 
 
 
 
 
 
-                TIME1=self.match(self.input, TIME, self.FOLLOW_TIME_in_specifictime93)
+                TIME1=self.match(self.input, TIME, self.FOLLOW_TIME_in_specifictime112)
                 self.time_string = TIME1.text
 
 
@@ -294,7 +326,7 @@
             try:
                 pass
                 pass
-                self.match(self.input, EVERY, self.FOLLOW_EVERY_in_interval112)
+                self.match(self.input, EVERY, self.FOLLOW_EVERY_in_interval131)
                 intervalnum = self.input.LT(1)
                 if (DIGIT <= self.input.LA(1) <= DIGITS):
                     self.input.consume()
@@ -308,7 +340,7 @@
 
                 self.interval_mins = int(intervalnum.text)
 
-                self._state.following.append(self.FOLLOW_period_in_interval138)
+                self._state.following.append(self.FOLLOW_period_in_interval157)
                 period2 = self.period()
 
                 self._state.following.pop()
@@ -341,43 +373,43 @@
         try:
             try:
                 pass
-                alt4 = 2
-                LA4_0 = self.input.LA(1)
+                alt5 = 2
+                LA5_0 = self.input.LA(1)
 
-                if (LA4_0 == EVERY) :
-                    alt4 = 1
-                elif ((FIRST <= LA4_0 <= FOURTH_OR_FIFTH)) :
-                    alt4 = 2
+                if (LA5_0 == EVERY) :
+                    alt5 = 1
+                elif ((FIRST <= LA5_0 <= FOURTH_OR_FIFTH)) :
+                    alt5 = 2
                 else:
-                    nvae = NoViableAltException("", 4, 0, self.input)
+                    nvae = NoViableAltException("", 5, 0, self.input)
 
                     raise nvae
 
-                if alt4 == 1:
+                if alt5 == 1:
                     pass
-                    self.match(self.input, EVERY, self.FOLLOW_EVERY_in_ordinals157)
+                    self.match(self.input, EVERY, self.FOLLOW_EVERY_in_ordinals176)
                     self.ordinal_set = self.ordinal_set.union(allOrdinals)
 
 
-                elif alt4 == 2:
+                elif alt5 == 2:
                     pass
                     pass
-                    self._state.following.append(self.FOLLOW_ordinal_in_ordinals173)
+                    self._state.following.append(self.FOLLOW_ordinal_in_ordinals192)
                     self.ordinal()
 
                     self._state.following.pop()
                     while True:
-                        alt3 = 2
-                        LA3_0 = self.input.LA(1)
+                        alt4 = 2
+                        LA4_0 = self.input.LA(1)
 
-                        if (LA3_0 == COMMA) :
-                            alt3 = 1
+                        if (LA4_0 == COMMA) :
+                            alt4 = 1
 
 
-                        if alt3 == 1:
+                        if alt4 == 1:
                             pass
-                            self.match(self.input, COMMA, self.FOLLOW_COMMA_in_ordinals176)
-                            self._state.following.append(self.FOLLOW_ordinal_in_ordinals178)
+                            self.match(self.input, COMMA, self.FOLLOW_COMMA_in_ordinals195)
+                            self._state.following.append(self.FOLLOW_ordinal_in_ordinals197)
                             self.ordinal()
 
                             self._state.following.pop()
@@ -489,30 +521,58 @@
         try:
             try:
                 pass
-                pass
-                self._state.following.append(self.FOLLOW_weekday_in_weekdays261)
-                self.weekday()
+                alt7 = 2
+                LA7_0 = self.input.LA(1)
+
+                if (LA7_0 == DAY) :
+                    alt7 = 1
+                elif ((MONDAY <= LA7_0 <= SUNDAY)) :
+                    alt7 = 2
+                else:
+                    nvae = NoViableAltException("", 7, 0, self.input)
 
-                self._state.following.pop()
-                while True:
-                    alt5 = 2
-                    LA5_0 = self.input.LA(1)
+                    raise nvae
+
+                if alt7 == 1:
+                    pass
+                    self.match(self.input, DAY, self.FOLLOW_DAY_in_weekdays280)
 
-                    if (LA5_0 == COMMA) :
-                        alt5 = 1
+                    self.weekday_set = set([self.ValueOf(SUNDAY), self.ValueOf(MONDAY),
+                            self.ValueOf(TUESDAY), self.ValueOf(WEDNESDAY),
+                            self.ValueOf(THURSDAY), self.ValueOf(FRIDAY),
+                            self.ValueOf(SATURDAY), self.ValueOf(SUNDAY)])
+
 
 
-                    if alt5 == 1:
-                        pass
-                        self.match(self.input, COMMA, self.FOLLOW_COMMA_in_weekdays264)
-                        self._state.following.append(self.FOLLOW_weekday_in_weekdays266)
-                        self.weekday()
+                elif alt7 == 2:
+                    pass
+                    pass
+                    self._state.following.append(self.FOLLOW_weekday_in_weekdays288)
+                    self.weekday()
 
-                        self._state.following.pop()
+                    self._state.following.pop()
+                    while True:
+                        alt6 = 2
+                        LA6_0 = self.input.LA(1)
+
+                        if (LA6_0 == COMMA) :
+                            alt6 = 1
 
 
-                    else:
-                        break
+                        if alt6 == 1:
+                            pass
+                            self.match(self.input, COMMA, self.FOLLOW_COMMA_in_weekdays291)
+                            self._state.following.append(self.FOLLOW_weekday_in_weekdays293)
+                            self.weekday()
+
+                            self._state.following.pop()
+
+
+                        else:
+                            break
+
+
+
 
 
 
@@ -573,21 +633,21 @@
         try:
             try:
                 pass
-                alt6 = 2
-                LA6_0 = self.input.LA(1)
+                alt8 = 2
+                LA8_0 = self.input.LA(1)
 
-                if (LA6_0 == MONTH) :
-                    alt6 = 1
-                elif ((JANUARY <= LA6_0 <= DECEMBER)) :
-                    alt6 = 2
+                if (LA8_0 == MONTH) :
+                    alt8 = 1
+                elif ((JANUARY <= LA8_0 <= DECEMBER)) :
+                    alt8 = 2
                 else:
-                    nvae = NoViableAltException("", 6, 0, self.input)
+                    nvae = NoViableAltException("", 8, 0, self.input)
 
                     raise nvae
 
-                if alt6 == 1:
+                if alt8 == 1:
                     pass
-                    self.match(self.input, MONTH, self.FOLLOW_MONTH_in_monthspec344)
+                    self.match(self.input, MONTH, self.FOLLOW_MONTH_in_monthspec373)
 
                     self.month_set = self.month_set.union(set([
                         self.ValueOf(JANUARY), self.ValueOf(FEBRUARY), self.ValueOf(MARCH),
@@ -598,9 +658,9 @@
 
 
 
-                elif alt6 == 2:
+                elif alt8 == 2:
                     pass
-                    self._state.following.append(self.FOLLOW_months_in_monthspec354)
+                    self._state.following.append(self.FOLLOW_months_in_monthspec383)
                     self.months()
 
                     self._state.following.pop()
@@ -628,22 +688,22 @@
             try:
                 pass
                 pass
-                self._state.following.append(self.FOLLOW_month_in_months371)
+                self._state.following.append(self.FOLLOW_month_in_months400)
                 self.month()
 
                 self._state.following.pop()
                 while True:
-                    alt7 = 2
-                    LA7_0 = self.input.LA(1)
+                    alt9 = 2
+                    LA9_0 = self.input.LA(1)
 
-                    if (LA7_0 == COMMA) :
-                        alt7 = 1
+                    if (LA9_0 == COMMA) :
+                        alt9 = 1
 
 
-                    if alt7 == 1:
+                    if alt9 == 1:
                         pass
-                        self.match(self.input, COMMA, self.FOLLOW_COMMA_in_months374)
-                        self._state.following.append(self.FOLLOW_month_in_months376)
+                        self.match(self.input, COMMA, self.FOLLOW_COMMA_in_months403)
+                        self._state.following.append(self.FOLLOW_month_in_months405)
                         self.month()
 
                         self._state.following.pop()
@@ -709,37 +769,37 @@
         try:
             try:
                 pass
-                alt8 = 2
-                LA8_0 = self.input.LA(1)
+                alt10 = 2
+                LA10_0 = self.input.LA(1)
 
-                if (LA8_0 == QUARTER) :
-                    alt8 = 1
-                elif ((FIRST <= LA8_0 <= THIRD)) :
-                    alt8 = 2
+                if (LA10_0 == QUARTER) :
+                    alt10 = 1
+                elif ((FIRST <= LA10_0 <= THIRD)) :
+                    alt10 = 2
                 else:
-                    nvae = NoViableAltException("", 8, 0, self.input)
+                    nvae = NoViableAltException("", 10, 0, self.input)
 
                     raise nvae
 
-                if alt8 == 1:
+                if alt10 == 1:
                     pass
-                    self.match(self.input, QUARTER, self.FOLLOW_QUARTER_in_quarterspec468)
+                    self.match(self.input, QUARTER, self.FOLLOW_QUARTER_in_quarterspec497)
 
                     self.month_set = self.month_set.union(set([
                         self.ValueOf(JANUARY), self.ValueOf(APRIL), self.ValueOf(JULY),
                         self.ValueOf(OCTOBER)]))
 
 
-                elif alt8 == 2:
+                elif alt10 == 2:
                     pass
                     pass
-                    self._state.following.append(self.FOLLOW_quarter_ordinals_in_quarterspec480)
+                    self._state.following.append(self.FOLLOW_quarter_ordinals_in_quarterspec509)
                     self.quarter_ordinals()
 
                     self._state.following.pop()
-                    self.match(self.input, MONTH, self.FOLLOW_MONTH_in_quarterspec482)
-                    self.match(self.input, OF, self.FOLLOW_OF_in_quarterspec484)
-                    self.match(self.input, QUARTER, self.FOLLOW_QUARTER_in_quarterspec486)
+                    self.match(self.input, MONTH, self.FOLLOW_MONTH_in_quarterspec511)
+                    self.match(self.input, OF, self.FOLLOW_OF_in_quarterspec513)
+                    self.match(self.input, QUARTER, self.FOLLOW_QUARTER_in_quarterspec515)
 
 
 
@@ -767,22 +827,22 @@
             try:
                 pass
                 pass
-                self._state.following.append(self.FOLLOW_month_of_quarter_ordinal_in_quarter_ordinals505)
+                self._state.following.append(self.FOLLOW_month_of_quarter_ordinal_in_quarter_ordinals534)
                 self.month_of_quarter_ordinal()
 
                 self._state.following.pop()
                 while True:
-                    alt9 = 2
-                    LA9_0 = self.input.LA(1)
+                    alt11 = 2
+                    LA11_0 = self.input.LA(1)
 
-                    if (LA9_0 == COMMA) :
-                        alt9 = 1
+                    if (LA11_0 == COMMA) :
+                        alt11 = 1
 
 
-                    if alt9 == 1:
+                    if alt11 == 1:
                         pass
-                        self.match(self.input, COMMA, self.FOLLOW_COMMA_in_quarter_ordinals508)
-                        self._state.following.append(self.FOLLOW_month_of_quarter_ordinal_in_quarter_ordinals510)
+                        self.match(self.input, COMMA, self.FOLLOW_COMMA_in_quarter_ordinals537)
+                        self._state.following.append(self.FOLLOW_month_of_quarter_ordinal_in_quarter_ordinals539)
                         self.month_of_quarter_ordinal()
 
                         self._state.following.pop()
@@ -850,43 +910,88 @@
 
 
 
+    DFA3_eot = DFA.unpack(
+        u"\13\uffff"
+        )
+
+    DFA3_eof = DFA.unpack(
+        u"\13\uffff"
+        )
+
+    DFA3_min = DFA.unpack(
+        u"\1\6\1\22\1\11\2\4\1\12\2\uffff\1\23\1\11\1\4"
+        )
+
+    DFA3_max = DFA.unpack(
+        u"\1\17\2\31\1\5\1\11\1\17\2\uffff\2\31\1\11"
+        )
+
+    DFA3_accept = DFA.unpack(
+        u"\6\uffff\1\1\1\2\3\uffff"
+        )
+
+    DFA3_special = DFA.unpack(
+        u"\13\uffff"
+        )
+
+
+    DFA3_transition = [
+        DFA.unpack(u"\1\1\3\uffff\6\2"),
+        DFA.unpack(u"\1\3\7\4"),
+        DFA.unpack(u"\1\5\10\uffff\1\3\7\4"),
+        DFA.unpack(u"\1\6\1\7"),
+        DFA.unpack(u"\1\6\1\7\3\uffff\1\10"),
+        DFA.unpack(u"\6\11"),
+        DFA.unpack(u""),
+        DFA.unpack(u""),
+        DFA.unpack(u"\7\12"),
+        DFA.unpack(u"\1\5\10\uffff\1\3\7\4"),
+        DFA.unpack(u"\1\6\1\7\3\uffff\1\10")
+    ]
+
+
+    DFA3 = DFA
+
 
     FOLLOW_specifictime_in_timespec44 = frozenset([1])
     FOLLOW_interval_in_timespec48 = frozenset([1])
-    FOLLOW_ordinals_in_specifictime69 = frozenset([18, 19, 20, 21, 22, 23, 24])
+    FOLLOW_ordinals_in_specifictime69 = frozenset([18, 19, 20, 21, 22, 23, 24, 25])
     FOLLOW_weekdays_in_specifictime71 = frozenset([4])
-    FOLLOW_OF_in_specifictime75 = frozenset([10, 11, 12, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38])
-    FOLLOW_monthspec_in_specifictime78 = frozenset([5])
-    FOLLOW_quarterspec_in_specifictime80 = frozenset([5])
-    FOLLOW_TIME_in_specifictime93 = frozenset([1])
-    FOLLOW_EVERY_in_interval112 = frozenset([7, 8])
-    FOLLOW_set_in_interval122 = frozenset([16, 17])
-    FOLLOW_period_in_interval138 = frozenset([1])
-    FOLLOW_EVERY_in_ordinals157 = frozenset([1])
-    FOLLOW_ordinal_in_ordinals173 = frozenset([1, 9])
-    FOLLOW_COMMA_in_ordinals176 = frozenset([10, 11, 12, 13, 14, 15])
-    FOLLOW_ordinal_in_ordinals178 = frozenset([1, 9])
-    FOLLOW_set_in_ordinal199 = frozenset([1])
-    FOLLOW_set_in_period238 = frozenset([1])
-    FOLLOW_weekday_in_weekdays261 = frozenset([1, 9])
-    FOLLOW_COMMA_in_weekdays264 = frozenset([18, 19, 20, 21, 22, 23, 24])
-    FOLLOW_weekday_in_weekdays266 = frozenset([1, 9])
-    FOLLOW_set_in_weekday285 = frozenset([1])
-    FOLLOW_MONTH_in_monthspec344 = frozenset([1])
-    FOLLOW_months_in_monthspec354 = frozenset([1])
-    FOLLOW_month_in_months371 = frozenset([1, 9])
-    FOLLOW_COMMA_in_months374 = frozenset([25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37])
-    FOLLOW_month_in_months376 = frozenset([1, 9])
-    FOLLOW_set_in_month395 = frozenset([1])
-    FOLLOW_QUARTER_in_quarterspec468 = frozenset([1])
-    FOLLOW_quarter_ordinals_in_quarterspec480 = frozenset([25])
-    FOLLOW_MONTH_in_quarterspec482 = frozenset([4])
-    FOLLOW_OF_in_quarterspec484 = frozenset([38])
-    FOLLOW_QUARTER_in_quarterspec486 = frozenset([1])
-    FOLLOW_month_of_quarter_ordinal_in_quarter_ordinals505 = frozenset([1, 9])
-    FOLLOW_COMMA_in_quarter_ordinals508 = frozenset([10, 11, 12, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38])
-    FOLLOW_month_of_quarter_ordinal_in_quarter_ordinals510 = frozenset([1, 9])
-    FOLLOW_set_in_month_of_quarter_ordinal529 = frozenset([1])
+    FOLLOW_OF_in_specifictime74 = frozenset([10, 11, 12, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39])
+    FOLLOW_monthspec_in_specifictime77 = frozenset([5])
+    FOLLOW_quarterspec_in_specifictime79 = frozenset([5])
+    FOLLOW_ordinals_in_specifictime96 = frozenset([18, 19, 20, 21, 22, 23, 24, 25])
+    FOLLOW_weekdays_in_specifictime98 = frozenset([5])
+    FOLLOW_TIME_in_specifictime112 = frozenset([1])
+    FOLLOW_EVERY_in_interval131 = frozenset([7, 8])
+    FOLLOW_set_in_interval141 = frozenset([16, 17])
+    FOLLOW_period_in_interval157 = frozenset([1])
+    FOLLOW_EVERY_in_ordinals176 = frozenset([1])
+    FOLLOW_ordinal_in_ordinals192 = frozenset([1, 9])
+    FOLLOW_COMMA_in_ordinals195 = frozenset([10, 11, 12, 13, 14, 15])
+    FOLLOW_ordinal_in_ordinals197 = frozenset([1, 9])
+    FOLLOW_set_in_ordinal218 = frozenset([1])
+    FOLLOW_set_in_period257 = frozenset([1])
+    FOLLOW_DAY_in_weekdays280 = frozenset([1])
+    FOLLOW_weekday_in_weekdays288 = frozenset([1, 9])
+    FOLLOW_COMMA_in_weekdays291 = frozenset([18, 19, 20, 21, 22, 23, 24, 25])
+    FOLLOW_weekday_in_weekdays293 = frozenset([1, 9])
+    FOLLOW_set_in_weekday314 = frozenset([1])
+    FOLLOW_MONTH_in_monthspec373 = frozenset([1])
+    FOLLOW_months_in_monthspec383 = frozenset([1])
+    FOLLOW_month_in_months400 = frozenset([1, 9])
+    FOLLOW_COMMA_in_months403 = frozenset([26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38])
+    FOLLOW_month_in_months405 = frozenset([1, 9])
+    FOLLOW_set_in_month424 = frozenset([1])
+    FOLLOW_QUARTER_in_quarterspec497 = frozenset([1])
+    FOLLOW_quarter_ordinals_in_quarterspec509 = frozenset([26])
+    FOLLOW_MONTH_in_quarterspec511 = frozenset([4])
+    FOLLOW_OF_in_quarterspec513 = frozenset([39])
+    FOLLOW_QUARTER_in_quarterspec515 = frozenset([1])
+    FOLLOW_month_of_quarter_ordinal_in_quarter_ordinals534 = frozenset([1, 9])
+    FOLLOW_COMMA_in_quarter_ordinals537 = frozenset([10, 11, 12, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39])
+    FOLLOW_month_of_quarter_ordinal_in_quarter_ordinals539 = frozenset([1, 9])
+    FOLLOW_set_in_month_of_quarter_ordinal558 = frozenset([1])