2 static int start_cond = 0;
3 #define BEGIN start_cond =
5 struct yywork *yystoff;
11 #if !defined(HAVE_TM_GMTOFF) && !defined(HAVE_TZSET)
12 # include <sys/timeb.h>
15 #if !defined(HAVE_TM_GMTOFF) && defined(HAVE_TZSET)
18 extern char *tzname[];
22 # line 49 "./dtimep.lex"
24 * Patchable flag that says how to interpret NN/NN/NN dates. When
25 * true, we do it European style: DD/MM/YY. When false, we do it
26 * American style: MM/DD/YY. Of course, these are all non-RFC822
32 # line 57 "./dtimep.lex"
34 * Table to convert month names to numeric month. We use the
35 * fact that the low order 5 bits of the sum of the 2nd & 3rd
36 * characters of the name is a hash with no collisions for the 12
37 * valid month names. (The mask to 5 bits maps any combination of
38 * upper and lower case into the same hash value).
40 static int month_map[] = {
72 # line 95 "./dtimep.lex"
74 * Same trick for day-of-week using the hash function
77 static int day_map[] = {
91 #define SETDAY { tw.tw_wday= day_map[(cp[0] & 7) + (cp[1] & 4)];\
92 tw.tw_flags &= ~TW_SDAY; tw.tw_flags |= TW_SEXP;\
94 #define SETMONTH { tw.tw_mon = month_map[(cp[0] + cp[1]) & 0x1f]; gotdate++;\
97 #define CVT1OR2 (i=(*cp++ - '0'), isdigit(*cp)? i*10 + (*cp++ - '0') : i)
98 #define CVT2 ((cp[0] - '0')*10 + (cp[1] - '0'))
99 #define CVT4 ((((cp[0] - '0')*10 + (cp[1] - '0'))*10 + \
100 (cp[2] - '0'))*10 + (cp[3] - '0'))
101 #define SKIPD { while ( !isdigit(*cp++) ) ; --cp; }
102 #define EXPZONE { tw.tw_flags &= ~TW_SZONE; tw.tw_flags |= TW_SZEXP; }
103 #define ZONE(x) { tw.tw_zone=(x); EXPZONE; }
104 #define ZONED(x) { ZONE(x); tw.tw_flags |= TW_DST; }
105 #define LC(c) (isupper (c) ? tolower (c) : (c))
108 # ifdef TIME_WITH_SYS_TIME
109 # include <sys/time.h>
112 # ifdef HAVE_SYS_TIME_H
113 # include <sys/time.h>
120 zonehack (struct tws *tw)
122 register struct tm *tm;
124 if (dmktime (tw) == (time_t) -1)
127 tm = localtime (&tw->tw_clock);
129 tw->tw_flags |= TW_DST;
135 dparsetime (char *str)
138 static struct tws tw;
140 register int gotdate = 0;
143 #ifdef HAVE_TM_GMTOFF
149 # endif /* not HAVE_TZSET */
150 #endif /* HAVE_TM_GMTOFF */
154 /* Zero out the struct. */
155 memset( (char *) &tw, 0, sizeof(tw));
157 /* Set default time zone. */
158 #ifdef HAVE_TM_GMTOFF
160 tm = localtime(&clock);
161 tw.tw_zone = tm->tm_gmtoff / 60;
162 if (tm->tm_isdst) /* if DST is in effect */
163 tw.tw_zone -= 60; /* reset to normal offset */
167 tw.tw_zone = -(timezone / 60);
170 tw.tw_zone = -tb.timezone;
171 # endif /* HAVE_TZSET */
172 #endif /* HAVE_TM_GMTOFF */
174 while (isspace(*str))
177 switch (cp = str, *cp ? lex_string( &str, start_cond) : 0) {
180 if (!gotdate || tw.tw_year == 0)
181 return (struct tws *)0;
184 if (tw.tw_year == 0) {
185 /* Set default year. */
187 tw.tw_year = localtime(&tclock)->tm_year + 1900;
188 } else if (tw.tw_year < 100) {
189 /* assume no 2-digit years > 1999 */
195 /* to avoid CC and lint complaining yyfussy not being used ...*/
196 static int __lex_hack = 0;
197 if (__lex_hack) goto yyfussy;
201 # line 219 "./dtimep.lex"
206 # line 220 "./dtimep.lex"
214 # line 224 "./dtimep.lex"
217 /* European: DD/MM/YY */
218 tw.tw_mday = CVT1OR2;
220 tw.tw_mon = CVT1OR2 - 1;
222 /* American: MM/DD/YY */
223 tw.tw_mon = CVT1OR2 - 1;
225 tw.tw_mday = CVT1OR2;
228 for (i = 0; isdigit(*cp); )
229 i = i*10 + (*cp++ - '0');
236 # line 242 "./dtimep.lex"
239 tw.tw_mday = CVT1OR2; cp++;
240 tw.tw_mon = CVT1OR2 - 1;
242 tw.tw_mon = CVT1OR2 - 1; cp++;
243 tw.tw_mday = CVT1OR2;
250 # line 252 "./dtimep.lex"
252 tw.tw_mday = CVT1OR2;
253 while ( !isalpha(*cp++) )
256 for (i = 0; isdigit(*cp); )
257 i = i*10 + (*cp++ - '0');
259 #ifdef FIX_NON_Y2K_COMPLIANT_MUA_DATES
260 /* handle broken mua's that don't add
261 1900, or just use the last two
262 digits. Assume no email before
266 if (tw.tw_year < 1900)
268 #endif /* FIX_NON_Y2K_COMPLIANT_MUA_DATES */
273 # line 271 "./dtimep.lex"
275 tw.tw_mday = CVT1OR2;
276 while ( ! isalpha( *cp++ ) )
283 # line 277 "./dtimep.lex"
287 tw.tw_mday = CVT1OR2;
289 for (i = 0; isdigit(*cp); )
290 i = i*10 + (*cp++ - '0');
296 # line 286 "./dtimep.lex"
300 tw.tw_mday = CVT1OR2;
305 # line 292 "./dtimep.lex"
306 { /* hack: ctime w/o TZ */
307 tw.tw_hour = CVT1OR2; cp++;
308 tw.tw_min = CVT1OR2; cp++;
311 tw.tw_year = CVT4; cp+=4;
316 # line 299 "./dtimep.lex"
318 tw.tw_hour = CVT1OR2; cp++;
319 tw.tw_min = CVT1OR2; cp++;
326 # line 305 "./dtimep.lex"
328 tw.tw_hour = CVT1OR2; cp++;
335 # line 310 "./dtimep.lex"
337 tw.tw_hour = CVT1OR2; cp++;
338 if (tw.tw_hour == 12)
346 # line 317 "./dtimep.lex"
348 tw.tw_hour = CVT1OR2; cp++;
349 if (tw.tw_hour == 12)
351 tw.tw_min = CVT1OR2; cp++;
358 # line 325 "./dtimep.lex"
360 tw.tw_hour = CVT1OR2; cp++;
361 if (tw.tw_hour != 12)
369 # line 332 "./dtimep.lex"
371 tw.tw_hour = CVT1OR2; cp++;
372 if (tw.tw_hour != 12)
374 tw.tw_min = CVT1OR2; cp++;
381 # line 340 "./dtimep.lex"
383 tw.tw_hour = CVT2; cp+=2;
384 tw.tw_min = CVT2; cp+=2;
385 tw.tw_sec = CVT2; cp+=2;
391 # line 346 "./dtimep.lex"
394 * Luckly, 4 digit times in the range
395 * 1960-1999 aren't legal as hour
398 tw.tw_year = CVT4; cp+=4;
403 # line 354 "./dtimep.lex"
405 if (tw.tw_hour || tw.tw_min
407 tw.tw_year = CVT4; cp+=4;
410 tw.tw_hour = CVT2; cp+=2;
411 tw.tw_min = CVT2; cp+=2;
418 # line 365 "./dtimep.lex"
423 # line 366 "./dtimep.lex"
428 # line 367 "./dtimep.lex"
433 # line 368 "./dtimep.lex"
438 # line 369 "./dtimep.lex"
443 # line 370 "./dtimep.lex"
448 # line 371 "./dtimep.lex"
453 # line 372 "./dtimep.lex"
458 # line 373 "./dtimep.lex"
463 # line 374 "./dtimep.lex"
468 # line 375 "./dtimep.lex"
473 # line 376 "./dtimep.lex"
478 # line 377 "./dtimep.lex"
479 ZONE(-(3 * 60 + 30));
483 # line 378 "./dtimep.lex"
488 # line 379 "./dtimep.lex"
493 # line 380 "./dtimep.lex"
498 # line 381 "./dtimep.lex"
503 # line 382 "./dtimep.lex"
508 # line 383 "./dtimep.lex"
513 # line 384 "./dtimep.lex"
518 # line 385 "./dtimep.lex"
520 tw.tw_zone = 60 * (('a'-1) - LC(*cp));
526 # line 389 "./dtimep.lex"
528 tw.tw_zone = 60 * ('a' - LC(*cp));
534 # line 393 "./dtimep.lex"
536 tw.tw_zone = 60 * (LC(*cp) - 'm');
542 # line 397 "./dtimep.lex"
545 tw.tw_zone = ((cp[0] * 10 + cp[1])
546 -('0' * 10 + '0'))*60
547 +((cp[2] * 10 + cp[3])
558 # line 409 "./dtimep.lex"
561 tw.tw_zone = (('0' * 10 + '0')
562 -(cp[0] * 10 + cp[1]))*60
564 -(cp[2] * 10 + cp[3]));
574 # line 421 "./dtimep.lex"
577 tw.tw_year = CVT4; cp+=4;
582 # line 425 "./dtimep.lex"
585 # line 426 "./dtimep.lex"
915 struct yywork { YYTYPE verify, advance; } yycrank[] = {
929 1,10, 1,10, 1,10, 1,10,
930 1,10, 1,10, 1,10, 3,21,
931 9,63, 22,83, 22,83, 0,0,
935 3,9, 3,8, 3,10, 3,10,
936 3,10, 3,10, 3,10, 3,10,
937 3,10, 10,64, 10,64, 10,64,
938 10,64, 10,64, 10,64, 10,64,
939 10,64, 10,64, 10,64, 0,0,
940 0,0, 0,0, 1,11, 15,72,
941 59,143, 1,12, 14,70, 1,13,
942 12,67, 13,68, 17,75, 1,14,
943 19,79, 20,81, 1,15, 1,16,
944 1,17, 15,73, 11,65, 16,74,
945 1,18, 1,19, 13,69, 11,66,
946 1,20, 19,80, 14,71, 25,99,
947 3,24, 3,25, 3,26, 3,27,
948 3,28, 3,29, 3,30, 3,31,
949 3,32, 3,33, 3,34, 3,34,
950 3,35, 3,36, 3,37, 3,38,
951 3,39, 3,39, 3,40, 3,41,
952 3,42, 3,39, 3,43, 3,39,
953 3,44, 7,45, 8,50, 18,76,
954 26,100, 28,102, 30,104, 18,77,
955 7,46, 24,97, 42,114, 45,117,
956 31,105, 21,21, 7,47, 7,48,
957 23,84, 23,84, 7,49, 26,101,
958 28,103, 24,65, 38,112, 18,78,
959 24,98, 8,50, 24,66, 31,106,
960 36,74, 46,118, 49,123, 56,139,
961 36,111, 57,140, 55,137, 60,144,
962 21,21, 38,113, 8,51, 55,138,
963 8,52, 8,53, 8,53, 8,53,
964 8,53, 8,53, 8,53, 8,53,
965 8,53, 8,53, 8,53, 8,54,
966 21,82, 21,82, 21,82, 21,82,
967 21,82, 21,82, 21,82, 21,82,
968 21,82, 21,82, 47,119, 61,145,
969 62,146, 23,85, 23,86, 23,87,
970 44,115, 23,88, 35,72, 23,89,
971 23,90, 35,109, 23,91, 50,50,
972 33,70, 23,92, 23,93, 33,107,
973 23,94, 58,141, 47,120, 44,116,
974 35,73, 23,95, 65,148, 48,121,
975 35,110, 23,96, 8,55, 51,124,
976 66,149, 8,56, 33,108, 8,57,
977 33,71, 67,150, 50,50, 8,58,
978 48,122, 58,142, 8,59, 8,60,
979 8,61, 68,151, 69,152, 70,153,
980 8,62, 73,158, 71,154, 50,124,
981 71,155, 74,159, 51,124, 52,134,
982 52,134, 52,134, 52,134, 52,134,
983 52,134, 52,134, 52,134, 52,134,
984 52,134, 75,160, 76,161, 77,162,
985 78,163, 79,164, 51,133, 51,133,
986 51,133, 51,133, 51,133, 51,133,
987 51,133, 51,133, 51,133, 51,133,
988 53,135, 53,135, 53,135, 53,135,
989 53,135, 53,135, 53,135, 53,135,
990 53,135, 53,135, 54,136, 54,136,
991 54,136, 54,136, 54,136, 54,136,
992 54,136, 54,136, 54,136, 54,136,
993 72,156, 80,165, 81,166, 50,125,
994 93,111, 85,97, 50,126, 72,157,
995 50,127, 97,170, 91,107, 92,109,
996 50,128, 64,50, 98,171, 50,129,
997 50,130, 50,131, 99,172, 51,55,
998 85,98, 50,132, 51,56, 100,173,
999 51,57, 91,108, 92,110, 101,174,
1000 51,58, 102,175, 103,176, 51,59,
1001 51,60, 51,61, 104,177, 105,178,
1002 64,50, 51,62, 63,135, 63,135,
1003 63,135, 63,135, 63,135, 63,135,
1004 63,147, 63,147, 63,147, 63,147,
1005 106,179, 64,51, 107,180, 64,52,
1006 82,167, 82,167, 82,167, 82,167,
1007 82,167, 82,167, 82,167, 82,167,
1008 82,167, 82,167, 64,54, 83,168,
1009 83,168, 83,168, 83,168, 83,168,
1010 83,168, 83,168, 83,168, 83,168,
1011 83,168, 84,169, 84,169, 84,169,
1012 84,169, 84,169, 84,169, 84,169,
1013 84,169, 84,169, 84,169, 108,181,
1014 109,182, 110,183, 111,184, 112,185,
1015 113,186, 115,187, 116,188, 117,189,
1016 118,190, 119,191, 120,192, 121,193,
1017 122,194, 123,195, 124,124, 126,198,
1018 125,196, 64,55, 127,199, 128,200,
1019 64,56, 125,197, 64,57, 129,202,
1020 130,203, 131,204, 64,58, 132,205,
1021 133,206, 64,59, 64,60, 64,61,
1022 137,216, 138,217, 139,218, 64,62,
1023 140,219, 124,124, 141,220, 128,201,
1024 134,206, 135,210, 135,210, 135,210,
1025 135,210, 135,210, 135,210, 135,210,
1026 135,210, 135,210, 135,210, 133,206,
1027 142,221, 143,223, 142,222, 144,225,
1028 145,226, 146,227, 153,236, 155,157,
1029 143,224, 158,238, 159,239, 134,206,
1030 133,207, 160,240, 162,242, 133,208,
1031 133,208, 133,208, 133,208, 133,208,
1032 133,208, 133,208, 133,208, 133,208,
1033 133,208, 148,229, 134,207, 134,209,
1034 134,209, 134,209, 134,209, 134,209,
1035 134,209, 134,209, 134,209, 134,209,
1036 134,209, 136,211, 147,228, 147,228,
1037 147,228, 147,228, 147,228, 147,228,
1038 147,228, 147,228, 147,228, 147,228,
1039 148,229, 149,229, 124,125, 150,229,
1040 154,229, 124,126, 163,243, 124,127,
1041 190,252, 192,254, 196,258, 124,128,
1042 136,211, 191,250, 124,129, 124,130,
1043 124,131, 151,229, 156,229, 152,234,
1044 124,132, 157,229, 161,234, 164,234,
1045 149,229, 165,234, 150,229, 154,229,
1046 136,212, 136,212, 136,212, 136,212,
1047 136,212, 136,212, 136,212, 136,212,
1048 136,212, 136,212, 136,213, 166,234,
1049 151,229, 156,229, 152,234, 194,250,
1050 157,229, 161,234, 164,234, 189,250,
1051 165,234, 195,250, 193,250, 197,259,
1052 198,260, 199,261, 152,234, 200,262,
1053 203,267, 161,234, 164,234, 201,263,
1054 165,234, 201,264, 166,234, 167,247,
1055 167,247, 167,247, 167,247, 167,247,
1056 167,247, 167,247, 167,247, 167,247,
1057 167,247, 148,230, 166,234, 204,268,
1058 205,269, 136,214, 168,248, 168,248,
1059 168,248, 168,248, 168,248, 168,248,
1060 168,248, 168,248, 168,248, 168,248,
1061 206,206, 191,253, 208,207, 209,207,
1062 136,215, 212,213, 214,274, 150,232,
1063 169,249, 169,249, 169,249, 169,249,
1064 169,249, 169,249, 169,249, 169,249,
1065 169,249, 169,249, 189,251, 202,265,
1066 156,237, 149,231, 152,235, 206,206,
1067 210,271, 211,211, 202,266, 215,275,
1068 154,157, 194,256, 195,257, 220,283,
1069 222,224, 225,285, 151,233, 193,255,
1070 226,286, 227,287, 230,157, 231,290,
1071 164,244, 232,291, 161,241, 165,245,
1072 233,292, 235,293, 236,294, 210,271,
1073 211,211, 237,157, 238,295, 239,296,
1074 166,246, 207,270, 207,270, 207,270,
1075 207,270, 207,270, 207,270, 207,270,
1076 207,270, 207,270, 207,270, 210,272,
1077 210,272, 210,272, 210,272, 210,272,
1078 210,272, 210,272, 210,272, 210,272,
1079 210,272, 213,273, 213,273, 213,273,
1080 213,273, 213,273, 213,273, 213,273,
1081 213,273, 213,273, 213,273, 240,297,
1082 228,288, 234,234, 241,298, 242,299,
1083 243,300, 244,301, 245,302, 216,276,
1084 246,303, 247,304, 247,304, 247,304,
1085 247,304, 247,304, 247,304, 247,304,
1086 247,304, 247,304, 247,304, 250,307,
1087 251,308, 252,309, 217,276, 228,288,
1088 234,234, 253,310, 254,311, 255,312,
1089 256,313, 211,214, 216,276, 257,314,
1090 276,330, 258,266, 260,266, 279,224,
1091 218,276, 265,266, 280,332, 281,333,
1092 282,334, 283,335, 284,224, 216,277,
1093 211,215, 217,276, 216,278, 216,278,
1094 216,278, 216,278, 216,278, 216,278,
1095 216,278, 216,278, 216,278, 216,278,
1096 258,266, 260,266, 217,277, 218,276,
1097 265,266, 217,278, 217,278, 217,278,
1098 217,278, 217,278, 217,278, 217,278,
1099 217,278, 217,278, 217,278, 219,276,
1100 218,277, 259,266, 285,336, 218,278,
1101 218,278, 218,278, 218,278, 218,278,
1102 218,278, 218,278, 218,278, 218,278,
1103 218,278, 264,266, 263,266, 286,337,
1104 287,338, 290,157, 291,342, 292,343,
1105 293,344, 294,345, 219,276, 296,346,
1106 259,266, 221,276, 266,266, 271,271,
1107 297,347, 274,274, 262,266, 216,279,
1108 298,348, 299,349, 301,350, 219,277,
1109 264,266, 263,266, 219,278, 219,278,
1110 219,278, 219,278, 219,278, 219,278,
1111 219,278, 219,278, 219,278, 219,278,
1112 221,276, 266,266, 271,271, 223,276,
1113 274,274, 262,266, 260,317, 265,320,
1114 218,281, 258,315, 217,280, 261,266,
1115 268,266, 221,277, 269,266, 275,275,
1116 221,278, 221,278, 221,278, 221,278,
1117 221,278, 221,278, 221,278, 221,278,
1118 221,278, 221,278, 223,276, 302,351,
1119 303,352, 224,276, 267,266, 288,288,
1120 308,353, 310,354, 261,266, 268,266,
1121 312,355, 269,266, 275,275, 223,277,
1122 229,229, 313,356, 223,278, 223,278,
1123 223,278, 223,278, 223,278, 223,278,
1124 223,278, 223,278, 223,278, 223,278,
1125 224,276, 267,266, 288,288, 314,357,
1126 219,282, 264,266, 315,266, 316,358,
1127 317,359, 259,316, 318,360, 229,229,
1128 319,361, 224,277, 320,266, 321,362,
1129 224,278, 224,278, 224,278, 224,278,
1130 224,278, 224,278, 224,278, 224,278,
1131 224,278, 224,278, 263,266, 229,289,
1132 229,289, 229,289, 229,289, 229,289,
1133 229,289, 229,289, 229,289, 229,289,
1134 229,289, 221,224, 262,319, 322,363,
1135 323,364, 223,284, 248,305, 248,305,
1136 248,305, 248,305, 248,305, 248,305,
1137 248,305, 248,305, 248,305, 248,305,
1138 249,306, 249,306, 249,306, 249,306,
1139 249,306, 249,306, 249,306, 249,306,
1140 249,306, 249,306, 268,322, 328,368,
1141 261,318, 329,369, 330,370, 332,224,
1142 273,326, 269,323, 267,321, 270,324,
1143 270,324, 270,324, 270,324, 270,324,
1144 270,324, 270,324, 270,324, 270,324,
1145 270,324, 272,325, 272,325, 272,325,
1146 272,325, 272,325, 272,325, 272,325,
1147 272,325, 272,325, 272,325, 273,326,
1148 333,373, 334,374, 277,277, 278,331,
1149 278,331, 278,331, 278,331, 278,331,
1150 278,331, 278,331, 278,331, 278,331,
1151 278,331, 324,365, 325,325, 273,327,
1152 273,327, 273,327, 273,327, 273,327,
1153 273,327, 273,327, 273,327, 273,327,
1154 273,327, 277,277, 335,375, 336,376,
1155 289,339, 337,377, 338,378, 341,340,
1156 342,380, 343,381, 344,234, 345,157,
1157 324,365, 325,325, 346,382, 347,157,
1158 348,383, 277,278, 277,278, 277,278,
1159 277,278, 277,278, 277,278, 277,278,
1160 277,278, 277,278, 277,278, 289,339,
1161 324,366, 324,366, 324,366, 324,366,
1162 324,366, 324,366, 324,366, 324,366,
1163 324,366, 324,366, 326,326, 289,340,
1164 273,328, 327,326, 331,371, 289,341,
1165 289,341, 289,341, 289,341, 289,341,
1166 289,341, 289,341, 289,341, 289,341,
1167 289,341, 339,339, 340,379, 273,329,
1168 349,384, 350,385, 352,386, 353,250,
1169 354,387, 326,326, 355,388, 357,389,
1170 327,326, 331,371, 358,266, 359,390,
1171 360,391, 361,392, 362,393, 363,394,
1172 364,395, 365,365, 367,396, 373,399,
1173 339,339, 340,379, 326,367, 374,400,
1174 375,224, 331,372, 331,372, 331,372,
1175 331,372, 331,372, 331,372, 331,372,
1176 331,372, 331,372, 331,372, 368,368,
1177 369,369, 370,370, 371,371, 376,401,
1178 365,365, 366,365, 366,365, 366,365,
1179 366,365, 366,365, 366,365, 366,365,
1180 366,365, 366,365, 366,365, 377,224,
1181 378,402, 384,404, 386,405, 389,406,
1182 390,407, 391,408, 368,368, 369,369,
1183 370,370, 371,371, 392,266, 379,379,
1184 393,409, 394,266, 395,410, 397,412,
1185 402,413, 410,415, 326,328, 398,371,
1186 412,412, 327,328, 372,398, 372,398,
1187 372,398, 372,398, 372,398, 372,398,
1188 372,398, 372,398, 372,398, 372,398,
1189 0,0, 326,329, 379,379, 0,0,
1190 327,329, 396,411, 396,411, 396,411,
1191 396,411, 0,0, 398,371, 412,412,
1192 0,0, 0,0, 0,0, 414,417,
1193 417,417, 0,0, 379,403, 379,403,
1194 379,403, 379,403, 379,403, 379,403,
1195 379,403, 379,403, 379,403, 379,403,
1196 403,414, 403,414, 403,414, 403,414,
1197 403,414, 403,414, 403,414, 403,414,
1198 403,414, 403,414, 414,417, 417,417,
1199 0,0, 0,0, 371,397, 411,416,
1200 411,416, 411,416, 411,416, 411,416,
1201 411,416, 411,416, 411,416, 411,416,
1202 411,416, 0,0, 414,418, 414,418,
1203 414,418, 414,418, 414,418, 414,418,
1204 414,418, 414,418, 414,418, 414,418,
1205 418,417, 418,417, 418,417, 418,417,
1206 418,417, 418,417, 418,417, 418,417,
1207 418,417, 418,417, 0,0, 0,0,
1209 struct yysvf yysvec[] = {
1212 yycrank+0, yysvec+1, 0,
1214 yycrank+0, yysvec+3, 0,
1215 yycrank+3, 0, yyvstop+1,
1216 yycrank+0, 0, yyvstop+3,
1219 yycrank+3, yysvec+8, 0,
1220 yycrank+37, yysvec+8, 0,
1231 yycrank+152, 0, yyvstop+5,
1234 yycrank+57, 0, yyvstop+7,
1235 yycrank+8, 0, yyvstop+9,
1236 yycrank+52, 0, yyvstop+11,
1237 yycrank+0, yysvec+12, yyvstop+13,
1238 yycrank+53, 0, yyvstop+15,
1239 yycrank+0, yysvec+13, yyvstop+17,
1240 yycrank+45, 0, yyvstop+19,
1241 yycrank+60, 0, yyvstop+21,
1242 yycrank+0, 0, yyvstop+23,
1244 yycrank+0, 0, yyvstop+25,
1245 yycrank+121, 0, yyvstop+27,
1246 yycrank+65, 0, yyvstop+29,
1247 yycrank+0, yysvec+17, yyvstop+31,
1248 yycrank+70, 0, yyvstop+33,
1249 yycrank+0, 0, yyvstop+35,
1250 yycrank+0, yysvec+18, yyvstop+37,
1251 yycrank+0, yysvec+19, yyvstop+39,
1252 yycrank+42, 0, yyvstop+41,
1253 yycrank+0, yysvec+20, yyvstop+43,
1254 yycrank+116, 0, yyvstop+45,
1263 yycrank+240, yysvec+8, 0,
1273 yycrank+298, yysvec+8, 0,
1296 yycrank+0, yysvec+25, 0,
1297 yycrank+0, yysvec+26, 0,
1298 yycrank+0, yysvec+28, 0,
1299 yycrank+0, yysvec+30, 0,
1300 yycrank+0, yysvec+31, 0,
1304 yycrank+0, yysvec+38, 0,
1305 yycrank+0, yysvec+42, 0,
1306 yycrank+0, yysvec+44, 0,
1324 yycrank+0, 0, yyvstop+47,
1343 yycrank+411, 0, yyvstop+49,
1344 yycrank+423, 0, yyvstop+51,
1346 yycrank+472, 0, yyvstop+53,
1362 yycrank+502, 0, yyvstop+55,
1363 yycrank+333, yysvec+149, 0,
1365 yycrank+350, yysvec+150, 0,
1368 yycrank+353, yysvec+152, yyvstop+57,
1369 yycrank+353, yysvec+150, 0,
1370 yycrank+346, yysvec+157, 0,
1371 yycrank+505, 0, yyvstop+59,
1372 yycrank+342, yysvec+157, 0,
1373 yycrank+398, yysvec+152, yyvstop+61,
1374 yycrank+506, 0, yyvstop+63,
1375 yycrank+508, 0, yyvstop+65,
1376 yycrank+522, 0, yyvstop+67,
1380 yycrank+0, 0, yyvstop+69,
1381 yycrank+0, 0, yyvstop+71,
1382 yycrank+0, 0, yyvstop+73,
1383 yycrank+0, 0, yyvstop+75,
1384 yycrank+0, 0, yyvstop+77,
1385 yycrank+0, 0, yyvstop+79,
1386 yycrank+0, 0, yyvstop+81,
1387 yycrank+0, 0, yyvstop+83,
1388 yycrank+0, 0, yyvstop+85,
1389 yycrank+0, 0, yyvstop+87,
1390 yycrank+0, 0, yyvstop+89,
1391 yycrank+0, 0, yyvstop+91,
1392 yycrank+0, 0, yyvstop+93,
1393 yycrank+0, 0, yyvstop+95,
1394 yycrank+0, 0, yyvstop+97,
1395 yycrank+0, 0, yyvstop+99,
1396 yycrank+0, 0, yyvstop+101,
1397 yycrank+0, 0, yyvstop+103,
1398 yycrank+0, 0, yyvstop+105,
1400 yycrank+400, yysvec+189, 0,
1402 yycrank+401, yysvec+189, 0,
1416 yycrank+571, 0, yyvstop+107,
1418 yycrank+537, yysvec+206, yyvstop+109,
1419 yycrank+536, yysvec+206, yyvstop+111,
1420 yycrank+595, 0, yyvstop+113,
1421 yycrank+596, 0, yyvstop+115,
1422 yycrank+527, yysvec+211, yyvstop+117,
1426 yycrank+662, 0, yyvstop+119,
1427 yycrank+677, 0, yyvstop+121,
1428 yycrank+691, 0, yyvstop+123,
1429 yycrank+726, 0, yyvstop+125,
1430 yycrank+494, yysvec+217, yyvstop+127,
1431 yycrank+752, 0, yyvstop+129,
1432 yycrank+511, yysvec+218, yyvstop+131,
1433 yycrank+778, 0, yyvstop+133,
1434 yycrank+804, 0, yyvstop+135,
1435 yycrank+512, yysvec+218, yyvstop+137,
1436 yycrank+505, yysvec+224, yyvstop+139,
1437 yycrank+501, yysvec+224, yyvstop+141,
1438 yycrank+655, yysvec+210, yyvstop+143,
1444 yycrank+656, 0, yyvstop+146,
1460 yycrank+639, 0, yyvstop+148,
1468 yycrank+688, yysvec+216, 0,
1469 yycrank+728, yysvec+217, 0,
1470 yycrank+689, yysvec+218, 0,
1471 yycrank+786, yysvec+219, 0,
1472 yycrank+757, yysvec+217, 0,
1473 yycrank+741, yysvec+221, 0,
1474 yycrank+740, yysvec+218, 0,
1475 yycrank+692, yysvec+223, 0,
1476 yycrank+753, yysvec+224, 0,
1477 yycrank+805, yysvec+218, 0,
1478 yycrank+787, yysvec+224, 0,
1479 yycrank+789, yysvec+224, 0,
1481 yycrank+754, 0, yyvstop+150,
1483 yycrank+895, 0, yyvstop+152,
1484 yycrank+756, 0, yyvstop+154,
1485 yycrank+790, 0, yyvstop+156,
1486 yycrank+599, yysvec+224, yyvstop+158,
1498 yycrank+806, 0, yyvstop+160,
1499 yycrank+947, 0, yyvstop+163,
1505 yycrank+0, yysvec+293, 0,
1510 yycrank+0, yysvec+293, 0,
1514 yycrank+0, 0, yyvstop+165,
1515 yycrank+0, 0, yyvstop+167,
1516 yycrank+0, 0, yyvstop+169,
1517 yycrank+0, 0, yyvstop+171,
1519 yycrank+0, yysvec+308, 0,
1521 yycrank+0, yysvec+308, 0,
1534 yycrank+932, 0, yyvstop+173,
1535 yycrank+933, 0, yyvstop+175,
1536 yycrank+981, 0, yyvstop+177,
1537 yycrank+984, 0, yyvstop+179,
1541 yycrank+985, 0, yyvstop+181,
1549 yycrank+996, 0, yyvstop+183,
1551 yycrank+915, yysvec+339, yyvstop+185,
1554 yycrank+918, yysvec+234, yyvstop+187,
1561 yycrank+0, yysvec+293, 0,
1566 yycrank+0, yysvec+308, 0,
1575 yycrank+1016, 0, yyvstop+189,
1576 yycrank+1001, yysvec+324, yyvstop+191,
1578 yycrank+1034, 0, yyvstop+193,
1579 yycrank+1035, 0, yyvstop+195,
1580 yycrank+1036, 0, yyvstop+197,
1581 yycrank+1037, 0, yyvstop+199,
1582 yycrank+1034, yysvec+331, yyvstop+201,
1590 yycrank+0, yysvec+347, 0,
1591 yycrank+0, yysvec+345, 0,
1592 yycrank+0, yysvec+347, 0,
1593 yycrank+0, yysvec+293, 0,
1595 yycrank+0, yysvec+293, 0,
1597 yycrank+0, yysvec+308, 0,
1598 yycrank+0, yysvec+308, 0,
1608 yycrank+1070, 0, yyvstop+203,
1609 yycrank+0, yysvec+377, 0,
1610 yycrank+0, yysvec+375, 0,
1611 yycrank+0, yysvec+377, 0,
1614 yycrank+0, yysvec+347, 0,
1615 yycrank+0, yysvec+293, 0,
1616 yycrank+0, yysvec+308, 0,
1617 yycrank+0, yysvec+394, 0,
1618 yycrank+0, yysvec+392, 0,
1619 yycrank+0, yysvec+394, 0,
1622 yycrank+1071, 0, yyvstop+205,
1623 yycrank+0, yysvec+377, 0,
1624 yycrank+1098, 0, yyvstop+207,
1625 yycrank+0, yysvec+394, 0,
1626 yycrank+0, 0, yyvstop+209,
1627 yycrank+1099, 0, yyvstop+211,
1628 yycrank+1108, yysvec+414, yyvstop+213,
1630 struct yywork *yytop = yycrank+1165;
1631 struct yysvf *yybgin = yysvec+1;
1633 0, 1, 1, 1, 1, 1, 1, 1,
1634 1, 9, 1, 1, 1, 1, 1, 1,
1635 1, 1, 1, 1, 1, 1, 1, 1,
1636 1, 1, 1, 1, 1, 1, 1, 1,
1637 9, 1, 1, 1, 1, 1, 1, 1,
1638 1, 1, 1, 1, 1, 1, 1, 1,
1639 48, 48, 50, 51, 51, 51, 54, 54,
1640 54, 54, 1, 1, 1, 1, 1, 1,
1641 1, 1, 1, 1, 1, 1, 1, 1,
1642 1, 1, 1, 1, 1, 1, 1, 1,
1643 1, 1, 1, 1, 1, 1, 1, 1,
1644 1, 1, 1, 1, 1, 1, 1, 1,
1645 1, 97, 97, 97, 97, 97, 97, 97,
1646 97, 97, 1, 107, 107, 107, 110, 110,
1647 110, 110, 110, 110, 110, 110, 110, 110,
1648 110, 110, 1, 1, 1, 1, 1, 1,
1649 1, 1, 1, 1, 1, 1, 1, 1,
1650 1, 1, 1, 1, 1, 1, 1, 1,
1651 1, 1, 1, 1, 1, 1, 1, 1,
1652 1, 1, 1, 1, 1, 1, 1, 1,
1653 1, 1, 1, 1, 1, 1, 1, 1,
1654 1, 1, 1, 1, 1, 1, 1, 1,
1655 1, 1, 1, 1, 1, 1, 1, 1,
1656 1, 1, 1, 1, 1, 1, 1, 1,
1657 1, 1, 1, 1, 1, 1, 1, 1,
1658 1, 1, 1, 1, 1, 1, 1, 1,
1659 1, 1, 1, 1, 1, 1, 1, 1,
1660 1, 1, 1, 1, 1, 1, 1, 1,
1661 1, 1, 1, 1, 1, 1, 1, 1,
1662 1, 1, 1, 1, 1, 1, 1, 1,
1663 1, 1, 1, 1, 1, 1, 1, 1,
1664 1, 1, 1, 1, 1, 1, 1, 1,
1674 /* Copyright (c) 1989 AT&T */
1675 /* All Rights Reserved */
1677 /* THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF AT&T */
1678 /* The copyright notice above does not evidence any */
1679 /* actual or intended publication of such source code. */
1681 #pragma ident "@(#)ncform 6.11 97/01/06 SMI"