Fossil SCM
Update the built-in SQLite to the first 3.7.12 release candidate.
Commit
3613fe5666661355764d4300fcdb4b71f1e5c662
Parent
0141e20ff041bf3…
2 files changed
+567
-465
+2
-2
+567
-465
| --- src/sqlite3.c | ||
| +++ src/sqlite3.c | ||
| @@ -657,11 +657,11 @@ | ||
| 657 | 657 | ** [sqlite3_libversion_number()], [sqlite3_sourceid()], |
| 658 | 658 | ** [sqlite_version()] and [sqlite_source_id()]. |
| 659 | 659 | */ |
| 660 | 660 | #define SQLITE_VERSION "3.7.12" |
| 661 | 661 | #define SQLITE_VERSION_NUMBER 3007012 |
| 662 | -#define SQLITE_SOURCE_ID "2012-05-08 11:17:33 38bf90af1ede6ee64ef7be66392e895e60c9126e" | |
| 662 | +#define SQLITE_SOURCE_ID "2012-05-12 18:29:53 e536ac041815b118c461ceee798f9b7283269f58" | |
| 663 | 663 | |
| 664 | 664 | /* |
| 665 | 665 | ** CAPI3REF: Run-Time Library Version Numbers |
| 666 | 666 | ** KEYWORDS: sqlite3_version, sqlite3_sourceid |
| 667 | 667 | ** |
| @@ -6563,11 +6563,11 @@ | ||
| 6563 | 6563 | ** been written to disk. Specifically, the number of pages written to the |
| 6564 | 6564 | ** wal file in wal mode databases, or the number of pages written to the |
| 6565 | 6565 | ** database file in rollback mode databases. Any pages written as part of |
| 6566 | 6566 | ** transaction rollback or database recovery operations are not included. |
| 6567 | 6567 | ** If an IO or other error occurs while writing a page to disk, the effect |
| 6568 | -** on subsequent SQLITE_DBSTATUS_CACHE_WRITE requests is undefined). ^The | |
| 6568 | +** on subsequent SQLITE_DBSTATUS_CACHE_WRITE requests is undefined.)^ ^The | |
| 6569 | 6569 | ** highwater mark associated with SQLITE_DBSTATUS_CACHE_WRITE is always 0. |
| 6570 | 6570 | ** </dd> |
| 6571 | 6571 | ** </dl> |
| 6572 | 6572 | */ |
| 6573 | 6573 | #define SQLITE_DBSTATUS_LOOKASIDE_USED 0 |
| @@ -104675,11 +104675,10 @@ | ||
| 104675 | 104675 | if( pIdx->onError!=OE_None && i==pIdx->nColumn |
| 104676 | 104676 | && (wsFlags & WHERE_COLUMN_NULL)==0 |
| 104677 | 104677 | && !referencesOtherTables(pOrderBy, pMaskSet, j, base) |
| 104678 | 104678 | ){ |
| 104679 | 104679 | Column *aCol = pIdx->pTable->aCol; |
| 104680 | - int i; | |
| 104681 | 104680 | |
| 104682 | 104681 | /* All terms of this index match some prefix of the ORDER BY clause, |
| 104683 | 104682 | ** the index is UNIQUE, and no terms on the tail of the ORDER BY |
| 104684 | 104683 | ** refer to other tables in a join. So, assuming that the index entries |
| 104685 | 104684 | ** visited contain no NULL values, then this index delivers rows in |
| @@ -108444,11 +108443,11 @@ | ||
| 108444 | 108443 | #endif |
| 108445 | 108444 | #define sqlite3ParserARG_SDECL Parse *pParse; |
| 108446 | 108445 | #define sqlite3ParserARG_PDECL ,Parse *pParse |
| 108447 | 108446 | #define sqlite3ParserARG_FETCH Parse *pParse = yypParser->pParse |
| 108448 | 108447 | #define sqlite3ParserARG_STORE yypParser->pParse = pParse |
| 108449 | -#define YYNSTATE 630 | |
| 108448 | +#define YYNSTATE 627 | |
| 108450 | 108449 | #define YYNRULE 327 |
| 108451 | 108450 | #define YYFALLBACK 1 |
| 108452 | 108451 | #define YY_NO_ACTION (YYNSTATE+YYNRULE+2) |
| 108453 | 108452 | #define YY_ACCEPT_ACTION (YYNSTATE+YYNRULE+1) |
| 108454 | 108453 | #define YY_ERROR_ACTION (YYNSTATE+YYNRULE) |
| @@ -108515,479 +108514,478 @@ | ||
| 108515 | 108514 | ** shifting terminals. |
| 108516 | 108515 | ** yy_reduce_ofst[] For each state, the offset into yy_action for |
| 108517 | 108516 | ** shifting non-terminals after a reduce. |
| 108518 | 108517 | ** yy_default[] Default action for each state. |
| 108519 | 108518 | */ |
| 108520 | -#define YY_ACTTAB_COUNT (1562) | |
| 108519 | +#define YY_ACTTAB_COUNT (1564) | |
| 108521 | 108520 | static const YYACTIONTYPE yy_action[] = { |
| 108522 | - /* 0 */ 312, 330, 575, 574, 15, 171, 186, 597, 56, 56, | |
| 108521 | + /* 0 */ 309, 955, 184, 417, 2, 171, 624, 594, 56, 56, | |
| 108523 | 108522 | /* 10 */ 56, 56, 49, 54, 54, 54, 54, 53, 53, 52, |
| 108524 | - /* 20 */ 52, 52, 51, 235, 52, 52, 52, 51, 235, 627, | |
| 108525 | - /* 30 */ 590, 584, 56, 56, 56, 56, 316, 54, 54, 54, | |
| 108526 | - /* 40 */ 54, 53, 53, 52, 52, 52, 51, 235, 301, 57, | |
| 108527 | - /* 50 */ 58, 48, 582, 581, 583, 583, 55, 55, 56, 56, | |
| 108528 | - /* 60 */ 56, 56, 571, 54, 54, 54, 54, 53, 53, 52, | |
| 108529 | - /* 70 */ 52, 52, 51, 235, 312, 597, 328, 198, 197, 196, | |
| 108523 | + /* 20 */ 52, 52, 51, 233, 620, 619, 298, 620, 619, 234, | |
| 108524 | + /* 30 */ 587, 581, 56, 56, 56, 56, 19, 54, 54, 54, | |
| 108525 | + /* 40 */ 54, 53, 53, 52, 52, 52, 51, 233, 605, 57, | |
| 108526 | + /* 50 */ 58, 48, 579, 578, 580, 580, 55, 55, 56, 56, | |
| 108527 | + /* 60 */ 56, 56, 541, 54, 54, 54, 54, 53, 53, 52, | |
| 108528 | + /* 70 */ 52, 52, 51, 233, 309, 594, 325, 196, 195, 194, | |
| 108530 | 108529 | /* 80 */ 33, 54, 54, 54, 54, 53, 53, 52, 52, 52, |
| 108531 | - /* 90 */ 51, 235, 53, 53, 52, 52, 52, 51, 235, 492, | |
| 108532 | - /* 100 */ 597, 441, 66, 237, 590, 584, 597, 299, 365, 59, | |
| 108533 | - /* 110 */ 482, 67, 362, 1, 621, 353, 621, 623, 622, 516, | |
| 108534 | - /* 120 */ 515, 442, 443, 57, 58, 48, 582, 581, 583, 583, | |
| 108535 | - /* 130 */ 55, 55, 56, 56, 56, 56, 608, 54, 54, 54, | |
| 108536 | - /* 140 */ 54, 53, 53, 52, 52, 52, 51, 235, 312, 225, | |
| 108537 | - /* 150 */ 618, 617, 616, 176, 138, 283, 386, 278, 385, 168, | |
| 108538 | - /* 160 */ 492, 554, 623, 622, 623, 622, 274, 441, 597, 412, | |
| 108539 | - /* 170 */ 553, 607, 67, 215, 597, 621, 506, 507, 590, 584, | |
| 108540 | - /* 180 */ 444, 571, 621, 391, 415, 620, 619, 442, 338, 623, | |
| 108541 | - /* 190 */ 622, 392, 601, 92, 224, 193, 671, 57, 58, 48, | |
| 108542 | - /* 200 */ 582, 581, 583, 583, 55, 55, 56, 56, 56, 56, | |
| 108543 | - /* 210 */ 672, 54, 54, 54, 54, 53, 53, 52, 52, 52, | |
| 108544 | - /* 220 */ 51, 235, 312, 262, 234, 233, 505, 132, 486, 510, | |
| 108545 | - /* 230 */ 620, 619, 620, 619, 399, 438, 487, 566, 621, 389, | |
| 108546 | - /* 240 */ 412, 384, 440, 532, 439, 602, 339, 571, 504, 603, | |
| 108547 | - /* 250 */ 203, 533, 590, 584, 45, 415, 548, 620, 619, 383, | |
| 108548 | - /* 260 */ 380, 379, 6, 601, 92, 526, 261, 572, 572, 595, | |
| 108549 | - /* 270 */ 378, 57, 58, 48, 582, 581, 583, 583, 55, 55, | |
| 108550 | - /* 280 */ 56, 56, 56, 56, 600, 54, 54, 54, 54, 53, | |
| 108551 | - /* 290 */ 53, 52, 52, 52, 51, 235, 312, 466, 326, 561, | |
| 108552 | - /* 300 */ 593, 593, 593, 282, 311, 399, 412, 568, 493, 214, | |
| 108553 | - /* 310 */ 400, 623, 622, 68, 281, 560, 7, 623, 622, 167, | |
| 108554 | - /* 320 */ 577, 415, 65, 408, 575, 574, 590, 584, 673, 601, | |
| 108555 | - /* 330 */ 92, 559, 410, 520, 579, 579, 306, 425, 623, 622, | |
| 108556 | - /* 340 */ 208, 572, 572, 467, 519, 57, 58, 48, 582, 581, | |
| 108557 | - /* 350 */ 583, 583, 55, 55, 56, 56, 56, 56, 576, 54, | |
| 108558 | - /* 360 */ 54, 54, 54, 53, 53, 52, 52, 52, 51, 235, | |
| 108559 | - /* 370 */ 312, 399, 412, 317, 600, 412, 350, 549, 578, 620, | |
| 108560 | - /* 380 */ 619, 423, 204, 175, 571, 620, 619, 415, 551, 355, | |
| 108561 | - /* 390 */ 415, 257, 349, 256, 174, 601, 74, 354, 601, 91, | |
| 108562 | - /* 400 */ 590, 584, 237, 467, 621, 547, 620, 619, 164, 623, | |
| 108563 | - /* 410 */ 622, 544, 62, 39, 251, 580, 600, 348, 555, 57, | |
| 108564 | - /* 420 */ 58, 48, 582, 581, 583, 583, 55, 55, 56, 56, | |
| 108565 | - /* 430 */ 56, 56, 565, 54, 54, 54, 54, 53, 53, 52, | |
| 108566 | - /* 440 */ 52, 52, 51, 235, 312, 554, 182, 145, 531, 292, | |
| 108567 | - /* 450 */ 231, 257, 349, 256, 553, 221, 412, 181, 248, 549, | |
| 108568 | - /* 460 */ 250, 412, 237, 50, 47, 146, 412, 410, 412, 579, | |
| 108569 | - /* 470 */ 579, 415, 549, 567, 590, 584, 415, 620, 619, 601, | |
| 108570 | - /* 480 */ 16, 415, 189, 415, 601, 92, 268, 36, 544, 601, | |
| 108571 | - /* 490 */ 92, 601, 73, 57, 58, 48, 582, 581, 583, 583, | |
| 108572 | - /* 500 */ 55, 55, 56, 56, 56, 56, 187, 54, 54, 54, | |
| 108573 | - /* 510 */ 54, 53, 53, 52, 52, 52, 51, 235, 312, 564, | |
| 108574 | - /* 520 */ 397, 410, 528, 579, 579, 561, 395, 535, 201, 145, | |
| 108575 | - /* 530 */ 264, 320, 266, 388, 375, 410, 249, 579, 579, 236, | |
| 108576 | - /* 540 */ 40, 560, 38, 50, 47, 146, 19, 606, 590, 584, | |
| 108577 | - /* 550 */ 422, 948, 563, 948, 549, 496, 472, 559, 602, 403, | |
| 108578 | - /* 560 */ 422, 947, 603, 947, 562, 167, 200, 57, 58, 48, | |
| 108579 | - /* 570 */ 582, 581, 583, 583, 55, 55, 56, 56, 56, 56, | |
| 108580 | - /* 580 */ 156, 54, 54, 54, 54, 53, 53, 52, 52, 52, | |
| 108581 | - /* 590 */ 51, 235, 312, 262, 412, 426, 511, 208, 347, 492, | |
| 108582 | - /* 600 */ 600, 50, 47, 146, 410, 426, 579, 579, 621, 415, | |
| 108583 | - /* 610 */ 430, 67, 199, 143, 621, 166, 474, 601, 69, 317, | |
| 108584 | - /* 620 */ 475, 435, 590, 584, 274, 234, 233, 958, 184, 420, | |
| 108585 | - /* 630 */ 2, 600, 358, 552, 366, 470, 336, 476, 476, 368, | |
| 108586 | - /* 640 */ 359, 57, 58, 48, 582, 581, 583, 583, 55, 55, | |
| 108587 | - /* 650 */ 56, 56, 56, 56, 354, 54, 54, 54, 54, 53, | |
| 108588 | - /* 660 */ 53, 52, 52, 52, 51, 235, 312, 412, 572, 572, | |
| 108589 | - /* 670 */ 271, 412, 558, 874, 361, 213, 143, 412, 50, 47, | |
| 108590 | - /* 680 */ 146, 30, 415, 540, 355, 334, 415, 412, 629, 2, | |
| 108591 | - /* 690 */ 601, 94, 415, 513, 601, 97, 590, 584, 621, 621, | |
| 108592 | - /* 700 */ 601, 95, 415, 306, 424, 630, 628, 332, 173, 269, | |
| 108593 | - /* 710 */ 601, 104, 171, 546, 597, 57, 58, 48, 582, 581, | |
| 108594 | - /* 720 */ 583, 583, 55, 55, 56, 56, 56, 56, 412, 54, | |
| 108595 | - /* 730 */ 54, 54, 54, 53, 53, 52, 52, 52, 51, 235, | |
| 108596 | - /* 740 */ 312, 412, 275, 415, 412, 22, 329, 340, 423, 544, | |
| 108597 | - /* 750 */ 217, 601, 103, 568, 407, 214, 415, 621, 35, 415, | |
| 108598 | - /* 760 */ 412, 540, 412, 12, 601, 105, 237, 601, 106, 11, | |
| 108599 | - /* 770 */ 590, 584, 50, 47, 146, 415, 621, 415, 353, 325, | |
| 108600 | - /* 780 */ 164, 129, 597, 601, 133, 601, 134, 207, 287, 57, | |
| 108601 | - /* 790 */ 58, 48, 582, 581, 583, 583, 55, 55, 56, 56, | |
| 108602 | - /* 800 */ 56, 56, 412, 54, 54, 54, 54, 53, 53, 52, | |
| 108603 | - /* 810 */ 52, 52, 51, 235, 312, 412, 275, 415, 412, 275, | |
| 108604 | - /* 820 */ 275, 600, 275, 544, 367, 601, 98, 542, 412, 170, | |
| 108605 | - /* 830 */ 415, 621, 524, 415, 621, 621, 169, 621, 601, 102, | |
| 108606 | - /* 840 */ 604, 601, 101, 415, 590, 584, 352, 21, 500, 32, | |
| 108607 | - /* 850 */ 166, 601, 93, 223, 318, 147, 324, 323, 272, 322, | |
| 108608 | - /* 860 */ 166, 205, 285, 57, 58, 48, 582, 581, 583, 583, | |
| 108609 | - /* 870 */ 55, 55, 56, 56, 56, 56, 412, 54, 54, 54, | |
| 108610 | - /* 880 */ 54, 53, 53, 52, 52, 52, 51, 235, 312, 412, | |
| 108611 | - /* 890 */ 262, 415, 412, 538, 360, 600, 360, 202, 142, 601, | |
| 108612 | - /* 900 */ 100, 376, 412, 166, 415, 621, 540, 415, 360, 621, | |
| 108613 | - /* 910 */ 141, 621, 601, 77, 230, 601, 96, 415, 590, 584, | |
| 108614 | - /* 920 */ 341, 621, 530, 621, 529, 601, 137, 471, 382, 166, | |
| 108615 | - /* 930 */ 460, 600, 170, 453, 427, 307, 28, 57, 58, 48, | |
| 108616 | - /* 940 */ 582, 581, 583, 583, 55, 55, 56, 56, 56, 56, | |
| 108617 | - /* 950 */ 412, 54, 54, 54, 54, 53, 53, 52, 52, 52, | |
| 108618 | - /* 960 */ 51, 235, 312, 412, 503, 415, 412, 212, 459, 321, | |
| 108619 | - /* 970 */ 35, 211, 127, 601, 136, 428, 412, 308, 415, 412, | |
| 108620 | - /* 980 */ 273, 415, 222, 126, 255, 27, 601, 135, 377, 601, | |
| 108621 | - /* 990 */ 76, 415, 590, 584, 415, 262, 220, 51, 235, 601, | |
| 108622 | - /* 1000 */ 90, 600, 601, 89, 125, 600, 281, 522, 521, 373, | |
| 108623 | - /* 1010 */ 621, 57, 46, 48, 582, 581, 583, 583, 55, 55, | |
| 108624 | - /* 1020 */ 56, 56, 56, 56, 412, 54, 54, 54, 54, 53, | |
| 108625 | - /* 1030 */ 53, 52, 52, 52, 51, 235, 312, 412, 451, 415, | |
| 108626 | - /* 1040 */ 165, 624, 612, 611, 469, 521, 480, 601, 75, 185, | |
| 108627 | - /* 1050 */ 412, 122, 415, 412, 369, 412, 621, 621, 621, 477, | |
| 108628 | - /* 1060 */ 601, 88, 589, 588, 170, 415, 590, 584, 415, 121, | |
| 108629 | - /* 1070 */ 415, 473, 259, 601, 87, 159, 601, 99, 601, 86, | |
| 108630 | - /* 1080 */ 628, 332, 120, 14, 586, 585, 58, 48, 582, 581, | |
| 108631 | - /* 1090 */ 583, 583, 55, 55, 56, 56, 56, 56, 412, 54, | |
| 108632 | - /* 1100 */ 54, 54, 54, 53, 53, 52, 52, 52, 51, 235, | |
| 108633 | - /* 1110 */ 312, 587, 412, 415, 412, 465, 262, 262, 610, 605, | |
| 108634 | - /* 1120 */ 158, 601, 17, 157, 412, 462, 25, 415, 118, 415, | |
| 108635 | - /* 1130 */ 412, 621, 621, 621, 621, 601, 85, 601, 84, 415, | |
| 108636 | - /* 1140 */ 590, 584, 411, 262, 24, 415, 117, 601, 83, 10, | |
| 108637 | - /* 1150 */ 351, 4, 115, 601, 72, 458, 456, 621, 621, 450, | |
| 108638 | - /* 1160 */ 449, 48, 582, 581, 583, 583, 55, 55, 56, 56, | |
| 108639 | - /* 1170 */ 56, 56, 253, 54, 54, 54, 54, 53, 53, 52, | |
| 108640 | - /* 1180 */ 52, 52, 51, 235, 44, 406, 219, 3, 412, 452, | |
| 108641 | - /* 1190 */ 262, 416, 622, 154, 594, 110, 107, 108, 401, 446, | |
| 108642 | - /* 1200 */ 64, 557, 409, 415, 412, 621, 437, 44, 406, 621, | |
| 108643 | - /* 1210 */ 3, 601, 71, 621, 416, 622, 621, 545, 335, 415, | |
| 108644 | - /* 1220 */ 436, 404, 149, 239, 262, 409, 188, 601, 82, 331, | |
| 108645 | - /* 1230 */ 541, 566, 621, 218, 421, 539, 229, 139, 124, 621, | |
| 108646 | - /* 1240 */ 148, 419, 626, 625, 404, 621, 412, 238, 315, 123, | |
| 108647 | - /* 1250 */ 621, 41, 42, 534, 566, 206, 412, 277, 43, 414, | |
| 108648 | - /* 1260 */ 413, 415, 509, 595, 314, 615, 180, 245, 614, 601, | |
| 108649 | - /* 1270 */ 81, 415, 621, 276, 41, 42, 613, 621, 412, 601, | |
| 108650 | - /* 1280 */ 80, 43, 414, 413, 179, 270, 595, 418, 621, 600, | |
| 108651 | - /* 1290 */ 484, 8, 177, 415, 593, 593, 593, 592, 591, 13, | |
| 108652 | - /* 1300 */ 621, 601, 70, 417, 237, 621, 44, 406, 267, 3, | |
| 108653 | - /* 1310 */ 237, 265, 342, 416, 622, 599, 296, 593, 593, 593, | |
| 108654 | - /* 1320 */ 592, 591, 13, 621, 409, 412, 621, 412, 396, 34, | |
| 108655 | - /* 1330 */ 406, 412, 3, 31, 30, 294, 416, 622, 293, 333, | |
| 108656 | - /* 1340 */ 415, 263, 415, 404, 398, 258, 415, 409, 601, 18, | |
| 108657 | - /* 1350 */ 601, 79, 363, 566, 601, 78, 621, 295, 60, 37, | |
| 108658 | - /* 1360 */ 621, 172, 464, 390, 463, 598, 404, 621, 356, 288, | |
| 108659 | - /* 1370 */ 232, 29, 556, 41, 42, 252, 566, 621, 415, 621, | |
| 108660 | - /* 1380 */ 43, 414, 413, 621, 455, 595, 601, 9, 183, 61, | |
| 108661 | - /* 1390 */ 621, 543, 445, 623, 622, 244, 41, 42, 241, 621, | |
| 108662 | - /* 1400 */ 240, 393, 286, 43, 414, 413, 284, 621, 595, 431, | |
| 108663 | - /* 1410 */ 621, 291, 537, 621, 536, 621, 593, 593, 593, 592, | |
| 108664 | - /* 1420 */ 591, 13, 216, 144, 621, 387, 621, 304, 303, 302, | |
| 108665 | - /* 1430 */ 178, 300, 394, 566, 454, 517, 290, 523, 621, 593, | |
| 108666 | - /* 1440 */ 593, 593, 592, 591, 13, 518, 327, 621, 150, 279, | |
| 108667 | - /* 1450 */ 243, 621, 514, 192, 191, 513, 512, 310, 128, 242, | |
| 108668 | - /* 1460 */ 228, 526, 227, 226, 490, 595, 494, 489, 488, 309, | |
| 108669 | - /* 1470 */ 194, 164, 152, 163, 467, 374, 481, 372, 153, 162, | |
| 108670 | - /* 1480 */ 161, 151, 210, 479, 260, 370, 26, 478, 160, 468, | |
| 108671 | - /* 1490 */ 364, 140, 119, 116, 131, 457, 593, 593, 593, 155, | |
| 108672 | - /* 1500 */ 114, 346, 345, 113, 112, 111, 448, 109, 130, 23, | |
| 108673 | - /* 1510 */ 319, 20, 434, 433, 432, 63, 429, 609, 190, 510, | |
| 108674 | - /* 1520 */ 596, 405, 257, 344, 246, 297, 280, 573, 313, 570, | |
| 108675 | - /* 1530 */ 195, 499, 498, 237, 497, 495, 381, 289, 461, 247, | |
| 108676 | - /* 1540 */ 357, 254, 305, 343, 5, 447, 569, 209, 550, 371, | |
| 108677 | - /* 1550 */ 508, 491, 402, 502, 501, 298, 337, 527, 525, 485, | |
| 108678 | - /* 1560 */ 483, 235, | |
| 108530 | + /* 90 */ 51, 233, 617, 616, 165, 617, 616, 380, 377, 376, | |
| 108531 | + /* 100 */ 407, 532, 576, 576, 587, 581, 303, 422, 375, 59, | |
| 108532 | + /* 110 */ 53, 53, 52, 52, 52, 51, 233, 50, 47, 146, | |
| 108533 | + /* 120 */ 574, 545, 65, 57, 58, 48, 579, 578, 580, 580, | |
| 108534 | + /* 130 */ 55, 55, 56, 56, 56, 56, 213, 54, 54, 54, | |
| 108535 | + /* 140 */ 54, 53, 53, 52, 52, 52, 51, 233, 309, 223, | |
| 108536 | + /* 150 */ 539, 420, 170, 176, 138, 280, 383, 275, 382, 168, | |
| 108537 | + /* 160 */ 489, 551, 409, 668, 620, 619, 271, 438, 409, 438, | |
| 108538 | + /* 170 */ 550, 604, 67, 482, 507, 618, 599, 412, 587, 581, | |
| 108539 | + /* 180 */ 600, 483, 618, 412, 618, 598, 91, 439, 440, 439, | |
| 108540 | + /* 190 */ 335, 598, 73, 669, 222, 266, 480, 57, 58, 48, | |
| 108541 | + /* 200 */ 579, 578, 580, 580, 55, 55, 56, 56, 56, 56, | |
| 108542 | + /* 210 */ 670, 54, 54, 54, 54, 53, 53, 52, 52, 52, | |
| 108543 | + /* 220 */ 51, 233, 309, 279, 232, 231, 1, 132, 200, 385, | |
| 108544 | + /* 230 */ 620, 619, 617, 616, 278, 435, 289, 563, 175, 262, | |
| 108545 | + /* 240 */ 409, 264, 437, 497, 436, 166, 441, 568, 336, 568, | |
| 108546 | + /* 250 */ 201, 537, 587, 581, 599, 412, 165, 594, 600, 380, | |
| 108547 | + /* 260 */ 377, 376, 597, 598, 92, 523, 618, 569, 569, 592, | |
| 108548 | + /* 270 */ 375, 57, 58, 48, 579, 578, 580, 580, 55, 55, | |
| 108549 | + /* 280 */ 56, 56, 56, 56, 597, 54, 54, 54, 54, 53, | |
| 108550 | + /* 290 */ 53, 52, 52, 52, 51, 233, 309, 463, 617, 616, | |
| 108551 | + /* 300 */ 590, 590, 590, 174, 272, 396, 409, 272, 409, 548, | |
| 108552 | + /* 310 */ 397, 620, 619, 68, 326, 620, 619, 620, 619, 618, | |
| 108553 | + /* 320 */ 546, 412, 618, 412, 471, 594, 587, 581, 472, 598, | |
| 108554 | + /* 330 */ 92, 598, 92, 52, 52, 52, 51, 233, 513, 512, | |
| 108555 | + /* 340 */ 206, 322, 363, 464, 221, 57, 58, 48, 579, 578, | |
| 108556 | + /* 350 */ 580, 580, 55, 55, 56, 56, 56, 56, 529, 54, | |
| 108557 | + /* 360 */ 54, 54, 54, 53, 53, 52, 52, 52, 51, 233, | |
| 108558 | + /* 370 */ 309, 396, 409, 396, 597, 372, 386, 530, 347, 617, | |
| 108559 | + /* 380 */ 616, 575, 202, 617, 616, 617, 616, 412, 620, 619, | |
| 108560 | + /* 390 */ 145, 255, 346, 254, 577, 598, 74, 351, 45, 489, | |
| 108561 | + /* 400 */ 587, 581, 235, 189, 464, 544, 167, 296, 187, 469, | |
| 108562 | + /* 410 */ 479, 67, 62, 39, 618, 546, 597, 345, 573, 57, | |
| 108563 | + /* 420 */ 58, 48, 579, 578, 580, 580, 55, 55, 56, 56, | |
| 108564 | + /* 430 */ 56, 56, 6, 54, 54, 54, 54, 53, 53, 52, | |
| 108565 | + /* 440 */ 52, 52, 51, 233, 309, 562, 558, 407, 528, 576, | |
| 108566 | + /* 450 */ 576, 344, 255, 346, 254, 182, 617, 616, 503, 504, | |
| 108567 | + /* 460 */ 314, 409, 557, 235, 166, 271, 409, 352, 564, 181, | |
| 108568 | + /* 470 */ 407, 546, 576, 576, 587, 581, 412, 537, 556, 561, | |
| 108569 | + /* 480 */ 517, 412, 618, 249, 598, 16, 7, 36, 467, 598, | |
| 108570 | + /* 490 */ 92, 516, 618, 57, 58, 48, 579, 578, 580, 580, | |
| 108571 | + /* 500 */ 55, 55, 56, 56, 56, 56, 541, 54, 54, 54, | |
| 108572 | + /* 510 */ 54, 53, 53, 52, 52, 52, 51, 233, 309, 327, | |
| 108573 | + /* 520 */ 572, 571, 525, 558, 560, 394, 871, 246, 409, 248, | |
| 108574 | + /* 530 */ 171, 392, 594, 219, 407, 409, 576, 576, 502, 557, | |
| 108575 | + /* 540 */ 364, 145, 510, 412, 407, 229, 576, 576, 587, 581, | |
| 108576 | + /* 550 */ 412, 598, 92, 381, 269, 556, 166, 400, 598, 69, | |
| 108577 | + /* 560 */ 501, 419, 945, 199, 945, 198, 546, 57, 58, 48, | |
| 108578 | + /* 570 */ 579, 578, 580, 580, 55, 55, 56, 56, 56, 56, | |
| 108579 | + /* 580 */ 568, 54, 54, 54, 54, 53, 53, 52, 52, 52, | |
| 108580 | + /* 590 */ 51, 233, 309, 317, 419, 944, 508, 944, 308, 597, | |
| 108581 | + /* 600 */ 594, 565, 490, 212, 173, 247, 423, 615, 614, 613, | |
| 108582 | + /* 610 */ 323, 197, 143, 405, 572, 571, 489, 66, 50, 47, | |
| 108583 | + /* 620 */ 146, 594, 587, 581, 232, 231, 559, 427, 67, 555, | |
| 108584 | + /* 630 */ 15, 618, 186, 543, 303, 421, 35, 206, 432, 423, | |
| 108585 | + /* 640 */ 552, 57, 58, 48, 579, 578, 580, 580, 55, 55, | |
| 108586 | + /* 650 */ 56, 56, 56, 56, 205, 54, 54, 54, 54, 53, | |
| 108587 | + /* 660 */ 53, 52, 52, 52, 51, 233, 309, 569, 569, 260, | |
| 108588 | + /* 670 */ 268, 597, 12, 373, 568, 166, 409, 313, 409, 420, | |
| 108589 | + /* 680 */ 409, 473, 473, 365, 618, 50, 47, 146, 597, 594, | |
| 108590 | + /* 690 */ 468, 412, 166, 412, 351, 412, 587, 581, 32, 598, | |
| 108591 | + /* 700 */ 94, 598, 97, 598, 95, 627, 625, 329, 142, 50, | |
| 108592 | + /* 710 */ 47, 146, 333, 349, 358, 57, 58, 48, 579, 578, | |
| 108593 | + /* 720 */ 580, 580, 55, 55, 56, 56, 56, 56, 409, 54, | |
| 108594 | + /* 730 */ 54, 54, 54, 53, 53, 52, 52, 52, 51, 233, | |
| 108595 | + /* 740 */ 309, 409, 388, 412, 409, 22, 565, 404, 212, 362, | |
| 108596 | + /* 750 */ 389, 598, 104, 359, 409, 156, 412, 409, 603, 412, | |
| 108597 | + /* 760 */ 537, 331, 569, 569, 598, 103, 493, 598, 105, 412, | |
| 108598 | + /* 770 */ 587, 581, 412, 260, 549, 618, 11, 598, 106, 521, | |
| 108599 | + /* 780 */ 598, 133, 169, 457, 456, 170, 35, 601, 618, 57, | |
| 108600 | + /* 790 */ 58, 48, 579, 578, 580, 580, 55, 55, 56, 56, | |
| 108601 | + /* 800 */ 56, 56, 409, 54, 54, 54, 54, 53, 53, 52, | |
| 108602 | + /* 810 */ 52, 52, 51, 233, 309, 409, 259, 412, 409, 50, | |
| 108603 | + /* 820 */ 47, 146, 357, 318, 355, 598, 134, 527, 352, 337, | |
| 108604 | + /* 830 */ 412, 409, 356, 412, 357, 409, 357, 618, 598, 98, | |
| 108605 | + /* 840 */ 129, 598, 102, 618, 587, 581, 412, 21, 235, 618, | |
| 108606 | + /* 850 */ 412, 618, 211, 143, 598, 101, 30, 167, 598, 93, | |
| 108607 | + /* 860 */ 350, 535, 203, 57, 58, 48, 579, 578, 580, 580, | |
| 108608 | + /* 870 */ 55, 55, 56, 56, 56, 56, 409, 54, 54, 54, | |
| 108609 | + /* 880 */ 54, 53, 53, 52, 52, 52, 51, 233, 309, 409, | |
| 108610 | + /* 890 */ 526, 412, 409, 425, 215, 305, 597, 551, 141, 598, | |
| 108611 | + /* 900 */ 100, 40, 409, 38, 412, 409, 550, 412, 409, 228, | |
| 108612 | + /* 910 */ 220, 314, 598, 77, 500, 598, 96, 412, 587, 581, | |
| 108613 | + /* 920 */ 412, 338, 253, 412, 218, 598, 137, 379, 598, 136, | |
| 108614 | + /* 930 */ 28, 598, 135, 270, 715, 210, 481, 57, 58, 48, | |
| 108615 | + /* 940 */ 579, 578, 580, 580, 55, 55, 56, 56, 56, 56, | |
| 108616 | + /* 950 */ 409, 54, 54, 54, 54, 53, 53, 52, 52, 52, | |
| 108617 | + /* 960 */ 51, 233, 309, 409, 272, 412, 409, 315, 147, 597, | |
| 108618 | + /* 970 */ 272, 626, 2, 598, 76, 209, 409, 127, 412, 618, | |
| 108619 | + /* 980 */ 126, 412, 409, 621, 235, 618, 598, 90, 374, 598, | |
| 108620 | + /* 990 */ 89, 412, 587, 581, 27, 260, 350, 412, 618, 598, | |
| 108621 | + /* 1000 */ 75, 321, 541, 541, 125, 598, 88, 320, 278, 597, | |
| 108622 | + /* 1010 */ 618, 57, 46, 48, 579, 578, 580, 580, 55, 55, | |
| 108623 | + /* 1020 */ 56, 56, 56, 56, 409, 54, 54, 54, 54, 53, | |
| 108624 | + /* 1030 */ 53, 52, 52, 52, 51, 233, 309, 409, 450, 412, | |
| 108625 | + /* 1040 */ 164, 284, 282, 272, 609, 424, 304, 598, 87, 370, | |
| 108626 | + /* 1050 */ 409, 477, 412, 409, 608, 409, 607, 602, 618, 618, | |
| 108627 | + /* 1060 */ 598, 99, 586, 585, 122, 412, 587, 581, 412, 618, | |
| 108628 | + /* 1070 */ 412, 618, 618, 598, 86, 366, 598, 17, 598, 85, | |
| 108629 | + /* 1080 */ 319, 185, 519, 518, 583, 582, 58, 48, 579, 578, | |
| 108630 | + /* 1090 */ 580, 580, 55, 55, 56, 56, 56, 56, 409, 54, | |
| 108631 | + /* 1100 */ 54, 54, 54, 53, 53, 52, 52, 52, 51, 233, | |
| 108632 | + /* 1110 */ 309, 584, 409, 412, 409, 260, 260, 260, 408, 591, | |
| 108633 | + /* 1120 */ 474, 598, 84, 170, 409, 466, 518, 412, 121, 412, | |
| 108634 | + /* 1130 */ 618, 618, 618, 618, 618, 598, 83, 598, 72, 412, | |
| 108635 | + /* 1140 */ 587, 581, 51, 233, 625, 329, 470, 598, 71, 257, | |
| 108636 | + /* 1150 */ 159, 120, 14, 462, 157, 158, 117, 260, 448, 447, | |
| 108637 | + /* 1160 */ 446, 48, 579, 578, 580, 580, 55, 55, 56, 56, | |
| 108638 | + /* 1170 */ 56, 56, 618, 54, 54, 54, 54, 53, 53, 52, | |
| 108639 | + /* 1180 */ 52, 52, 51, 233, 44, 403, 260, 3, 409, 459, | |
| 108640 | + /* 1190 */ 260, 413, 619, 118, 398, 10, 25, 24, 554, 348, | |
| 108641 | + /* 1200 */ 217, 618, 406, 412, 409, 618, 4, 44, 403, 618, | |
| 108642 | + /* 1210 */ 3, 598, 82, 618, 413, 619, 455, 542, 115, 412, | |
| 108643 | + /* 1220 */ 538, 401, 536, 274, 506, 406, 251, 598, 81, 216, | |
| 108644 | + /* 1230 */ 273, 563, 618, 243, 453, 618, 154, 618, 618, 618, | |
| 108645 | + /* 1240 */ 449, 416, 623, 110, 401, 618, 409, 236, 64, 123, | |
| 108646 | + /* 1250 */ 487, 41, 42, 531, 563, 204, 409, 267, 43, 411, | |
| 108647 | + /* 1260 */ 410, 412, 265, 592, 108, 618, 107, 434, 332, 598, | |
| 108648 | + /* 1270 */ 80, 412, 618, 263, 41, 42, 443, 618, 409, 598, | |
| 108649 | + /* 1280 */ 70, 43, 411, 410, 433, 261, 592, 149, 618, 597, | |
| 108650 | + /* 1290 */ 256, 237, 188, 412, 590, 590, 590, 589, 588, 13, | |
| 108651 | + /* 1300 */ 618, 598, 18, 328, 235, 618, 44, 403, 360, 3, | |
| 108652 | + /* 1310 */ 418, 461, 339, 413, 619, 227, 124, 590, 590, 590, | |
| 108653 | + /* 1320 */ 589, 588, 13, 618, 406, 409, 618, 409, 139, 34, | |
| 108654 | + /* 1330 */ 403, 387, 3, 148, 622, 312, 413, 619, 311, 330, | |
| 108655 | + /* 1340 */ 412, 460, 412, 401, 180, 353, 412, 406, 598, 79, | |
| 108656 | + /* 1350 */ 598, 78, 250, 563, 598, 9, 618, 612, 611, 610, | |
| 108657 | + /* 1360 */ 618, 8, 452, 442, 242, 415, 401, 618, 239, 235, | |
| 108658 | + /* 1370 */ 179, 238, 428, 41, 42, 288, 563, 618, 618, 618, | |
| 108659 | + /* 1380 */ 43, 411, 410, 618, 144, 592, 618, 618, 177, 61, | |
| 108660 | + /* 1390 */ 618, 596, 391, 620, 619, 287, 41, 42, 414, 618, | |
| 108661 | + /* 1400 */ 293, 30, 393, 43, 411, 410, 292, 618, 592, 31, | |
| 108662 | + /* 1410 */ 618, 395, 291, 60, 230, 37, 590, 590, 590, 589, | |
| 108663 | + /* 1420 */ 588, 13, 214, 553, 183, 290, 172, 301, 300, 299, | |
| 108664 | + /* 1430 */ 178, 297, 595, 563, 451, 29, 285, 390, 540, 590, | |
| 108665 | + /* 1440 */ 590, 590, 589, 588, 13, 283, 520, 534, 150, 533, | |
| 108666 | + /* 1450 */ 241, 281, 384, 192, 191, 324, 515, 514, 276, 240, | |
| 108667 | + /* 1460 */ 510, 523, 307, 511, 128, 592, 509, 225, 226, 486, | |
| 108668 | + /* 1470 */ 485, 224, 152, 491, 464, 306, 484, 163, 153, 371, | |
| 108669 | + /* 1480 */ 478, 151, 162, 258, 369, 161, 367, 208, 475, 476, | |
| 108670 | + /* 1490 */ 26, 160, 465, 140, 361, 131, 590, 590, 590, 116, | |
| 108671 | + /* 1500 */ 119, 454, 343, 155, 114, 342, 113, 112, 445, 111, | |
| 108672 | + /* 1510 */ 130, 109, 431, 316, 426, 430, 23, 429, 20, 606, | |
| 108673 | + /* 1520 */ 190, 507, 255, 341, 244, 63, 294, 593, 310, 570, | |
| 108674 | + /* 1530 */ 277, 402, 354, 235, 567, 496, 495, 492, 494, 302, | |
| 108675 | + /* 1540 */ 458, 378, 286, 245, 566, 5, 252, 547, 193, 444, | |
| 108676 | + /* 1550 */ 233, 340, 207, 524, 368, 505, 334, 522, 499, 399, | |
| 108677 | + /* 1560 */ 295, 498, 956, 488, | |
| 108679 | 108678 | }; |
| 108680 | 108679 | static const YYCODETYPE yy_lookahead[] = { |
| 108681 | - /* 0 */ 19, 169, 170, 171, 22, 24, 24, 26, 77, 78, | |
| 108680 | + /* 0 */ 19, 142, 143, 144, 145, 24, 1, 26, 77, 78, | |
| 108682 | 108681 | /* 10 */ 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, |
| 108683 | - /* 20 */ 89, 90, 91, 92, 88, 89, 90, 91, 92, 1, | |
| 108684 | - /* 30 */ 49, 50, 77, 78, 79, 80, 155, 82, 83, 84, | |
| 108685 | - /* 40 */ 85, 86, 87, 88, 89, 90, 91, 92, 15, 68, | |
| 108682 | + /* 20 */ 89, 90, 91, 92, 26, 27, 15, 26, 27, 197, | |
| 108683 | + /* 30 */ 49, 50, 77, 78, 79, 80, 204, 82, 83, 84, | |
| 108684 | + /* 40 */ 85, 86, 87, 88, 89, 90, 91, 92, 23, 68, | |
| 108686 | 108685 | /* 50 */ 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, |
| 108687 | - /* 60 */ 79, 80, 230, 82, 83, 84, 85, 86, 87, 88, | |
| 108686 | + /* 60 */ 79, 80, 166, 82, 83, 84, 85, 86, 87, 88, | |
| 108688 | 108687 | /* 70 */ 89, 90, 91, 92, 19, 94, 19, 105, 106, 107, |
| 108689 | 108688 | /* 80 */ 25, 82, 83, 84, 85, 86, 87, 88, 89, 90, |
| 108690 | - /* 90 */ 91, 92, 86, 87, 88, 89, 90, 91, 92, 150, | |
| 108691 | - /* 100 */ 26, 150, 22, 116, 49, 50, 26, 158, 227, 54, | |
| 108692 | - /* 110 */ 161, 162, 231, 22, 165, 128, 165, 26, 27, 7, | |
| 108693 | - /* 120 */ 8, 170, 171, 68, 69, 70, 71, 72, 73, 74, | |
| 108694 | - /* 130 */ 75, 76, 77, 78, 79, 80, 23, 82, 83, 84, | |
| 108689 | + /* 90 */ 91, 92, 94, 95, 96, 94, 95, 99, 100, 101, | |
| 108690 | + /* 100 */ 112, 205, 114, 115, 49, 50, 22, 23, 110, 54, | |
| 108691 | + /* 110 */ 86, 87, 88, 89, 90, 91, 92, 221, 222, 223, | |
| 108692 | + /* 120 */ 23, 120, 25, 68, 69, 70, 71, 72, 73, 74, | |
| 108693 | + /* 130 */ 75, 76, 77, 78, 79, 80, 22, 82, 83, 84, | |
| 108695 | 108694 | /* 140 */ 85, 86, 87, 88, 89, 90, 91, 92, 19, 92, |
| 108696 | - /* 150 */ 7, 8, 9, 96, 97, 98, 99, 100, 101, 102, | |
| 108697 | - /* 160 */ 150, 32, 26, 27, 26, 27, 109, 150, 94, 150, | |
| 108698 | - /* 170 */ 41, 161, 162, 22, 94, 165, 97, 98, 49, 50, | |
| 108699 | - /* 180 */ 229, 230, 165, 19, 165, 94, 95, 170, 171, 26, | |
| 108700 | - /* 190 */ 27, 27, 173, 174, 184, 185, 118, 68, 69, 70, | |
| 108695 | + /* 150 */ 23, 67, 25, 96, 97, 98, 99, 100, 101, 102, | |
| 108696 | + /* 160 */ 150, 32, 150, 118, 26, 27, 109, 150, 150, 150, | |
| 108697 | + /* 170 */ 41, 161, 162, 180, 181, 165, 113, 165, 49, 50, | |
| 108698 | + /* 180 */ 117, 188, 165, 165, 165, 173, 174, 170, 171, 170, | |
| 108699 | + /* 190 */ 171, 173, 174, 118, 184, 16, 186, 68, 69, 70, | |
| 108701 | 108700 | /* 200 */ 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, |
| 108702 | 108701 | /* 210 */ 118, 82, 83, 84, 85, 86, 87, 88, 89, 90, |
| 108703 | - /* 220 */ 91, 92, 19, 150, 86, 87, 36, 24, 180, 181, | |
| 108704 | - /* 230 */ 94, 95, 94, 95, 215, 97, 188, 66, 165, 220, | |
| 108705 | - /* 240 */ 150, 51, 104, 23, 106, 113, 229, 230, 58, 117, | |
| 108706 | - /* 250 */ 160, 88, 49, 50, 22, 165, 120, 94, 95, 99, | |
| 108707 | - /* 260 */ 100, 101, 22, 173, 174, 94, 193, 129, 130, 98, | |
| 108702 | + /* 220 */ 91, 92, 19, 98, 86, 87, 22, 24, 160, 88, | |
| 108703 | + /* 230 */ 26, 27, 94, 95, 109, 97, 224, 66, 118, 60, | |
| 108704 | + /* 240 */ 150, 62, 104, 23, 106, 25, 229, 230, 229, 230, | |
| 108705 | + /* 250 */ 160, 150, 49, 50, 113, 165, 96, 26, 117, 99, | |
| 108706 | + /* 260 */ 100, 101, 194, 173, 174, 94, 165, 129, 130, 98, | |
| 108708 | 108707 | /* 270 */ 110, 68, 69, 70, 71, 72, 73, 74, 75, 76, |
| 108709 | 108708 | /* 280 */ 77, 78, 79, 80, 194, 82, 83, 84, 85, 86, |
| 108710 | - /* 290 */ 87, 88, 89, 90, 91, 92, 19, 11, 108, 12, | |
| 108711 | - /* 300 */ 129, 130, 131, 98, 163, 215, 150, 166, 167, 168, | |
| 108712 | - /* 310 */ 220, 26, 27, 22, 109, 28, 76, 26, 27, 50, | |
| 108713 | - /* 320 */ 23, 165, 25, 169, 170, 171, 49, 50, 118, 173, | |
| 108714 | - /* 330 */ 174, 44, 112, 46, 114, 115, 22, 23, 26, 27, | |
| 108715 | - /* 340 */ 160, 129, 130, 57, 57, 68, 69, 70, 71, 72, | |
| 108709 | + /* 290 */ 87, 88, 89, 90, 91, 92, 19, 11, 94, 95, | |
| 108710 | + /* 300 */ 129, 130, 131, 118, 150, 215, 150, 150, 150, 25, | |
| 108711 | + /* 310 */ 220, 26, 27, 22, 213, 26, 27, 26, 27, 165, | |
| 108712 | + /* 320 */ 25, 165, 165, 165, 30, 94, 49, 50, 34, 173, | |
| 108713 | + /* 330 */ 174, 173, 174, 88, 89, 90, 91, 92, 7, 8, | |
| 108714 | + /* 340 */ 160, 187, 48, 57, 187, 68, 69, 70, 71, 72, | |
| 108716 | 108715 | /* 350 */ 73, 74, 75, 76, 77, 78, 79, 80, 23, 82, |
| 108717 | 108716 | /* 360 */ 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, |
| 108718 | - /* 370 */ 19, 215, 150, 104, 194, 150, 220, 25, 23, 94, | |
| 108719 | - /* 380 */ 95, 67, 160, 118, 230, 94, 95, 165, 25, 150, | |
| 108720 | - /* 390 */ 165, 105, 106, 107, 118, 173, 174, 217, 173, 174, | |
| 108721 | - /* 400 */ 49, 50, 116, 57, 165, 120, 94, 95, 96, 26, | |
| 108722 | - /* 410 */ 27, 166, 232, 136, 16, 113, 194, 237, 176, 68, | |
| 108717 | + /* 370 */ 19, 215, 150, 215, 194, 19, 220, 88, 220, 94, | |
| 108718 | + /* 380 */ 95, 23, 160, 94, 95, 94, 95, 165, 26, 27, | |
| 108719 | + /* 390 */ 95, 105, 106, 107, 113, 173, 174, 217, 22, 150, | |
| 108720 | + /* 400 */ 49, 50, 116, 119, 57, 120, 50, 158, 22, 21, | |
| 108721 | + /* 410 */ 161, 162, 232, 136, 165, 120, 194, 237, 23, 68, | |
| 108723 | 108722 | /* 420 */ 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, |
| 108724 | - /* 430 */ 79, 80, 23, 82, 83, 84, 85, 86, 87, 88, | |
| 108725 | - /* 440 */ 89, 90, 91, 92, 19, 32, 23, 95, 23, 224, | |
| 108726 | - /* 450 */ 205, 105, 106, 107, 41, 216, 150, 23, 60, 25, | |
| 108727 | - /* 460 */ 62, 150, 116, 221, 222, 223, 150, 112, 150, 114, | |
| 108728 | - /* 470 */ 115, 165, 120, 23, 49, 50, 165, 94, 95, 173, | |
| 108729 | - /* 480 */ 174, 165, 119, 165, 173, 174, 16, 136, 166, 173, | |
| 108730 | - /* 490 */ 174, 173, 174, 68, 69, 70, 71, 72, 73, 74, | |
| 108731 | - /* 500 */ 75, 76, 77, 78, 79, 80, 22, 82, 83, 84, | |
| 108732 | - /* 510 */ 85, 86, 87, 88, 89, 90, 91, 92, 19, 11, | |
| 108733 | - /* 520 */ 214, 112, 23, 114, 115, 12, 215, 205, 22, 95, | |
| 108734 | - /* 530 */ 60, 215, 62, 88, 19, 112, 138, 114, 115, 197, | |
| 108735 | - /* 540 */ 135, 28, 137, 221, 222, 223, 204, 172, 49, 50, | |
| 108736 | - /* 550 */ 22, 23, 23, 25, 120, 180, 21, 44, 113, 46, | |
| 108737 | - /* 560 */ 22, 23, 117, 25, 23, 50, 160, 68, 69, 70, | |
| 108723 | + /* 430 */ 79, 80, 22, 82, 83, 84, 85, 86, 87, 88, | |
| 108724 | + /* 440 */ 89, 90, 91, 92, 19, 23, 12, 112, 23, 114, | |
| 108725 | + /* 450 */ 115, 63, 105, 106, 107, 23, 94, 95, 97, 98, | |
| 108726 | + /* 460 */ 104, 150, 28, 116, 25, 109, 150, 150, 23, 23, | |
| 108727 | + /* 470 */ 112, 25, 114, 115, 49, 50, 165, 150, 44, 11, | |
| 108728 | + /* 480 */ 46, 165, 165, 16, 173, 174, 76, 136, 100, 173, | |
| 108729 | + /* 490 */ 174, 57, 165, 68, 69, 70, 71, 72, 73, 74, | |
| 108730 | + /* 500 */ 75, 76, 77, 78, 79, 80, 166, 82, 83, 84, | |
| 108731 | + /* 510 */ 85, 86, 87, 88, 89, 90, 91, 92, 19, 169, | |
| 108732 | + /* 520 */ 170, 171, 23, 12, 23, 214, 138, 60, 150, 62, | |
| 108733 | + /* 530 */ 24, 215, 26, 216, 112, 150, 114, 115, 36, 28, | |
| 108734 | + /* 540 */ 213, 95, 103, 165, 112, 205, 114, 115, 49, 50, | |
| 108735 | + /* 550 */ 165, 173, 174, 51, 23, 44, 25, 46, 173, 174, | |
| 108736 | + /* 560 */ 58, 22, 23, 22, 25, 160, 120, 68, 69, 70, | |
| 108738 | 108737 | /* 570 */ 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, |
| 108739 | - /* 580 */ 25, 82, 83, 84, 85, 86, 87, 88, 89, 90, | |
| 108740 | - /* 590 */ 91, 92, 19, 150, 150, 67, 23, 160, 63, 150, | |
| 108741 | - /* 600 */ 194, 221, 222, 223, 112, 67, 114, 115, 165, 165, | |
| 108742 | - /* 610 */ 161, 162, 206, 207, 165, 25, 30, 173, 174, 104, | |
| 108743 | - /* 620 */ 34, 241, 49, 50, 109, 86, 87, 142, 143, 144, | |
| 108744 | - /* 630 */ 145, 194, 19, 176, 48, 100, 193, 105, 106, 107, | |
| 108745 | - /* 640 */ 27, 68, 69, 70, 71, 72, 73, 74, 75, 76, | |
| 108746 | - /* 650 */ 77, 78, 79, 80, 217, 82, 83, 84, 85, 86, | |
| 108747 | - /* 660 */ 87, 88, 89, 90, 91, 92, 19, 150, 129, 130, | |
| 108748 | - /* 670 */ 23, 150, 23, 138, 237, 206, 207, 150, 221, 222, | |
| 108749 | - /* 680 */ 223, 126, 165, 150, 150, 242, 165, 150, 144, 145, | |
| 108750 | - /* 690 */ 173, 174, 165, 103, 173, 174, 49, 50, 165, 165, | |
| 108751 | - /* 700 */ 173, 174, 165, 22, 23, 0, 1, 2, 25, 25, | |
| 108752 | - /* 710 */ 173, 174, 24, 120, 26, 68, 69, 70, 71, 72, | |
| 108738 | + /* 580 */ 230, 82, 83, 84, 85, 86, 87, 88, 89, 90, | |
| 108739 | + /* 590 */ 91, 92, 19, 215, 22, 23, 23, 25, 163, 194, | |
| 108740 | + /* 600 */ 94, 166, 167, 168, 25, 138, 67, 7, 8, 9, | |
| 108741 | + /* 610 */ 108, 206, 207, 169, 170, 171, 150, 22, 221, 222, | |
| 108742 | + /* 620 */ 223, 26, 49, 50, 86, 87, 23, 161, 162, 23, | |
| 108743 | + /* 630 */ 22, 165, 24, 120, 22, 23, 25, 160, 241, 67, | |
| 108744 | + /* 640 */ 176, 68, 69, 70, 71, 72, 73, 74, 75, 76, | |
| 108745 | + /* 650 */ 77, 78, 79, 80, 160, 82, 83, 84, 85, 86, | |
| 108746 | + /* 660 */ 87, 88, 89, 90, 91, 92, 19, 129, 130, 150, | |
| 108747 | + /* 670 */ 23, 194, 35, 23, 230, 25, 150, 155, 150, 67, | |
| 108748 | + /* 680 */ 150, 105, 106, 107, 165, 221, 222, 223, 194, 94, | |
| 108749 | + /* 690 */ 23, 165, 25, 165, 217, 165, 49, 50, 25, 173, | |
| 108750 | + /* 700 */ 174, 173, 174, 173, 174, 0, 1, 2, 118, 221, | |
| 108751 | + /* 710 */ 222, 223, 193, 219, 237, 68, 69, 70, 71, 72, | |
| 108753 | 108752 | /* 720 */ 73, 74, 75, 76, 77, 78, 79, 80, 150, 82, |
| 108754 | 108753 | /* 730 */ 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, |
| 108755 | - /* 740 */ 19, 150, 150, 165, 150, 24, 213, 97, 67, 166, | |
| 108756 | - /* 750 */ 216, 173, 174, 166, 167, 168, 165, 165, 25, 165, | |
| 108757 | - /* 760 */ 150, 150, 150, 35, 173, 174, 116, 173, 174, 35, | |
| 108758 | - /* 770 */ 49, 50, 221, 222, 223, 165, 165, 165, 128, 187, | |
| 108759 | - /* 780 */ 96, 22, 94, 173, 174, 173, 174, 160, 205, 68, | |
| 108754 | + /* 740 */ 19, 150, 19, 165, 150, 24, 166, 167, 168, 227, | |
| 108755 | + /* 750 */ 27, 173, 174, 231, 150, 25, 165, 150, 172, 165, | |
| 108756 | + /* 760 */ 150, 242, 129, 130, 173, 174, 180, 173, 174, 165, | |
| 108757 | + /* 770 */ 49, 50, 165, 150, 176, 165, 35, 173, 174, 165, | |
| 108758 | + /* 780 */ 173, 174, 35, 23, 23, 25, 25, 173, 165, 68, | |
| 108760 | 108759 | /* 790 */ 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, |
| 108761 | 108760 | /* 800 */ 79, 80, 150, 82, 83, 84, 85, 86, 87, 88, |
| 108762 | - /* 810 */ 89, 90, 91, 92, 19, 150, 150, 165, 150, 150, | |
| 108763 | - /* 820 */ 150, 194, 150, 166, 213, 173, 174, 23, 150, 25, | |
| 108764 | - /* 830 */ 165, 165, 165, 165, 165, 165, 35, 165, 173, 174, | |
| 108765 | - /* 840 */ 173, 173, 174, 165, 49, 50, 219, 52, 23, 25, | |
| 108766 | - /* 850 */ 25, 173, 174, 187, 245, 246, 187, 187, 23, 187, | |
| 108767 | - /* 860 */ 25, 160, 205, 68, 69, 70, 71, 72, 73, 74, | |
| 108761 | + /* 810 */ 89, 90, 91, 92, 19, 150, 193, 165, 150, 221, | |
| 108762 | + /* 820 */ 222, 223, 150, 213, 19, 173, 174, 23, 150, 97, | |
| 108763 | + /* 830 */ 165, 150, 27, 165, 150, 150, 150, 165, 173, 174, | |
| 108764 | + /* 840 */ 22, 173, 174, 165, 49, 50, 165, 52, 116, 165, | |
| 108765 | + /* 850 */ 165, 165, 206, 207, 173, 174, 126, 50, 173, 174, | |
| 108766 | + /* 860 */ 128, 27, 160, 68, 69, 70, 71, 72, 73, 74, | |
| 108768 | 108767 | /* 870 */ 75, 76, 77, 78, 79, 80, 150, 82, 83, 84, |
| 108769 | 108768 | /* 880 */ 85, 86, 87, 88, 89, 90, 91, 92, 19, 150, |
| 108770 | - /* 890 */ 150, 165, 150, 27, 150, 194, 150, 160, 118, 173, | |
| 108771 | - /* 900 */ 174, 23, 150, 25, 165, 165, 150, 165, 150, 165, | |
| 108772 | - /* 910 */ 39, 165, 173, 174, 52, 173, 174, 165, 49, 50, | |
| 108773 | - /* 920 */ 219, 165, 23, 165, 23, 173, 174, 23, 52, 25, | |
| 108774 | - /* 930 */ 23, 194, 25, 193, 247, 248, 22, 68, 69, 70, | |
| 108769 | + /* 890 */ 23, 165, 150, 23, 216, 25, 194, 32, 39, 173, | |
| 108770 | + /* 900 */ 174, 135, 150, 137, 165, 150, 41, 165, 150, 52, | |
| 108771 | + /* 910 */ 238, 104, 173, 174, 29, 173, 174, 165, 49, 50, | |
| 108772 | + /* 920 */ 165, 219, 238, 165, 238, 173, 174, 52, 173, 174, | |
| 108773 | + /* 930 */ 22, 173, 174, 23, 23, 160, 25, 68, 69, 70, | |
| 108775 | 108774 | /* 940 */ 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, |
| 108776 | 108775 | /* 950 */ 150, 82, 83, 84, 85, 86, 87, 88, 89, 90, |
| 108777 | - /* 960 */ 91, 92, 19, 150, 29, 165, 150, 160, 23, 213, | |
| 108778 | - /* 970 */ 25, 160, 22, 173, 174, 23, 150, 25, 165, 150, | |
| 108779 | - /* 980 */ 23, 165, 238, 22, 238, 22, 173, 174, 52, 173, | |
| 108780 | - /* 990 */ 174, 165, 49, 50, 165, 150, 238, 91, 92, 173, | |
| 108781 | - /* 1000 */ 174, 194, 173, 174, 22, 194, 109, 190, 191, 19, | |
| 108776 | + /* 960 */ 91, 92, 19, 150, 150, 165, 150, 245, 246, 194, | |
| 108777 | + /* 970 */ 150, 144, 145, 173, 174, 160, 150, 22, 165, 165, | |
| 108778 | + /* 980 */ 22, 165, 150, 150, 116, 165, 173, 174, 52, 173, | |
| 108779 | + /* 990 */ 174, 165, 49, 50, 22, 150, 128, 165, 165, 173, | |
| 108780 | + /* 1000 */ 174, 187, 166, 166, 22, 173, 174, 187, 109, 194, | |
| 108782 | 108781 | /* 1010 */ 165, 68, 69, 70, 71, 72, 73, 74, 75, 76, |
| 108783 | 108782 | /* 1020 */ 77, 78, 79, 80, 150, 82, 83, 84, 85, 86, |
| 108784 | 108783 | /* 1030 */ 87, 88, 89, 90, 91, 92, 19, 150, 193, 165, |
| 108785 | - /* 1040 */ 102, 150, 150, 150, 190, 191, 20, 173, 174, 24, | |
| 108786 | - /* 1050 */ 150, 104, 165, 150, 43, 150, 165, 165, 165, 59, | |
| 108787 | - /* 1060 */ 173, 174, 49, 50, 25, 165, 49, 50, 165, 53, | |
| 108788 | - /* 1070 */ 165, 53, 138, 173, 174, 104, 173, 174, 173, 174, | |
| 108789 | - /* 1080 */ 1, 2, 22, 5, 71, 72, 69, 70, 71, 72, | |
| 108784 | + /* 1040 */ 102, 205, 205, 150, 150, 247, 248, 173, 174, 19, | |
| 108785 | + /* 1050 */ 150, 20, 165, 150, 150, 150, 150, 150, 165, 165, | |
| 108786 | + /* 1060 */ 173, 174, 49, 50, 104, 165, 49, 50, 165, 165, | |
| 108787 | + /* 1070 */ 165, 165, 165, 173, 174, 43, 173, 174, 173, 174, | |
| 108788 | + /* 1080 */ 187, 24, 190, 191, 71, 72, 69, 70, 71, 72, | |
| 108790 | 108789 | /* 1090 */ 73, 74, 75, 76, 77, 78, 79, 80, 150, 82, |
| 108791 | 108790 | /* 1100 */ 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, |
| 108792 | - /* 1110 */ 19, 98, 150, 165, 150, 1, 150, 150, 150, 150, | |
| 108793 | - /* 1120 */ 118, 173, 174, 35, 150, 27, 76, 165, 108, 165, | |
| 108794 | - /* 1130 */ 150, 165, 165, 165, 165, 173, 174, 173, 174, 165, | |
| 108795 | - /* 1140 */ 49, 50, 150, 150, 76, 165, 127, 173, 174, 22, | |
| 108796 | - /* 1150 */ 25, 22, 119, 173, 174, 23, 1, 165, 165, 193, | |
| 108791 | + /* 1110 */ 19, 98, 150, 165, 150, 150, 150, 150, 150, 150, | |
| 108792 | + /* 1120 */ 59, 173, 174, 25, 150, 190, 191, 165, 53, 165, | |
| 108793 | + /* 1130 */ 165, 165, 165, 165, 165, 173, 174, 173, 174, 165, | |
| 108794 | + /* 1140 */ 49, 50, 91, 92, 1, 2, 53, 173, 174, 138, | |
| 108795 | + /* 1150 */ 104, 22, 5, 1, 35, 118, 127, 150, 193, 193, | |
| 108797 | 108796 | /* 1160 */ 193, 70, 71, 72, 73, 74, 75, 76, 77, 78, |
| 108798 | - /* 1170 */ 79, 80, 16, 82, 83, 84, 85, 86, 87, 88, | |
| 108799 | - /* 1180 */ 89, 90, 91, 92, 19, 20, 193, 22, 150, 20, | |
| 108800 | - /* 1190 */ 150, 26, 27, 121, 150, 119, 127, 108, 150, 128, | |
| 108801 | - /* 1200 */ 16, 150, 37, 165, 150, 165, 23, 19, 20, 165, | |
| 108802 | - /* 1210 */ 22, 173, 174, 165, 26, 27, 165, 150, 65, 165, | |
| 108803 | - /* 1220 */ 23, 56, 15, 140, 150, 37, 22, 173, 174, 3, | |
| 108804 | - /* 1230 */ 150, 66, 165, 193, 4, 150, 179, 164, 179, 165, | |
| 108805 | - /* 1240 */ 246, 146, 147, 149, 56, 165, 150, 152, 249, 154, | |
| 108806 | - /* 1250 */ 165, 86, 87, 88, 66, 160, 150, 150, 93, 94, | |
| 108807 | - /* 1260 */ 95, 165, 150, 98, 249, 149, 6, 193, 149, 173, | |
| 108808 | - /* 1270 */ 174, 165, 165, 150, 86, 87, 13, 165, 150, 173, | |
| 108809 | - /* 1280 */ 174, 93, 94, 95, 151, 150, 98, 149, 165, 194, | |
| 108810 | - /* 1290 */ 150, 25, 151, 165, 129, 130, 131, 132, 133, 134, | |
| 108811 | - /* 1300 */ 165, 173, 174, 159, 116, 165, 19, 20, 150, 22, | |
| 108812 | - /* 1310 */ 116, 150, 217, 26, 27, 194, 199, 129, 130, 131, | |
| 108813 | - /* 1320 */ 132, 133, 134, 165, 37, 150, 165, 150, 123, 19, | |
| 108814 | - /* 1330 */ 20, 150, 22, 124, 126, 201, 26, 27, 202, 244, | |
| 108815 | - /* 1340 */ 165, 150, 165, 56, 122, 150, 165, 37, 173, 174, | |
| 108816 | - /* 1350 */ 173, 174, 150, 66, 173, 174, 165, 200, 125, 135, | |
| 108817 | - /* 1360 */ 165, 118, 150, 150, 150, 203, 56, 165, 150, 210, | |
| 108818 | - /* 1370 */ 225, 104, 157, 86, 87, 150, 66, 165, 165, 165, | |
| 108819 | - /* 1380 */ 93, 94, 95, 165, 150, 98, 173, 174, 157, 22, | |
| 108820 | - /* 1390 */ 165, 211, 150, 26, 27, 150, 86, 87, 150, 165, | |
| 108821 | - /* 1400 */ 150, 121, 210, 93, 94, 95, 210, 165, 98, 150, | |
| 108822 | - /* 1410 */ 165, 150, 211, 165, 211, 165, 129, 130, 131, 132, | |
| 108823 | - /* 1420 */ 133, 134, 5, 150, 165, 104, 165, 10, 11, 12, | |
| 108824 | - /* 1430 */ 13, 14, 150, 66, 17, 183, 150, 175, 165, 129, | |
| 108825 | - /* 1440 */ 130, 131, 132, 133, 134, 175, 47, 165, 31, 175, | |
| 108826 | - /* 1450 */ 33, 165, 177, 86, 87, 103, 175, 178, 22, 42, | |
| 108827 | - /* 1460 */ 228, 94, 92, 228, 175, 98, 183, 175, 175, 178, | |
| 108828 | - /* 1470 */ 185, 96, 55, 156, 57, 18, 157, 157, 61, 156, | |
| 108829 | - /* 1480 */ 156, 64, 157, 157, 235, 45, 135, 236, 156, 189, | |
| 108830 | - /* 1490 */ 157, 68, 189, 22, 218, 199, 129, 130, 131, 156, | |
| 108831 | - /* 1500 */ 192, 157, 18, 192, 192, 192, 199, 189, 218, 240, | |
| 108832 | - /* 1510 */ 157, 240, 40, 157, 157, 243, 38, 153, 196, 181, | |
| 108833 | - /* 1520 */ 166, 226, 105, 106, 107, 198, 176, 230, 111, 230, | |
| 108834 | - /* 1530 */ 185, 176, 166, 116, 176, 166, 177, 209, 199, 209, | |
| 108835 | - /* 1540 */ 239, 239, 148, 209, 196, 199, 166, 233, 208, 234, | |
| 108836 | - /* 1550 */ 182, 186, 191, 182, 182, 195, 139, 173, 173, 186, | |
| 108837 | - /* 1560 */ 186, 92, | |
| 108797 | + /* 1170 */ 79, 80, 165, 82, 83, 84, 85, 86, 87, 88, | |
| 108798 | + /* 1180 */ 89, 90, 91, 92, 19, 20, 150, 22, 150, 27, | |
| 108799 | + /* 1190 */ 150, 26, 27, 108, 150, 22, 76, 76, 150, 25, | |
| 108800 | + /* 1200 */ 193, 165, 37, 165, 150, 165, 22, 19, 20, 165, | |
| 108801 | + /* 1210 */ 22, 173, 174, 165, 26, 27, 23, 150, 119, 165, | |
| 108802 | + /* 1220 */ 150, 56, 150, 150, 150, 37, 16, 173, 174, 193, | |
| 108803 | + /* 1230 */ 150, 66, 165, 193, 1, 165, 121, 165, 165, 165, | |
| 108804 | + /* 1240 */ 20, 146, 147, 119, 56, 165, 150, 152, 16, 154, | |
| 108805 | + /* 1250 */ 150, 86, 87, 88, 66, 160, 150, 150, 93, 94, | |
| 108806 | + /* 1260 */ 95, 165, 150, 98, 108, 165, 127, 23, 65, 173, | |
| 108807 | + /* 1270 */ 174, 165, 165, 150, 86, 87, 128, 165, 150, 173, | |
| 108808 | + /* 1280 */ 174, 93, 94, 95, 23, 150, 98, 15, 165, 194, | |
| 108809 | + /* 1290 */ 150, 140, 22, 165, 129, 130, 131, 132, 133, 134, | |
| 108810 | + /* 1300 */ 165, 173, 174, 3, 116, 165, 19, 20, 150, 22, | |
| 108811 | + /* 1310 */ 4, 150, 217, 26, 27, 179, 179, 129, 130, 131, | |
| 108812 | + /* 1320 */ 132, 133, 134, 165, 37, 150, 165, 150, 164, 19, | |
| 108813 | + /* 1330 */ 20, 150, 22, 246, 149, 249, 26, 27, 249, 244, | |
| 108814 | + /* 1340 */ 165, 150, 165, 56, 6, 150, 165, 37, 173, 174, | |
| 108815 | + /* 1350 */ 173, 174, 150, 66, 173, 174, 165, 149, 149, 13, | |
| 108816 | + /* 1360 */ 165, 25, 150, 150, 150, 149, 56, 165, 150, 116, | |
| 108817 | + /* 1370 */ 151, 150, 150, 86, 87, 150, 66, 165, 165, 165, | |
| 108818 | + /* 1380 */ 93, 94, 95, 165, 150, 98, 165, 165, 151, 22, | |
| 108819 | + /* 1390 */ 165, 194, 150, 26, 27, 150, 86, 87, 159, 165, | |
| 108820 | + /* 1400 */ 199, 126, 123, 93, 94, 95, 200, 165, 98, 124, | |
| 108821 | + /* 1410 */ 165, 122, 201, 125, 225, 135, 129, 130, 131, 132, | |
| 108822 | + /* 1420 */ 133, 134, 5, 157, 157, 202, 118, 10, 11, 12, | |
| 108823 | + /* 1430 */ 13, 14, 203, 66, 17, 104, 210, 121, 211, 129, | |
| 108824 | + /* 1440 */ 130, 131, 132, 133, 134, 210, 175, 211, 31, 211, | |
| 108825 | + /* 1450 */ 33, 210, 104, 86, 87, 47, 175, 183, 175, 42, | |
| 108826 | + /* 1460 */ 103, 94, 178, 177, 22, 98, 175, 92, 228, 175, | |
| 108827 | + /* 1470 */ 175, 228, 55, 183, 57, 178, 175, 156, 61, 18, | |
| 108828 | + /* 1480 */ 157, 64, 156, 235, 157, 156, 45, 157, 236, 157, | |
| 108829 | + /* 1490 */ 135, 156, 189, 68, 157, 218, 129, 130, 131, 22, | |
| 108830 | + /* 1500 */ 189, 199, 157, 156, 192, 18, 192, 192, 199, 192, | |
| 108831 | + /* 1510 */ 218, 189, 40, 157, 38, 157, 240, 157, 240, 153, | |
| 108832 | + /* 1520 */ 196, 181, 105, 106, 107, 243, 198, 166, 111, 230, | |
| 108833 | + /* 1530 */ 176, 226, 239, 116, 230, 176, 166, 166, 176, 148, | |
| 108834 | + /* 1540 */ 199, 177, 209, 209, 166, 196, 239, 208, 185, 199, | |
| 108835 | + /* 1550 */ 92, 209, 233, 173, 234, 182, 139, 173, 182, 191, | |
| 108836 | + /* 1560 */ 195, 182, 250, 186, | |
| 108838 | 108837 | }; |
| 108839 | 108838 | #define YY_SHIFT_USE_DFLT (-70) |
| 108840 | -#define YY_SHIFT_COUNT (419) | |
| 108839 | +#define YY_SHIFT_COUNT (416) | |
| 108841 | 108840 | #define YY_SHIFT_MIN (-69) |
| 108842 | -#define YY_SHIFT_MAX (1484) | |
| 108841 | +#define YY_SHIFT_MAX (1487) | |
| 108843 | 108842 | static const short yy_shift_ofst[] = { |
| 108844 | - /* 0 */ 1079, 1188, 1417, 1188, 1287, 1287, 138, 138, 312, -19, | |
| 108845 | - /* 10 */ 1287, 1287, 1287, 1287, 346, 383, 129, 129, 795, 1165, | |
| 108843 | + /* 0 */ 1143, 1188, 1417, 1188, 1287, 1287, 138, 138, -2, -19, | |
| 108844 | + /* 10 */ 1287, 1287, 1287, 1287, 347, 362, 129, 129, 795, 1165, | |
| 108846 | 108845 | /* 20 */ 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, |
| 108847 | 108846 | /* 30 */ 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, |
| 108848 | 108847 | /* 40 */ 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1310, 1287, |
| 108849 | 108848 | /* 50 */ 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, |
| 108850 | - /* 60 */ 1287, 1287, 286, 383, 383, 539, 539, 74, 1194, 55, | |
| 108849 | + /* 60 */ 1287, 1287, 286, 362, 362, 538, 538, 231, 1253, 55, | |
| 108851 | 108850 | /* 70 */ 721, 647, 573, 499, 425, 351, 277, 203, 869, 869, |
| 108852 | 108851 | /* 80 */ 869, 869, 869, 869, 869, 869, 869, 869, 869, 869, |
| 108853 | 108852 | /* 90 */ 869, 869, 869, 943, 869, 1017, 1091, 1091, -69, -45, |
| 108854 | - /* 100 */ -45, -45, -45, -45, -1, 6, -64, 383, 383, 383, | |
| 108855 | - /* 110 */ 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, | |
| 108856 | - /* 120 */ 383, 383, 383, 535, 515, 383, 383, 383, 383, 383, | |
| 108857 | - /* 130 */ 650, -13, 74, 906, 1469, -70, -70, -70, 1367, 57, | |
| 108858 | - /* 140 */ 287, 287, 163, 291, 285, 136, 91, 538, 528, 383, | |
| 108859 | - /* 150 */ 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, | |
| 108860 | - /* 160 */ 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, | |
| 108861 | - /* 170 */ 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, | |
| 108862 | - /* 180 */ 383, 688, 688, 688, 705, 1194, 1194, 1194, -70, -70, | |
| 108863 | - /* 190 */ -70, 171, 171, 160, 160, 160, 190, 190, 190, 434, | |
| 108864 | - /* 200 */ 423, 513, 409, 355, 220, 492, 492, 492, 492, 532, | |
| 108865 | - /* 210 */ 586, 492, 492, 352, 80, 445, 143, 555, 164, 164, | |
| 108866 | - /* 220 */ 613, 555, 613, 590, 684, 74, 413, 74, 413, 269, | |
| 108867 | - /* 230 */ 413, 164, 405, 212, 212, 74, 363, 132, -18, 1478, | |
| 108868 | - /* 240 */ 1243, 1243, 1472, 1472, 1243, 1471, 1423, 1208, 1484, 1484, | |
| 108869 | - /* 250 */ 1484, 1484, 1243, 1457, 1208, 1471, 1423, 1423, 1243, 1457, | |
| 108870 | - /* 260 */ 1351, 1440, 1243, 1243, 1457, 1243, 1457, 1243, 1457, 1375, | |
| 108871 | - /* 270 */ 1436, 1321, 1321, 1321, 1399, 1370, 1370, 1436, 1321, 1352, | |
| 108872 | - /* 280 */ 1321, 1399, 1321, 1321, 1280, 1267, 1280, 1267, 1280, 1267, | |
| 108873 | - /* 290 */ 1243, 1243, 1224, 1233, 1222, 1209, 1205, 1208, 1194, 1266, | |
| 108874 | - /* 300 */ 1263, 1263, 1260, 1260, 1260, 1260, -70, -70, -70, -70, | |
| 108875 | - /* 310 */ -70, -70, 1013, 398, 681, 314, 470, -28, 952, 240, | |
| 108876 | - /* 320 */ 945, 907, 904, 878, 835, 825, 79, 112, 205, 804, | |
| 108877 | - /* 330 */ 297, 1230, 1226, 1204, 1083, 1207, 1153, 1184, 1197, 1183, | |
| 108878 | - /* 340 */ 1071, 1125, 1069, 1089, 1076, 1169, 1072, 1156, 1155, 1033, | |
| 108879 | - /* 350 */ 1132, 1129, 1125, 1127, 1019, 1068, 1050, 1020, 1098, 1088, | |
| 108880 | - /* 360 */ 1002, 1114, 1078, 1060, 971, 934, 1018, 1039, 1016, 1000, | |
| 108881 | - /* 370 */ 1011, 947, 1025, 1026, 990, 897, 938, 982, 936, 963, | |
| 108882 | - /* 380 */ 961, 957, 950, 876, 935, 914, 862, 871, 901, 899, | |
| 108883 | - /* 390 */ 780, 866, 801, 759, 593, 733, 734, 824, 728, 733, | |
| 108884 | - /* 400 */ 649, 541, 683, 529, 506, 508, 484, 450, 335, 232, | |
| 108885 | - /* 410 */ 302, 276, 265, 210, 92, 78, 151, 113, 33, 28, | |
| 108853 | + /* 100 */ -45, -45, -45, -45, -1, 24, 245, 362, 362, 362, | |
| 108854 | + /* 110 */ 362, 362, 362, 362, 362, 362, 362, 362, 362, 362, | |
| 108855 | + /* 120 */ 362, 362, 362, 388, 356, 362, 362, 362, 362, 362, | |
| 108856 | + /* 130 */ 732, 868, 231, 1051, 1458, -70, -70, -70, 1367, 57, | |
| 108857 | + /* 140 */ 434, 434, 289, 291, 285, 1, 204, 572, 539, 362, | |
| 108858 | + /* 150 */ 362, 362, 362, 362, 362, 362, 362, 362, 362, 362, | |
| 108859 | + /* 160 */ 362, 362, 362, 362, 362, 362, 362, 362, 362, 362, | |
| 108860 | + /* 170 */ 362, 362, 362, 362, 362, 362, 362, 362, 362, 362, | |
| 108861 | + /* 180 */ 362, 506, 506, 506, 705, 1253, 1253, 1253, -70, -70, | |
| 108862 | + /* 190 */ -70, 171, 171, 160, 502, 502, 502, 446, 432, 511, | |
| 108863 | + /* 200 */ 422, 358, 335, -12, -12, -12, -12, 576, 294, -12, | |
| 108864 | + /* 210 */ -12, 295, 595, 141, 600, 730, 723, 723, 805, 730, | |
| 108865 | + /* 220 */ 805, 439, 911, 231, 865, 231, 865, 807, 865, 723, | |
| 108866 | + /* 230 */ 766, 633, 633, 231, 284, 63, 608, 1476, 1308, 1308, | |
| 108867 | + /* 240 */ 1472, 1472, 1308, 1477, 1425, 1275, 1487, 1487, 1487, 1487, | |
| 108868 | + /* 250 */ 1308, 1461, 1275, 1477, 1425, 1425, 1308, 1461, 1355, 1441, | |
| 108869 | + /* 260 */ 1308, 1308, 1461, 1308, 1461, 1308, 1461, 1442, 1348, 1348, | |
| 108870 | + /* 270 */ 1348, 1408, 1375, 1375, 1442, 1348, 1357, 1348, 1408, 1348, | |
| 108871 | + /* 280 */ 1348, 1316, 1331, 1316, 1331, 1316, 1331, 1308, 1308, 1280, | |
| 108872 | + /* 290 */ 1288, 1289, 1285, 1279, 1275, 1253, 1336, 1346, 1346, 1338, | |
| 108873 | + /* 300 */ 1338, 1338, 1338, -70, -70, -70, -70, -70, -70, 1013, | |
| 108874 | + /* 310 */ 467, 612, 84, 179, -28, 870, 410, 761, 760, 667, | |
| 108875 | + /* 320 */ 650, 531, 220, 361, 331, 125, 127, 97, 1306, 1300, | |
| 108876 | + /* 330 */ 1270, 1151, 1272, 1203, 1232, 1261, 1244, 1148, 1174, 1139, | |
| 108877 | + /* 340 */ 1156, 1124, 1220, 1115, 1210, 1233, 1099, 1193, 1184, 1174, | |
| 108878 | + /* 350 */ 1173, 1029, 1121, 1120, 1085, 1162, 1119, 1037, 1152, 1147, | |
| 108879 | + /* 360 */ 1129, 1046, 1011, 1093, 1098, 1075, 1061, 1032, 960, 1057, | |
| 108880 | + /* 370 */ 1031, 1030, 899, 938, 982, 936, 972, 958, 910, 955, | |
| 108881 | + /* 380 */ 875, 885, 908, 857, 859, 867, 804, 590, 834, 747, | |
| 108882 | + /* 390 */ 818, 513, 611, 741, 673, 637, 611, 606, 603, 579, | |
| 108883 | + /* 400 */ 501, 541, 468, 386, 445, 395, 376, 281, 185, 120, | |
| 108884 | + /* 410 */ 92, 75, 45, 114, 25, 11, 5, | |
| 108886 | 108885 | }; |
| 108887 | 108886 | #define YY_REDUCE_USE_DFLT (-169) |
| 108888 | -#define YY_REDUCE_COUNT (311) | |
| 108887 | +#define YY_REDUCE_COUNT (308) | |
| 108889 | 108888 | #define YY_REDUCE_MIN (-168) |
| 108890 | -#define YY_REDUCE_MAX (1394) | |
| 108889 | +#define YY_REDUCE_MAX (1391) | |
| 108891 | 108890 | static const short yy_reduce_ofst[] = { |
| 108892 | - /* 0 */ 485, 90, 1095, 222, 156, 19, 17, -49, 10, 322, | |
| 108893 | - /* 10 */ 316, 311, 306, 225, 180, -51, 457, 242, 380, 1213, | |
| 108894 | - /* 20 */ 1181, 1177, 1175, 1128, 1106, 1096, 1054, 1038, 980, 974, | |
| 108895 | - /* 30 */ 964, 962, 948, 905, 903, 900, 887, 874, 829, 826, | |
| 108896 | - /* 40 */ 816, 813, 800, 752, 742, 739, 726, 678, 668, 665, | |
| 108897 | - /* 50 */ 652, 612, 610, 594, 591, 578, 537, 527, 521, 517, | |
| 108898 | - /* 60 */ 444, 318, 437, 449, 443, 154, -168, 141, 406, 551, | |
| 108899 | - /* 70 */ 551, 551, 551, 551, 551, 551, 551, 551, 551, 551, | |
| 108900 | - /* 80 */ 551, 551, 551, 551, 551, 551, 551, 551, 551, 551, | |
| 108901 | - /* 90 */ 551, 551, 551, 551, 551, 551, 551, 551, 551, 551, | |
| 108902 | - /* 100 */ 551, 551, 551, 551, 551, 551, 551, 1074, 534, 1040, | |
| 108903 | - /* 110 */ 993, 967, 966, 845, 740, 758, 756, 746, 239, 744, | |
| 108904 | - /* 120 */ 672, 611, 73, -119, 48, 670, 669, 666, 592, 533, | |
| 108905 | - /* 130 */ 701, 627, 587, 551, 551, 551, 551, 551, 667, 375, | |
| 108906 | - /* 140 */ 854, 817, 992, 1286, 1282, 1273, 1261, 687, 687, 1259, | |
| 108907 | - /* 150 */ 1250, 1248, 1245, 1242, 1234, 1225, 1218, 1214, 1212, 1202, | |
| 108908 | - /* 160 */ 1195, 1191, 1161, 1158, 1140, 1135, 1123, 1112, 1107, 1085, | |
| 108909 | - /* 170 */ 1080, 1067, 1051, 1048, 1044, 992, 969, 968, 893, 892, | |
| 108910 | - /* 180 */ 891, 657, 583, 245, 544, 811, 807, 737, 609, 469, | |
| 108911 | - /* 190 */ 342, 1385, 1384, 1374, 1373, 1365, 1372, 1371, 1368, 1340, | |
| 108912 | - /* 200 */ 1360, 1361, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1315, | |
| 108913 | - /* 210 */ 1314, 1360, 1360, 1340, 1380, 1348, 1394, 1346, 1334, 1330, | |
| 108914 | - /* 220 */ 1302, 1339, 1301, 1359, 1345, 1369, 1358, 1366, 1355, 1338, | |
| 108915 | - /* 230 */ 1350, 1328, 1295, 1299, 1297, 1354, 1327, 1322, 1364, 1272, | |
| 108916 | - /* 240 */ 1357, 1356, 1271, 1269, 1353, 1290, 1318, 1307, 1313, 1312, | |
| 108917 | - /* 250 */ 1311, 1308, 1344, 1343, 1296, 1276, 1303, 1300, 1333, 1332, | |
| 108918 | - /* 260 */ 1251, 1249, 1326, 1325, 1324, 1320, 1323, 1319, 1317, 1285, | |
| 108919 | - /* 270 */ 1291, 1293, 1292, 1289, 1283, 1235, 1232, 1279, 1281, 1275, | |
| 108920 | - /* 280 */ 1274, 1252, 1270, 1262, 1203, 1196, 1201, 1192, 1180, 1159, | |
| 108921 | - /* 290 */ 1231, 1215, 1145, 1162, 1136, 1134, 1157, 1117, 1121, 1144, | |
| 108922 | - /* 300 */ 1141, 1133, 1138, 1119, 1116, 1094, 1015, 999, 994, 1059, | |
| 108923 | - /* 310 */ 1057, 1073, | |
| 108891 | + /* 0 */ -141, 90, 1095, 222, 158, 156, 19, 17, 10, -104, | |
| 108892 | + /* 10 */ 378, 316, 311, 12, 180, 249, 598, 464, 397, 1181, | |
| 108893 | + /* 20 */ 1177, 1175, 1128, 1106, 1096, 1054, 1038, 974, 964, 962, | |
| 108894 | + /* 30 */ 948, 905, 903, 900, 887, 874, 832, 826, 816, 813, | |
| 108895 | + /* 40 */ 800, 758, 755, 752, 742, 739, 726, 685, 681, 668, | |
| 108896 | + /* 50 */ 665, 652, 607, 604, 594, 591, 578, 530, 528, 526, | |
| 108897 | + /* 60 */ 385, 18, 477, 466, 519, 444, 350, 435, 405, 488, | |
| 108898 | + /* 70 */ 488, 488, 488, 488, 488, 488, 488, 488, 488, 488, | |
| 108899 | + /* 80 */ 488, 488, 488, 488, 488, 488, 488, 488, 488, 488, | |
| 108900 | + /* 90 */ 488, 488, 488, 488, 488, 488, 488, 488, 488, 488, | |
| 108901 | + /* 100 */ 488, 488, 488, 488, 488, 488, 488, 1040, 678, 1036, | |
| 108902 | + /* 110 */ 1007, 967, 966, 965, 845, 686, 610, 684, 317, 672, | |
| 108903 | + /* 120 */ 893, 327, 623, 522, -7, 820, 814, 157, 154, 101, | |
| 108904 | + /* 130 */ 702, 494, 580, 488, 488, 488, 488, 488, 614, 586, | |
| 108905 | + /* 140 */ 935, 892, 968, 1245, 1242, 1234, 1225, 798, 798, 1222, | |
| 108906 | + /* 150 */ 1221, 1218, 1214, 1213, 1212, 1202, 1195, 1191, 1161, 1158, | |
| 108907 | + /* 160 */ 1140, 1135, 1123, 1112, 1107, 1100, 1080, 1074, 1073, 1072, | |
| 108908 | + /* 170 */ 1070, 1067, 1048, 1044, 969, 968, 907, 906, 904, 894, | |
| 108909 | + /* 180 */ 833, 837, 836, 340, 827, 815, 775, 68, 722, 646, | |
| 108910 | + /* 190 */ -168, 1384, 1380, 1377, 1379, 1376, 1373, 1339, 1365, 1368, | |
| 108911 | + /* 200 */ 1365, 1365, 1365, 1365, 1365, 1365, 1365, 1320, 1319, 1365, | |
| 108912 | + /* 210 */ 1365, 1339, 1378, 1349, 1391, 1350, 1342, 1334, 1307, 1341, | |
| 108913 | + /* 220 */ 1293, 1364, 1363, 1371, 1362, 1370, 1359, 1340, 1354, 1333, | |
| 108914 | + /* 230 */ 1305, 1304, 1299, 1361, 1328, 1324, 1366, 1282, 1360, 1358, | |
| 108915 | + /* 240 */ 1278, 1276, 1356, 1292, 1322, 1309, 1317, 1315, 1314, 1312, | |
| 108916 | + /* 250 */ 1345, 1347, 1302, 1277, 1311, 1303, 1337, 1335, 1252, 1248, | |
| 108917 | + /* 260 */ 1332, 1330, 1329, 1327, 1326, 1323, 1321, 1297, 1301, 1295, | |
| 108918 | + /* 270 */ 1294, 1290, 1243, 1240, 1284, 1291, 1286, 1283, 1274, 1281, | |
| 108919 | + /* 280 */ 1271, 1238, 1241, 1236, 1235, 1227, 1226, 1267, 1266, 1189, | |
| 108920 | + /* 290 */ 1229, 1223, 1211, 1206, 1201, 1197, 1239, 1237, 1219, 1216, | |
| 108921 | + /* 300 */ 1209, 1208, 1185, 1089, 1086, 1087, 1137, 1136, 1164, | |
| 108924 | 108922 | }; |
| 108925 | 108923 | static const YYACTIONTYPE yy_default[] = { |
| 108926 | - /* 0 */ 635, 869, 957, 957, 869, 869, 957, 957, 722, 759, | |
| 108927 | - /* 10 */ 957, 957, 957, 867, 957, 957, 787, 787, 931, 957, | |
| 108928 | - /* 20 */ 957, 957, 957, 957, 957, 957, 957, 957, 957, 957, | |
| 108929 | - /* 30 */ 957, 957, 957, 957, 957, 957, 957, 957, 957, 957, | |
| 108930 | - /* 40 */ 957, 957, 957, 957, 957, 957, 957, 957, 957, 957, | |
| 108931 | - /* 50 */ 957, 957, 957, 957, 957, 957, 957, 957, 957, 957, | |
| 108932 | - /* 60 */ 957, 957, 957, 957, 957, 957, 957, 674, 763, 793, | |
| 108933 | - /* 70 */ 957, 957, 957, 957, 957, 957, 957, 957, 930, 932, | |
| 108934 | - /* 80 */ 801, 800, 910, 774, 798, 791, 795, 870, 863, 864, | |
| 108935 | - /* 90 */ 862, 866, 871, 957, 794, 830, 847, 829, 841, 846, | |
| 108936 | - /* 100 */ 853, 845, 842, 832, 831, 833, 834, 957, 957, 957, | |
| 108937 | - /* 110 */ 957, 957, 957, 957, 957, 957, 957, 957, 957, 957, | |
| 108938 | - /* 120 */ 957, 957, 957, 661, 728, 957, 957, 957, 957, 957, | |
| 108939 | - /* 130 */ 957, 957, 957, 835, 836, 850, 849, 848, 957, 666, | |
| 108940 | - /* 140 */ 957, 957, 957, 957, 957, 957, 957, 957, 957, 957, | |
| 108941 | - /* 150 */ 937, 935, 957, 882, 957, 957, 957, 957, 957, 957, | |
| 108942 | - /* 160 */ 957, 957, 957, 957, 957, 957, 957, 957, 957, 957, | |
| 108943 | - /* 170 */ 957, 957, 957, 957, 957, 957, 957, 957, 957, 957, | |
| 108944 | - /* 180 */ 641, 759, 759, 759, 635, 957, 957, 957, 949, 763, | |
| 108945 | - /* 190 */ 753, 957, 957, 957, 957, 718, 957, 957, 957, 957, | |
| 108946 | - /* 200 */ 957, 957, 957, 957, 957, 803, 742, 920, 922, 957, | |
| 108947 | - /* 210 */ 903, 740, 663, 761, 676, 751, 643, 797, 776, 776, | |
| 108948 | - /* 220 */ 915, 797, 915, 699, 722, 957, 787, 957, 787, 696, | |
| 108949 | - /* 230 */ 787, 776, 865, 957, 957, 957, 760, 751, 957, 942, | |
| 108950 | - /* 240 */ 767, 767, 934, 934, 767, 809, 732, 797, 739, 739, | |
| 108951 | - /* 250 */ 739, 739, 767, 658, 797, 809, 732, 732, 767, 658, | |
| 108952 | - /* 260 */ 909, 907, 767, 767, 658, 767, 658, 767, 658, 722, | |
| 108953 | - /* 270 */ 875, 730, 730, 730, 714, 879, 879, 875, 730, 699, | |
| 108954 | - /* 280 */ 730, 714, 730, 730, 780, 775, 780, 775, 780, 775, | |
| 108955 | - /* 290 */ 767, 767, 957, 792, 781, 790, 788, 797, 957, 717, | |
| 108956 | - /* 300 */ 651, 651, 640, 640, 640, 640, 954, 954, 949, 701, | |
| 108957 | - /* 310 */ 701, 684, 957, 957, 957, 957, 957, 957, 957, 884, | |
| 108958 | - /* 320 */ 957, 957, 957, 957, 957, 957, 957, 957, 957, 957, | |
| 108959 | - /* 330 */ 957, 957, 636, 944, 957, 957, 941, 957, 957, 957, | |
| 108960 | - /* 340 */ 957, 802, 957, 957, 957, 957, 957, 957, 957, 957, | |
| 108961 | - /* 350 */ 957, 957, 919, 957, 957, 957, 957, 957, 957, 957, | |
| 108962 | - /* 360 */ 913, 957, 957, 957, 957, 957, 957, 906, 905, 957, | |
| 108963 | - /* 370 */ 957, 957, 957, 957, 957, 957, 957, 957, 957, 957, | |
| 108964 | - /* 380 */ 957, 957, 957, 957, 957, 957, 957, 957, 957, 957, | |
| 108965 | - /* 390 */ 957, 957, 957, 957, 957, 789, 957, 782, 957, 868, | |
| 108966 | - /* 400 */ 957, 957, 957, 957, 957, 957, 957, 957, 957, 957, | |
| 108967 | - /* 410 */ 745, 818, 957, 817, 821, 816, 668, 957, 649, 957, | |
| 108968 | - /* 420 */ 632, 637, 953, 956, 955, 952, 951, 950, 945, 943, | |
| 108969 | - /* 430 */ 940, 939, 938, 936, 933, 929, 888, 886, 893, 892, | |
| 108970 | - /* 440 */ 891, 890, 889, 887, 885, 883, 804, 799, 796, 928, | |
| 108971 | - /* 450 */ 881, 741, 738, 737, 657, 946, 912, 921, 808, 807, | |
| 108972 | - /* 460 */ 810, 918, 917, 916, 914, 911, 898, 806, 805, 733, | |
| 108973 | - /* 470 */ 873, 872, 660, 902, 901, 900, 904, 908, 899, 769, | |
| 108974 | - /* 480 */ 659, 656, 665, 721, 723, 719, 729, 727, 726, 725, | |
| 108975 | - /* 490 */ 724, 720, 667, 675, 713, 698, 697, 878, 880, 877, | |
| 108976 | - /* 500 */ 876, 706, 705, 711, 710, 709, 708, 707, 704, 703, | |
| 108977 | - /* 510 */ 702, 695, 694, 700, 693, 716, 715, 712, 692, 736, | |
| 108978 | - /* 520 */ 735, 734, 731, 691, 690, 689, 821, 688, 687, 827, | |
| 108979 | - /* 530 */ 826, 814, 857, 756, 755, 754, 766, 765, 778, 777, | |
| 108980 | - /* 540 */ 812, 811, 779, 764, 758, 757, 773, 772, 771, 770, | |
| 108981 | - /* 550 */ 762, 752, 784, 786, 785, 783, 859, 768, 856, 927, | |
| 108982 | - /* 560 */ 926, 925, 924, 923, 861, 860, 828, 825, 679, 680, | |
| 108983 | - /* 570 */ 896, 895, 897, 894, 682, 681, 678, 677, 858, 747, | |
| 108984 | - /* 580 */ 746, 854, 851, 843, 839, 855, 852, 844, 840, 838, | |
| 108985 | - /* 590 */ 837, 823, 822, 820, 819, 815, 824, 670, 748, 744, | |
| 108986 | - /* 600 */ 743, 813, 750, 749, 686, 685, 683, 664, 662, 655, | |
| 108987 | - /* 610 */ 653, 652, 654, 650, 648, 647, 646, 645, 644, 673, | |
| 108988 | - /* 620 */ 672, 671, 669, 668, 642, 639, 638, 634, 633, 631, | |
| 108924 | + /* 0 */ 632, 866, 954, 954, 866, 866, 954, 954, 954, 756, | |
| 108925 | + /* 10 */ 954, 954, 954, 864, 954, 954, 784, 784, 928, 954, | |
| 108926 | + /* 20 */ 954, 954, 954, 954, 954, 954, 954, 954, 954, 954, | |
| 108927 | + /* 30 */ 954, 954, 954, 954, 954, 954, 954, 954, 954, 954, | |
| 108928 | + /* 40 */ 954, 954, 954, 954, 954, 954, 954, 954, 954, 954, | |
| 108929 | + /* 50 */ 954, 954, 954, 954, 954, 954, 954, 954, 954, 954, | |
| 108930 | + /* 60 */ 954, 954, 954, 954, 954, 954, 954, 671, 760, 790, | |
| 108931 | + /* 70 */ 954, 954, 954, 954, 954, 954, 954, 954, 927, 929, | |
| 108932 | + /* 80 */ 798, 797, 907, 771, 795, 788, 792, 867, 860, 861, | |
| 108933 | + /* 90 */ 859, 863, 868, 954, 791, 827, 844, 826, 838, 843, | |
| 108934 | + /* 100 */ 850, 842, 839, 829, 828, 830, 831, 954, 954, 954, | |
| 108935 | + /* 110 */ 954, 954, 954, 954, 954, 954, 954, 954, 954, 954, | |
| 108936 | + /* 120 */ 954, 954, 954, 658, 725, 954, 954, 954, 954, 954, | |
| 108937 | + /* 130 */ 954, 954, 954, 832, 833, 847, 846, 845, 954, 663, | |
| 108938 | + /* 140 */ 954, 954, 954, 954, 954, 954, 954, 954, 954, 954, | |
| 108939 | + /* 150 */ 934, 932, 954, 879, 954, 954, 954, 954, 954, 954, | |
| 108940 | + /* 160 */ 954, 954, 954, 954, 954, 954, 954, 954, 954, 954, | |
| 108941 | + /* 170 */ 954, 954, 954, 954, 954, 954, 954, 954, 954, 954, | |
| 108942 | + /* 180 */ 638, 756, 756, 756, 632, 954, 954, 954, 946, 760, | |
| 108943 | + /* 190 */ 750, 954, 954, 954, 954, 954, 954, 954, 954, 954, | |
| 108944 | + /* 200 */ 954, 954, 954, 800, 739, 917, 919, 954, 900, 737, | |
| 108945 | + /* 210 */ 660, 758, 673, 748, 640, 794, 773, 773, 912, 794, | |
| 108946 | + /* 220 */ 912, 696, 719, 954, 784, 954, 784, 693, 784, 773, | |
| 108947 | + /* 230 */ 862, 954, 954, 954, 757, 748, 954, 939, 764, 764, | |
| 108948 | + /* 240 */ 931, 931, 764, 806, 729, 794, 736, 736, 736, 736, | |
| 108949 | + /* 250 */ 764, 655, 794, 806, 729, 729, 764, 655, 906, 904, | |
| 108950 | + /* 260 */ 764, 764, 655, 764, 655, 764, 655, 872, 727, 727, | |
| 108951 | + /* 270 */ 727, 711, 876, 876, 872, 727, 696, 727, 711, 727, | |
| 108952 | + /* 280 */ 727, 777, 772, 777, 772, 777, 772, 764, 764, 954, | |
| 108953 | + /* 290 */ 789, 778, 787, 785, 794, 954, 714, 648, 648, 637, | |
| 108954 | + /* 300 */ 637, 637, 637, 951, 951, 946, 698, 698, 681, 954, | |
| 108955 | + /* 310 */ 954, 954, 954, 954, 954, 954, 881, 954, 954, 954, | |
| 108956 | + /* 320 */ 954, 954, 954, 954, 954, 954, 954, 954, 954, 633, | |
| 108957 | + /* 330 */ 941, 954, 954, 938, 954, 954, 954, 954, 799, 954, | |
| 108958 | + /* 340 */ 954, 954, 954, 954, 954, 954, 954, 954, 954, 916, | |
| 108959 | + /* 350 */ 954, 954, 954, 954, 954, 954, 954, 910, 954, 954, | |
| 108960 | + /* 360 */ 954, 954, 954, 954, 903, 902, 954, 954, 954, 954, | |
| 108961 | + /* 370 */ 954, 954, 954, 954, 954, 954, 954, 954, 954, 954, | |
| 108962 | + /* 380 */ 954, 954, 954, 954, 954, 954, 954, 954, 954, 954, | |
| 108963 | + /* 390 */ 954, 954, 786, 954, 779, 954, 865, 954, 954, 954, | |
| 108964 | + /* 400 */ 954, 954, 954, 954, 954, 954, 954, 742, 815, 954, | |
| 108965 | + /* 410 */ 814, 818, 813, 665, 954, 646, 954, 629, 634, 950, | |
| 108966 | + /* 420 */ 953, 952, 949, 948, 947, 942, 940, 937, 936, 935, | |
| 108967 | + /* 430 */ 933, 930, 926, 885, 883, 890, 889, 888, 887, 886, | |
| 108968 | + /* 440 */ 884, 882, 880, 801, 796, 793, 925, 878, 738, 735, | |
| 108969 | + /* 450 */ 734, 654, 943, 909, 918, 805, 804, 807, 915, 914, | |
| 108970 | + /* 460 */ 913, 911, 908, 895, 803, 802, 730, 870, 869, 657, | |
| 108971 | + /* 470 */ 899, 898, 897, 901, 905, 896, 766, 656, 653, 662, | |
| 108972 | + /* 480 */ 717, 718, 726, 724, 723, 722, 721, 720, 716, 664, | |
| 108973 | + /* 490 */ 672, 710, 695, 694, 875, 877, 874, 873, 703, 702, | |
| 108974 | + /* 500 */ 708, 707, 706, 705, 704, 701, 700, 699, 692, 691, | |
| 108975 | + /* 510 */ 697, 690, 713, 712, 709, 689, 733, 732, 731, 728, | |
| 108976 | + /* 520 */ 688, 687, 686, 818, 685, 684, 824, 823, 811, 854, | |
| 108977 | + /* 530 */ 753, 752, 751, 763, 762, 775, 774, 809, 808, 776, | |
| 108978 | + /* 540 */ 761, 755, 754, 770, 769, 768, 767, 759, 749, 781, | |
| 108979 | + /* 550 */ 783, 782, 780, 856, 765, 853, 924, 923, 922, 921, | |
| 108980 | + /* 560 */ 920, 858, 857, 825, 822, 676, 677, 893, 892, 894, | |
| 108981 | + /* 570 */ 891, 679, 678, 675, 674, 855, 744, 743, 851, 848, | |
| 108982 | + /* 580 */ 840, 836, 852, 849, 841, 837, 835, 834, 820, 819, | |
| 108983 | + /* 590 */ 817, 816, 812, 821, 667, 745, 741, 740, 810, 747, | |
| 108984 | + /* 600 */ 746, 683, 682, 680, 661, 659, 652, 650, 649, 651, | |
| 108985 | + /* 610 */ 647, 645, 644, 643, 642, 641, 670, 669, 668, 666, | |
| 108986 | + /* 620 */ 665, 639, 636, 635, 631, 630, 628, | |
| 108989 | 108987 | }; |
| 108990 | 108988 | |
| 108991 | 108989 | /* The next table maps tokens into fallback tokens. If a construct |
| 108992 | 108990 | ** like the following: |
| 108993 | 108991 | ** |
| @@ -109189,11 +109187,11 @@ | ||
| 109189 | 109187 | "carglist", "id", "ids", "typetoken", |
| 109190 | 109188 | "typename", "signed", "plus_num", "minus_num", |
| 109191 | 109189 | "ccons", "term", "expr", "onconf", |
| 109192 | 109190 | "sortorder", "autoinc", "idxlist_opt", "refargs", |
| 109193 | 109191 | "defer_subclause", "refarg", "refact", "init_deferred_pred_opt", |
| 109194 | - "conslist", "cname", "tcons", "idxlist", | |
| 109192 | + "conslist", "tconscomma", "tcons", "idxlist", | |
| 109195 | 109193 | "defer_subclause_opt", "orconf", "resolvetype", "raisetype", |
| 109196 | 109194 | "ifexists", "fullname", "oneselect", "multiselect_op", |
| 109197 | 109195 | "distinct", "selcollist", "from", "where_opt", |
| 109198 | 109196 | "groupby_opt", "having_opt", "orderby_opt", "limit_opt", |
| 109199 | 109197 | "sclp", "as", "seltablist", "stl_prefix", |
| @@ -109301,16 +109299,16 @@ | ||
| 109301 | 109299 | /* 83 */ "defer_subclause ::= DEFERRABLE init_deferred_pred_opt", |
| 109302 | 109300 | /* 84 */ "init_deferred_pred_opt ::=", |
| 109303 | 109301 | /* 85 */ "init_deferred_pred_opt ::= INITIALLY DEFERRED", |
| 109304 | 109302 | /* 86 */ "init_deferred_pred_opt ::= INITIALLY IMMEDIATE", |
| 109305 | 109303 | /* 87 */ "conslist_opt ::=", |
| 109306 | - /* 88 */ "conslist_opt ::= COMMA conslist cname", | |
| 109307 | - /* 89 */ "conslist ::= conslist COMMA cname tcons", | |
| 109308 | - /* 90 */ "conslist ::= conslist cname tcons", | |
| 109309 | - /* 91 */ "conslist ::= cname tcons", | |
| 109310 | - /* 92 */ "cname ::=", | |
| 109311 | - /* 93 */ "cname ::= CONSTRAINT nm", | |
| 109304 | + /* 88 */ "conslist_opt ::= COMMA conslist", | |
| 109305 | + /* 89 */ "conslist ::= conslist tconscomma tcons", | |
| 109306 | + /* 90 */ "conslist ::= tcons", | |
| 109307 | + /* 91 */ "tconscomma ::= COMMA", | |
| 109308 | + /* 92 */ "tconscomma ::=", | |
| 109309 | + /* 93 */ "tcons ::= CONSTRAINT nm", | |
| 109312 | 109310 | /* 94 */ "tcons ::= PRIMARY KEY LP idxlist autoinc RP onconf", |
| 109313 | 109311 | /* 95 */ "tcons ::= UNIQUE LP idxlist RP onconf", |
| 109314 | 109312 | /* 96 */ "tcons ::= CHECK LP expr RP onconf", |
| 109315 | 109313 | /* 97 */ "tcons ::= FOREIGN KEY LP idxlist RP REFERENCES nm idxlist_opt refargs defer_subclause_opt", |
| 109316 | 109314 | /* 98 */ "defer_subclause_opt ::=", |
| @@ -110020,16 +110018,16 @@ | ||
| 110020 | 110018 | { 180, 2 }, |
| 110021 | 110019 | { 183, 0 }, |
| 110022 | 110020 | { 183, 2 }, |
| 110023 | 110021 | { 183, 2 }, |
| 110024 | 110022 | { 159, 0 }, |
| 110025 | - { 159, 3 }, | |
| 110026 | - { 184, 4 }, | |
| 110023 | + { 159, 2 }, | |
| 110027 | 110024 | { 184, 3 }, |
| 110028 | - { 184, 2 }, | |
| 110025 | + { 184, 1 }, | |
| 110026 | + { 185, 1 }, | |
| 110029 | 110027 | { 185, 0 }, |
| 110030 | - { 185, 2 }, | |
| 110028 | + { 186, 2 }, | |
| 110031 | 110029 | { 186, 7 }, |
| 110032 | 110030 | { 186, 5 }, |
| 110033 | 110031 | { 186, 5 }, |
| 110034 | 110032 | { 186, 10 }, |
| 110035 | 110033 | { 188, 0 }, |
| @@ -110463,11 +110461,11 @@ | ||
| 110463 | 110461 | break; |
| 110464 | 110462 | case 50: /* typename ::= typename ids */ |
| 110465 | 110463 | {yygotominor.yy0.z=yymsp[-1].minor.yy0.z; yygotominor.yy0.n=yymsp[0].minor.yy0.n+(int)(yymsp[0].minor.yy0.z-yymsp[-1].minor.yy0.z);} |
| 110466 | 110464 | break; |
| 110467 | 110465 | case 55: /* ccons ::= CONSTRAINT nm */ |
| 110468 | - case 93: /* cname ::= CONSTRAINT nm */ yytestcase(yyruleno==93); | |
| 110466 | + case 93: /* tcons ::= CONSTRAINT nm */ yytestcase(yyruleno==93); | |
| 110469 | 110467 | {pParse->constraintName = yymsp[0].minor.yy0;} |
| 110470 | 110468 | break; |
| 110471 | 110469 | case 56: /* ccons ::= DEFAULT term */ |
| 110472 | 110470 | case 58: /* ccons ::= DEFAULT PLUS term */ yytestcase(yyruleno==58); |
| 110473 | 110471 | {sqlite3AddDefaultValue(pParse,&yymsp[0].minor.yy342);} |
| @@ -110550,14 +110548,14 @@ | ||
| 110550 | 110548 | {yygotominor.yy392 = yymsp[0].minor.yy392;} |
| 110551 | 110549 | break; |
| 110552 | 110550 | case 87: /* conslist_opt ::= */ |
| 110553 | 110551 | {yygotominor.yy0.n = 0; yygotominor.yy0.z = 0;} |
| 110554 | 110552 | break; |
| 110555 | - case 88: /* conslist_opt ::= COMMA conslist cname */ | |
| 110556 | -{yygotominor.yy0 = yymsp[-2].minor.yy0;} | |
| 110553 | + case 88: /* conslist_opt ::= COMMA conslist */ | |
| 110554 | +{yygotominor.yy0 = yymsp[-1].minor.yy0;} | |
| 110557 | 110555 | break; |
| 110558 | - case 92: /* cname ::= */ | |
| 110556 | + case 91: /* tconscomma ::= COMMA */ | |
| 110559 | 110557 | {pParse->constraintName.n = 0;} |
| 110560 | 110558 | break; |
| 110561 | 110559 | case 94: /* tcons ::= PRIMARY KEY LP idxlist autoinc RP onconf */ |
| 110562 | 110560 | {sqlite3AddPrimaryKey(pParse,yymsp[-3].minor.yy442,yymsp[0].minor.yy392,yymsp[-2].minor.yy392,0);} |
| 110563 | 110561 | break; |
| @@ -111426,13 +111424,13 @@ | ||
| 111426 | 111424 | /* (51) signed ::= plus_num */ yytestcase(yyruleno==51); |
| 111427 | 111425 | /* (52) signed ::= minus_num */ yytestcase(yyruleno==52); |
| 111428 | 111426 | /* (53) carglist ::= carglist ccons */ yytestcase(yyruleno==53); |
| 111429 | 111427 | /* (54) carglist ::= */ yytestcase(yyruleno==54); |
| 111430 | 111428 | /* (61) ccons ::= NULL onconf */ yytestcase(yyruleno==61); |
| 111431 | - /* (89) conslist ::= conslist COMMA cname tcons */ yytestcase(yyruleno==89); | |
| 111432 | - /* (90) conslist ::= conslist cname tcons */ yytestcase(yyruleno==90); | |
| 111433 | - /* (91) conslist ::= cname tcons */ yytestcase(yyruleno==91); | |
| 111429 | + /* (89) conslist ::= conslist tconscomma tcons */ yytestcase(yyruleno==89); | |
| 111430 | + /* (90) conslist ::= tcons */ yytestcase(yyruleno==90); | |
| 111431 | + /* (92) tconscomma ::= */ yytestcase(yyruleno==92); | |
| 111434 | 111432 | /* (277) foreach_clause ::= */ yytestcase(yyruleno==277); |
| 111435 | 111433 | /* (278) foreach_clause ::= FOR EACH ROW */ yytestcase(yyruleno==278); |
| 111436 | 111434 | /* (285) tridxby ::= */ yytestcase(yyruleno==285); |
| 111437 | 111435 | /* (303) database_kw_opt ::= DATABASE */ yytestcase(yyruleno==303); |
| 111438 | 111436 | /* (304) database_kw_opt ::= */ yytestcase(yyruleno==304); |
| @@ -117371,11 +117369,11 @@ | ||
| 117371 | 117369 | |
| 117372 | 117370 | SQLITE_PRIVATE int sqlite3Fts3MsrIncrStart( |
| 117373 | 117371 | Fts3Table*, Fts3MultiSegReader*, int, const char*, int); |
| 117374 | 117372 | SQLITE_PRIVATE int sqlite3Fts3MsrIncrNext( |
| 117375 | 117373 | Fts3Table *, Fts3MultiSegReader *, sqlite3_int64 *, char **, int *); |
| 117376 | -SQLITE_PRIVATE char *sqlite3Fts3EvalPhrasePoslist(Fts3Cursor *, Fts3Expr *, int iCol); | |
| 117374 | +SQLITE_PRIVATE int sqlite3Fts3EvalPhrasePoslist(Fts3Cursor *, Fts3Expr *, int iCol, char **); | |
| 117377 | 117375 | SQLITE_PRIVATE int sqlite3Fts3MsrOvfl(Fts3Cursor *, Fts3MultiSegReader *, int *); |
| 117378 | 117376 | SQLITE_PRIVATE int sqlite3Fts3MsrIncrRestart(Fts3MultiSegReader *pCsr); |
| 117379 | 117377 | |
| 117380 | 117378 | SQLITE_PRIVATE int sqlite3Fts3DeferredTokenList(Fts3DeferredToken *, char **, int *); |
| 117381 | 117379 | |
| @@ -121036,11 +121034,11 @@ | ||
| 121036 | 121034 | int bDescIdx, /* True if the doclist is desc */ |
| 121037 | 121035 | char *aDoclist, /* Pointer to entire doclist */ |
| 121038 | 121036 | int nDoclist, /* Length of aDoclist in bytes */ |
| 121039 | 121037 | char **ppIter, /* IN/OUT: Iterator pointer */ |
| 121040 | 121038 | sqlite3_int64 *piDocid, /* IN/OUT: Docid pointer */ |
| 121041 | - int *pnList, /* IN/OUT: List length pointer */ | |
| 121039 | + int *pnList, /* OUT: List length pointer */ | |
| 121042 | 121040 | u8 *pbEof /* OUT: End-of-file flag */ |
| 121043 | 121041 | ){ |
| 121044 | 121042 | char *p = *ppIter; |
| 121045 | 121043 | |
| 121046 | 121044 | assert( nDoclist>0 ); |
| @@ -121082,10 +121080,45 @@ | ||
| 121082 | 121080 | *pnList = (int)(pSave - p); |
| 121083 | 121081 | } |
| 121084 | 121082 | *ppIter = p; |
| 121085 | 121083 | } |
| 121086 | 121084 | } |
| 121085 | + | |
| 121086 | +/* | |
| 121087 | +** Iterate forwards through a doclist. | |
| 121088 | +*/ | |
| 121089 | +SQLITE_PRIVATE void sqlite3Fts3DoclistNext( | |
| 121090 | + int bDescIdx, /* True if the doclist is desc */ | |
| 121091 | + char *aDoclist, /* Pointer to entire doclist */ | |
| 121092 | + int nDoclist, /* Length of aDoclist in bytes */ | |
| 121093 | + char **ppIter, /* IN/OUT: Iterator pointer */ | |
| 121094 | + sqlite3_int64 *piDocid, /* IN/OUT: Docid pointer */ | |
| 121095 | + u8 *pbEof /* OUT: End-of-file flag */ | |
| 121096 | +){ | |
| 121097 | + char *p = *ppIter; | |
| 121098 | + | |
| 121099 | + assert( nDoclist>0 ); | |
| 121100 | + assert( *pbEof==0 ); | |
| 121101 | + assert( p || *piDocid==0 ); | |
| 121102 | + assert( !p || (p>=aDoclist && p<=&aDoclist[nDoclist]) ); | |
| 121103 | + | |
| 121104 | + if( p==0 ){ | |
| 121105 | + p = aDoclist; | |
| 121106 | + p += sqlite3Fts3GetVarint(p, piDocid); | |
| 121107 | + }else{ | |
| 121108 | + fts3PoslistCopy(0, &p); | |
| 121109 | + if( p>=&aDoclist[nDoclist] ){ | |
| 121110 | + *pbEof = 1; | |
| 121111 | + }else{ | |
| 121112 | + sqlite3_int64 iVar; | |
| 121113 | + p += sqlite3Fts3GetVarint(p, &iVar); | |
| 121114 | + *piDocid += ((bDescIdx ? -1 : 1) * iVar); | |
| 121115 | + } | |
| 121116 | + } | |
| 121117 | + | |
| 121118 | + *ppIter = p; | |
| 121119 | +} | |
| 121087 | 121120 | |
| 121088 | 121121 | /* |
| 121089 | 121122 | ** Attempt to move the phrase iterator to point to the next matching docid. |
| 121090 | 121123 | ** If an error occurs, return an SQLite error code. Otherwise, return |
| 121091 | 121124 | ** SQLITE_OK. |
| @@ -122238,30 +122271,91 @@ | ||
| 122238 | 122271 | ** 0x04 0x05 0x03 0x01 or 0x04 0x05 0x03 0x00 |
| 122239 | 122272 | ** |
| 122240 | 122273 | ** This function works regardless of whether or not the phrase is deferred, |
| 122241 | 122274 | ** incremental, or neither. |
| 122242 | 122275 | */ |
| 122243 | -SQLITE_PRIVATE char *sqlite3Fts3EvalPhrasePoslist( | |
| 122276 | +SQLITE_PRIVATE int sqlite3Fts3EvalPhrasePoslist( | |
| 122244 | 122277 | Fts3Cursor *pCsr, /* FTS3 cursor object */ |
| 122245 | 122278 | Fts3Expr *pExpr, /* Phrase to return doclist for */ |
| 122246 | - int iCol /* Column to return position list for */ | |
| 122279 | + int iCol, /* Column to return position list for */ | |
| 122280 | + char **ppOut /* OUT: Pointer to position list */ | |
| 122247 | 122281 | ){ |
| 122248 | 122282 | Fts3Phrase *pPhrase = pExpr->pPhrase; |
| 122249 | 122283 | Fts3Table *pTab = (Fts3Table *)pCsr->base.pVtab; |
| 122250 | - char *pIter = pPhrase->doclist.pList; | |
| 122284 | + char *pIter; | |
| 122251 | 122285 | int iThis; |
| 122286 | + sqlite3_int64 iDocid; | |
| 122252 | 122287 | |
| 122288 | + /* If this phrase is applies specifically to some column other than | |
| 122289 | + ** column iCol, return a NULL pointer. */ | |
| 122290 | + *ppOut = 0; | |
| 122253 | 122291 | assert( iCol>=0 && iCol<pTab->nColumn ); |
| 122254 | - if( !pIter | |
| 122255 | - || pExpr->bEof | |
| 122256 | - || pExpr->iDocid!=pCsr->iPrevId | |
| 122257 | - || (pPhrase->iColumn<pTab->nColumn && pPhrase->iColumn!=iCol) | |
| 122258 | - ){ | |
| 122259 | - return 0; | |
| 122292 | + if( (pPhrase->iColumn<pTab->nColumn && pPhrase->iColumn!=iCol) ){ | |
| 122293 | + return SQLITE_OK; | |
| 122260 | 122294 | } |
| 122261 | 122295 | |
| 122262 | - assert( pPhrase->doclist.nList>0 ); | |
| 122296 | + iDocid = pExpr->iDocid; | |
| 122297 | + pIter = pPhrase->doclist.pList; | |
| 122298 | + if( iDocid!=pCsr->iPrevId || pExpr->bEof ){ | |
| 122299 | + int bDescDoclist = pTab->bDescIdx; /* For DOCID_CMP macro */ | |
| 122300 | + int bOr = 0; | |
| 122301 | + u8 bEof = 0; | |
| 122302 | + Fts3Expr *p; | |
| 122303 | + | |
| 122304 | + /* Check if this phrase descends from an OR expression node. If not, | |
| 122305 | + ** return NULL. Otherwise, the entry that corresponds to docid | |
| 122306 | + ** pCsr->iPrevId may lie earlier in the doclist buffer. */ | |
| 122307 | + for(p=pExpr->pParent; p; p=p->pParent){ | |
| 122308 | + if( p->eType==FTSQUERY_OR ) bOr = 1; | |
| 122309 | + } | |
| 122310 | + if( bOr==0 ) return SQLITE_OK; | |
| 122311 | + | |
| 122312 | + /* This is the descendent of an OR node. In this case we cannot use | |
| 122313 | + ** an incremental phrase. Load the entire doclist for the phrase | |
| 122314 | + ** into memory in this case. */ | |
| 122315 | + if( pPhrase->bIncr ){ | |
| 122316 | + int rc = SQLITE_OK; | |
| 122317 | + int bEofSave = pExpr->bEof; | |
| 122318 | + fts3EvalRestart(pCsr, pExpr, &rc); | |
| 122319 | + while( rc==SQLITE_OK && !pExpr->bEof ){ | |
| 122320 | + fts3EvalNextRow(pCsr, pExpr, &rc); | |
| 122321 | + if( bEofSave==0 && pExpr->iDocid==iDocid ) break; | |
| 122322 | + } | |
| 122323 | + pIter = pPhrase->doclist.pList; | |
| 122324 | + assert( rc!=SQLITE_OK || pPhrase->bIncr==0 ); | |
| 122325 | + if( rc!=SQLITE_OK ) return rc; | |
| 122326 | + } | |
| 122327 | + | |
| 122328 | + if( pExpr->bEof ){ | |
| 122329 | + pIter = 0; | |
| 122330 | + iDocid = 0; | |
| 122331 | + } | |
| 122332 | + bEof = (pPhrase->doclist.nAll==0); | |
| 122333 | + assert( bDescDoclist==0 || bDescDoclist==1 ); | |
| 122334 | + assert( pCsr->bDesc==0 || pCsr->bDesc==1 ); | |
| 122335 | + | |
| 122336 | + if( pCsr->bDesc==bDescDoclist ){ | |
| 122337 | + int dummy; | |
| 122338 | + while( (pIter==0 || DOCID_CMP(iDocid, pCsr->iPrevId)>0 ) && bEof==0 ){ | |
| 122339 | + sqlite3Fts3DoclistPrev( | |
| 122340 | + bDescDoclist, pPhrase->doclist.aAll, pPhrase->doclist.nAll, | |
| 122341 | + &pIter, &iDocid, &dummy, &bEof | |
| 122342 | + ); | |
| 122343 | + } | |
| 122344 | + }else{ | |
| 122345 | + while( (pIter==0 || DOCID_CMP(iDocid, pCsr->iPrevId)<0 ) && bEof==0 ){ | |
| 122346 | + sqlite3Fts3DoclistNext( | |
| 122347 | + bDescDoclist, pPhrase->doclist.aAll, pPhrase->doclist.nAll, | |
| 122348 | + &pIter, &iDocid, &bEof | |
| 122349 | + ); | |
| 122350 | + } | |
| 122351 | + } | |
| 122352 | + | |
| 122353 | + if( bEof || iDocid!=pCsr->iPrevId ) pIter = 0; | |
| 122354 | + } | |
| 122355 | + if( pIter==0 ) return SQLITE_OK; | |
| 122356 | + | |
| 122263 | 122357 | if( *pIter==0x01 ){ |
| 122264 | 122358 | pIter++; |
| 122265 | 122359 | pIter += sqlite3Fts3GetVarint32(pIter, &iThis); |
| 122266 | 122360 | }else{ |
| 122267 | 122361 | iThis = 0; |
| @@ -122271,11 +122365,12 @@ | ||
| 122271 | 122365 | if( *pIter==0x00 ) return 0; |
| 122272 | 122366 | pIter++; |
| 122273 | 122367 | pIter += sqlite3Fts3GetVarint32(pIter, &iThis); |
| 122274 | 122368 | } |
| 122275 | 122369 | |
| 122276 | - return ((iCol==iThis)?pIter:0); | |
| 122370 | + *ppOut = ((iCol==iThis)?pIter:0); | |
| 122371 | + return SQLITE_OK; | |
| 122277 | 122372 | } |
| 122278 | 122373 | |
| 122279 | 122374 | /* |
| 122280 | 122375 | ** Free all components of the Fts3Phrase structure that were allocated by |
| 122281 | 122376 | ** the eval module. Specifically, this means to free: |
| @@ -131318,14 +131413,15 @@ | ||
| 131318 | 131413 | */ |
| 131319 | 131414 | static int fts3SnippetFindPositions(Fts3Expr *pExpr, int iPhrase, void *ctx){ |
| 131320 | 131415 | SnippetIter *p = (SnippetIter *)ctx; |
| 131321 | 131416 | SnippetPhrase *pPhrase = &p->aPhrase[iPhrase]; |
| 131322 | 131417 | char *pCsr; |
| 131418 | + int rc; | |
| 131323 | 131419 | |
| 131324 | 131420 | pPhrase->nToken = pExpr->pPhrase->nToken; |
| 131325 | - | |
| 131326 | - pCsr = sqlite3Fts3EvalPhrasePoslist(p->pCsr, pExpr, p->iCol); | |
| 131421 | + rc = sqlite3Fts3EvalPhrasePoslist(p->pCsr, pExpr, p->iCol, &pCsr); | |
| 131422 | + assert( rc==SQLITE_OK || pCsr==0 ); | |
| 131327 | 131423 | if( pCsr ){ |
| 131328 | 131424 | int iFirst = 0; |
| 131329 | 131425 | pPhrase->pList = pCsr; |
| 131330 | 131426 | fts3GetDeltaPosition(&pCsr, &iFirst); |
| 131331 | 131427 | assert( iFirst>=0 ); |
| @@ -131332,14 +131428,16 @@ | ||
| 131332 | 131428 | pPhrase->pHead = pCsr; |
| 131333 | 131429 | pPhrase->pTail = pCsr; |
| 131334 | 131430 | pPhrase->iHead = iFirst; |
| 131335 | 131431 | pPhrase->iTail = iFirst; |
| 131336 | 131432 | }else{ |
| 131337 | - assert( pPhrase->pList==0 && pPhrase->pHead==0 && pPhrase->pTail==0 ); | |
| 131433 | + assert( rc!=SQLITE_OK || ( | |
| 131434 | + pPhrase->pList==0 && pPhrase->pHead==0 && pPhrase->pTail==0 | |
| 131435 | + )); | |
| 131338 | 131436 | } |
| 131339 | 131437 | |
| 131340 | - return SQLITE_OK; | |
| 131438 | + return rc; | |
| 131341 | 131439 | } |
| 131342 | 131440 | |
| 131343 | 131441 | /* |
| 131344 | 131442 | ** Select the fragment of text consisting of nFragment contiguous tokens |
| 131345 | 131443 | ** from column iCol that represent the "best" snippet. The best snippet |
| @@ -131728,25 +131826,26 @@ | ||
| 131728 | 131826 | static int fts3ExprLocalHitsCb( |
| 131729 | 131827 | Fts3Expr *pExpr, /* Phrase expression node */ |
| 131730 | 131828 | int iPhrase, /* Phrase number */ |
| 131731 | 131829 | void *pCtx /* Pointer to MatchInfo structure */ |
| 131732 | 131830 | ){ |
| 131831 | + int rc = SQLITE_OK; | |
| 131733 | 131832 | MatchInfo *p = (MatchInfo *)pCtx; |
| 131734 | 131833 | int iStart = iPhrase * p->nCol * 3; |
| 131735 | 131834 | int i; |
| 131736 | 131835 | |
| 131737 | - for(i=0; i<p->nCol; i++){ | |
| 131836 | + for(i=0; i<p->nCol && rc==SQLITE_OK; i++){ | |
| 131738 | 131837 | char *pCsr; |
| 131739 | - pCsr = sqlite3Fts3EvalPhrasePoslist(p->pCursor, pExpr, i); | |
| 131838 | + rc = sqlite3Fts3EvalPhrasePoslist(p->pCursor, pExpr, i, &pCsr); | |
| 131740 | 131839 | if( pCsr ){ |
| 131741 | 131840 | p->aMatchinfo[iStart+i*3] = fts3ColumnlistCount(&pCsr); |
| 131742 | 131841 | }else{ |
| 131743 | 131842 | p->aMatchinfo[iStart+i*3] = 0; |
| 131744 | 131843 | } |
| 131745 | 131844 | } |
| 131746 | 131845 | |
| 131747 | - return SQLITE_OK; | |
| 131846 | + return rc; | |
| 131748 | 131847 | } |
| 131749 | 131848 | |
| 131750 | 131849 | static int fts3MatchinfoCheck( |
| 131751 | 131850 | Fts3Table *pTab, |
| 131752 | 131851 | char cArg, |
| @@ -131903,12 +132002,14 @@ | ||
| 131903 | 132002 | for(iCol=0; iCol<pInfo->nCol; iCol++){ |
| 131904 | 132003 | int nLcs = 0; /* LCS value for this column */ |
| 131905 | 132004 | int nLive = 0; /* Number of iterators in aIter not at EOF */ |
| 131906 | 132005 | |
| 131907 | 132006 | for(i=0; i<pInfo->nPhrase; i++){ |
| 132007 | + int rc; | |
| 131908 | 132008 | LcsIterator *pIt = &aIter[i]; |
| 131909 | - pIt->pRead = sqlite3Fts3EvalPhrasePoslist(pCsr, pIt->pExpr, iCol); | |
| 132009 | + rc = sqlite3Fts3EvalPhrasePoslist(pCsr, pIt->pExpr, iCol, &pIt->pRead); | |
| 132010 | + if( rc!=SQLITE_OK ) return rc; | |
| 131910 | 132011 | if( pIt->pRead ){ |
| 131911 | 132012 | pIt->iPos = pIt->iPosOffset; |
| 131912 | 132013 | fts3LcsIteratorAdvance(&aIter[i]); |
| 131913 | 132014 | nLive++; |
| 131914 | 132015 | } |
| @@ -132256,13 +132357,14 @@ | ||
| 132256 | 132357 | TermOffsetCtx *p = (TermOffsetCtx *)ctx; |
| 132257 | 132358 | int nTerm; /* Number of tokens in phrase */ |
| 132258 | 132359 | int iTerm; /* For looping through nTerm phrase terms */ |
| 132259 | 132360 | char *pList; /* Pointer to position list for phrase */ |
| 132260 | 132361 | int iPos = 0; /* First position in position-list */ |
| 132362 | + int rc; | |
| 132261 | 132363 | |
| 132262 | 132364 | UNUSED_PARAMETER(iPhrase); |
| 132263 | - pList = sqlite3Fts3EvalPhrasePoslist(p->pCsr, pExpr, p->iCol); | |
| 132365 | + rc = sqlite3Fts3EvalPhrasePoslist(p->pCsr, pExpr, p->iCol, &pList); | |
| 132264 | 132366 | nTerm = pExpr->pPhrase->nToken; |
| 132265 | 132367 | if( pList ){ |
| 132266 | 132368 | fts3GetDeltaPosition(&pList, &iPos); |
| 132267 | 132369 | assert( iPos>=0 ); |
| 132268 | 132370 | } |
| @@ -132272,11 +132374,11 @@ | ||
| 132272 | 132374 | pT->iOff = nTerm-iTerm-1; |
| 132273 | 132375 | pT->pList = pList; |
| 132274 | 132376 | pT->iPos = iPos; |
| 132275 | 132377 | } |
| 132276 | 132378 | |
| 132277 | - return SQLITE_OK; | |
| 132379 | + return rc; | |
| 132278 | 132380 | } |
| 132279 | 132381 | |
| 132280 | 132382 | /* |
| 132281 | 132383 | ** Implementation of offsets() function. |
| 132282 | 132384 | */ |
| 132283 | 132385 |
| --- src/sqlite3.c | |
| +++ src/sqlite3.c | |
| @@ -657,11 +657,11 @@ | |
| 657 | ** [sqlite3_libversion_number()], [sqlite3_sourceid()], |
| 658 | ** [sqlite_version()] and [sqlite_source_id()]. |
| 659 | */ |
| 660 | #define SQLITE_VERSION "3.7.12" |
| 661 | #define SQLITE_VERSION_NUMBER 3007012 |
| 662 | #define SQLITE_SOURCE_ID "2012-05-08 11:17:33 38bf90af1ede6ee64ef7be66392e895e60c9126e" |
| 663 | |
| 664 | /* |
| 665 | ** CAPI3REF: Run-Time Library Version Numbers |
| 666 | ** KEYWORDS: sqlite3_version, sqlite3_sourceid |
| 667 | ** |
| @@ -6563,11 +6563,11 @@ | |
| 6563 | ** been written to disk. Specifically, the number of pages written to the |
| 6564 | ** wal file in wal mode databases, or the number of pages written to the |
| 6565 | ** database file in rollback mode databases. Any pages written as part of |
| 6566 | ** transaction rollback or database recovery operations are not included. |
| 6567 | ** If an IO or other error occurs while writing a page to disk, the effect |
| 6568 | ** on subsequent SQLITE_DBSTATUS_CACHE_WRITE requests is undefined). ^The |
| 6569 | ** highwater mark associated with SQLITE_DBSTATUS_CACHE_WRITE is always 0. |
| 6570 | ** </dd> |
| 6571 | ** </dl> |
| 6572 | */ |
| 6573 | #define SQLITE_DBSTATUS_LOOKASIDE_USED 0 |
| @@ -104675,11 +104675,10 @@ | |
| 104675 | if( pIdx->onError!=OE_None && i==pIdx->nColumn |
| 104676 | && (wsFlags & WHERE_COLUMN_NULL)==0 |
| 104677 | && !referencesOtherTables(pOrderBy, pMaskSet, j, base) |
| 104678 | ){ |
| 104679 | Column *aCol = pIdx->pTable->aCol; |
| 104680 | int i; |
| 104681 | |
| 104682 | /* All terms of this index match some prefix of the ORDER BY clause, |
| 104683 | ** the index is UNIQUE, and no terms on the tail of the ORDER BY |
| 104684 | ** refer to other tables in a join. So, assuming that the index entries |
| 104685 | ** visited contain no NULL values, then this index delivers rows in |
| @@ -108444,11 +108443,11 @@ | |
| 108444 | #endif |
| 108445 | #define sqlite3ParserARG_SDECL Parse *pParse; |
| 108446 | #define sqlite3ParserARG_PDECL ,Parse *pParse |
| 108447 | #define sqlite3ParserARG_FETCH Parse *pParse = yypParser->pParse |
| 108448 | #define sqlite3ParserARG_STORE yypParser->pParse = pParse |
| 108449 | #define YYNSTATE 630 |
| 108450 | #define YYNRULE 327 |
| 108451 | #define YYFALLBACK 1 |
| 108452 | #define YY_NO_ACTION (YYNSTATE+YYNRULE+2) |
| 108453 | #define YY_ACCEPT_ACTION (YYNSTATE+YYNRULE+1) |
| 108454 | #define YY_ERROR_ACTION (YYNSTATE+YYNRULE) |
| @@ -108515,479 +108514,478 @@ | |
| 108515 | ** shifting terminals. |
| 108516 | ** yy_reduce_ofst[] For each state, the offset into yy_action for |
| 108517 | ** shifting non-terminals after a reduce. |
| 108518 | ** yy_default[] Default action for each state. |
| 108519 | */ |
| 108520 | #define YY_ACTTAB_COUNT (1562) |
| 108521 | static const YYACTIONTYPE yy_action[] = { |
| 108522 | /* 0 */ 312, 330, 575, 574, 15, 171, 186, 597, 56, 56, |
| 108523 | /* 10 */ 56, 56, 49, 54, 54, 54, 54, 53, 53, 52, |
| 108524 | /* 20 */ 52, 52, 51, 235, 52, 52, 52, 51, 235, 627, |
| 108525 | /* 30 */ 590, 584, 56, 56, 56, 56, 316, 54, 54, 54, |
| 108526 | /* 40 */ 54, 53, 53, 52, 52, 52, 51, 235, 301, 57, |
| 108527 | /* 50 */ 58, 48, 582, 581, 583, 583, 55, 55, 56, 56, |
| 108528 | /* 60 */ 56, 56, 571, 54, 54, 54, 54, 53, 53, 52, |
| 108529 | /* 70 */ 52, 52, 51, 235, 312, 597, 328, 198, 197, 196, |
| 108530 | /* 80 */ 33, 54, 54, 54, 54, 53, 53, 52, 52, 52, |
| 108531 | /* 90 */ 51, 235, 53, 53, 52, 52, 52, 51, 235, 492, |
| 108532 | /* 100 */ 597, 441, 66, 237, 590, 584, 597, 299, 365, 59, |
| 108533 | /* 110 */ 482, 67, 362, 1, 621, 353, 621, 623, 622, 516, |
| 108534 | /* 120 */ 515, 442, 443, 57, 58, 48, 582, 581, 583, 583, |
| 108535 | /* 130 */ 55, 55, 56, 56, 56, 56, 608, 54, 54, 54, |
| 108536 | /* 140 */ 54, 53, 53, 52, 52, 52, 51, 235, 312, 225, |
| 108537 | /* 150 */ 618, 617, 616, 176, 138, 283, 386, 278, 385, 168, |
| 108538 | /* 160 */ 492, 554, 623, 622, 623, 622, 274, 441, 597, 412, |
| 108539 | /* 170 */ 553, 607, 67, 215, 597, 621, 506, 507, 590, 584, |
| 108540 | /* 180 */ 444, 571, 621, 391, 415, 620, 619, 442, 338, 623, |
| 108541 | /* 190 */ 622, 392, 601, 92, 224, 193, 671, 57, 58, 48, |
| 108542 | /* 200 */ 582, 581, 583, 583, 55, 55, 56, 56, 56, 56, |
| 108543 | /* 210 */ 672, 54, 54, 54, 54, 53, 53, 52, 52, 52, |
| 108544 | /* 220 */ 51, 235, 312, 262, 234, 233, 505, 132, 486, 510, |
| 108545 | /* 230 */ 620, 619, 620, 619, 399, 438, 487, 566, 621, 389, |
| 108546 | /* 240 */ 412, 384, 440, 532, 439, 602, 339, 571, 504, 603, |
| 108547 | /* 250 */ 203, 533, 590, 584, 45, 415, 548, 620, 619, 383, |
| 108548 | /* 260 */ 380, 379, 6, 601, 92, 526, 261, 572, 572, 595, |
| 108549 | /* 270 */ 378, 57, 58, 48, 582, 581, 583, 583, 55, 55, |
| 108550 | /* 280 */ 56, 56, 56, 56, 600, 54, 54, 54, 54, 53, |
| 108551 | /* 290 */ 53, 52, 52, 52, 51, 235, 312, 466, 326, 561, |
| 108552 | /* 300 */ 593, 593, 593, 282, 311, 399, 412, 568, 493, 214, |
| 108553 | /* 310 */ 400, 623, 622, 68, 281, 560, 7, 623, 622, 167, |
| 108554 | /* 320 */ 577, 415, 65, 408, 575, 574, 590, 584, 673, 601, |
| 108555 | /* 330 */ 92, 559, 410, 520, 579, 579, 306, 425, 623, 622, |
| 108556 | /* 340 */ 208, 572, 572, 467, 519, 57, 58, 48, 582, 581, |
| 108557 | /* 350 */ 583, 583, 55, 55, 56, 56, 56, 56, 576, 54, |
| 108558 | /* 360 */ 54, 54, 54, 53, 53, 52, 52, 52, 51, 235, |
| 108559 | /* 370 */ 312, 399, 412, 317, 600, 412, 350, 549, 578, 620, |
| 108560 | /* 380 */ 619, 423, 204, 175, 571, 620, 619, 415, 551, 355, |
| 108561 | /* 390 */ 415, 257, 349, 256, 174, 601, 74, 354, 601, 91, |
| 108562 | /* 400 */ 590, 584, 237, 467, 621, 547, 620, 619, 164, 623, |
| 108563 | /* 410 */ 622, 544, 62, 39, 251, 580, 600, 348, 555, 57, |
| 108564 | /* 420 */ 58, 48, 582, 581, 583, 583, 55, 55, 56, 56, |
| 108565 | /* 430 */ 56, 56, 565, 54, 54, 54, 54, 53, 53, 52, |
| 108566 | /* 440 */ 52, 52, 51, 235, 312, 554, 182, 145, 531, 292, |
| 108567 | /* 450 */ 231, 257, 349, 256, 553, 221, 412, 181, 248, 549, |
| 108568 | /* 460 */ 250, 412, 237, 50, 47, 146, 412, 410, 412, 579, |
| 108569 | /* 470 */ 579, 415, 549, 567, 590, 584, 415, 620, 619, 601, |
| 108570 | /* 480 */ 16, 415, 189, 415, 601, 92, 268, 36, 544, 601, |
| 108571 | /* 490 */ 92, 601, 73, 57, 58, 48, 582, 581, 583, 583, |
| 108572 | /* 500 */ 55, 55, 56, 56, 56, 56, 187, 54, 54, 54, |
| 108573 | /* 510 */ 54, 53, 53, 52, 52, 52, 51, 235, 312, 564, |
| 108574 | /* 520 */ 397, 410, 528, 579, 579, 561, 395, 535, 201, 145, |
| 108575 | /* 530 */ 264, 320, 266, 388, 375, 410, 249, 579, 579, 236, |
| 108576 | /* 540 */ 40, 560, 38, 50, 47, 146, 19, 606, 590, 584, |
| 108577 | /* 550 */ 422, 948, 563, 948, 549, 496, 472, 559, 602, 403, |
| 108578 | /* 560 */ 422, 947, 603, 947, 562, 167, 200, 57, 58, 48, |
| 108579 | /* 570 */ 582, 581, 583, 583, 55, 55, 56, 56, 56, 56, |
| 108580 | /* 580 */ 156, 54, 54, 54, 54, 53, 53, 52, 52, 52, |
| 108581 | /* 590 */ 51, 235, 312, 262, 412, 426, 511, 208, 347, 492, |
| 108582 | /* 600 */ 600, 50, 47, 146, 410, 426, 579, 579, 621, 415, |
| 108583 | /* 610 */ 430, 67, 199, 143, 621, 166, 474, 601, 69, 317, |
| 108584 | /* 620 */ 475, 435, 590, 584, 274, 234, 233, 958, 184, 420, |
| 108585 | /* 630 */ 2, 600, 358, 552, 366, 470, 336, 476, 476, 368, |
| 108586 | /* 640 */ 359, 57, 58, 48, 582, 581, 583, 583, 55, 55, |
| 108587 | /* 650 */ 56, 56, 56, 56, 354, 54, 54, 54, 54, 53, |
| 108588 | /* 660 */ 53, 52, 52, 52, 51, 235, 312, 412, 572, 572, |
| 108589 | /* 670 */ 271, 412, 558, 874, 361, 213, 143, 412, 50, 47, |
| 108590 | /* 680 */ 146, 30, 415, 540, 355, 334, 415, 412, 629, 2, |
| 108591 | /* 690 */ 601, 94, 415, 513, 601, 97, 590, 584, 621, 621, |
| 108592 | /* 700 */ 601, 95, 415, 306, 424, 630, 628, 332, 173, 269, |
| 108593 | /* 710 */ 601, 104, 171, 546, 597, 57, 58, 48, 582, 581, |
| 108594 | /* 720 */ 583, 583, 55, 55, 56, 56, 56, 56, 412, 54, |
| 108595 | /* 730 */ 54, 54, 54, 53, 53, 52, 52, 52, 51, 235, |
| 108596 | /* 740 */ 312, 412, 275, 415, 412, 22, 329, 340, 423, 544, |
| 108597 | /* 750 */ 217, 601, 103, 568, 407, 214, 415, 621, 35, 415, |
| 108598 | /* 760 */ 412, 540, 412, 12, 601, 105, 237, 601, 106, 11, |
| 108599 | /* 770 */ 590, 584, 50, 47, 146, 415, 621, 415, 353, 325, |
| 108600 | /* 780 */ 164, 129, 597, 601, 133, 601, 134, 207, 287, 57, |
| 108601 | /* 790 */ 58, 48, 582, 581, 583, 583, 55, 55, 56, 56, |
| 108602 | /* 800 */ 56, 56, 412, 54, 54, 54, 54, 53, 53, 52, |
| 108603 | /* 810 */ 52, 52, 51, 235, 312, 412, 275, 415, 412, 275, |
| 108604 | /* 820 */ 275, 600, 275, 544, 367, 601, 98, 542, 412, 170, |
| 108605 | /* 830 */ 415, 621, 524, 415, 621, 621, 169, 621, 601, 102, |
| 108606 | /* 840 */ 604, 601, 101, 415, 590, 584, 352, 21, 500, 32, |
| 108607 | /* 850 */ 166, 601, 93, 223, 318, 147, 324, 323, 272, 322, |
| 108608 | /* 860 */ 166, 205, 285, 57, 58, 48, 582, 581, 583, 583, |
| 108609 | /* 870 */ 55, 55, 56, 56, 56, 56, 412, 54, 54, 54, |
| 108610 | /* 880 */ 54, 53, 53, 52, 52, 52, 51, 235, 312, 412, |
| 108611 | /* 890 */ 262, 415, 412, 538, 360, 600, 360, 202, 142, 601, |
| 108612 | /* 900 */ 100, 376, 412, 166, 415, 621, 540, 415, 360, 621, |
| 108613 | /* 910 */ 141, 621, 601, 77, 230, 601, 96, 415, 590, 584, |
| 108614 | /* 920 */ 341, 621, 530, 621, 529, 601, 137, 471, 382, 166, |
| 108615 | /* 930 */ 460, 600, 170, 453, 427, 307, 28, 57, 58, 48, |
| 108616 | /* 940 */ 582, 581, 583, 583, 55, 55, 56, 56, 56, 56, |
| 108617 | /* 950 */ 412, 54, 54, 54, 54, 53, 53, 52, 52, 52, |
| 108618 | /* 960 */ 51, 235, 312, 412, 503, 415, 412, 212, 459, 321, |
| 108619 | /* 970 */ 35, 211, 127, 601, 136, 428, 412, 308, 415, 412, |
| 108620 | /* 980 */ 273, 415, 222, 126, 255, 27, 601, 135, 377, 601, |
| 108621 | /* 990 */ 76, 415, 590, 584, 415, 262, 220, 51, 235, 601, |
| 108622 | /* 1000 */ 90, 600, 601, 89, 125, 600, 281, 522, 521, 373, |
| 108623 | /* 1010 */ 621, 57, 46, 48, 582, 581, 583, 583, 55, 55, |
| 108624 | /* 1020 */ 56, 56, 56, 56, 412, 54, 54, 54, 54, 53, |
| 108625 | /* 1030 */ 53, 52, 52, 52, 51, 235, 312, 412, 451, 415, |
| 108626 | /* 1040 */ 165, 624, 612, 611, 469, 521, 480, 601, 75, 185, |
| 108627 | /* 1050 */ 412, 122, 415, 412, 369, 412, 621, 621, 621, 477, |
| 108628 | /* 1060 */ 601, 88, 589, 588, 170, 415, 590, 584, 415, 121, |
| 108629 | /* 1070 */ 415, 473, 259, 601, 87, 159, 601, 99, 601, 86, |
| 108630 | /* 1080 */ 628, 332, 120, 14, 586, 585, 58, 48, 582, 581, |
| 108631 | /* 1090 */ 583, 583, 55, 55, 56, 56, 56, 56, 412, 54, |
| 108632 | /* 1100 */ 54, 54, 54, 53, 53, 52, 52, 52, 51, 235, |
| 108633 | /* 1110 */ 312, 587, 412, 415, 412, 465, 262, 262, 610, 605, |
| 108634 | /* 1120 */ 158, 601, 17, 157, 412, 462, 25, 415, 118, 415, |
| 108635 | /* 1130 */ 412, 621, 621, 621, 621, 601, 85, 601, 84, 415, |
| 108636 | /* 1140 */ 590, 584, 411, 262, 24, 415, 117, 601, 83, 10, |
| 108637 | /* 1150 */ 351, 4, 115, 601, 72, 458, 456, 621, 621, 450, |
| 108638 | /* 1160 */ 449, 48, 582, 581, 583, 583, 55, 55, 56, 56, |
| 108639 | /* 1170 */ 56, 56, 253, 54, 54, 54, 54, 53, 53, 52, |
| 108640 | /* 1180 */ 52, 52, 51, 235, 44, 406, 219, 3, 412, 452, |
| 108641 | /* 1190 */ 262, 416, 622, 154, 594, 110, 107, 108, 401, 446, |
| 108642 | /* 1200 */ 64, 557, 409, 415, 412, 621, 437, 44, 406, 621, |
| 108643 | /* 1210 */ 3, 601, 71, 621, 416, 622, 621, 545, 335, 415, |
| 108644 | /* 1220 */ 436, 404, 149, 239, 262, 409, 188, 601, 82, 331, |
| 108645 | /* 1230 */ 541, 566, 621, 218, 421, 539, 229, 139, 124, 621, |
| 108646 | /* 1240 */ 148, 419, 626, 625, 404, 621, 412, 238, 315, 123, |
| 108647 | /* 1250 */ 621, 41, 42, 534, 566, 206, 412, 277, 43, 414, |
| 108648 | /* 1260 */ 413, 415, 509, 595, 314, 615, 180, 245, 614, 601, |
| 108649 | /* 1270 */ 81, 415, 621, 276, 41, 42, 613, 621, 412, 601, |
| 108650 | /* 1280 */ 80, 43, 414, 413, 179, 270, 595, 418, 621, 600, |
| 108651 | /* 1290 */ 484, 8, 177, 415, 593, 593, 593, 592, 591, 13, |
| 108652 | /* 1300 */ 621, 601, 70, 417, 237, 621, 44, 406, 267, 3, |
| 108653 | /* 1310 */ 237, 265, 342, 416, 622, 599, 296, 593, 593, 593, |
| 108654 | /* 1320 */ 592, 591, 13, 621, 409, 412, 621, 412, 396, 34, |
| 108655 | /* 1330 */ 406, 412, 3, 31, 30, 294, 416, 622, 293, 333, |
| 108656 | /* 1340 */ 415, 263, 415, 404, 398, 258, 415, 409, 601, 18, |
| 108657 | /* 1350 */ 601, 79, 363, 566, 601, 78, 621, 295, 60, 37, |
| 108658 | /* 1360 */ 621, 172, 464, 390, 463, 598, 404, 621, 356, 288, |
| 108659 | /* 1370 */ 232, 29, 556, 41, 42, 252, 566, 621, 415, 621, |
| 108660 | /* 1380 */ 43, 414, 413, 621, 455, 595, 601, 9, 183, 61, |
| 108661 | /* 1390 */ 621, 543, 445, 623, 622, 244, 41, 42, 241, 621, |
| 108662 | /* 1400 */ 240, 393, 286, 43, 414, 413, 284, 621, 595, 431, |
| 108663 | /* 1410 */ 621, 291, 537, 621, 536, 621, 593, 593, 593, 592, |
| 108664 | /* 1420 */ 591, 13, 216, 144, 621, 387, 621, 304, 303, 302, |
| 108665 | /* 1430 */ 178, 300, 394, 566, 454, 517, 290, 523, 621, 593, |
| 108666 | /* 1440 */ 593, 593, 592, 591, 13, 518, 327, 621, 150, 279, |
| 108667 | /* 1450 */ 243, 621, 514, 192, 191, 513, 512, 310, 128, 242, |
| 108668 | /* 1460 */ 228, 526, 227, 226, 490, 595, 494, 489, 488, 309, |
| 108669 | /* 1470 */ 194, 164, 152, 163, 467, 374, 481, 372, 153, 162, |
| 108670 | /* 1480 */ 161, 151, 210, 479, 260, 370, 26, 478, 160, 468, |
| 108671 | /* 1490 */ 364, 140, 119, 116, 131, 457, 593, 593, 593, 155, |
| 108672 | /* 1500 */ 114, 346, 345, 113, 112, 111, 448, 109, 130, 23, |
| 108673 | /* 1510 */ 319, 20, 434, 433, 432, 63, 429, 609, 190, 510, |
| 108674 | /* 1520 */ 596, 405, 257, 344, 246, 297, 280, 573, 313, 570, |
| 108675 | /* 1530 */ 195, 499, 498, 237, 497, 495, 381, 289, 461, 247, |
| 108676 | /* 1540 */ 357, 254, 305, 343, 5, 447, 569, 209, 550, 371, |
| 108677 | /* 1550 */ 508, 491, 402, 502, 501, 298, 337, 527, 525, 485, |
| 108678 | /* 1560 */ 483, 235, |
| 108679 | }; |
| 108680 | static const YYCODETYPE yy_lookahead[] = { |
| 108681 | /* 0 */ 19, 169, 170, 171, 22, 24, 24, 26, 77, 78, |
| 108682 | /* 10 */ 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, |
| 108683 | /* 20 */ 89, 90, 91, 92, 88, 89, 90, 91, 92, 1, |
| 108684 | /* 30 */ 49, 50, 77, 78, 79, 80, 155, 82, 83, 84, |
| 108685 | /* 40 */ 85, 86, 87, 88, 89, 90, 91, 92, 15, 68, |
| 108686 | /* 50 */ 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, |
| 108687 | /* 60 */ 79, 80, 230, 82, 83, 84, 85, 86, 87, 88, |
| 108688 | /* 70 */ 89, 90, 91, 92, 19, 94, 19, 105, 106, 107, |
| 108689 | /* 80 */ 25, 82, 83, 84, 85, 86, 87, 88, 89, 90, |
| 108690 | /* 90 */ 91, 92, 86, 87, 88, 89, 90, 91, 92, 150, |
| 108691 | /* 100 */ 26, 150, 22, 116, 49, 50, 26, 158, 227, 54, |
| 108692 | /* 110 */ 161, 162, 231, 22, 165, 128, 165, 26, 27, 7, |
| 108693 | /* 120 */ 8, 170, 171, 68, 69, 70, 71, 72, 73, 74, |
| 108694 | /* 130 */ 75, 76, 77, 78, 79, 80, 23, 82, 83, 84, |
| 108695 | /* 140 */ 85, 86, 87, 88, 89, 90, 91, 92, 19, 92, |
| 108696 | /* 150 */ 7, 8, 9, 96, 97, 98, 99, 100, 101, 102, |
| 108697 | /* 160 */ 150, 32, 26, 27, 26, 27, 109, 150, 94, 150, |
| 108698 | /* 170 */ 41, 161, 162, 22, 94, 165, 97, 98, 49, 50, |
| 108699 | /* 180 */ 229, 230, 165, 19, 165, 94, 95, 170, 171, 26, |
| 108700 | /* 190 */ 27, 27, 173, 174, 184, 185, 118, 68, 69, 70, |
| 108701 | /* 200 */ 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, |
| 108702 | /* 210 */ 118, 82, 83, 84, 85, 86, 87, 88, 89, 90, |
| 108703 | /* 220 */ 91, 92, 19, 150, 86, 87, 36, 24, 180, 181, |
| 108704 | /* 230 */ 94, 95, 94, 95, 215, 97, 188, 66, 165, 220, |
| 108705 | /* 240 */ 150, 51, 104, 23, 106, 113, 229, 230, 58, 117, |
| 108706 | /* 250 */ 160, 88, 49, 50, 22, 165, 120, 94, 95, 99, |
| 108707 | /* 260 */ 100, 101, 22, 173, 174, 94, 193, 129, 130, 98, |
| 108708 | /* 270 */ 110, 68, 69, 70, 71, 72, 73, 74, 75, 76, |
| 108709 | /* 280 */ 77, 78, 79, 80, 194, 82, 83, 84, 85, 86, |
| 108710 | /* 290 */ 87, 88, 89, 90, 91, 92, 19, 11, 108, 12, |
| 108711 | /* 300 */ 129, 130, 131, 98, 163, 215, 150, 166, 167, 168, |
| 108712 | /* 310 */ 220, 26, 27, 22, 109, 28, 76, 26, 27, 50, |
| 108713 | /* 320 */ 23, 165, 25, 169, 170, 171, 49, 50, 118, 173, |
| 108714 | /* 330 */ 174, 44, 112, 46, 114, 115, 22, 23, 26, 27, |
| 108715 | /* 340 */ 160, 129, 130, 57, 57, 68, 69, 70, 71, 72, |
| 108716 | /* 350 */ 73, 74, 75, 76, 77, 78, 79, 80, 23, 82, |
| 108717 | /* 360 */ 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, |
| 108718 | /* 370 */ 19, 215, 150, 104, 194, 150, 220, 25, 23, 94, |
| 108719 | /* 380 */ 95, 67, 160, 118, 230, 94, 95, 165, 25, 150, |
| 108720 | /* 390 */ 165, 105, 106, 107, 118, 173, 174, 217, 173, 174, |
| 108721 | /* 400 */ 49, 50, 116, 57, 165, 120, 94, 95, 96, 26, |
| 108722 | /* 410 */ 27, 166, 232, 136, 16, 113, 194, 237, 176, 68, |
| 108723 | /* 420 */ 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, |
| 108724 | /* 430 */ 79, 80, 23, 82, 83, 84, 85, 86, 87, 88, |
| 108725 | /* 440 */ 89, 90, 91, 92, 19, 32, 23, 95, 23, 224, |
| 108726 | /* 450 */ 205, 105, 106, 107, 41, 216, 150, 23, 60, 25, |
| 108727 | /* 460 */ 62, 150, 116, 221, 222, 223, 150, 112, 150, 114, |
| 108728 | /* 470 */ 115, 165, 120, 23, 49, 50, 165, 94, 95, 173, |
| 108729 | /* 480 */ 174, 165, 119, 165, 173, 174, 16, 136, 166, 173, |
| 108730 | /* 490 */ 174, 173, 174, 68, 69, 70, 71, 72, 73, 74, |
| 108731 | /* 500 */ 75, 76, 77, 78, 79, 80, 22, 82, 83, 84, |
| 108732 | /* 510 */ 85, 86, 87, 88, 89, 90, 91, 92, 19, 11, |
| 108733 | /* 520 */ 214, 112, 23, 114, 115, 12, 215, 205, 22, 95, |
| 108734 | /* 530 */ 60, 215, 62, 88, 19, 112, 138, 114, 115, 197, |
| 108735 | /* 540 */ 135, 28, 137, 221, 222, 223, 204, 172, 49, 50, |
| 108736 | /* 550 */ 22, 23, 23, 25, 120, 180, 21, 44, 113, 46, |
| 108737 | /* 560 */ 22, 23, 117, 25, 23, 50, 160, 68, 69, 70, |
| 108738 | /* 570 */ 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, |
| 108739 | /* 580 */ 25, 82, 83, 84, 85, 86, 87, 88, 89, 90, |
| 108740 | /* 590 */ 91, 92, 19, 150, 150, 67, 23, 160, 63, 150, |
| 108741 | /* 600 */ 194, 221, 222, 223, 112, 67, 114, 115, 165, 165, |
| 108742 | /* 610 */ 161, 162, 206, 207, 165, 25, 30, 173, 174, 104, |
| 108743 | /* 620 */ 34, 241, 49, 50, 109, 86, 87, 142, 143, 144, |
| 108744 | /* 630 */ 145, 194, 19, 176, 48, 100, 193, 105, 106, 107, |
| 108745 | /* 640 */ 27, 68, 69, 70, 71, 72, 73, 74, 75, 76, |
| 108746 | /* 650 */ 77, 78, 79, 80, 217, 82, 83, 84, 85, 86, |
| 108747 | /* 660 */ 87, 88, 89, 90, 91, 92, 19, 150, 129, 130, |
| 108748 | /* 670 */ 23, 150, 23, 138, 237, 206, 207, 150, 221, 222, |
| 108749 | /* 680 */ 223, 126, 165, 150, 150, 242, 165, 150, 144, 145, |
| 108750 | /* 690 */ 173, 174, 165, 103, 173, 174, 49, 50, 165, 165, |
| 108751 | /* 700 */ 173, 174, 165, 22, 23, 0, 1, 2, 25, 25, |
| 108752 | /* 710 */ 173, 174, 24, 120, 26, 68, 69, 70, 71, 72, |
| 108753 | /* 720 */ 73, 74, 75, 76, 77, 78, 79, 80, 150, 82, |
| 108754 | /* 730 */ 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, |
| 108755 | /* 740 */ 19, 150, 150, 165, 150, 24, 213, 97, 67, 166, |
| 108756 | /* 750 */ 216, 173, 174, 166, 167, 168, 165, 165, 25, 165, |
| 108757 | /* 760 */ 150, 150, 150, 35, 173, 174, 116, 173, 174, 35, |
| 108758 | /* 770 */ 49, 50, 221, 222, 223, 165, 165, 165, 128, 187, |
| 108759 | /* 780 */ 96, 22, 94, 173, 174, 173, 174, 160, 205, 68, |
| 108760 | /* 790 */ 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, |
| 108761 | /* 800 */ 79, 80, 150, 82, 83, 84, 85, 86, 87, 88, |
| 108762 | /* 810 */ 89, 90, 91, 92, 19, 150, 150, 165, 150, 150, |
| 108763 | /* 820 */ 150, 194, 150, 166, 213, 173, 174, 23, 150, 25, |
| 108764 | /* 830 */ 165, 165, 165, 165, 165, 165, 35, 165, 173, 174, |
| 108765 | /* 840 */ 173, 173, 174, 165, 49, 50, 219, 52, 23, 25, |
| 108766 | /* 850 */ 25, 173, 174, 187, 245, 246, 187, 187, 23, 187, |
| 108767 | /* 860 */ 25, 160, 205, 68, 69, 70, 71, 72, 73, 74, |
| 108768 | /* 870 */ 75, 76, 77, 78, 79, 80, 150, 82, 83, 84, |
| 108769 | /* 880 */ 85, 86, 87, 88, 89, 90, 91, 92, 19, 150, |
| 108770 | /* 890 */ 150, 165, 150, 27, 150, 194, 150, 160, 118, 173, |
| 108771 | /* 900 */ 174, 23, 150, 25, 165, 165, 150, 165, 150, 165, |
| 108772 | /* 910 */ 39, 165, 173, 174, 52, 173, 174, 165, 49, 50, |
| 108773 | /* 920 */ 219, 165, 23, 165, 23, 173, 174, 23, 52, 25, |
| 108774 | /* 930 */ 23, 194, 25, 193, 247, 248, 22, 68, 69, 70, |
| 108775 | /* 940 */ 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, |
| 108776 | /* 950 */ 150, 82, 83, 84, 85, 86, 87, 88, 89, 90, |
| 108777 | /* 960 */ 91, 92, 19, 150, 29, 165, 150, 160, 23, 213, |
| 108778 | /* 970 */ 25, 160, 22, 173, 174, 23, 150, 25, 165, 150, |
| 108779 | /* 980 */ 23, 165, 238, 22, 238, 22, 173, 174, 52, 173, |
| 108780 | /* 990 */ 174, 165, 49, 50, 165, 150, 238, 91, 92, 173, |
| 108781 | /* 1000 */ 174, 194, 173, 174, 22, 194, 109, 190, 191, 19, |
| 108782 | /* 1010 */ 165, 68, 69, 70, 71, 72, 73, 74, 75, 76, |
| 108783 | /* 1020 */ 77, 78, 79, 80, 150, 82, 83, 84, 85, 86, |
| 108784 | /* 1030 */ 87, 88, 89, 90, 91, 92, 19, 150, 193, 165, |
| 108785 | /* 1040 */ 102, 150, 150, 150, 190, 191, 20, 173, 174, 24, |
| 108786 | /* 1050 */ 150, 104, 165, 150, 43, 150, 165, 165, 165, 59, |
| 108787 | /* 1060 */ 173, 174, 49, 50, 25, 165, 49, 50, 165, 53, |
| 108788 | /* 1070 */ 165, 53, 138, 173, 174, 104, 173, 174, 173, 174, |
| 108789 | /* 1080 */ 1, 2, 22, 5, 71, 72, 69, 70, 71, 72, |
| 108790 | /* 1090 */ 73, 74, 75, 76, 77, 78, 79, 80, 150, 82, |
| 108791 | /* 1100 */ 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, |
| 108792 | /* 1110 */ 19, 98, 150, 165, 150, 1, 150, 150, 150, 150, |
| 108793 | /* 1120 */ 118, 173, 174, 35, 150, 27, 76, 165, 108, 165, |
| 108794 | /* 1130 */ 150, 165, 165, 165, 165, 173, 174, 173, 174, 165, |
| 108795 | /* 1140 */ 49, 50, 150, 150, 76, 165, 127, 173, 174, 22, |
| 108796 | /* 1150 */ 25, 22, 119, 173, 174, 23, 1, 165, 165, 193, |
| 108797 | /* 1160 */ 193, 70, 71, 72, 73, 74, 75, 76, 77, 78, |
| 108798 | /* 1170 */ 79, 80, 16, 82, 83, 84, 85, 86, 87, 88, |
| 108799 | /* 1180 */ 89, 90, 91, 92, 19, 20, 193, 22, 150, 20, |
| 108800 | /* 1190 */ 150, 26, 27, 121, 150, 119, 127, 108, 150, 128, |
| 108801 | /* 1200 */ 16, 150, 37, 165, 150, 165, 23, 19, 20, 165, |
| 108802 | /* 1210 */ 22, 173, 174, 165, 26, 27, 165, 150, 65, 165, |
| 108803 | /* 1220 */ 23, 56, 15, 140, 150, 37, 22, 173, 174, 3, |
| 108804 | /* 1230 */ 150, 66, 165, 193, 4, 150, 179, 164, 179, 165, |
| 108805 | /* 1240 */ 246, 146, 147, 149, 56, 165, 150, 152, 249, 154, |
| 108806 | /* 1250 */ 165, 86, 87, 88, 66, 160, 150, 150, 93, 94, |
| 108807 | /* 1260 */ 95, 165, 150, 98, 249, 149, 6, 193, 149, 173, |
| 108808 | /* 1270 */ 174, 165, 165, 150, 86, 87, 13, 165, 150, 173, |
| 108809 | /* 1280 */ 174, 93, 94, 95, 151, 150, 98, 149, 165, 194, |
| 108810 | /* 1290 */ 150, 25, 151, 165, 129, 130, 131, 132, 133, 134, |
| 108811 | /* 1300 */ 165, 173, 174, 159, 116, 165, 19, 20, 150, 22, |
| 108812 | /* 1310 */ 116, 150, 217, 26, 27, 194, 199, 129, 130, 131, |
| 108813 | /* 1320 */ 132, 133, 134, 165, 37, 150, 165, 150, 123, 19, |
| 108814 | /* 1330 */ 20, 150, 22, 124, 126, 201, 26, 27, 202, 244, |
| 108815 | /* 1340 */ 165, 150, 165, 56, 122, 150, 165, 37, 173, 174, |
| 108816 | /* 1350 */ 173, 174, 150, 66, 173, 174, 165, 200, 125, 135, |
| 108817 | /* 1360 */ 165, 118, 150, 150, 150, 203, 56, 165, 150, 210, |
| 108818 | /* 1370 */ 225, 104, 157, 86, 87, 150, 66, 165, 165, 165, |
| 108819 | /* 1380 */ 93, 94, 95, 165, 150, 98, 173, 174, 157, 22, |
| 108820 | /* 1390 */ 165, 211, 150, 26, 27, 150, 86, 87, 150, 165, |
| 108821 | /* 1400 */ 150, 121, 210, 93, 94, 95, 210, 165, 98, 150, |
| 108822 | /* 1410 */ 165, 150, 211, 165, 211, 165, 129, 130, 131, 132, |
| 108823 | /* 1420 */ 133, 134, 5, 150, 165, 104, 165, 10, 11, 12, |
| 108824 | /* 1430 */ 13, 14, 150, 66, 17, 183, 150, 175, 165, 129, |
| 108825 | /* 1440 */ 130, 131, 132, 133, 134, 175, 47, 165, 31, 175, |
| 108826 | /* 1450 */ 33, 165, 177, 86, 87, 103, 175, 178, 22, 42, |
| 108827 | /* 1460 */ 228, 94, 92, 228, 175, 98, 183, 175, 175, 178, |
| 108828 | /* 1470 */ 185, 96, 55, 156, 57, 18, 157, 157, 61, 156, |
| 108829 | /* 1480 */ 156, 64, 157, 157, 235, 45, 135, 236, 156, 189, |
| 108830 | /* 1490 */ 157, 68, 189, 22, 218, 199, 129, 130, 131, 156, |
| 108831 | /* 1500 */ 192, 157, 18, 192, 192, 192, 199, 189, 218, 240, |
| 108832 | /* 1510 */ 157, 240, 40, 157, 157, 243, 38, 153, 196, 181, |
| 108833 | /* 1520 */ 166, 226, 105, 106, 107, 198, 176, 230, 111, 230, |
| 108834 | /* 1530 */ 185, 176, 166, 116, 176, 166, 177, 209, 199, 209, |
| 108835 | /* 1540 */ 239, 239, 148, 209, 196, 199, 166, 233, 208, 234, |
| 108836 | /* 1550 */ 182, 186, 191, 182, 182, 195, 139, 173, 173, 186, |
| 108837 | /* 1560 */ 186, 92, |
| 108838 | }; |
| 108839 | #define YY_SHIFT_USE_DFLT (-70) |
| 108840 | #define YY_SHIFT_COUNT (419) |
| 108841 | #define YY_SHIFT_MIN (-69) |
| 108842 | #define YY_SHIFT_MAX (1484) |
| 108843 | static const short yy_shift_ofst[] = { |
| 108844 | /* 0 */ 1079, 1188, 1417, 1188, 1287, 1287, 138, 138, 312, -19, |
| 108845 | /* 10 */ 1287, 1287, 1287, 1287, 346, 383, 129, 129, 795, 1165, |
| 108846 | /* 20 */ 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, |
| 108847 | /* 30 */ 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, |
| 108848 | /* 40 */ 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1310, 1287, |
| 108849 | /* 50 */ 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, |
| 108850 | /* 60 */ 1287, 1287, 286, 383, 383, 539, 539, 74, 1194, 55, |
| 108851 | /* 70 */ 721, 647, 573, 499, 425, 351, 277, 203, 869, 869, |
| 108852 | /* 80 */ 869, 869, 869, 869, 869, 869, 869, 869, 869, 869, |
| 108853 | /* 90 */ 869, 869, 869, 943, 869, 1017, 1091, 1091, -69, -45, |
| 108854 | /* 100 */ -45, -45, -45, -45, -1, 6, -64, 383, 383, 383, |
| 108855 | /* 110 */ 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, |
| 108856 | /* 120 */ 383, 383, 383, 535, 515, 383, 383, 383, 383, 383, |
| 108857 | /* 130 */ 650, -13, 74, 906, 1469, -70, -70, -70, 1367, 57, |
| 108858 | /* 140 */ 287, 287, 163, 291, 285, 136, 91, 538, 528, 383, |
| 108859 | /* 150 */ 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, |
| 108860 | /* 160 */ 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, |
| 108861 | /* 170 */ 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, |
| 108862 | /* 180 */ 383, 688, 688, 688, 705, 1194, 1194, 1194, -70, -70, |
| 108863 | /* 190 */ -70, 171, 171, 160, 160, 160, 190, 190, 190, 434, |
| 108864 | /* 200 */ 423, 513, 409, 355, 220, 492, 492, 492, 492, 532, |
| 108865 | /* 210 */ 586, 492, 492, 352, 80, 445, 143, 555, 164, 164, |
| 108866 | /* 220 */ 613, 555, 613, 590, 684, 74, 413, 74, 413, 269, |
| 108867 | /* 230 */ 413, 164, 405, 212, 212, 74, 363, 132, -18, 1478, |
| 108868 | /* 240 */ 1243, 1243, 1472, 1472, 1243, 1471, 1423, 1208, 1484, 1484, |
| 108869 | /* 250 */ 1484, 1484, 1243, 1457, 1208, 1471, 1423, 1423, 1243, 1457, |
| 108870 | /* 260 */ 1351, 1440, 1243, 1243, 1457, 1243, 1457, 1243, 1457, 1375, |
| 108871 | /* 270 */ 1436, 1321, 1321, 1321, 1399, 1370, 1370, 1436, 1321, 1352, |
| 108872 | /* 280 */ 1321, 1399, 1321, 1321, 1280, 1267, 1280, 1267, 1280, 1267, |
| 108873 | /* 290 */ 1243, 1243, 1224, 1233, 1222, 1209, 1205, 1208, 1194, 1266, |
| 108874 | /* 300 */ 1263, 1263, 1260, 1260, 1260, 1260, -70, -70, -70, -70, |
| 108875 | /* 310 */ -70, -70, 1013, 398, 681, 314, 470, -28, 952, 240, |
| 108876 | /* 320 */ 945, 907, 904, 878, 835, 825, 79, 112, 205, 804, |
| 108877 | /* 330 */ 297, 1230, 1226, 1204, 1083, 1207, 1153, 1184, 1197, 1183, |
| 108878 | /* 340 */ 1071, 1125, 1069, 1089, 1076, 1169, 1072, 1156, 1155, 1033, |
| 108879 | /* 350 */ 1132, 1129, 1125, 1127, 1019, 1068, 1050, 1020, 1098, 1088, |
| 108880 | /* 360 */ 1002, 1114, 1078, 1060, 971, 934, 1018, 1039, 1016, 1000, |
| 108881 | /* 370 */ 1011, 947, 1025, 1026, 990, 897, 938, 982, 936, 963, |
| 108882 | /* 380 */ 961, 957, 950, 876, 935, 914, 862, 871, 901, 899, |
| 108883 | /* 390 */ 780, 866, 801, 759, 593, 733, 734, 824, 728, 733, |
| 108884 | /* 400 */ 649, 541, 683, 529, 506, 508, 484, 450, 335, 232, |
| 108885 | /* 410 */ 302, 276, 265, 210, 92, 78, 151, 113, 33, 28, |
| 108886 | }; |
| 108887 | #define YY_REDUCE_USE_DFLT (-169) |
| 108888 | #define YY_REDUCE_COUNT (311) |
| 108889 | #define YY_REDUCE_MIN (-168) |
| 108890 | #define YY_REDUCE_MAX (1394) |
| 108891 | static const short yy_reduce_ofst[] = { |
| 108892 | /* 0 */ 485, 90, 1095, 222, 156, 19, 17, -49, 10, 322, |
| 108893 | /* 10 */ 316, 311, 306, 225, 180, -51, 457, 242, 380, 1213, |
| 108894 | /* 20 */ 1181, 1177, 1175, 1128, 1106, 1096, 1054, 1038, 980, 974, |
| 108895 | /* 30 */ 964, 962, 948, 905, 903, 900, 887, 874, 829, 826, |
| 108896 | /* 40 */ 816, 813, 800, 752, 742, 739, 726, 678, 668, 665, |
| 108897 | /* 50 */ 652, 612, 610, 594, 591, 578, 537, 527, 521, 517, |
| 108898 | /* 60 */ 444, 318, 437, 449, 443, 154, -168, 141, 406, 551, |
| 108899 | /* 70 */ 551, 551, 551, 551, 551, 551, 551, 551, 551, 551, |
| 108900 | /* 80 */ 551, 551, 551, 551, 551, 551, 551, 551, 551, 551, |
| 108901 | /* 90 */ 551, 551, 551, 551, 551, 551, 551, 551, 551, 551, |
| 108902 | /* 100 */ 551, 551, 551, 551, 551, 551, 551, 1074, 534, 1040, |
| 108903 | /* 110 */ 993, 967, 966, 845, 740, 758, 756, 746, 239, 744, |
| 108904 | /* 120 */ 672, 611, 73, -119, 48, 670, 669, 666, 592, 533, |
| 108905 | /* 130 */ 701, 627, 587, 551, 551, 551, 551, 551, 667, 375, |
| 108906 | /* 140 */ 854, 817, 992, 1286, 1282, 1273, 1261, 687, 687, 1259, |
| 108907 | /* 150 */ 1250, 1248, 1245, 1242, 1234, 1225, 1218, 1214, 1212, 1202, |
| 108908 | /* 160 */ 1195, 1191, 1161, 1158, 1140, 1135, 1123, 1112, 1107, 1085, |
| 108909 | /* 170 */ 1080, 1067, 1051, 1048, 1044, 992, 969, 968, 893, 892, |
| 108910 | /* 180 */ 891, 657, 583, 245, 544, 811, 807, 737, 609, 469, |
| 108911 | /* 190 */ 342, 1385, 1384, 1374, 1373, 1365, 1372, 1371, 1368, 1340, |
| 108912 | /* 200 */ 1360, 1361, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1315, |
| 108913 | /* 210 */ 1314, 1360, 1360, 1340, 1380, 1348, 1394, 1346, 1334, 1330, |
| 108914 | /* 220 */ 1302, 1339, 1301, 1359, 1345, 1369, 1358, 1366, 1355, 1338, |
| 108915 | /* 230 */ 1350, 1328, 1295, 1299, 1297, 1354, 1327, 1322, 1364, 1272, |
| 108916 | /* 240 */ 1357, 1356, 1271, 1269, 1353, 1290, 1318, 1307, 1313, 1312, |
| 108917 | /* 250 */ 1311, 1308, 1344, 1343, 1296, 1276, 1303, 1300, 1333, 1332, |
| 108918 | /* 260 */ 1251, 1249, 1326, 1325, 1324, 1320, 1323, 1319, 1317, 1285, |
| 108919 | /* 270 */ 1291, 1293, 1292, 1289, 1283, 1235, 1232, 1279, 1281, 1275, |
| 108920 | /* 280 */ 1274, 1252, 1270, 1262, 1203, 1196, 1201, 1192, 1180, 1159, |
| 108921 | /* 290 */ 1231, 1215, 1145, 1162, 1136, 1134, 1157, 1117, 1121, 1144, |
| 108922 | /* 300 */ 1141, 1133, 1138, 1119, 1116, 1094, 1015, 999, 994, 1059, |
| 108923 | /* 310 */ 1057, 1073, |
| 108924 | }; |
| 108925 | static const YYACTIONTYPE yy_default[] = { |
| 108926 | /* 0 */ 635, 869, 957, 957, 869, 869, 957, 957, 722, 759, |
| 108927 | /* 10 */ 957, 957, 957, 867, 957, 957, 787, 787, 931, 957, |
| 108928 | /* 20 */ 957, 957, 957, 957, 957, 957, 957, 957, 957, 957, |
| 108929 | /* 30 */ 957, 957, 957, 957, 957, 957, 957, 957, 957, 957, |
| 108930 | /* 40 */ 957, 957, 957, 957, 957, 957, 957, 957, 957, 957, |
| 108931 | /* 50 */ 957, 957, 957, 957, 957, 957, 957, 957, 957, 957, |
| 108932 | /* 60 */ 957, 957, 957, 957, 957, 957, 957, 674, 763, 793, |
| 108933 | /* 70 */ 957, 957, 957, 957, 957, 957, 957, 957, 930, 932, |
| 108934 | /* 80 */ 801, 800, 910, 774, 798, 791, 795, 870, 863, 864, |
| 108935 | /* 90 */ 862, 866, 871, 957, 794, 830, 847, 829, 841, 846, |
| 108936 | /* 100 */ 853, 845, 842, 832, 831, 833, 834, 957, 957, 957, |
| 108937 | /* 110 */ 957, 957, 957, 957, 957, 957, 957, 957, 957, 957, |
| 108938 | /* 120 */ 957, 957, 957, 661, 728, 957, 957, 957, 957, 957, |
| 108939 | /* 130 */ 957, 957, 957, 835, 836, 850, 849, 848, 957, 666, |
| 108940 | /* 140 */ 957, 957, 957, 957, 957, 957, 957, 957, 957, 957, |
| 108941 | /* 150 */ 937, 935, 957, 882, 957, 957, 957, 957, 957, 957, |
| 108942 | /* 160 */ 957, 957, 957, 957, 957, 957, 957, 957, 957, 957, |
| 108943 | /* 170 */ 957, 957, 957, 957, 957, 957, 957, 957, 957, 957, |
| 108944 | /* 180 */ 641, 759, 759, 759, 635, 957, 957, 957, 949, 763, |
| 108945 | /* 190 */ 753, 957, 957, 957, 957, 718, 957, 957, 957, 957, |
| 108946 | /* 200 */ 957, 957, 957, 957, 957, 803, 742, 920, 922, 957, |
| 108947 | /* 210 */ 903, 740, 663, 761, 676, 751, 643, 797, 776, 776, |
| 108948 | /* 220 */ 915, 797, 915, 699, 722, 957, 787, 957, 787, 696, |
| 108949 | /* 230 */ 787, 776, 865, 957, 957, 957, 760, 751, 957, 942, |
| 108950 | /* 240 */ 767, 767, 934, 934, 767, 809, 732, 797, 739, 739, |
| 108951 | /* 250 */ 739, 739, 767, 658, 797, 809, 732, 732, 767, 658, |
| 108952 | /* 260 */ 909, 907, 767, 767, 658, 767, 658, 767, 658, 722, |
| 108953 | /* 270 */ 875, 730, 730, 730, 714, 879, 879, 875, 730, 699, |
| 108954 | /* 280 */ 730, 714, 730, 730, 780, 775, 780, 775, 780, 775, |
| 108955 | /* 290 */ 767, 767, 957, 792, 781, 790, 788, 797, 957, 717, |
| 108956 | /* 300 */ 651, 651, 640, 640, 640, 640, 954, 954, 949, 701, |
| 108957 | /* 310 */ 701, 684, 957, 957, 957, 957, 957, 957, 957, 884, |
| 108958 | /* 320 */ 957, 957, 957, 957, 957, 957, 957, 957, 957, 957, |
| 108959 | /* 330 */ 957, 957, 636, 944, 957, 957, 941, 957, 957, 957, |
| 108960 | /* 340 */ 957, 802, 957, 957, 957, 957, 957, 957, 957, 957, |
| 108961 | /* 350 */ 957, 957, 919, 957, 957, 957, 957, 957, 957, 957, |
| 108962 | /* 360 */ 913, 957, 957, 957, 957, 957, 957, 906, 905, 957, |
| 108963 | /* 370 */ 957, 957, 957, 957, 957, 957, 957, 957, 957, 957, |
| 108964 | /* 380 */ 957, 957, 957, 957, 957, 957, 957, 957, 957, 957, |
| 108965 | /* 390 */ 957, 957, 957, 957, 957, 789, 957, 782, 957, 868, |
| 108966 | /* 400 */ 957, 957, 957, 957, 957, 957, 957, 957, 957, 957, |
| 108967 | /* 410 */ 745, 818, 957, 817, 821, 816, 668, 957, 649, 957, |
| 108968 | /* 420 */ 632, 637, 953, 956, 955, 952, 951, 950, 945, 943, |
| 108969 | /* 430 */ 940, 939, 938, 936, 933, 929, 888, 886, 893, 892, |
| 108970 | /* 440 */ 891, 890, 889, 887, 885, 883, 804, 799, 796, 928, |
| 108971 | /* 450 */ 881, 741, 738, 737, 657, 946, 912, 921, 808, 807, |
| 108972 | /* 460 */ 810, 918, 917, 916, 914, 911, 898, 806, 805, 733, |
| 108973 | /* 470 */ 873, 872, 660, 902, 901, 900, 904, 908, 899, 769, |
| 108974 | /* 480 */ 659, 656, 665, 721, 723, 719, 729, 727, 726, 725, |
| 108975 | /* 490 */ 724, 720, 667, 675, 713, 698, 697, 878, 880, 877, |
| 108976 | /* 500 */ 876, 706, 705, 711, 710, 709, 708, 707, 704, 703, |
| 108977 | /* 510 */ 702, 695, 694, 700, 693, 716, 715, 712, 692, 736, |
| 108978 | /* 520 */ 735, 734, 731, 691, 690, 689, 821, 688, 687, 827, |
| 108979 | /* 530 */ 826, 814, 857, 756, 755, 754, 766, 765, 778, 777, |
| 108980 | /* 540 */ 812, 811, 779, 764, 758, 757, 773, 772, 771, 770, |
| 108981 | /* 550 */ 762, 752, 784, 786, 785, 783, 859, 768, 856, 927, |
| 108982 | /* 560 */ 926, 925, 924, 923, 861, 860, 828, 825, 679, 680, |
| 108983 | /* 570 */ 896, 895, 897, 894, 682, 681, 678, 677, 858, 747, |
| 108984 | /* 580 */ 746, 854, 851, 843, 839, 855, 852, 844, 840, 838, |
| 108985 | /* 590 */ 837, 823, 822, 820, 819, 815, 824, 670, 748, 744, |
| 108986 | /* 600 */ 743, 813, 750, 749, 686, 685, 683, 664, 662, 655, |
| 108987 | /* 610 */ 653, 652, 654, 650, 648, 647, 646, 645, 644, 673, |
| 108988 | /* 620 */ 672, 671, 669, 668, 642, 639, 638, 634, 633, 631, |
| 108989 | }; |
| 108990 | |
| 108991 | /* The next table maps tokens into fallback tokens. If a construct |
| 108992 | ** like the following: |
| 108993 | ** |
| @@ -109189,11 +109187,11 @@ | |
| 109189 | "carglist", "id", "ids", "typetoken", |
| 109190 | "typename", "signed", "plus_num", "minus_num", |
| 109191 | "ccons", "term", "expr", "onconf", |
| 109192 | "sortorder", "autoinc", "idxlist_opt", "refargs", |
| 109193 | "defer_subclause", "refarg", "refact", "init_deferred_pred_opt", |
| 109194 | "conslist", "cname", "tcons", "idxlist", |
| 109195 | "defer_subclause_opt", "orconf", "resolvetype", "raisetype", |
| 109196 | "ifexists", "fullname", "oneselect", "multiselect_op", |
| 109197 | "distinct", "selcollist", "from", "where_opt", |
| 109198 | "groupby_opt", "having_opt", "orderby_opt", "limit_opt", |
| 109199 | "sclp", "as", "seltablist", "stl_prefix", |
| @@ -109301,16 +109299,16 @@ | |
| 109301 | /* 83 */ "defer_subclause ::= DEFERRABLE init_deferred_pred_opt", |
| 109302 | /* 84 */ "init_deferred_pred_opt ::=", |
| 109303 | /* 85 */ "init_deferred_pred_opt ::= INITIALLY DEFERRED", |
| 109304 | /* 86 */ "init_deferred_pred_opt ::= INITIALLY IMMEDIATE", |
| 109305 | /* 87 */ "conslist_opt ::=", |
| 109306 | /* 88 */ "conslist_opt ::= COMMA conslist cname", |
| 109307 | /* 89 */ "conslist ::= conslist COMMA cname tcons", |
| 109308 | /* 90 */ "conslist ::= conslist cname tcons", |
| 109309 | /* 91 */ "conslist ::= cname tcons", |
| 109310 | /* 92 */ "cname ::=", |
| 109311 | /* 93 */ "cname ::= CONSTRAINT nm", |
| 109312 | /* 94 */ "tcons ::= PRIMARY KEY LP idxlist autoinc RP onconf", |
| 109313 | /* 95 */ "tcons ::= UNIQUE LP idxlist RP onconf", |
| 109314 | /* 96 */ "tcons ::= CHECK LP expr RP onconf", |
| 109315 | /* 97 */ "tcons ::= FOREIGN KEY LP idxlist RP REFERENCES nm idxlist_opt refargs defer_subclause_opt", |
| 109316 | /* 98 */ "defer_subclause_opt ::=", |
| @@ -110020,16 +110018,16 @@ | |
| 110020 | { 180, 2 }, |
| 110021 | { 183, 0 }, |
| 110022 | { 183, 2 }, |
| 110023 | { 183, 2 }, |
| 110024 | { 159, 0 }, |
| 110025 | { 159, 3 }, |
| 110026 | { 184, 4 }, |
| 110027 | { 184, 3 }, |
| 110028 | { 184, 2 }, |
| 110029 | { 185, 0 }, |
| 110030 | { 185, 2 }, |
| 110031 | { 186, 7 }, |
| 110032 | { 186, 5 }, |
| 110033 | { 186, 5 }, |
| 110034 | { 186, 10 }, |
| 110035 | { 188, 0 }, |
| @@ -110463,11 +110461,11 @@ | |
| 110463 | break; |
| 110464 | case 50: /* typename ::= typename ids */ |
| 110465 | {yygotominor.yy0.z=yymsp[-1].minor.yy0.z; yygotominor.yy0.n=yymsp[0].minor.yy0.n+(int)(yymsp[0].minor.yy0.z-yymsp[-1].minor.yy0.z);} |
| 110466 | break; |
| 110467 | case 55: /* ccons ::= CONSTRAINT nm */ |
| 110468 | case 93: /* cname ::= CONSTRAINT nm */ yytestcase(yyruleno==93); |
| 110469 | {pParse->constraintName = yymsp[0].minor.yy0;} |
| 110470 | break; |
| 110471 | case 56: /* ccons ::= DEFAULT term */ |
| 110472 | case 58: /* ccons ::= DEFAULT PLUS term */ yytestcase(yyruleno==58); |
| 110473 | {sqlite3AddDefaultValue(pParse,&yymsp[0].minor.yy342);} |
| @@ -110550,14 +110548,14 @@ | |
| 110550 | {yygotominor.yy392 = yymsp[0].minor.yy392;} |
| 110551 | break; |
| 110552 | case 87: /* conslist_opt ::= */ |
| 110553 | {yygotominor.yy0.n = 0; yygotominor.yy0.z = 0;} |
| 110554 | break; |
| 110555 | case 88: /* conslist_opt ::= COMMA conslist cname */ |
| 110556 | {yygotominor.yy0 = yymsp[-2].minor.yy0;} |
| 110557 | break; |
| 110558 | case 92: /* cname ::= */ |
| 110559 | {pParse->constraintName.n = 0;} |
| 110560 | break; |
| 110561 | case 94: /* tcons ::= PRIMARY KEY LP idxlist autoinc RP onconf */ |
| 110562 | {sqlite3AddPrimaryKey(pParse,yymsp[-3].minor.yy442,yymsp[0].minor.yy392,yymsp[-2].minor.yy392,0);} |
| 110563 | break; |
| @@ -111426,13 +111424,13 @@ | |
| 111426 | /* (51) signed ::= plus_num */ yytestcase(yyruleno==51); |
| 111427 | /* (52) signed ::= minus_num */ yytestcase(yyruleno==52); |
| 111428 | /* (53) carglist ::= carglist ccons */ yytestcase(yyruleno==53); |
| 111429 | /* (54) carglist ::= */ yytestcase(yyruleno==54); |
| 111430 | /* (61) ccons ::= NULL onconf */ yytestcase(yyruleno==61); |
| 111431 | /* (89) conslist ::= conslist COMMA cname tcons */ yytestcase(yyruleno==89); |
| 111432 | /* (90) conslist ::= conslist cname tcons */ yytestcase(yyruleno==90); |
| 111433 | /* (91) conslist ::= cname tcons */ yytestcase(yyruleno==91); |
| 111434 | /* (277) foreach_clause ::= */ yytestcase(yyruleno==277); |
| 111435 | /* (278) foreach_clause ::= FOR EACH ROW */ yytestcase(yyruleno==278); |
| 111436 | /* (285) tridxby ::= */ yytestcase(yyruleno==285); |
| 111437 | /* (303) database_kw_opt ::= DATABASE */ yytestcase(yyruleno==303); |
| 111438 | /* (304) database_kw_opt ::= */ yytestcase(yyruleno==304); |
| @@ -117371,11 +117369,11 @@ | |
| 117371 | |
| 117372 | SQLITE_PRIVATE int sqlite3Fts3MsrIncrStart( |
| 117373 | Fts3Table*, Fts3MultiSegReader*, int, const char*, int); |
| 117374 | SQLITE_PRIVATE int sqlite3Fts3MsrIncrNext( |
| 117375 | Fts3Table *, Fts3MultiSegReader *, sqlite3_int64 *, char **, int *); |
| 117376 | SQLITE_PRIVATE char *sqlite3Fts3EvalPhrasePoslist(Fts3Cursor *, Fts3Expr *, int iCol); |
| 117377 | SQLITE_PRIVATE int sqlite3Fts3MsrOvfl(Fts3Cursor *, Fts3MultiSegReader *, int *); |
| 117378 | SQLITE_PRIVATE int sqlite3Fts3MsrIncrRestart(Fts3MultiSegReader *pCsr); |
| 117379 | |
| 117380 | SQLITE_PRIVATE int sqlite3Fts3DeferredTokenList(Fts3DeferredToken *, char **, int *); |
| 117381 | |
| @@ -121036,11 +121034,11 @@ | |
| 121036 | int bDescIdx, /* True if the doclist is desc */ |
| 121037 | char *aDoclist, /* Pointer to entire doclist */ |
| 121038 | int nDoclist, /* Length of aDoclist in bytes */ |
| 121039 | char **ppIter, /* IN/OUT: Iterator pointer */ |
| 121040 | sqlite3_int64 *piDocid, /* IN/OUT: Docid pointer */ |
| 121041 | int *pnList, /* IN/OUT: List length pointer */ |
| 121042 | u8 *pbEof /* OUT: End-of-file flag */ |
| 121043 | ){ |
| 121044 | char *p = *ppIter; |
| 121045 | |
| 121046 | assert( nDoclist>0 ); |
| @@ -121082,10 +121080,45 @@ | |
| 121082 | *pnList = (int)(pSave - p); |
| 121083 | } |
| 121084 | *ppIter = p; |
| 121085 | } |
| 121086 | } |
| 121087 | |
| 121088 | /* |
| 121089 | ** Attempt to move the phrase iterator to point to the next matching docid. |
| 121090 | ** If an error occurs, return an SQLite error code. Otherwise, return |
| 121091 | ** SQLITE_OK. |
| @@ -122238,30 +122271,91 @@ | |
| 122238 | ** 0x04 0x05 0x03 0x01 or 0x04 0x05 0x03 0x00 |
| 122239 | ** |
| 122240 | ** This function works regardless of whether or not the phrase is deferred, |
| 122241 | ** incremental, or neither. |
| 122242 | */ |
| 122243 | SQLITE_PRIVATE char *sqlite3Fts3EvalPhrasePoslist( |
| 122244 | Fts3Cursor *pCsr, /* FTS3 cursor object */ |
| 122245 | Fts3Expr *pExpr, /* Phrase to return doclist for */ |
| 122246 | int iCol /* Column to return position list for */ |
| 122247 | ){ |
| 122248 | Fts3Phrase *pPhrase = pExpr->pPhrase; |
| 122249 | Fts3Table *pTab = (Fts3Table *)pCsr->base.pVtab; |
| 122250 | char *pIter = pPhrase->doclist.pList; |
| 122251 | int iThis; |
| 122252 | |
| 122253 | assert( iCol>=0 && iCol<pTab->nColumn ); |
| 122254 | if( !pIter |
| 122255 | || pExpr->bEof |
| 122256 | || pExpr->iDocid!=pCsr->iPrevId |
| 122257 | || (pPhrase->iColumn<pTab->nColumn && pPhrase->iColumn!=iCol) |
| 122258 | ){ |
| 122259 | return 0; |
| 122260 | } |
| 122261 | |
| 122262 | assert( pPhrase->doclist.nList>0 ); |
| 122263 | if( *pIter==0x01 ){ |
| 122264 | pIter++; |
| 122265 | pIter += sqlite3Fts3GetVarint32(pIter, &iThis); |
| 122266 | }else{ |
| 122267 | iThis = 0; |
| @@ -122271,11 +122365,12 @@ | |
| 122271 | if( *pIter==0x00 ) return 0; |
| 122272 | pIter++; |
| 122273 | pIter += sqlite3Fts3GetVarint32(pIter, &iThis); |
| 122274 | } |
| 122275 | |
| 122276 | return ((iCol==iThis)?pIter:0); |
| 122277 | } |
| 122278 | |
| 122279 | /* |
| 122280 | ** Free all components of the Fts3Phrase structure that were allocated by |
| 122281 | ** the eval module. Specifically, this means to free: |
| @@ -131318,14 +131413,15 @@ | |
| 131318 | */ |
| 131319 | static int fts3SnippetFindPositions(Fts3Expr *pExpr, int iPhrase, void *ctx){ |
| 131320 | SnippetIter *p = (SnippetIter *)ctx; |
| 131321 | SnippetPhrase *pPhrase = &p->aPhrase[iPhrase]; |
| 131322 | char *pCsr; |
| 131323 | |
| 131324 | pPhrase->nToken = pExpr->pPhrase->nToken; |
| 131325 | |
| 131326 | pCsr = sqlite3Fts3EvalPhrasePoslist(p->pCsr, pExpr, p->iCol); |
| 131327 | if( pCsr ){ |
| 131328 | int iFirst = 0; |
| 131329 | pPhrase->pList = pCsr; |
| 131330 | fts3GetDeltaPosition(&pCsr, &iFirst); |
| 131331 | assert( iFirst>=0 ); |
| @@ -131332,14 +131428,16 @@ | |
| 131332 | pPhrase->pHead = pCsr; |
| 131333 | pPhrase->pTail = pCsr; |
| 131334 | pPhrase->iHead = iFirst; |
| 131335 | pPhrase->iTail = iFirst; |
| 131336 | }else{ |
| 131337 | assert( pPhrase->pList==0 && pPhrase->pHead==0 && pPhrase->pTail==0 ); |
| 131338 | } |
| 131339 | |
| 131340 | return SQLITE_OK; |
| 131341 | } |
| 131342 | |
| 131343 | /* |
| 131344 | ** Select the fragment of text consisting of nFragment contiguous tokens |
| 131345 | ** from column iCol that represent the "best" snippet. The best snippet |
| @@ -131728,25 +131826,26 @@ | |
| 131728 | static int fts3ExprLocalHitsCb( |
| 131729 | Fts3Expr *pExpr, /* Phrase expression node */ |
| 131730 | int iPhrase, /* Phrase number */ |
| 131731 | void *pCtx /* Pointer to MatchInfo structure */ |
| 131732 | ){ |
| 131733 | MatchInfo *p = (MatchInfo *)pCtx; |
| 131734 | int iStart = iPhrase * p->nCol * 3; |
| 131735 | int i; |
| 131736 | |
| 131737 | for(i=0; i<p->nCol; i++){ |
| 131738 | char *pCsr; |
| 131739 | pCsr = sqlite3Fts3EvalPhrasePoslist(p->pCursor, pExpr, i); |
| 131740 | if( pCsr ){ |
| 131741 | p->aMatchinfo[iStart+i*3] = fts3ColumnlistCount(&pCsr); |
| 131742 | }else{ |
| 131743 | p->aMatchinfo[iStart+i*3] = 0; |
| 131744 | } |
| 131745 | } |
| 131746 | |
| 131747 | return SQLITE_OK; |
| 131748 | } |
| 131749 | |
| 131750 | static int fts3MatchinfoCheck( |
| 131751 | Fts3Table *pTab, |
| 131752 | char cArg, |
| @@ -131903,12 +132002,14 @@ | |
| 131903 | for(iCol=0; iCol<pInfo->nCol; iCol++){ |
| 131904 | int nLcs = 0; /* LCS value for this column */ |
| 131905 | int nLive = 0; /* Number of iterators in aIter not at EOF */ |
| 131906 | |
| 131907 | for(i=0; i<pInfo->nPhrase; i++){ |
| 131908 | LcsIterator *pIt = &aIter[i]; |
| 131909 | pIt->pRead = sqlite3Fts3EvalPhrasePoslist(pCsr, pIt->pExpr, iCol); |
| 131910 | if( pIt->pRead ){ |
| 131911 | pIt->iPos = pIt->iPosOffset; |
| 131912 | fts3LcsIteratorAdvance(&aIter[i]); |
| 131913 | nLive++; |
| 131914 | } |
| @@ -132256,13 +132357,14 @@ | |
| 132256 | TermOffsetCtx *p = (TermOffsetCtx *)ctx; |
| 132257 | int nTerm; /* Number of tokens in phrase */ |
| 132258 | int iTerm; /* For looping through nTerm phrase terms */ |
| 132259 | char *pList; /* Pointer to position list for phrase */ |
| 132260 | int iPos = 0; /* First position in position-list */ |
| 132261 | |
| 132262 | UNUSED_PARAMETER(iPhrase); |
| 132263 | pList = sqlite3Fts3EvalPhrasePoslist(p->pCsr, pExpr, p->iCol); |
| 132264 | nTerm = pExpr->pPhrase->nToken; |
| 132265 | if( pList ){ |
| 132266 | fts3GetDeltaPosition(&pList, &iPos); |
| 132267 | assert( iPos>=0 ); |
| 132268 | } |
| @@ -132272,11 +132374,11 @@ | |
| 132272 | pT->iOff = nTerm-iTerm-1; |
| 132273 | pT->pList = pList; |
| 132274 | pT->iPos = iPos; |
| 132275 | } |
| 132276 | |
| 132277 | return SQLITE_OK; |
| 132278 | } |
| 132279 | |
| 132280 | /* |
| 132281 | ** Implementation of offsets() function. |
| 132282 | */ |
| 132283 |
| --- src/sqlite3.c | |
| +++ src/sqlite3.c | |
| @@ -657,11 +657,11 @@ | |
| 657 | ** [sqlite3_libversion_number()], [sqlite3_sourceid()], |
| 658 | ** [sqlite_version()] and [sqlite_source_id()]. |
| 659 | */ |
| 660 | #define SQLITE_VERSION "3.7.12" |
| 661 | #define SQLITE_VERSION_NUMBER 3007012 |
| 662 | #define SQLITE_SOURCE_ID "2012-05-12 18:29:53 e536ac041815b118c461ceee798f9b7283269f58" |
| 663 | |
| 664 | /* |
| 665 | ** CAPI3REF: Run-Time Library Version Numbers |
| 666 | ** KEYWORDS: sqlite3_version, sqlite3_sourceid |
| 667 | ** |
| @@ -6563,11 +6563,11 @@ | |
| 6563 | ** been written to disk. Specifically, the number of pages written to the |
| 6564 | ** wal file in wal mode databases, or the number of pages written to the |
| 6565 | ** database file in rollback mode databases. Any pages written as part of |
| 6566 | ** transaction rollback or database recovery operations are not included. |
| 6567 | ** If an IO or other error occurs while writing a page to disk, the effect |
| 6568 | ** on subsequent SQLITE_DBSTATUS_CACHE_WRITE requests is undefined.)^ ^The |
| 6569 | ** highwater mark associated with SQLITE_DBSTATUS_CACHE_WRITE is always 0. |
| 6570 | ** </dd> |
| 6571 | ** </dl> |
| 6572 | */ |
| 6573 | #define SQLITE_DBSTATUS_LOOKASIDE_USED 0 |
| @@ -104675,11 +104675,10 @@ | |
| 104675 | if( pIdx->onError!=OE_None && i==pIdx->nColumn |
| 104676 | && (wsFlags & WHERE_COLUMN_NULL)==0 |
| 104677 | && !referencesOtherTables(pOrderBy, pMaskSet, j, base) |
| 104678 | ){ |
| 104679 | Column *aCol = pIdx->pTable->aCol; |
| 104680 | |
| 104681 | /* All terms of this index match some prefix of the ORDER BY clause, |
| 104682 | ** the index is UNIQUE, and no terms on the tail of the ORDER BY |
| 104683 | ** refer to other tables in a join. So, assuming that the index entries |
| 104684 | ** visited contain no NULL values, then this index delivers rows in |
| @@ -108444,11 +108443,11 @@ | |
| 108443 | #endif |
| 108444 | #define sqlite3ParserARG_SDECL Parse *pParse; |
| 108445 | #define sqlite3ParserARG_PDECL ,Parse *pParse |
| 108446 | #define sqlite3ParserARG_FETCH Parse *pParse = yypParser->pParse |
| 108447 | #define sqlite3ParserARG_STORE yypParser->pParse = pParse |
| 108448 | #define YYNSTATE 627 |
| 108449 | #define YYNRULE 327 |
| 108450 | #define YYFALLBACK 1 |
| 108451 | #define YY_NO_ACTION (YYNSTATE+YYNRULE+2) |
| 108452 | #define YY_ACCEPT_ACTION (YYNSTATE+YYNRULE+1) |
| 108453 | #define YY_ERROR_ACTION (YYNSTATE+YYNRULE) |
| @@ -108515,479 +108514,478 @@ | |
| 108514 | ** shifting terminals. |
| 108515 | ** yy_reduce_ofst[] For each state, the offset into yy_action for |
| 108516 | ** shifting non-terminals after a reduce. |
| 108517 | ** yy_default[] Default action for each state. |
| 108518 | */ |
| 108519 | #define YY_ACTTAB_COUNT (1564) |
| 108520 | static const YYACTIONTYPE yy_action[] = { |
| 108521 | /* 0 */ 309, 955, 184, 417, 2, 171, 624, 594, 56, 56, |
| 108522 | /* 10 */ 56, 56, 49, 54, 54, 54, 54, 53, 53, 52, |
| 108523 | /* 20 */ 52, 52, 51, 233, 620, 619, 298, 620, 619, 234, |
| 108524 | /* 30 */ 587, 581, 56, 56, 56, 56, 19, 54, 54, 54, |
| 108525 | /* 40 */ 54, 53, 53, 52, 52, 52, 51, 233, 605, 57, |
| 108526 | /* 50 */ 58, 48, 579, 578, 580, 580, 55, 55, 56, 56, |
| 108527 | /* 60 */ 56, 56, 541, 54, 54, 54, 54, 53, 53, 52, |
| 108528 | /* 70 */ 52, 52, 51, 233, 309, 594, 325, 196, 195, 194, |
| 108529 | /* 80 */ 33, 54, 54, 54, 54, 53, 53, 52, 52, 52, |
| 108530 | /* 90 */ 51, 233, 617, 616, 165, 617, 616, 380, 377, 376, |
| 108531 | /* 100 */ 407, 532, 576, 576, 587, 581, 303, 422, 375, 59, |
| 108532 | /* 110 */ 53, 53, 52, 52, 52, 51, 233, 50, 47, 146, |
| 108533 | /* 120 */ 574, 545, 65, 57, 58, 48, 579, 578, 580, 580, |
| 108534 | /* 130 */ 55, 55, 56, 56, 56, 56, 213, 54, 54, 54, |
| 108535 | /* 140 */ 54, 53, 53, 52, 52, 52, 51, 233, 309, 223, |
| 108536 | /* 150 */ 539, 420, 170, 176, 138, 280, 383, 275, 382, 168, |
| 108537 | /* 160 */ 489, 551, 409, 668, 620, 619, 271, 438, 409, 438, |
| 108538 | /* 170 */ 550, 604, 67, 482, 507, 618, 599, 412, 587, 581, |
| 108539 | /* 180 */ 600, 483, 618, 412, 618, 598, 91, 439, 440, 439, |
| 108540 | /* 190 */ 335, 598, 73, 669, 222, 266, 480, 57, 58, 48, |
| 108541 | /* 200 */ 579, 578, 580, 580, 55, 55, 56, 56, 56, 56, |
| 108542 | /* 210 */ 670, 54, 54, 54, 54, 53, 53, 52, 52, 52, |
| 108543 | /* 220 */ 51, 233, 309, 279, 232, 231, 1, 132, 200, 385, |
| 108544 | /* 230 */ 620, 619, 617, 616, 278, 435, 289, 563, 175, 262, |
| 108545 | /* 240 */ 409, 264, 437, 497, 436, 166, 441, 568, 336, 568, |
| 108546 | /* 250 */ 201, 537, 587, 581, 599, 412, 165, 594, 600, 380, |
| 108547 | /* 260 */ 377, 376, 597, 598, 92, 523, 618, 569, 569, 592, |
| 108548 | /* 270 */ 375, 57, 58, 48, 579, 578, 580, 580, 55, 55, |
| 108549 | /* 280 */ 56, 56, 56, 56, 597, 54, 54, 54, 54, 53, |
| 108550 | /* 290 */ 53, 52, 52, 52, 51, 233, 309, 463, 617, 616, |
| 108551 | /* 300 */ 590, 590, 590, 174, 272, 396, 409, 272, 409, 548, |
| 108552 | /* 310 */ 397, 620, 619, 68, 326, 620, 619, 620, 619, 618, |
| 108553 | /* 320 */ 546, 412, 618, 412, 471, 594, 587, 581, 472, 598, |
| 108554 | /* 330 */ 92, 598, 92, 52, 52, 52, 51, 233, 513, 512, |
| 108555 | /* 340 */ 206, 322, 363, 464, 221, 57, 58, 48, 579, 578, |
| 108556 | /* 350 */ 580, 580, 55, 55, 56, 56, 56, 56, 529, 54, |
| 108557 | /* 360 */ 54, 54, 54, 53, 53, 52, 52, 52, 51, 233, |
| 108558 | /* 370 */ 309, 396, 409, 396, 597, 372, 386, 530, 347, 617, |
| 108559 | /* 380 */ 616, 575, 202, 617, 616, 617, 616, 412, 620, 619, |
| 108560 | /* 390 */ 145, 255, 346, 254, 577, 598, 74, 351, 45, 489, |
| 108561 | /* 400 */ 587, 581, 235, 189, 464, 544, 167, 296, 187, 469, |
| 108562 | /* 410 */ 479, 67, 62, 39, 618, 546, 597, 345, 573, 57, |
| 108563 | /* 420 */ 58, 48, 579, 578, 580, 580, 55, 55, 56, 56, |
| 108564 | /* 430 */ 56, 56, 6, 54, 54, 54, 54, 53, 53, 52, |
| 108565 | /* 440 */ 52, 52, 51, 233, 309, 562, 558, 407, 528, 576, |
| 108566 | /* 450 */ 576, 344, 255, 346, 254, 182, 617, 616, 503, 504, |
| 108567 | /* 460 */ 314, 409, 557, 235, 166, 271, 409, 352, 564, 181, |
| 108568 | /* 470 */ 407, 546, 576, 576, 587, 581, 412, 537, 556, 561, |
| 108569 | /* 480 */ 517, 412, 618, 249, 598, 16, 7, 36, 467, 598, |
| 108570 | /* 490 */ 92, 516, 618, 57, 58, 48, 579, 578, 580, 580, |
| 108571 | /* 500 */ 55, 55, 56, 56, 56, 56, 541, 54, 54, 54, |
| 108572 | /* 510 */ 54, 53, 53, 52, 52, 52, 51, 233, 309, 327, |
| 108573 | /* 520 */ 572, 571, 525, 558, 560, 394, 871, 246, 409, 248, |
| 108574 | /* 530 */ 171, 392, 594, 219, 407, 409, 576, 576, 502, 557, |
| 108575 | /* 540 */ 364, 145, 510, 412, 407, 229, 576, 576, 587, 581, |
| 108576 | /* 550 */ 412, 598, 92, 381, 269, 556, 166, 400, 598, 69, |
| 108577 | /* 560 */ 501, 419, 945, 199, 945, 198, 546, 57, 58, 48, |
| 108578 | /* 570 */ 579, 578, 580, 580, 55, 55, 56, 56, 56, 56, |
| 108579 | /* 580 */ 568, 54, 54, 54, 54, 53, 53, 52, 52, 52, |
| 108580 | /* 590 */ 51, 233, 309, 317, 419, 944, 508, 944, 308, 597, |
| 108581 | /* 600 */ 594, 565, 490, 212, 173, 247, 423, 615, 614, 613, |
| 108582 | /* 610 */ 323, 197, 143, 405, 572, 571, 489, 66, 50, 47, |
| 108583 | /* 620 */ 146, 594, 587, 581, 232, 231, 559, 427, 67, 555, |
| 108584 | /* 630 */ 15, 618, 186, 543, 303, 421, 35, 206, 432, 423, |
| 108585 | /* 640 */ 552, 57, 58, 48, 579, 578, 580, 580, 55, 55, |
| 108586 | /* 650 */ 56, 56, 56, 56, 205, 54, 54, 54, 54, 53, |
| 108587 | /* 660 */ 53, 52, 52, 52, 51, 233, 309, 569, 569, 260, |
| 108588 | /* 670 */ 268, 597, 12, 373, 568, 166, 409, 313, 409, 420, |
| 108589 | /* 680 */ 409, 473, 473, 365, 618, 50, 47, 146, 597, 594, |
| 108590 | /* 690 */ 468, 412, 166, 412, 351, 412, 587, 581, 32, 598, |
| 108591 | /* 700 */ 94, 598, 97, 598, 95, 627, 625, 329, 142, 50, |
| 108592 | /* 710 */ 47, 146, 333, 349, 358, 57, 58, 48, 579, 578, |
| 108593 | /* 720 */ 580, 580, 55, 55, 56, 56, 56, 56, 409, 54, |
| 108594 | /* 730 */ 54, 54, 54, 53, 53, 52, 52, 52, 51, 233, |
| 108595 | /* 740 */ 309, 409, 388, 412, 409, 22, 565, 404, 212, 362, |
| 108596 | /* 750 */ 389, 598, 104, 359, 409, 156, 412, 409, 603, 412, |
| 108597 | /* 760 */ 537, 331, 569, 569, 598, 103, 493, 598, 105, 412, |
| 108598 | /* 770 */ 587, 581, 412, 260, 549, 618, 11, 598, 106, 521, |
| 108599 | /* 780 */ 598, 133, 169, 457, 456, 170, 35, 601, 618, 57, |
| 108600 | /* 790 */ 58, 48, 579, 578, 580, 580, 55, 55, 56, 56, |
| 108601 | /* 800 */ 56, 56, 409, 54, 54, 54, 54, 53, 53, 52, |
| 108602 | /* 810 */ 52, 52, 51, 233, 309, 409, 259, 412, 409, 50, |
| 108603 | /* 820 */ 47, 146, 357, 318, 355, 598, 134, 527, 352, 337, |
| 108604 | /* 830 */ 412, 409, 356, 412, 357, 409, 357, 618, 598, 98, |
| 108605 | /* 840 */ 129, 598, 102, 618, 587, 581, 412, 21, 235, 618, |
| 108606 | /* 850 */ 412, 618, 211, 143, 598, 101, 30, 167, 598, 93, |
| 108607 | /* 860 */ 350, 535, 203, 57, 58, 48, 579, 578, 580, 580, |
| 108608 | /* 870 */ 55, 55, 56, 56, 56, 56, 409, 54, 54, 54, |
| 108609 | /* 880 */ 54, 53, 53, 52, 52, 52, 51, 233, 309, 409, |
| 108610 | /* 890 */ 526, 412, 409, 425, 215, 305, 597, 551, 141, 598, |
| 108611 | /* 900 */ 100, 40, 409, 38, 412, 409, 550, 412, 409, 228, |
| 108612 | /* 910 */ 220, 314, 598, 77, 500, 598, 96, 412, 587, 581, |
| 108613 | /* 920 */ 412, 338, 253, 412, 218, 598, 137, 379, 598, 136, |
| 108614 | /* 930 */ 28, 598, 135, 270, 715, 210, 481, 57, 58, 48, |
| 108615 | /* 940 */ 579, 578, 580, 580, 55, 55, 56, 56, 56, 56, |
| 108616 | /* 950 */ 409, 54, 54, 54, 54, 53, 53, 52, 52, 52, |
| 108617 | /* 960 */ 51, 233, 309, 409, 272, 412, 409, 315, 147, 597, |
| 108618 | /* 970 */ 272, 626, 2, 598, 76, 209, 409, 127, 412, 618, |
| 108619 | /* 980 */ 126, 412, 409, 621, 235, 618, 598, 90, 374, 598, |
| 108620 | /* 990 */ 89, 412, 587, 581, 27, 260, 350, 412, 618, 598, |
| 108621 | /* 1000 */ 75, 321, 541, 541, 125, 598, 88, 320, 278, 597, |
| 108622 | /* 1010 */ 618, 57, 46, 48, 579, 578, 580, 580, 55, 55, |
| 108623 | /* 1020 */ 56, 56, 56, 56, 409, 54, 54, 54, 54, 53, |
| 108624 | /* 1030 */ 53, 52, 52, 52, 51, 233, 309, 409, 450, 412, |
| 108625 | /* 1040 */ 164, 284, 282, 272, 609, 424, 304, 598, 87, 370, |
| 108626 | /* 1050 */ 409, 477, 412, 409, 608, 409, 607, 602, 618, 618, |
| 108627 | /* 1060 */ 598, 99, 586, 585, 122, 412, 587, 581, 412, 618, |
| 108628 | /* 1070 */ 412, 618, 618, 598, 86, 366, 598, 17, 598, 85, |
| 108629 | /* 1080 */ 319, 185, 519, 518, 583, 582, 58, 48, 579, 578, |
| 108630 | /* 1090 */ 580, 580, 55, 55, 56, 56, 56, 56, 409, 54, |
| 108631 | /* 1100 */ 54, 54, 54, 53, 53, 52, 52, 52, 51, 233, |
| 108632 | /* 1110 */ 309, 584, 409, 412, 409, 260, 260, 260, 408, 591, |
| 108633 | /* 1120 */ 474, 598, 84, 170, 409, 466, 518, 412, 121, 412, |
| 108634 | /* 1130 */ 618, 618, 618, 618, 618, 598, 83, 598, 72, 412, |
| 108635 | /* 1140 */ 587, 581, 51, 233, 625, 329, 470, 598, 71, 257, |
| 108636 | /* 1150 */ 159, 120, 14, 462, 157, 158, 117, 260, 448, 447, |
| 108637 | /* 1160 */ 446, 48, 579, 578, 580, 580, 55, 55, 56, 56, |
| 108638 | /* 1170 */ 56, 56, 618, 54, 54, 54, 54, 53, 53, 52, |
| 108639 | /* 1180 */ 52, 52, 51, 233, 44, 403, 260, 3, 409, 459, |
| 108640 | /* 1190 */ 260, 413, 619, 118, 398, 10, 25, 24, 554, 348, |
| 108641 | /* 1200 */ 217, 618, 406, 412, 409, 618, 4, 44, 403, 618, |
| 108642 | /* 1210 */ 3, 598, 82, 618, 413, 619, 455, 542, 115, 412, |
| 108643 | /* 1220 */ 538, 401, 536, 274, 506, 406, 251, 598, 81, 216, |
| 108644 | /* 1230 */ 273, 563, 618, 243, 453, 618, 154, 618, 618, 618, |
| 108645 | /* 1240 */ 449, 416, 623, 110, 401, 618, 409, 236, 64, 123, |
| 108646 | /* 1250 */ 487, 41, 42, 531, 563, 204, 409, 267, 43, 411, |
| 108647 | /* 1260 */ 410, 412, 265, 592, 108, 618, 107, 434, 332, 598, |
| 108648 | /* 1270 */ 80, 412, 618, 263, 41, 42, 443, 618, 409, 598, |
| 108649 | /* 1280 */ 70, 43, 411, 410, 433, 261, 592, 149, 618, 597, |
| 108650 | /* 1290 */ 256, 237, 188, 412, 590, 590, 590, 589, 588, 13, |
| 108651 | /* 1300 */ 618, 598, 18, 328, 235, 618, 44, 403, 360, 3, |
| 108652 | /* 1310 */ 418, 461, 339, 413, 619, 227, 124, 590, 590, 590, |
| 108653 | /* 1320 */ 589, 588, 13, 618, 406, 409, 618, 409, 139, 34, |
| 108654 | /* 1330 */ 403, 387, 3, 148, 622, 312, 413, 619, 311, 330, |
| 108655 | /* 1340 */ 412, 460, 412, 401, 180, 353, 412, 406, 598, 79, |
| 108656 | /* 1350 */ 598, 78, 250, 563, 598, 9, 618, 612, 611, 610, |
| 108657 | /* 1360 */ 618, 8, 452, 442, 242, 415, 401, 618, 239, 235, |
| 108658 | /* 1370 */ 179, 238, 428, 41, 42, 288, 563, 618, 618, 618, |
| 108659 | /* 1380 */ 43, 411, 410, 618, 144, 592, 618, 618, 177, 61, |
| 108660 | /* 1390 */ 618, 596, 391, 620, 619, 287, 41, 42, 414, 618, |
| 108661 | /* 1400 */ 293, 30, 393, 43, 411, 410, 292, 618, 592, 31, |
| 108662 | /* 1410 */ 618, 395, 291, 60, 230, 37, 590, 590, 590, 589, |
| 108663 | /* 1420 */ 588, 13, 214, 553, 183, 290, 172, 301, 300, 299, |
| 108664 | /* 1430 */ 178, 297, 595, 563, 451, 29, 285, 390, 540, 590, |
| 108665 | /* 1440 */ 590, 590, 589, 588, 13, 283, 520, 534, 150, 533, |
| 108666 | /* 1450 */ 241, 281, 384, 192, 191, 324, 515, 514, 276, 240, |
| 108667 | /* 1460 */ 510, 523, 307, 511, 128, 592, 509, 225, 226, 486, |
| 108668 | /* 1470 */ 485, 224, 152, 491, 464, 306, 484, 163, 153, 371, |
| 108669 | /* 1480 */ 478, 151, 162, 258, 369, 161, 367, 208, 475, 476, |
| 108670 | /* 1490 */ 26, 160, 465, 140, 361, 131, 590, 590, 590, 116, |
| 108671 | /* 1500 */ 119, 454, 343, 155, 114, 342, 113, 112, 445, 111, |
| 108672 | /* 1510 */ 130, 109, 431, 316, 426, 430, 23, 429, 20, 606, |
| 108673 | /* 1520 */ 190, 507, 255, 341, 244, 63, 294, 593, 310, 570, |
| 108674 | /* 1530 */ 277, 402, 354, 235, 567, 496, 495, 492, 494, 302, |
| 108675 | /* 1540 */ 458, 378, 286, 245, 566, 5, 252, 547, 193, 444, |
| 108676 | /* 1550 */ 233, 340, 207, 524, 368, 505, 334, 522, 499, 399, |
| 108677 | /* 1560 */ 295, 498, 956, 488, |
| 108678 | }; |
| 108679 | static const YYCODETYPE yy_lookahead[] = { |
| 108680 | /* 0 */ 19, 142, 143, 144, 145, 24, 1, 26, 77, 78, |
| 108681 | /* 10 */ 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, |
| 108682 | /* 20 */ 89, 90, 91, 92, 26, 27, 15, 26, 27, 197, |
| 108683 | /* 30 */ 49, 50, 77, 78, 79, 80, 204, 82, 83, 84, |
| 108684 | /* 40 */ 85, 86, 87, 88, 89, 90, 91, 92, 23, 68, |
| 108685 | /* 50 */ 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, |
| 108686 | /* 60 */ 79, 80, 166, 82, 83, 84, 85, 86, 87, 88, |
| 108687 | /* 70 */ 89, 90, 91, 92, 19, 94, 19, 105, 106, 107, |
| 108688 | /* 80 */ 25, 82, 83, 84, 85, 86, 87, 88, 89, 90, |
| 108689 | /* 90 */ 91, 92, 94, 95, 96, 94, 95, 99, 100, 101, |
| 108690 | /* 100 */ 112, 205, 114, 115, 49, 50, 22, 23, 110, 54, |
| 108691 | /* 110 */ 86, 87, 88, 89, 90, 91, 92, 221, 222, 223, |
| 108692 | /* 120 */ 23, 120, 25, 68, 69, 70, 71, 72, 73, 74, |
| 108693 | /* 130 */ 75, 76, 77, 78, 79, 80, 22, 82, 83, 84, |
| 108694 | /* 140 */ 85, 86, 87, 88, 89, 90, 91, 92, 19, 92, |
| 108695 | /* 150 */ 23, 67, 25, 96, 97, 98, 99, 100, 101, 102, |
| 108696 | /* 160 */ 150, 32, 150, 118, 26, 27, 109, 150, 150, 150, |
| 108697 | /* 170 */ 41, 161, 162, 180, 181, 165, 113, 165, 49, 50, |
| 108698 | /* 180 */ 117, 188, 165, 165, 165, 173, 174, 170, 171, 170, |
| 108699 | /* 190 */ 171, 173, 174, 118, 184, 16, 186, 68, 69, 70, |
| 108700 | /* 200 */ 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, |
| 108701 | /* 210 */ 118, 82, 83, 84, 85, 86, 87, 88, 89, 90, |
| 108702 | /* 220 */ 91, 92, 19, 98, 86, 87, 22, 24, 160, 88, |
| 108703 | /* 230 */ 26, 27, 94, 95, 109, 97, 224, 66, 118, 60, |
| 108704 | /* 240 */ 150, 62, 104, 23, 106, 25, 229, 230, 229, 230, |
| 108705 | /* 250 */ 160, 150, 49, 50, 113, 165, 96, 26, 117, 99, |
| 108706 | /* 260 */ 100, 101, 194, 173, 174, 94, 165, 129, 130, 98, |
| 108707 | /* 270 */ 110, 68, 69, 70, 71, 72, 73, 74, 75, 76, |
| 108708 | /* 280 */ 77, 78, 79, 80, 194, 82, 83, 84, 85, 86, |
| 108709 | /* 290 */ 87, 88, 89, 90, 91, 92, 19, 11, 94, 95, |
| 108710 | /* 300 */ 129, 130, 131, 118, 150, 215, 150, 150, 150, 25, |
| 108711 | /* 310 */ 220, 26, 27, 22, 213, 26, 27, 26, 27, 165, |
| 108712 | /* 320 */ 25, 165, 165, 165, 30, 94, 49, 50, 34, 173, |
| 108713 | /* 330 */ 174, 173, 174, 88, 89, 90, 91, 92, 7, 8, |
| 108714 | /* 340 */ 160, 187, 48, 57, 187, 68, 69, 70, 71, 72, |
| 108715 | /* 350 */ 73, 74, 75, 76, 77, 78, 79, 80, 23, 82, |
| 108716 | /* 360 */ 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, |
| 108717 | /* 370 */ 19, 215, 150, 215, 194, 19, 220, 88, 220, 94, |
| 108718 | /* 380 */ 95, 23, 160, 94, 95, 94, 95, 165, 26, 27, |
| 108719 | /* 390 */ 95, 105, 106, 107, 113, 173, 174, 217, 22, 150, |
| 108720 | /* 400 */ 49, 50, 116, 119, 57, 120, 50, 158, 22, 21, |
| 108721 | /* 410 */ 161, 162, 232, 136, 165, 120, 194, 237, 23, 68, |
| 108722 | /* 420 */ 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, |
| 108723 | /* 430 */ 79, 80, 22, 82, 83, 84, 85, 86, 87, 88, |
| 108724 | /* 440 */ 89, 90, 91, 92, 19, 23, 12, 112, 23, 114, |
| 108725 | /* 450 */ 115, 63, 105, 106, 107, 23, 94, 95, 97, 98, |
| 108726 | /* 460 */ 104, 150, 28, 116, 25, 109, 150, 150, 23, 23, |
| 108727 | /* 470 */ 112, 25, 114, 115, 49, 50, 165, 150, 44, 11, |
| 108728 | /* 480 */ 46, 165, 165, 16, 173, 174, 76, 136, 100, 173, |
| 108729 | /* 490 */ 174, 57, 165, 68, 69, 70, 71, 72, 73, 74, |
| 108730 | /* 500 */ 75, 76, 77, 78, 79, 80, 166, 82, 83, 84, |
| 108731 | /* 510 */ 85, 86, 87, 88, 89, 90, 91, 92, 19, 169, |
| 108732 | /* 520 */ 170, 171, 23, 12, 23, 214, 138, 60, 150, 62, |
| 108733 | /* 530 */ 24, 215, 26, 216, 112, 150, 114, 115, 36, 28, |
| 108734 | /* 540 */ 213, 95, 103, 165, 112, 205, 114, 115, 49, 50, |
| 108735 | /* 550 */ 165, 173, 174, 51, 23, 44, 25, 46, 173, 174, |
| 108736 | /* 560 */ 58, 22, 23, 22, 25, 160, 120, 68, 69, 70, |
| 108737 | /* 570 */ 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, |
| 108738 | /* 580 */ 230, 82, 83, 84, 85, 86, 87, 88, 89, 90, |
| 108739 | /* 590 */ 91, 92, 19, 215, 22, 23, 23, 25, 163, 194, |
| 108740 | /* 600 */ 94, 166, 167, 168, 25, 138, 67, 7, 8, 9, |
| 108741 | /* 610 */ 108, 206, 207, 169, 170, 171, 150, 22, 221, 222, |
| 108742 | /* 620 */ 223, 26, 49, 50, 86, 87, 23, 161, 162, 23, |
| 108743 | /* 630 */ 22, 165, 24, 120, 22, 23, 25, 160, 241, 67, |
| 108744 | /* 640 */ 176, 68, 69, 70, 71, 72, 73, 74, 75, 76, |
| 108745 | /* 650 */ 77, 78, 79, 80, 160, 82, 83, 84, 85, 86, |
| 108746 | /* 660 */ 87, 88, 89, 90, 91, 92, 19, 129, 130, 150, |
| 108747 | /* 670 */ 23, 194, 35, 23, 230, 25, 150, 155, 150, 67, |
| 108748 | /* 680 */ 150, 105, 106, 107, 165, 221, 222, 223, 194, 94, |
| 108749 | /* 690 */ 23, 165, 25, 165, 217, 165, 49, 50, 25, 173, |
| 108750 | /* 700 */ 174, 173, 174, 173, 174, 0, 1, 2, 118, 221, |
| 108751 | /* 710 */ 222, 223, 193, 219, 237, 68, 69, 70, 71, 72, |
| 108752 | /* 720 */ 73, 74, 75, 76, 77, 78, 79, 80, 150, 82, |
| 108753 | /* 730 */ 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, |
| 108754 | /* 740 */ 19, 150, 19, 165, 150, 24, 166, 167, 168, 227, |
| 108755 | /* 750 */ 27, 173, 174, 231, 150, 25, 165, 150, 172, 165, |
| 108756 | /* 760 */ 150, 242, 129, 130, 173, 174, 180, 173, 174, 165, |
| 108757 | /* 770 */ 49, 50, 165, 150, 176, 165, 35, 173, 174, 165, |
| 108758 | /* 780 */ 173, 174, 35, 23, 23, 25, 25, 173, 165, 68, |
| 108759 | /* 790 */ 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, |
| 108760 | /* 800 */ 79, 80, 150, 82, 83, 84, 85, 86, 87, 88, |
| 108761 | /* 810 */ 89, 90, 91, 92, 19, 150, 193, 165, 150, 221, |
| 108762 | /* 820 */ 222, 223, 150, 213, 19, 173, 174, 23, 150, 97, |
| 108763 | /* 830 */ 165, 150, 27, 165, 150, 150, 150, 165, 173, 174, |
| 108764 | /* 840 */ 22, 173, 174, 165, 49, 50, 165, 52, 116, 165, |
| 108765 | /* 850 */ 165, 165, 206, 207, 173, 174, 126, 50, 173, 174, |
| 108766 | /* 860 */ 128, 27, 160, 68, 69, 70, 71, 72, 73, 74, |
| 108767 | /* 870 */ 75, 76, 77, 78, 79, 80, 150, 82, 83, 84, |
| 108768 | /* 880 */ 85, 86, 87, 88, 89, 90, 91, 92, 19, 150, |
| 108769 | /* 890 */ 23, 165, 150, 23, 216, 25, 194, 32, 39, 173, |
| 108770 | /* 900 */ 174, 135, 150, 137, 165, 150, 41, 165, 150, 52, |
| 108771 | /* 910 */ 238, 104, 173, 174, 29, 173, 174, 165, 49, 50, |
| 108772 | /* 920 */ 165, 219, 238, 165, 238, 173, 174, 52, 173, 174, |
| 108773 | /* 930 */ 22, 173, 174, 23, 23, 160, 25, 68, 69, 70, |
| 108774 | /* 940 */ 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, |
| 108775 | /* 950 */ 150, 82, 83, 84, 85, 86, 87, 88, 89, 90, |
| 108776 | /* 960 */ 91, 92, 19, 150, 150, 165, 150, 245, 246, 194, |
| 108777 | /* 970 */ 150, 144, 145, 173, 174, 160, 150, 22, 165, 165, |
| 108778 | /* 980 */ 22, 165, 150, 150, 116, 165, 173, 174, 52, 173, |
| 108779 | /* 990 */ 174, 165, 49, 50, 22, 150, 128, 165, 165, 173, |
| 108780 | /* 1000 */ 174, 187, 166, 166, 22, 173, 174, 187, 109, 194, |
| 108781 | /* 1010 */ 165, 68, 69, 70, 71, 72, 73, 74, 75, 76, |
| 108782 | /* 1020 */ 77, 78, 79, 80, 150, 82, 83, 84, 85, 86, |
| 108783 | /* 1030 */ 87, 88, 89, 90, 91, 92, 19, 150, 193, 165, |
| 108784 | /* 1040 */ 102, 205, 205, 150, 150, 247, 248, 173, 174, 19, |
| 108785 | /* 1050 */ 150, 20, 165, 150, 150, 150, 150, 150, 165, 165, |
| 108786 | /* 1060 */ 173, 174, 49, 50, 104, 165, 49, 50, 165, 165, |
| 108787 | /* 1070 */ 165, 165, 165, 173, 174, 43, 173, 174, 173, 174, |
| 108788 | /* 1080 */ 187, 24, 190, 191, 71, 72, 69, 70, 71, 72, |
| 108789 | /* 1090 */ 73, 74, 75, 76, 77, 78, 79, 80, 150, 82, |
| 108790 | /* 1100 */ 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, |
| 108791 | /* 1110 */ 19, 98, 150, 165, 150, 150, 150, 150, 150, 150, |
| 108792 | /* 1120 */ 59, 173, 174, 25, 150, 190, 191, 165, 53, 165, |
| 108793 | /* 1130 */ 165, 165, 165, 165, 165, 173, 174, 173, 174, 165, |
| 108794 | /* 1140 */ 49, 50, 91, 92, 1, 2, 53, 173, 174, 138, |
| 108795 | /* 1150 */ 104, 22, 5, 1, 35, 118, 127, 150, 193, 193, |
| 108796 | /* 1160 */ 193, 70, 71, 72, 73, 74, 75, 76, 77, 78, |
| 108797 | /* 1170 */ 79, 80, 165, 82, 83, 84, 85, 86, 87, 88, |
| 108798 | /* 1180 */ 89, 90, 91, 92, 19, 20, 150, 22, 150, 27, |
| 108799 | /* 1190 */ 150, 26, 27, 108, 150, 22, 76, 76, 150, 25, |
| 108800 | /* 1200 */ 193, 165, 37, 165, 150, 165, 22, 19, 20, 165, |
| 108801 | /* 1210 */ 22, 173, 174, 165, 26, 27, 23, 150, 119, 165, |
| 108802 | /* 1220 */ 150, 56, 150, 150, 150, 37, 16, 173, 174, 193, |
| 108803 | /* 1230 */ 150, 66, 165, 193, 1, 165, 121, 165, 165, 165, |
| 108804 | /* 1240 */ 20, 146, 147, 119, 56, 165, 150, 152, 16, 154, |
| 108805 | /* 1250 */ 150, 86, 87, 88, 66, 160, 150, 150, 93, 94, |
| 108806 | /* 1260 */ 95, 165, 150, 98, 108, 165, 127, 23, 65, 173, |
| 108807 | /* 1270 */ 174, 165, 165, 150, 86, 87, 128, 165, 150, 173, |
| 108808 | /* 1280 */ 174, 93, 94, 95, 23, 150, 98, 15, 165, 194, |
| 108809 | /* 1290 */ 150, 140, 22, 165, 129, 130, 131, 132, 133, 134, |
| 108810 | /* 1300 */ 165, 173, 174, 3, 116, 165, 19, 20, 150, 22, |
| 108811 | /* 1310 */ 4, 150, 217, 26, 27, 179, 179, 129, 130, 131, |
| 108812 | /* 1320 */ 132, 133, 134, 165, 37, 150, 165, 150, 164, 19, |
| 108813 | /* 1330 */ 20, 150, 22, 246, 149, 249, 26, 27, 249, 244, |
| 108814 | /* 1340 */ 165, 150, 165, 56, 6, 150, 165, 37, 173, 174, |
| 108815 | /* 1350 */ 173, 174, 150, 66, 173, 174, 165, 149, 149, 13, |
| 108816 | /* 1360 */ 165, 25, 150, 150, 150, 149, 56, 165, 150, 116, |
| 108817 | /* 1370 */ 151, 150, 150, 86, 87, 150, 66, 165, 165, 165, |
| 108818 | /* 1380 */ 93, 94, 95, 165, 150, 98, 165, 165, 151, 22, |
| 108819 | /* 1390 */ 165, 194, 150, 26, 27, 150, 86, 87, 159, 165, |
| 108820 | /* 1400 */ 199, 126, 123, 93, 94, 95, 200, 165, 98, 124, |
| 108821 | /* 1410 */ 165, 122, 201, 125, 225, 135, 129, 130, 131, 132, |
| 108822 | /* 1420 */ 133, 134, 5, 157, 157, 202, 118, 10, 11, 12, |
| 108823 | /* 1430 */ 13, 14, 203, 66, 17, 104, 210, 121, 211, 129, |
| 108824 | /* 1440 */ 130, 131, 132, 133, 134, 210, 175, 211, 31, 211, |
| 108825 | /* 1450 */ 33, 210, 104, 86, 87, 47, 175, 183, 175, 42, |
| 108826 | /* 1460 */ 103, 94, 178, 177, 22, 98, 175, 92, 228, 175, |
| 108827 | /* 1470 */ 175, 228, 55, 183, 57, 178, 175, 156, 61, 18, |
| 108828 | /* 1480 */ 157, 64, 156, 235, 157, 156, 45, 157, 236, 157, |
| 108829 | /* 1490 */ 135, 156, 189, 68, 157, 218, 129, 130, 131, 22, |
| 108830 | /* 1500 */ 189, 199, 157, 156, 192, 18, 192, 192, 199, 192, |
| 108831 | /* 1510 */ 218, 189, 40, 157, 38, 157, 240, 157, 240, 153, |
| 108832 | /* 1520 */ 196, 181, 105, 106, 107, 243, 198, 166, 111, 230, |
| 108833 | /* 1530 */ 176, 226, 239, 116, 230, 176, 166, 166, 176, 148, |
| 108834 | /* 1540 */ 199, 177, 209, 209, 166, 196, 239, 208, 185, 199, |
| 108835 | /* 1550 */ 92, 209, 233, 173, 234, 182, 139, 173, 182, 191, |
| 108836 | /* 1560 */ 195, 182, 250, 186, |
| 108837 | }; |
| 108838 | #define YY_SHIFT_USE_DFLT (-70) |
| 108839 | #define YY_SHIFT_COUNT (416) |
| 108840 | #define YY_SHIFT_MIN (-69) |
| 108841 | #define YY_SHIFT_MAX (1487) |
| 108842 | static const short yy_shift_ofst[] = { |
| 108843 | /* 0 */ 1143, 1188, 1417, 1188, 1287, 1287, 138, 138, -2, -19, |
| 108844 | /* 10 */ 1287, 1287, 1287, 1287, 347, 362, 129, 129, 795, 1165, |
| 108845 | /* 20 */ 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, |
| 108846 | /* 30 */ 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, |
| 108847 | /* 40 */ 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1310, 1287, |
| 108848 | /* 50 */ 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, |
| 108849 | /* 60 */ 1287, 1287, 286, 362, 362, 538, 538, 231, 1253, 55, |
| 108850 | /* 70 */ 721, 647, 573, 499, 425, 351, 277, 203, 869, 869, |
| 108851 | /* 80 */ 869, 869, 869, 869, 869, 869, 869, 869, 869, 869, |
| 108852 | /* 90 */ 869, 869, 869, 943, 869, 1017, 1091, 1091, -69, -45, |
| 108853 | /* 100 */ -45, -45, -45, -45, -1, 24, 245, 362, 362, 362, |
| 108854 | /* 110 */ 362, 362, 362, 362, 362, 362, 362, 362, 362, 362, |
| 108855 | /* 120 */ 362, 362, 362, 388, 356, 362, 362, 362, 362, 362, |
| 108856 | /* 130 */ 732, 868, 231, 1051, 1458, -70, -70, -70, 1367, 57, |
| 108857 | /* 140 */ 434, 434, 289, 291, 285, 1, 204, 572, 539, 362, |
| 108858 | /* 150 */ 362, 362, 362, 362, 362, 362, 362, 362, 362, 362, |
| 108859 | /* 160 */ 362, 362, 362, 362, 362, 362, 362, 362, 362, 362, |
| 108860 | /* 170 */ 362, 362, 362, 362, 362, 362, 362, 362, 362, 362, |
| 108861 | /* 180 */ 362, 506, 506, 506, 705, 1253, 1253, 1253, -70, -70, |
| 108862 | /* 190 */ -70, 171, 171, 160, 502, 502, 502, 446, 432, 511, |
| 108863 | /* 200 */ 422, 358, 335, -12, -12, -12, -12, 576, 294, -12, |
| 108864 | /* 210 */ -12, 295, 595, 141, 600, 730, 723, 723, 805, 730, |
| 108865 | /* 220 */ 805, 439, 911, 231, 865, 231, 865, 807, 865, 723, |
| 108866 | /* 230 */ 766, 633, 633, 231, 284, 63, 608, 1476, 1308, 1308, |
| 108867 | /* 240 */ 1472, 1472, 1308, 1477, 1425, 1275, 1487, 1487, 1487, 1487, |
| 108868 | /* 250 */ 1308, 1461, 1275, 1477, 1425, 1425, 1308, 1461, 1355, 1441, |
| 108869 | /* 260 */ 1308, 1308, 1461, 1308, 1461, 1308, 1461, 1442, 1348, 1348, |
| 108870 | /* 270 */ 1348, 1408, 1375, 1375, 1442, 1348, 1357, 1348, 1408, 1348, |
| 108871 | /* 280 */ 1348, 1316, 1331, 1316, 1331, 1316, 1331, 1308, 1308, 1280, |
| 108872 | /* 290 */ 1288, 1289, 1285, 1279, 1275, 1253, 1336, 1346, 1346, 1338, |
| 108873 | /* 300 */ 1338, 1338, 1338, -70, -70, -70, -70, -70, -70, 1013, |
| 108874 | /* 310 */ 467, 612, 84, 179, -28, 870, 410, 761, 760, 667, |
| 108875 | /* 320 */ 650, 531, 220, 361, 331, 125, 127, 97, 1306, 1300, |
| 108876 | /* 330 */ 1270, 1151, 1272, 1203, 1232, 1261, 1244, 1148, 1174, 1139, |
| 108877 | /* 340 */ 1156, 1124, 1220, 1115, 1210, 1233, 1099, 1193, 1184, 1174, |
| 108878 | /* 350 */ 1173, 1029, 1121, 1120, 1085, 1162, 1119, 1037, 1152, 1147, |
| 108879 | /* 360 */ 1129, 1046, 1011, 1093, 1098, 1075, 1061, 1032, 960, 1057, |
| 108880 | /* 370 */ 1031, 1030, 899, 938, 982, 936, 972, 958, 910, 955, |
| 108881 | /* 380 */ 875, 885, 908, 857, 859, 867, 804, 590, 834, 747, |
| 108882 | /* 390 */ 818, 513, 611, 741, 673, 637, 611, 606, 603, 579, |
| 108883 | /* 400 */ 501, 541, 468, 386, 445, 395, 376, 281, 185, 120, |
| 108884 | /* 410 */ 92, 75, 45, 114, 25, 11, 5, |
| 108885 | }; |
| 108886 | #define YY_REDUCE_USE_DFLT (-169) |
| 108887 | #define YY_REDUCE_COUNT (308) |
| 108888 | #define YY_REDUCE_MIN (-168) |
| 108889 | #define YY_REDUCE_MAX (1391) |
| 108890 | static const short yy_reduce_ofst[] = { |
| 108891 | /* 0 */ -141, 90, 1095, 222, 158, 156, 19, 17, 10, -104, |
| 108892 | /* 10 */ 378, 316, 311, 12, 180, 249, 598, 464, 397, 1181, |
| 108893 | /* 20 */ 1177, 1175, 1128, 1106, 1096, 1054, 1038, 974, 964, 962, |
| 108894 | /* 30 */ 948, 905, 903, 900, 887, 874, 832, 826, 816, 813, |
| 108895 | /* 40 */ 800, 758, 755, 752, 742, 739, 726, 685, 681, 668, |
| 108896 | /* 50 */ 665, 652, 607, 604, 594, 591, 578, 530, 528, 526, |
| 108897 | /* 60 */ 385, 18, 477, 466, 519, 444, 350, 435, 405, 488, |
| 108898 | /* 70 */ 488, 488, 488, 488, 488, 488, 488, 488, 488, 488, |
| 108899 | /* 80 */ 488, 488, 488, 488, 488, 488, 488, 488, 488, 488, |
| 108900 | /* 90 */ 488, 488, 488, 488, 488, 488, 488, 488, 488, 488, |
| 108901 | /* 100 */ 488, 488, 488, 488, 488, 488, 488, 1040, 678, 1036, |
| 108902 | /* 110 */ 1007, 967, 966, 965, 845, 686, 610, 684, 317, 672, |
| 108903 | /* 120 */ 893, 327, 623, 522, -7, 820, 814, 157, 154, 101, |
| 108904 | /* 130 */ 702, 494, 580, 488, 488, 488, 488, 488, 614, 586, |
| 108905 | /* 140 */ 935, 892, 968, 1245, 1242, 1234, 1225, 798, 798, 1222, |
| 108906 | /* 150 */ 1221, 1218, 1214, 1213, 1212, 1202, 1195, 1191, 1161, 1158, |
| 108907 | /* 160 */ 1140, 1135, 1123, 1112, 1107, 1100, 1080, 1074, 1073, 1072, |
| 108908 | /* 170 */ 1070, 1067, 1048, 1044, 969, 968, 907, 906, 904, 894, |
| 108909 | /* 180 */ 833, 837, 836, 340, 827, 815, 775, 68, 722, 646, |
| 108910 | /* 190 */ -168, 1384, 1380, 1377, 1379, 1376, 1373, 1339, 1365, 1368, |
| 108911 | /* 200 */ 1365, 1365, 1365, 1365, 1365, 1365, 1365, 1320, 1319, 1365, |
| 108912 | /* 210 */ 1365, 1339, 1378, 1349, 1391, 1350, 1342, 1334, 1307, 1341, |
| 108913 | /* 220 */ 1293, 1364, 1363, 1371, 1362, 1370, 1359, 1340, 1354, 1333, |
| 108914 | /* 230 */ 1305, 1304, 1299, 1361, 1328, 1324, 1366, 1282, 1360, 1358, |
| 108915 | /* 240 */ 1278, 1276, 1356, 1292, 1322, 1309, 1317, 1315, 1314, 1312, |
| 108916 | /* 250 */ 1345, 1347, 1302, 1277, 1311, 1303, 1337, 1335, 1252, 1248, |
| 108917 | /* 260 */ 1332, 1330, 1329, 1327, 1326, 1323, 1321, 1297, 1301, 1295, |
| 108918 | /* 270 */ 1294, 1290, 1243, 1240, 1284, 1291, 1286, 1283, 1274, 1281, |
| 108919 | /* 280 */ 1271, 1238, 1241, 1236, 1235, 1227, 1226, 1267, 1266, 1189, |
| 108920 | /* 290 */ 1229, 1223, 1211, 1206, 1201, 1197, 1239, 1237, 1219, 1216, |
| 108921 | /* 300 */ 1209, 1208, 1185, 1089, 1086, 1087, 1137, 1136, 1164, |
| 108922 | }; |
| 108923 | static const YYACTIONTYPE yy_default[] = { |
| 108924 | /* 0 */ 632, 866, 954, 954, 866, 866, 954, 954, 954, 756, |
| 108925 | /* 10 */ 954, 954, 954, 864, 954, 954, 784, 784, 928, 954, |
| 108926 | /* 20 */ 954, 954, 954, 954, 954, 954, 954, 954, 954, 954, |
| 108927 | /* 30 */ 954, 954, 954, 954, 954, 954, 954, 954, 954, 954, |
| 108928 | /* 40 */ 954, 954, 954, 954, 954, 954, 954, 954, 954, 954, |
| 108929 | /* 50 */ 954, 954, 954, 954, 954, 954, 954, 954, 954, 954, |
| 108930 | /* 60 */ 954, 954, 954, 954, 954, 954, 954, 671, 760, 790, |
| 108931 | /* 70 */ 954, 954, 954, 954, 954, 954, 954, 954, 927, 929, |
| 108932 | /* 80 */ 798, 797, 907, 771, 795, 788, 792, 867, 860, 861, |
| 108933 | /* 90 */ 859, 863, 868, 954, 791, 827, 844, 826, 838, 843, |
| 108934 | /* 100 */ 850, 842, 839, 829, 828, 830, 831, 954, 954, 954, |
| 108935 | /* 110 */ 954, 954, 954, 954, 954, 954, 954, 954, 954, 954, |
| 108936 | /* 120 */ 954, 954, 954, 658, 725, 954, 954, 954, 954, 954, |
| 108937 | /* 130 */ 954, 954, 954, 832, 833, 847, 846, 845, 954, 663, |
| 108938 | /* 140 */ 954, 954, 954, 954, 954, 954, 954, 954, 954, 954, |
| 108939 | /* 150 */ 934, 932, 954, 879, 954, 954, 954, 954, 954, 954, |
| 108940 | /* 160 */ 954, 954, 954, 954, 954, 954, 954, 954, 954, 954, |
| 108941 | /* 170 */ 954, 954, 954, 954, 954, 954, 954, 954, 954, 954, |
| 108942 | /* 180 */ 638, 756, 756, 756, 632, 954, 954, 954, 946, 760, |
| 108943 | /* 190 */ 750, 954, 954, 954, 954, 954, 954, 954, 954, 954, |
| 108944 | /* 200 */ 954, 954, 954, 800, 739, 917, 919, 954, 900, 737, |
| 108945 | /* 210 */ 660, 758, 673, 748, 640, 794, 773, 773, 912, 794, |
| 108946 | /* 220 */ 912, 696, 719, 954, 784, 954, 784, 693, 784, 773, |
| 108947 | /* 230 */ 862, 954, 954, 954, 757, 748, 954, 939, 764, 764, |
| 108948 | /* 240 */ 931, 931, 764, 806, 729, 794, 736, 736, 736, 736, |
| 108949 | /* 250 */ 764, 655, 794, 806, 729, 729, 764, 655, 906, 904, |
| 108950 | /* 260 */ 764, 764, 655, 764, 655, 764, 655, 872, 727, 727, |
| 108951 | /* 270 */ 727, 711, 876, 876, 872, 727, 696, 727, 711, 727, |
| 108952 | /* 280 */ 727, 777, 772, 777, 772, 777, 772, 764, 764, 954, |
| 108953 | /* 290 */ 789, 778, 787, 785, 794, 954, 714, 648, 648, 637, |
| 108954 | /* 300 */ 637, 637, 637, 951, 951, 946, 698, 698, 681, 954, |
| 108955 | /* 310 */ 954, 954, 954, 954, 954, 954, 881, 954, 954, 954, |
| 108956 | /* 320 */ 954, 954, 954, 954, 954, 954, 954, 954, 954, 633, |
| 108957 | /* 330 */ 941, 954, 954, 938, 954, 954, 954, 954, 799, 954, |
| 108958 | /* 340 */ 954, 954, 954, 954, 954, 954, 954, 954, 954, 916, |
| 108959 | /* 350 */ 954, 954, 954, 954, 954, 954, 954, 910, 954, 954, |
| 108960 | /* 360 */ 954, 954, 954, 954, 903, 902, 954, 954, 954, 954, |
| 108961 | /* 370 */ 954, 954, 954, 954, 954, 954, 954, 954, 954, 954, |
| 108962 | /* 380 */ 954, 954, 954, 954, 954, 954, 954, 954, 954, 954, |
| 108963 | /* 390 */ 954, 954, 786, 954, 779, 954, 865, 954, 954, 954, |
| 108964 | /* 400 */ 954, 954, 954, 954, 954, 954, 954, 742, 815, 954, |
| 108965 | /* 410 */ 814, 818, 813, 665, 954, 646, 954, 629, 634, 950, |
| 108966 | /* 420 */ 953, 952, 949, 948, 947, 942, 940, 937, 936, 935, |
| 108967 | /* 430 */ 933, 930, 926, 885, 883, 890, 889, 888, 887, 886, |
| 108968 | /* 440 */ 884, 882, 880, 801, 796, 793, 925, 878, 738, 735, |
| 108969 | /* 450 */ 734, 654, 943, 909, 918, 805, 804, 807, 915, 914, |
| 108970 | /* 460 */ 913, 911, 908, 895, 803, 802, 730, 870, 869, 657, |
| 108971 | /* 470 */ 899, 898, 897, 901, 905, 896, 766, 656, 653, 662, |
| 108972 | /* 480 */ 717, 718, 726, 724, 723, 722, 721, 720, 716, 664, |
| 108973 | /* 490 */ 672, 710, 695, 694, 875, 877, 874, 873, 703, 702, |
| 108974 | /* 500 */ 708, 707, 706, 705, 704, 701, 700, 699, 692, 691, |
| 108975 | /* 510 */ 697, 690, 713, 712, 709, 689, 733, 732, 731, 728, |
| 108976 | /* 520 */ 688, 687, 686, 818, 685, 684, 824, 823, 811, 854, |
| 108977 | /* 530 */ 753, 752, 751, 763, 762, 775, 774, 809, 808, 776, |
| 108978 | /* 540 */ 761, 755, 754, 770, 769, 768, 767, 759, 749, 781, |
| 108979 | /* 550 */ 783, 782, 780, 856, 765, 853, 924, 923, 922, 921, |
| 108980 | /* 560 */ 920, 858, 857, 825, 822, 676, 677, 893, 892, 894, |
| 108981 | /* 570 */ 891, 679, 678, 675, 674, 855, 744, 743, 851, 848, |
| 108982 | /* 580 */ 840, 836, 852, 849, 841, 837, 835, 834, 820, 819, |
| 108983 | /* 590 */ 817, 816, 812, 821, 667, 745, 741, 740, 810, 747, |
| 108984 | /* 600 */ 746, 683, 682, 680, 661, 659, 652, 650, 649, 651, |
| 108985 | /* 610 */ 647, 645, 644, 643, 642, 641, 670, 669, 668, 666, |
| 108986 | /* 620 */ 665, 639, 636, 635, 631, 630, 628, |
| 108987 | }; |
| 108988 | |
| 108989 | /* The next table maps tokens into fallback tokens. If a construct |
| 108990 | ** like the following: |
| 108991 | ** |
| @@ -109189,11 +109187,11 @@ | |
| 109187 | "carglist", "id", "ids", "typetoken", |
| 109188 | "typename", "signed", "plus_num", "minus_num", |
| 109189 | "ccons", "term", "expr", "onconf", |
| 109190 | "sortorder", "autoinc", "idxlist_opt", "refargs", |
| 109191 | "defer_subclause", "refarg", "refact", "init_deferred_pred_opt", |
| 109192 | "conslist", "tconscomma", "tcons", "idxlist", |
| 109193 | "defer_subclause_opt", "orconf", "resolvetype", "raisetype", |
| 109194 | "ifexists", "fullname", "oneselect", "multiselect_op", |
| 109195 | "distinct", "selcollist", "from", "where_opt", |
| 109196 | "groupby_opt", "having_opt", "orderby_opt", "limit_opt", |
| 109197 | "sclp", "as", "seltablist", "stl_prefix", |
| @@ -109301,16 +109299,16 @@ | |
| 109299 | /* 83 */ "defer_subclause ::= DEFERRABLE init_deferred_pred_opt", |
| 109300 | /* 84 */ "init_deferred_pred_opt ::=", |
| 109301 | /* 85 */ "init_deferred_pred_opt ::= INITIALLY DEFERRED", |
| 109302 | /* 86 */ "init_deferred_pred_opt ::= INITIALLY IMMEDIATE", |
| 109303 | /* 87 */ "conslist_opt ::=", |
| 109304 | /* 88 */ "conslist_opt ::= COMMA conslist", |
| 109305 | /* 89 */ "conslist ::= conslist tconscomma tcons", |
| 109306 | /* 90 */ "conslist ::= tcons", |
| 109307 | /* 91 */ "tconscomma ::= COMMA", |
| 109308 | /* 92 */ "tconscomma ::=", |
| 109309 | /* 93 */ "tcons ::= CONSTRAINT nm", |
| 109310 | /* 94 */ "tcons ::= PRIMARY KEY LP idxlist autoinc RP onconf", |
| 109311 | /* 95 */ "tcons ::= UNIQUE LP idxlist RP onconf", |
| 109312 | /* 96 */ "tcons ::= CHECK LP expr RP onconf", |
| 109313 | /* 97 */ "tcons ::= FOREIGN KEY LP idxlist RP REFERENCES nm idxlist_opt refargs defer_subclause_opt", |
| 109314 | /* 98 */ "defer_subclause_opt ::=", |
| @@ -110020,16 +110018,16 @@ | |
| 110018 | { 180, 2 }, |
| 110019 | { 183, 0 }, |
| 110020 | { 183, 2 }, |
| 110021 | { 183, 2 }, |
| 110022 | { 159, 0 }, |
| 110023 | { 159, 2 }, |
| 110024 | { 184, 3 }, |
| 110025 | { 184, 1 }, |
| 110026 | { 185, 1 }, |
| 110027 | { 185, 0 }, |
| 110028 | { 186, 2 }, |
| 110029 | { 186, 7 }, |
| 110030 | { 186, 5 }, |
| 110031 | { 186, 5 }, |
| 110032 | { 186, 10 }, |
| 110033 | { 188, 0 }, |
| @@ -110463,11 +110461,11 @@ | |
| 110461 | break; |
| 110462 | case 50: /* typename ::= typename ids */ |
| 110463 | {yygotominor.yy0.z=yymsp[-1].minor.yy0.z; yygotominor.yy0.n=yymsp[0].minor.yy0.n+(int)(yymsp[0].minor.yy0.z-yymsp[-1].minor.yy0.z);} |
| 110464 | break; |
| 110465 | case 55: /* ccons ::= CONSTRAINT nm */ |
| 110466 | case 93: /* tcons ::= CONSTRAINT nm */ yytestcase(yyruleno==93); |
| 110467 | {pParse->constraintName = yymsp[0].minor.yy0;} |
| 110468 | break; |
| 110469 | case 56: /* ccons ::= DEFAULT term */ |
| 110470 | case 58: /* ccons ::= DEFAULT PLUS term */ yytestcase(yyruleno==58); |
| 110471 | {sqlite3AddDefaultValue(pParse,&yymsp[0].minor.yy342);} |
| @@ -110550,14 +110548,14 @@ | |
| 110548 | {yygotominor.yy392 = yymsp[0].minor.yy392;} |
| 110549 | break; |
| 110550 | case 87: /* conslist_opt ::= */ |
| 110551 | {yygotominor.yy0.n = 0; yygotominor.yy0.z = 0;} |
| 110552 | break; |
| 110553 | case 88: /* conslist_opt ::= COMMA conslist */ |
| 110554 | {yygotominor.yy0 = yymsp[-1].minor.yy0;} |
| 110555 | break; |
| 110556 | case 91: /* tconscomma ::= COMMA */ |
| 110557 | {pParse->constraintName.n = 0;} |
| 110558 | break; |
| 110559 | case 94: /* tcons ::= PRIMARY KEY LP idxlist autoinc RP onconf */ |
| 110560 | {sqlite3AddPrimaryKey(pParse,yymsp[-3].minor.yy442,yymsp[0].minor.yy392,yymsp[-2].minor.yy392,0);} |
| 110561 | break; |
| @@ -111426,13 +111424,13 @@ | |
| 111424 | /* (51) signed ::= plus_num */ yytestcase(yyruleno==51); |
| 111425 | /* (52) signed ::= minus_num */ yytestcase(yyruleno==52); |
| 111426 | /* (53) carglist ::= carglist ccons */ yytestcase(yyruleno==53); |
| 111427 | /* (54) carglist ::= */ yytestcase(yyruleno==54); |
| 111428 | /* (61) ccons ::= NULL onconf */ yytestcase(yyruleno==61); |
| 111429 | /* (89) conslist ::= conslist tconscomma tcons */ yytestcase(yyruleno==89); |
| 111430 | /* (90) conslist ::= tcons */ yytestcase(yyruleno==90); |
| 111431 | /* (92) tconscomma ::= */ yytestcase(yyruleno==92); |
| 111432 | /* (277) foreach_clause ::= */ yytestcase(yyruleno==277); |
| 111433 | /* (278) foreach_clause ::= FOR EACH ROW */ yytestcase(yyruleno==278); |
| 111434 | /* (285) tridxby ::= */ yytestcase(yyruleno==285); |
| 111435 | /* (303) database_kw_opt ::= DATABASE */ yytestcase(yyruleno==303); |
| 111436 | /* (304) database_kw_opt ::= */ yytestcase(yyruleno==304); |
| @@ -117371,11 +117369,11 @@ | |
| 117369 | |
| 117370 | SQLITE_PRIVATE int sqlite3Fts3MsrIncrStart( |
| 117371 | Fts3Table*, Fts3MultiSegReader*, int, const char*, int); |
| 117372 | SQLITE_PRIVATE int sqlite3Fts3MsrIncrNext( |
| 117373 | Fts3Table *, Fts3MultiSegReader *, sqlite3_int64 *, char **, int *); |
| 117374 | SQLITE_PRIVATE int sqlite3Fts3EvalPhrasePoslist(Fts3Cursor *, Fts3Expr *, int iCol, char **); |
| 117375 | SQLITE_PRIVATE int sqlite3Fts3MsrOvfl(Fts3Cursor *, Fts3MultiSegReader *, int *); |
| 117376 | SQLITE_PRIVATE int sqlite3Fts3MsrIncrRestart(Fts3MultiSegReader *pCsr); |
| 117377 | |
| 117378 | SQLITE_PRIVATE int sqlite3Fts3DeferredTokenList(Fts3DeferredToken *, char **, int *); |
| 117379 | |
| @@ -121036,11 +121034,11 @@ | |
| 121034 | int bDescIdx, /* True if the doclist is desc */ |
| 121035 | char *aDoclist, /* Pointer to entire doclist */ |
| 121036 | int nDoclist, /* Length of aDoclist in bytes */ |
| 121037 | char **ppIter, /* IN/OUT: Iterator pointer */ |
| 121038 | sqlite3_int64 *piDocid, /* IN/OUT: Docid pointer */ |
| 121039 | int *pnList, /* OUT: List length pointer */ |
| 121040 | u8 *pbEof /* OUT: End-of-file flag */ |
| 121041 | ){ |
| 121042 | char *p = *ppIter; |
| 121043 | |
| 121044 | assert( nDoclist>0 ); |
| @@ -121082,10 +121080,45 @@ | |
| 121080 | *pnList = (int)(pSave - p); |
| 121081 | } |
| 121082 | *ppIter = p; |
| 121083 | } |
| 121084 | } |
| 121085 | |
| 121086 | /* |
| 121087 | ** Iterate forwards through a doclist. |
| 121088 | */ |
| 121089 | SQLITE_PRIVATE void sqlite3Fts3DoclistNext( |
| 121090 | int bDescIdx, /* True if the doclist is desc */ |
| 121091 | char *aDoclist, /* Pointer to entire doclist */ |
| 121092 | int nDoclist, /* Length of aDoclist in bytes */ |
| 121093 | char **ppIter, /* IN/OUT: Iterator pointer */ |
| 121094 | sqlite3_int64 *piDocid, /* IN/OUT: Docid pointer */ |
| 121095 | u8 *pbEof /* OUT: End-of-file flag */ |
| 121096 | ){ |
| 121097 | char *p = *ppIter; |
| 121098 | |
| 121099 | assert( nDoclist>0 ); |
| 121100 | assert( *pbEof==0 ); |
| 121101 | assert( p || *piDocid==0 ); |
| 121102 | assert( !p || (p>=aDoclist && p<=&aDoclist[nDoclist]) ); |
| 121103 | |
| 121104 | if( p==0 ){ |
| 121105 | p = aDoclist; |
| 121106 | p += sqlite3Fts3GetVarint(p, piDocid); |
| 121107 | }else{ |
| 121108 | fts3PoslistCopy(0, &p); |
| 121109 | if( p>=&aDoclist[nDoclist] ){ |
| 121110 | *pbEof = 1; |
| 121111 | }else{ |
| 121112 | sqlite3_int64 iVar; |
| 121113 | p += sqlite3Fts3GetVarint(p, &iVar); |
| 121114 | *piDocid += ((bDescIdx ? -1 : 1) * iVar); |
| 121115 | } |
| 121116 | } |
| 121117 | |
| 121118 | *ppIter = p; |
| 121119 | } |
| 121120 | |
| 121121 | /* |
| 121122 | ** Attempt to move the phrase iterator to point to the next matching docid. |
| 121123 | ** If an error occurs, return an SQLite error code. Otherwise, return |
| 121124 | ** SQLITE_OK. |
| @@ -122238,30 +122271,91 @@ | |
| 122271 | ** 0x04 0x05 0x03 0x01 or 0x04 0x05 0x03 0x00 |
| 122272 | ** |
| 122273 | ** This function works regardless of whether or not the phrase is deferred, |
| 122274 | ** incremental, or neither. |
| 122275 | */ |
| 122276 | SQLITE_PRIVATE int sqlite3Fts3EvalPhrasePoslist( |
| 122277 | Fts3Cursor *pCsr, /* FTS3 cursor object */ |
| 122278 | Fts3Expr *pExpr, /* Phrase to return doclist for */ |
| 122279 | int iCol, /* Column to return position list for */ |
| 122280 | char **ppOut /* OUT: Pointer to position list */ |
| 122281 | ){ |
| 122282 | Fts3Phrase *pPhrase = pExpr->pPhrase; |
| 122283 | Fts3Table *pTab = (Fts3Table *)pCsr->base.pVtab; |
| 122284 | char *pIter; |
| 122285 | int iThis; |
| 122286 | sqlite3_int64 iDocid; |
| 122287 | |
| 122288 | /* If this phrase is applies specifically to some column other than |
| 122289 | ** column iCol, return a NULL pointer. */ |
| 122290 | *ppOut = 0; |
| 122291 | assert( iCol>=0 && iCol<pTab->nColumn ); |
| 122292 | if( (pPhrase->iColumn<pTab->nColumn && pPhrase->iColumn!=iCol) ){ |
| 122293 | return SQLITE_OK; |
| 122294 | } |
| 122295 | |
| 122296 | iDocid = pExpr->iDocid; |
| 122297 | pIter = pPhrase->doclist.pList; |
| 122298 | if( iDocid!=pCsr->iPrevId || pExpr->bEof ){ |
| 122299 | int bDescDoclist = pTab->bDescIdx; /* For DOCID_CMP macro */ |
| 122300 | int bOr = 0; |
| 122301 | u8 bEof = 0; |
| 122302 | Fts3Expr *p; |
| 122303 | |
| 122304 | /* Check if this phrase descends from an OR expression node. If not, |
| 122305 | ** return NULL. Otherwise, the entry that corresponds to docid |
| 122306 | ** pCsr->iPrevId may lie earlier in the doclist buffer. */ |
| 122307 | for(p=pExpr->pParent; p; p=p->pParent){ |
| 122308 | if( p->eType==FTSQUERY_OR ) bOr = 1; |
| 122309 | } |
| 122310 | if( bOr==0 ) return SQLITE_OK; |
| 122311 | |
| 122312 | /* This is the descendent of an OR node. In this case we cannot use |
| 122313 | ** an incremental phrase. Load the entire doclist for the phrase |
| 122314 | ** into memory in this case. */ |
| 122315 | if( pPhrase->bIncr ){ |
| 122316 | int rc = SQLITE_OK; |
| 122317 | int bEofSave = pExpr->bEof; |
| 122318 | fts3EvalRestart(pCsr, pExpr, &rc); |
| 122319 | while( rc==SQLITE_OK && !pExpr->bEof ){ |
| 122320 | fts3EvalNextRow(pCsr, pExpr, &rc); |
| 122321 | if( bEofSave==0 && pExpr->iDocid==iDocid ) break; |
| 122322 | } |
| 122323 | pIter = pPhrase->doclist.pList; |
| 122324 | assert( rc!=SQLITE_OK || pPhrase->bIncr==0 ); |
| 122325 | if( rc!=SQLITE_OK ) return rc; |
| 122326 | } |
| 122327 | |
| 122328 | if( pExpr->bEof ){ |
| 122329 | pIter = 0; |
| 122330 | iDocid = 0; |
| 122331 | } |
| 122332 | bEof = (pPhrase->doclist.nAll==0); |
| 122333 | assert( bDescDoclist==0 || bDescDoclist==1 ); |
| 122334 | assert( pCsr->bDesc==0 || pCsr->bDesc==1 ); |
| 122335 | |
| 122336 | if( pCsr->bDesc==bDescDoclist ){ |
| 122337 | int dummy; |
| 122338 | while( (pIter==0 || DOCID_CMP(iDocid, pCsr->iPrevId)>0 ) && bEof==0 ){ |
| 122339 | sqlite3Fts3DoclistPrev( |
| 122340 | bDescDoclist, pPhrase->doclist.aAll, pPhrase->doclist.nAll, |
| 122341 | &pIter, &iDocid, &dummy, &bEof |
| 122342 | ); |
| 122343 | } |
| 122344 | }else{ |
| 122345 | while( (pIter==0 || DOCID_CMP(iDocid, pCsr->iPrevId)<0 ) && bEof==0 ){ |
| 122346 | sqlite3Fts3DoclistNext( |
| 122347 | bDescDoclist, pPhrase->doclist.aAll, pPhrase->doclist.nAll, |
| 122348 | &pIter, &iDocid, &bEof |
| 122349 | ); |
| 122350 | } |
| 122351 | } |
| 122352 | |
| 122353 | if( bEof || iDocid!=pCsr->iPrevId ) pIter = 0; |
| 122354 | } |
| 122355 | if( pIter==0 ) return SQLITE_OK; |
| 122356 | |
| 122357 | if( *pIter==0x01 ){ |
| 122358 | pIter++; |
| 122359 | pIter += sqlite3Fts3GetVarint32(pIter, &iThis); |
| 122360 | }else{ |
| 122361 | iThis = 0; |
| @@ -122271,11 +122365,12 @@ | |
| 122365 | if( *pIter==0x00 ) return 0; |
| 122366 | pIter++; |
| 122367 | pIter += sqlite3Fts3GetVarint32(pIter, &iThis); |
| 122368 | } |
| 122369 | |
| 122370 | *ppOut = ((iCol==iThis)?pIter:0); |
| 122371 | return SQLITE_OK; |
| 122372 | } |
| 122373 | |
| 122374 | /* |
| 122375 | ** Free all components of the Fts3Phrase structure that were allocated by |
| 122376 | ** the eval module. Specifically, this means to free: |
| @@ -131318,14 +131413,15 @@ | |
| 131413 | */ |
| 131414 | static int fts3SnippetFindPositions(Fts3Expr *pExpr, int iPhrase, void *ctx){ |
| 131415 | SnippetIter *p = (SnippetIter *)ctx; |
| 131416 | SnippetPhrase *pPhrase = &p->aPhrase[iPhrase]; |
| 131417 | char *pCsr; |
| 131418 | int rc; |
| 131419 | |
| 131420 | pPhrase->nToken = pExpr->pPhrase->nToken; |
| 131421 | rc = sqlite3Fts3EvalPhrasePoslist(p->pCsr, pExpr, p->iCol, &pCsr); |
| 131422 | assert( rc==SQLITE_OK || pCsr==0 ); |
| 131423 | if( pCsr ){ |
| 131424 | int iFirst = 0; |
| 131425 | pPhrase->pList = pCsr; |
| 131426 | fts3GetDeltaPosition(&pCsr, &iFirst); |
| 131427 | assert( iFirst>=0 ); |
| @@ -131332,14 +131428,16 @@ | |
| 131428 | pPhrase->pHead = pCsr; |
| 131429 | pPhrase->pTail = pCsr; |
| 131430 | pPhrase->iHead = iFirst; |
| 131431 | pPhrase->iTail = iFirst; |
| 131432 | }else{ |
| 131433 | assert( rc!=SQLITE_OK || ( |
| 131434 | pPhrase->pList==0 && pPhrase->pHead==0 && pPhrase->pTail==0 |
| 131435 | )); |
| 131436 | } |
| 131437 | |
| 131438 | return rc; |
| 131439 | } |
| 131440 | |
| 131441 | /* |
| 131442 | ** Select the fragment of text consisting of nFragment contiguous tokens |
| 131443 | ** from column iCol that represent the "best" snippet. The best snippet |
| @@ -131728,25 +131826,26 @@ | |
| 131826 | static int fts3ExprLocalHitsCb( |
| 131827 | Fts3Expr *pExpr, /* Phrase expression node */ |
| 131828 | int iPhrase, /* Phrase number */ |
| 131829 | void *pCtx /* Pointer to MatchInfo structure */ |
| 131830 | ){ |
| 131831 | int rc = SQLITE_OK; |
| 131832 | MatchInfo *p = (MatchInfo *)pCtx; |
| 131833 | int iStart = iPhrase * p->nCol * 3; |
| 131834 | int i; |
| 131835 | |
| 131836 | for(i=0; i<p->nCol && rc==SQLITE_OK; i++){ |
| 131837 | char *pCsr; |
| 131838 | rc = sqlite3Fts3EvalPhrasePoslist(p->pCursor, pExpr, i, &pCsr); |
| 131839 | if( pCsr ){ |
| 131840 | p->aMatchinfo[iStart+i*3] = fts3ColumnlistCount(&pCsr); |
| 131841 | }else{ |
| 131842 | p->aMatchinfo[iStart+i*3] = 0; |
| 131843 | } |
| 131844 | } |
| 131845 | |
| 131846 | return rc; |
| 131847 | } |
| 131848 | |
| 131849 | static int fts3MatchinfoCheck( |
| 131850 | Fts3Table *pTab, |
| 131851 | char cArg, |
| @@ -131903,12 +132002,14 @@ | |
| 132002 | for(iCol=0; iCol<pInfo->nCol; iCol++){ |
| 132003 | int nLcs = 0; /* LCS value for this column */ |
| 132004 | int nLive = 0; /* Number of iterators in aIter not at EOF */ |
| 132005 | |
| 132006 | for(i=0; i<pInfo->nPhrase; i++){ |
| 132007 | int rc; |
| 132008 | LcsIterator *pIt = &aIter[i]; |
| 132009 | rc = sqlite3Fts3EvalPhrasePoslist(pCsr, pIt->pExpr, iCol, &pIt->pRead); |
| 132010 | if( rc!=SQLITE_OK ) return rc; |
| 132011 | if( pIt->pRead ){ |
| 132012 | pIt->iPos = pIt->iPosOffset; |
| 132013 | fts3LcsIteratorAdvance(&aIter[i]); |
| 132014 | nLive++; |
| 132015 | } |
| @@ -132256,13 +132357,14 @@ | |
| 132357 | TermOffsetCtx *p = (TermOffsetCtx *)ctx; |
| 132358 | int nTerm; /* Number of tokens in phrase */ |
| 132359 | int iTerm; /* For looping through nTerm phrase terms */ |
| 132360 | char *pList; /* Pointer to position list for phrase */ |
| 132361 | int iPos = 0; /* First position in position-list */ |
| 132362 | int rc; |
| 132363 | |
| 132364 | UNUSED_PARAMETER(iPhrase); |
| 132365 | rc = sqlite3Fts3EvalPhrasePoslist(p->pCsr, pExpr, p->iCol, &pList); |
| 132366 | nTerm = pExpr->pPhrase->nToken; |
| 132367 | if( pList ){ |
| 132368 | fts3GetDeltaPosition(&pList, &iPos); |
| 132369 | assert( iPos>=0 ); |
| 132370 | } |
| @@ -132272,11 +132374,11 @@ | |
| 132374 | pT->iOff = nTerm-iTerm-1; |
| 132375 | pT->pList = pList; |
| 132376 | pT->iPos = iPos; |
| 132377 | } |
| 132378 | |
| 132379 | return rc; |
| 132380 | } |
| 132381 | |
| 132382 | /* |
| 132383 | ** Implementation of offsets() function. |
| 132384 | */ |
| 132385 |
+2
-2
| --- src/sqlite3.h | ||
| +++ src/sqlite3.h | ||
| @@ -107,11 +107,11 @@ | ||
| 107 | 107 | ** [sqlite3_libversion_number()], [sqlite3_sourceid()], |
| 108 | 108 | ** [sqlite_version()] and [sqlite_source_id()]. |
| 109 | 109 | */ |
| 110 | 110 | #define SQLITE_VERSION "3.7.12" |
| 111 | 111 | #define SQLITE_VERSION_NUMBER 3007012 |
| 112 | -#define SQLITE_SOURCE_ID "2012-05-08 11:17:33 38bf90af1ede6ee64ef7be66392e895e60c9126e" | |
| 112 | +#define SQLITE_SOURCE_ID "2012-05-12 18:29:53 e536ac041815b118c461ceee798f9b7283269f58" | |
| 113 | 113 | |
| 114 | 114 | /* |
| 115 | 115 | ** CAPI3REF: Run-Time Library Version Numbers |
| 116 | 116 | ** KEYWORDS: sqlite3_version, sqlite3_sourceid |
| 117 | 117 | ** |
| @@ -6013,11 +6013,11 @@ | ||
| 6013 | 6013 | ** been written to disk. Specifically, the number of pages written to the |
| 6014 | 6014 | ** wal file in wal mode databases, or the number of pages written to the |
| 6015 | 6015 | ** database file in rollback mode databases. Any pages written as part of |
| 6016 | 6016 | ** transaction rollback or database recovery operations are not included. |
| 6017 | 6017 | ** If an IO or other error occurs while writing a page to disk, the effect |
| 6018 | -** on subsequent SQLITE_DBSTATUS_CACHE_WRITE requests is undefined). ^The | |
| 6018 | +** on subsequent SQLITE_DBSTATUS_CACHE_WRITE requests is undefined.)^ ^The | |
| 6019 | 6019 | ** highwater mark associated with SQLITE_DBSTATUS_CACHE_WRITE is always 0. |
| 6020 | 6020 | ** </dd> |
| 6021 | 6021 | ** </dl> |
| 6022 | 6022 | */ |
| 6023 | 6023 | #define SQLITE_DBSTATUS_LOOKASIDE_USED 0 |
| 6024 | 6024 |
| --- src/sqlite3.h | |
| +++ src/sqlite3.h | |
| @@ -107,11 +107,11 @@ | |
| 107 | ** [sqlite3_libversion_number()], [sqlite3_sourceid()], |
| 108 | ** [sqlite_version()] and [sqlite_source_id()]. |
| 109 | */ |
| 110 | #define SQLITE_VERSION "3.7.12" |
| 111 | #define SQLITE_VERSION_NUMBER 3007012 |
| 112 | #define SQLITE_SOURCE_ID "2012-05-08 11:17:33 38bf90af1ede6ee64ef7be66392e895e60c9126e" |
| 113 | |
| 114 | /* |
| 115 | ** CAPI3REF: Run-Time Library Version Numbers |
| 116 | ** KEYWORDS: sqlite3_version, sqlite3_sourceid |
| 117 | ** |
| @@ -6013,11 +6013,11 @@ | |
| 6013 | ** been written to disk. Specifically, the number of pages written to the |
| 6014 | ** wal file in wal mode databases, or the number of pages written to the |
| 6015 | ** database file in rollback mode databases. Any pages written as part of |
| 6016 | ** transaction rollback or database recovery operations are not included. |
| 6017 | ** If an IO or other error occurs while writing a page to disk, the effect |
| 6018 | ** on subsequent SQLITE_DBSTATUS_CACHE_WRITE requests is undefined). ^The |
| 6019 | ** highwater mark associated with SQLITE_DBSTATUS_CACHE_WRITE is always 0. |
| 6020 | ** </dd> |
| 6021 | ** </dl> |
| 6022 | */ |
| 6023 | #define SQLITE_DBSTATUS_LOOKASIDE_USED 0 |
| 6024 |
| --- src/sqlite3.h | |
| +++ src/sqlite3.h | |
| @@ -107,11 +107,11 @@ | |
| 107 | ** [sqlite3_libversion_number()], [sqlite3_sourceid()], |
| 108 | ** [sqlite_version()] and [sqlite_source_id()]. |
| 109 | */ |
| 110 | #define SQLITE_VERSION "3.7.12" |
| 111 | #define SQLITE_VERSION_NUMBER 3007012 |
| 112 | #define SQLITE_SOURCE_ID "2012-05-12 18:29:53 e536ac041815b118c461ceee798f9b7283269f58" |
| 113 | |
| 114 | /* |
| 115 | ** CAPI3REF: Run-Time Library Version Numbers |
| 116 | ** KEYWORDS: sqlite3_version, sqlite3_sourceid |
| 117 | ** |
| @@ -6013,11 +6013,11 @@ | |
| 6013 | ** been written to disk. Specifically, the number of pages written to the |
| 6014 | ** wal file in wal mode databases, or the number of pages written to the |
| 6015 | ** database file in rollback mode databases. Any pages written as part of |
| 6016 | ** transaction rollback or database recovery operations are not included. |
| 6017 | ** If an IO or other error occurs while writing a page to disk, the effect |
| 6018 | ** on subsequent SQLITE_DBSTATUS_CACHE_WRITE requests is undefined.)^ ^The |
| 6019 | ** highwater mark associated with SQLITE_DBSTATUS_CACHE_WRITE is always 0. |
| 6020 | ** </dd> |
| 6021 | ** </dl> |
| 6022 | */ |
| 6023 | #define SQLITE_DBSTATUS_LOOKASIDE_USED 0 |
| 6024 |