-/* Generated by re2c 0.9.8.dev on Tue Jun 28 20:03:29 2005 */
+/* Generated by re2c 0.9.8.dev on Wed Jun 29 20:46:25 2005 */
#line 1 "parse_date.re"
/*
+----------------------------------------------------------------------+
/* $Id$ */
-#include <timelib_config.h>
+#include "timelib.h"
#include <stdio.h>
#include <strings.h>
#endif
-#include "timelib.h"
-
#if defined(_MSC_VER)
# define strcasecmp stricmp
# define strtoll(s, f, b) _atoi64(s)
std:
s->tok = cursor;
s->len = 0;
-#line 875 "parse_date.re"
+#line 873 "parse_date.re"
{
0, 0, 0, 0, 0, 0, 0, 0,
};
-#line 814 "<stdout>"
+#line 812 "<stdout>"
{
YYCTYPE yych;
unsigned int yyaccept;
yy2:
YYDEBUG(2, *YYCURSOR);
++YYCURSOR;
- if((yych = *YYCURSOR) == 'e') goto yy1156;
+ if((yych = *YYCURSOR) == 'e') goto yy1157;
goto yy49;
yy3:
YYDEBUG(3, *YYCURSOR);
-#line 1313 "parse_date.re"
+#line 1311 "parse_date.re"
{
TIMELIB_INIT;
s->time->z = timelib_get_zone((char **) &ptr, &s->time->dst, s->time);
TIMELIB_DEINIT;
return TIMELIB_TIMEZONE;
}
-#line 892 "<stdout>"
+#line 890 "<stdout>"
yy4:
YYDEBUG(4, *YYCURSOR);
yych = *++YYCURSOR;
goto yy49;
} else {
if(yych <= 'i') goto yy473;
- if(yych == 'o') goto yy1153;
+ if(yych == 'o') goto yy1154;
goto yy49;
}
}
} else {
if(yych <= 'h') goto yy344;
if(yych <= 'n') goto yy49;
- goto yy1141;
+ goto yy1142;
}
} else {
if(yych <= 'u'){
}
yy6:
YYDEBUG(6, *YYCURSOR);
- ++YYCURSOR;
- if((yych = *YYCURSOR) <= '0') goto yy7;
- if(yych <= '9') goto yy1138;
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if(yych == '-') goto yy1138;
+ if(yych <= '0') goto yy7;
+ if(yych <= '9') goto yy1139;
goto yy7;
yy7:
YYDEBUG(7, *YYCURSOR);
-#line 1373 "parse_date.re"
+#line 1371 "parse_date.re"
{
/* printf("unexpected character: #%d, %c\n", *s->tok, *s->tok); */
goto std;
yy44:
YYDEBUG(44, *YYCURSOR);
-#line 1362 "parse_date.re"
+#line 1360 "parse_date.re"
{
goto std;
}
yy46:
YYDEBUG(46, *YYCURSOR);
-#line 1367 "parse_date.re"
+#line 1365 "parse_date.re"
{
s->pos = cursor; s->line++;
goto std;
yy81:
YYDEBUG(81, *YYCURSOR);
-#line 1346 "parse_date.re"
+#line 1344 "parse_date.re"
{
timelib_ull i;
yy148:
YYDEBUG(148, *YYCURSOR);
-#line 1308 "parse_date.re"
+#line 1306 "parse_date.re"
{
goto std;
}
yy155:
YYDEBUG(155, *YYCURSOR);
-#line 1292 "parse_date.re"
+#line 1290 "parse_date.re"
{
const timelib_relunit* relunit;
yy188:
YYDEBUG(188, *YYCURSOR);
-#line 1276 "parse_date.re"
+#line 1274 "parse_date.re"
{
timelib_sll i;
yy391:
YYDEBUG(391, *YYCURSOR);
-#line 1106 "parse_date.re"
+#line 1104 "parse_date.re"
{
TIMELIB_INIT;
TIMELIB_HAVE_DATE();
yy397:
YYDEBUG(397, *YYCURSOR);
-#line 1130 "parse_date.re"
+#line 1128 "parse_date.re"
{
TIMELIB_INIT;
TIMELIB_HAVE_DATE();
yy409:
YYDEBUG(409, *YYCURSOR);
-#line 1321 "parse_date.re"
+#line 1319 "parse_date.re"
{
TIMELIB_INIT;
TIMELIB_HAVE_DATE();
yy450:
YYDEBUG(450, *YYCURSOR);
-#line 1222 "parse_date.re"
+#line 1220 "parse_date.re"
{
TIMELIB_INIT;
TIMELIB_HAVE_DATE();
yy558:
YYDEBUG(558, *YYCURSOR);
-#line 1262 "parse_date.re"
+#line 1260 "parse_date.re"
{
TIMELIB_INIT;
s->time->relative.y = 0 - s->time->relative.y;
yy668:
YYDEBUG(668, *YYCURSOR);
-#line 962 "parse_date.re"
+#line 960 "parse_date.re"
{
DEBUG_OUTPUT("timeshort24 | timelong24 | iso8601long");
TIMELIB_INIT;
yy683:
YYDEBUG(683, *YYCURSOR);
-#line 947 "parse_date.re"
+#line 945 "parse_date.re"
{
DEBUG_OUTPUT("timeshort12 | timelong12");
TIMELIB_INIT;
yy696:
YYDEBUG(696, *YYCURSOR);
-#line 1082 "parse_date.re"
+#line 1080 "parse_date.re"
{
TIMELIB_INIT;
TIMELIB_HAVE_DATE();
yy755:
YYDEBUG(755, *YYCURSOR);
-#line 1094 "parse_date.re"
+#line 1092 "parse_date.re"
{
TIMELIB_INIT;
TIMELIB_HAVE_DATE();
yy800:
YYDEBUG(800, *YYCURSOR);
-#line 1070 "parse_date.re"
+#line 1068 "parse_date.re"
{
TIMELIB_INIT;
TIMELIB_HAVE_DATE();
yy804:
YYDEBUG(804, *YYCURSOR);
-#line 1045 "parse_date.re"
+#line 1043 "parse_date.re"
{
TIMELIB_INIT;
TIMELIB_HAVE_DATE();
yy837:
YYDEBUG(837, *YYCURSOR);
-#line 1246 "parse_date.re"
+#line 1244 "parse_date.re"
{
TIMELIB_INIT;
TIMELIB_HAVE_TIME();
yy877:
YYDEBUG(877, *YYCURSOR);
-#line 1234 "parse_date.re"
+#line 1232 "parse_date.re"
{
TIMELIB_INIT;
TIMELIB_HAVE_DATE();
yy897:
YYDEBUG(897, *YYCURSOR);
-#line 1118 "parse_date.re"
+#line 1116 "parse_date.re"
{
TIMELIB_INIT;
TIMELIB_HAVE_DATE();
yy917:
YYDEBUG(917, *YYCURSOR);
-#line 1203 "parse_date.re"
+#line 1201 "parse_date.re"
{
timelib_sll w, d;
yy919:
YYDEBUG(919, *YYCURSOR);
-#line 1184 "parse_date.re"
+#line 1182 "parse_date.re"
{
timelib_sll w, d;
yy923:
YYDEBUG(923, *YYCURSOR);
-#line 1172 "parse_date.re"
+#line 1170 "parse_date.re"
{
TIMELIB_INIT;
TIMELIB_HAVE_DATE();
yy930:
YYDEBUG(930, *YYCURSOR);
-#line 1142 "parse_date.re"
+#line 1140 "parse_date.re"
{
TIMELIB_INIT;
TIMELIB_HAVE_DATE();
yy941:
YYDEBUG(941, *YYCURSOR);
-#line 1153 "parse_date.re"
+#line 1151 "parse_date.re"
{
TIMELIB_INIT;
TIMELIB_HAVE_TIME();
yy1035:
YYDEBUG(1035, *YYCURSOR);
-#line 1059 "parse_date.re"
+#line 1057 "parse_date.re"
{
TIMELIB_INIT;
TIMELIB_HAVE_DATE();
yy1116:
YYDEBUG(1116, *YYCURSOR);
-#line 984 "parse_date.re"
+#line 982 "parse_date.re"
{
DEBUG_OUTPUT("gnunocolon");
TIMELIB_INIT;
yy1124:
YYDEBUG(1124, *YYCURSOR);
-#line 1029 "parse_date.re"
+#line 1027 "parse_date.re"
{
DEBUG_OUTPUT("iso8601nocolon");
TIMELIB_INIT;
}
yy1138:
YYDEBUG(1138, *YYCURSOR);
- ++YYCURSOR;
- if(YYLIMIT == YYCURSOR) YYFILL(1);
- yych = *YYCURSOR;
+ yych = *++YYCURSOR;
+ if(yych <= '0') goto yy53;
+ if(yych >= ':') goto yy53;
goto yy1139;
yy1139:
YYDEBUG(1139, *YYCURSOR);
- if(yych <= '/') goto yy1140;
- if(yych <= '9') goto yy1138;
+ ++YYCURSOR;
+ if(YYLIMIT == YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
goto yy1140;
yy1140:
YYDEBUG(1140, *YYCURSOR);
+ if(yych <= '/') goto yy1141;
+ if(yych <= '9') goto yy1139;
+ goto yy1141;
+yy1141:
+ YYDEBUG(1141, *YYCURSOR);
-#line 923 "parse_date.re"
+#line 921 "parse_date.re"
{
timelib_ull i;
TIMELIB_DEINIT;
return TIMELIB_RELATIVE;
}
-#line 10763 "<stdout>"
-yy1141:
- YYDEBUG(1141, *YYCURSOR);
- yych = *++YYCURSOR;
- if(yych == 'd') goto yy1142;
- if(yych == 'm') goto yy1143;
- goto yy49;
+#line 10767 "<stdout>"
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);
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 911 "parse_date.re"
+#line 909 "parse_date.re"
{
DEBUG_OUTPUT("tomorrow");
TIMELIB_INIT;
TIMELIB_DEINIT;
return TIMELIB_RELATIVE;
}
-#line 10804 "<stdout>"
-yy1150:
- YYDEBUG(1150, *YYCURSOR);
- yych = *++YYCURSOR;
- if(yych != 'y') goto yy49;
- goto yy1151;
+#line 10808 "<stdout>"
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 901 "parse_date.re"
+#line 899 "parse_date.re"
{
DEBUG_OUTPUT("today");
TIMELIB_INIT;
TIMELIB_DEINIT;
return TIMELIB_RELATIVE;
}
-#line 10824 "<stdout>"
-yy1153:
- YYDEBUG(1153, *YYCURSOR);
+#line 10828 "<stdout>"
+yy1154:
+ YYDEBUG(1154, *YYCURSOR);
yych = *++YYCURSOR;
if(yych <= 'u'){
if(yych == 'V') goto yy480;
} else {
if(yych <= 'v') goto yy480;
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 892 "parse_date.re"
+#line 890 "parse_date.re"
{
DEBUG_OUTPUT("now");
TIMELIB_INIT;
TIMELIB_DEINIT;
return TIMELIB_RELATIVE;
}
-#line 10849 "<stdout>"
-yy1156:
- YYDEBUG(1156, *YYCURSOR);
- yych = *++YYCURSOR;
- if(yych != 's') goto yy49;
- goto yy1157;
+#line 10853 "<stdout>"
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 880 "parse_date.re"
+#line 878 "parse_date.re"
{
DEBUG_OUTPUT("yesterday");
TIMELIB_INIT;
TIMELIB_DEINIT;
return TIMELIB_RELATIVE;
}
-#line 10889 "<stdout>"
+#line 10893 "<stdout>"
}
}
-#line 1377 "parse_date.re"
+#line 1375 "parse_date.re"
}