|
|
1.1 ! root 1: # include "stdio.h" ! 2: static int start_cond = 0; ! 3: #define BEGIN start_cond = ! 4: struct yysvf { ! 5: struct yywork *yystoff; ! 6: struct yysvf *yyother; ! 7: int *yystops;}; ! 8: # define Z 2 ! 9: #include "tws.h" ! 10: #include <ctype.h> ! 11: ! 12: /* ! 13: * Table to convert month names to numeric month. We use the ! 14: * fact that the low order 5 bits of the sum of the 2nd & 3rd ! 15: * characters of the name is a hash with no collisions for the 12 ! 16: * valid month names. (The mask to 5 bits maps any combination of ! 17: * upper and lower case into the same hash value). ! 18: */ ! 19: static int month_map[] = { ! 20: 0, ! 21: 6, /* 1 - Jul */ ! 22: 3, /* 2 - Apr */ ! 23: 5, /* 3 - Jun */ ! 24: 0, ! 25: 10, /* 5 - Nov */ ! 26: 0, ! 27: 1, /* 7 - Feb */ ! 28: 11, /* 8 - Dec */ ! 29: 0, ! 30: 0, ! 31: 0, ! 32: 0, ! 33: 0, ! 34: 0, ! 35: 0, /*15 - Jan */ ! 36: 0, ! 37: 0, ! 38: 0, ! 39: 2, /*19 - Mar */ ! 40: 0, ! 41: 8, /*21 - Sep */ ! 42: 0, ! 43: 9, /*23 - Oct */ ! 44: 0, ! 45: 0, ! 46: 4, /*26 - May */ ! 47: 0, ! 48: 7 /*28 - Aug */ ! 49: }; ! 50: /* ! 51: * Same trick for day-of-week using the hash function ! 52: * (c1 & 7) + (c2 & 4) ! 53: */ ! 54: static int day_map[] = { ! 55: 0, ! 56: 0, ! 57: 0, ! 58: 6, /* 3 - Sat */ ! 59: 4, /* 4 - Thu */ ! 60: 0, ! 61: 5, /* 6 - Fri */ ! 62: 0, /* 7 - Sun */ ! 63: 2, /* 8 - Tue */ ! 64: 1 /* 9 - Mon */, ! 65: 0, ! 66: 3 /*11 - Wed */ ! 67: }; ! 68: #define SETDAY tw.tw_wday= day_map[(cp[0] & 7) + (cp[1] & 4)];\ ! 69: tw.tw_flags |= TW_SEXP;\ ! 70: cp += 2; ! 71: #define SETMONTH tw.tw_mon = month_map[(cp[0] + cp[1]) & 0x1f]; gotdate++;\ ! 72: cp += 2;\ ! 73: SKIPD; ! 74: #define CVT2 (i=(*cp++ - '0'),isdigit(*cp)? i*10 + (*cp++ - '0') : i) ! 75: #define SKIPD while ( !isdigit(*cp++) ) ; --cp; ! 76: #define ZONE(x) tw.tw_zone=(x); ! 77: #define ZONED(x) tw.tw_zone=(x); tw.tw_flags |= TW_DST; ! 78: #define LC(c) (isupper(c) ? tolower(c) : (c)) ! 79: struct tws *dparsetime (str) ! 80: char *str; ! 81: { ! 82: register int i; ! 83: static struct tws tw; ! 84: register char *cp; ! 85: register int gotdate = 0; ! 86: ! 87: start_cond = 0; ! 88: bzero( (char *) &tw, sizeof tw); ! 89: while (isspace(*str)) ! 90: str++; ! 91: while ( 1 ) ! 92: switch (cp = str, *cp? lex_string( &str, start_cond) : 0) { ! 93: ! 94: case -1: ! 95: if (!gotdate || tw.tw_year == 0) ! 96: return 0; ! 97: /* fall through */ ! 98: case 0: ! 99: return &tw; ! 100: ! 101: case 1: ! 102: SETDAY; ! 103: break; ! 104: case 2: ! 105: cp++, SETDAY; ! 106: break; ! 107: case 3: ! 108: { ! 109: tw.tw_mday = CVT2; cp++; ! 110: tw.tw_mon = CVT2 - 1; cp += 3; ! 111: tw.tw_year = CVT2; ! 112: gotdate++; ! 113: } ! 114: break; ! 115: case 4: ! 116: { ! 117: tw.tw_mday = CVT2; cp++; ! 118: tw.tw_mon = CVT2 - 1; cp++; ! 119: tw.tw_year = CVT2; ! 120: gotdate++; ! 121: } ! 122: break; ! 123: case 5: ! 124: { ! 125: tw.tw_mday = CVT2; ! 126: while ( !isalpha(*cp++) ) ! 127: ; ! 128: SETMONTH; ! 129: for (i = 0; isdigit(*cp); ) ! 130: i = i*10 + (*cp++ - '0'); ! 131: tw.tw_year = i % 100; ! 132: } ! 133: break; ! 134: case 6: ! 135: { ! 136: cp++; ! 137: SETMONTH; ! 138: tw.tw_mday = CVT2; ! 139: SKIPD; ! 140: for (i = 0; isdigit(*cp); ) ! 141: i = i*10 + (*cp++ - '0'); ! 142: tw.tw_year = i % 100; ! 143: } ! 144: break; ! 145: case 7: ! 146: { ! 147: cp++; ! 148: SETMONTH; ! 149: tw.tw_mday = CVT2; ! 150: } ! 151: break; ! 152: case 8: ! 153: { ! 154: tw.tw_hour = CVT2; cp++; ! 155: tw.tw_min = CVT2; cp++; ! 156: tw.tw_sec = CVT2; ! 157: BEGIN Z; ! 158: } ! 159: break; ! 160: case 9: ! 161: case 10: ! 162: { ! 163: tw.tw_hour = CVT2; cp++; ! 164: tw.tw_min = CVT2; ! 165: BEGIN Z; ! 166: } ! 167: break; ! 168: case 11: ! 169: { ! 170: tw.tw_hour = CVT2 + 12; cp++; ! 171: tw.tw_min = CVT2; ! 172: BEGIN Z; ! 173: } ! 174: break; ! 175: case 12: ! 176: { ! 177: tw.tw_hour = CVT2; ! 178: tw.tw_min = CVT2; ! 179: tw.tw_sec = CVT2; ! 180: BEGIN Z; ! 181: } ! 182: break; ! 183: case 13: ! 184: { ! 185: tw.tw_hour = CVT2; ! 186: tw.tw_min = CVT2; ! 187: BEGIN Z; ! 188: } ! 189: break; ! 190: case 14: ! 191: ZONE(0 * 60); ! 192: break; ! 193: case 15: ! 194: ZONE(0 * 60); ! 195: break; ! 196: case 16: ! 197: ZONE(2 * 60); ! 198: break; ! 199: case 17: ! 200: ZONED(2 * 60); ! 201: break; ! 202: case 18: ! 203: ZONE(-5 * 60); ! 204: break; ! 205: case 19: ! 206: ZONED(-5 * 60); ! 207: break; ! 208: case 20: ! 209: ZONE(-6 * 60); ! 210: break; ! 211: case 21: ! 212: ZONED(-6 * 60); ! 213: break; ! 214: case 22: ! 215: ZONE(-7 * 60); ! 216: break; ! 217: case 23: ! 218: ZONED(-7 * 60); ! 219: break; ! 220: case 24: ! 221: ZONE(-8 * 60); ! 222: break; ! 223: case 25: ! 224: ZONED(-8 * 60); ! 225: break; ! 226: case 26: ! 227: ZONE(-(3 * 60 + 30)); ! 228: break; ! 229: case 27: ! 230: ZONE(-4 * 60); ! 231: break; ! 232: case 28: ! 233: ZONED(-4 * 60); ! 234: break; ! 235: case 29: ! 236: ZONE(-9 * 60); ! 237: break; ! 238: case 30: ! 239: ZONED(-9 * 60); ! 240: break; ! 241: case 31: ! 242: ZONE(-10 * 60); ! 243: break; ! 244: case 32: ! 245: ZONED(-10 * 60); ! 246: break; ! 247: case 33: ! 248: ZONED(-1 * 60); ! 249: break; ! 250: case 34: ! 251: tw.tw_zone = 60 * (('a'-1) - LC(*cp)); ! 252: break; ! 253: case 35: ! 254: tw.tw_zone = 60 * ('a' - LC(*cp)); ! 255: break; ! 256: case 36: ! 257: tw.tw_zone = 60 * (LC(*cp) - 'm'); ! 258: break; ! 259: case 37: ! 260: { ! 261: cp++; ! 262: tw.tw_zone = ((cp[0] * 10 + cp[1]) ! 263: -('0' * 10 + '0'))*60 ! 264: +((cp[2] * 10 + cp[3]) ! 265: -('0' * 10 + '0')); ! 266: cp += 4; ! 267: } ! 268: break; ! 269: case 38: ! 270: { ! 271: cp++; ! 272: tw.tw_zone = (('0' * 10 + '0') ! 273: -(cp[0] * 10 + cp[1]))*60 ! 274: +(('0' * 10 + '0') ! 275: -(cp[2] * 10 + cp[3])); ! 276: cp += 4; ! 277: } ! 278: break; ! 279: case 39: ! 280: { ! 281: while( !isdigit(*cp++) ) ! 282: ; ! 283: cp++; ! 284: tw.tw_year = CVT2; ! 285: } ! 286: break; ! 287: case 40: ! 288: case 41: ! 289: ; ! 290: break; ! 291: default: return(0); ! 292: } return(0); } ! 293: /* end of yylex */ ! 294: int yyvstop[] ={ ! 295: 0, ! 296: ! 297: 41, ! 298: 0, ! 299: ! 300: 40, ! 301: 0, ! 302: ! 303: 41, ! 304: 0, ! 305: ! 306: 34, ! 307: 0, ! 308: ! 309: 34, ! 310: 0, ! 311: ! 312: 34, ! 313: 0, ! 314: ! 315: 34, ! 316: 0, ! 317: ! 318: 34, ! 319: 0, ! 320: ! 321: 34, ! 322: 0, ! 323: ! 324: 34, ! 325: 0, ! 326: ! 327: 34, ! 328: 0, ! 329: ! 330: 34, ! 331: 0, ! 332: ! 333: 35, ! 334: 0, ! 335: ! 336: 35, ! 337: 0, ! 338: ! 339: 36, ! 340: 0, ! 341: ! 342: 36, ! 343: 0, ! 344: ! 345: 36, ! 346: 0, ! 347: ! 348: 36, ! 349: 0, ! 350: ! 351: 36, ! 352: 0, ! 353: ! 354: 36, ! 355: 0, ! 356: ! 357: 36, ! 358: 0, ! 359: ! 360: 36, ! 361: 0, ! 362: ! 363: 36, ! 364: 0, ! 365: ! 366: 14, ! 367: 0, ! 368: ! 369: 9, ! 370: 0, ! 371: ! 372: 1, ! 373: 0, ! 374: ! 375: 1, ! 376: 0, ! 377: ! 378: 1, ! 379: 0, ! 380: ! 381: 1, ! 382: 0, ! 383: ! 384: 1, ! 385: 0, ! 386: ! 387: 1, ! 388: 0, ! 389: ! 390: 1, ! 391: 0, ! 392: ! 393: 28, ! 394: 0, ! 395: ! 396: 27, ! 397: 0, ! 398: ! 399: 33, ! 400: 0, ! 401: ! 402: 21, ! 403: 0, ! 404: ! 405: 20, ! 406: 0, ! 407: ! 408: 19, ! 409: 0, ! 410: ! 411: 18, ! 412: 0, ! 413: ! 414: 15, ! 415: 0, ! 416: ! 417: 32, ! 418: 0, ! 419: ! 420: 31, ! 421: 0, ! 422: ! 423: 17, ! 424: 0, ! 425: ! 426: 16, ! 427: 0, ! 428: ! 429: 23, ! 430: 0, ! 431: ! 432: 22, ! 433: 0, ! 434: ! 435: 26, ! 436: 0, ! 437: ! 438: 25, ! 439: 0, ! 440: ! 441: 24, ! 442: 0, ! 443: ! 444: 30, ! 445: 0, ! 446: ! 447: 29, ! 448: 0, ! 449: ! 450: 13, ! 451: 0, ! 452: ! 453: 9, ! 454: 0, ! 455: ! 456: 9, ! 457: 0, ! 458: ! 459: 1, ! 460: 0, ! 461: ! 462: 2, ! 463: 0, ! 464: ! 465: 13, ! 466: 0, ! 467: ! 468: 8, ! 469: 0, ! 470: ! 471: 10, ! 472: 0, ! 473: ! 474: 11, ! 475: 0, ! 476: ! 477: 5, ! 478: 0, ! 479: ! 480: 5, ! 481: 0, ! 482: ! 483: 7, ! 484: 0, ! 485: ! 486: 39, ! 487: 0, ! 488: ! 489: 37, ! 490: 0, ! 491: ! 492: 38, ! 493: 0, ! 494: ! 495: 2, ! 496: 0, ! 497: ! 498: 4, ! 499: 0, ! 500: ! 501: 4, ! 502: 0, ! 503: ! 504: 12, ! 505: 0, ! 506: ! 507: 8, ! 508: 0, ! 509: ! 510: 5, ! 511: 0, ! 512: ! 513: 5, ! 514: 0, ! 515: ! 516: 7, ! 517: 0, ! 518: ! 519: 7, ! 520: 0, ! 521: ! 522: 1, ! 523: 0, ! 524: ! 525: 3, ! 526: 0, ! 527: ! 528: 5, ! 529: 0, ! 530: ! 531: 6, ! 532: 0, ! 533: ! 534: 6, ! 535: 0, ! 536: ! 537: 6, ! 538: 0, ! 539: ! 540: 6, ! 541: 0, ! 542: 0}; ! 543: # define YYTYPE int ! 544: struct yywork { YYTYPE verify, advance; } yycrank[] ={ ! 545: 0,0, 0,0, 0,0, 0,0, ! 546: 0,0, 0,0, 0,0, 0,0, ! 547: 0,0, 0,0, 1,5, 1,6, ! 548: 0,0, 0,0, 0,0, 0,0, ! 549: 0,0, 0,0, 0,0, 0,0, ! 550: 0,0, 0,0, 0,0, 0,0, ! 551: 0,0, 0,0, 0,0, 0,0, ! 552: 0,0, 0,0, 0,0, 0,0, ! 553: 0,0, 1,5, 0,0, 0,0, ! 554: 3,20, 3,6, 5,5, 0,0, ! 555: 0,0, 1,7, 0,0, 0,0, ! 556: 0,0, 0,0, 0,0, 0,0, ! 557: 0,0, 1,8, 1,8, 1,8, ! 558: 1,9, 1,9, 1,9, 1,9, ! 559: 1,9, 1,9, 1,9, 3,20, ! 560: 0,0, 5,5, 0,0, 0,0, ! 561: 0,0, 0,0, 0,0, 3,7, ! 562: 0,0, 0,0, 3,21, 0,0, ! 563: 3,22, 20,20, 0,0, 3,8, ! 564: 3,8, 3,8, 3,9, 3,9, ! 565: 3,9, 3,9, 3,9, 3,9, ! 566: 3,9, 9,61, 9,61, 9,61, ! 567: 9,61, 9,61, 9,61, 9,61, ! 568: 9,61, 9,61, 9,61, 0,0, ! 569: 20,20, 0,0, 1,10, 21,80, ! 570: 21,80, 1,11, 0,0, 1,12, ! 571: 0,0, 0,0, 0,0, 1,13, ! 572: 0,0, 0,0, 1,14, 1,15, ! 573: 1,16, 20,79, 0,0, 0,0, ! 574: 1,17, 1,18, 0,0, 0,0, ! 575: 1,19, 0,0, 0,0, 0,0, ! 576: 3,23, 3,24, 3,25, 3,26, ! 577: 3,27, 3,28, 3,29, 3,30, ! 578: 3,31, 3,32, 3,33, 3,33, ! 579: 3,34, 3,35, 3,36, 3,37, ! 580: 3,38, 3,38, 3,39, 3,40, ! 581: 3,41, 3,38, 3,42, 3,38, ! 582: 3,43, 7,44, 10,62, 11,64, ! 583: 8,49, 15,71, 16,72, 10,63, ! 584: 7,45, 19,78, 24,96, 29,101, ! 585: 13,67, 41,111, 7,46, 7,47, ! 586: 44,114, 8,49, 7,48, 8,50, ! 587: 8,51, 8,51, 8,51, 8,51, ! 588: 8,51, 8,51, 8,51, 8,51, ! 589: 8,51, 8,51, 8,52, 12,65, ! 590: 13,68, 14,69, 17,73, 18,76, ! 591: 25,97, 27,99, 17,74, 22,81, ! 592: 22,81, 23,94, 30,102, 32,67, ! 593: 12,66, 35,71, 32,104, 14,70, ! 594: 18,77, 35,108, 37,109, 25,98, ! 595: 27,100, 23,62, 17,75, 43,112, ! 596: 23,95, 30,103, 23,63, 34,69, ! 597: 45,115, 32,105, 34,106, 32,68, ! 598: 46,116, 37,110, 47,118, 48,120, ! 599: 54,126, 8,53, 43,113, 53,124, ! 600: 8,54, 34,70, 8,55, 55,127, ! 601: 53,125, 34,107, 8,56, 47,119, ! 602: 57,130, 8,57, 8,58, 8,59, ! 603: 46,117, 58,131, 59,132, 8,60, ! 604: 22,82, 22,83, 22,84, 60,133, ! 605: 22,85, 49,53, 22,86, 22,87, ! 606: 49,54, 22,88, 49,55, 62,134, ! 607: 22,89, 22,90, 49,56, 22,91, ! 608: 63,135, 49,57, 49,58, 49,59, ! 609: 22,92, 64,136, 65,137, 49,60, ! 610: 22,93, 50,121, 50,121, 50,121, ! 611: 50,121, 50,121, 50,121, 50,121, ! 612: 50,121, 50,121, 50,121, 51,122, ! 613: 51,122, 51,122, 51,122, 51,122, ! 614: 51,122, 51,122, 51,122, 51,122, ! 615: 51,122, 52,123, 52,123, 52,123, ! 616: 52,123, 52,123, 52,123, 52,123, ! 617: 52,123, 52,123, 52,123, 56,128, ! 618: 61,49, 66,138, 67,139, 68,140, ! 619: 69,142, 68,141, 70,144, 71,145, ! 620: 72,146, 73,147, 74,148, 69,143, ! 621: 75,149, 61,49, 76,150, 61,50, ! 622: 77,151, 78,152, 79,153, 56,129, ! 623: 90,108, 94,156, 95,157, 96,158, ! 624: 97,159, 98,160, 61,52, 80,154, ! 625: 80,154, 80,154, 80,154, 80,154, ! 626: 80,154, 80,154, 80,154, 80,154, ! 627: 80,154, 81,155, 81,155, 81,155, ! 628: 81,155, 81,155, 81,155, 81,155, ! 629: 81,155, 81,155, 81,155, 82,94, ! 630: 88,104, 89,106, 99,161, 100,162, ! 631: 101,163, 102,164, 103,165, 104,166, ! 632: 105,167, 106,168, 107,169, 108,170, ! 633: 109,171, 110,172, 82,95, 88,105, ! 634: 89,107, 112,173, 113,174, 114,175, ! 635: 115,176, 116,177, 117,178, 118,179, ! 636: 119,180, 120,181, 121,182, 121,183, ! 637: 121,183, 121,183, 121,183, 121,183, ! 638: 121,183, 121,183, 121,183, 121,183, ! 639: 121,183, 122,184, 122,184, 122,184, ! 640: 122,184, 122,184, 122,184, 122,184, ! 641: 122,184, 122,184, 122,184, 123,185, ! 642: 124,190, 125,191, 126,192, 127,193, ! 643: 128,194, 129,195, 130,197, 129,196, ! 644: 131,199, 132,200, 133,201, 134,202, ! 645: 135,202, 130,198, 136,205, 141,143, ! 646: 144,211, 145,212, 146,213, 148,215, ! 647: 149,216, 176,225, 123,185, 175,223, ! 648: 177,223, 178,227, 137,202, 138,207, ! 649: 139,202, 140,202, 142,202, 143,202, ! 650: 147,207, 150,207, 134,202, 135,202, ! 651: 151,207, 181,223, 123,186, 123,186, ! 652: 123,186, 123,186, 123,186, 123,186, ! 653: 123,186, 123,186, 123,186, 123,186, ! 654: 123,187, 137,202, 138,207, 139,202, ! 655: 140,202, 142,202, 143,202, 147,207, ! 656: 150,207, 152,207, 180,223, 151,207, ! 657: 179,223, 183,182, 138,207, 153,220, ! 658: 153,220, 153,220, 153,220, 147,207, ! 659: 150,207, 186,187, 188,236, 151,207, ! 660: 189,237, 192,243, 196,198, 199,247, ! 661: 200,248, 201,249, 203,143, 204,251, ! 662: 152,207, 205,252, 175,224, 206,253, ! 663: 208,254, 209,255, 210,143, 123,188, ! 664: 211,256, 212,257, 213,258, 214,259, ! 665: 152,207, 215,260, 216,261, 217,262, ! 666: 185,185, 218,263, 219,264, 223,268, ! 667: 177,226, 224,269, 123,189, 225,270, ! 668: 135,204, 226,271, 181,230, 134,203, ! 669: 154,221, 154,221, 154,221, 154,221, ! 670: 154,221, 154,221, 154,221, 154,221, ! 671: 154,221, 154,221, 138,208, 185,185, ! 672: 142,210, 155,222, 155,222, 155,222, ! 673: 155,222, 155,222, 155,222, 155,222, ! 674: 155,222, 155,222, 155,222, 137,206, ! 675: 180,229, 179,228, 184,233, 227,272, ! 676: 139,209, 228,273, 150,217, 229,274, ! 677: 147,214, 140,143, 151,218, 182,231, ! 678: 182,232, 182,231, 182,231, 182,231, ! 679: 182,231, 182,231, 182,231, 182,231, ! 680: 182,231, 230,275, 232,277, 240,282, ! 681: 241,198, 184,233, 152,219, 187,235, ! 682: 187,235, 187,235, 187,235, 187,235, ! 683: 187,235, 187,235, 187,235, 187,235, ! 684: 187,235, 242,283, 190,238, 243,284, ! 685: 244,285, 184,234, 184,234, 184,234, ! 686: 184,234, 184,234, 184,234, 184,234, ! 687: 184,234, 184,234, 184,234, 190,238, ! 688: 185,188, 191,238, 190,239, 190,240, ! 689: 190,239, 190,239, 190,239, 190,239, ! 690: 190,239, 190,239, 190,239, 190,239, ! 691: 245,286, 246,198, 191,238, 185,189, ! 692: 193,238, 191,239, 191,240, 191,239, ! 693: 191,239, 191,239, 191,239, 191,239, ! 694: 191,239, 191,239, 191,239, 247,287, ! 695: 248,288, 193,238, 194,238, 249,289, ! 696: 193,239, 193,240, 193,239, 193,239, ! 697: 193,239, 193,239, 193,239, 193,239, ! 698: 193,239, 193,239, 251,143, 194,238, ! 699: 195,238, 252,293, 194,239, 194,240, ! 700: 194,239, 194,239, 194,239, 194,239, ! 701: 194,239, 194,239, 194,239, 194,239, ! 702: 253,294, 195,238, 197,238, 190,241, ! 703: 195,239, 195,240, 195,239, 195,239, ! 704: 195,239, 195,239, 195,239, 195,239, ! 705: 195,239, 195,239, 191,242, 197,238, ! 706: 198,238, 254,295, 197,239, 197,240, ! 707: 197,239, 197,239, 197,239, 197,239, ! 708: 197,239, 197,239, 197,239, 197,239, ! 709: 207,207, 198,238, 233,233, 236,236, ! 710: 198,239, 198,240, 198,239, 198,239, ! 711: 198,239, 198,239, 198,239, 198,239, ! 712: 198,239, 198,239, 193,244, 202,202, ! 713: 237,237, 255,296, 257,297, 258,298, ! 714: 259,299, 260,300, 262,301, 207,207, ! 715: 263,302, 233,233, 236,236, 264,303, ! 716: 269,304, 271,305, 273,306, 194,245, ! 717: 274,307, 275,308, 281,310, 283,198, ! 718: 284,311, 285,312, 202,202, 237,237, ! 719: 286,313, 197,246, 287,314, 288,315, ! 720: 289,316, 292,291, 293,318, 294,319, ! 721: 295,207, 195,198, 296,143, 297,320, ! 722: 298,143, 299,321, 202,250, 202,250, ! 723: 202,250, 202,250, 202,250, 202,250, ! 724: 202,250, 202,250, 202,250, 202,250, ! 725: 220,265, 220,265, 220,265, 220,265, ! 726: 220,265, 220,265, 220,265, 220,265, ! 727: 220,265, 220,265, 221,266, 221,266, ! 728: 221,266, 221,266, 221,266, 221,266, ! 729: 221,266, 221,266, 221,266, 221,266, ! 730: 222,267, 222,267, 222,267, 222,267, ! 731: 222,267, 222,267, 222,267, 222,267, ! 732: 222,267, 222,267, 231,276, 231,276, ! 733: 231,276, 231,276, 231,276, 231,276, ! 734: 231,276, 231,276, 231,276, 231,276, ! 735: 234,278, 234,278, 234,278, 234,278, ! 736: 234,278, 234,278, 234,278, 234,278, ! 737: 234,278, 234,278, 235,279, 238,239, ! 738: 238,240, 238,239, 238,239, 238,239, ! 739: 238,239, 238,239, 238,239, 238,239, ! 740: 238,239, 239,280, 276,276, 278,278, ! 741: 300,322, 279,279, 301,323, 303,324, ! 742: 304,223, 305,325, 306,326, 308,327, ! 743: 311,330, 235,279, 312,331, 313,198, ! 744: 250,290, 314,332, 315,198, 316,333, ! 745: 322,336, 324,337, 327,338, 333,339, ! 746: 239,280, 276,276, 278,278, 277,276, ! 747: 279,279, 235,279, 235,279, 235,279, ! 748: 235,279, 235,279, 235,279, 235,279, ! 749: 235,279, 235,279, 235,279, 250,290, ! 750: 239,280, 239,280, 239,280, 239,280, ! 751: 239,280, 239,280, 239,280, 239,280, ! 752: 239,280, 239,280, 277,276, 250,291, ! 753: 335,341, 280,280, 282,280, 250,292, ! 754: 250,292, 250,292, 250,292, 250,292, ! 755: 250,292, 250,292, 250,292, 250,292, ! 756: 250,292, 290,290, 277,309, 277,309, ! 757: 277,309, 277,309, 277,309, 277,309, ! 758: 277,309, 277,309, 277,309, 277,309, ! 759: 280,280, 282,280, 291,317, 0,0, ! 760: 0,0, 0,0, 0,0, 0,0, ! 761: 0,0, 0,0, 0,0, 0,0, ! 762: 290,290, 239,281, 310,329, 317,317, ! 763: 328,328, 340,340, 282,239, 0,0, ! 764: 0,0, 0,0, 0,0, 0,0, ! 765: 0,0, 291,317, 309,328, 309,328, ! 766: 309,328, 309,328, 309,328, 309,328, ! 767: 309,328, 309,328, 309,328, 309,328, ! 768: 0,0, 310,329, 317,317, 328,328, ! 769: 340,340, 334,340, 0,0, 0,0, ! 770: 0,0, 0,0, 0,0, 0,0, ! 771: 0,0, 0,0, 341,340, 0,0, ! 772: 0,0, 0,0, 317,334, 317,335, ! 773: 317,334, 317,334, 317,334, 317,334, ! 774: 317,334, 317,334, 317,334, 317,334, ! 775: 334,340, 280,281, 282,281, 0,0, ! 776: 0,0, 0,0, 0,0, 0,0, ! 777: 0,0, 341,340, 0,0, 0,0, ! 778: 0,0, 0,0, 0,0, 0,0, ! 779: 334,340, 334,340, 334,340, 334,340, ! 780: 334,340, 334,340, 334,340, 334,340, ! 781: 334,340, 334,340, 341,334, 0,0, ! 782: 0,0}; ! 783: struct yysvf yysvec[] ={ ! 784: 0, 0, 0, ! 785: yycrank+1, 0, 0, ! 786: yycrank+0, yysvec+1, 0, ! 787: yycrank+27, 0, 0, ! 788: yycrank+0, yysvec+3, 0, ! 789: yycrank+29, 0, yyvstop+1, ! 790: yycrank+0, 0, yyvstop+3, ! 791: yycrank+47, 0, 0, ! 792: yycrank+120, 0, 0, ! 793: yycrank+37, yysvec+8, 0, ! 794: yycrank+38, 0, 0, ! 795: yycrank+50, 0, 0, ! 796: yycrank+78, 0, 0, ! 797: yycrank+63, 0, 0, ! 798: yycrank+84, 0, 0, ! 799: yycrank+42, 0, 0, ! 800: yycrank+55, 0, 0, ! 801: yycrank+85, 0, 0, ! 802: yycrank+79, 0, 0, ! 803: yycrank+56, 0, 0, ! 804: yycrank+64, 0, yyvstop+5, ! 805: yycrank+51, 0, 0, ! 806: yycrank+139, 0, 0, ! 807: yycrank+89, 0, yyvstop+7, ! 808: yycrank+43, 0, yyvstop+9, ! 809: yycrank+84, 0, yyvstop+11, ! 810: yycrank+0, yysvec+11, yyvstop+13, ! 811: yycrank+85, 0, yyvstop+15, ! 812: yycrank+0, yysvec+12, yyvstop+17, ! 813: yycrank+50, 0, yyvstop+19, ! 814: yycrank+90, 0, yyvstop+21, ! 815: yycrank+0, 0, yyvstop+23, ! 816: yycrank+94, 0, 0, ! 817: yycrank+0, 0, yyvstop+25, ! 818: yycrank+110, 0, yyvstop+27, ! 819: yycrank+82, 0, yyvstop+29, ! 820: yycrank+0, yysvec+16, yyvstop+31, ! 821: yycrank+98, 0, yyvstop+33, ! 822: yycrank+0, 0, yyvstop+35, ! 823: yycrank+0, yysvec+17, yyvstop+37, ! 824: yycrank+0, yysvec+18, yyvstop+39, ! 825: yycrank+45, 0, yyvstop+41, ! 826: yycrank+0, yysvec+19, yyvstop+43, ! 827: yycrank+103, 0, yyvstop+45, ! 828: yycrank+50, 0, 0, ! 829: yycrank+97, 0, 0, ! 830: yycrank+115, 0, 0, ! 831: yycrank+110, 0, 0, ! 832: yycrank+114, 0, 0, ! 833: yycrank+144, 0, 0, ! 834: yycrank+213, 0, 0, ! 835: yycrank+223, yysvec+8, 0, ! 836: yycrank+233, 0, 0, ! 837: yycrank+107, 0, 0, ! 838: yycrank+115, 0, 0, ! 839: yycrank+122, 0, 0, ! 840: yycrank+194, 0, 0, ! 841: yycrank+131, 0, 0, ! 842: yycrank+122, 0, 0, ! 843: yycrank+135, 0, 0, ! 844: yycrank+138, 0, 0, ! 845: yycrank+260, yysvec+49, 0, ! 846: yycrank+133, 0, 0, ! 847: yycrank+149, 0, 0, ! 848: yycrank+158, 0, 0, ! 849: yycrank+160, 0, 0, ! 850: yycrank+188, 0, 0, ! 851: yycrank+184, 0, 0, ! 852: yycrank+187, 0, 0, ! 853: yycrank+182, 0, 0, ! 854: yycrank+188, 0, 0, ! 855: yycrank+181, 0, 0, ! 856: yycrank+184, 0, 0, ! 857: yycrank+185, 0, 0, ! 858: yycrank+190, 0, 0, ! 859: yycrank+194, 0, 0, ! 860: yycrank+189, 0, 0, ! 861: yycrank+207, 0, 0, ! 862: yycrank+209, 0, 0, ! 863: yycrank+253, 0, 0, ! 864: yycrank+271, 0, 0, ! 865: yycrank+281, 0, 0, ! 866: yycrank+239, 0, 0, ! 867: yycrank+0, yysvec+24, 0, ! 868: yycrank+0, yysvec+25, 0, ! 869: yycrank+0, yysvec+27, 0, ! 870: yycrank+0, yysvec+29, 0, ! 871: yycrank+0, yysvec+30, 0, ! 872: yycrank+240, 0, 0, ! 873: yycrank+241, 0, 0, ! 874: yycrank+197, 0, 0, ! 875: yycrank+0, yysvec+37, 0, ! 876: yycrank+0, yysvec+41, 0, ! 877: yycrank+0, yysvec+43, 0, ! 878: yycrank+197, 0, 0, ! 879: yycrank+198, 0, 0, ! 880: yycrank+199, 0, 0, ! 881: yycrank+200, 0, 0, ! 882: yycrank+201, 0, 0, ! 883: yycrank+226, 0, 0, ! 884: yycrank+227, 0, 0, ! 885: yycrank+228, 0, 0, ! 886: yycrank+229, 0, 0, ! 887: yycrank+230, 0, 0, ! 888: yycrank+231, 0, 0, ! 889: yycrank+232, 0, 0, ! 890: yycrank+233, 0, 0, ! 891: yycrank+234, 0, 0, ! 892: yycrank+235, 0, 0, ! 893: yycrank+236, 0, 0, ! 894: yycrank+237, 0, 0, ! 895: yycrank+0, 0, yyvstop+47, ! 896: yycrank+241, 0, 0, ! 897: yycrank+242, 0, 0, ! 898: yycrank+254, 0, 0, ! 899: yycrank+250, 0, 0, ! 900: yycrank+245, 0, 0, ! 901: yycrank+252, 0, 0, ! 902: yycrank+246, 0, 0, ! 903: yycrank+263, 0, 0, ! 904: yycrank+265, 0, 0, ! 905: yycrank+319, 0, 0, ! 906: yycrank+329, 0, 0, ! 907: yycrank+378, 0, yyvstop+49, ! 908: yycrank+274, 0, 0, ! 909: yycrank+286, 0, 0, ! 910: yycrank+291, 0, 0, ! 911: yycrank+293, 0, 0, ! 912: yycrank+282, 0, 0, ! 913: yycrank+285, 0, 0, ! 914: yycrank+280, 0, 0, ! 915: yycrank+278, 0, 0, ! 916: yycrank+281, 0, 0, ! 917: yycrank+286, 0, 0, ! 918: yycrank+390, 0, 0, ! 919: yycrank+391, 0, 0, ! 920: yycrank+301, yysvec+135, 0, ! 921: yycrank+405, 0, 0, ! 922: yycrank+406, 0, yyvstop+51, ! 923: yycrank+407, 0, 0, ! 924: yycrank+408, 0, 0, ! 925: yycrank+302, yysvec+135, 0, ! 926: yycrank+409, 0, 0, ! 927: yycrank+410, 0, 0, ! 928: yycrank+304, yysvec+138, yyvstop+53, ! 929: yycrank+304, yysvec+135, 0, ! 930: yycrank+295, yysvec+143, 0, ! 931: yycrank+411, 0, yyvstop+55, ! 932: yycrank+291, yysvec+143, 0, ! 933: yycrank+308, yysvec+138, yyvstop+57, ! 934: yycrank+412, 0, yyvstop+59, ! 935: yycrank+415, 0, yyvstop+61, ! 936: yycrank+436, 0, yyvstop+63, ! 937: yycrank+397, 0, 0, ! 938: yycrank+448, 0, 0, ! 939: yycrank+461, 0, 0, ! 940: yycrank+0, 0, yyvstop+65, ! 941: yycrank+0, 0, yyvstop+67, ! 942: yycrank+0, 0, yyvstop+69, ! 943: yycrank+0, 0, yyvstop+71, ! 944: yycrank+0, 0, yyvstop+73, ! 945: yycrank+0, 0, yyvstop+75, ! 946: yycrank+0, 0, yyvstop+77, ! 947: yycrank+0, 0, yyvstop+79, ! 948: yycrank+0, 0, yyvstop+81, ! 949: yycrank+0, 0, yyvstop+83, ! 950: yycrank+0, 0, yyvstop+85, ! 951: yycrank+0, 0, yyvstop+87, ! 952: yycrank+0, 0, yyvstop+89, ! 953: yycrank+0, 0, yyvstop+91, ! 954: yycrank+0, 0, yyvstop+93, ! 955: yycrank+0, 0, yyvstop+95, ! 956: yycrank+0, 0, yyvstop+97, ! 957: yycrank+0, 0, yyvstop+99, ! 958: yycrank+0, 0, yyvstop+101, ! 959: yycrank+370, 0, 0, ! 960: yycrank+309, yysvec+175, 0, ! 961: yycrank+371, 0, 0, ! 962: yycrank+313, yysvec+175, 0, ! 963: yycrank+407, 0, 0, ! 964: yycrank+405, 0, 0, ! 965: yycrank+384, 0, 0, ! 966: yycrank+483, 0, 0, ! 967: yycrank+402, 0, 0, ! 968: yycrank+513, 0, yyvstop+103, ! 969: yycrank+475, 0, yyvstop+105, ! 970: yycrank+399, yysvec+185, yyvstop+107, ! 971: yycrank+499, 0, 0, ! 972: yycrank+349, 0, 0, ! 973: yycrank+351, 0, 0, ! 974: yycrank+526, 0, 0, ! 975: yycrank+541, 0, 0, ! 976: yycrank+360, yysvec+191, 0, ! 977: yycrank+556, 0, 0, ! 978: yycrank+570, 0, 0, ! 979: yycrank+584, 0, 0, ! 980: yycrank+361, yysvec+191, 0, ! 981: yycrank+598, 0, 0, ! 982: yycrank+612, 0, 0, ! 983: yycrank+362, yysvec+191, 0, ! 984: yycrank+353, yysvec+198, 0, ! 985: yycrank+349, yysvec+198, 0, ! 986: yycrank+662, 0, 0, ! 987: yycrank+358, 0, 0, ! 988: yycrank+352, 0, 0, ! 989: yycrank+360, 0, 0, ! 990: yycrank+354, 0, 0, ! 991: yycrank+647, 0, yyvstop+109, ! 992: yycrank+375, 0, 0, ! 993: yycrank+376, 0, 0, ! 994: yycrank+370, 0, 0, ! 995: yycrank+379, 0, 0, ! 996: yycrank+368, 0, 0, ! 997: yycrank+380, 0, 0, ! 998: yycrank+365, 0, 0, ! 999: yycrank+380, 0, 0, ! 1000: yycrank+385, 0, 0, ! 1001: yycrank+368, 0, 0, ! 1002: yycrank+385, 0, 0, ! 1003: yycrank+385, 0, 0, ! 1004: yycrank+672, 0, 0, ! 1005: yycrank+682, 0, 0, ! 1006: yycrank+692, 0, 0, ! 1007: yycrank+443, 0, yyvstop+111, ! 1008: yycrank+392, 0, 0, ! 1009: yycrank+394, 0, 0, ! 1010: yycrank+379, 0, 0, ! 1011: yycrank+426, 0, 0, ! 1012: yycrank+410, 0, 0, ! 1013: yycrank+427, 0, 0, ! 1014: yycrank+440, 0, 0, ! 1015: yycrank+702, 0, 0, ! 1016: yycrank+485, yysvec+231, 0, ! 1017: yycrank+649, 0, yyvstop+113, ! 1018: yycrank+712, 0, 0, ! 1019: yycrank+761, 0, yyvstop+115, ! 1020: yycrank+650, 0, yyvstop+117, ! 1021: yycrank+663, 0, yyvstop+119, ! 1022: yycrank+723, 0, 0, ! 1023: yycrank+772, 0, yyvstop+121, ! 1024: yycrank+486, yysvec+239, yyvstop+123, ! 1025: yycrank+436, 0, 0, ! 1026: yycrank+442, 0, 0, ! 1027: yycrank+450, 0, 0, ! 1028: yycrank+443, 0, 0, ! 1029: yycrank+487, 0, 0, ! 1030: yycrank+481, 0, 0, ! 1031: yycrank+490, 0, 0, ! 1032: yycrank+502, 0, 0, ! 1033: yycrank+502, 0, 0, ! 1034: yycrank+787, 0, yyvstop+125, ! 1035: yycrank+498, 0, 0, ! 1036: yycrank+519, 0, 0, ! 1037: yycrank+531, 0, 0, ! 1038: yycrank+524, 0, 0, ! 1039: yycrank+559, 0, 0, ! 1040: yycrank+0, yysvec+254, 0, ! 1041: yycrank+576, 0, 0, ! 1042: yycrank+574, 0, 0, ! 1043: yycrank+576, 0, 0, ! 1044: yycrank+568, 0, 0, ! 1045: yycrank+0, yysvec+254, 0, ! 1046: yycrank+578, 0, 0, ! 1047: yycrank+583, 0, 0, ! 1048: yycrank+568, 0, 0, ! 1049: yycrank+0, 0, yyvstop+127, ! 1050: yycrank+0, 0, yyvstop+129, ! 1051: yycrank+0, 0, yyvstop+131, ! 1052: yycrank+0, 0, yyvstop+133, ! 1053: yycrank+563, 0, 0, ! 1054: yycrank+0, yysvec+269, 0, ! 1055: yycrank+585, 0, 0, ! 1056: yycrank+0, yysvec+269, 0, ! 1057: yycrank+586, 0, 0, ! 1058: yycrank+591, 0, 0, ! 1059: yycrank+574, 0, 0, ! 1060: yycrank+773, 0, yyvstop+135, ! 1061: yycrank+798, 0, yyvstop+137, ! 1062: yycrank+774, 0, yyvstop+139, ! 1063: yycrank+776, 0, yyvstop+141, ! 1064: yycrank+824, 0, yyvstop+143, ! 1065: yycrank+574, 0, 0, ! 1066: yycrank+825, yysvec+238, yyvstop+145, ! 1067: yycrank+575, 0, 0, ! 1068: yycrank+594, 0, 0, ! 1069: yycrank+596, 0, 0, ! 1070: yycrank+582, 0, 0, ! 1071: yycrank+600, 0, 0, ! 1072: yycrank+598, 0, 0, ! 1073: yycrank+591, 0, 0, ! 1074: yycrank+836, 0, yyvstop+147, ! 1075: yycrank+849, 0, 0, ! 1076: yycrank+657, yysvec+290, yyvstop+149, ! 1077: yycrank+601, 0, 0, ! 1078: yycrank+589, 0, 0, ! 1079: yycrank+660, yysvec+207, yyvstop+151, ! 1080: yycrank+585, 0, 0, ! 1081: yycrank+606, 0, 0, ! 1082: yycrank+594, 0, 0, ! 1083: yycrank+612, 0, 0, ! 1084: yycrank+686, 0, 0, ! 1085: yycrank+689, 0, 0, ! 1086: yycrank+0, yysvec+254, 0, ! 1087: yycrank+687, 0, 0, ! 1088: yycrank+747, 0, 0, ! 1089: yycrank+692, 0, 0, ! 1090: yycrank+693, 0, 0, ! 1091: yycrank+0, yysvec+269, 0, ! 1092: yycrank+691, 0, 0, ! 1093: yycrank+834, 0, 0, ! 1094: yycrank+861, 0, 0, ! 1095: yycrank+691, 0, 0, ! 1096: yycrank+680, 0, 0, ! 1097: yycrank+674, 0, 0, ! 1098: yycrank+696, 0, 0, ! 1099: yycrank+684, 0, 0, ! 1100: yycrank+701, 0, 0, ! 1101: yycrank+862, 0, 0, ! 1102: yycrank+0, yysvec+298, 0, ! 1103: yycrank+0, yysvec+296, 0, ! 1104: yycrank+0, yysvec+298, 0, ! 1105: yycrank+0, yysvec+254, 0, ! 1106: yycrank+699, 0, 0, ! 1107: yycrank+0, yysvec+254, 0, ! 1108: yycrank+704, 0, 0, ! 1109: yycrank+0, yysvec+269, 0, ! 1110: yycrank+0, yysvec+269, 0, ! 1111: yycrank+705, 0, 0, ! 1112: yycrank+863, 0, yyvstop+153, ! 1113: yycrank+0, yysvec+310, yyvstop+155, ! 1114: yycrank+0, yysvec+315, 0, ! 1115: yycrank+0, yysvec+313, 0, ! 1116: yycrank+0, yysvec+315, 0, ! 1117: yycrank+702, 0, 0, ! 1118: yycrank+888, 0, yyvstop+157, ! 1119: yycrank+775, yysvec+334, yyvstop+159, ! 1120: yycrank+0, yysvec+298, 0, ! 1121: yycrank+0, yysvec+254, 0, ! 1122: yycrank+0, yysvec+269, 0, ! 1123: yycrank+0, yysvec+315, 0, ! 1124: yycrank+864, 0, yyvstop+161, ! 1125: yycrank+897, yysvec+317, yyvstop+163, ! 1126: 0, 0, 0}; ! 1127: struct yywork *yytop = yycrank+946; ! 1128: struct yysvf *yybgin = yysvec+1; ! 1129: char yymatch[] ={ ! 1130: 00 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , ! 1131: 01 ,011 ,01 ,01 ,01 ,01 ,01 ,01 , ! 1132: 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , ! 1133: 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , ! 1134: 040 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , ! 1135: 01 ,01 ,01 ,01 ,01 ,'-' ,01 ,01 , ! 1136: '0' ,'0' ,'2' ,'3' ,'3' ,'3' ,'6' ,'6' , ! 1137: '6' ,'6' ,01 ,01 ,01 ,01 ,01 ,01 , ! 1138: 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , ! 1139: 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , ! 1140: 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , ! 1141: 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , ! 1142: 01 ,'a' ,'a' ,'a' ,'a' ,'a' ,'a' ,'a' , ! 1143: 'a' ,'a' ,01 ,'k' ,'k' ,'k' ,'n' ,'n' , ! 1144: 'n' ,'n' ,'n' ,'n' ,'n' ,'n' ,'n' ,'n' , ! 1145: 'n' ,'n' ,01 ,01 ,01 ,01 ,01 ,01 , ! 1146: 0}; ! 1147: char yyextra[] ={ ! 1148: 0,0,0,0,0,0,0,0, ! 1149: 0,0,0,0,0,0,0,0, ! 1150: 0,0,0,0,0,0,0,0, ! 1151: 0,0,0,0,0,0,0,0, ! 1152: 0,0,0,0,0,0,0,0, ! 1153: 0,0,0,0,0,0,0,0, ! 1154: 0}; ! 1155: /* ncform 4.1 83/08/11 */ ! 1156:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.