📄 parse.c
字号:
/* 290 */ 1027, 1025,};static const YYACTIONTYPE yy_default[] = { /* 0 */ 595, 821, 902, 711, 902, 821, 902, 902, 848, 902, /* 10 */ 715, 877, 819, 902, 902, 902, 902, 793, 902, 848, /* 20 */ 902, 627, 848, 848, 744, 902, 902, 902, 902, 902, /* 30 */ 902, 902, 902, 745, 902, 823, 818, 814, 816, 815, /* 40 */ 822, 746, 735, 742, 749, 727, 861, 751, 752, 758, /* 50 */ 759, 878, 876, 781, 780, 799, 902, 902, 902, 902, /* 60 */ 902, 902, 902, 902, 902, 902, 902, 902, 902, 902, /* 70 */ 902, 902, 902, 902, 902, 902, 902, 902, 902, 902, /* 80 */ 902, 902, 902, 902, 902, 902, 902, 902, 902, 902, /* 90 */ 902, 902, 902, 902, 902, 902, 902, 783, 805, 782, /* 100 */ 792, 620, 784, 785, 680, 615, 902, 902, 786, 902, /* 110 */ 787, 800, 801, 802, 902, 902, 902, 902, 902, 902, /* 120 */ 595, 711, 902, 711, 902, 902, 902, 902, 902, 902, /* 130 */ 902, 902, 902, 902, 902, 902, 902, 902, 902, 902, /* 140 */ 902, 902, 902, 902, 902, 902, 705, 715, 895, 902, /* 150 */ 902, 671, 902, 902, 902, 902, 902, 902, 902, 902, /* 160 */ 902, 902, 603, 601, 902, 703, 902, 902, 629, 902, /* 170 */ 902, 713, 902, 902, 718, 719, 902, 902, 902, 902, /* 180 */ 902, 902, 902, 902, 617, 902, 902, 692, 902, 854, /* 190 */ 902, 902, 902, 868, 902, 902, 902, 866, 902, 902, /* 200 */ 902, 694, 754, 834, 902, 881, 883, 902, 902, 703, /* 210 */ 712, 902, 902, 902, 817, 738, 738, 738, 650, 738, /* 220 */ 902, 738, 902, 653, 748, 748, 600, 600, 600, 600, /* 230 */ 670, 902, 748, 739, 741, 731, 743, 902, 720, 720, /* 240 */ 728, 730, 728, 730, 682, 682, 667, 682, 653, 682, /* 250 */ 827, 831, 831, 667, 682, 682, 682, 827, 612, 720, /* 260 */ 612, 720, 612, 720, 720, 858, 860, 612, 720, 684, /* 270 */ 684, 760, 748, 720, 691, 691, 691, 691, 748, 684, /* 280 */ 760, 720, 880, 880, 720, 720, 888, 637, 655, 655, /* 290 */ 895, 900, 902, 902, 902, 902, 767, 902, 902, 902, /* 300 */ 902, 902, 902, 902, 902, 902, 902, 902, 902, 902, /* 310 */ 841, 902, 902, 902, 902, 772, 768, 902, 769, 902, /* 320 */ 697, 902, 902, 902, 902, 902, 902, 902, 902, 902, /* 330 */ 902, 820, 902, 732, 902, 740, 902, 902, 902, 902, /* 340 */ 902, 902, 902, 902, 902, 902, 902, 902, 902, 902, /* 350 */ 902, 902, 902, 902, 902, 902, 902, 902, 902, 902, /* 360 */ 856, 857, 902, 902, 902, 902, 902, 902, 902, 902, /* 370 */ 902, 902, 902, 902, 902, 902, 902, 902, 902, 902, /* 380 */ 902, 902, 902, 902, 902, 887, 902, 902, 890, 596, /* 390 */ 902, 591, 593, 594, 598, 599, 602, 624, 625, 626, /* 400 */ 604, 605, 606, 607, 608, 609, 610, 616, 618, 636, /* 410 */ 638, 622, 640, 701, 702, 764, 695, 696, 700, 623, /* 420 */ 775, 766, 770, 771, 773, 774, 788, 789, 791, 797, /* 430 */ 804, 807, 790, 795, 796, 798, 803, 806, 698, 699, /* 440 */ 810, 630, 631, 634, 635, 844, 846, 845, 847, 633, /* 450 */ 632, 776, 779, 812, 813, 869, 870, 871, 872, 873, /* 460 */ 808, 721, 811, 794, 733, 736, 737, 734, 704, 714, /* 470 */ 723, 724, 725, 726, 709, 710, 716, 729, 762, 763, /* 480 */ 717, 706, 707, 708, 809, 765, 777, 778, 641, 642, /* 490 */ 772, 643, 644, 645, 683, 686, 687, 688, 646, 665, /* 500 */ 668, 669, 647, 654, 648, 649, 656, 657, 658, 661, /* 510 */ 662, 663, 664, 659, 660, 828, 829, 832, 830, 651, /* 520 */ 652, 666, 639, 628, 621, 672, 675, 676, 677, 678, /* 530 */ 679, 681, 673, 674, 619, 611, 613, 722, 850, 859, /* 540 */ 855, 851, 852, 853, 614, 824, 825, 685, 756, 757, /* 550 */ 849, 862, 864, 761, 865, 867, 863, 892, 689, 690, /* 560 */ 693, 833, 874, 747, 750, 753, 755, 835, 836, 837, /* 570 */ 838, 839, 842, 843, 840, 875, 879, 882, 884, 885, /* 580 */ 886, 889, 891, 896, 897, 898, 901, 899, 597, 592,};#define YY_SZ_ACTTAB (int)(sizeof(yy_action)/sizeof(yy_action[0]))/* The next table maps tokens into fallback tokens. If a construct** like the following:** ** %fallback ID X Y Z.**** appears in the grammar, then ID becomes a fallback token for X, Y,** and Z. Whenever one of the tokens X, Y, or Z is input to the parser** but it does not parse, the type of the token is changed to ID and** the parse is retried before an error is thrown.*/#ifdef YYFALLBACKstatic const YYCODETYPE yyFallback[] = { 0, /* $ => nothing */ 0, /* SEMI => nothing */ 23, /* EXPLAIN => ID */ 23, /* QUERY => ID */ 23, /* PLAN => ID */ 23, /* BEGIN => ID */ 0, /* TRANSACTION => nothing */ 23, /* DEFERRED => ID */ 23, /* IMMEDIATE => ID */ 23, /* EXCLUSIVE => ID */ 0, /* COMMIT => nothing */ 23, /* END => ID */ 0, /* ROLLBACK => nothing */ 0, /* CREATE => nothing */ 0, /* TABLE => nothing */ 23, /* IF => ID */ 0, /* NOT => nothing */ 0, /* EXISTS => nothing */ 23, /* TEMP => ID */ 0, /* LP => nothing */ 0, /* RP => nothing */ 0, /* AS => nothing */ 0, /* COMMA => nothing */ 0, /* ID => nothing */ 23, /* ABORT => ID */ 23, /* AFTER => ID */ 23, /* ANALYZE => ID */ 23, /* ASC => ID */ 23, /* ATTACH => ID */ 23, /* BEFORE => ID */ 23, /* CASCADE => ID */ 23, /* CAST => ID */ 23, /* CONFLICT => ID */ 23, /* DATABASE => ID */ 23, /* DESC => ID */ 23, /* DETACH => ID */ 23, /* EACH => ID */ 23, /* FAIL => ID */ 23, /* FOR => ID */ 23, /* IGNORE => ID */ 23, /* INITIALLY => ID */ 23, /* INSTEAD => ID */ 23, /* LIKE_KW => ID */ 23, /* MATCH => ID */ 23, /* KEY => ID */ 23, /* OF => ID */ 23, /* OFFSET => ID */ 23, /* PRAGMA => ID */ 23, /* RAISE => ID */ 23, /* REPLACE => ID */ 23, /* RESTRICT => ID */ 23, /* ROW => ID */ 23, /* TRIGGER => ID */ 23, /* VACUUM => ID */ 23, /* VIEW => ID */ 23, /* VIRTUAL => ID */ 23, /* REINDEX => ID */ 23, /* RENAME => ID */ 23, /* CTIME_KW => ID */ 0, /* ANY => nothing */ 0, /* OR => nothing */ 0, /* AND => nothing */ 0, /* IS => nothing */ 0, /* BETWEEN => nothing */ 0, /* IN => nothing */ 0, /* ISNULL => nothing */ 0, /* NOTNULL => nothing */ 0, /* NE => nothing */ 0, /* EQ => nothing */ 0, /* GT => nothing */ 0, /* LE => nothing */ 0, /* LT => nothing */ 0, /* GE => nothing */ 0, /* ESCAPE => nothing */ 0, /* BITAND => nothing */ 0, /* BITOR => nothing */ 0, /* LSHIFT => nothing */ 0, /* RSHIFT => nothing */ 0, /* PLUS => nothing */ 0, /* MINUS => nothing */ 0, /* STAR => nothing */ 0, /* SLASH => nothing */ 0, /* REM => nothing */ 0, /* CONCAT => nothing */ 0, /* COLLATE => nothing */ 0, /* UMINUS => nothing */ 0, /* UPLUS => nothing */ 0, /* BITNOT => nothing */ 0, /* STRING => nothing */ 0, /* JOIN_KW => nothing */ 0, /* CONSTRAINT => nothing */ 0, /* DEFAULT => nothing */ 0, /* NULL => nothing */ 0, /* PRIMARY => nothing */ 0, /* UNIQUE => nothing */ 0, /* CHECK => nothing */ 0, /* REFERENCES => nothing */ 0, /* AUTOINCR => nothing */ 0, /* ON => nothing */ 0, /* DELETE => nothing */ 0, /* UPDATE => nothing */ 0, /* INSERT => nothing */ 0, /* SET => nothing */ 0, /* DEFERRABLE => nothing */ 0, /* FOREIGN => nothing */ 0, /* DROP => nothing */ 0, /* UNION => nothing */ 0, /* ALL => nothing */ 0, /* EXCEPT => nothing */ 0, /* INTERSECT => nothing */ 0, /* SELECT => nothing */ 0, /* DISTINCT => nothing */ 0, /* DOT => nothing */ 0, /* FROM => nothing */ 0, /* JOIN => nothing */ 0, /* USING => nothing */ 0, /* ORDER => nothing */ 0, /* BY => nothing */ 0, /* GROUP => nothing */ 0, /* HAVING => nothing */ 0, /* LIMIT => nothing */ 0, /* WHERE => nothing */ 0, /* INTO => nothing */ 0, /* VALUES => nothing */ 0, /* INTEGER => nothing */ 0, /* FLOAT => nothing */ 0, /* BLOB => nothing */ 0, /* REGISTER => nothing */ 0, /* VARIABLE => nothing */ 0, /* CASE => nothing */ 0, /* WHEN => nothing */ 0, /* THEN => nothing */ 0, /* ELSE => nothing */ 0, /* INDEX => nothing */ 0, /* ALTER => nothing */ 0, /* TO => nothing */ 0, /* ADD => nothing */ 0, /* COLUMNKW => nothing */};#endif /* YYFALLBACK *//* The following structure represents a single element of the** parser's stack. Information stored includes:**** + The state number for the parser at this level of the stack.**** + The value of the token stored at this level of the stack.** (In other words, the "major" token.)**** + The semantic value stored at this level of the stack. This is** the information used by the action routines in the grammar.** It is sometimes called the "minor" token.*/struct yyStackEntry { YYACTIONTYPE stateno; /* The state-number */ YYCODETYPE major; /* The major token value. This is the code ** number for the token at this stack level */ YYMINORTYPE minor; /* The user-supplied minor token value. This ** is the value of the token */};typedef struct yyStackEntry yyStackEntry;/* The state of the parser is completely contained in an instance of** the following structure */struct yyParser { int yyidx; /* Index of top element in stack */#ifdef YYTRACKMAXSTACKDEPTH int yyidxMax; /* Maximum value of yyidx */#endif int yyerrcnt; /* Shifts left before out of the error */ sqlite3ParserARG_SDECL /* A place to hold %extra_argument */#if YYSTACKDEPTH<=0 int yystksz; /* Current side of the stack */ yyStackEntry *yystack; /* The parser's stack */#else yyStackEntry yystack[YYSTACKDEPTH]; /* The parser's stack */#endif};typedef struct yyParser yyParser;#ifndef NDEBUG#include <stdio.h>static FILE *yyTraceFILE = 0;static char *yyTracePrompt = 0;#endif /* NDEBUG */#ifndef NDEBUG/* ** Turn parser tracing on by giving a stream to which to write the trace
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -