-/* Generated by re2c 0.9.8.dev on Tue Jun 28 19:53:13 2005 */
+/* Generated by re2c 0.9.8.dev on Tue Jun 28 20:03:29 2005 */
#line 1 "parse_date.re"
/*
+----------------------------------------------------------------------+
#include "timelib.h"
#if defined(_MSC_VER)
-#define strcasecmp stricmp
-#define strtoll(s, f, b) _atoi64(s)
+# define strcasecmp stricmp
+# define strtoll(s, f, b) _atoi64(s)
+#elif !defined(HAVE_STRTOLL)
+# if defined(HAVE_ATOLL)
+# define strtoll(s, f, b) atoll(s)
+# else
+# define strtoll(s, f, b) strtol(s, f, b)
+# endif
#endif
#define TIMELIB_SECOND 1
std:
s->tok = cursor;
s->len = 0;
-#line 869 "parse_date.re"
+#line 875 "parse_date.re"
{
0, 0, 0, 0, 0, 0, 0, 0,
};
-#line 808 "<stdout>"
+#line 814 "<stdout>"
{
YYCTYPE yych;
unsigned int yyaccept;
yy3:
YYDEBUG(3, *YYCURSOR);
-#line 1307 "parse_date.re"
+#line 1313 "parse_date.re"
{
TIMELIB_INIT;
s->time->z = timelib_get_zone((char **) &ptr, &s->time->dst, s->time);
TIMELIB_DEINIT;
return TIMELIB_TIMEZONE;
}
-#line 886 "<stdout>"
+#line 892 "<stdout>"
yy4:
YYDEBUG(4, *YYCURSOR);
yych = *++YYCURSOR;
yy7:
YYDEBUG(7, *YYCURSOR);
-#line 1367 "parse_date.re"
+#line 1373 "parse_date.re"
{
/* printf("unexpected character: #%d, %c\n", *s->tok, *s->tok); */
goto std;
}
-#line 952 "<stdout>"
+#line 958 "<stdout>"
yy8:
YYDEBUG(8, *YYCURSOR);
yyaccept = 0;
yy44:
YYDEBUG(44, *YYCURSOR);
-#line 1356 "parse_date.re"
+#line 1362 "parse_date.re"
{
goto std;
}
-#line 1612 "<stdout>"
+#line 1618 "<stdout>"
yy45:
YYDEBUG(45, *YYCURSOR);
++YYCURSOR;
yy46:
YYDEBUG(46, *YYCURSOR);
-#line 1361 "parse_date.re"
+#line 1367 "parse_date.re"
{
s->pos = cursor; s->line++;
goto std;
}
-#line 1621 "<stdout>"
+#line 1627 "<stdout>"
yy47:
YYDEBUG(47, *YYCURSOR);
yych = *++YYCURSOR;
yy81:
YYDEBUG(81, *YYCURSOR);
-#line 1340 "parse_date.re"
+#line 1346 "parse_date.re"
{
timelib_ull i;
TIMELIB_DEINIT;
return TIMELIB_RELATIVE;
}
-#line 1918 "<stdout>"
+#line 1924 "<stdout>"
yy82:
YYDEBUG(82, *YYCURSOR);
++YYCURSOR;
yy148:
YYDEBUG(148, *YYCURSOR);
-#line 1302 "parse_date.re"
+#line 1308 "parse_date.re"
{
goto std;
}
-#line 2411 "<stdout>"
+#line 2417 "<stdout>"
yy149:
YYDEBUG(149, *YYCURSOR);
yych = *++YYCURSOR;
yy155:
YYDEBUG(155, *YYCURSOR);
-#line 1286 "parse_date.re"
+#line 1292 "parse_date.re"
{
const timelib_relunit* relunit;
TIMELIB_DEINIT;
return TIMELIB_RELATIVE;
}
-#line 2454 "<stdout>"
+#line 2460 "<stdout>"
yy156:
YYDEBUG(156, *YYCURSOR);
yyaccept = 1;
yy188:
YYDEBUG(188, *YYCURSOR);
-#line 1270 "parse_date.re"
+#line 1276 "parse_date.re"
{
timelib_sll i;
TIMELIB_DEINIT;
return TIMELIB_RELATIVE;
}
-#line 2785 "<stdout>"
+#line 2791 "<stdout>"
yy189:
YYDEBUG(189, *YYCURSOR);
++YYCURSOR;
yy391:
YYDEBUG(391, *YYCURSOR);
-#line 1100 "parse_date.re"
+#line 1106 "parse_date.re"
{
TIMELIB_INIT;
TIMELIB_HAVE_DATE();
TIMELIB_DEINIT;
return TIMELIB_DATE_NO_DAY;
}
-#line 4559 "<stdout>"
+#line 4565 "<stdout>"
yy392:
YYDEBUG(392, *YYCURSOR);
yych = *++YYCURSOR;
yy397:
YYDEBUG(397, *YYCURSOR);
-#line 1124 "parse_date.re"
+#line 1130 "parse_date.re"
{
TIMELIB_INIT;
TIMELIB_HAVE_DATE();
TIMELIB_DEINIT;
return TIMELIB_DATE_TEXT;
}
-#line 4609 "<stdout>"
+#line 4615 "<stdout>"
yy398:
YYDEBUG(398, *YYCURSOR);
yych = *++YYCURSOR;
yy409:
YYDEBUG(409, *YYCURSOR);
-#line 1315 "parse_date.re"
+#line 1321 "parse_date.re"
{
TIMELIB_INIT;
TIMELIB_HAVE_DATE();
TIMELIB_DEINIT;
return TIMELIB_SHORTDATE_WITH_TIME;
}
-#line 4698 "<stdout>"
+#line 4704 "<stdout>"
yy410:
YYDEBUG(410, *YYCURSOR);
yyaccept = 7;
yy450:
YYDEBUG(450, *YYCURSOR);
-#line 1216 "parse_date.re"
+#line 1222 "parse_date.re"
{
TIMELIB_INIT;
TIMELIB_HAVE_DATE();
TIMELIB_DEINIT;
return TIMELIB_PG_TEXT;
}
-#line 4953 "<stdout>"
+#line 4959 "<stdout>"
yy451:
YYDEBUG(451, *YYCURSOR);
yych = *++YYCURSOR;
yy558:
YYDEBUG(558, *YYCURSOR);
-#line 1256 "parse_date.re"
+#line 1262 "parse_date.re"
{
TIMELIB_INIT;
s->time->relative.y = 0 - s->time->relative.y;
TIMELIB_DEINIT;
return TIMELIB_AGO;
}
-#line 6197 "<stdout>"
+#line 6203 "<stdout>"
yy559:
YYDEBUG(559, *YYCURSOR);
yyaccept = 1;
yy668:
YYDEBUG(668, *YYCURSOR);
-#line 956 "parse_date.re"
+#line 962 "parse_date.re"
{
DEBUG_OUTPUT("timeshort24 | timelong24 | iso8601long");
TIMELIB_INIT;
TIMELIB_DEINIT;
return TIMELIB_TIME24_WITH_ZONE;
}
-#line 7639 "<stdout>"
+#line 7645 "<stdout>"
yy669:
YYDEBUG(669, *YYCURSOR);
yyaccept = 10;
yy683:
YYDEBUG(683, *YYCURSOR);
-#line 941 "parse_date.re"
+#line 947 "parse_date.re"
{
DEBUG_OUTPUT("timeshort12 | timelong12");
TIMELIB_INIT;
TIMELIB_DEINIT;
return TIMELIB_TIME12;
}
-#line 7750 "<stdout>"
+#line 7756 "<stdout>"
yy684:
YYDEBUG(684, *YYCURSOR);
yych = *++YYCURSOR;
yy696:
YYDEBUG(696, *YYCURSOR);
-#line 1076 "parse_date.re"
+#line 1082 "parse_date.re"
{
TIMELIB_INIT;
TIMELIB_HAVE_DATE();
TIMELIB_DEINIT;
return TIMELIB_DATE_FULL;
}
-#line 7845 "<stdout>"
+#line 7851 "<stdout>"
yy697:
YYDEBUG(697, *YYCURSOR);
yych = *++YYCURSOR;
yy755:
YYDEBUG(755, *YYCURSOR);
-#line 1088 "parse_date.re"
+#line 1094 "parse_date.re"
{
TIMELIB_INIT;
TIMELIB_HAVE_DATE();
TIMELIB_DEINIT;
return TIMELIB_DATE_FULL_POINTED;
}
-#line 8105 "<stdout>"
+#line 8111 "<stdout>"
yy756:
YYDEBUG(756, *YYCURSOR);
yych = *++YYCURSOR;
yy800:
YYDEBUG(800, *YYCURSOR);
-#line 1064 "parse_date.re"
+#line 1070 "parse_date.re"
{
TIMELIB_INIT;
TIMELIB_HAVE_DATE();
TIMELIB_DEINIT;
return TIMELIB_ISO_DATE;
}
-#line 8398 "<stdout>"
+#line 8404 "<stdout>"
yy801:
YYDEBUG(801, *YYCURSOR);
yych = *++YYCURSOR;
yy804:
YYDEBUG(804, *YYCURSOR);
-#line 1039 "parse_date.re"
+#line 1045 "parse_date.re"
{
TIMELIB_INIT;
TIMELIB_HAVE_DATE();
TIMELIB_DEINIT;
return TIMELIB_AMERICAN;
}
-#line 8425 "<stdout>"
+#line 8431 "<stdout>"
yy805:
YYDEBUG(805, *YYCURSOR);
yyaccept = 11;
yy837:
YYDEBUG(837, *YYCURSOR);
-#line 1240 "parse_date.re"
+#line 1246 "parse_date.re"
{
TIMELIB_INIT;
TIMELIB_HAVE_TIME();
TIMELIB_DEINIT;
return TIMELIB_CLF;
}
-#line 8596 "<stdout>"
+#line 8602 "<stdout>"
yy838:
YYDEBUG(838, *YYCURSOR);
yyaccept = 12;
yy877:
YYDEBUG(877, *YYCURSOR);
-#line 1228 "parse_date.re"
+#line 1234 "parse_date.re"
{
TIMELIB_INIT;
TIMELIB_HAVE_DATE();
TIMELIB_DEINIT;
return TIMELIB_PG_TEXT;
}
-#line 8838 "<stdout>"
+#line 8844 "<stdout>"
yy878:
YYDEBUG(878, *YYCURSOR);
yych = *++YYCURSOR;
yy897:
YYDEBUG(897, *YYCURSOR);
-#line 1112 "parse_date.re"
+#line 1118 "parse_date.re"
{
TIMELIB_INIT;
TIMELIB_HAVE_DATE();
TIMELIB_DEINIT;
return TIMELIB_DATE_NO_DAY;
}
-#line 9051 "<stdout>"
+#line 9057 "<stdout>"
yy898:
YYDEBUG(898, *YYCURSOR);
yych = *++YYCURSOR;
yy917:
YYDEBUG(917, *YYCURSOR);
-#line 1197 "parse_date.re"
+#line 1203 "parse_date.re"
{
timelib_sll w, d;
TIMELIB_DEINIT;
return TIMELIB_ISO_WEEK;
}
-#line 9183 "<stdout>"
+#line 9189 "<stdout>"
yy918:
YYDEBUG(918, *YYCURSOR);
++YYCURSOR;
yy919:
YYDEBUG(919, *YYCURSOR);
-#line 1178 "parse_date.re"
+#line 1184 "parse_date.re"
{
timelib_sll w, d;
TIMELIB_DEINIT;
return TIMELIB_ISO_WEEK;
}
-#line 9205 "<stdout>"
+#line 9211 "<stdout>"
yy920:
YYDEBUG(920, *YYCURSOR);
yych = *++YYCURSOR;
yy923:
YYDEBUG(923, *YYCURSOR);
-#line 1166 "parse_date.re"
+#line 1172 "parse_date.re"
{
TIMELIB_INIT;
TIMELIB_HAVE_DATE();
TIMELIB_DEINIT;
return TIMELIB_PG_YEARDAY;
}
-#line 9241 "<stdout>"
+#line 9247 "<stdout>"
yy924:
YYDEBUG(924, *YYCURSOR);
yych = *++YYCURSOR;
yy930:
YYDEBUG(930, *YYCURSOR);
-#line 1136 "parse_date.re"
+#line 1142 "parse_date.re"
{
TIMELIB_INIT;
TIMELIB_HAVE_DATE();
TIMELIB_DEINIT;
return TIMELIB_DATE_NOCOLON;
}
-#line 9313 "<stdout>"
+#line 9319 "<stdout>"
yy931:
YYDEBUG(931, *YYCURSOR);
yych = *++YYCURSOR;
yy941:
YYDEBUG(941, *YYCURSOR);
-#line 1147 "parse_date.re"
+#line 1153 "parse_date.re"
{
TIMELIB_INIT;
TIMELIB_HAVE_TIME();
TIMELIB_DEINIT;
return TIMELIB_XMLRPC_SOAP;
}
-#line 9377 "<stdout>"
+#line 9383 "<stdout>"
yy942:
YYDEBUG(942, *YYCURSOR);
yych = *++YYCURSOR;
yy1035:
YYDEBUG(1035, *YYCURSOR);
-#line 1053 "parse_date.re"
+#line 1059 "parse_date.re"
{
TIMELIB_INIT;
TIMELIB_HAVE_DATE();
TIMELIB_DEINIT;
return TIMELIB_ISO_DATE;
}
-#line 9880 "<stdout>"
+#line 9886 "<stdout>"
yy1036:
YYDEBUG(1036, *YYCURSOR);
yych = *++YYCURSOR;
yy1116:
YYDEBUG(1116, *YYCURSOR);
-#line 978 "parse_date.re"
+#line 984 "parse_date.re"
{
DEBUG_OUTPUT("gnunocolon");
TIMELIB_INIT;
TIMELIB_DEINIT;
return TIMELIB_GNU_NOCOLON;
}
-#line 10518 "<stdout>"
+#line 10524 "<stdout>"
yy1117:
YYDEBUG(1117, *YYCURSOR);
yych = *++YYCURSOR;
yy1124:
YYDEBUG(1124, *YYCURSOR);
-#line 1023 "parse_date.re"
+#line 1029 "parse_date.re"
{
DEBUG_OUTPUT("iso8601nocolon");
TIMELIB_INIT;
TIMELIB_DEINIT;
return TIMELIB_ISO_NOCOLON;
}
-#line 10590 "<stdout>"
+#line 10596 "<stdout>"
yy1125:
YYDEBUG(1125, *YYCURSOR);
yyaccept = 19;
yy1140:
YYDEBUG(1140, *YYCURSOR);
-#line 917 "parse_date.re"
+#line 923 "parse_date.re"
{
timelib_ull i;
TIMELIB_DEINIT;
return TIMELIB_RELATIVE;
}
-#line 10757 "<stdout>"
+#line 10763 "<stdout>"
yy1141:
YYDEBUG(1141, *YYCURSOR);
yych = *++YYCURSOR;
yy1149:
YYDEBUG(1149, *YYCURSOR);
-#line 905 "parse_date.re"
+#line 911 "parse_date.re"
{
DEBUG_OUTPUT("tomorrow");
TIMELIB_INIT;
TIMELIB_DEINIT;
return TIMELIB_RELATIVE;
}
-#line 10798 "<stdout>"
+#line 10804 "<stdout>"
yy1150:
YYDEBUG(1150, *YYCURSOR);
yych = *++YYCURSOR;
yy1152:
YYDEBUG(1152, *YYCURSOR);
-#line 895 "parse_date.re"
+#line 901 "parse_date.re"
{
DEBUG_OUTPUT("today");
TIMELIB_INIT;
TIMELIB_DEINIT;
return TIMELIB_RELATIVE;
}
-#line 10818 "<stdout>"
+#line 10824 "<stdout>"
yy1153:
YYDEBUG(1153, *YYCURSOR);
yych = *++YYCURSOR;
yy1155:
YYDEBUG(1155, *YYCURSOR);
-#line 886 "parse_date.re"
+#line 892 "parse_date.re"
{
DEBUG_OUTPUT("now");
TIMELIB_INIT;
TIMELIB_DEINIT;
return TIMELIB_RELATIVE;
}
-#line 10843 "<stdout>"
+#line 10849 "<stdout>"
yy1156:
YYDEBUG(1156, *YYCURSOR);
yych = *++YYCURSOR;
yy1164:
YYDEBUG(1164, *YYCURSOR);
-#line 874 "parse_date.re"
+#line 880 "parse_date.re"
{
DEBUG_OUTPUT("yesterday");
TIMELIB_INIT;
TIMELIB_DEINIT;
return TIMELIB_RELATIVE;
}
-#line 10883 "<stdout>"
+#line 10889 "<stdout>"
}
}
-#line 1371 "parse_date.re"
+#line 1377 "parse_date.re"
}