From: Derick Rethans Date: Mon, 20 Jun 2005 08:46:09 +0000 (+0000) Subject: - Implemented FR #29585 (Support week numbers in strtotime()) X-Git-Tag: php-5.1.0b2~55 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=1a4535f692c2efe91dac08f01f421564d118e9ce;p=php - Implemented FR #29585 (Support week numbers in strtotime()) --- diff --git a/ext/date/lib/parse_date.c b/ext/date/lib/parse_date.c index df9ff203e4..da9720eb1f 100644 --- a/ext/date/lib/parse_date.c +++ b/ext/date/lib/parse_date.c @@ -1,4 +1,4 @@ -/* Generated by re2c 0.9.8.dev on Fri Jun 17 14:01:33 2005 */ +/* Generated by re2c 0.9.8.dev on Mon Jun 20 10:39:30 2005 */ #line 1 "parse_date.re" /* +----------------------------------------------------------------------+ @@ -751,7 +751,7 @@ static int scan(Scanner *s) std: s->tok = cursor; s->len = 0; -#line 854 "parse_date.re" +#line 855 "parse_date.re" { @@ -863,12 +863,12 @@ yy0: yy2: YYDEBUG(2, *YYCURSOR); ++YYCURSOR; - if((yych = *YYCURSOR) == 'e') goto yy1156; + if((yych = *YYCURSOR) == 'e') goto yy1157; goto yy49; yy3: YYDEBUG(3, *YYCURSOR); -#line 1273 "parse_date.re" +#line 1293 "parse_date.re" { TIMELIB_INIT; s->time->z = timelib_get_zone((char **) &ptr, &s->time->dst, s->time); @@ -894,7 +894,7 @@ yy4: goto yy49; } else { if(yych <= 'i') goto yy474; - if(yych == 'o') goto yy1153; + if(yych == 'o') goto yy1154; goto yy49; } } @@ -923,7 +923,7 @@ yy5: } else { if(yych <= 'h') goto yy344; if(yych <= 'n') goto yy49; - goto yy1141; + goto yy1142; } } else { if(yych <= 'u'){ @@ -939,12 +939,12 @@ yy6: YYDEBUG(6, *YYCURSOR); ++YYCURSOR; if((yych = *YYCURSOR) <= '0') goto yy7; - if(yych <= '9') goto yy1138; + if(yych <= '9') goto yy1139; goto yy7; yy7: YYDEBUG(7, *YYCURSOR); -#line 1333 "parse_date.re" +#line 1353 "parse_date.re" { /* printf("unexpected character: #%d, %c\n", *s->tok, *s->tok); */ goto std; @@ -975,7 +975,7 @@ yy8: case '-': goto yy652; case '.': goto yy653; case '/': goto yy651; - case '0': goto yy1137; + case '0': goto yy1138; case '1': case '2': case '3': @@ -984,8 +984,8 @@ yy8: case '6': case '7': case '8': - case '9': goto yy1136; - case ':': goto yy1113; + case '9': goto yy1137; + case ':': goto yy1114; case 'D': case 'd': goto yy666; case 'F': case 'f': goto yy660; case 'M': case 'm': goto yy661; @@ -1019,14 +1019,14 @@ yy9: case '/': goto yy651; case '0': case '1': - case '2': goto yy1136; + case '2': goto yy1137; case '3': case '4': case '5': case '6': case '7': case '8': - case '9': goto yy1112; + case '9': goto yy1113; case ':': goto yy667; case 'D': case 'd': goto yy666; case 'F': case 'f': goto yy660; @@ -1062,13 +1062,13 @@ yy10: case '0': case '1': case '2': - case '3': goto yy1112; + case '3': goto yy1113; case '4': case '5': case '6': case '7': case '8': - case '9': goto yy1110; + case '9': goto yy1111; case ':': goto yy667; case 'D': case 'd': goto yy666; case 'F': case 'f': goto yy660; @@ -1102,7 +1102,7 @@ yy11: case '.': goto yy653; case '/': goto yy651; case '0': - case '1': goto yy1110; + case '1': goto yy1111; case '2': case '3': case '4': @@ -1683,7 +1683,7 @@ yy43: yy44: YYDEBUG(44, *YYCURSOR); -#line 1322 "parse_date.re" +#line 1342 "parse_date.re" { goto std; } @@ -1695,7 +1695,7 @@ yy45: yy46: YYDEBUG(46, *YYCURSOR); -#line 1327 "parse_date.re" +#line 1347 "parse_date.re" { s->pos = cursor; s->line++; goto std; @@ -1746,16 +1746,16 @@ yy53: YYCURSOR = YYMARKER; switch(yyaccept){ case 10: goto yy669; - case 18: goto yy1116; - case 19: goto yy1124; + case 18: goto yy1117; + case 19: goto yy1125; case 11: goto yy805; - case 16: goto yy1035; + case 16: goto yy1036; case 8: goto yy397; case 15: goto yy898; case 6: goto yy386; - case 14: goto yy930; - case 17: goto yy941; - case 13: goto yy923; + case 14: goto yy931; + case 17: goto yy942; + case 13: goto yy924; case 12: goto yy838; case 9: goto yy559; case 5: goto yy188; @@ -2053,7 +2053,7 @@ yy80: yy81: YYDEBUG(81, *YYCURSOR); -#line 1306 "parse_date.re" +#line 1326 "parse_date.re" { timelib_ull i; @@ -2691,7 +2691,7 @@ yy147: yy148: YYDEBUG(148, *YYCURSOR); -#line 1268 "parse_date.re" +#line 1288 "parse_date.re" { goto std; } @@ -2737,7 +2737,7 @@ yy154: yy155: YYDEBUG(155, *YYCURSOR); -#line 1252 "parse_date.re" +#line 1272 "parse_date.re" { const timelib_relunit* relunit; @@ -3136,7 +3136,7 @@ yy187: yy188: YYDEBUG(188, *YYCURSOR); -#line 1236 "parse_date.re" +#line 1256 "parse_date.re" { timelib_sll i; @@ -5297,7 +5297,7 @@ yy385: yy386: YYDEBUG(386, *YYCURSOR); -#line 1109 "parse_date.re" +#line 1110 "parse_date.re" { TIMELIB_INIT; TIMELIB_HAVE_DATE(); @@ -5378,7 +5378,7 @@ yy396: yy397: YYDEBUG(397, *YYCURSOR); -#line 1085 "parse_date.re" +#line 1086 "parse_date.re" { TIMELIB_INIT; TIMELIB_HAVE_DATE(); @@ -5432,7 +5432,7 @@ yy403: yy404: YYDEBUG(404, *YYCURSOR); -#line 1182 "parse_date.re" +#line 1202 "parse_date.re" { TIMELIB_INIT; TIMELIB_HAVE_DATE(); @@ -5579,7 +5579,7 @@ yy422: yy423: YYDEBUG(423, *YYCURSOR); -#line 1281 "parse_date.re" +#line 1301 "parse_date.re" { TIMELIB_INIT; TIMELIB_HAVE_DATE(); @@ -7266,7 +7266,7 @@ yy558: yy559: YYDEBUG(559, *YYCURSOR); -#line 1222 "parse_date.re" +#line 1242 "parse_date.re" { TIMELIB_INIT; s->time->relative.y = 0 - s->time->relative.y; @@ -8684,15 +8684,15 @@ yy649: case '-': case '.': goto yy654; case 'A': case 'a': goto yy662; - case 'D': case 'd': goto yy1108; - case 'F': case 'f': goto yy1105; + case 'D': case 'd': goto yy1109; + case 'F': case 'f': goto yy1106; case 'H': case 'h': goto yy68; case 'I': goto yy656; case 'J': case 'j': goto yy659; - case 'M': case 'm': goto yy1106; + case 'M': case 'm': goto yy1107; case 'N': case 'n': goto yy665; case 'O': case 'o': goto yy664; - case 'S': case 's': goto yy1107; + case 'S': case 's': goto yy1108; case 'T': case 't': goto yy73; case 'V': goto yy657; case 'W': case 'w': goto yy70; @@ -8913,7 +8913,7 @@ yy668: yy669: YYDEBUG(669, *YYCURSOR); -#line 941 "parse_date.re" +#line 942 "parse_date.re" { DEBUG_OUTPUT("timeshort24 | timelong24 | iso8601long"); TIMELIB_INIT; @@ -9061,7 +9061,7 @@ yy683: yy684: YYDEBUG(684, *YYCURSOR); -#line 926 "parse_date.re" +#line 927 "parse_date.re" { DEBUG_OUTPUT("timeshort12 | timelong12"); TIMELIB_INIT; @@ -9185,7 +9185,7 @@ yy696: yy697: YYDEBUG(697, *YYCURSOR); -#line 1061 "parse_date.re" +#line 1062 "parse_date.re" { TIMELIB_INIT; TIMELIB_HAVE_DATE(); @@ -9563,7 +9563,7 @@ yy755: yy756: YYDEBUG(756, *YYCURSOR); -#line 1073 "parse_date.re" +#line 1074 "parse_date.re" { TIMELIB_INIT; TIMELIB_HAVE_DATE(); @@ -9946,7 +9946,7 @@ yy800: yy801: YYDEBUG(801, *YYCURSOR); -#line 1049 "parse_date.re" +#line 1050 "parse_date.re" { TIMELIB_INIT; TIMELIB_HAVE_DATE(); @@ -9979,7 +9979,7 @@ yy804: yy805: YYDEBUG(805, *YYCURSOR); -#line 1024 "parse_date.re" +#line 1025 "parse_date.re" { TIMELIB_INIT; TIMELIB_HAVE_DATE(); @@ -10214,7 +10214,7 @@ yy837: yy838: YYDEBUG(838, *YYCURSOR); -#line 1206 "parse_date.re" +#line 1226 "parse_date.re" { TIMELIB_INIT; TIMELIB_HAVE_TIME(); @@ -10541,7 +10541,7 @@ yy877: yy878: YYDEBUG(878, *YYCURSOR); -#line 1194 "parse_date.re" +#line 1214 "parse_date.re" { TIMELIB_INIT; TIMELIB_HAVE_DATE(); @@ -10669,8 +10669,8 @@ yy890: yych = *++YYCURSOR; YYDEBUG(-1, yych); switch(yych){ - case '0': goto yy1045; - case '1': goto yy1046; + case '0': goto yy1046; + case '1': goto yy1047; case '2': case '3': case '4': @@ -10679,22 +10679,22 @@ yy890: case '7': case '8': case '9': goto yy762; - case 'A': case 'a': goto yy1040; - case 'D': case 'd': goto yy1044; - case 'F': case 'f': goto yy1038; - case 'J': case 'j': goto yy1037; - case 'M': case 'm': goto yy1039; - case 'N': case 'n': goto yy1043; - case 'O': case 'o': goto yy1042; - case 'S': case 's': goto yy1041; + case 'A': case 'a': goto yy1041; + case 'D': case 'd': goto yy1045; + case 'F': case 'f': goto yy1039; + case 'J': case 'j': goto yy1038; + case 'M': case 'm': goto yy1040; + case 'N': case 'n': goto yy1044; + case 'O': case 'o': goto yy1043; + case 'S': case 's': goto yy1042; default: goto yy895; } yy891: YYDEBUG(891, *YYCURSOR); yych = *++YYCURSOR; if(yych <= '/') goto yy53; - if(yych <= '0') goto yy1027; - if(yych <= '1') goto yy1028; + if(yych <= '0') goto yy1028; + if(yych <= '1') goto yy1029; goto yy53; yy892: YYDEBUG(892, *YYCURSOR); @@ -10722,15 +10722,15 @@ yy893: case '-': case '.': goto yy894; case 'A': case 'a': goto yy904; - case 'D': case 'd': goto yy1024; - case 'F': case 'f': goto yy1025; + case 'D': case 'd': goto yy1025; + case 'F': case 'f': goto yy1026; case 'H': case 'h': goto yy68; case 'I': goto yy897; case 'J': case 'j': goto yy901; - case 'M': case 'm': goto yy1023; + case 'M': case 'm': goto yy1024; case 'N': case 'n': goto yy907; case 'O': case 'o': goto yy906; - case 'S': case 's': goto yy1022; + case 'S': case 's': goto yy1023; case 'T': case 't': goto yy73; case 'V': goto yy899; case 'W': case 'w': goto yy70; @@ -10780,25 +10780,25 @@ yy896: YYDEBUG(896, *YYCURSOR); yych = *++YYCURSOR; if(yych <= '/') goto yy895; - if(yych <= '0') goto yy1013; - if(yych <= '2') goto yy1014; - if(yych <= '3') goto yy1015; + if(yych <= '0') goto yy1014; + if(yych <= '2') goto yy1015; + if(yych <= '3') goto yy1016; goto yy895; yy897: YYDEBUG(897, *YYCURSOR); ++YYCURSOR; if((yych = *YYCURSOR) <= 'U'){ - if(yych == 'I') goto yy1012; + if(yych == 'I') goto yy1013; goto yy898; } else { if(yych == 'W') goto yy898; - if(yych <= 'X') goto yy966; + if(yych <= 'X') goto yy967; goto yy898; } yy898: YYDEBUG(898, *YYCURSOR); -#line 1097 "parse_date.re" +#line 1098 "parse_date.re" { TIMELIB_INIT; TIMELIB_HAVE_DATE(); @@ -10813,80 +10813,80 @@ yy898: yy899: YYDEBUG(899, *YYCURSOR); yych = *++YYCURSOR; - if(yych == 'I') goto yy1010; + if(yych == 'I') goto yy1011; goto yy898; yy900: YYDEBUG(900, *YYCURSOR); yych = *++YYCURSOR; - if(yych == 'I') goto yy1009; + if(yych == 'I') goto yy1010; goto yy898; yy901: YYDEBUG(901, *YYCURSOR); yych = *++YYCURSOR; if(yych <= 'U'){ - if(yych == 'A') goto yy1002; + if(yych == 'A') goto yy1003; if(yych <= 'T') goto yy53; - goto yy1001; + goto yy1002; } else { if(yych <= 'a'){ if(yych <= '`') goto yy53; - goto yy1002; + goto yy1003; } else { - if(yych == 'u') goto yy1001; + if(yych == 'u') goto yy1002; goto yy53; } } yy902: YYDEBUG(902, *YYCURSOR); yych = *++YYCURSOR; - if(yych == 'E') goto yy995; - if(yych == 'e') goto yy995; + if(yych == 'E') goto yy996; + if(yych == 'e') goto yy996; goto yy53; yy903: YYDEBUG(903, *YYCURSOR); yych = *++YYCURSOR; - if(yych == 'A') goto yy992; - if(yych == 'a') goto yy992; + if(yych == 'A') goto yy993; + if(yych == 'a') goto yy993; goto yy53; yy904: YYDEBUG(904, *YYCURSOR); yych = *++YYCURSOR; if(yych <= 'U'){ - if(yych == 'P') goto yy986; + if(yych == 'P') goto yy987; if(yych <= 'T') goto yy53; - goto yy985; + goto yy986; } else { if(yych <= 'p'){ if(yych <= 'o') goto yy53; - goto yy986; + goto yy987; } else { - if(yych == 'u') goto yy985; + if(yych == 'u') goto yy986; goto yy53; } } yy905: YYDEBUG(905, *YYCURSOR); yych = *++YYCURSOR; - if(yych == 'E') goto yy978; - if(yych == 'e') goto yy978; + if(yych == 'E') goto yy979; + if(yych == 'e') goto yy979; goto yy53; yy906: YYDEBUG(906, *YYCURSOR); yych = *++YYCURSOR; - if(yych == 'C') goto yy973; - if(yych == 'c') goto yy973; + if(yych == 'C') goto yy974; + if(yych == 'c') goto yy974; goto yy53; yy907: YYDEBUG(907, *YYCURSOR); yych = *++YYCURSOR; - if(yych == 'O') goto yy967; - if(yych == 'o') goto yy967; + if(yych == 'O') goto yy968; + if(yych == 'o') goto yy968; goto yy53; yy908: YYDEBUG(908, *YYCURSOR); yych = *++YYCURSOR; - if(yych == 'E') goto yy960; - if(yych == 'e') goto yy960; + if(yych == 'E') goto yy961; + if(yych == 'e') goto yy961; goto yy53; yy909: YYDEBUG(909, *YYCURSOR); @@ -10895,8 +10895,8 @@ yy909: goto yy62; } if(yych <= '/') goto yy53; - if(yych <= '0') goto yy958; - if(yych <= '9') goto yy959; + if(yych <= '0') goto yy959; + if(yych <= '9') goto yy960; goto yy53; yy910: YYDEBUG(910, *YYCURSOR); @@ -10905,8 +10905,8 @@ yy910: goto yy62; } if(yych <= '/') goto yy53; - if(yych <= '2') goto yy925; - if(yych <= '9') goto yy924; + if(yych <= '2') goto yy926; + if(yych <= '9') goto yy925; goto yy53; yy911: YYDEBUG(911, *YYCURSOR); @@ -10915,7 +10915,7 @@ yy911: goto yy62; } if(yych <= '/') goto yy53; - if(yych <= '9') goto yy924; + if(yych <= '9') goto yy925; goto yy53; yy912: YYDEBUG(912, *YYCURSOR); @@ -10924,8 +10924,8 @@ yy912: goto yy62; } if(yych <= '/') goto yy53; - if(yych <= '5') goto yy920; - if(yych <= '6') goto yy921; + if(yych <= '5') goto yy921; + if(yych <= '6') goto yy922; if(yych <= '9') goto yy64; goto yy53; yy913: @@ -10956,18 +10956,40 @@ yy916: goto yy917; yy917: YYDEBUG(917, *YYCURSOR); - yych = *++YYCURSOR; - if(yych <= '/') goto yy53; - if(yych >= '8') goto yy53; + ++YYCURSOR; + if((yych = *YYCURSOR) <= '/') goto yy918; + if(yych <= '7') goto yy919; goto yy918; yy918: YYDEBUG(918, *YYCURSOR); - ++YYCURSOR; - goto yy919; + +#line 1183 "parse_date.re" +{ + timelib_sll w, d; + + TIMELIB_INIT; + TIMELIB_HAVE_DATE(); + TIMELIB_HAVE_RELATIVE(); + + s->time->y = timelib_get_nr((char **) &ptr, 4); + w = timelib_get_nr((char **) &ptr, 2); + d = 1; + s->time->m = 1; + s->time->d = 1; + s->time->relative.d = timelib_daynr_from_weeknr(s->time->y, w, d); + + TIMELIB_DEINIT; + return TIMELIB_ISO_WEEK; + } +#line 9127 "" yy919: YYDEBUG(919, *YYCURSOR); + ++YYCURSOR; + goto yy920; +yy920: + YYDEBUG(920, *YYCURSOR); -#line 1163 "parse_date.re" +#line 1164 "parse_date.re" { timelib_sll w, d; @@ -10985,40 +11007,40 @@ yy919: TIMELIB_DEINIT; return TIMELIB_ISO_WEEK; } -#line 9129 "" -yy920: - YYDEBUG(920, *YYCURSOR); +#line 9149 "" +yy921: + YYDEBUG(921, *YYCURSOR); yych = *++YYCURSOR; if(yybm[0+yych] & 16) { goto yy62; } if(yych <= '/') goto yy53; - if(yych <= '9') goto yy922; + if(yych <= '9') goto yy923; goto yy53; -yy921: - YYDEBUG(921, *YYCURSOR); +yy922: + YYDEBUG(922, *YYCURSOR); yych = *++YYCURSOR; if(yybm[0+yych] & 16) { goto yy62; } if(yych <= '/') goto yy53; - if(yych <= '6') goto yy922; + if(yych <= '6') goto yy923; if(yych <= '9') goto yy64; goto yy53; -yy922: - YYDEBUG(922, *YYCURSOR); +yy923: + YYDEBUG(923, *YYCURSOR); yyaccept = 13; yych = *(YYMARKER = ++YYCURSOR); if(yybm[0+yych] & 16) { goto yy62; } - if(yych <= '/') goto yy923; + if(yych <= '/') goto yy924; if(yych <= '9') goto yy64; - goto yy923; -yy923: - YYDEBUG(923, *YYCURSOR); + goto yy924; +yy924: + YYDEBUG(924, *YYCURSOR); -#line 1151 "parse_date.re" +#line 1152 "parse_date.re" { TIMELIB_INIT; TIMELIB_HAVE_DATE(); @@ -11029,83 +11051,83 @@ yy923: TIMELIB_DEINIT; return TIMELIB_PG_YEARDAY; } -#line 9165 "" -yy924: - YYDEBUG(924, *YYCURSOR); +#line 9185 "" +yy925: + YYDEBUG(925, *YYCURSOR); yych = *++YYCURSOR; if(yybm[0+yych] & 16) { goto yy62; } if(yych <= '/') goto yy53; - if(yych <= '9') goto yy922; + if(yych <= '9') goto yy923; goto yy53; -yy925: - YYDEBUG(925, *YYCURSOR); +yy926: + YYDEBUG(926, *YYCURSOR); yych = *++YYCURSOR; if(yybm[0+yych] & 16) { goto yy62; } if(yych <= '2'){ if(yych <= '/') goto yy53; - if(yych >= '1') goto yy927; - goto yy926; + if(yych >= '1') goto yy928; + goto yy927; } else { - if(yych <= '3') goto yy928; - if(yych <= '9') goto yy922; + if(yych <= '3') goto yy929; + if(yych <= '9') goto yy923; goto yy53; } -yy926: - YYDEBUG(926, *YYCURSOR); +yy927: + YYDEBUG(927, *YYCURSOR); yyaccept = 13; yych = *(YYMARKER = ++YYCURSOR); if(yybm[0+yych] & 16) { goto yy62; } - if(yych <= '/') goto yy923; + if(yych <= '/') goto yy924; if(yych <= '0') goto yy64; - if(yych <= '9') goto yy929; - goto yy923; -yy927: - YYDEBUG(927, *YYCURSOR); + if(yych <= '9') goto yy930; + goto yy924; +yy928: + YYDEBUG(928, *YYCURSOR); yyaccept = 13; yych = *(YYMARKER = ++YYCURSOR); if(yybm[0+yych] & 16) { goto yy62; } - if(yych <= '/') goto yy923; - if(yych <= '9') goto yy929; - goto yy923; -yy928: - YYDEBUG(928, *YYCURSOR); + if(yych <= '/') goto yy924; + if(yych <= '9') goto yy930; + goto yy924; +yy929: + YYDEBUG(929, *YYCURSOR); yyaccept = 13; yych = *(YYMARKER = ++YYCURSOR); if(yybm[0+yych] & 16) { goto yy62; } - if(yych <= '/') goto yy923; - if(yych <= '1') goto yy929; + if(yych <= '/') goto yy924; + if(yych <= '1') goto yy930; if(yych <= '9') goto yy64; - goto yy923; -yy929: - YYDEBUG(929, *YYCURSOR); + goto yy924; +yy930: + YYDEBUG(930, *YYCURSOR); yyaccept = 14; yych = *(YYMARKER = ++YYCURSOR); if(yybm[0+yych] & 16) { goto yy62; } if(yych <= 'S'){ - if(yych <= '/') goto yy930; + if(yych <= '/') goto yy931; if(yych <= '9') goto yy64; - goto yy930; + goto yy931; } else { - if(yych <= 'T') goto yy931; - if(yych == 't') goto yy932; - goto yy930; + if(yych <= 'T') goto yy932; + if(yych == 't') goto yy933; + goto yy931; } -yy930: - YYDEBUG(930, *YYCURSOR); +yy931: + YYDEBUG(931, *YYCURSOR); -#line 1121 "parse_date.re" +#line 1122 "parse_date.re" { TIMELIB_INIT; TIMELIB_HAVE_DATE(); @@ -11115,75 +11137,75 @@ yy930: TIMELIB_DEINIT; return TIMELIB_DATE_NOCOLON; } -#line 9237 "" -yy931: - YYDEBUG(931, *YYCURSOR); - yych = *++YYCURSOR; - if(yych <= '/') goto yy53; - if(yych <= '1') goto yy948; - if(yych <= '2') goto yy949; - if(yych <= '9') goto yy950; - goto yy53; +#line 9257 "" yy932: YYDEBUG(932, *YYCURSOR); yych = *++YYCURSOR; if(yych <= '/') goto yy53; - if(yych <= '1') goto yy933; - if(yych <= '2') goto yy934; - if(yych <= '9') goto yy935; + if(yych <= '1') goto yy949; + if(yych <= '2') goto yy950; + if(yych <= '9') goto yy951; goto yy53; yy933: YYDEBUG(933, *YYCURSOR); yych = *++YYCURSOR; if(yych <= '/') goto yy53; - if(yych <= '5') goto yy942; - if(yych <= '9') goto yy935; + if(yych <= '1') goto yy934; + if(yych <= '2') goto yy935; + if(yych <= '9') goto yy936; goto yy53; yy934: YYDEBUG(934, *YYCURSOR); yych = *++YYCURSOR; if(yych <= '/') goto yy53; - if(yych <= '3') goto yy942; - if(yych <= '5') goto yy936; + if(yych <= '5') goto yy943; + if(yych <= '9') goto yy936; goto yy53; yy935: YYDEBUG(935, *YYCURSOR); yych = *++YYCURSOR; if(yych <= '/') goto yy53; - if(yych >= '6') goto yy53; - goto yy936; + if(yych <= '3') goto yy943; + if(yych <= '5') goto yy937; + goto yy53; yy936: YYDEBUG(936, *YYCURSOR); yych = *++YYCURSOR; if(yych <= '/') goto yy53; - if(yych >= ':') goto yy53; + if(yych >= '6') goto yy53; goto yy937; yy937: YYDEBUG(937, *YYCURSOR); yych = *++YYCURSOR; if(yych <= '/') goto yy53; - if(yych <= '5') goto yy938; - if(yych <= '6') goto yy939; - goto yy53; + if(yych >= ':') goto yy53; + goto yy938; yy938: YYDEBUG(938, *YYCURSOR); yych = *++YYCURSOR; if(yych <= '/') goto yy53; - if(yych <= '9') goto yy940; + if(yych <= '5') goto yy939; + if(yych <= '6') goto yy940; goto yy53; yy939: YYDEBUG(939, *YYCURSOR); yych = *++YYCURSOR; - if(yych != '0') goto yy53; - goto yy940; + if(yych <= '/') goto yy53; + if(yych <= '9') goto yy941; + goto yy53; yy940: YYDEBUG(940, *YYCURSOR); - ++YYCURSOR; + yych = *++YYCURSOR; + if(yych != '0') goto yy53; goto yy941; yy941: YYDEBUG(941, *YYCURSOR); + ++YYCURSOR; + goto yy942; +yy942: + YYDEBUG(942, *YYCURSOR); -#line 1132 "parse_date.re" +#line 1133 "parse_date.re" { TIMELIB_INIT; TIMELIB_HAVE_TIME(); @@ -11201,547 +11223,547 @@ yy941: TIMELIB_DEINIT; return TIMELIB_XMLRPC_SOAP; } -#line 9301 "" -yy942: - YYDEBUG(942, *YYCURSOR); - yych = *++YYCURSOR; - if(yych <= '/') goto yy53; - if(yych <= '5') goto yy943; - if(yych <= '9') goto yy937; - goto yy53; +#line 9321 "" yy943: YYDEBUG(943, *YYCURSOR); yych = *++YYCURSOR; if(yych <= '/') goto yy53; if(yych <= '5') goto yy944; - if(yych <= '6') goto yy945; - if(yych <= '9') goto yy937; + if(yych <= '9') goto yy938; goto yy53; yy944: YYDEBUG(944, *YYCURSOR); yych = *++YYCURSOR; if(yych <= '/') goto yy53; - if(yych <= '5') goto yy946; - if(yych <= '6') goto yy947; - if(yych <= '9') goto yy940; + if(yych <= '5') goto yy945; + if(yych <= '6') goto yy946; + if(yych <= '9') goto yy938; goto yy53; yy945: YYDEBUG(945, *YYCURSOR); yych = *++YYCURSOR; if(yych <= '/') goto yy53; - if(yych <= '0') goto yy946; - if(yych <= '5') goto yy938; - if(yych <= '6') goto yy939; + if(yych <= '5') goto yy947; + if(yych <= '6') goto yy948; + if(yych <= '9') goto yy941; goto yy53; yy946: YYDEBUG(946, *YYCURSOR); yych = *++YYCURSOR; - if(yych <= '/') goto yy941; - if(yych <= '9') goto yy940; - goto yy941; + if(yych <= '/') goto yy53; + if(yych <= '0') goto yy947; + if(yych <= '5') goto yy939; + if(yych <= '6') goto yy940; + goto yy53; yy947: YYDEBUG(947, *YYCURSOR); yych = *++YYCURSOR; - if(yych == '0') goto yy940; - goto yy941; + if(yych <= '/') goto yy942; + if(yych <= '9') goto yy941; + goto yy942; yy948: YYDEBUG(948, *YYCURSOR); yych = *++YYCURSOR; - if(yych <= '/') goto yy53; - if(yych <= '5') goto yy957; - if(yych <= '9') goto yy950; - if(yych <= ':') goto yy951; - goto yy53; + if(yych == '0') goto yy941; + goto yy942; yy949: YYDEBUG(949, *YYCURSOR); yych = *++YYCURSOR; + if(yych <= '/') goto yy53; + if(yych <= '5') goto yy958; + if(yych <= '9') goto yy951; + if(yych <= ':') goto yy952; + goto yy53; +yy950: + YYDEBUG(950, *YYCURSOR); + yych = *++YYCURSOR; if(yych <= '5'){ if(yych <= '/') goto yy53; - if(yych <= '3') goto yy957; - goto yy936; + if(yych <= '3') goto yy958; + goto yy937; } else { - if(yych == ':') goto yy951; + if(yych == ':') goto yy952; goto yy53; } -yy950: - YYDEBUG(950, *YYCURSOR); - yych = *++YYCURSOR; - if(yych <= '/') goto yy53; - if(yych <= '5') goto yy936; - if(yych != ':') goto yy53; - goto yy951; yy951: YYDEBUG(951, *YYCURSOR); yych = *++YYCURSOR; if(yych <= '/') goto yy53; - if(yych >= '6') goto yy53; + if(yych <= '5') goto yy937; + if(yych != ':') goto yy53; goto yy952; yy952: YYDEBUG(952, *YYCURSOR); yych = *++YYCURSOR; if(yych <= '/') goto yy53; - if(yych >= ':') goto yy53; + if(yych >= '6') goto yy53; goto yy953; yy953: YYDEBUG(953, *YYCURSOR); yych = *++YYCURSOR; - if(yych != ':') goto yy53; + if(yych <= '/') goto yy53; + if(yych >= ':') goto yy53; goto yy954; yy954: YYDEBUG(954, *YYCURSOR); yych = *++YYCURSOR; - if(yych <= '/') goto yy53; - if(yych <= '5') goto yy955; - if(yych <= '6') goto yy956; - goto yy53; + if(yych != ':') goto yy53; + goto yy955; yy955: YYDEBUG(955, *YYCURSOR); yych = *++YYCURSOR; if(yych <= '/') goto yy53; - if(yych <= '9') goto yy940; + if(yych <= '5') goto yy956; + if(yych <= '6') goto yy957; goto yy53; yy956: YYDEBUG(956, *YYCURSOR); yych = *++YYCURSOR; - if(yych == '0') goto yy940; + if(yych <= '/') goto yy53; + if(yych <= '9') goto yy941; goto yy53; yy957: YYDEBUG(957, *YYCURSOR); yych = *++YYCURSOR; - if(yych <= '/') goto yy53; - if(yych <= '5') goto yy943; - if(yych <= '9') goto yy937; - if(yych <= ':') goto yy951; + if(yych == '0') goto yy941; goto yy53; yy958: YYDEBUG(958, *YYCURSOR); yych = *++YYCURSOR; + if(yych <= '/') goto yy53; + if(yych <= '5') goto yy944; + if(yych <= '9') goto yy938; + if(yych <= ':') goto yy952; + goto yy53; +yy959: + YYDEBUG(959, *YYCURSOR); + yych = *++YYCURSOR; if(yybm[0+yych] & 16) { goto yy62; } if(yych <= '/') goto yy53; if(yych <= '0') goto yy64; - if(yych <= '9') goto yy922; + if(yych <= '9') goto yy923; goto yy53; -yy959: - YYDEBUG(959, *YYCURSOR); +yy960: + YYDEBUG(960, *YYCURSOR); yych = *++YYCURSOR; if(yybm[0+yych] & 16) { goto yy62; } if(yych <= '2'){ if(yych <= '/') goto yy53; - if(yych <= '0') goto yy926; - goto yy927; + if(yych <= '0') goto yy927; + goto yy928; } else { - if(yych <= '3') goto yy928; - if(yych <= '9') goto yy922; + if(yych <= '3') goto yy929; + if(yych <= '9') goto yy923; goto yy53; } -yy960: - YYDEBUG(960, *YYCURSOR); - yych = *++YYCURSOR; - if(yych == 'C') goto yy961; - if(yych != 'c') goto yy53; - goto yy961; yy961: YYDEBUG(961, *YYCURSOR); - yyaccept = 15; - yych = *(YYMARKER = ++YYCURSOR); - if(yych == 'E') goto yy962; - if(yych != 'e') goto yy898; + yych = *++YYCURSOR; + if(yych == 'C') goto yy962; + if(yych != 'c') goto yy53; goto yy962; yy962: YYDEBUG(962, *YYCURSOR); - yych = *++YYCURSOR; - if(yych == 'M') goto yy963; - if(yych != 'm') goto yy53; + yyaccept = 15; + yych = *(YYMARKER = ++YYCURSOR); + if(yych == 'E') goto yy963; + if(yych != 'e') goto yy898; goto yy963; yy963: YYDEBUG(963, *YYCURSOR); yych = *++YYCURSOR; - if(yych == 'B') goto yy964; - if(yych != 'b') goto yy53; + if(yych == 'M') goto yy964; + if(yych != 'm') goto yy53; goto yy964; yy964: YYDEBUG(964, *YYCURSOR); yych = *++YYCURSOR; - if(yych == 'E') goto yy965; - if(yych != 'e') goto yy53; + if(yych == 'B') goto yy965; + if(yych != 'b') goto yy53; goto yy965; yy965: YYDEBUG(965, *YYCURSOR); yych = *++YYCURSOR; - if(yych == 'R') goto yy966; - if(yych != 'r') goto yy53; + if(yych == 'E') goto yy966; + if(yych != 'e') goto yy53; goto yy966; yy966: YYDEBUG(966, *YYCURSOR); yych = *++YYCURSOR; - goto yy898; + if(yych == 'R') goto yy967; + if(yych != 'r') goto yy53; + goto yy967; yy967: YYDEBUG(967, *YYCURSOR); yych = *++YYCURSOR; - if(yych == 'V') goto yy968; - if(yych != 'v') goto yy53; - goto yy968; + goto yy898; yy968: YYDEBUG(968, *YYCURSOR); - yyaccept = 15; - yych = *(YYMARKER = ++YYCURSOR); - if(yych == 'E') goto yy969; - if(yych != 'e') goto yy898; + yych = *++YYCURSOR; + if(yych == 'V') goto yy969; + if(yych != 'v') goto yy53; goto yy969; yy969: YYDEBUG(969, *YYCURSOR); - yych = *++YYCURSOR; - if(yych == 'M') goto yy970; - if(yych != 'm') goto yy53; + yyaccept = 15; + yych = *(YYMARKER = ++YYCURSOR); + if(yych == 'E') goto yy970; + if(yych != 'e') goto yy898; goto yy970; yy970: YYDEBUG(970, *YYCURSOR); yych = *++YYCURSOR; - if(yych == 'B') goto yy971; - if(yych != 'b') goto yy53; + if(yych == 'M') goto yy971; + if(yych != 'm') goto yy53; goto yy971; yy971: YYDEBUG(971, *YYCURSOR); yych = *++YYCURSOR; - if(yych == 'E') goto yy972; - if(yych != 'e') goto yy53; + if(yych == 'B') goto yy972; + if(yych != 'b') goto yy53; goto yy972; yy972: YYDEBUG(972, *YYCURSOR); yych = *++YYCURSOR; - if(yych == 'R') goto yy966; - if(yych == 'r') goto yy966; - goto yy53; + if(yych == 'E') goto yy973; + if(yych != 'e') goto yy53; + goto yy973; yy973: YYDEBUG(973, *YYCURSOR); yych = *++YYCURSOR; - if(yych == 'T') goto yy974; - if(yych != 't') goto yy53; - goto yy974; + if(yych == 'R') goto yy967; + if(yych == 'r') goto yy967; + goto yy53; yy974: YYDEBUG(974, *YYCURSOR); - yyaccept = 15; - yych = *(YYMARKER = ++YYCURSOR); - if(yych == 'O') goto yy975; - if(yych != 'o') goto yy898; + yych = *++YYCURSOR; + if(yych == 'T') goto yy975; + if(yych != 't') goto yy53; goto yy975; yy975: YYDEBUG(975, *YYCURSOR); - yych = *++YYCURSOR; - if(yych == 'B') goto yy976; - if(yych != 'b') goto yy53; + yyaccept = 15; + yych = *(YYMARKER = ++YYCURSOR); + if(yych == 'O') goto yy976; + if(yych != 'o') goto yy898; goto yy976; yy976: YYDEBUG(976, *YYCURSOR); yych = *++YYCURSOR; - if(yych == 'E') goto yy977; - if(yych != 'e') goto yy53; + if(yych == 'B') goto yy977; + if(yych != 'b') goto yy53; goto yy977; yy977: YYDEBUG(977, *YYCURSOR); yych = *++YYCURSOR; - if(yych == 'R') goto yy966; - if(yych == 'r') goto yy966; - goto yy53; + if(yych == 'E') goto yy978; + if(yych != 'e') goto yy53; + goto yy978; yy978: YYDEBUG(978, *YYCURSOR); yych = *++YYCURSOR; - if(yych == 'P') goto yy979; - if(yych != 'p') goto yy53; - goto yy979; + if(yych == 'R') goto yy967; + if(yych == 'r') goto yy967; + goto yy53; yy979: YYDEBUG(979, *YYCURSOR); yych = *++YYCURSOR; - if(yych == 'T') goto yy980; - if(yych != 't') goto yy898; + if(yych == 'P') goto yy980; + if(yych != 'p') goto yy53; goto yy980; yy980: YYDEBUG(980, *YYCURSOR); - yyaccept = 15; - yych = *(YYMARKER = ++YYCURSOR); - if(yych == 'E') goto yy981; - if(yych != 'e') goto yy898; + yych = *++YYCURSOR; + if(yych == 'T') goto yy981; + if(yych != 't') goto yy898; goto yy981; yy981: YYDEBUG(981, *YYCURSOR); - yych = *++YYCURSOR; - if(yych == 'M') goto yy982; - if(yych != 'm') goto yy53; + yyaccept = 15; + yych = *(YYMARKER = ++YYCURSOR); + if(yych == 'E') goto yy982; + if(yych != 'e') goto yy898; goto yy982; yy982: YYDEBUG(982, *YYCURSOR); yych = *++YYCURSOR; - if(yych == 'B') goto yy983; - if(yych != 'b') goto yy53; + if(yych == 'M') goto yy983; + if(yych != 'm') goto yy53; goto yy983; yy983: YYDEBUG(983, *YYCURSOR); yych = *++YYCURSOR; - if(yych == 'E') goto yy984; - if(yych != 'e') goto yy53; + if(yych == 'B') goto yy984; + if(yych != 'b') goto yy53; goto yy984; yy984: YYDEBUG(984, *YYCURSOR); yych = *++YYCURSOR; - if(yych == 'R') goto yy966; - if(yych == 'r') goto yy966; - goto yy53; + if(yych == 'E') goto yy985; + if(yych != 'e') goto yy53; + goto yy985; yy985: YYDEBUG(985, *YYCURSOR); yych = *++YYCURSOR; - if(yych == 'G') goto yy989; - if(yych == 'g') goto yy989; + if(yych == 'R') goto yy967; + if(yych == 'r') goto yy967; goto yy53; yy986: YYDEBUG(986, *YYCURSOR); yych = *++YYCURSOR; - if(yych == 'R') goto yy987; - if(yych != 'r') goto yy53; - goto yy987; + if(yych == 'G') goto yy990; + if(yych == 'g') goto yy990; + goto yy53; yy987: YYDEBUG(987, *YYCURSOR); - yyaccept = 15; - yych = *(YYMARKER = ++YYCURSOR); - if(yych == 'I') goto yy988; - if(yych != 'i') goto yy898; + yych = *++YYCURSOR; + if(yych == 'R') goto yy988; + if(yych != 'r') goto yy53; goto yy988; yy988: YYDEBUG(988, *YYCURSOR); - yych = *++YYCURSOR; - if(yych == 'L') goto yy966; - if(yych == 'l') goto yy966; - goto yy53; + yyaccept = 15; + yych = *(YYMARKER = ++YYCURSOR); + if(yych == 'I') goto yy989; + if(yych != 'i') goto yy898; + goto yy989; yy989: YYDEBUG(989, *YYCURSOR); + yych = *++YYCURSOR; + if(yych == 'L') goto yy967; + if(yych == 'l') goto yy967; + goto yy53; +yy990: + YYDEBUG(990, *YYCURSOR); yyaccept = 15; yych = *(YYMARKER = ++YYCURSOR); - if(yych == 'U') goto yy990; + if(yych == 'U') goto yy991; if(yych != 'u') goto yy898; - goto yy990; -yy990: - YYDEBUG(990, *YYCURSOR); - yych = *++YYCURSOR; - if(yych == 'S') goto yy991; - if(yych != 's') goto yy53; goto yy991; yy991: YYDEBUG(991, *YYCURSOR); yych = *++YYCURSOR; - if(yych == 'T') goto yy966; - if(yych == 't') goto yy966; - goto yy53; + if(yych == 'S') goto yy992; + if(yych != 's') goto yy53; + goto yy992; yy992: YYDEBUG(992, *YYCURSOR); yych = *++YYCURSOR; + if(yych == 'T') goto yy967; + if(yych == 't') goto yy967; + goto yy53; +yy993: + YYDEBUG(993, *YYCURSOR); + yych = *++YYCURSOR; if(yych <= 'Y'){ - if(yych == 'R') goto yy993; + if(yych == 'R') goto yy994; if(yych <= 'X') goto yy53; - goto yy966; + goto yy967; } else { if(yych <= 'r'){ if(yych <= 'q') goto yy53; - goto yy993; + goto yy994; } else { - if(yych == 'y') goto yy966; + if(yych == 'y') goto yy967; goto yy53; } } -yy993: - YYDEBUG(993, *YYCURSOR); +yy994: + YYDEBUG(994, *YYCURSOR); yyaccept = 15; yych = *(YYMARKER = ++YYCURSOR); - if(yych == 'C') goto yy994; + if(yych == 'C') goto yy995; if(yych != 'c') goto yy898; - goto yy994; -yy994: - YYDEBUG(994, *YYCURSOR); - yych = *++YYCURSOR; - if(yych == 'H') goto yy966; - if(yych == 'h') goto yy966; - goto yy53; + goto yy995; yy995: YYDEBUG(995, *YYCURSOR); yych = *++YYCURSOR; - if(yych == 'B') goto yy996; - if(yych != 'b') goto yy53; - goto yy996; + if(yych == 'H') goto yy967; + if(yych == 'h') goto yy967; + goto yy53; yy996: YYDEBUG(996, *YYCURSOR); - yyaccept = 15; - yych = *(YYMARKER = ++YYCURSOR); - if(yych == 'R') goto yy997; - if(yych != 'r') goto yy898; + yych = *++YYCURSOR; + if(yych == 'B') goto yy997; + if(yych != 'b') goto yy53; goto yy997; yy997: YYDEBUG(997, *YYCURSOR); - yych = *++YYCURSOR; - if(yych == 'U') goto yy998; - if(yych != 'u') goto yy53; + yyaccept = 15; + yych = *(YYMARKER = ++YYCURSOR); + if(yych == 'R') goto yy998; + if(yych != 'r') goto yy898; goto yy998; yy998: YYDEBUG(998, *YYCURSOR); yych = *++YYCURSOR; - if(yych == 'A') goto yy999; - if(yych != 'a') goto yy53; + if(yych == 'U') goto yy999; + if(yych != 'u') goto yy53; goto yy999; yy999: YYDEBUG(999, *YYCURSOR); yych = *++YYCURSOR; - if(yych == 'R') goto yy1000; - if(yych != 'r') goto yy53; + if(yych == 'A') goto yy1000; + if(yych != 'a') goto yy53; goto yy1000; yy1000: YYDEBUG(1000, *YYCURSOR); yych = *++YYCURSOR; - if(yych == 'Y') goto yy966; - if(yych == 'y') goto yy966; - goto yy53; + if(yych == 'R') goto yy1001; + if(yych != 'r') goto yy53; + goto yy1001; yy1001: YYDEBUG(1001, *YYCURSOR); yych = *++YYCURSOR; + if(yych == 'Y') goto yy967; + if(yych == 'y') goto yy967; + goto yy53; +yy1002: + YYDEBUG(1002, *YYCURSOR); + yych = *++YYCURSOR; if(yych <= 'N'){ - if(yych == 'L') goto yy1008; + if(yych == 'L') goto yy1009; if(yych <= 'M') goto yy53; - goto yy1007; + goto yy1008; } else { if(yych <= 'l'){ if(yych <= 'k') goto yy53; - goto yy1008; + goto yy1009; } else { - if(yych == 'n') goto yy1007; + if(yych == 'n') goto yy1008; goto yy53; } } -yy1002: - YYDEBUG(1002, *YYCURSOR); - yych = *++YYCURSOR; - if(yych == 'N') goto yy1003; - if(yych != 'n') goto yy53; - goto yy1003; yy1003: YYDEBUG(1003, *YYCURSOR); - yyaccept = 15; - yych = *(YYMARKER = ++YYCURSOR); - if(yych == 'U') goto yy1004; - if(yych != 'u') goto yy898; + yych = *++YYCURSOR; + if(yych == 'N') goto yy1004; + if(yych != 'n') goto yy53; goto yy1004; yy1004: YYDEBUG(1004, *YYCURSOR); - yych = *++YYCURSOR; - if(yych == 'A') goto yy1005; - if(yych != 'a') goto yy53; + yyaccept = 15; + yych = *(YYMARKER = ++YYCURSOR); + if(yych == 'U') goto yy1005; + if(yych != 'u') goto yy898; goto yy1005; yy1005: YYDEBUG(1005, *YYCURSOR); yych = *++YYCURSOR; - if(yych == 'R') goto yy1006; - if(yych != 'r') goto yy53; + if(yych == 'A') goto yy1006; + if(yych != 'a') goto yy53; goto yy1006; yy1006: YYDEBUG(1006, *YYCURSOR); yych = *++YYCURSOR; - if(yych == 'Y') goto yy966; - if(yych == 'y') goto yy966; - goto yy53; + if(yych == 'R') goto yy1007; + if(yych != 'r') goto yy53; + goto yy1007; yy1007: YYDEBUG(1007, *YYCURSOR); yych = *++YYCURSOR; - if(yych == 'E') goto yy966; - if(yych == 'e') goto yy966; - goto yy898; + if(yych == 'Y') goto yy967; + if(yych == 'y') goto yy967; + goto yy53; yy1008: YYDEBUG(1008, *YYCURSOR); yych = *++YYCURSOR; - if(yych == 'Y') goto yy966; - if(yych == 'y') goto yy966; + if(yych == 'E') goto yy967; + if(yych == 'e') goto yy967; goto yy898; yy1009: YYDEBUG(1009, *YYCURSOR); yych = *++YYCURSOR; - if(yych == 'I') goto yy966; + if(yych == 'Y') goto yy967; + if(yych == 'y') goto yy967; goto yy898; yy1010: YYDEBUG(1010, *YYCURSOR); yych = *++YYCURSOR; - if(yych != 'I') goto yy898; - goto yy1011; + if(yych == 'I') goto yy967; + goto yy898; yy1011: YYDEBUG(1011, *YYCURSOR); yych = *++YYCURSOR; - if(yych == 'I') goto yy966; - goto yy898; + if(yych != 'I') goto yy898; + goto yy1012; yy1012: YYDEBUG(1012, *YYCURSOR); yych = *++YYCURSOR; - if(yych == 'I') goto yy966; + if(yych == 'I') goto yy967; goto yy898; yy1013: YYDEBUG(1013, *YYCURSOR); yych = *++YYCURSOR; - if(yych <= '/') goto yy53; - if(yych <= '0') goto yy1021; - if(yych <= '9') goto yy1020; - goto yy53; + if(yych == 'I') goto yy967; + goto yy898; yy1014: YYDEBUG(1014, *YYCURSOR); yych = *++YYCURSOR; if(yych <= '/') goto yy53; - if(yych <= '9') goto yy1019; + if(yych <= '0') goto yy1022; + if(yych <= '9') goto yy1021; goto yy53; yy1015: YYDEBUG(1015, *YYCURSOR); yych = *++YYCURSOR; if(yych <= '/') goto yy53; - if(yych <= '5') goto yy1017; - if(yych >= '7') goto yy53; - goto yy1016; + if(yych <= '9') goto yy1020; + goto yy53; yy1016: YYDEBUG(1016, *YYCURSOR); yych = *++YYCURSOR; if(yych <= '/') goto yy53; - if(yych <= '6') goto yy1018; - goto yy53; + if(yych <= '5') goto yy1018; + if(yych >= '7') goto yy53; + goto yy1017; yy1017: YYDEBUG(1017, *YYCURSOR); yych = *++YYCURSOR; if(yych <= '/') goto yy53; - if(yych >= ':') goto yy53; - goto yy1018; + if(yych <= '6') goto yy1019; + goto yy53; yy1018: YYDEBUG(1018, *YYCURSOR); yych = *++YYCURSOR; - goto yy923; + if(yych <= '/') goto yy53; + if(yych >= ':') goto yy53; + goto yy1019; yy1019: YYDEBUG(1019, *YYCURSOR); yych = *++YYCURSOR; - if(yych <= '/') goto yy53; - if(yych <= '9') goto yy1018; - goto yy53; + goto yy924; yy1020: YYDEBUG(1020, *YYCURSOR); yych = *++YYCURSOR; if(yych <= '/') goto yy53; - if(yych <= '9') goto yy1018; + if(yych <= '9') goto yy1019; goto yy53; yy1021: YYDEBUG(1021, *YYCURSOR); yych = *++YYCURSOR; - if(yych <= '0') goto yy53; - if(yych <= '9') goto yy1018; + if(yych <= '/') goto yy53; + if(yych <= '9') goto yy1019; goto yy53; yy1022: YYDEBUG(1022, *YYCURSOR); yych = *++YYCURSOR; + if(yych <= '0') goto yy53; + if(yych <= '9') goto yy1019; + goto yy53; +yy1023: + YYDEBUG(1023, *YYCURSOR); + yych = *++YYCURSOR; if(yych <= 'U'){ if(yych <= 'D'){ if(yych == 'A') goto yy127; goto yy53; } else { - if(yych <= 'E') goto yy1026; + if(yych <= 'E') goto yy1027; if(yych <= 'T') goto yy53; goto yy128; } @@ -11750,17 +11772,17 @@ yy1022: if(yych == 'a') goto yy127; goto yy53; } else { - if(yych <= 'e') goto yy1026; + if(yych <= 'e') goto yy1027; if(yych == 'u') goto yy128; goto yy53; } } -yy1023: - YYDEBUG(1023, *YYCURSOR); +yy1024: + YYDEBUG(1024, *YYCURSOR); yych = *++YYCURSOR; if(yych <= 'O'){ if(yych <= 'H'){ - if(yych == 'A') goto yy992; + if(yych == 'A') goto yy993; goto yy53; } else { if(yych <= 'I') goto yy119; @@ -11769,7 +11791,7 @@ yy1023: } } else { if(yych <= 'h'){ - if(yych == 'a') goto yy992; + if(yych == 'a') goto yy993; goto yy53; } else { if(yych <= 'i') goto yy119; @@ -11777,28 +11799,28 @@ yy1023: goto yy53; } } -yy1024: - YYDEBUG(1024, *YYCURSOR); +yy1025: + YYDEBUG(1025, *YYCURSOR); yych = *++YYCURSOR; if(yych <= 'E'){ if(yych == 'A') goto yy115; if(yych <= 'D') goto yy53; - goto yy960; + goto yy961; } else { if(yych <= 'a'){ if(yych <= '`') goto yy53; goto yy115; } else { - if(yych == 'e') goto yy960; + if(yych == 'e') goto yy961; goto yy53; } } -yy1025: - YYDEBUG(1025, *YYCURSOR); +yy1026: + YYDEBUG(1026, *YYCURSOR); yych = *++YYCURSOR; if(yych <= 'R'){ if(yych <= 'N'){ - if(yych == 'E') goto yy995; + if(yych == 'E') goto yy996; goto yy53; } else { if(yych <= 'O') goto yy92; @@ -11807,7 +11829,7 @@ yy1025: } } else { if(yych <= 'n'){ - if(yych == 'e') goto yy995; + if(yych == 'e') goto yy996; goto yy53; } else { if(yych <= 'o') goto yy92; @@ -11815,74 +11837,74 @@ yy1025: goto yy53; } } -yy1026: - YYDEBUG(1026, *YYCURSOR); +yy1027: + YYDEBUG(1027, *YYCURSOR); yych = *++YYCURSOR; if(yych <= 'P'){ if(yych == 'C') goto yy130; if(yych <= 'O') goto yy53; - goto yy979; + goto yy980; } else { if(yych <= 'c'){ if(yych <= 'b') goto yy53; goto yy130; } else { - if(yych == 'p') goto yy979; + if(yych == 'p') goto yy980; goto yy53; } } -yy1027: - YYDEBUG(1027, *YYCURSOR); - yych = *++YYCURSOR; - if(yych <= '0') goto yy53; - if(yych <= '9') goto yy1029; - goto yy53; yy1028: YYDEBUG(1028, *YYCURSOR); yych = *++YYCURSOR; - if(yych <= '/') goto yy53; - if(yych >= '3') goto yy53; - goto yy1029; + if(yych <= '0') goto yy53; + if(yych <= '9') goto yy1030; + goto yy53; yy1029: YYDEBUG(1029, *YYCURSOR); yych = *++YYCURSOR; - if(yych != '/') goto yy53; + if(yych <= '/') goto yy53; + if(yych >= '3') goto yy53; goto yy1030; yy1030: YYDEBUG(1030, *YYCURSOR); yych = *++YYCURSOR; - if(yych <= '/') goto yy53; - if(yych <= '0') goto yy1031; - if(yych <= '2') goto yy1032; - if(yych <= '3') goto yy1033; - goto yy53; + if(yych != '/') goto yy53; + goto yy1031; yy1031: YYDEBUG(1031, *YYCURSOR); yych = *++YYCURSOR; - if(yych <= '0') goto yy53; - if(yych <= '9') goto yy1034; + if(yych <= '/') goto yy53; + if(yych <= '0') goto yy1032; + if(yych <= '2') goto yy1033; + if(yych <= '3') goto yy1034; goto yy53; yy1032: YYDEBUG(1032, *YYCURSOR); yych = *++YYCURSOR; - if(yych <= '/') goto yy53; - if(yych <= '9') goto yy1034; + if(yych <= '0') goto yy53; + if(yych <= '9') goto yy1035; goto yy53; yy1033: YYDEBUG(1033, *YYCURSOR); yych = *++YYCURSOR; if(yych <= '/') goto yy53; - if(yych >= '2') goto yy53; - goto yy1034; + if(yych <= '9') goto yy1035; + goto yy53; yy1034: YYDEBUG(1034, *YYCURSOR); - ++YYCURSOR; - if((yych = *YYCURSOR) == '/') goto yy1036; + yych = *++YYCURSOR; + if(yych <= '/') goto yy53; + if(yych >= '2') goto yy53; goto yy1035; yy1035: YYDEBUG(1035, *YYCURSOR); + ++YYCURSOR; + if((yych = *YYCURSOR) == '/') goto yy1037; + goto yy1036; +yy1036: + YYDEBUG(1036, *YYCURSOR); -#line 1038 "parse_date.re" +#line 1039 "parse_date.re" { TIMELIB_INIT; TIMELIB_HAVE_DATE(); @@ -11892,565 +11914,565 @@ yy1035: TIMELIB_DEINIT; return TIMELIB_ISO_DATE; } -#line 9804 "" -yy1036: - YYDEBUG(1036, *YYCURSOR); - yych = *++YYCURSOR; - goto yy1035; +#line 9824 "" yy1037: YYDEBUG(1037, *YYCURSOR); yych = *++YYCURSOR; + goto yy1036; +yy1038: + YYDEBUG(1038, *YYCURSOR); + yych = *++YYCURSOR; if(yych <= 'U'){ - if(yych == 'A') goto yy1101; + if(yych == 'A') goto yy1102; if(yych <= 'T') goto yy53; - goto yy1100; + goto yy1101; } else { if(yych <= 'a'){ if(yych <= '`') goto yy53; - goto yy1101; + goto yy1102; } else { - if(yych == 'u') goto yy1100; + if(yych == 'u') goto yy1101; goto yy53; } } -yy1038: - YYDEBUG(1038, *YYCURSOR); - yych = *++YYCURSOR; - if(yych == 'E') goto yy1098; - if(yych == 'e') goto yy1098; - goto yy53; yy1039: YYDEBUG(1039, *YYCURSOR); yych = *++YYCURSOR; - if(yych == 'A') goto yy1095; - if(yych == 'a') goto yy1095; + if(yych == 'E') goto yy1099; + if(yych == 'e') goto yy1099; goto yy53; yy1040: YYDEBUG(1040, *YYCURSOR); yych = *++YYCURSOR; + if(yych == 'A') goto yy1096; + if(yych == 'a') goto yy1096; + goto yy53; +yy1041: + YYDEBUG(1041, *YYCURSOR); + yych = *++YYCURSOR; if(yych <= 'U'){ - if(yych == 'P') goto yy1092; + if(yych == 'P') goto yy1093; if(yych <= 'T') goto yy53; - goto yy1091; + goto yy1092; } else { if(yych <= 'p'){ if(yych <= 'o') goto yy53; - goto yy1092; + goto yy1093; } else { - if(yych == 'u') goto yy1091; + if(yych == 'u') goto yy1092; goto yy53; } } -yy1041: - YYDEBUG(1041, *YYCURSOR); - yych = *++YYCURSOR; - if(yych == 'E') goto yy1088; - if(yych == 'e') goto yy1088; - goto yy53; yy1042: YYDEBUG(1042, *YYCURSOR); yych = *++YYCURSOR; - if(yych == 'C') goto yy1086; - if(yych == 'c') goto yy1086; + if(yych == 'E') goto yy1089; + if(yych == 'e') goto yy1089; goto yy53; yy1043: YYDEBUG(1043, *YYCURSOR); yych = *++YYCURSOR; - if(yych == 'O') goto yy1084; - if(yych == 'o') goto yy1084; + if(yych == 'C') goto yy1087; + if(yych == 'c') goto yy1087; goto yy53; yy1044: YYDEBUG(1044, *YYCURSOR); yych = *++YYCURSOR; - if(yych == 'E') goto yy1082; - if(yych == 'e') goto yy1082; + if(yych == 'O') goto yy1085; + if(yych == 'o') goto yy1085; goto yy53; yy1045: YYDEBUG(1045, *YYCURSOR); yych = *++YYCURSOR; + if(yych == 'E') goto yy1083; + if(yych == 'e') goto yy1083; + goto yy53; +yy1046: + YYDEBUG(1046, *YYCURSOR); + yych = *++YYCURSOR; if(yych <= '/'){ if(yych == '-') goto yy799; goto yy53; } else { if(yych <= '0') goto yy762; - if(yych <= '9') goto yy1047; + if(yych <= '9') goto yy1048; goto yy53; } -yy1046: - YYDEBUG(1046, *YYCURSOR); +yy1047: + YYDEBUG(1047, *YYCURSOR); yych = *++YYCURSOR; if(yych == '-') goto yy799; if(yych <= '/') goto yy53; if(yych >= '3') goto yy53; - goto yy1047; -yy1047: - YYDEBUG(1047, *YYCURSOR); - yych = *++YYCURSOR; - if(yych != '-') goto yy53; goto yy1048; yy1048: YYDEBUG(1048, *YYCURSOR); yych = *++YYCURSOR; + if(yych != '-') goto yy53; + goto yy1049; +yy1049: + YYDEBUG(1049, *YYCURSOR); + yych = *++YYCURSOR; if(yych <= '2'){ if(yych <= '/') goto yy53; - if(yych >= '1') goto yy1050; - goto yy1049; + if(yych >= '1') goto yy1051; + goto yy1050; } else { - if(yych <= '3') goto yy1051; + if(yych <= '3') goto yy1052; if(yych <= '9') goto yy803; goto yy53; } -yy1049: - YYDEBUG(1049, *YYCURSOR); - yych = *++YYCURSOR; - if(yych <= '/') goto yy801; - if(yych <= '0') goto yy803; - if(yych <= '9') goto yy1052; - goto yy801; yy1050: YYDEBUG(1050, *YYCURSOR); yych = *++YYCURSOR; if(yych <= '/') goto yy801; - if(yych <= '9') goto yy1052; + if(yych <= '0') goto yy803; + if(yych <= '9') goto yy1053; goto yy801; yy1051: YYDEBUG(1051, *YYCURSOR); yych = *++YYCURSOR; if(yych <= '/') goto yy801; - if(yych >= '2') goto yy801; - goto yy1052; + if(yych <= '9') goto yy1053; + goto yy801; yy1052: YYDEBUG(1052, *YYCURSOR); - yyaccept = 16; - yych = *(YYMARKER = ++YYCURSOR); - if(yych != 'T') goto yy1035; + yych = *++YYCURSOR; + if(yych <= '/') goto yy801; + if(yych >= '2') goto yy801; goto yy1053; yy1053: YYDEBUG(1053, *YYCURSOR); - yych = *++YYCURSOR; - if(yych <= '/') goto yy53; - if(yych <= '1') goto yy1054; - if(yych <= '2') goto yy1055; - if(yych <= '9') goto yy1056; - goto yy53; + yyaccept = 16; + yych = *(YYMARKER = ++YYCURSOR); + if(yych != 'T') goto yy1036; + goto yy1054; yy1054: YYDEBUG(1054, *YYCURSOR); yych = *++YYCURSOR; if(yych <= '/') goto yy53; - if(yych <= '9') goto yy1063; - if(yych <= ':') goto yy1057; + if(yych <= '1') goto yy1055; + if(yych <= '2') goto yy1056; + if(yych <= '9') goto yy1057; goto yy53; yy1055: YYDEBUG(1055, *YYCURSOR); yych = *++YYCURSOR; if(yych <= '/') goto yy53; - if(yych <= '3') goto yy1063; - if(yych == ':') goto yy1057; + if(yych <= '9') goto yy1064; + if(yych <= ':') goto yy1058; goto yy53; yy1056: YYDEBUG(1056, *YYCURSOR); yych = *++YYCURSOR; - if(yych != ':') goto yy53; - goto yy1057; + if(yych <= '/') goto yy53; + if(yych <= '3') goto yy1064; + if(yych == ':') goto yy1058; + goto yy53; yy1057: YYDEBUG(1057, *YYCURSOR); yych = *++YYCURSOR; - if(yych <= '/') goto yy53; - if(yych >= '6') goto yy53; + if(yych != ':') goto yy53; goto yy1058; yy1058: YYDEBUG(1058, *YYCURSOR); yych = *++YYCURSOR; if(yych <= '/') goto yy53; - if(yych >= ':') goto yy53; + if(yych >= '6') goto yy53; goto yy1059; yy1059: YYDEBUG(1059, *YYCURSOR); yych = *++YYCURSOR; - if(yych != ':') goto yy53; + if(yych <= '/') goto yy53; + if(yych >= ':') goto yy53; goto yy1060; yy1060: YYDEBUG(1060, *YYCURSOR); yych = *++YYCURSOR; - if(yych <= '/') goto yy53; - if(yych <= '5') goto yy1061; - if(yych <= '6') goto yy1062; - goto yy53; + if(yych != ':') goto yy53; + goto yy1061; yy1061: YYDEBUG(1061, *YYCURSOR); yych = *++YYCURSOR; if(yych <= '/') goto yy53; - if(yych <= '9') goto yy940; + if(yych <= '5') goto yy1062; + if(yych <= '6') goto yy1063; goto yy53; yy1062: YYDEBUG(1062, *YYCURSOR); yych = *++YYCURSOR; - if(yych == '0') goto yy940; + if(yych <= '/') goto yy53; + if(yych <= '9') goto yy941; goto yy53; yy1063: YYDEBUG(1063, *YYCURSOR); yych = *++YYCURSOR; - if(yych != ':') goto yy53; - goto yy1064; + if(yych == '0') goto yy941; + goto yy53; yy1064: YYDEBUG(1064, *YYCURSOR); yych = *++YYCURSOR; - if(yych <= '/') goto yy53; - if(yych >= '6') goto yy53; + if(yych != ':') goto yy53; goto yy1065; yy1065: YYDEBUG(1065, *YYCURSOR); yych = *++YYCURSOR; if(yych <= '/') goto yy53; - if(yych >= ':') goto yy53; + if(yych >= '6') goto yy53; goto yy1066; yy1066: YYDEBUG(1066, *YYCURSOR); yych = *++YYCURSOR; - if(yych != ':') goto yy53; + if(yych <= '/') goto yy53; + if(yych >= ':') goto yy53; goto yy1067; yy1067: YYDEBUG(1067, *YYCURSOR); yych = *++YYCURSOR; - if(yych <= '/') goto yy53; - if(yych <= '5') goto yy1068; - if(yych <= '6') goto yy1069; - goto yy53; + if(yych != ':') goto yy53; + goto yy1068; yy1068: YYDEBUG(1068, *YYCURSOR); yych = *++YYCURSOR; if(yych <= '/') goto yy53; - if(yych <= '9') goto yy1070; + if(yych <= '5') goto yy1069; + if(yych <= '6') goto yy1070; goto yy53; yy1069: YYDEBUG(1069, *YYCURSOR); yych = *++YYCURSOR; - if(yych != '0') goto yy53; - goto yy1070; + if(yych <= '/') goto yy53; + if(yych <= '9') goto yy1071; + goto yy53; yy1070: YYDEBUG(1070, *YYCURSOR); - yyaccept = 17; - yych = *(YYMARKER = ++YYCURSOR); - if(yych != '.') goto yy941; + yych = *++YYCURSOR; + if(yych != '0') goto yy53; goto yy1071; yy1071: YYDEBUG(1071, *YYCURSOR); - yych = *++YYCURSOR; - if(yych <= '/') goto yy53; - if(yych >= ':') goto yy53; + yyaccept = 17; + yych = *(YYMARKER = ++YYCURSOR); + if(yych != '.') goto yy942; goto yy1072; yy1072: YYDEBUG(1072, *YYCURSOR); - ++YYCURSOR; - if((YYLIMIT - YYCURSOR) < 6) YYFILL(6); - yych = *YYCURSOR; + yych = *++YYCURSOR; + if(yych <= '/') goto yy53; + if(yych >= ':') goto yy53; goto yy1073; yy1073: YYDEBUG(1073, *YYCURSOR); + ++YYCURSOR; + if((YYLIMIT - YYCURSOR) < 6) YYFILL(6); + yych = *YYCURSOR; + goto yy1074; +yy1074: + YYDEBUG(1074, *YYCURSOR); if(yych <= ','){ if(yych != '+') goto yy53; - goto yy1074; + goto yy1075; } else { - if(yych <= '-') goto yy1074; + if(yych <= '-') goto yy1075; if(yych <= '/') goto yy53; - if(yych <= '9') goto yy1072; + if(yych <= '9') goto yy1073; goto yy53; } -yy1074: - YYDEBUG(1074, *YYCURSOR); - yych = *++YYCURSOR; - if(yych <= '/') goto yy53; - if(yych <= '1') goto yy1075; - if(yych <= '2') goto yy1076; - if(yych <= '9') goto yy1077; - goto yy53; yy1075: YYDEBUG(1075, *YYCURSOR); yych = *++YYCURSOR; - if(yych <= '/') goto yy941; - if(yych <= '5') goto yy1080; - if(yych <= '9') goto yy1077; - if(yych <= ':') goto yy1078; - goto yy941; + if(yych <= '/') goto yy53; + if(yych <= '1') goto yy1076; + if(yych <= '2') goto yy1077; + if(yych <= '9') goto yy1078; + goto yy53; yy1076: YYDEBUG(1076, *YYCURSOR); + yych = *++YYCURSOR; + if(yych <= '/') goto yy942; + if(yych <= '5') goto yy1081; + if(yych <= '9') goto yy1078; + if(yych <= ':') goto yy1079; + goto yy942; +yy1077: + YYDEBUG(1077, *YYCURSOR); yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); if(yych <= '5'){ - if(yych <= '/') goto yy941; - if(yych <= '3') goto yy1080; - goto yy1079; + if(yych <= '/') goto yy942; + if(yych <= '3') goto yy1081; + goto yy1080; } else { - if(yych == ':') goto yy1078; - goto yy941; + if(yych == ':') goto yy1079; + goto yy942; } -yy1077: - YYDEBUG(1077, *YYCURSOR); - yyaccept = 17; - yych = *(YYMARKER = ++YYCURSOR); - if(yych <= '/') goto yy941; - if(yych <= '5') goto yy1079; - if(yych != ':') goto yy941; - goto yy1078; yy1078: YYDEBUG(1078, *YYCURSOR); yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); - if(yych <= '/') goto yy941; - if(yych >= '6') goto yy941; + if(yych <= '/') goto yy942; + if(yych <= '5') goto yy1080; + if(yych != ':') goto yy942; goto yy1079; yy1079: YYDEBUG(1079, *YYCURSOR); - yych = *++YYCURSOR; - if(yych <= '/') goto yy53; - if(yych <= '9') goto yy940; - goto yy53; + yyaccept = 17; + yych = *(YYMARKER = ++YYCURSOR); + if(yych <= '/') goto yy942; + if(yych >= '6') goto yy942; + goto yy1080; yy1080: YYDEBUG(1080, *YYCURSOR); yych = *++YYCURSOR; - if(yych <= '/') goto yy941; - if(yych <= '5') goto yy1081; - if(yych <= '9') goto yy940; - if(yych <= ':') goto yy1078; - goto yy941; + if(yych <= '/') goto yy53; + if(yych <= '9') goto yy941; + goto yy53; yy1081: YYDEBUG(1081, *YYCURSOR); yych = *++YYCURSOR; - if(yych <= '/') goto yy941; - if(yych <= '9') goto yy940; - goto yy941; + if(yych <= '/') goto yy942; + if(yych <= '5') goto yy1082; + if(yych <= '9') goto yy941; + if(yych <= ':') goto yy1079; + goto yy942; yy1082: YYDEBUG(1082, *YYCURSOR); yych = *++YYCURSOR; - if(yych == 'C') goto yy1083; - if(yych != 'c') goto yy53; - goto yy1083; + if(yych <= '/') goto yy942; + if(yych <= '9') goto yy941; + goto yy942; yy1083: YYDEBUG(1083, *YYCURSOR); + yych = *++YYCURSOR; + if(yych == 'C') goto yy1084; + if(yych != 'c') goto yy53; + goto yy1084; +yy1084: + YYDEBUG(1084, *YYCURSOR); yyaccept = 15; yych = *(YYMARKER = ++YYCURSOR); if(yych <= 'D'){ if(yych == '-') goto yy873; goto yy898; } else { - if(yych <= 'E') goto yy962; - if(yych == 'e') goto yy962; + if(yych <= 'E') goto yy963; + if(yych == 'e') goto yy963; goto yy898; } -yy1084: - YYDEBUG(1084, *YYCURSOR); - yych = *++YYCURSOR; - if(yych == 'V') goto yy1085; - if(yych != 'v') goto yy53; - goto yy1085; yy1085: YYDEBUG(1085, *YYCURSOR); + yych = *++YYCURSOR; + if(yych == 'V') goto yy1086; + if(yych != 'v') goto yy53; + goto yy1086; +yy1086: + YYDEBUG(1086, *YYCURSOR); yyaccept = 15; yych = *(YYMARKER = ++YYCURSOR); if(yych <= 'D'){ if(yych == '-') goto yy873; goto yy898; } else { - if(yych <= 'E') goto yy969; - if(yych == 'e') goto yy969; + if(yych <= 'E') goto yy970; + if(yych == 'e') goto yy970; goto yy898; } -yy1086: - YYDEBUG(1086, *YYCURSOR); - yych = *++YYCURSOR; - if(yych == 'T') goto yy1087; - if(yych != 't') goto yy53; - goto yy1087; yy1087: YYDEBUG(1087, *YYCURSOR); + yych = *++YYCURSOR; + if(yych == 'T') goto yy1088; + if(yych != 't') goto yy53; + goto yy1088; +yy1088: + YYDEBUG(1088, *YYCURSOR); yyaccept = 15; yych = *(YYMARKER = ++YYCURSOR); if(yych <= 'N'){ if(yych == '-') goto yy873; goto yy898; } else { - if(yych <= 'O') goto yy975; - if(yych == 'o') goto yy975; + if(yych <= 'O') goto yy976; + if(yych == 'o') goto yy976; goto yy898; } -yy1088: - YYDEBUG(1088, *YYCURSOR); - yych = *++YYCURSOR; - if(yych == 'P') goto yy1089; - if(yych != 'p') goto yy53; - goto yy1089; yy1089: YYDEBUG(1089, *YYCURSOR); + yych = *++YYCURSOR; + if(yych == 'P') goto yy1090; + if(yych != 'p') goto yy53; + goto yy1090; +yy1090: + YYDEBUG(1090, *YYCURSOR); yyaccept = 15; yych = *(YYMARKER = ++YYCURSOR); if(yych <= 'S'){ if(yych == '-') goto yy873; goto yy898; } else { - if(yych <= 'T') goto yy1090; + if(yych <= 'T') goto yy1091; if(yych != 't') goto yy898; - goto yy1090; + goto yy1091; } -yy1090: - YYDEBUG(1090, *YYCURSOR); +yy1091: + YYDEBUG(1091, *YYCURSOR); yyaccept = 15; yych = *(YYMARKER = ++YYCURSOR); if(yych <= 'D'){ if(yych == '-') goto yy873; goto yy898; } else { - if(yych <= 'E') goto yy981; - if(yych == 'e') goto yy981; + if(yych <= 'E') goto yy982; + if(yych == 'e') goto yy982; goto yy898; } -yy1091: - YYDEBUG(1091, *YYCURSOR); - yych = *++YYCURSOR; - if(yych == 'G') goto yy1094; - if(yych == 'g') goto yy1094; - goto yy53; yy1092: YYDEBUG(1092, *YYCURSOR); yych = *++YYCURSOR; - if(yych == 'R') goto yy1093; - if(yych != 'r') goto yy53; - goto yy1093; + if(yych == 'G') goto yy1095; + if(yych == 'g') goto yy1095; + goto yy53; yy1093: YYDEBUG(1093, *YYCURSOR); + yych = *++YYCURSOR; + if(yych == 'R') goto yy1094; + if(yych != 'r') goto yy53; + goto yy1094; +yy1094: + YYDEBUG(1094, *YYCURSOR); yyaccept = 15; yych = *(YYMARKER = ++YYCURSOR); if(yych <= 'H'){ if(yych == '-') goto yy873; goto yy898; } else { - if(yych <= 'I') goto yy988; - if(yych == 'i') goto yy988; + if(yych <= 'I') goto yy989; + if(yych == 'i') goto yy989; goto yy898; } -yy1094: - YYDEBUG(1094, *YYCURSOR); +yy1095: + YYDEBUG(1095, *YYCURSOR); yyaccept = 15; yych = *(YYMARKER = ++YYCURSOR); if(yych <= 'T'){ if(yych == '-') goto yy873; goto yy898; } else { - if(yych <= 'U') goto yy990; - if(yych == 'u') goto yy990; + if(yych <= 'U') goto yy991; + if(yych == 'u') goto yy991; goto yy898; } -yy1095: - YYDEBUG(1095, *YYCURSOR); +yy1096: + YYDEBUG(1096, *YYCURSOR); yych = *++YYCURSOR; if(yych <= 'Y'){ - if(yych == 'R') goto yy1096; + if(yych == 'R') goto yy1097; if(yych <= 'X') goto yy53; - goto yy1097; + goto yy1098; } else { if(yych <= 'r'){ if(yych <= 'q') goto yy53; - goto yy1096; + goto yy1097; } else { - if(yych == 'y') goto yy1097; + if(yych == 'y') goto yy1098; goto yy53; } } -yy1096: - YYDEBUG(1096, *YYCURSOR); +yy1097: + YYDEBUG(1097, *YYCURSOR); yyaccept = 15; yych = *(YYMARKER = ++YYCURSOR); if(yych <= 'B'){ if(yych == '-') goto yy873; goto yy898; } else { - if(yych <= 'C') goto yy994; - if(yych == 'c') goto yy994; + if(yych <= 'C') goto yy995; + if(yych == 'c') goto yy995; goto yy898; } -yy1097: - YYDEBUG(1097, *YYCURSOR); +yy1098: + YYDEBUG(1098, *YYCURSOR); yyaccept = 15; yych = *(YYMARKER = ++YYCURSOR); if(yych == '-') goto yy873; goto yy898; -yy1098: - YYDEBUG(1098, *YYCURSOR); - yych = *++YYCURSOR; - if(yych == 'B') goto yy1099; - if(yych != 'b') goto yy53; - goto yy1099; yy1099: YYDEBUG(1099, *YYCURSOR); + yych = *++YYCURSOR; + if(yych == 'B') goto yy1100; + if(yych != 'b') goto yy53; + goto yy1100; +yy1100: + YYDEBUG(1100, *YYCURSOR); yyaccept = 15; yych = *(YYMARKER = ++YYCURSOR); if(yych <= 'Q'){ if(yych == '-') goto yy873; goto yy898; } else { - if(yych <= 'R') goto yy997; - if(yych == 'r') goto yy997; + if(yych <= 'R') goto yy998; + if(yych == 'r') goto yy998; goto yy898; } -yy1100: - YYDEBUG(1100, *YYCURSOR); +yy1101: + YYDEBUG(1101, *YYCURSOR); yych = *++YYCURSOR; if(yych <= 'N'){ - if(yych == 'L') goto yy1104; + if(yych == 'L') goto yy1105; if(yych <= 'M') goto yy53; - goto yy1103; + goto yy1104; } else { if(yych <= 'l'){ if(yych <= 'k') goto yy53; - goto yy1104; + goto yy1105; } else { - if(yych == 'n') goto yy1103; + if(yych == 'n') goto yy1104; goto yy53; } } -yy1101: - YYDEBUG(1101, *YYCURSOR); - yych = *++YYCURSOR; - if(yych == 'N') goto yy1102; - if(yych != 'n') goto yy53; - goto yy1102; yy1102: YYDEBUG(1102, *YYCURSOR); + yych = *++YYCURSOR; + if(yych == 'N') goto yy1103; + if(yych != 'n') goto yy53; + goto yy1103; +yy1103: + YYDEBUG(1103, *YYCURSOR); yyaccept = 15; yych = *(YYMARKER = ++YYCURSOR); if(yych <= 'T'){ if(yych == '-') goto yy873; goto yy898; } else { - if(yych <= 'U') goto yy1004; - if(yych == 'u') goto yy1004; + if(yych <= 'U') goto yy1005; + if(yych == 'u') goto yy1005; goto yy898; } -yy1103: - YYDEBUG(1103, *YYCURSOR); +yy1104: + YYDEBUG(1104, *YYCURSOR); yyaccept = 15; yych = *(YYMARKER = ++YYCURSOR); if(yych <= 'D'){ if(yych == '-') goto yy873; goto yy898; } else { - if(yych <= 'E') goto yy966; - if(yych == 'e') goto yy966; + if(yych <= 'E') goto yy967; + if(yych == 'e') goto yy967; goto yy898; } -yy1104: - YYDEBUG(1104, *YYCURSOR); +yy1105: + YYDEBUG(1105, *YYCURSOR); yyaccept = 15; yych = *(YYMARKER = ++YYCURSOR); if(yych <= 'X'){ if(yych == '-') goto yy873; goto yy898; } else { - if(yych <= 'Y') goto yy966; - if(yych == 'y') goto yy966; + if(yych <= 'Y') goto yy967; + if(yych == 'y') goto yy967; goto yy898; } -yy1105: - YYDEBUG(1105, *YYCURSOR); +yy1106: + YYDEBUG(1106, *YYCURSOR); yych = *++YYCURSOR; if(yych <= 'R'){ if(yych <= 'N'){ @@ -12471,8 +12493,8 @@ yy1105: goto yy53; } } -yy1106: - YYDEBUG(1106, *YYCURSOR); +yy1107: + YYDEBUG(1107, *YYCURSOR); yych = *++YYCURSOR; if(yych <= 'O'){ if(yych <= 'H'){ @@ -12493,15 +12515,15 @@ yy1106: goto yy53; } } -yy1107: - YYDEBUG(1107, *YYCURSOR); +yy1108: + YYDEBUG(1108, *YYCURSOR); yych = *++YYCURSOR; if(yych <= 'U'){ if(yych <= 'D'){ if(yych == 'A') goto yy127; goto yy53; } else { - if(yych <= 'E') goto yy1109; + if(yych <= 'E') goto yy1110; if(yych <= 'T') goto yy53; goto yy128; } @@ -12510,13 +12532,13 @@ yy1107: if(yych == 'a') goto yy127; goto yy53; } else { - if(yych <= 'e') goto yy1109; + if(yych <= 'e') goto yy1110; if(yych == 'u') goto yy128; goto yy53; } } -yy1108: - YYDEBUG(1108, *YYCURSOR); +yy1109: + YYDEBUG(1109, *YYCURSOR); yych = *++YYCURSOR; if(yych <= 'E'){ if(yych == 'A') goto yy115; @@ -12531,8 +12553,8 @@ yy1108: goto yy53; } } -yy1109: - YYDEBUG(1109, *YYCURSOR); +yy1110: + YYDEBUG(1110, *YYCURSOR); yych = *++YYCURSOR; if(yych <= 'P'){ if(yych == 'C') goto yy130; @@ -12547,14 +12569,14 @@ yy1109: goto yy53; } } -yy1110: - YYDEBUG(1110, *YYCURSOR); +yy1111: + YYDEBUG(1111, *YYCURSOR); yych = *++YYCURSOR; YYDEBUG(-1, yych); switch(yych){ case '-': goto yy652; case '.': goto yy653; - case '/': goto yy1111; + case '/': goto yy1112; case '0': case '1': case '2': @@ -12572,8 +12594,8 @@ yy1110: case 'S': case 's': goto yy663; default: goto yy649; } -yy1111: - YYDEBUG(1111, *YYCURSOR); +yy1112: + YYDEBUG(1112, *YYCURSOR); yych = *++YYCURSOR; YYDEBUG(-1, yych); switch(yych){ @@ -12587,25 +12609,25 @@ yy1111: case 'S': case 's': goto yy812; default: goto yy53; } -yy1112: - YYDEBUG(1112, *YYCURSOR); +yy1113: + YYDEBUG(1113, *YYCURSOR); yych = *++YYCURSOR; YYDEBUG(-1, yych); switch(yych){ case '-': goto yy652; case '.': goto yy653; - case '/': goto yy1111; + case '/': goto yy1112; case '0': case '1': case '2': case '3': case '4': - case '5': goto yy1114; + case '5': goto yy1115; case '6': case '7': case '8': case '9': goto yy861; - case ':': goto yy1113; + case ':': goto yy1114; case 'D': case 'd': goto yy666; case 'F': case 'f': goto yy660; case 'H': case 'T': case 'W': case 'Y': case 'h': case 't': case 'w': case 'y': goto yy53; @@ -12613,15 +12635,15 @@ yy1112: case 'S': case 's': goto yy663; default: goto yy649; } -yy1113: - YYDEBUG(1113, *YYCURSOR); +yy1114: + YYDEBUG(1114, *YYCURSOR); yych = *++YYCURSOR; if(yych <= '/') goto yy53; - if(yych <= '5') goto yy1131; - if(yych <= '9') goto yy1132; + if(yych <= '5') goto yy1132; + if(yych <= '9') goto yy1133; goto yy53; -yy1114: - YYDEBUG(1114, *YYCURSOR); +yy1115: + YYDEBUG(1115, *YYCURSOR); yych = *++YYCURSOR; if(yybm[0+yych] & 16) { goto yy62; @@ -12629,9 +12651,9 @@ yy1114: if(yych == '-') goto yy862; if(yych <= '/') goto yy53; if(yych >= ':') goto yy53; - goto yy1115; -yy1115: - YYDEBUG(1115, *YYCURSOR); + goto yy1116; +yy1116: + YYDEBUG(1116, *YYCURSOR); yyaccept = 18; yych = *(YYMARKER = ++YYCURSOR); YYDEBUG(-1, yych); @@ -12655,13 +12677,13 @@ yy1115: case '-': goto yy890; case '.': goto yy896; case '/': goto yy891; - case '0': goto yy1117; - case '1': goto yy1118; - case '2': goto yy1119; - case '3': goto yy1120; + case '0': goto yy1118; + case '1': goto yy1119; + case '2': goto yy1120; + case '3': goto yy1121; case '4': - case '5': goto yy1121; - case '6': goto yy1122; + case '5': goto yy1122; + case '6': goto yy1123; case '7': case '8': case '9': goto yy64; @@ -12670,12 +12692,12 @@ yy1115: case 'M': case 'm': goto yy903; case 'S': case 's': goto yy905; case 'W': goto yy913; - default: goto yy1116; + default: goto yy1117; } -yy1116: - YYDEBUG(1116, *YYCURSOR); +yy1117: + YYDEBUG(1117, *YYCURSOR); -#line 963 "parse_date.re" +#line 964 "parse_date.re" { DEBUG_OUTPUT("gnunocolon"); TIMELIB_INIT; @@ -12696,17 +12718,7 @@ yy1116: TIMELIB_DEINIT; return TIMELIB_GNU_NOCOLON; } -#line 10442 "" -yy1117: - YYDEBUG(1117, *YYCURSOR); - yych = *++YYCURSOR; - if(yybm[0+yych] & 16) { - goto yy62; - } - if(yych <= '/') goto yy53; - if(yych <= '0') goto yy1129; - if(yych <= '9') goto yy1130; - goto yy53; +#line 10462 "" yy1118: YYDEBUG(1118, *YYCURSOR); yych = *++YYCURSOR; @@ -12714,8 +12726,8 @@ yy1118: goto yy62; } if(yych <= '/') goto yy53; - if(yych <= '2') goto yy1128; - if(yych <= '9') goto yy1127; + if(yych <= '0') goto yy1130; + if(yych <= '9') goto yy1131; goto yy53; yy1119: YYDEBUG(1119, *YYCURSOR); @@ -12724,7 +12736,8 @@ yy1119: goto yy62; } if(yych <= '/') goto yy53; - if(yych <= '9') goto yy1127; + if(yych <= '2') goto yy1129; + if(yych <= '9') goto yy1128; goto yy53; yy1120: YYDEBUG(1120, *YYCURSOR); @@ -12733,9 +12746,7 @@ yy1120: goto yy62; } if(yych <= '/') goto yy53; - if(yych <= '5') goto yy1125; - if(yych <= '6') goto yy1126; - if(yych <= '9') goto yy1123; + if(yych <= '9') goto yy1128; goto yy53; yy1121: YYDEBUG(1121, *YYCURSOR); @@ -12744,7 +12755,9 @@ yy1121: goto yy62; } if(yych <= '/') goto yy53; - if(yych <= '9') goto yy1123; + if(yych <= '5') goto yy1126; + if(yych <= '6') goto yy1127; + if(yych <= '9') goto yy1124; goto yy53; yy1122: YYDEBUG(1122, *YYCURSOR); @@ -12753,23 +12766,32 @@ yy1122: goto yy62; } if(yych <= '/') goto yy53; - if(yych <= '0') goto yy1123; - if(yych <= '9') goto yy64; + if(yych <= '9') goto yy1124; goto yy53; yy1123: YYDEBUG(1123, *YYCURSOR); - yyaccept = 19; - yych = *(YYMARKER = ++YYCURSOR); + yych = *++YYCURSOR; if(yybm[0+yych] & 16) { goto yy62; } - if(yych <= '/') goto yy1124; + if(yych <= '/') goto yy53; + if(yych <= '0') goto yy1124; if(yych <= '9') goto yy64; - goto yy1124; + goto yy53; yy1124: YYDEBUG(1124, *YYCURSOR); + yyaccept = 19; + yych = *(YYMARKER = ++YYCURSOR); + if(yybm[0+yych] & 16) { + goto yy62; + } + if(yych <= '/') goto yy1125; + if(yych <= '9') goto yy64; + goto yy1125; +yy1125: + YYDEBUG(1125, *YYCURSOR); -#line 1008 "parse_date.re" +#line 1009 "parse_date.re" { DEBUG_OUTPUT("iso8601nocolon"); TIMELIB_INIT; @@ -12784,17 +12806,7 @@ yy1124: TIMELIB_DEINIT; return TIMELIB_ISO_NOCOLON; } -#line 10514 "" -yy1125: - YYDEBUG(1125, *YYCURSOR); - yyaccept = 19; - yych = *(YYMARKER = ++YYCURSOR); - if(yybm[0+yych] & 16) { - goto yy62; - } - if(yych <= '/') goto yy1124; - if(yych <= '9') goto yy922; - goto yy1124; +#line 10534 "" yy1126: YYDEBUG(1126, *YYCURSOR); yyaccept = 19; @@ -12802,10 +12814,9 @@ yy1126: if(yybm[0+yych] & 16) { goto yy62; } - if(yych <= '/') goto yy1124; - if(yych <= '6') goto yy922; - if(yych <= '9') goto yy64; - goto yy1124; + if(yych <= '/') goto yy1125; + if(yych <= '9') goto yy923; + goto yy1125; yy1127: YYDEBUG(1127, *YYCURSOR); yyaccept = 19; @@ -12813,9 +12824,10 @@ yy1127: if(yybm[0+yych] & 16) { goto yy62; } - if(yych <= '/') goto yy1124; - if(yych <= '9') goto yy922; - goto yy1124; + if(yych <= '/') goto yy1125; + if(yych <= '6') goto yy923; + if(yych <= '9') goto yy64; + goto yy1125; yy1128: YYDEBUG(1128, *YYCURSOR); yyaccept = 19; @@ -12823,15 +12835,9 @@ yy1128: if(yybm[0+yych] & 16) { goto yy62; } - if(yych <= '2'){ - if(yych <= '/') goto yy1124; - if(yych <= '0') goto yy926; - goto yy927; - } else { - if(yych <= '3') goto yy928; - if(yych <= '9') goto yy922; - goto yy1124; - } + if(yych <= '/') goto yy1125; + if(yych <= '9') goto yy923; + goto yy1125; yy1129: YYDEBUG(1129, *YYCURSOR); yyaccept = 19; @@ -12839,10 +12845,15 @@ yy1129: if(yybm[0+yych] & 16) { goto yy62; } - if(yych <= '/') goto yy1124; - if(yych <= '0') goto yy64; - if(yych <= '9') goto yy922; - goto yy1124; + if(yych <= '2'){ + if(yych <= '/') goto yy1125; + if(yych <= '0') goto yy927; + goto yy928; + } else { + if(yych <= '3') goto yy929; + if(yych <= '9') goto yy923; + goto yy1125; + } yy1130: YYDEBUG(1130, *YYCURSOR); yyaccept = 19; @@ -12850,54 +12861,65 @@ yy1130: if(yybm[0+yych] & 16) { goto yy62; } + if(yych <= '/') goto yy1125; + if(yych <= '0') goto yy64; + if(yych <= '9') goto yy923; + goto yy1125; +yy1131: + YYDEBUG(1131, *YYCURSOR); + yyaccept = 19; + yych = *(YYMARKER = ++YYCURSOR); + if(yybm[0+yych] & 16) { + goto yy62; + } if(yych <= '2'){ - if(yych <= '/') goto yy1124; - if(yych <= '0') goto yy926; - goto yy927; + if(yych <= '/') goto yy1125; + if(yych <= '0') goto yy927; + goto yy928; } else { - if(yych <= '3') goto yy928; - if(yych <= '9') goto yy922; - goto yy1124; + if(yych <= '3') goto yy929; + if(yych <= '9') goto yy923; + goto yy1125; } -yy1131: - YYDEBUG(1131, *YYCURSOR); +yy1132: + YYDEBUG(1132, *YYCURSOR); yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if(yych <= '/') goto yy669; - if(yych <= '9') goto yy1132; - if(yych <= ':') goto yy1133; + if(yych <= '9') goto yy1133; + if(yych <= ':') goto yy1134; goto yy669; -yy1132: - YYDEBUG(1132, *YYCURSOR); +yy1133: + YYDEBUG(1133, *YYCURSOR); yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if(yych != ':') goto yy669; - goto yy1133; -yy1133: - YYDEBUG(1133, *YYCURSOR); + goto yy1134; +yy1134: + YYDEBUG(1134, *YYCURSOR); yych = *++YYCURSOR; if(yych <= '/') goto yy53; - if(yych <= '5') goto yy1134; - if(yych <= '6') goto yy1135; + if(yych <= '5') goto yy1135; + if(yych <= '6') goto yy1136; if(yych <= '9') goto yy674; goto yy53; -yy1134: - YYDEBUG(1134, *YYCURSOR); +yy1135: + YYDEBUG(1135, *YYCURSOR); yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if(yych == '.') goto yy675; if(yych <= '/') goto yy669; if(yych <= '9') goto yy674; goto yy669; -yy1135: - YYDEBUG(1135, *YYCURSOR); +yy1136: + YYDEBUG(1136, *YYCURSOR); yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if(yych == '.') goto yy675; if(yych == '0') goto yy674; goto yy669; -yy1136: - YYDEBUG(1136, *YYCURSOR); +yy1137: + YYDEBUG(1137, *YYCURSOR); yych = *++YYCURSOR; YYDEBUG(-1, yych); switch(yych){ @@ -12909,7 +12931,7 @@ yy1136: case '2': case '3': case '4': - case '5': goto yy1114; + case '5': goto yy1115; case '6': case '7': case '8': @@ -12922,8 +12944,8 @@ yy1136: case 'S': case 's': goto yy663; default: goto yy649; } -yy1137: - YYDEBUG(1137, *YYCURSOR); +yy1138: + YYDEBUG(1138, *YYCURSOR); yych = *++YYCURSOR; YYDEBUG(-1, yych); switch(yych){ @@ -12935,12 +12957,12 @@ yy1137: case '2': case '3': case '4': - case '5': goto yy1114; + case '5': goto yy1115; case '6': case '7': case '8': case '9': goto yy861; - case ':': goto yy1113; + case ':': goto yy1114; case 'D': case 'd': goto yy666; case 'F': case 'f': goto yy660; case 'H': case 'T': case 'W': case 'Y': case 'h': case 't': case 'w': case 'y': goto yy53; @@ -12948,21 +12970,21 @@ yy1137: case 'S': case 's': goto yy663; default: goto yy649; } -yy1138: - YYDEBUG(1138, *YYCURSOR); +yy1139: + YYDEBUG(1139, *YYCURSOR); ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; - goto yy1139; -yy1139: - YYDEBUG(1139, *YYCURSOR); - if(yych <= '/') goto yy1140; - if(yych <= '9') goto yy1138; goto yy1140; yy1140: YYDEBUG(1140, *YYCURSOR); + if(yych <= '/') goto yy1141; + if(yych <= '9') goto yy1139; + goto yy1141; +yy1141: + YYDEBUG(1141, *YYCURSOR); -#line 902 "parse_date.re" +#line 903 "parse_date.re" { timelib_ull i; @@ -12985,27 +13007,22 @@ yy1140: TIMELIB_DEINIT; return TIMELIB_RELATIVE; } -#line 10681 "" -yy1141: - YYDEBUG(1141, *YYCURSOR); - yych = *++YYCURSOR; - if(yych == 'd') goto yy1142; - if(yych == 'm') goto yy1143; - goto yy49; +#line 10701 "" yy1142: YYDEBUG(1142, *YYCURSOR); yych = *++YYCURSOR; - if(yych == 'a') goto yy1150; + if(yych == 'd') goto yy1143; + if(yych == 'm') goto yy1144; goto yy49; yy1143: YYDEBUG(1143, *YYCURSOR); yych = *++YYCURSOR; - if(yych != 'o') goto yy49; - goto yy1144; + if(yych == 'a') goto yy1151; + goto yy49; yy1144: YYDEBUG(1144, *YYCURSOR); yych = *++YYCURSOR; - if(yych != 'r') goto yy49; + if(yych != 'o') goto yy49; goto yy1145; yy1145: YYDEBUG(1145, *YYCURSOR); @@ -13015,25 +13032,30 @@ yy1145: yy1146: YYDEBUG(1146, *YYCURSOR); yych = *++YYCURSOR; - if(yych != 'o') goto yy49; + if(yych != 'r') goto yy49; goto yy1147; yy1147: YYDEBUG(1147, *YYCURSOR); yych = *++YYCURSOR; - if(yych != 'w') goto yy49; + if(yych != 'o') goto yy49; goto yy1148; yy1148: YYDEBUG(1148, *YYCURSOR); + yych = *++YYCURSOR; + if(yych != 'w') goto yy49; + goto yy1149; +yy1149: + YYDEBUG(1149, *YYCURSOR); ++YYCURSOR; if(yybm[0+(yych = *YYCURSOR)] & 4) { yych = *YYCURSOR; goto yy48; } - goto yy1149; -yy1149: - YYDEBUG(1149, *YYCURSOR); + goto yy1150; +yy1150: + YYDEBUG(1150, *YYCURSOR); -#line 890 "parse_date.re" +#line 891 "parse_date.re" { DEBUG_OUTPUT("tomorrow"); TIMELIB_INIT; @@ -13044,24 +13066,24 @@ yy1149: TIMELIB_DEINIT; return TIMELIB_RELATIVE; } -#line 10722 "" -yy1150: - YYDEBUG(1150, *YYCURSOR); - yych = *++YYCURSOR; - if(yych != 'y') goto yy49; - goto yy1151; +#line 10742 "" yy1151: YYDEBUG(1151, *YYCURSOR); + yych = *++YYCURSOR; + if(yych != 'y') goto yy49; + goto yy1152; +yy1152: + YYDEBUG(1152, *YYCURSOR); ++YYCURSOR; if(yybm[0+(yych = *YYCURSOR)] & 4) { yych = *YYCURSOR; goto yy48; } - goto yy1152; -yy1152: - YYDEBUG(1152, *YYCURSOR); + goto yy1153; +yy1153: + YYDEBUG(1153, *YYCURSOR); -#line 880 "parse_date.re" +#line 881 "parse_date.re" { DEBUG_OUTPUT("today"); TIMELIB_INIT; @@ -13070,9 +13092,9 @@ yy1152: TIMELIB_DEINIT; return TIMELIB_RELATIVE; } -#line 10742 "" -yy1153: - YYDEBUG(1153, *YYCURSOR); +#line 10762 "" +yy1154: + YYDEBUG(1154, *YYCURSOR); yych = *++YYCURSOR; if(yych <= 'u'){ if(yych == 'V') goto yy481; @@ -13080,20 +13102,20 @@ yy1153: } else { if(yych <= 'v') goto yy481; if(yych >= 'x') goto yy49; - goto yy1154; + goto yy1155; } -yy1154: - YYDEBUG(1154, *YYCURSOR); +yy1155: + YYDEBUG(1155, *YYCURSOR); ++YYCURSOR; if(yybm[0+(yych = *YYCURSOR)] & 4) { yych = *YYCURSOR; goto yy48; } - goto yy1155; -yy1155: - YYDEBUG(1155, *YYCURSOR); + goto yy1156; +yy1156: + YYDEBUG(1156, *YYCURSOR); -#line 871 "parse_date.re" +#line 872 "parse_date.re" { DEBUG_OUTPUT("now"); TIMELIB_INIT; @@ -13101,54 +13123,54 @@ yy1155: TIMELIB_DEINIT; return TIMELIB_RELATIVE; } -#line 10767 "" -yy1156: - YYDEBUG(1156, *YYCURSOR); - yych = *++YYCURSOR; - if(yych != 's') goto yy49; - goto yy1157; +#line 10787 "" yy1157: YYDEBUG(1157, *YYCURSOR); yych = *++YYCURSOR; - if(yych != 't') goto yy49; + if(yych != 's') goto yy49; goto yy1158; yy1158: YYDEBUG(1158, *YYCURSOR); yych = *++YYCURSOR; - if(yych != 'e') goto yy49; + if(yych != 't') goto yy49; goto yy1159; yy1159: YYDEBUG(1159, *YYCURSOR); yych = *++YYCURSOR; - if(yych != 'r') goto yy49; + if(yych != 'e') goto yy49; goto yy1160; yy1160: YYDEBUG(1160, *YYCURSOR); yych = *++YYCURSOR; - if(yych != 'd') goto yy49; + if(yych != 'r') goto yy49; goto yy1161; yy1161: YYDEBUG(1161, *YYCURSOR); yych = *++YYCURSOR; - if(yych != 'a') goto yy49; + if(yych != 'd') goto yy49; goto yy1162; yy1162: YYDEBUG(1162, *YYCURSOR); yych = *++YYCURSOR; - if(yych != 'y') goto yy49; + if(yych != 'a') goto yy49; goto yy1163; yy1163: YYDEBUG(1163, *YYCURSOR); + yych = *++YYCURSOR; + if(yych != 'y') goto yy49; + goto yy1164; +yy1164: + YYDEBUG(1164, *YYCURSOR); ++YYCURSOR; if(yybm[0+(yych = *YYCURSOR)] & 4) { yych = *YYCURSOR; goto yy48; } - goto yy1164; -yy1164: - YYDEBUG(1164, *YYCURSOR); + goto yy1165; +yy1165: + YYDEBUG(1165, *YYCURSOR); -#line 859 "parse_date.re" +#line 860 "parse_date.re" { DEBUG_OUTPUT("yesterday"); TIMELIB_INIT; @@ -13159,10 +13181,10 @@ yy1164: TIMELIB_DEINIT; return TIMELIB_RELATIVE; } -#line 10807 "" +#line 10827 "" } } -#line 1337 "parse_date.re" +#line 1357 "parse_date.re" } diff --git a/ext/date/lib/parse_date.re b/ext/date/lib/parse_date.re index 47e600df08..594564404c 100644 --- a/ext/date/lib/parse_date.re +++ b/ext/date/lib/parse_date.re @@ -829,6 +829,7 @@ pgydotd = year4 "."? dayofyear; pgtextshort = monthabbr "-" daylz "-" year; pgtextreverse = year "-" monthabbr "-" daylz; isoweekday = year4 "W" weekofyear [0-7]; +isoweek = year4 "W" weekofyear; /* Common Log Format: 10/Oct/2000:13:55:36 -0700 */ clf = day "/" monthabbr "/" year4 ":" hour24lz ":" minutelz ":" secondlz space tzcorrection; @@ -1178,6 +1179,25 @@ relativetext = (reltextnumber space reltextunit)+; return TIMELIB_ISO_WEEK; } + isoweek + { + timelib_sll w, d; + + TIMELIB_INIT; + TIMELIB_HAVE_DATE(); + TIMELIB_HAVE_RELATIVE(); + + s->time->y = timelib_get_nr((char **) &ptr, 4); + w = timelib_get_nr((char **) &ptr, 2); + d = 1; + s->time->m = 1; + s->time->d = 1; + s->time->relative.d = timelib_daynr_from_weeknr(s->time->y, w, d); + + TIMELIB_DEINIT; + return TIMELIB_ISO_WEEK; + } + pgtextshort { TIMELIB_INIT; diff --git a/ext/date/lib/resource/parse_date.re b/ext/date/lib/resource/parse_date.re index 47e600df08..594564404c 100644 --- a/ext/date/lib/resource/parse_date.re +++ b/ext/date/lib/resource/parse_date.re @@ -829,6 +829,7 @@ pgydotd = year4 "."? dayofyear; pgtextshort = monthabbr "-" daylz "-" year; pgtextreverse = year "-" monthabbr "-" daylz; isoweekday = year4 "W" weekofyear [0-7]; +isoweek = year4 "W" weekofyear; /* Common Log Format: 10/Oct/2000:13:55:36 -0700 */ clf = day "/" monthabbr "/" year4 ":" hour24lz ":" minutelz ":" secondlz space tzcorrection; @@ -1178,6 +1179,25 @@ relativetext = (reltextnumber space reltextunit)+; return TIMELIB_ISO_WEEK; } + isoweek + { + timelib_sll w, d; + + TIMELIB_INIT; + TIMELIB_HAVE_DATE(); + TIMELIB_HAVE_RELATIVE(); + + s->time->y = timelib_get_nr((char **) &ptr, 4); + w = timelib_get_nr((char **) &ptr, 2); + d = 1; + s->time->m = 1; + s->time->d = 1; + s->time->relative.d = timelib_daynr_from_weeknr(s->time->y, w, d); + + TIMELIB_DEINIT; + return TIMELIB_ISO_WEEK; + } + pgtextshort { TIMELIB_INIT; diff --git a/ext/date/tests/bug29585.phpt b/ext/date/tests/bug29585.phpt new file mode 100644 index 0000000000..17a3c97a2c --- /dev/null +++ b/ext/date/tests/bug29585.phpt @@ -0,0 +1,9 @@ +--TEST-- +Bug #29585 (Support week numbers in strtotime()) +--FILE-- + +--EXPECT-- +2004-07-19 00:00:00