[205] | 1 | /* Driver template for the LEMON parser generator.
|
---|
| 2 | ** The author disclaims copyright to this source code.
|
---|
| 3 | */
|
---|
| 4 | /* First off, code is include which follows the "include" declaration
|
---|
| 5 | ** in the input file. */
|
---|
| 6 | #include <stdio.h>
|
---|
| 7 | #line 33 "parse.y"
|
---|
| 8 |
|
---|
| 9 | #include "sqliteInt.h"
|
---|
| 10 | #include "parse.h"
|
---|
| 11 |
|
---|
| 12 | /*
|
---|
| 13 | ** An instance of this structure holds information about the
|
---|
| 14 | ** LIMIT clause of a SELECT statement.
|
---|
| 15 | */
|
---|
| 16 | struct LimitVal {
|
---|
| 17 | int limit; /* The LIMIT value. -1 if there is no limit */
|
---|
| 18 | int offset; /* The OFFSET. 0 if there is none */
|
---|
| 19 | };
|
---|
| 20 |
|
---|
| 21 | /*
|
---|
| 22 | ** An instance of the following structure describes the event of a
|
---|
| 23 | ** TRIGGER. "a" is the event type, one of TK_UPDATE, TK_INSERT,
|
---|
| 24 | ** TK_DELETE, or TK_INSTEAD. If the event is of the form
|
---|
| 25 | **
|
---|
| 26 | ** UPDATE ON (a,b,c)
|
---|
| 27 | **
|
---|
| 28 | ** Then the "b" IdList records the list "a,b,c".
|
---|
| 29 | */
|
---|
| 30 | struct TrigEvent { int a; IdList * b; };
|
---|
| 31 |
|
---|
| 32 |
|
---|
| 33 | #line 34 "parse.c"
|
---|
| 34 | /* Next is all token values, in a form suitable for use by makeheaders.
|
---|
| 35 | ** This section will be null unless lemon is run with the -m switch.
|
---|
| 36 | */
|
---|
| 37 | /*
|
---|
| 38 | ** These constants (all generated automatically by the parser generator)
|
---|
| 39 | ** specify the various kinds of tokens (terminals) that the parser
|
---|
| 40 | ** understands.
|
---|
| 41 | **
|
---|
| 42 | ** Each symbol here is a terminal symbol in the grammar.
|
---|
| 43 | */
|
---|
| 44 | /* Make sure the INTERFACE macro is defined.
|
---|
| 45 | */
|
---|
| 46 | #ifndef INTERFACE
|
---|
| 47 | # define INTERFACE 1
|
---|
| 48 | #endif
|
---|
| 49 | /* The next thing included is series of defines which control
|
---|
| 50 | ** various aspects of the generated parser.
|
---|
| 51 | ** YYCODETYPE is the data type used for storing terminal
|
---|
| 52 | ** and nonterminal numbers. "unsigned char" is
|
---|
| 53 | ** used if there are fewer than 250 terminals
|
---|
| 54 | ** and nonterminals. "int" is used otherwise.
|
---|
| 55 | ** YYNOCODE is a number of type YYCODETYPE which corresponds
|
---|
| 56 | ** to no legal terminal or nonterminal number. This
|
---|
| 57 | ** number is used to fill in empty slots of the hash
|
---|
| 58 | ** table.
|
---|
| 59 | ** YYFALLBACK If defined, this indicates that one or more tokens
|
---|
| 60 | ** have fall-back values which should be used if the
|
---|
| 61 | ** original value of the token will not parse.
|
---|
| 62 | ** YYACTIONTYPE is the data type used for storing terminal
|
---|
| 63 | ** and nonterminal numbers. "unsigned char" is
|
---|
| 64 | ** used if there are fewer than 250 rules and
|
---|
| 65 | ** states combined. "int" is used otherwise.
|
---|
| 66 | ** sqliteParserTOKENTYPE is the data type used for minor tokens given
|
---|
| 67 | ** directly to the parser from the tokenizer.
|
---|
| 68 | ** YYMINORTYPE is the data type used for all minor tokens.
|
---|
| 69 | ** This is typically a union of many types, one of
|
---|
| 70 | ** which is sqliteParserTOKENTYPE. The entry in the union
|
---|
| 71 | ** for base tokens is called "yy0".
|
---|
| 72 | ** YYSTACKDEPTH is the maximum depth of the parser's stack.
|
---|
| 73 | ** sqliteParserARG_SDECL A static variable declaration for the %extra_argument
|
---|
| 74 | ** sqliteParserARG_PDECL A parameter declaration for the %extra_argument
|
---|
| 75 | ** sqliteParserARG_STORE Code to store %extra_argument into yypParser
|
---|
| 76 | ** sqliteParserARG_FETCH Code to extract %extra_argument from yypParser
|
---|
| 77 | ** YYNSTATE the combined number of states.
|
---|
| 78 | ** YYNRULE the number of rules in the grammar
|
---|
| 79 | ** YYERRORSYMBOL is the code number of the error symbol. If not
|
---|
| 80 | ** defined, then do no error processing.
|
---|
| 81 | */
|
---|
| 82 | /* */
|
---|
| 83 | #define YYCODETYPE unsigned char
|
---|
| 84 | #define YYNOCODE 221
|
---|
| 85 | #define YYACTIONTYPE unsigned short int
|
---|
| 86 | #define sqliteParserTOKENTYPE Token
|
---|
| 87 | typedef union {
|
---|
| 88 | sqliteParserTOKENTYPE yy0;
|
---|
| 89 | TriggerStep * yy19;
|
---|
| 90 | struct LimitVal yy124;
|
---|
| 91 | Select* yy179;
|
---|
| 92 | Expr * yy182;
|
---|
| 93 | Expr* yy242;
|
---|
| 94 | struct TrigEvent yy290;
|
---|
| 95 | Token yy298;
|
---|
| 96 | SrcList* yy307;
|
---|
| 97 | IdList* yy320;
|
---|
| 98 | ExprList* yy322;
|
---|
| 99 | int yy372;
|
---|
| 100 | struct {int value; int mask;} yy407;
|
---|
| 101 | int yy441;
|
---|
| 102 | } YYMINORTYPE;
|
---|
| 103 | #define YYSTACKDEPTH 100
|
---|
| 104 | #define sqliteParserARG_SDECL Parse *pParse;
|
---|
| 105 | #define sqliteParserARG_PDECL ,Parse *pParse
|
---|
| 106 | #define sqliteParserARG_FETCH Parse *pParse = yypParser->pParse
|
---|
| 107 | #define sqliteParserARG_STORE yypParser->pParse = pParse
|
---|
| 108 | #define YYNSTATE 563
|
---|
| 109 | #define YYNRULE 293
|
---|
| 110 | #define YYERRORSYMBOL 131
|
---|
| 111 | #define YYERRSYMDT yy441
|
---|
| 112 | #define YYFALLBACK 1
|
---|
| 113 | #define YY_NO_ACTION (YYNSTATE+YYNRULE+2)
|
---|
| 114 | #define YY_ACCEPT_ACTION (YYNSTATE+YYNRULE+1)
|
---|
| 115 | #define YY_ERROR_ACTION (YYNSTATE+YYNRULE)
|
---|
| 116 |
|
---|
| 117 | /* Next are that tables used to determine what action to take based on the
|
---|
| 118 | ** current state and lookahead token. These tables are used to implement
|
---|
| 119 | ** functions that take a state number and lookahead value and return an
|
---|
| 120 | ** action integer.
|
---|
| 121 | **
|
---|
| 122 | ** Suppose the action integer is N. Then the action is determined as
|
---|
| 123 | ** follows
|
---|
| 124 | **
|
---|
| 125 | ** 0 <= N < YYNSTATE Shift N. That is, push the lookahead
|
---|
| 126 | ** token onto the stack and goto state N.
|
---|
| 127 | **
|
---|
| 128 | ** YYNSTATE <= N < YYNSTATE+YYNRULE Reduce by rule N-YYNSTATE.
|
---|
| 129 | **
|
---|
| 130 | ** N == YYNSTATE+YYNRULE A syntax error has occurred.
|
---|
| 131 | **
|
---|
| 132 | ** N == YYNSTATE+YYNRULE+1 The parser accepts its input.
|
---|
| 133 | **
|
---|
| 134 | ** N == YYNSTATE+YYNRULE+2 No such action. Denotes unused
|
---|
| 135 | ** slots in the yy_action[] table.
|
---|
| 136 | **
|
---|
| 137 | ** The action table is constructed as a single large table named yy_action[].
|
---|
| 138 | ** Given state S and lookahead X, the action is computed as
|
---|
| 139 | **
|
---|
| 140 | ** yy_action[ yy_shift_ofst[S] + X ]
|
---|
| 141 | **
|
---|
| 142 | ** If the index value yy_shift_ofst[S]+X is out of range or if the value
|
---|
| 143 | ** yy_lookahead[yy_shift_ofst[S]+X] is not equal to X or if yy_shift_ofst[S]
|
---|
| 144 | ** is equal to YY_SHIFT_USE_DFLT, it means that the action is not in the table
|
---|
| 145 | ** and that yy_default[S] should be used instead.
|
---|
| 146 | **
|
---|
| 147 | ** The formula above is for computing the action when the lookahead is
|
---|
| 148 | ** a terminal symbol. If the lookahead is a non-terminal (as occurs after
|
---|
| 149 | ** a reduce action) then the yy_reduce_ofst[] array is used in place of
|
---|
| 150 | ** the yy_shift_ofst[] array and YY_REDUCE_USE_DFLT is used in place of
|
---|
| 151 | ** YY_SHIFT_USE_DFLT.
|
---|
| 152 | **
|
---|
| 153 | ** The following are the tables generated in this section:
|
---|
| 154 | **
|
---|
| 155 | ** yy_action[] A single table containing all actions.
|
---|
| 156 | ** yy_lookahead[] A table containing the lookahead for each entry in
|
---|
| 157 | ** yy_action. Used to detect hash collisions.
|
---|
| 158 | ** yy_shift_ofst[] For each state, the offset into yy_action for
|
---|
| 159 | ** shifting terminals.
|
---|
| 160 | ** yy_reduce_ofst[] For each state, the offset into yy_action for
|
---|
| 161 | ** shifting non-terminals after a reduce.
|
---|
| 162 | ** yy_default[] Default action for each state.
|
---|
| 163 | */
|
---|
| 164 | static YYACTIONTYPE yy_action[] = {
|
---|
| 165 | /* 0 */ 264, 106, 262, 119, 123, 117, 121, 129, 131, 133,
|
---|
| 166 | /* 10 */ 135, 144, 146, 148, 150, 152, 154, 844, 426, 174,
|
---|
| 167 | /* 20 */ 143, 425, 2, 3, 839, 142, 129, 131, 133, 135,
|
---|
| 168 | /* 30 */ 144, 146, 148, 150, 152, 154, 247, 837, 427, 115,
|
---|
| 169 | /* 40 */ 104, 139, 127, 125, 156, 161, 157, 162, 166, 119,
|
---|
| 170 | /* 50 */ 123, 117, 121, 129, 131, 133, 135, 144, 146, 148,
|
---|
| 171 | /* 60 */ 150, 152, 154, 448, 361, 218, 263, 143, 363, 369,
|
---|
| 172 | /* 70 */ 374, 137, 142, 144, 146, 148, 150, 152, 154, 377,
|
---|
| 173 | /* 80 */ 857, 1, 562, 3, 396, 327, 115, 104, 139, 127,
|
---|
| 174 | /* 90 */ 125, 156, 161, 157, 162, 166, 119, 123, 117, 121,
|
---|
| 175 | /* 100 */ 129, 131, 133, 135, 144, 146, 148, 150, 152, 154,
|
---|
| 176 | /* 110 */ 482, 454, 444, 106, 143, 169, 20, 171, 172, 142,
|
---|
| 177 | /* 120 */ 310, 73, 4, 6, 402, 68, 398, 29, 248, 64,
|
---|
| 178 | /* 130 */ 46, 174, 497, 115, 104, 139, 127, 125, 156, 161,
|
---|
| 179 | /* 140 */ 157, 162, 166, 119, 123, 117, 121, 129, 131, 133,
|
---|
| 180 | /* 150 */ 135, 144, 146, 148, 150, 152, 154, 69, 193, 65,
|
---|
| 181 | /* 160 */ 101, 44, 54, 60, 62, 308, 331, 244, 175, 106,
|
---|
| 182 | /* 170 */ 20, 357, 333, 173, 640, 70, 359, 219, 36, 37,
|
---|
| 183 | /* 180 */ 21, 22, 510, 143, 181, 179, 303, 299, 142, 31,
|
---|
| 184 | /* 190 */ 20, 392, 177, 66, 67, 111, 358, 390, 112, 105,
|
---|
| 185 | /* 200 */ 69, 191, 115, 104, 139, 127, 125, 156, 161, 157,
|
---|
| 186 | /* 210 */ 162, 166, 119, 123, 117, 121, 129, 131, 133, 135,
|
---|
| 187 | /* 220 */ 144, 146, 148, 150, 152, 154, 388, 312, 73, 688,
|
---|
| 188 | /* 230 */ 306, 113, 183, 387, 21, 22, 230, 361, 52, 106,
|
---|
| 189 | /* 240 */ 20, 363, 369, 374, 361, 544, 542, 53, 363, 369,
|
---|
| 190 | /* 250 */ 374, 143, 377, 591, 21, 22, 142, 212, 338, 377,
|
---|
| 191 | /* 260 */ 169, 38, 171, 172, 356, 348, 535, 46, 534, 792,
|
---|
| 192 | /* 270 */ 115, 104, 139, 127, 125, 156, 161, 157, 162, 166,
|
---|
| 193 | /* 280 */ 119, 123, 117, 121, 129, 131, 133, 135, 144, 146,
|
---|
| 194 | /* 290 */ 148, 150, 152, 154, 790, 41, 336, 298, 44, 54,
|
---|
| 195 | /* 300 */ 60, 62, 308, 331, 21, 22, 197, 167, 20, 333,
|
---|
| 196 | /* 310 */ 58, 20, 395, 340, 343, 201, 169, 809, 171, 172,
|
---|
| 197 | /* 320 */ 59, 143, 337, 311, 339, 281, 142, 346, 347, 20,
|
---|
| 198 | /* 330 */ 205, 20, 639, 195, 35, 536, 537, 538, 842, 45,
|
---|
| 199 | /* 340 */ 115, 104, 139, 127, 125, 156, 161, 157, 162, 166,
|
---|
| 200 | /* 350 */ 119, 123, 117, 121, 129, 131, 133, 135, 144, 146,
|
---|
| 201 | /* 360 */ 148, 150, 152, 154, 300, 276, 148, 150, 152, 154,
|
---|
| 202 | /* 370 */ 71, 106, 21, 22, 430, 21, 22, 20, 443, 791,
|
---|
| 203 | /* 380 */ 441, 106, 40, 335, 169, 143, 171, 172, 330, 305,
|
---|
| 204 | /* 390 */ 142, 84, 86, 21, 22, 21, 22, 10, 572, 174,
|
---|
| 205 | /* 400 */ 254, 18, 83, 69, 115, 104, 139, 127, 125, 156,
|
---|
| 206 | /* 410 */ 161, 157, 162, 166, 119, 123, 117, 121, 129, 131,
|
---|
| 207 | /* 420 */ 133, 135, 144, 146, 148, 150, 152, 154, 467, 106,
|
---|
| 208 | /* 430 */ 661, 275, 143, 720, 295, 301, 169, 142, 171, 172,
|
---|
| 209 | /* 440 */ 539, 21, 22, 487, 449, 219, 459, 103, 232, 451,
|
---|
| 210 | /* 450 */ 282, 115, 104, 139, 127, 125, 156, 161, 157, 162,
|
---|
| 211 | /* 460 */ 166, 119, 123, 117, 121, 129, 131, 133, 135, 144,
|
---|
| 212 | /* 470 */ 146, 148, 150, 152, 154, 69, 417, 419, 418, 143,
|
---|
| 213 | /* 480 */ 95, 237, 312, 494, 142, 489, 47, 283, 259, 75,
|
---|
| 214 | /* 490 */ 10, 68, 189, 284, 209, 64, 289, 49, 115, 104,
|
---|
| 215 | /* 500 */ 139, 127, 125, 156, 161, 157, 162, 166, 119, 123,
|
---|
| 216 | /* 510 */ 117, 121, 129, 131, 133, 135, 144, 146, 148, 150,
|
---|
| 217 | /* 520 */ 152, 154, 196, 297, 193, 357, 429, 296, 169, 32,
|
---|
| 218 | /* 530 */ 171, 172, 391, 37, 175, 169, 276, 171, 172, 313,
|
---|
| 219 | /* 540 */ 316, 323, 325, 663, 106, 689, 245, 251, 143, 651,
|
---|
| 220 | /* 550 */ 181, 179, 292, 142, 386, 583, 491, 690, 177, 66,
|
---|
| 221 | /* 560 */ 67, 111, 184, 437, 112, 105, 213, 115, 164, 139,
|
---|
| 222 | /* 570 */ 127, 125, 156, 161, 157, 162, 166, 119, 123, 117,
|
---|
| 223 | /* 580 */ 121, 129, 131, 133, 135, 144, 146, 148, 150, 152,
|
---|
| 224 | /* 590 */ 154, 315, 726, 20, 106, 143, 333, 113, 183, 563,
|
---|
| 225 | /* 600 */ 142, 43, 278, 440, 170, 185, 330, 666, 560, 561,
|
---|
| 226 | /* 610 */ 249, 259, 103, 253, 115, 104, 139, 127, 125, 156,
|
---|
| 227 | /* 620 */ 161, 157, 162, 166, 119, 123, 117, 121, 129, 131,
|
---|
| 228 | /* 630 */ 133, 135, 144, 146, 148, 150, 152, 154, 800, 10,
|
---|
| 229 | /* 640 */ 252, 169, 143, 171, 172, 445, 97, 142, 560, 561,
|
---|
| 230 | /* 650 */ 216, 221, 217, 169, 313, 171, 172, 21, 22, 42,
|
---|
| 231 | /* 660 */ 159, 115, 227, 139, 127, 125, 156, 161, 157, 162,
|
---|
| 232 | /* 670 */ 166, 119, 123, 117, 121, 129, 131, 133, 135, 144,
|
---|
| 233 | /* 680 */ 146, 148, 150, 152, 154, 256, 73, 106, 816, 143,
|
---|
| 234 | /* 690 */ 169, 158, 171, 172, 142, 234, 397, 217, 545, 475,
|
---|
| 235 | /* 700 */ 273, 302, 274, 217, 266, 481, 315, 96, 653, 104,
|
---|
| 236 | /* 710 */ 139, 127, 125, 156, 161, 157, 162, 166, 119, 123,
|
---|
| 237 | /* 720 */ 117, 121, 129, 131, 133, 135, 144, 146, 148, 150,
|
---|
| 238 | /* 730 */ 152, 154, 106, 349, 291, 262, 143, 262, 264, 74,
|
---|
| 239 | /* 740 */ 262, 142, 533, 464, 320, 477, 319, 329, 341, 274,
|
---|
| 240 | /* 750 */ 481, 342, 137, 415, 416, 321, 266, 139, 127, 125,
|
---|
| 241 | /* 760 */ 156, 161, 157, 162, 166, 119, 123, 117, 121, 129,
|
---|
| 242 | /* 770 */ 131, 133, 135, 144, 146, 148, 150, 152, 154, 7,
|
---|
| 243 | /* 780 */ 322, 23, 25, 27, 394, 68, 267, 13, 393, 64,
|
---|
| 244 | /* 790 */ 518, 251, 106, 836, 344, 548, 14, 345, 458, 263,
|
---|
| 245 | /* 800 */ 520, 263, 106, 91, 263, 557, 266, 314, 168, 106,
|
---|
| 246 | /* 810 */ 462, 15, 443, 69, 16, 231, 276, 106, 193, 531,
|
---|
| 247 | /* 820 */ 174, 448, 276, 106, 276, 17, 529, 174, 175, 318,
|
---|
| 248 | /* 830 */ 106, 89, 106, 69, 276, 114, 286, 69, 68, 399,
|
---|
| 249 | /* 840 */ 69, 116, 64, 328, 181, 179, 106, 106, 118, 366,
|
---|
| 250 | /* 850 */ 163, 272, 177, 66, 67, 111, 215, 253, 112, 105,
|
---|
| 251 | /* 860 */ 276, 371, 467, 233, 120, 375, 219, 143, 498, 503,
|
---|
| 252 | /* 870 */ 444, 193, 142, 219, 486, 720, 401, 73, 453, 73,
|
---|
| 253 | /* 880 */ 420, 175, 278, 451, 252, 400, 106, 380, 278, 68,
|
---|
| 254 | /* 890 */ 278, 113, 183, 64, 225, 229, 106, 181, 179, 106,
|
---|
| 255 | /* 900 */ 278, 69, 106, 106, 122, 177, 66, 67, 111, 411,
|
---|
| 256 | /* 910 */ 106, 112, 105, 106, 124, 106, 106, 126, 106, 224,
|
---|
| 257 | /* 920 */ 128, 130, 193, 106, 106, 106, 278, 351, 132, 352,
|
---|
| 258 | /* 930 */ 831, 134, 175, 136, 138, 422, 141, 106, 367, 376,
|
---|
| 259 | /* 940 */ 274, 145, 147, 149, 113, 183, 793, 690, 181, 179,
|
---|
| 260 | /* 950 */ 106, 424, 106, 106, 424, 151, 177, 66, 67, 111,
|
---|
| 261 | /* 960 */ 106, 106, 112, 105, 106, 106, 808, 106, 153, 106,
|
---|
| 262 | /* 970 */ 155, 165, 106, 106, 106, 106, 106, 464, 176, 178,
|
---|
| 263 | /* 980 */ 852, 106, 180, 182, 106, 190, 293, 192, 245, 106,
|
---|
| 264 | /* 990 */ 210, 214, 226, 228, 241, 113, 183, 106, 474, 246,
|
---|
| 265 | /* 1000 */ 137, 690, 280, 372, 290, 274, 381, 412, 274, 106,
|
---|
| 266 | /* 1010 */ 471, 221, 832, 421, 438, 466, 274, 472, 480, 422,
|
---|
| 267 | /* 1020 */ 478, 73, 515, 69, 519, 255, 478, 479, 221, 690,
|
---|
| 268 | /* 1030 */ 540, 527, 508, 541, 516, 85, 39, 403, 406, 257,
|
---|
| 269 | /* 1040 */ 317, 404, 198, 407, 405, 221, 408, 69, 413, 5,
|
---|
| 270 | /* 1050 */ 824, 221, 211, 409, 817, 410, 546, 582, 258, 414,
|
---|
| 271 | /* 1060 */ 90, 547, 199, 260, 223, 829, 830, 261, 324, 200,
|
---|
| 272 | /* 1070 */ 815, 72, 34, 526, 222, 186, 423, 326, 94, 57,
|
---|
| 273 | /* 1080 */ 428, 56, 187, 188, 265, 202, 431, 554, 332, 88,
|
---|
| 274 | /* 1090 */ 33, 432, 433, 434, 279, 268, 436, 556, 435, 51,
|
---|
| 275 | /* 1100 */ 578, 30, 549, 270, 439, 798, 334, 269, 799, 203,
|
---|
| 276 | /* 1110 */ 442, 577, 204, 271, 28, 550, 447, 812, 446, 98,
|
---|
| 277 | /* 1120 */ 532, 450, 727, 728, 823, 452, 819, 576, 26, 81,
|
---|
| 278 | /* 1130 */ 82, 445, 235, 838, 80, 457, 575, 463, 461, 455,
|
---|
| 279 | /* 1140 */ 24, 456, 551, 93, 813, 460, 277, 840, 465, 528,
|
---|
| 280 | /* 1150 */ 79, 206, 807, 468, 469, 593, 470, 55, 552, 473,
|
---|
| 281 | /* 1160 */ 350, 820, 355, 850, 592, 476, 250, 19, 207, 553,
|
---|
| 282 | /* 1170 */ 353, 354, 841, 285, 236, 814, 484, 555, 287, 483,
|
---|
| 283 | /* 1180 */ 843, 208, 660, 485, 488, 389, 63, 490, 662, 360,
|
---|
| 284 | /* 1190 */ 492, 288, 851, 100, 806, 849, 495, 493, 362, 496,
|
---|
| 285 | /* 1200 */ 92, 499, 719, 364, 240, 238, 500, 365, 501, 502,
|
---|
| 286 | /* 1210 */ 239, 294, 504, 505, 507, 506, 568, 61, 11, 722,
|
---|
| 287 | /* 1220 */ 108, 368, 571, 511, 12, 517, 512, 9, 8, 559,
|
---|
| 288 | /* 1230 */ 370, 514, 725, 509, 50, 558, 373, 78, 243, 217,
|
---|
| 289 | /* 1240 */ 18, 242, 818, 521, 77, 513, 110, 543, 855, 109,
|
---|
| 290 | /* 1250 */ 522, 154, 245, 524, 107, 379, 378, 160, 523, 87,
|
---|
| 291 | /* 1260 */ 194, 385, 48, 304, 530, 383, 382, 140, 76, 811,
|
---|
| 292 | /* 1270 */ 99, 384, 525, 220, 810, 515, 49, 102, 515, 307,
|
---|
| 293 | /* 1280 */ 515, 515, 309, 515, 515, 667, 668, 669,
|
---|
| 294 | };
|
---|
| 295 | static YYCODETYPE yy_lookahead[] = {
|
---|
| 296 | /* 0 */ 21, 140, 23, 70, 71, 72, 73, 74, 75, 76,
|
---|
| 297 | /* 10 */ 77, 78, 79, 80, 81, 82, 83, 9, 25, 158,
|
---|
| 298 | /* 20 */ 41, 28, 134, 135, 14, 46, 74, 75, 76, 77,
|
---|
| 299 | /* 30 */ 78, 79, 80, 81, 82, 83, 22, 11, 45, 60,
|
---|
| 300 | /* 40 */ 61, 62, 63, 64, 65, 66, 67, 68, 69, 70,
|
---|
| 301 | /* 50 */ 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
|
---|
| 302 | /* 60 */ 81, 82, 83, 53, 90, 204, 87, 41, 94, 95,
|
---|
| 303 | /* 70 */ 96, 200, 46, 78, 79, 80, 81, 82, 83, 105,
|
---|
| 304 | /* 80 */ 132, 133, 134, 135, 17, 19, 60, 61, 62, 63,
|
---|
| 305 | /* 90 */ 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
|
---|
| 306 | /* 100 */ 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
|
---|
| 307 | /* 110 */ 100, 101, 102, 140, 41, 107, 23, 109, 110, 46,
|
---|
| 308 | /* 120 */ 159, 111, 136, 137, 57, 19, 59, 141, 114, 23,
|
---|
| 309 | /* 130 */ 62, 158, 146, 60, 61, 62, 63, 64, 65, 66,
|
---|
| 310 | /* 140 */ 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
|
---|
| 311 | /* 150 */ 77, 78, 79, 80, 81, 82, 83, 171, 52, 19,
|
---|
| 312 | /* 160 */ 23, 93, 94, 95, 96, 97, 98, 194, 62, 140,
|
---|
| 313 | /* 170 */ 23, 140, 104, 20, 20, 146, 22, 204, 147, 148,
|
---|
| 314 | /* 180 */ 87, 88, 196, 41, 78, 79, 80, 158, 46, 19,
|
---|
| 315 | /* 190 */ 23, 21, 86, 87, 88, 89, 165, 166, 92, 93,
|
---|
| 316 | /* 200 */ 171, 128, 60, 61, 62, 63, 64, 65, 66, 67,
|
---|
| 317 | /* 210 */ 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
|
---|
| 318 | /* 220 */ 78, 79, 80, 81, 82, 83, 161, 162, 111, 20,
|
---|
| 319 | /* 230 */ 20, 125, 126, 168, 87, 88, 19, 90, 34, 140,
|
---|
| 320 | /* 240 */ 23, 94, 95, 96, 90, 78, 79, 43, 94, 95,
|
---|
| 321 | /* 250 */ 96, 41, 105, 113, 87, 88, 46, 158, 23, 105,
|
---|
| 322 | /* 260 */ 107, 149, 109, 110, 152, 153, 99, 62, 140, 127,
|
---|
| 323 | /* 270 */ 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
|
---|
| 324 | /* 280 */ 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
|
---|
| 325 | /* 290 */ 80, 81, 82, 83, 14, 90, 91, 20, 93, 94,
|
---|
| 326 | /* 300 */ 95, 96, 97, 98, 87, 88, 15, 19, 23, 104,
|
---|
| 327 | /* 310 */ 26, 23, 143, 78, 79, 24, 107, 9, 109, 110,
|
---|
| 328 | /* 320 */ 36, 41, 87, 160, 89, 19, 46, 92, 93, 23,
|
---|
| 329 | /* 330 */ 39, 23, 20, 42, 22, 207, 208, 209, 9, 139,
|
---|
| 330 | /* 340 */ 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
|
---|
| 331 | /* 350 */ 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
|
---|
| 332 | /* 360 */ 80, 81, 82, 83, 20, 140, 80, 81, 82, 83,
|
---|
| 333 | /* 370 */ 172, 140, 87, 88, 205, 87, 88, 23, 146, 14,
|
---|
| 334 | /* 380 */ 211, 140, 155, 156, 107, 41, 109, 110, 161, 158,
|
---|
| 335 | /* 390 */ 46, 78, 79, 87, 88, 87, 88, 99, 9, 158,
|
---|
| 336 | /* 400 */ 115, 12, 89, 171, 60, 61, 62, 63, 64, 65,
|
---|
| 337 | /* 410 */ 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
|
---|
| 338 | /* 420 */ 76, 77, 78, 79, 80, 81, 82, 83, 196, 140,
|
---|
| 339 | /* 430 */ 9, 206, 41, 9, 80, 194, 107, 46, 109, 110,
|
---|
| 340 | /* 440 */ 210, 87, 88, 17, 212, 204, 22, 158, 20, 217,
|
---|
| 341 | /* 450 */ 146, 60, 61, 62, 63, 64, 65, 66, 67, 68,
|
---|
| 342 | /* 460 */ 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
|
---|
| 343 | /* 470 */ 79, 80, 81, 82, 83, 171, 100, 101, 102, 41,
|
---|
| 344 | /* 480 */ 191, 192, 162, 57, 46, 59, 93, 183, 184, 174,
|
---|
| 345 | /* 490 */ 99, 19, 127, 189, 129, 23, 181, 104, 60, 61,
|
---|
| 346 | /* 500 */ 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
|
---|
| 347 | /* 510 */ 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
|
---|
| 348 | /* 520 */ 82, 83, 20, 108, 52, 140, 18, 112, 107, 144,
|
---|
| 349 | /* 530 */ 109, 110, 147, 148, 62, 107, 140, 109, 110, 47,
|
---|
| 350 | /* 540 */ 100, 101, 102, 9, 140, 20, 122, 22, 41, 9,
|
---|
| 351 | /* 550 */ 78, 79, 80, 46, 62, 9, 130, 19, 86, 87,
|
---|
| 352 | /* 560 */ 88, 89, 158, 167, 92, 93, 128, 60, 61, 62,
|
---|
| 353 | /* 570 */ 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
|
---|
| 354 | /* 580 */ 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
|
---|
| 355 | /* 590 */ 83, 99, 9, 23, 140, 41, 104, 125, 126, 0,
|
---|
| 356 | /* 600 */ 46, 156, 206, 95, 108, 201, 161, 111, 9, 10,
|
---|
| 357 | /* 610 */ 183, 184, 158, 88, 60, 61, 62, 63, 64, 65,
|
---|
| 358 | /* 620 */ 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
|
---|
| 359 | /* 630 */ 76, 77, 78, 79, 80, 81, 82, 83, 130, 99,
|
---|
| 360 | /* 640 */ 115, 107, 41, 109, 110, 60, 192, 46, 9, 10,
|
---|
| 361 | /* 650 */ 20, 113, 22, 107, 47, 109, 110, 87, 88, 140,
|
---|
| 362 | /* 660 */ 62, 60, 61, 62, 63, 64, 65, 66, 67, 68,
|
---|
| 363 | /* 670 */ 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
|
---|
| 364 | /* 680 */ 79, 80, 81, 82, 83, 115, 111, 140, 9, 41,
|
---|
| 365 | /* 690 */ 107, 93, 109, 110, 46, 20, 140, 22, 19, 124,
|
---|
| 366 | /* 700 */ 20, 20, 22, 22, 152, 158, 99, 22, 123, 61,
|
---|
| 367 | /* 710 */ 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
|
---|
| 368 | /* 720 */ 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
|
---|
| 369 | /* 730 */ 82, 83, 140, 19, 182, 23, 41, 23, 21, 173,
|
---|
| 370 | /* 740 */ 23, 46, 63, 140, 91, 198, 93, 20, 89, 22,
|
---|
| 371 | /* 750 */ 158, 92, 200, 55, 56, 29, 152, 62, 63, 64,
|
---|
| 372 | /* 760 */ 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
|
---|
| 373 | /* 770 */ 75, 76, 77, 78, 79, 80, 81, 82, 83, 11,
|
---|
| 374 | /* 780 */ 54, 13, 14, 15, 16, 19, 182, 15, 146, 23,
|
---|
| 375 | /* 790 */ 198, 22, 140, 11, 89, 27, 24, 92, 195, 87,
|
---|
| 376 | /* 800 */ 32, 87, 140, 22, 87, 37, 152, 140, 146, 140,
|
---|
| 377 | /* 810 */ 158, 39, 146, 171, 42, 146, 140, 140, 52, 51,
|
---|
| 378 | /* 820 */ 158, 53, 140, 140, 140, 53, 58, 158, 62, 103,
|
---|
| 379 | /* 830 */ 140, 50, 140, 171, 140, 158, 182, 171, 19, 140,
|
---|
| 380 | /* 840 */ 171, 158, 23, 167, 78, 79, 140, 140, 158, 167,
|
---|
| 381 | /* 850 */ 158, 167, 86, 87, 88, 89, 194, 88, 92, 93,
|
---|
| 382 | /* 860 */ 140, 167, 196, 194, 158, 158, 204, 41, 100, 101,
|
---|
| 383 | /* 870 */ 102, 52, 46, 204, 106, 9, 146, 111, 212, 111,
|
---|
| 384 | /* 880 */ 49, 62, 206, 217, 115, 21, 140, 167, 206, 19,
|
---|
| 385 | /* 890 */ 206, 125, 126, 23, 68, 69, 140, 78, 79, 140,
|
---|
| 386 | /* 900 */ 206, 171, 140, 140, 158, 86, 87, 88, 89, 127,
|
---|
| 387 | /* 910 */ 140, 92, 93, 140, 158, 140, 140, 158, 140, 93,
|
---|
| 388 | /* 920 */ 158, 158, 52, 140, 140, 140, 206, 20, 158, 22,
|
---|
| 389 | /* 930 */ 99, 158, 62, 158, 158, 22, 158, 140, 20, 139,
|
---|
| 390 | /* 940 */ 22, 158, 158, 158, 125, 126, 127, 9, 78, 79,
|
---|
| 391 | /* 950 */ 140, 140, 140, 140, 140, 158, 86, 87, 88, 89,
|
---|
| 392 | /* 960 */ 140, 140, 92, 93, 140, 140, 9, 140, 158, 140,
|
---|
| 393 | /* 970 */ 158, 158, 140, 140, 140, 140, 140, 140, 158, 158,
|
---|
| 394 | /* 980 */ 9, 140, 158, 158, 140, 158, 140, 158, 122, 140,
|
---|
| 395 | /* 990 */ 158, 158, 158, 158, 158, 125, 126, 140, 146, 158,
|
---|
| 396 | /* 1000 */ 200, 103, 158, 20, 158, 22, 20, 158, 22, 140,
|
---|
| 397 | /* 1010 */ 199, 113, 99, 199, 20, 158, 22, 20, 20, 22,
|
---|
| 398 | /* 1020 */ 22, 111, 146, 171, 20, 140, 22, 158, 113, 114,
|
---|
| 399 | /* 1030 */ 89, 35, 195, 92, 124, 89, 150, 140, 99, 140,
|
---|
| 400 | /* 1040 */ 163, 213, 22, 140, 214, 113, 186, 171, 40, 9,
|
---|
| 401 | /* 1050 */ 11, 113, 127, 215, 9, 216, 140, 9, 115, 38,
|
---|
| 402 | /* 1060 */ 154, 20, 140, 140, 186, 99, 99, 186, 163, 20,
|
---|
| 403 | /* 1070 */ 9, 171, 20, 116, 140, 202, 140, 163, 118, 139,
|
---|
| 404 | /* 1080 */ 49, 157, 203, 14, 140, 22, 130, 116, 151, 154,
|
---|
| 405 | /* 1090 */ 145, 140, 99, 140, 99, 187, 19, 33, 186, 44,
|
---|
| 406 | /* 1100 */ 9, 142, 218, 116, 139, 9, 164, 188, 130, 140,
|
---|
| 407 | /* 1110 */ 11, 9, 20, 19, 138, 152, 169, 9, 170, 193,
|
---|
| 408 | /* 1120 */ 152, 14, 123, 123, 9, 9, 9, 9, 138, 180,
|
---|
| 409 | /* 1130 */ 121, 60, 140, 14, 179, 103, 9, 176, 63, 169,
|
---|
| 410 | /* 1140 */ 138, 140, 21, 117, 9, 140, 157, 9, 63, 87,
|
---|
| 411 | /* 1150 */ 178, 22, 9, 123, 140, 113, 19, 48, 140, 197,
|
---|
| 412 | /* 1160 */ 154, 9, 152, 9, 113, 19, 185, 140, 140, 219,
|
---|
| 413 | /* 1170 */ 154, 20, 9, 20, 186, 9, 140, 152, 187, 114,
|
---|
| 414 | /* 1180 */ 9, 20, 9, 176, 140, 166, 19, 140, 9, 166,
|
---|
| 415 | /* 1190 */ 140, 188, 9, 98, 9, 9, 140, 186, 140, 186,
|
---|
| 416 | /* 1200 */ 154, 114, 9, 48, 120, 193, 140, 19, 186, 176,
|
---|
| 417 | /* 1210 */ 157, 113, 169, 140, 103, 186, 9, 139, 31, 9,
|
---|
| 418 | /* 1220 */ 140, 139, 9, 123, 170, 19, 140, 139, 138, 140,
|
---|
| 419 | /* 1230 */ 19, 197, 9, 176, 164, 218, 139, 177, 118, 22,
|
---|
| 420 | /* 1240 */ 12, 119, 9, 169, 176, 186, 140, 210, 9, 113,
|
---|
| 421 | /* 1250 */ 140, 83, 122, 114, 113, 19, 48, 93, 186, 89,
|
---|
| 422 | /* 1260 */ 19, 160, 139, 20, 140, 140, 97, 200, 175, 9,
|
---|
| 423 | /* 1270 */ 157, 159, 140, 140, 9, 220, 104, 151, 220, 139,
|
---|
| 424 | /* 1280 */ 220, 220, 140, 220, 220, 111, 111, 111,
|
---|
| 425 | };
|
---|
| 426 | #define YY_SHIFT_USE_DFLT (-68)
|
---|
| 427 | static short yy_shift_ofst[] = {
|
---|
| 428 | /* 0 */ 639, 599, -68, 768, 1040, -68, 1207, 1228, 540, 1213,
|
---|
| 429 | /* 10 */ 1187, 772, -68, -68, -68, -68, -68, -68, 93, -68,
|
---|
| 430 | /* 20 */ -68, -68, -68, 389, 1127, 389, 1118, 389, 1102, 170,
|
---|
| 431 | /* 30 */ 1091, 93, 312, 1052, 1048, 147, -68, 712, -68, 205,
|
---|
| 432 | /* 40 */ -68, 93, 68, -68, 298, -68, 393, 298, -68, 1055,
|
---|
| 433 | /* 50 */ -68, 204, -68, -68, 1109, 284, 298, -68, -68, -68,
|
---|
| 434 | /* 60 */ 298, -68, 1167, 870, 140, 106, 1051, 1042, 766, -68,
|
---|
| 435 | /* 70 */ 277, 117, -68, 415, -68, 14, 1130, 1122, 1084, 1026,
|
---|
| 436 | /* 80 */ 1009, -68, 313, -68, 946, -68, 1170, -68, 781, 313,
|
---|
| 437 | /* 90 */ -68, 313, -68, 960, 870, 685, 870, 1095, 284, -68,
|
---|
| 438 | /* 100 */ 137, -68, -68, 554, 870, -68, 1141, 93, 1136, 93,
|
---|
| 439 | /* 110 */ -68, -68, -68, -68, 695, 870, 648, 870, -48, 870,
|
---|
| 440 | /* 120 */ -48, 870, -48, 870, -48, 870, -67, 870, -67, 870,
|
---|
| 441 | /* 130 */ -5, 870, -5, 870, -5, 870, -5, 870, -67, 826,
|
---|
| 442 | /* 140 */ 870, -67, -68, -68, 870, 286, 870, 286, 870, 1168,
|
---|
| 443 | /* 150 */ 870, 1168, 870, 1168, 870, -68, -68, 598, -68, 1164,
|
---|
| 444 | /* 160 */ -68, -68, 870, 507, 870, -67, 288, 766, 153, 496,
|
---|
| 445 | /* 170 */ 1174, 1175, 1176, -68, 554, 870, 695, 870, -68, 870,
|
---|
| 446 | /* 180 */ -68, 870, -68, 819, 142, 925, 365, 1069, -68, 870,
|
---|
| 447 | /* 190 */ 73, 870, 554, 1241, 291, 502, -68, 1020, 93, 1049,
|
---|
| 448 | /* 200 */ -68, 1063, 93, 1092, -68, 1129, 93, 1161, -68, 870,
|
---|
| 449 | /* 210 */ 280, 870, 438, 870, 554, 630, -68, 870, -68, -68,
|
---|
| 450 | /* 220 */ 932, 93, -68, -68, -68, 870, 601, 870, 695, 217,
|
---|
| 451 | /* 230 */ 766, 428, -68, 675, -68, 932, -68, 1095, 284, -68,
|
---|
| 452 | /* 240 */ 870, 554, 1120, 870, 1217, 870, 554, -68, -68, 769,
|
---|
| 453 | /* 250 */ -68, -68, -68, 285, -68, 570, -68, 943, -68, 306,
|
---|
| 454 | /* 260 */ 932, 717, -68, -68, 93, -68, -68, 995, 987, -68,
|
---|
| 455 | /* 270 */ 1094, 93, 680, -68, 93, -68, 284, -68, -68, 870,
|
---|
| 456 | /* 280 */ 554, 117, 209, 525, 1153, 717, 995, 987, -68, 472,
|
---|
| 457 | /* 290 */ -21, -68, -68, 1098, 354, -68, -68, -68, -68, 344,
|
---|
| 458 | /* 300 */ -68, 681, -68, 1243, -68, 210, 298, -68, 93, 66,
|
---|
| 459 | /* 310 */ -68, 607, -68, 93, -68, 440, 726, -68, 653, -68,
|
---|
| 460 | /* 320 */ -68, -68, -68, 726, -68, 726, -68, 93, 727, -68,
|
---|
| 461 | /* 330 */ -68, 137, -68, 1055, -68, -68, 235, -68, -68, -68,
|
---|
| 462 | /* 340 */ 659, -68, -68, 705, -68, -68, -68, -68, 714, 313,
|
---|
| 463 | /* 350 */ 907, -68, 313, 1151, -68, -68, -68, -68, 154, -26,
|
---|
| 464 | /* 360 */ -68, 93, -68, 1155, 1188, 93, 918, 298, -68, 1211,
|
---|
| 465 | /* 370 */ 93, 983, 298, -68, 870, 391, -68, 1208, 1236, 93,
|
---|
| 466 | /* 380 */ 986, 1169, 93, 66, -68, 492, 1172, -68, -68, -68,
|
---|
| 467 | /* 390 */ -68, -68, 117, 546, 508, 67, 93, -68, 93, 864,
|
---|
| 468 | /* 400 */ 117, 421, 93, -7, 376, 939, 93, 932, 1008, 782,
|
---|
| 469 | /* 410 */ 1039, 870, 26, 1021, 698, -68, -68, 966, 967, 831,
|
---|
| 470 | /* 420 */ 93, 913, 93, -68, -68, -68, -68, 1031, -68, -68,
|
---|
| 471 | /* 430 */ 956, 93, 993, 93, 538, 1077, 93, 994, 540, 1096,
|
---|
| 472 | /* 440 */ 978, 1099, 10, 8, 585, 772, -68, 999, 1000, 1107,
|
---|
| 473 | /* 450 */ 1115, 1116, 10, 1119, 1071, 93, 1032, 93, 424, 93,
|
---|
| 474 | /* 460 */ 1075, 870, 554, 1138, 1085, 870, 554, 1030, 93, 1137,
|
---|
| 475 | /* 470 */ 93, 997, -68, 575, 329, 1146, 870, 998, 870, 554,
|
---|
| 476 | /* 480 */ 1163, 554, 1065, 93, 866, 1171, 426, 93, 1173, 93,
|
---|
| 477 | /* 490 */ 1179, 93, 938, 1185, 93, 938, 1186, 534, 1087, 93,
|
---|
| 478 | /* 500 */ 932, 866, 1193, 1071, 93, 898, 1111, 93, 424, 1210,
|
---|
| 479 | /* 510 */ 1100, 93, 932, 1137, 910, 583, 1206, 870, 1004, 1223,
|
---|
| 480 | /* 520 */ 1071, 93, 915, 1139, 93, 957, 996, 1062, 1143, 308,
|
---|
| 481 | /* 530 */ 1265, 712, 679, 167, 1260, 1108, 1135, 1166, 941, 1045,
|
---|
| 482 | /* 540 */ 1117, 1152, 941, 1233, -68, 93, 1041, 1061, 1064, 712,
|
---|
| 483 | /* 550 */ 1121, 93, 971, 1154, 712, 1183, -68, 1064, 93, 1239,
|
---|
| 484 | /* 560 */ -68, -68, -68,
|
---|
| 485 | };
|
---|
| 486 | #define YY_REDUCE_USE_DFLT (-140)
|
---|
| 487 | static short yy_reduce_ofst[] = {
|
---|
| 488 | /* 0 */ -52, -112, -140, -14, -140, -140, -140, 1090, 1088, -140,
|
---|
| 489 | /* 10 */ -140, 1054, -140, -140, -140, -140, -140, -140, 1027, -140,
|
---|
| 490 | /* 20 */ -140, -140, -140, 1002, -140, 990, -140, 976, -140, 959,
|
---|
| 491 | /* 30 */ -140, 385, 945, -140, -140, 31, -140, 112, 886, 227,
|
---|
| 492 | /* 40 */ -140, 519, 445, -140, 200, -140, -140, 1123, -140, 1070,
|
---|
| 493 | /* 50 */ -140, -140, -140, -140, -140, 924, 940, -140, -140, -140,
|
---|
| 494 | /* 60 */ 1078, -140, -140, 231, -140, 241, -140, -140, 29, -140,
|
---|
| 495 | /* 70 */ 198, 900, -140, 566, 315, 1093, 1068, 1060, 972, 955,
|
---|
| 496 | /* 80 */ 949, -140, 935, -140, -140, -140, -140, -140, -140, 906,
|
---|
| 497 | /* 90 */ -140, 1046, -140, -140, 289, -140, 454, 926, 1113, -140,
|
---|
| 498 | /* 100 */ 1126, -140, -140, -129, 677, -140, -140, 1080, -140, 1106,
|
---|
| 499 | /* 110 */ -140, -140, -140, -140, -129, 683, -129, 690, -129, 706,
|
---|
| 500 | /* 120 */ -129, 746, -129, 756, -129, 759, -129, 762, -129, 763,
|
---|
| 501 | /* 130 */ -129, 770, -129, 773, -129, 775, -129, 776, -129, 1067,
|
---|
| 502 | /* 140 */ 778, -129, -140, -140, 783, -129, 784, -129, 785, -129,
|
---|
| 503 | /* 150 */ 797, -129, 810, -129, 812, -129, -140, -140, -140, -140,
|
---|
| 504 | /* 160 */ -140, -140, 692, -129, 813, -129, 1133, 662, 198, -140,
|
---|
| 505 | /* 170 */ -140, -140, -140, -140, -129, 820, -129, 821, -129, 824,
|
---|
| 506 | /* 180 */ -129, 825, -129, 404, -129, 873, 879, -140, -140, 827,
|
---|
| 507 | /* 190 */ -129, 829, -129, -140, -140, -140, -140, -140, 922, -140,
|
---|
| 508 | /* 200 */ -140, -140, 969, -140, -140, -140, 1028, -140, -140, 832,
|
---|
| 509 | /* 210 */ -129, 99, -129, 833, -129, -140, -140, -139, -140, -140,
|
---|
| 510 | /* 220 */ 878, 934, -140, -140, -140, 834, -129, 835, -129, 992,
|
---|
| 511 | /* 230 */ 669, 198, -140, -140, -140, 988, -140, 1012, 1053, -140,
|
---|
| 512 | /* 240 */ 836, -129, -140, -27, -140, 841, -129, -140, 427, 981,
|
---|
| 513 | /* 250 */ -140, -140, -140, 885, -140, 899, -140, -140, -140, 923,
|
---|
| 514 | /* 260 */ 881, 604, -140, -140, 944, -140, -140, 908, 919, -140,
|
---|
| 515 | /* 270 */ -140, 684, -140, -140, 225, -140, 989, -140, -140, 844,
|
---|
| 516 | /* 280 */ -129, 304, 198, 981, -140, 654, 991, 1003, -140, 846,
|
---|
| 517 | /* 290 */ 552, -140, -140, -140, 1080, -140, -140, -140, -140, -129,
|
---|
| 518 | /* 300 */ -140, -140, -140, -140, -140, -129, 1140, -140, 1142, -39,
|
---|
| 519 | /* 310 */ 163, 320, -140, 667, -140, -140, 877, -140, -140, -140,
|
---|
| 520 | /* 320 */ -140, -140, -140, 905, -140, 914, -140, 676, -140, -140,
|
---|
| 521 | /* 330 */ -140, 937, -140, 942, -140, -140, -140, -140, -140, -140,
|
---|
| 522 | /* 340 */ -140, -140, -140, -140, -140, -140, -140, -140, 1010, 1006,
|
---|
| 523 | /* 350 */ -140, -140, 1016, -140, -140, -140, -140, -140, 1019, 1023,
|
---|
| 524 | /* 360 */ -140, 1058, -140, -140, -140, 682, -140, 1082, -140, -140,
|
---|
| 525 | /* 370 */ 694, -140, 1097, -140, 707, 800, -140, -140, -140, 720,
|
---|
| 526 | /* 380 */ -140, -140, 1125, 1112, 1101, 65, -140, -140, -140, -140,
|
---|
| 527 | /* 390 */ -140, -140, 642, 198, 169, -140, 556, -140, 699, -140,
|
---|
| 528 | /* 400 */ 730, 198, 897, 828, 830, -140, 903, 860, 838, 839,
|
---|
| 529 | /* 410 */ -140, 849, -129, -140, -140, -140, -140, -140, -140, -140,
|
---|
| 530 | /* 420 */ 814, -140, 936, -140, -140, -140, -140, -140, -140, -140,
|
---|
| 531 | /* 430 */ -140, 951, -140, 953, 912, -140, 396, -140, 965, -140,
|
---|
| 532 | /* 440 */ -140, -140, 232, 198, 947, 948, -140, -140, -140, -140,
|
---|
| 533 | /* 450 */ -140, -140, 666, -140, 970, 1001, -140, 603, 961, 1005,
|
---|
| 534 | /* 460 */ -140, 652, -129, -140, -140, 857, -129, -140, 1014, 962,
|
---|
| 535 | /* 470 */ 811, -140, -140, 852, 198, -140, 547, -140, 869, -129,
|
---|
| 536 | /* 480 */ -140, -129, -140, 1036, 1007, -140, -140, 1044, -140, 1047,
|
---|
| 537 | /* 490 */ -140, 1050, 1011, -140, 1056, 1013, -140, 198, -140, 1066,
|
---|
| 538 | /* 500 */ 1022, 1033, -140, 1043, 1073, 1029, -140, 837, 1057, -140,
|
---|
| 539 | /* 510 */ -140, 1086, 1059, 1034, 876, 198, -140, 592, -140, -140,
|
---|
| 540 | /* 520 */ 1074, 1110, 1072, -140, 1132, -140, -140, -140, -140, 1124,
|
---|
| 541 | /* 530 */ -140, 968, -140, 128, -140, -140, -140, -140, 230, -140,
|
---|
| 542 | /* 540 */ -140, -140, 1037, -140, -140, 916, -140, -140, 884, 963,
|
---|
| 543 | /* 550 */ -140, 1018, 950, -140, 1025, -140, -140, 1017, 1089, -140,
|
---|
| 544 | /* 560 */ -140, -140, -140,
|
---|
| 545 | };
|
---|
| 546 | static YYACTIONTYPE yy_default[] = {
|
---|
| 547 | /* 0 */ 570, 570, 564, 856, 856, 566, 856, 572, 856, 856,
|
---|
| 548 | /* 10 */ 856, 856, 652, 655, 656, 657, 658, 659, 573, 574,
|
---|
| 549 | /* 20 */ 591, 592, 593, 856, 856, 856, 856, 856, 856, 856,
|
---|
| 550 | /* 30 */ 856, 856, 856, 856, 856, 856, 584, 594, 604, 586,
|
---|
| 551 | /* 40 */ 603, 856, 856, 605, 651, 616, 856, 651, 617, 636,
|
---|
| 552 | /* 50 */ 634, 856, 637, 638, 856, 708, 651, 618, 706, 707,
|
---|
| 553 | /* 60 */ 651, 619, 856, 856, 737, 797, 743, 738, 856, 664,
|
---|
| 554 | /* 70 */ 856, 856, 665, 673, 675, 682, 720, 711, 713, 701,
|
---|
| 555 | /* 80 */ 715, 670, 856, 600, 856, 601, 856, 602, 716, 856,
|
---|
| 556 | /* 90 */ 717, 856, 718, 856, 856, 702, 856, 709, 708, 703,
|
---|
| 557 | /* 100 */ 856, 588, 710, 705, 856, 736, 856, 856, 739, 856,
|
---|
| 558 | /* 110 */ 740, 741, 742, 744, 747, 856, 748, 856, 749, 856,
|
---|
| 559 | /* 120 */ 750, 856, 751, 856, 752, 856, 753, 856, 754, 856,
|
---|
| 560 | /* 130 */ 755, 856, 756, 856, 757, 856, 758, 856, 759, 856,
|
---|
| 561 | /* 140 */ 856, 760, 761, 762, 856, 763, 856, 764, 856, 765,
|
---|
| 562 | /* 150 */ 856, 766, 856, 767, 856, 768, 769, 856, 770, 856,
|
---|
| 563 | /* 160 */ 773, 771, 856, 856, 856, 779, 856, 797, 856, 856,
|
---|
| 564 | /* 170 */ 856, 856, 856, 782, 796, 856, 774, 856, 775, 856,
|
---|
| 565 | /* 180 */ 776, 856, 777, 856, 856, 856, 856, 856, 787, 856,
|
---|
| 566 | /* 190 */ 856, 856, 788, 856, 856, 856, 845, 856, 856, 856,
|
---|
| 567 | /* 200 */ 846, 856, 856, 856, 847, 856, 856, 856, 848, 856,
|
---|
| 568 | /* 210 */ 856, 856, 856, 856, 789, 856, 781, 797, 794, 795,
|
---|
| 569 | /* 220 */ 690, 856, 691, 785, 772, 856, 856, 856, 780, 856,
|
---|
| 570 | /* 230 */ 797, 856, 784, 856, 783, 690, 786, 709, 708, 704,
|
---|
| 571 | /* 240 */ 856, 714, 856, 797, 712, 856, 721, 674, 685, 683,
|
---|
| 572 | /* 250 */ 684, 692, 693, 856, 694, 856, 695, 856, 696, 856,
|
---|
| 573 | /* 260 */ 690, 681, 589, 590, 856, 679, 680, 698, 700, 686,
|
---|
| 574 | /* 270 */ 856, 856, 856, 699, 856, 803, 708, 805, 804, 856,
|
---|
| 575 | /* 280 */ 697, 685, 856, 856, 856, 681, 698, 700, 687, 856,
|
---|
| 576 | /* 290 */ 681, 676, 677, 856, 856, 678, 671, 672, 778, 856,
|
---|
| 577 | /* 300 */ 735, 856, 745, 856, 746, 856, 651, 620, 856, 801,
|
---|
| 578 | /* 310 */ 624, 621, 625, 856, 626, 856, 856, 627, 856, 630,
|
---|
| 579 | /* 320 */ 631, 632, 633, 856, 628, 856, 629, 856, 856, 802,
|
---|
| 580 | /* 330 */ 622, 856, 623, 636, 635, 606, 856, 607, 608, 609,
|
---|
| 581 | /* 340 */ 856, 610, 613, 856, 611, 614, 612, 615, 595, 856,
|
---|
| 582 | /* 350 */ 856, 596, 856, 856, 597, 599, 598, 587, 856, 856,
|
---|
| 583 | /* 360 */ 641, 856, 644, 856, 856, 856, 856, 651, 645, 856,
|
---|
| 584 | /* 370 */ 856, 856, 651, 646, 856, 651, 647, 856, 856, 856,
|
---|
| 585 | /* 380 */ 856, 856, 856, 801, 624, 649, 856, 648, 650, 642,
|
---|
| 586 | /* 390 */ 643, 585, 856, 856, 581, 856, 856, 579, 856, 856,
|
---|
| 587 | /* 400 */ 856, 856, 856, 828, 856, 856, 856, 690, 833, 856,
|
---|
| 588 | /* 410 */ 856, 856, 856, 856, 856, 834, 835, 856, 856, 856,
|
---|
| 589 | /* 420 */ 856, 856, 856, 733, 734, 825, 826, 856, 827, 580,
|
---|
| 590 | /* 430 */ 856, 856, 856, 856, 856, 856, 856, 856, 856, 856,
|
---|
| 591 | /* 440 */ 856, 856, 856, 856, 856, 856, 654, 856, 856, 856,
|
---|
| 592 | /* 450 */ 856, 856, 856, 856, 653, 856, 856, 856, 856, 856,
|
---|
| 593 | /* 460 */ 856, 856, 723, 856, 856, 856, 724, 856, 856, 731,
|
---|
| 594 | /* 470 */ 856, 856, 732, 856, 856, 856, 856, 856, 856, 729,
|
---|
| 595 | /* 480 */ 856, 730, 856, 856, 856, 856, 856, 856, 856, 856,
|
---|
| 596 | /* 490 */ 856, 856, 856, 856, 856, 856, 856, 856, 856, 856,
|
---|
| 597 | /* 500 */ 690, 856, 856, 653, 856, 856, 856, 856, 856, 856,
|
---|
| 598 | /* 510 */ 856, 856, 690, 731, 856, 856, 856, 856, 856, 856,
|
---|
| 599 | /* 520 */ 653, 856, 856, 856, 856, 856, 856, 856, 856, 856,
|
---|
| 600 | /* 530 */ 856, 856, 856, 822, 856, 856, 856, 856, 856, 856,
|
---|
| 601 | /* 540 */ 856, 856, 856, 856, 821, 856, 856, 856, 854, 856,
|
---|
| 602 | /* 550 */ 856, 856, 856, 856, 856, 856, 853, 854, 856, 856,
|
---|
| 603 | /* 560 */ 567, 569, 565,
|
---|
| 604 | };
|
---|
| 605 | #define YY_SZ_ACTTAB (sizeof(yy_action)/sizeof(yy_action[0]))
|
---|
| 606 |
|
---|
| 607 | /* The next table maps tokens into fallback tokens. If a construct
|
---|
| 608 | ** like the following:
|
---|
| 609 | **
|
---|
| 610 | ** %fallback ID X Y Z.
|
---|
| 611 | **
|
---|
| 612 | ** appears in the grammer, then ID becomes a fallback token for X, Y,
|
---|
| 613 | ** and Z. Whenever one of the tokens X, Y, or Z is input to the parser
|
---|
| 614 | ** but it does not parse, the type of the token is changed to ID and
|
---|
| 615 | ** the parse is retried before an error is thrown.
|
---|
| 616 | */
|
---|
| 617 | #ifdef YYFALLBACK
|
---|
| 618 | static const YYCODETYPE yyFallback[] = {
|
---|
| 619 | 0, /* $ => nothing */
|
---|
| 620 | 0, /* END_OF_FILE => nothing */
|
---|
| 621 | 0, /* ILLEGAL => nothing */
|
---|
| 622 | 0, /* SPACE => nothing */
|
---|
| 623 | 0, /* UNCLOSED_STRING => nothing */
|
---|
| 624 | 0, /* COMMENT => nothing */
|
---|
| 625 | 0, /* FUNCTION => nothing */
|
---|
| 626 | 0, /* COLUMN => nothing */
|
---|
| 627 | 0, /* AGG_FUNCTION => nothing */
|
---|
| 628 | 0, /* SEMI => nothing */
|
---|
| 629 | 23, /* EXPLAIN => ID */
|
---|
| 630 | 23, /* BEGIN => ID */
|
---|
| 631 | 0, /* TRANSACTION => nothing */
|
---|
| 632 | 0, /* COMMIT => nothing */
|
---|
| 633 | 23, /* END => ID */
|
---|
| 634 | 0, /* ROLLBACK => nothing */
|
---|
| 635 | 0, /* CREATE => nothing */
|
---|
| 636 | 0, /* TABLE => nothing */
|
---|
| 637 | 23, /* TEMP => ID */
|
---|
| 638 | 0, /* LP => nothing */
|
---|
| 639 | 0, /* RP => nothing */
|
---|
| 640 | 0, /* AS => nothing */
|
---|
| 641 | 0, /* COMMA => nothing */
|
---|
| 642 | 0, /* ID => nothing */
|
---|
| 643 | 23, /* ABORT => ID */
|
---|
| 644 | 23, /* AFTER => ID */
|
---|
| 645 | 23, /* ASC => ID */
|
---|
| 646 | 23, /* ATTACH => ID */
|
---|
| 647 | 23, /* BEFORE => ID */
|
---|
| 648 | 23, /* CASCADE => ID */
|
---|
| 649 | 23, /* CLUSTER => ID */
|
---|
| 650 | 23, /* CONFLICT => ID */
|
---|
| 651 | 23, /* COPY => ID */
|
---|
| 652 | 23, /* DATABASE => ID */
|
---|
| 653 | 23, /* DEFERRED => ID */
|
---|
| 654 | 23, /* DELIMITERS => ID */
|
---|
| 655 | 23, /* DESC => ID */
|
---|
| 656 | 23, /* DETACH => ID */
|
---|
| 657 | 23, /* EACH => ID */
|
---|
| 658 | 23, /* FAIL => ID */
|
---|
| 659 | 23, /* FOR => ID */
|
---|
| 660 | 23, /* GLOB => ID */
|
---|
| 661 | 23, /* IGNORE => ID */
|
---|
| 662 | 23, /* IMMEDIATE => ID */
|
---|
| 663 | 23, /* INITIALLY => ID */
|
---|
| 664 | 23, /* INSTEAD => ID */
|
---|
| 665 | 23, /* LIKE => ID */
|
---|
| 666 | 23, /* MATCH => ID */
|
---|
| 667 | 23, /* KEY => ID */
|
---|
| 668 | 23, /* OF => ID */
|
---|
| 669 | 23, /* OFFSET => ID */
|
---|
| 670 | 23, /* PRAGMA => ID */
|
---|
| 671 | 23, /* RAISE => ID */
|
---|
| 672 | 23, /* REPLACE => ID */
|
---|
| 673 | 23, /* RESTRICT => ID */
|
---|
| 674 | 23, /* ROW => ID */
|
---|
| 675 | 23, /* STATEMENT => ID */
|
---|
| 676 | 23, /* TRIGGER => ID */
|
---|
| 677 | 23, /* VACUUM => ID */
|
---|
| 678 | 23, /* VIEW => ID */
|
---|
| 679 | 0, /* OR => nothing */
|
---|
| 680 | 0, /* AND => nothing */
|
---|
| 681 | 0, /* NOT => nothing */
|
---|
| 682 | 0, /* EQ => nothing */
|
---|
| 683 | 0, /* NE => nothing */
|
---|
| 684 | 0, /* ISNULL => nothing */
|
---|
| 685 | 0, /* NOTNULL => nothing */
|
---|
| 686 | 0, /* IS => nothing */
|
---|
| 687 | 0, /* BETWEEN => nothing */
|
---|
| 688 | 0, /* IN => nothing */
|
---|
| 689 | 0, /* GT => nothing */
|
---|
| 690 | 0, /* GE => nothing */
|
---|
| 691 | 0, /* LT => nothing */
|
---|
| 692 | 0, /* LE => nothing */
|
---|
| 693 | 0, /* BITAND => nothing */
|
---|
| 694 | 0, /* BITOR => nothing */
|
---|
| 695 | 0, /* LSHIFT => nothing */
|
---|
| 696 | 0, /* RSHIFT => nothing */
|
---|
| 697 | 0, /* PLUS => nothing */
|
---|
| 698 | 0, /* MINUS => nothing */
|
---|
| 699 | 0, /* STAR => nothing */
|
---|
| 700 | 0, /* SLASH => nothing */
|
---|
| 701 | 0, /* REM => nothing */
|
---|
| 702 | 0, /* CONCAT => nothing */
|
---|
| 703 | 0, /* UMINUS => nothing */
|
---|
| 704 | 0, /* UPLUS => nothing */
|
---|
| 705 | 0, /* BITNOT => nothing */
|
---|
| 706 | 0, /* STRING => nothing */
|
---|
| 707 | 0, /* JOIN_KW => nothing */
|
---|
| 708 | 0, /* INTEGER => nothing */
|
---|
| 709 | 0, /* CONSTRAINT => nothing */
|
---|
| 710 | 0, /* DEFAULT => nothing */
|
---|
| 711 | 0, /* FLOAT => nothing */
|
---|
| 712 | 0, /* NULL => nothing */
|
---|
| 713 | 0, /* PRIMARY => nothing */
|
---|
| 714 | 0, /* UNIQUE => nothing */
|
---|
| 715 | 0, /* CHECK => nothing */
|
---|
| 716 | 0, /* REFERENCES => nothing */
|
---|
| 717 | 0, /* COLLATE => nothing */
|
---|
| 718 | 0, /* ON => nothing */
|
---|
| 719 | 0, /* DELETE => nothing */
|
---|
| 720 | 0, /* UPDATE => nothing */
|
---|
| 721 | 0, /* INSERT => nothing */
|
---|
| 722 | 0, /* SET => nothing */
|
---|
| 723 | 0, /* DEFERRABLE => nothing */
|
---|
| 724 | 0, /* FOREIGN => nothing */
|
---|
| 725 | 0, /* DROP => nothing */
|
---|
| 726 | 0, /* UNION => nothing */
|
---|
| 727 | 0, /* ALL => nothing */
|
---|
| 728 | 0, /* INTERSECT => nothing */
|
---|
| 729 | 0, /* EXCEPT => nothing */
|
---|
| 730 | 0, /* SELECT => nothing */
|
---|
| 731 | 0, /* DISTINCT => nothing */
|
---|
| 732 | 0, /* DOT => nothing */
|
---|
| 733 | 0, /* FROM => nothing */
|
---|
| 734 | 0, /* JOIN => nothing */
|
---|
| 735 | 0, /* USING => nothing */
|
---|
| 736 | 0, /* ORDER => nothing */
|
---|
| 737 | 0, /* BY => nothing */
|
---|
| 738 | 0, /* GROUP => nothing */
|
---|
| 739 | 0, /* HAVING => nothing */
|
---|
| 740 | 0, /* LIMIT => nothing */
|
---|
| 741 | 0, /* WHERE => nothing */
|
---|
| 742 | 0, /* INTO => nothing */
|
---|
| 743 | 0, /* VALUES => nothing */
|
---|
| 744 | 0, /* VARIABLE => nothing */
|
---|
| 745 | 0, /* CASE => nothing */
|
---|
| 746 | 0, /* WHEN => nothing */
|
---|
| 747 | 0, /* THEN => nothing */
|
---|
| 748 | 0, /* ELSE => nothing */
|
---|
| 749 | 0, /* INDEX => nothing */
|
---|
| 750 | };
|
---|
| 751 | #endif /* YYFALLBACK */
|
---|
| 752 |
|
---|
| 753 | /* The following structure represents a single element of the
|
---|
| 754 | ** parser's stack. Information stored includes:
|
---|
| 755 | **
|
---|
| 756 | ** + The state number for the parser at this level of the stack.
|
---|
| 757 | **
|
---|
| 758 | ** + The value of the token stored at this level of the stack.
|
---|
| 759 | ** (In other words, the "major" token.)
|
---|
| 760 | **
|
---|
| 761 | ** + The semantic value stored at this level of the stack. This is
|
---|
| 762 | ** the information used by the action routines in the grammar.
|
---|
| 763 | ** It is sometimes called the "minor" token.
|
---|
| 764 | */
|
---|
| 765 | struct yyStackEntry {
|
---|
| 766 | int stateno; /* The state-number */
|
---|
| 767 | int major; /* The major token value. This is the code
|
---|
| 768 | ** number for the token at this stack level */
|
---|
| 769 | YYMINORTYPE minor; /* The user-supplied minor token value. This
|
---|
| 770 | ** is the value of the token */
|
---|
| 771 | };
|
---|
| 772 | typedef struct yyStackEntry yyStackEntry;
|
---|
| 773 |
|
---|
| 774 | /* The state of the parser is completely contained in an instance of
|
---|
| 775 | ** the following structure */
|
---|
| 776 | struct yyParser {
|
---|
| 777 | int yyidx; /* Index of top element in stack */
|
---|
| 778 | int yyerrcnt; /* Shifts left before out of the error */
|
---|
| 779 | sqliteParserARG_SDECL /* A place to hold %extra_argument */
|
---|
| 780 | yyStackEntry yystack[YYSTACKDEPTH]; /* The parser's stack */
|
---|
| 781 | };
|
---|
| 782 | typedef struct yyParser yyParser;
|
---|
| 783 |
|
---|
| 784 | #ifndef NDEBUG
|
---|
| 785 | #include <stdio.h>
|
---|
| 786 | static FILE *yyTraceFILE = 0;
|
---|
| 787 | static char *yyTracePrompt = 0;
|
---|
| 788 | #endif /* NDEBUG */
|
---|
| 789 |
|
---|
| 790 | #ifndef NDEBUG
|
---|
| 791 | /*
|
---|
| 792 | ** Turn parser tracing on by giving a stream to which to write the trace
|
---|
| 793 | ** and a prompt to preface each trace message. Tracing is turned off
|
---|
| 794 | ** by making either argument NULL
|
---|
| 795 | **
|
---|
| 796 | ** Inputs:
|
---|
| 797 | ** <ul>
|
---|
| 798 | ** <li> A FILE* to which trace output should be written.
|
---|
| 799 | ** If NULL, then tracing is turned off.
|
---|
| 800 | ** <li> A prefix string written at the beginning of every
|
---|
| 801 | ** line of trace output. If NULL, then tracing is
|
---|
| 802 | ** turned off.
|
---|
| 803 | ** </ul>
|
---|
| 804 | **
|
---|
| 805 | ** Outputs:
|
---|
| 806 | ** None.
|
---|
| 807 | */
|
---|
| 808 | void sqliteParserTrace(FILE *TraceFILE, char *zTracePrompt){
|
---|
| 809 | yyTraceFILE = TraceFILE;
|
---|
| 810 | yyTracePrompt = zTracePrompt;
|
---|
| 811 | if( yyTraceFILE==0 ) yyTracePrompt = 0;
|
---|
| 812 | else if( yyTracePrompt==0 ) yyTraceFILE = 0;
|
---|
| 813 | }
|
---|
| 814 | #endif /* NDEBUG */
|
---|
| 815 |
|
---|
| 816 | #ifndef NDEBUG
|
---|
| 817 | /* For tracing shifts, the names of all terminals and nonterminals
|
---|
| 818 | ** are required. The following table supplies these names */
|
---|
| 819 | static const char *yyTokenName[] = {
|
---|
| 820 | "$", "END_OF_FILE", "ILLEGAL", "SPACE",
|
---|
| 821 | "UNCLOSED_STRING", "COMMENT", "FUNCTION", "COLUMN",
|
---|
| 822 | "AGG_FUNCTION", "SEMI", "EXPLAIN", "BEGIN",
|
---|
| 823 | "TRANSACTION", "COMMIT", "END", "ROLLBACK",
|
---|
| 824 | "CREATE", "TABLE", "TEMP", "LP",
|
---|
| 825 | "RP", "AS", "COMMA", "ID",
|
---|
| 826 | "ABORT", "AFTER", "ASC", "ATTACH",
|
---|
| 827 | "BEFORE", "CASCADE", "CLUSTER", "CONFLICT",
|
---|
| 828 | "COPY", "DATABASE", "DEFERRED", "DELIMITERS",
|
---|
| 829 | "DESC", "DETACH", "EACH", "FAIL",
|
---|
| 830 | "FOR", "GLOB", "IGNORE", "IMMEDIATE",
|
---|
| 831 | "INITIALLY", "INSTEAD", "LIKE", "MATCH",
|
---|
| 832 | "KEY", "OF", "OFFSET", "PRAGMA",
|
---|
| 833 | "RAISE", "REPLACE", "RESTRICT", "ROW",
|
---|
| 834 | "STATEMENT", "TRIGGER", "VACUUM", "VIEW",
|
---|
| 835 | "OR", "AND", "NOT", "EQ",
|
---|
| 836 | "NE", "ISNULL", "NOTNULL", "IS",
|
---|
| 837 | "BETWEEN", "IN", "GT", "GE",
|
---|
| 838 | "LT", "LE", "BITAND", "BITOR",
|
---|
| 839 | "LSHIFT", "RSHIFT", "PLUS", "MINUS",
|
---|
| 840 | "STAR", "SLASH", "REM", "CONCAT",
|
---|
| 841 | "UMINUS", "UPLUS", "BITNOT", "STRING",
|
---|
| 842 | "JOIN_KW", "INTEGER", "CONSTRAINT", "DEFAULT",
|
---|
| 843 | "FLOAT", "NULL", "PRIMARY", "UNIQUE",
|
---|
| 844 | "CHECK", "REFERENCES", "COLLATE", "ON",
|
---|
| 845 | "DELETE", "UPDATE", "INSERT", "SET",
|
---|
| 846 | "DEFERRABLE", "FOREIGN", "DROP", "UNION",
|
---|
| 847 | "ALL", "INTERSECT", "EXCEPT", "SELECT",
|
---|
| 848 | "DISTINCT", "DOT", "FROM", "JOIN",
|
---|
| 849 | "USING", "ORDER", "BY", "GROUP",
|
---|
| 850 | "HAVING", "LIMIT", "WHERE", "INTO",
|
---|
| 851 | "VALUES", "VARIABLE", "CASE", "WHEN",
|
---|
| 852 | "THEN", "ELSE", "INDEX", "error",
|
---|
| 853 | "input", "cmdlist", "ecmd", "explain",
|
---|
| 854 | "cmdx", "cmd", "trans_opt", "onconf",
|
---|
| 855 | "nm", "create_table", "create_table_args", "temp",
|
---|
| 856 | "columnlist", "conslist_opt", "select", "column",
|
---|
| 857 | "columnid", "type", "carglist", "id",
|
---|
| 858 | "ids", "typename", "signed", "carg",
|
---|
| 859 | "ccons", "sortorder", "expr", "idxlist_opt",
|
---|
| 860 | "refargs", "defer_subclause", "refarg", "refact",
|
---|
| 861 | "init_deferred_pred_opt", "conslist", "tcons", "idxlist",
|
---|
| 862 | "defer_subclause_opt", "orconf", "resolvetype", "oneselect",
|
---|
| 863 | "multiselect_op", "distinct", "selcollist", "from",
|
---|
| 864 | "where_opt", "groupby_opt", "having_opt", "orderby_opt",
|
---|
| 865 | "limit_opt", "sclp", "as", "seltablist",
|
---|
| 866 | "stl_prefix", "joinop", "dbnm", "on_opt",
|
---|
| 867 | "using_opt", "seltablist_paren", "joinop2", "sortlist",
|
---|
| 868 | "sortitem", "collate", "exprlist", "setlist",
|
---|
| 869 | "insert_cmd", "inscollist_opt", "itemlist", "inscollist",
|
---|
| 870 | "likeop", "case_operand", "case_exprlist", "case_else",
|
---|
| 871 | "expritem", "uniqueflag", "idxitem", "plus_num",
|
---|
| 872 | "minus_num", "plus_opt", "number", "trigger_decl",
|
---|
| 873 | "trigger_cmd_list", "trigger_time", "trigger_event", "foreach_clause",
|
---|
| 874 | "when_clause", "trigger_cmd", "database_kw_opt", "key_opt",
|
---|
| 875 | };
|
---|
| 876 | #endif /* NDEBUG */
|
---|
| 877 |
|
---|
| 878 | #ifndef NDEBUG
|
---|
| 879 | /* For tracing reduce actions, the names of all rules are required.
|
---|
| 880 | */
|
---|
| 881 | static const char *yyRuleName[] = {
|
---|
| 882 | /* 0 */ "input ::= cmdlist",
|
---|
| 883 | /* 1 */ "cmdlist ::= cmdlist ecmd",
|
---|
| 884 | /* 2 */ "cmdlist ::= ecmd",
|
---|
| 885 | /* 3 */ "ecmd ::= explain cmdx SEMI",
|
---|
| 886 | /* 4 */ "ecmd ::= SEMI",
|
---|
| 887 | /* 5 */ "cmdx ::= cmd",
|
---|
| 888 | /* 6 */ "explain ::= EXPLAIN",
|
---|
| 889 | /* 7 */ "explain ::=",
|
---|
| 890 | /* 8 */ "cmd ::= BEGIN trans_opt onconf",
|
---|
| 891 | /* 9 */ "trans_opt ::=",
|
---|
| 892 | /* 10 */ "trans_opt ::= TRANSACTION",
|
---|
| 893 | /* 11 */ "trans_opt ::= TRANSACTION nm",
|
---|
| 894 | /* 12 */ "cmd ::= COMMIT trans_opt",
|
---|
| 895 | /* 13 */ "cmd ::= END trans_opt",
|
---|
| 896 | /* 14 */ "cmd ::= ROLLBACK trans_opt",
|
---|
| 897 | /* 15 */ "cmd ::= create_table create_table_args",
|
---|
| 898 | /* 16 */ "create_table ::= CREATE temp TABLE nm",
|
---|
| 899 | /* 17 */ "temp ::= TEMP",
|
---|
| 900 | /* 18 */ "temp ::=",
|
---|
| 901 | /* 19 */ "create_table_args ::= LP columnlist conslist_opt RP",
|
---|
| 902 | /* 20 */ "create_table_args ::= AS select",
|
---|
| 903 | /* 21 */ "columnlist ::= columnlist COMMA column",
|
---|
| 904 | /* 22 */ "columnlist ::= column",
|
---|
| 905 | /* 23 */ "column ::= columnid type carglist",
|
---|
| 906 | /* 24 */ "columnid ::= nm",
|
---|
| 907 | /* 25 */ "id ::= ID",
|
---|
| 908 | /* 26 */ "ids ::= ID",
|
---|
| 909 | /* 27 */ "ids ::= STRING",
|
---|
| 910 | /* 28 */ "nm ::= ID",
|
---|
| 911 | /* 29 */ "nm ::= STRING",
|
---|
| 912 | /* 30 */ "nm ::= JOIN_KW",
|
---|
| 913 | /* 31 */ "type ::=",
|
---|
| 914 | /* 32 */ "type ::= typename",
|
---|
| 915 | /* 33 */ "type ::= typename LP signed RP",
|
---|
| 916 | /* 34 */ "type ::= typename LP signed COMMA signed RP",
|
---|
| 917 | /* 35 */ "typename ::= ids",
|
---|
| 918 | /* 36 */ "typename ::= typename ids",
|
---|
| 919 | /* 37 */ "signed ::= INTEGER",
|
---|
| 920 | /* 38 */ "signed ::= PLUS INTEGER",
|
---|
| 921 | /* 39 */ "signed ::= MINUS INTEGER",
|
---|
| 922 | /* 40 */ "carglist ::= carglist carg",
|
---|
| 923 | /* 41 */ "carglist ::=",
|
---|
| 924 | /* 42 */ "carg ::= CONSTRAINT nm ccons",
|
---|
| 925 | /* 43 */ "carg ::= ccons",
|
---|
| 926 | /* 44 */ "carg ::= DEFAULT STRING",
|
---|
| 927 | /* 45 */ "carg ::= DEFAULT ID",
|
---|
| 928 | /* 46 */ "carg ::= DEFAULT INTEGER",
|
---|
| 929 | /* 47 */ "carg ::= DEFAULT PLUS INTEGER",
|
---|
| 930 | /* 48 */ "carg ::= DEFAULT MINUS INTEGER",
|
---|
| 931 | /* 49 */ "carg ::= DEFAULT FLOAT",
|
---|
| 932 | /* 50 */ "carg ::= DEFAULT PLUS FLOAT",
|
---|
| 933 | /* 51 */ "carg ::= DEFAULT MINUS FLOAT",
|
---|
| 934 | /* 52 */ "carg ::= DEFAULT NULL",
|
---|
| 935 | /* 53 */ "ccons ::= NULL onconf",
|
---|
| 936 | /* 54 */ "ccons ::= NOT NULL onconf",
|
---|
| 937 | /* 55 */ "ccons ::= PRIMARY KEY sortorder onconf",
|
---|
| 938 | /* 56 */ "ccons ::= UNIQUE onconf",
|
---|
| 939 | /* 57 */ "ccons ::= CHECK LP expr RP onconf",
|
---|
| 940 | /* 58 */ "ccons ::= REFERENCES nm idxlist_opt refargs",
|
---|
| 941 | /* 59 */ "ccons ::= defer_subclause",
|
---|
| 942 | /* 60 */ "ccons ::= COLLATE id",
|
---|
| 943 | /* 61 */ "refargs ::=",
|
---|
| 944 | /* 62 */ "refargs ::= refargs refarg",
|
---|
| 945 | /* 63 */ "refarg ::= MATCH nm",
|
---|
| 946 | /* 64 */ "refarg ::= ON DELETE refact",
|
---|
| 947 | /* 65 */ "refarg ::= ON UPDATE refact",
|
---|
| 948 | /* 66 */ "refarg ::= ON INSERT refact",
|
---|
| 949 | /* 67 */ "refact ::= SET NULL",
|
---|
| 950 | /* 68 */ "refact ::= SET DEFAULT",
|
---|
| 951 | /* 69 */ "refact ::= CASCADE",
|
---|
| 952 | /* 70 */ "refact ::= RESTRICT",
|
---|
| 953 | /* 71 */ "defer_subclause ::= NOT DEFERRABLE init_deferred_pred_opt",
|
---|
| 954 | /* 72 */ "defer_subclause ::= DEFERRABLE init_deferred_pred_opt",
|
---|
| 955 | /* 73 */ "init_deferred_pred_opt ::=",
|
---|
| 956 | /* 74 */ "init_deferred_pred_opt ::= INITIALLY DEFERRED",
|
---|
| 957 | /* 75 */ "init_deferred_pred_opt ::= INITIALLY IMMEDIATE",
|
---|
| 958 | /* 76 */ "conslist_opt ::=",
|
---|
| 959 | /* 77 */ "conslist_opt ::= COMMA conslist",
|
---|
| 960 | /* 78 */ "conslist ::= conslist COMMA tcons",
|
---|
| 961 | /* 79 */ "conslist ::= conslist tcons",
|
---|
| 962 | /* 80 */ "conslist ::= tcons",
|
---|
| 963 | /* 81 */ "tcons ::= CONSTRAINT nm",
|
---|
| 964 | /* 82 */ "tcons ::= PRIMARY KEY LP idxlist RP onconf",
|
---|
| 965 | /* 83 */ "tcons ::= UNIQUE LP idxlist RP onconf",
|
---|
| 966 | /* 84 */ "tcons ::= CHECK expr onconf",
|
---|
| 967 | /* 85 */ "tcons ::= FOREIGN KEY LP idxlist RP REFERENCES nm idxlist_opt refargs defer_subclause_opt",
|
---|
| 968 | /* 86 */ "defer_subclause_opt ::=",
|
---|
| 969 | /* 87 */ "defer_subclause_opt ::= defer_subclause",
|
---|
| 970 | /* 88 */ "onconf ::=",
|
---|
| 971 | /* 89 */ "onconf ::= ON CONFLICT resolvetype",
|
---|
| 972 | /* 90 */ "orconf ::=",
|
---|
| 973 | /* 91 */ "orconf ::= OR resolvetype",
|
---|
| 974 | /* 92 */ "resolvetype ::= ROLLBACK",
|
---|
| 975 | /* 93 */ "resolvetype ::= ABORT",
|
---|
| 976 | /* 94 */ "resolvetype ::= FAIL",
|
---|
| 977 | /* 95 */ "resolvetype ::= IGNORE",
|
---|
| 978 | /* 96 */ "resolvetype ::= REPLACE",
|
---|
| 979 | /* 97 */ "cmd ::= DROP TABLE nm",
|
---|
| 980 | /* 98 */ "cmd ::= CREATE temp VIEW nm AS select",
|
---|
| 981 | /* 99 */ "cmd ::= DROP VIEW nm",
|
---|
| 982 | /* 100 */ "cmd ::= select",
|
---|
| 983 | /* 101 */ "select ::= oneselect",
|
---|
| 984 | /* 102 */ "select ::= select multiselect_op oneselect",
|
---|
| 985 | /* 103 */ "multiselect_op ::= UNION",
|
---|
| 986 | /* 104 */ "multiselect_op ::= UNION ALL",
|
---|
| 987 | /* 105 */ "multiselect_op ::= INTERSECT",
|
---|
| 988 | /* 106 */ "multiselect_op ::= EXCEPT",
|
---|
| 989 | /* 107 */ "oneselect ::= SELECT distinct selcollist from where_opt groupby_opt having_opt orderby_opt limit_opt",
|
---|
| 990 | /* 108 */ "distinct ::= DISTINCT",
|
---|
| 991 | /* 109 */ "distinct ::= ALL",
|
---|
| 992 | /* 110 */ "distinct ::=",
|
---|
| 993 | /* 111 */ "sclp ::= selcollist COMMA",
|
---|
| 994 | /* 112 */ "sclp ::=",
|
---|
| 995 | /* 113 */ "selcollist ::= sclp expr as",
|
---|
| 996 | /* 114 */ "selcollist ::= sclp STAR",
|
---|
| 997 | /* 115 */ "selcollist ::= sclp nm DOT STAR",
|
---|
| 998 | /* 116 */ "as ::= AS nm",
|
---|
| 999 | /* 117 */ "as ::= ids",
|
---|
| 1000 | /* 118 */ "as ::=",
|
---|
| 1001 | /* 119 */ "from ::=",
|
---|
| 1002 | /* 120 */ "from ::= FROM seltablist",
|
---|
| 1003 | /* 121 */ "stl_prefix ::= seltablist joinop",
|
---|
| 1004 | /* 122 */ "stl_prefix ::=",
|
---|
| 1005 | /* 123 */ "seltablist ::= stl_prefix nm dbnm as on_opt using_opt",
|
---|
| 1006 | /* 124 */ "seltablist ::= stl_prefix LP seltablist_paren RP as on_opt using_opt",
|
---|
| 1007 | /* 125 */ "seltablist_paren ::= select",
|
---|
| 1008 | /* 126 */ "seltablist_paren ::= seltablist",
|
---|
| 1009 | /* 127 */ "dbnm ::=",
|
---|
| 1010 | /* 128 */ "dbnm ::= DOT nm",
|
---|
| 1011 | /* 129 */ "joinop ::= COMMA",
|
---|
| 1012 | /* 130 */ "joinop ::= JOIN",
|
---|
| 1013 | /* 131 */ "joinop ::= JOIN_KW JOIN",
|
---|
| 1014 | /* 132 */ "joinop ::= JOIN_KW nm JOIN",
|
---|
| 1015 | /* 133 */ "joinop ::= JOIN_KW nm nm JOIN",
|
---|
| 1016 | /* 134 */ "on_opt ::= ON expr",
|
---|
| 1017 | /* 135 */ "on_opt ::=",
|
---|
| 1018 | /* 136 */ "using_opt ::= USING LP idxlist RP",
|
---|
| 1019 | /* 137 */ "using_opt ::=",
|
---|
| 1020 | /* 138 */ "orderby_opt ::=",
|
---|
| 1021 | /* 139 */ "orderby_opt ::= ORDER BY sortlist",
|
---|
| 1022 | /* 140 */ "sortlist ::= sortlist COMMA sortitem collate sortorder",
|
---|
| 1023 | /* 141 */ "sortlist ::= sortitem collate sortorder",
|
---|
| 1024 | /* 142 */ "sortitem ::= expr",
|
---|
| 1025 | /* 143 */ "sortorder ::= ASC",
|
---|
| 1026 | /* 144 */ "sortorder ::= DESC",
|
---|
| 1027 | /* 145 */ "sortorder ::=",
|
---|
| 1028 | /* 146 */ "collate ::=",
|
---|
| 1029 | /* 147 */ "collate ::= COLLATE id",
|
---|
| 1030 | /* 148 */ "groupby_opt ::=",
|
---|
| 1031 | /* 149 */ "groupby_opt ::= GROUP BY exprlist",
|
---|
| 1032 | /* 150 */ "having_opt ::=",
|
---|
| 1033 | /* 151 */ "having_opt ::= HAVING expr",
|
---|
| 1034 | /* 152 */ "limit_opt ::=",
|
---|
| 1035 | /* 153 */ "limit_opt ::= LIMIT signed",
|
---|
| 1036 | /* 154 */ "limit_opt ::= LIMIT signed OFFSET signed",
|
---|
| 1037 | /* 155 */ "limit_opt ::= LIMIT signed COMMA signed",
|
---|
| 1038 | /* 156 */ "cmd ::= DELETE FROM nm dbnm where_opt",
|
---|
| 1039 | /* 157 */ "where_opt ::=",
|
---|
| 1040 | /* 158 */ "where_opt ::= WHERE expr",
|
---|
| 1041 | /* 159 */ "cmd ::= UPDATE orconf nm dbnm SET setlist where_opt",
|
---|
| 1042 | /* 160 */ "setlist ::= setlist COMMA nm EQ expr",
|
---|
| 1043 | /* 161 */ "setlist ::= nm EQ expr",
|
---|
| 1044 | /* 162 */ "cmd ::= insert_cmd INTO nm dbnm inscollist_opt VALUES LP itemlist RP",
|
---|
| 1045 | /* 163 */ "cmd ::= insert_cmd INTO nm dbnm inscollist_opt select",
|
---|
| 1046 | /* 164 */ "insert_cmd ::= INSERT orconf",
|
---|
| 1047 | /* 165 */ "insert_cmd ::= REPLACE",
|
---|
| 1048 | /* 166 */ "itemlist ::= itemlist COMMA expr",
|
---|
| 1049 | /* 167 */ "itemlist ::= expr",
|
---|
| 1050 | /* 168 */ "inscollist_opt ::=",
|
---|
| 1051 | /* 169 */ "inscollist_opt ::= LP inscollist RP",
|
---|
| 1052 | /* 170 */ "inscollist ::= inscollist COMMA nm",
|
---|
| 1053 | /* 171 */ "inscollist ::= nm",
|
---|
| 1054 | /* 172 */ "expr ::= LP expr RP",
|
---|
| 1055 | /* 173 */ "expr ::= NULL",
|
---|
| 1056 | /* 174 */ "expr ::= ID",
|
---|
| 1057 | /* 175 */ "expr ::= JOIN_KW",
|
---|
| 1058 | /* 176 */ "expr ::= nm DOT nm",
|
---|
| 1059 | /* 177 */ "expr ::= nm DOT nm DOT nm",
|
---|
| 1060 | /* 178 */ "expr ::= INTEGER",
|
---|
| 1061 | /* 179 */ "expr ::= FLOAT",
|
---|
| 1062 | /* 180 */ "expr ::= STRING",
|
---|
| 1063 | /* 181 */ "expr ::= VARIABLE",
|
---|
| 1064 | /* 182 */ "expr ::= ID LP exprlist RP",
|
---|
| 1065 | /* 183 */ "expr ::= ID LP STAR RP",
|
---|
| 1066 | /* 184 */ "expr ::= expr AND expr",
|
---|
| 1067 | /* 185 */ "expr ::= expr OR expr",
|
---|
| 1068 | /* 186 */ "expr ::= expr LT expr",
|
---|
| 1069 | /* 187 */ "expr ::= expr GT expr",
|
---|
| 1070 | /* 188 */ "expr ::= expr LE expr",
|
---|
| 1071 | /* 189 */ "expr ::= expr GE expr",
|
---|
| 1072 | /* 190 */ "expr ::= expr NE expr",
|
---|
| 1073 | /* 191 */ "expr ::= expr EQ expr",
|
---|
| 1074 | /* 192 */ "expr ::= expr BITAND expr",
|
---|
| 1075 | /* 193 */ "expr ::= expr BITOR expr",
|
---|
| 1076 | /* 194 */ "expr ::= expr LSHIFT expr",
|
---|
| 1077 | /* 195 */ "expr ::= expr RSHIFT expr",
|
---|
| 1078 | /* 196 */ "expr ::= expr likeop expr",
|
---|
| 1079 | /* 197 */ "expr ::= expr NOT likeop expr",
|
---|
| 1080 | /* 198 */ "likeop ::= LIKE",
|
---|
| 1081 | /* 199 */ "likeop ::= GLOB",
|
---|
| 1082 | /* 200 */ "expr ::= expr PLUS expr",
|
---|
| 1083 | /* 201 */ "expr ::= expr MINUS expr",
|
---|
| 1084 | /* 202 */ "expr ::= expr STAR expr",
|
---|
| 1085 | /* 203 */ "expr ::= expr SLASH expr",
|
---|
| 1086 | /* 204 */ "expr ::= expr REM expr",
|
---|
| 1087 | /* 205 */ "expr ::= expr CONCAT expr",
|
---|
| 1088 | /* 206 */ "expr ::= expr ISNULL",
|
---|
| 1089 | /* 207 */ "expr ::= expr IS NULL",
|
---|
| 1090 | /* 208 */ "expr ::= expr NOTNULL",
|
---|
| 1091 | /* 209 */ "expr ::= expr NOT NULL",
|
---|
| 1092 | /* 210 */ "expr ::= expr IS NOT NULL",
|
---|
| 1093 | /* 211 */ "expr ::= NOT expr",
|
---|
| 1094 | /* 212 */ "expr ::= BITNOT expr",
|
---|
| 1095 | /* 213 */ "expr ::= MINUS expr",
|
---|
| 1096 | /* 214 */ "expr ::= PLUS expr",
|
---|
| 1097 | /* 215 */ "expr ::= LP select RP",
|
---|
| 1098 | /* 216 */ "expr ::= expr BETWEEN expr AND expr",
|
---|
| 1099 | /* 217 */ "expr ::= expr NOT BETWEEN expr AND expr",
|
---|
| 1100 | /* 218 */ "expr ::= expr IN LP exprlist RP",
|
---|
| 1101 | /* 219 */ "expr ::= expr IN LP select RP",
|
---|
| 1102 | /* 220 */ "expr ::= expr NOT IN LP exprlist RP",
|
---|
| 1103 | /* 221 */ "expr ::= expr NOT IN LP select RP",
|
---|
| 1104 | /* 222 */ "expr ::= expr IN nm dbnm",
|
---|
| 1105 | /* 223 */ "expr ::= expr NOT IN nm dbnm",
|
---|
| 1106 | /* 224 */ "expr ::= CASE case_operand case_exprlist case_else END",
|
---|
| 1107 | /* 225 */ "case_exprlist ::= case_exprlist WHEN expr THEN expr",
|
---|
| 1108 | /* 226 */ "case_exprlist ::= WHEN expr THEN expr",
|
---|
| 1109 | /* 227 */ "case_else ::= ELSE expr",
|
---|
| 1110 | /* 228 */ "case_else ::=",
|
---|
| 1111 | /* 229 */ "case_operand ::= expr",
|
---|
| 1112 | /* 230 */ "case_operand ::=",
|
---|
| 1113 | /* 231 */ "exprlist ::= exprlist COMMA expritem",
|
---|
| 1114 | /* 232 */ "exprlist ::= expritem",
|
---|
| 1115 | /* 233 */ "expritem ::= expr",
|
---|
| 1116 | /* 234 */ "expritem ::=",
|
---|
| 1117 | /* 235 */ "cmd ::= CREATE uniqueflag INDEX nm ON nm dbnm LP idxlist RP onconf",
|
---|
| 1118 | /* 236 */ "uniqueflag ::= UNIQUE",
|
---|
| 1119 | /* 237 */ "uniqueflag ::=",
|
---|
| 1120 | /* 238 */ "idxlist_opt ::=",
|
---|
| 1121 | /* 239 */ "idxlist_opt ::= LP idxlist RP",
|
---|
| 1122 | /* 240 */ "idxlist ::= idxlist COMMA idxitem",
|
---|
| 1123 | /* 241 */ "idxlist ::= idxitem",
|
---|
| 1124 | /* 242 */ "idxitem ::= nm sortorder",
|
---|
| 1125 | /* 243 */ "cmd ::= DROP INDEX nm dbnm",
|
---|
| 1126 | /* 244 */ "cmd ::= COPY orconf nm dbnm FROM nm USING DELIMITERS STRING",
|
---|
| 1127 | /* 245 */ "cmd ::= COPY orconf nm dbnm FROM nm",
|
---|
| 1128 | /* 246 */ "cmd ::= VACUUM",
|
---|
| 1129 | /* 247 */ "cmd ::= VACUUM nm",
|
---|
| 1130 | /* 248 */ "cmd ::= PRAGMA ids EQ nm",
|
---|
| 1131 | /* 249 */ "cmd ::= PRAGMA ids EQ ON",
|
---|
| 1132 | /* 250 */ "cmd ::= PRAGMA ids EQ plus_num",
|
---|
| 1133 | /* 251 */ "cmd ::= PRAGMA ids EQ minus_num",
|
---|
| 1134 | /* 252 */ "cmd ::= PRAGMA ids LP nm RP",
|
---|
| 1135 | /* 253 */ "cmd ::= PRAGMA ids",
|
---|
| 1136 | /* 254 */ "plus_num ::= plus_opt number",
|
---|
| 1137 | /* 255 */ "minus_num ::= MINUS number",
|
---|
| 1138 | /* 256 */ "number ::= INTEGER",
|
---|
| 1139 | /* 257 */ "number ::= FLOAT",
|
---|
| 1140 | /* 258 */ "plus_opt ::= PLUS",
|
---|
| 1141 | /* 259 */ "plus_opt ::=",
|
---|
| 1142 | /* 260 */ "cmd ::= CREATE trigger_decl BEGIN trigger_cmd_list END",
|
---|
| 1143 | /* 261 */ "trigger_decl ::= temp TRIGGER nm trigger_time trigger_event ON nm dbnm foreach_clause when_clause",
|
---|
| 1144 | /* 262 */ "trigger_time ::= BEFORE",
|
---|
| 1145 | /* 263 */ "trigger_time ::= AFTER",
|
---|
| 1146 | /* 264 */ "trigger_time ::= INSTEAD OF",
|
---|
| 1147 | /* 265 */ "trigger_time ::=",
|
---|
| 1148 | /* 266 */ "trigger_event ::= DELETE",
|
---|
| 1149 | /* 267 */ "trigger_event ::= INSERT",
|
---|
| 1150 | /* 268 */ "trigger_event ::= UPDATE",
|
---|
| 1151 | /* 269 */ "trigger_event ::= UPDATE OF inscollist",
|
---|
| 1152 | /* 270 */ "foreach_clause ::=",
|
---|
| 1153 | /* 271 */ "foreach_clause ::= FOR EACH ROW",
|
---|
| 1154 | /* 272 */ "foreach_clause ::= FOR EACH STATEMENT",
|
---|
| 1155 | /* 273 */ "when_clause ::=",
|
---|
| 1156 | /* 274 */ "when_clause ::= WHEN expr",
|
---|
| 1157 | /* 275 */ "trigger_cmd_list ::= trigger_cmd SEMI trigger_cmd_list",
|
---|
| 1158 | /* 276 */ "trigger_cmd_list ::=",
|
---|
| 1159 | /* 277 */ "trigger_cmd ::= UPDATE orconf nm SET setlist where_opt",
|
---|
| 1160 | /* 278 */ "trigger_cmd ::= insert_cmd INTO nm inscollist_opt VALUES LP itemlist RP",
|
---|
| 1161 | /* 279 */ "trigger_cmd ::= insert_cmd INTO nm inscollist_opt select",
|
---|
| 1162 | /* 280 */ "trigger_cmd ::= DELETE FROM nm where_opt",
|
---|
| 1163 | /* 281 */ "trigger_cmd ::= select",
|
---|
| 1164 | /* 282 */ "expr ::= RAISE LP IGNORE RP",
|
---|
| 1165 | /* 283 */ "expr ::= RAISE LP ROLLBACK COMMA nm RP",
|
---|
| 1166 | /* 284 */ "expr ::= RAISE LP ABORT COMMA nm RP",
|
---|
| 1167 | /* 285 */ "expr ::= RAISE LP FAIL COMMA nm RP",
|
---|
| 1168 | /* 286 */ "cmd ::= DROP TRIGGER nm dbnm",
|
---|
| 1169 | /* 287 */ "cmd ::= ATTACH database_kw_opt ids AS nm key_opt",
|
---|
| 1170 | /* 288 */ "key_opt ::= USING ids",
|
---|
| 1171 | /* 289 */ "key_opt ::=",
|
---|
| 1172 | /* 290 */ "database_kw_opt ::= DATABASE",
|
---|
| 1173 | /* 291 */ "database_kw_opt ::=",
|
---|
| 1174 | /* 292 */ "cmd ::= DETACH database_kw_opt nm",
|
---|
| 1175 | };
|
---|
| 1176 | #endif /* NDEBUG */
|
---|
| 1177 |
|
---|
| 1178 | /*
|
---|
| 1179 | ** This function returns the symbolic name associated with a token
|
---|
| 1180 | ** value.
|
---|
| 1181 | */
|
---|
| 1182 | const char *sqliteParserTokenName(int tokenType){
|
---|
| 1183 | #ifndef NDEBUG
|
---|
| 1184 | if( tokenType>0 && tokenType<(sizeof(yyTokenName)/sizeof(yyTokenName[0])) ){
|
---|
| 1185 | return yyTokenName[tokenType];
|
---|
| 1186 | }else{
|
---|
| 1187 | return "Unknown";
|
---|
| 1188 | }
|
---|
| 1189 | #else
|
---|
| 1190 | return "";
|
---|
| 1191 | #endif
|
---|
| 1192 | }
|
---|
| 1193 |
|
---|
| 1194 | /*
|
---|
| 1195 | ** This function allocates a new parser.
|
---|
| 1196 | ** The only argument is a pointer to a function which works like
|
---|
| 1197 | ** malloc.
|
---|
| 1198 | **
|
---|
| 1199 | ** Inputs:
|
---|
| 1200 | ** A pointer to the function used to allocate memory.
|
---|
| 1201 | **
|
---|
| 1202 | ** Outputs:
|
---|
| 1203 | ** A pointer to a parser. This pointer is used in subsequent calls
|
---|
| 1204 | ** to sqliteParser and sqliteParserFree.
|
---|
| 1205 | */
|
---|
| 1206 | void *sqliteParserAlloc(void *(*mallocProc)(size_t)){
|
---|
| 1207 | yyParser *pParser;
|
---|
| 1208 | pParser = (yyParser*)(*mallocProc)( (size_t)sizeof(yyParser) );
|
---|
| 1209 | if( pParser ){
|
---|
| 1210 | pParser->yyidx = -1;
|
---|
| 1211 | }
|
---|
| 1212 | return pParser;
|
---|
| 1213 | }
|
---|
| 1214 |
|
---|
| 1215 | /* The following function deletes the value associated with a
|
---|
| 1216 | ** symbol. The symbol can be either a terminal or nonterminal.
|
---|
| 1217 | ** "yymajor" is the symbol code, and "yypminor" is a pointer to
|
---|
| 1218 | ** the value.
|
---|
| 1219 | */
|
---|
| 1220 | static void yy_destructor(YYCODETYPE yymajor, YYMINORTYPE *yypminor){
|
---|
| 1221 | switch( yymajor ){
|
---|
| 1222 | /* Here is inserted the actions which take place when a
|
---|
| 1223 | ** terminal or non-terminal is destroyed. This can happen
|
---|
| 1224 | ** when the symbol is popped from the stack during a
|
---|
| 1225 | ** reduce or during error processing or when a parser is
|
---|
| 1226 | ** being destroyed before it is finished parsing.
|
---|
| 1227 | **
|
---|
| 1228 | ** Note: during a reduce, the only symbols destroyed are those
|
---|
| 1229 | ** which appear on the RHS of the rule, but which are not used
|
---|
| 1230 | ** inside the C code.
|
---|
| 1231 | */
|
---|
| 1232 | case 146:
|
---|
| 1233 | #line 286 "parse.y"
|
---|
| 1234 | {sqliteSelectDelete((yypminor->yy179));}
|
---|
| 1235 | #line 1235 "parse.c"
|
---|
| 1236 | break;
|
---|
| 1237 | case 158:
|
---|
| 1238 | #line 533 "parse.y"
|
---|
| 1239 | {sqliteExprDelete((yypminor->yy242));}
|
---|
| 1240 | #line 1240 "parse.c"
|
---|
| 1241 | break;
|
---|
| 1242 | case 159:
|
---|
| 1243 | #line 746 "parse.y"
|
---|
| 1244 | {sqliteIdListDelete((yypminor->yy320));}
|
---|
| 1245 | #line 1245 "parse.c"
|
---|
| 1246 | break;
|
---|
| 1247 | case 167:
|
---|
| 1248 | #line 744 "parse.y"
|
---|
| 1249 | {sqliteIdListDelete((yypminor->yy320));}
|
---|
| 1250 | #line 1250 "parse.c"
|
---|
| 1251 | break;
|
---|
| 1252 | case 171:
|
---|
| 1253 | #line 288 "parse.y"
|
---|
| 1254 | {sqliteSelectDelete((yypminor->yy179));}
|
---|
| 1255 | #line 1255 "parse.c"
|
---|
| 1256 | break;
|
---|
| 1257 | case 174:
|
---|
| 1258 | #line 322 "parse.y"
|
---|
| 1259 | {sqliteExprListDelete((yypminor->yy322));}
|
---|
| 1260 | #line 1260 "parse.c"
|
---|
| 1261 | break;
|
---|
| 1262 | case 175:
|
---|
| 1263 | #line 353 "parse.y"
|
---|
| 1264 | {sqliteSrcListDelete((yypminor->yy307));}
|
---|
| 1265 | #line 1265 "parse.c"
|
---|
| 1266 | break;
|
---|
| 1267 | case 176:
|
---|
| 1268 | #line 483 "parse.y"
|
---|
| 1269 | {sqliteExprDelete((yypminor->yy242));}
|
---|
| 1270 | #line 1270 "parse.c"
|
---|
| 1271 | break;
|
---|
| 1272 | case 177:
|
---|
| 1273 | #line 459 "parse.y"
|
---|
| 1274 | {sqliteExprListDelete((yypminor->yy322));}
|
---|
| 1275 | #line 1275 "parse.c"
|
---|
| 1276 | break;
|
---|
| 1277 | case 178:
|
---|
| 1278 | #line 464 "parse.y"
|
---|
| 1279 | {sqliteExprDelete((yypminor->yy242));}
|
---|
| 1280 | #line 1280 "parse.c"
|
---|
| 1281 | break;
|
---|
| 1282 | case 179:
|
---|
| 1283 | #line 431 "parse.y"
|
---|
| 1284 | {sqliteExprListDelete((yypminor->yy322));}
|
---|
| 1285 | #line 1285 "parse.c"
|
---|
| 1286 | break;
|
---|
| 1287 | case 181:
|
---|
| 1288 | #line 324 "parse.y"
|
---|
| 1289 | {sqliteExprListDelete((yypminor->yy322));}
|
---|
| 1290 | #line 1290 "parse.c"
|
---|
| 1291 | break;
|
---|
| 1292 | case 183:
|
---|
| 1293 | #line 349 "parse.y"
|
---|
| 1294 | {sqliteSrcListDelete((yypminor->yy307));}
|
---|
| 1295 | #line 1295 "parse.c"
|
---|
| 1296 | break;
|
---|
| 1297 | case 184:
|
---|
| 1298 | #line 351 "parse.y"
|
---|
| 1299 | {sqliteSrcListDelete((yypminor->yy307));}
|
---|
| 1300 | #line 1300 "parse.c"
|
---|
| 1301 | break;
|
---|
| 1302 | case 187:
|
---|
| 1303 | #line 420 "parse.y"
|
---|
| 1304 | {sqliteExprDelete((yypminor->yy242));}
|
---|
| 1305 | #line 1305 "parse.c"
|
---|
| 1306 | break;
|
---|
| 1307 | case 188:
|
---|
| 1308 | #line 425 "parse.y"
|
---|
| 1309 | {sqliteIdListDelete((yypminor->yy320));}
|
---|
| 1310 | #line 1310 "parse.c"
|
---|
| 1311 | break;
|
---|
| 1312 | case 189:
|
---|
| 1313 | #line 400 "parse.y"
|
---|
| 1314 | {sqliteSelectDelete((yypminor->yy179));}
|
---|
| 1315 | #line 1315 "parse.c"
|
---|
| 1316 | break;
|
---|
| 1317 | case 191:
|
---|
| 1318 | #line 433 "parse.y"
|
---|
| 1319 | {sqliteExprListDelete((yypminor->yy322));}
|
---|
| 1320 | #line 1320 "parse.c"
|
---|
| 1321 | break;
|
---|
| 1322 | case 192:
|
---|
| 1323 | #line 435 "parse.y"
|
---|
| 1324 | {sqliteExprDelete((yypminor->yy242));}
|
---|
| 1325 | #line 1325 "parse.c"
|
---|
| 1326 | break;
|
---|
| 1327 | case 194:
|
---|
| 1328 | #line 719 "parse.y"
|
---|
| 1329 | {sqliteExprListDelete((yypminor->yy322));}
|
---|
| 1330 | #line 1330 "parse.c"
|
---|
| 1331 | break;
|
---|
| 1332 | case 195:
|
---|
| 1333 | #line 489 "parse.y"
|
---|
| 1334 | {sqliteExprListDelete((yypminor->yy322));}
|
---|
| 1335 | #line 1335 "parse.c"
|
---|
| 1336 | break;
|
---|
| 1337 | case 197:
|
---|
| 1338 | #line 520 "parse.y"
|
---|
| 1339 | {sqliteIdListDelete((yypminor->yy320));}
|
---|
| 1340 | #line 1340 "parse.c"
|
---|
| 1341 | break;
|
---|
| 1342 | case 198:
|
---|
| 1343 | #line 514 "parse.y"
|
---|
| 1344 | {sqliteExprListDelete((yypminor->yy322));}
|
---|
| 1345 | #line 1345 "parse.c"
|
---|
| 1346 | break;
|
---|
| 1347 | case 199:
|
---|
| 1348 | #line 522 "parse.y"
|
---|
| 1349 | {sqliteIdListDelete((yypminor->yy320));}
|
---|
| 1350 | #line 1350 "parse.c"
|
---|
| 1351 | break;
|
---|
| 1352 | case 202:
|
---|
| 1353 | #line 702 "parse.y"
|
---|
| 1354 | {sqliteExprListDelete((yypminor->yy322));}
|
---|
| 1355 | #line 1355 "parse.c"
|
---|
| 1356 | break;
|
---|
| 1357 | case 204:
|
---|
| 1358 | #line 721 "parse.y"
|
---|
| 1359 | {sqliteExprDelete((yypminor->yy242));}
|
---|
| 1360 | #line 1360 "parse.c"
|
---|
| 1361 | break;
|
---|
| 1362 | case 212:
|
---|
| 1363 | #line 828 "parse.y"
|
---|
| 1364 | {sqliteDeleteTriggerStep((yypminor->yy19));}
|
---|
| 1365 | #line 1365 "parse.c"
|
---|
| 1366 | break;
|
---|
| 1367 | case 214:
|
---|
| 1368 | #line 812 "parse.y"
|
---|
| 1369 | {sqliteIdListDelete((yypminor->yy290).b);}
|
---|
| 1370 | #line 1370 "parse.c"
|
---|
| 1371 | break;
|
---|
| 1372 | case 217:
|
---|
| 1373 | #line 836 "parse.y"
|
---|
| 1374 | {sqliteDeleteTriggerStep((yypminor->yy19));}
|
---|
| 1375 | #line 1375 "parse.c"
|
---|
| 1376 | break;
|
---|
| 1377 | default: break; /* If no destructor action specified: do nothing */
|
---|
| 1378 | }
|
---|
| 1379 | }
|
---|
| 1380 |
|
---|
| 1381 | /*
|
---|
| 1382 | ** Pop the parser's stack once.
|
---|
| 1383 | **
|
---|
| 1384 | ** If there is a destructor routine associated with the token which
|
---|
| 1385 | ** is popped from the stack, then call it.
|
---|
| 1386 | **
|
---|
| 1387 | ** Return the major token number for the symbol popped.
|
---|
| 1388 | */
|
---|
| 1389 | static int yy_pop_parser_stack(yyParser *pParser){
|
---|
| 1390 | YYCODETYPE yymajor;
|
---|
| 1391 | yyStackEntry *yytos = &pParser->yystack[pParser->yyidx];
|
---|
| 1392 |
|
---|
| 1393 | if( pParser->yyidx<0 ) return 0;
|
---|
| 1394 | #ifndef NDEBUG
|
---|
| 1395 | if( yyTraceFILE && pParser->yyidx>=0 ){
|
---|
| 1396 | fprintf(yyTraceFILE,"%sPopping %s\n",
|
---|
| 1397 | yyTracePrompt,
|
---|
| 1398 | yyTokenName[yytos->major]);
|
---|
| 1399 | }
|
---|
| 1400 | #endif
|
---|
| 1401 | yymajor = yytos->major;
|
---|
| 1402 | yy_destructor( yymajor, &yytos->minor);
|
---|
| 1403 | pParser->yyidx--;
|
---|
| 1404 | return yymajor;
|
---|
| 1405 | }
|
---|
| 1406 |
|
---|
| 1407 | /*
|
---|
| 1408 | ** Deallocate and destroy a parser. Destructors are all called for
|
---|
| 1409 | ** all stack elements before shutting the parser down.
|
---|
| 1410 | **
|
---|
| 1411 | ** Inputs:
|
---|
| 1412 | ** <ul>
|
---|
| 1413 | ** <li> A pointer to the parser. This should be a pointer
|
---|
| 1414 | ** obtained from sqliteParserAlloc.
|
---|
| 1415 | ** <li> A pointer to a function used to reclaim memory obtained
|
---|
| 1416 | ** from malloc.
|
---|
| 1417 | ** </ul>
|
---|
| 1418 | */
|
---|
| 1419 | void sqliteParserFree(
|
---|
| 1420 | void *p, /* The parser to be deleted */
|
---|
| 1421 | void (*freeProc)(void*) /* Function used to reclaim memory */
|
---|
| 1422 | ){
|
---|
| 1423 | yyParser *pParser = (yyParser*)p;
|
---|
| 1424 | if( pParser==0 ) return;
|
---|
| 1425 | while( pParser->yyidx>=0 ) yy_pop_parser_stack(pParser);
|
---|
| 1426 | (*freeProc)((void*)pParser);
|
---|
| 1427 | }
|
---|
| 1428 |
|
---|
| 1429 | /*
|
---|
| 1430 | ** Find the appropriate action for a parser given the terminal
|
---|
| 1431 | ** look-ahead token iLookAhead.
|
---|
| 1432 | **
|
---|
| 1433 | ** If the look-ahead token is YYNOCODE, then check to see if the action is
|
---|
| 1434 | ** independent of the look-ahead. If it is, return the action, otherwise
|
---|
| 1435 | ** return YY_NO_ACTION.
|
---|
| 1436 | */
|
---|
| 1437 | static int yy_find_shift_action(
|
---|
| 1438 | yyParser *pParser, /* The parser */
|
---|
| 1439 | int iLookAhead /* The look-ahead token */
|
---|
| 1440 | ){
|
---|
| 1441 | int i;
|
---|
| 1442 | int stateno = pParser->yystack[pParser->yyidx].stateno;
|
---|
| 1443 |
|
---|
| 1444 | /* if( pParser->yyidx<0 ) return YY_NO_ACTION; */
|
---|
| 1445 | i = yy_shift_ofst[stateno];
|
---|
| 1446 | if( i==YY_SHIFT_USE_DFLT ){
|
---|
| 1447 | return yy_default[stateno];
|
---|
| 1448 | }
|
---|
| 1449 | if( iLookAhead==YYNOCODE ){
|
---|
| 1450 | return YY_NO_ACTION;
|
---|
| 1451 | }
|
---|
| 1452 | i += iLookAhead;
|
---|
| 1453 | if( i<0 || i>=YY_SZ_ACTTAB || yy_lookahead[i]!=iLookAhead ){
|
---|
| 1454 | #ifdef YYFALLBACK
|
---|
| 1455 | int iFallback; /* Fallback token */
|
---|
| 1456 | if( iLookAhead<sizeof(yyFallback)/sizeof(yyFallback[0])
|
---|
| 1457 | && (iFallback = yyFallback[iLookAhead])!=0 ){
|
---|
| 1458 | #ifndef NDEBUG
|
---|
| 1459 | if( yyTraceFILE ){
|
---|
| 1460 | fprintf(yyTraceFILE, "%sFALLBACK %s => %s\n",
|
---|
| 1461 | yyTracePrompt, yyTokenName[iLookAhead], yyTokenName[iFallback]);
|
---|
| 1462 | }
|
---|
| 1463 | #endif
|
---|
| 1464 | return yy_find_shift_action(pParser, iFallback);
|
---|
| 1465 | }
|
---|
| 1466 | #endif
|
---|
| 1467 | return yy_default[stateno];
|
---|
| 1468 | }else{
|
---|
| 1469 | return yy_action[i];
|
---|
| 1470 | }
|
---|
| 1471 | }
|
---|
| 1472 |
|
---|
| 1473 | /*
|
---|
| 1474 | ** Find the appropriate action for a parser given the non-terminal
|
---|
| 1475 | ** look-ahead token iLookAhead.
|
---|
| 1476 | **
|
---|
| 1477 | ** If the look-ahead token is YYNOCODE, then check to see if the action is
|
---|
| 1478 | ** independent of the look-ahead. If it is, return the action, otherwise
|
---|
| 1479 | ** return YY_NO_ACTION.
|
---|
| 1480 | */
|
---|
| 1481 | static int yy_find_reduce_action(
|
---|
| 1482 | yyParser *pParser, /* The parser */
|
---|
| 1483 | int iLookAhead /* The look-ahead token */
|
---|
| 1484 | ){
|
---|
| 1485 | int i;
|
---|
| 1486 | int stateno = pParser->yystack[pParser->yyidx].stateno;
|
---|
| 1487 |
|
---|
| 1488 | i = yy_reduce_ofst[stateno];
|
---|
| 1489 | if( i==YY_REDUCE_USE_DFLT ){
|
---|
| 1490 | return yy_default[stateno];
|
---|
| 1491 | }
|
---|
| 1492 | if( iLookAhead==YYNOCODE ){
|
---|
| 1493 | return YY_NO_ACTION;
|
---|
| 1494 | }
|
---|
| 1495 | i += iLookAhead;
|
---|
| 1496 | if( i<0 || i>=YY_SZ_ACTTAB || yy_lookahead[i]!=iLookAhead ){
|
---|
| 1497 | return yy_default[stateno];
|
---|
| 1498 | }else{
|
---|
| 1499 | return yy_action[i];
|
---|
| 1500 | }
|
---|
| 1501 | }
|
---|
| 1502 |
|
---|
| 1503 | /*
|
---|
| 1504 | ** Perform a shift action.
|
---|
| 1505 | */
|
---|
| 1506 | static void yy_shift(
|
---|
| 1507 | yyParser *yypParser, /* The parser to be shifted */
|
---|
| 1508 | int yyNewState, /* The new state to shift in */
|
---|
| 1509 | int yyMajor, /* The major token to shift in */
|
---|
| 1510 | YYMINORTYPE *yypMinor /* Pointer ot the minor token to shift in */
|
---|
| 1511 | ){
|
---|
| 1512 | yyStackEntry *yytos;
|
---|
| 1513 | yypParser->yyidx++;
|
---|
| 1514 | if( yypParser->yyidx>=YYSTACKDEPTH ){
|
---|
| 1515 | sqliteParserARG_FETCH;
|
---|
| 1516 | yypParser->yyidx--;
|
---|
| 1517 | #ifndef NDEBUG
|
---|
| 1518 | if( yyTraceFILE ){
|
---|
| 1519 | fprintf(yyTraceFILE,"%sStack Overflow!\n",yyTracePrompt);
|
---|
| 1520 | }
|
---|
| 1521 | #endif
|
---|
| 1522 | while( yypParser->yyidx>=0 ) yy_pop_parser_stack(yypParser);
|
---|
| 1523 | /* Here code is inserted which will execute if the parser
|
---|
| 1524 | ** stack every overflows */
|
---|
| 1525 | sqliteParserARG_STORE; /* Suppress warning about unused %extra_argument var */
|
---|
| 1526 | return;
|
---|
| 1527 | }
|
---|
| 1528 | yytos = &yypParser->yystack[yypParser->yyidx];
|
---|
| 1529 | yytos->stateno = yyNewState;
|
---|
| 1530 | yytos->major = yyMajor;
|
---|
| 1531 | yytos->minor = *yypMinor;
|
---|
| 1532 | #ifndef NDEBUG
|
---|
| 1533 | if( yyTraceFILE && yypParser->yyidx>0 ){
|
---|
| 1534 | int i;
|
---|
| 1535 | fprintf(yyTraceFILE,"%sShift %d\n",yyTracePrompt,yyNewState);
|
---|
| 1536 | fprintf(yyTraceFILE,"%sStack:",yyTracePrompt);
|
---|
| 1537 | for(i=1; i<=yypParser->yyidx; i++)
|
---|
| 1538 | fprintf(yyTraceFILE," %s",yyTokenName[yypParser->yystack[i].major]);
|
---|
| 1539 | fprintf(yyTraceFILE,"\n");
|
---|
| 1540 | }
|
---|
| 1541 | #endif
|
---|
| 1542 | }
|
---|
| 1543 |
|
---|
| 1544 | /* The following table contains information about every rule that
|
---|
| 1545 | ** is used during the reduce.
|
---|
| 1546 | */
|
---|
| 1547 | static struct {
|
---|
| 1548 | YYCODETYPE lhs; /* Symbol on the left-hand side of the rule */
|
---|
| 1549 | unsigned char nrhs; /* Number of right-hand side symbols in the rule */
|
---|
| 1550 | } yyRuleInfo[] = {
|
---|
| 1551 | { 132, 1 },
|
---|
| 1552 | { 133, 2 },
|
---|
| 1553 | { 133, 1 },
|
---|
| 1554 | { 134, 3 },
|
---|
| 1555 | { 134, 1 },
|
---|
| 1556 | { 136, 1 },
|
---|
| 1557 | { 135, 1 },
|
---|
| 1558 | { 135, 0 },
|
---|
| 1559 | { 137, 3 },
|
---|
| 1560 | { 138, 0 },
|
---|
| 1561 | { 138, 1 },
|
---|
| 1562 | { 138, 2 },
|
---|
| 1563 | { 137, 2 },
|
---|
| 1564 | { 137, 2 },
|
---|
| 1565 | { 137, 2 },
|
---|
| 1566 | { 137, 2 },
|
---|
| 1567 | { 141, 4 },
|
---|
| 1568 | { 143, 1 },
|
---|
| 1569 | { 143, 0 },
|
---|
| 1570 | { 142, 4 },
|
---|
| 1571 | { 142, 2 },
|
---|
| 1572 | { 144, 3 },
|
---|
| 1573 | { 144, 1 },
|
---|
| 1574 | { 147, 3 },
|
---|
| 1575 | { 148, 1 },
|
---|
| 1576 | { 151, 1 },
|
---|
| 1577 | { 152, 1 },
|
---|
| 1578 | { 152, 1 },
|
---|
| 1579 | { 140, 1 },
|
---|
| 1580 | { 140, 1 },
|
---|
| 1581 | { 140, 1 },
|
---|
| 1582 | { 149, 0 },
|
---|
| 1583 | { 149, 1 },
|
---|
| 1584 | { 149, 4 },
|
---|
| 1585 | { 149, 6 },
|
---|
| 1586 | { 153, 1 },
|
---|
| 1587 | { 153, 2 },
|
---|
| 1588 | { 154, 1 },
|
---|
| 1589 | { 154, 2 },
|
---|
| 1590 | { 154, 2 },
|
---|
| 1591 | { 150, 2 },
|
---|
| 1592 | { 150, 0 },
|
---|
| 1593 | { 155, 3 },
|
---|
| 1594 | { 155, 1 },
|
---|
| 1595 | { 155, 2 },
|
---|
| 1596 | { 155, 2 },
|
---|
| 1597 | { 155, 2 },
|
---|
| 1598 | { 155, 3 },
|
---|
| 1599 | { 155, 3 },
|
---|
| 1600 | { 155, 2 },
|
---|
| 1601 | { 155, 3 },
|
---|
| 1602 | { 155, 3 },
|
---|
| 1603 | { 155, 2 },
|
---|
| 1604 | { 156, 2 },
|
---|
| 1605 | { 156, 3 },
|
---|
| 1606 | { 156, 4 },
|
---|
| 1607 | { 156, 2 },
|
---|
| 1608 | { 156, 5 },
|
---|
| 1609 | { 156, 4 },
|
---|
| 1610 | { 156, 1 },
|
---|
| 1611 | { 156, 2 },
|
---|
| 1612 | { 160, 0 },
|
---|
| 1613 | { 160, 2 },
|
---|
| 1614 | { 162, 2 },
|
---|
| 1615 | { 162, 3 },
|
---|
| 1616 | { 162, 3 },
|
---|
| 1617 | { 162, 3 },
|
---|
| 1618 | { 163, 2 },
|
---|
| 1619 | { 163, 2 },
|
---|
| 1620 | { 163, 1 },
|
---|
| 1621 | { 163, 1 },
|
---|
| 1622 | { 161, 3 },
|
---|
| 1623 | { 161, 2 },
|
---|
| 1624 | { 164, 0 },
|
---|
| 1625 | { 164, 2 },
|
---|
| 1626 | { 164, 2 },
|
---|
| 1627 | { 145, 0 },
|
---|
| 1628 | { 145, 2 },
|
---|
| 1629 | { 165, 3 },
|
---|
| 1630 | { 165, 2 },
|
---|
| 1631 | { 165, 1 },
|
---|
| 1632 | { 166, 2 },
|
---|
| 1633 | { 166, 6 },
|
---|
| 1634 | { 166, 5 },
|
---|
| 1635 | { 166, 3 },
|
---|
| 1636 | { 166, 10 },
|
---|
| 1637 | { 168, 0 },
|
---|
| 1638 | { 168, 1 },
|
---|
| 1639 | { 139, 0 },
|
---|
| 1640 | { 139, 3 },
|
---|
| 1641 | { 169, 0 },
|
---|
| 1642 | { 169, 2 },
|
---|
| 1643 | { 170, 1 },
|
---|
| 1644 | { 170, 1 },
|
---|
| 1645 | { 170, 1 },
|
---|
| 1646 | { 170, 1 },
|
---|
| 1647 | { 170, 1 },
|
---|
| 1648 | { 137, 3 },
|
---|
| 1649 | { 137, 6 },
|
---|
| 1650 | { 137, 3 },
|
---|
| 1651 | { 137, 1 },
|
---|
| 1652 | { 146, 1 },
|
---|
| 1653 | { 146, 3 },
|
---|
| 1654 | { 172, 1 },
|
---|
| 1655 | { 172, 2 },
|
---|
| 1656 | { 172, 1 },
|
---|
| 1657 | { 172, 1 },
|
---|
| 1658 | { 171, 9 },
|
---|
| 1659 | { 173, 1 },
|
---|
| 1660 | { 173, 1 },
|
---|
| 1661 | { 173, 0 },
|
---|
| 1662 | { 181, 2 },
|
---|
| 1663 | { 181, 0 },
|
---|
| 1664 | { 174, 3 },
|
---|
| 1665 | { 174, 2 },
|
---|
| 1666 | { 174, 4 },
|
---|
| 1667 | { 182, 2 },
|
---|
| 1668 | { 182, 1 },
|
---|
| 1669 | { 182, 0 },
|
---|
| 1670 | { 175, 0 },
|
---|
| 1671 | { 175, 2 },
|
---|
| 1672 | { 184, 2 },
|
---|
| 1673 | { 184, 0 },
|
---|
| 1674 | { 183, 6 },
|
---|
| 1675 | { 183, 7 },
|
---|
| 1676 | { 189, 1 },
|
---|
| 1677 | { 189, 1 },
|
---|
| 1678 | { 186, 0 },
|
---|
| 1679 | { 186, 2 },
|
---|
| 1680 | { 185, 1 },
|
---|
| 1681 | { 185, 1 },
|
---|
| 1682 | { 185, 2 },
|
---|
| 1683 | { 185, 3 },
|
---|
| 1684 | { 185, 4 },
|
---|
| 1685 | { 187, 2 },
|
---|
| 1686 | { 187, 0 },
|
---|
| 1687 | { 188, 4 },
|
---|
| 1688 | { 188, 0 },
|
---|
| 1689 | { 179, 0 },
|
---|
| 1690 | { 179, 3 },
|
---|
| 1691 | { 191, 5 },
|
---|
| 1692 | { 191, 3 },
|
---|
| 1693 | { 192, 1 },
|
---|
| 1694 | { 157, 1 },
|
---|
| 1695 | { 157, 1 },
|
---|
| 1696 | { 157, 0 },
|
---|
| 1697 | { 193, 0 },
|
---|
| 1698 | { 193, 2 },
|
---|
| 1699 | { 177, 0 },
|
---|
| 1700 | { 177, 3 },
|
---|
| 1701 | { 178, 0 },
|
---|
| 1702 | { 178, 2 },
|
---|
| 1703 | { 180, 0 },
|
---|
| 1704 | { 180, 2 },
|
---|
| 1705 | { 180, 4 },
|
---|
| 1706 | { 180, 4 },
|
---|
| 1707 | { 137, 5 },
|
---|
| 1708 | { 176, 0 },
|
---|
| 1709 | { 176, 2 },
|
---|
| 1710 | { 137, 7 },
|
---|
| 1711 | { 195, 5 },
|
---|
| 1712 | { 195, 3 },
|
---|
| 1713 | { 137, 9 },
|
---|
| 1714 | { 137, 6 },
|
---|
| 1715 | { 196, 2 },
|
---|
| 1716 | { 196, 1 },
|
---|
| 1717 | { 198, 3 },
|
---|
| 1718 | { 198, 1 },
|
---|
| 1719 | { 197, 0 },
|
---|
| 1720 | { 197, 3 },
|
---|
| 1721 | { 199, 3 },
|
---|
| 1722 | { 199, 1 },
|
---|
| 1723 | { 158, 3 },
|
---|
| 1724 | { 158, 1 },
|
---|
| 1725 | { 158, 1 },
|
---|
| 1726 | { 158, 1 },
|
---|
| 1727 | { 158, 3 },
|
---|
| 1728 | { 158, 5 },
|
---|
| 1729 | { 158, 1 },
|
---|
| 1730 | { 158, 1 },
|
---|
| 1731 | { 158, 1 },
|
---|
| 1732 | { 158, 1 },
|
---|
| 1733 | { 158, 4 },
|
---|
| 1734 | { 158, 4 },
|
---|
| 1735 | { 158, 3 },
|
---|
| 1736 | { 158, 3 },
|
---|
| 1737 | { 158, 3 },
|
---|
| 1738 | { 158, 3 },
|
---|
| 1739 | { 158, 3 },
|
---|
| 1740 | { 158, 3 },
|
---|
| 1741 | { 158, 3 },
|
---|
| 1742 | { 158, 3 },
|
---|
| 1743 | { 158, 3 },
|
---|
| 1744 | { 158, 3 },
|
---|
| 1745 | { 158, 3 },
|
---|
| 1746 | { 158, 3 },
|
---|
| 1747 | { 158, 3 },
|
---|
| 1748 | { 158, 4 },
|
---|
| 1749 | { 200, 1 },
|
---|
| 1750 | { 200, 1 },
|
---|
| 1751 | { 158, 3 },
|
---|
| 1752 | { 158, 3 },
|
---|
| 1753 | { 158, 3 },
|
---|
| 1754 | { 158, 3 },
|
---|
| 1755 | { 158, 3 },
|
---|
| 1756 | { 158, 3 },
|
---|
| 1757 | { 158, 2 },
|
---|
| 1758 | { 158, 3 },
|
---|
| 1759 | { 158, 2 },
|
---|
| 1760 | { 158, 3 },
|
---|
| 1761 | { 158, 4 },
|
---|
| 1762 | { 158, 2 },
|
---|
| 1763 | { 158, 2 },
|
---|
| 1764 | { 158, 2 },
|
---|
| 1765 | { 158, 2 },
|
---|
| 1766 | { 158, 3 },
|
---|
| 1767 | { 158, 5 },
|
---|
| 1768 | { 158, 6 },
|
---|
| 1769 | { 158, 5 },
|
---|
| 1770 | { 158, 5 },
|
---|
| 1771 | { 158, 6 },
|
---|
| 1772 | { 158, 6 },
|
---|
| 1773 | { 158, 4 },
|
---|
| 1774 | { 158, 5 },
|
---|
| 1775 | { 158, 5 },
|
---|
| 1776 | { 202, 5 },
|
---|
| 1777 | { 202, 4 },
|
---|
| 1778 | { 203, 2 },
|
---|
| 1779 | { 203, 0 },
|
---|
| 1780 | { 201, 1 },
|
---|
| 1781 | { 201, 0 },
|
---|
| 1782 | { 194, 3 },
|
---|
| 1783 | { 194, 1 },
|
---|
| 1784 | { 204, 1 },
|
---|
| 1785 | { 204, 0 },
|
---|
| 1786 | { 137, 11 },
|
---|
| 1787 | { 205, 1 },
|
---|
| 1788 | { 205, 0 },
|
---|
| 1789 | { 159, 0 },
|
---|
| 1790 | { 159, 3 },
|
---|
| 1791 | { 167, 3 },
|
---|
| 1792 | { 167, 1 },
|
---|
| 1793 | { 206, 2 },
|
---|
| 1794 | { 137, 4 },
|
---|
| 1795 | { 137, 9 },
|
---|
| 1796 | { 137, 6 },
|
---|
| 1797 | { 137, 1 },
|
---|
| 1798 | { 137, 2 },
|
---|
| 1799 | { 137, 4 },
|
---|
| 1800 | { 137, 4 },
|
---|
| 1801 | { 137, 4 },
|
---|
| 1802 | { 137, 4 },
|
---|
| 1803 | { 137, 5 },
|
---|
| 1804 | { 137, 2 },
|
---|
| 1805 | { 207, 2 },
|
---|
| 1806 | { 208, 2 },
|
---|
| 1807 | { 210, 1 },
|
---|
| 1808 | { 210, 1 },
|
---|
| 1809 | { 209, 1 },
|
---|
| 1810 | { 209, 0 },
|
---|
| 1811 | { 137, 5 },
|
---|
| 1812 | { 211, 10 },
|
---|
| 1813 | { 213, 1 },
|
---|
| 1814 | { 213, 1 },
|
---|
| 1815 | { 213, 2 },
|
---|
| 1816 | { 213, 0 },
|
---|
| 1817 | { 214, 1 },
|
---|
| 1818 | { 214, 1 },
|
---|
| 1819 | { 214, 1 },
|
---|
| 1820 | { 214, 3 },
|
---|
| 1821 | { 215, 0 },
|
---|
| 1822 | { 215, 3 },
|
---|
| 1823 | { 215, 3 },
|
---|
| 1824 | { 216, 0 },
|
---|
| 1825 | { 216, 2 },
|
---|
| 1826 | { 212, 3 },
|
---|
| 1827 | { 212, 0 },
|
---|
| 1828 | { 217, 6 },
|
---|
| 1829 | { 217, 8 },
|
---|
| 1830 | { 217, 5 },
|
---|
| 1831 | { 217, 4 },
|
---|
| 1832 | { 217, 1 },
|
---|
| 1833 | { 158, 4 },
|
---|
| 1834 | { 158, 6 },
|
---|
| 1835 | { 158, 6 },
|
---|
| 1836 | { 158, 6 },
|
---|
| 1837 | { 137, 4 },
|
---|
| 1838 | { 137, 6 },
|
---|
| 1839 | { 219, 2 },
|
---|
| 1840 | { 219, 0 },
|
---|
| 1841 | { 218, 1 },
|
---|
| 1842 | { 218, 0 },
|
---|
| 1843 | { 137, 3 },
|
---|
| 1844 | };
|
---|
| 1845 |
|
---|
| 1846 | static void yy_accept(yyParser*); /* Forward Declaration */
|
---|
| 1847 |
|
---|
| 1848 | /*
|
---|
| 1849 | ** Perform a reduce action and the shift that must immediately
|
---|
| 1850 | ** follow the reduce.
|
---|
| 1851 | */
|
---|
| 1852 | static void yy_reduce(
|
---|
| 1853 | yyParser *yypParser, /* The parser */
|
---|
| 1854 | int yyruleno /* Number of the rule by which to reduce */
|
---|
| 1855 | ){
|
---|
| 1856 | int yygoto; /* The next state */
|
---|
| 1857 | int yyact; /* The next action */
|
---|
| 1858 | YYMINORTYPE yygotominor; /* The LHS of the rule reduced */
|
---|
| 1859 | yyStackEntry *yymsp; /* The top of the parser's stack */
|
---|
| 1860 | int yysize; /* Amount to pop the stack */
|
---|
| 1861 | sqliteParserARG_FETCH;
|
---|
| 1862 | yymsp = &yypParser->yystack[yypParser->yyidx];
|
---|
| 1863 | #ifndef NDEBUG
|
---|
| 1864 | if( yyTraceFILE && yyruleno>=0
|
---|
| 1865 | && yyruleno<sizeof(yyRuleName)/sizeof(yyRuleName[0]) ){
|
---|
| 1866 | fprintf(yyTraceFILE, "%sReduce [%s].\n", yyTracePrompt,
|
---|
| 1867 | yyRuleName[yyruleno]);
|
---|
| 1868 | }
|
---|
| 1869 | #endif /* NDEBUG */
|
---|
| 1870 |
|
---|
| 1871 | switch( yyruleno ){
|
---|
| 1872 | /* Beginning here are the reduction cases. A typical example
|
---|
| 1873 | ** follows:
|
---|
| 1874 | ** case 0:
|
---|
| 1875 | ** #line <lineno> <grammarfile>
|
---|
| 1876 | ** { ... } // User supplied code
|
---|
| 1877 | ** #line <lineno> <thisfile>
|
---|
| 1878 | ** break;
|
---|
| 1879 | */
|
---|
| 1880 | case 0:
|
---|
| 1881 | /* No destructor defined for cmdlist */
|
---|
| 1882 | break;
|
---|
| 1883 | case 1:
|
---|
| 1884 | /* No destructor defined for cmdlist */
|
---|
| 1885 | /* No destructor defined for ecmd */
|
---|
| 1886 | break;
|
---|
| 1887 | case 2:
|
---|
| 1888 | /* No destructor defined for ecmd */
|
---|
| 1889 | break;
|
---|
| 1890 | case 3:
|
---|
| 1891 | /* No destructor defined for explain */
|
---|
| 1892 | /* No destructor defined for cmdx */
|
---|
| 1893 | /* No destructor defined for SEMI */
|
---|
| 1894 | break;
|
---|
| 1895 | case 4:
|
---|
| 1896 | /* No destructor defined for SEMI */
|
---|
| 1897 | break;
|
---|
| 1898 | case 5:
|
---|
| 1899 | #line 72 "parse.y"
|
---|
| 1900 | { sqliteExec(pParse); }
|
---|
| 1901 | #line 1901 "parse.c"
|
---|
| 1902 | /* No destructor defined for cmd */
|
---|
| 1903 | break;
|
---|
| 1904 | case 6:
|
---|
| 1905 | #line 73 "parse.y"
|
---|
| 1906 | { sqliteBeginParse(pParse, 1); }
|
---|
| 1907 | #line 1907 "parse.c"
|
---|
| 1908 | /* No destructor defined for EXPLAIN */
|
---|
| 1909 | break;
|
---|
| 1910 | case 7:
|
---|
| 1911 | #line 74 "parse.y"
|
---|
| 1912 | { sqliteBeginParse(pParse, 0); }
|
---|
| 1913 | #line 1913 "parse.c"
|
---|
| 1914 | break;
|
---|
| 1915 | case 8:
|
---|
| 1916 | #line 79 "parse.y"
|
---|
| 1917 | {sqliteBeginTransaction(pParse,yymsp[0].minor.yy372);}
|
---|
| 1918 | #line 1918 "parse.c"
|
---|
| 1919 | /* No destructor defined for BEGIN */
|
---|
| 1920 | /* No destructor defined for trans_opt */
|
---|
| 1921 | break;
|
---|
| 1922 | case 9:
|
---|
| 1923 | break;
|
---|
| 1924 | case 10:
|
---|
| 1925 | /* No destructor defined for TRANSACTION */
|
---|
| 1926 | break;
|
---|
| 1927 | case 11:
|
---|
| 1928 | /* No destructor defined for TRANSACTION */
|
---|
| 1929 | /* No destructor defined for nm */
|
---|
| 1930 | break;
|
---|
| 1931 | case 12:
|
---|
| 1932 | #line 83 "parse.y"
|
---|
| 1933 | {sqliteCommitTransaction(pParse);}
|
---|
| 1934 | #line 1934 "parse.c"
|
---|
| 1935 | /* No destructor defined for COMMIT */
|
---|
| 1936 | /* No destructor defined for trans_opt */
|
---|
| 1937 | break;
|
---|
| 1938 | case 13:
|
---|
| 1939 | #line 84 "parse.y"
|
---|
| 1940 | {sqliteCommitTransaction(pParse);}
|
---|
| 1941 | #line 1941 "parse.c"
|
---|
| 1942 | /* No destructor defined for END */
|
---|
| 1943 | /* No destructor defined for trans_opt */
|
---|
| 1944 | break;
|
---|
| 1945 | case 14:
|
---|
| 1946 | #line 85 "parse.y"
|
---|
| 1947 | {sqliteRollbackTransaction(pParse);}
|
---|
| 1948 | #line 1948 "parse.c"
|
---|
| 1949 | /* No destructor defined for ROLLBACK */
|
---|
| 1950 | /* No destructor defined for trans_opt */
|
---|
| 1951 | break;
|
---|
| 1952 | case 15:
|
---|
| 1953 | /* No destructor defined for create_table */
|
---|
| 1954 | /* No destructor defined for create_table_args */
|
---|
| 1955 | break;
|
---|
| 1956 | case 16:
|
---|
| 1957 | #line 90 "parse.y"
|
---|
| 1958 | {
|
---|
| 1959 | sqliteStartTable(pParse,&yymsp[-3].minor.yy0,&yymsp[0].minor.yy298,yymsp[-2].minor.yy372,0);
|
---|
| 1960 | }
|
---|
| 1961 | #line 1961 "parse.c"
|
---|
| 1962 | /* No destructor defined for TABLE */
|
---|
| 1963 | break;
|
---|
| 1964 | case 17:
|
---|
| 1965 | #line 94 "parse.y"
|
---|
| 1966 | {yygotominor.yy372 = 1;}
|
---|
| 1967 | #line 1967 "parse.c"
|
---|
| 1968 | /* No destructor defined for TEMP */
|
---|
| 1969 | break;
|
---|
| 1970 | case 18:
|
---|
| 1971 | #line 95 "parse.y"
|
---|
| 1972 | {yygotominor.yy372 = 0;}
|
---|
| 1973 | #line 1973 "parse.c"
|
---|
| 1974 | break;
|
---|
| 1975 | case 19:
|
---|
| 1976 | #line 96 "parse.y"
|
---|
| 1977 | {
|
---|
| 1978 | sqliteEndTable(pParse,&yymsp[0].minor.yy0,0);
|
---|
| 1979 | }
|
---|
| 1980 | #line 1980 "parse.c"
|
---|
| 1981 | /* No destructor defined for LP */
|
---|
| 1982 | /* No destructor defined for columnlist */
|
---|
| 1983 | /* No destructor defined for conslist_opt */
|
---|
| 1984 | break;
|
---|
| 1985 | case 20:
|
---|
| 1986 | #line 99 "parse.y"
|
---|
| 1987 | {
|
---|
| 1988 | sqliteEndTable(pParse,0,yymsp[0].minor.yy179);
|
---|
| 1989 | sqliteSelectDelete(yymsp[0].minor.yy179);
|
---|
| 1990 | }
|
---|
| 1991 | #line 1991 "parse.c"
|
---|
| 1992 | /* No destructor defined for AS */
|
---|
| 1993 | break;
|
---|
| 1994 | case 21:
|
---|
| 1995 | /* No destructor defined for columnlist */
|
---|
| 1996 | /* No destructor defined for COMMA */
|
---|
| 1997 | /* No destructor defined for column */
|
---|
| 1998 | break;
|
---|
| 1999 | case 22:
|
---|
| 2000 | /* No destructor defined for column */
|
---|
| 2001 | break;
|
---|
| 2002 | case 23:
|
---|
| 2003 | /* No destructor defined for columnid */
|
---|
| 2004 | /* No destructor defined for type */
|
---|
| 2005 | /* No destructor defined for carglist */
|
---|
| 2006 | break;
|
---|
| 2007 | case 24:
|
---|
| 2008 | #line 111 "parse.y"
|
---|
| 2009 | {sqliteAddColumn(pParse,&yymsp[0].minor.yy298);}
|
---|
| 2010 | #line 2010 "parse.c"
|
---|
| 2011 | break;
|
---|
| 2012 | case 25:
|
---|
| 2013 | #line 117 "parse.y"
|
---|
| 2014 | {yygotominor.yy298 = yymsp[0].minor.yy0;}
|
---|
| 2015 | #line 2015 "parse.c"
|
---|
| 2016 | break;
|
---|
| 2017 | case 26:
|
---|
| 2018 | #line 149 "parse.y"
|
---|
| 2019 | {yygotominor.yy298 = yymsp[0].minor.yy0;}
|
---|
| 2020 | #line 2020 "parse.c"
|
---|
| 2021 | break;
|
---|
| 2022 | case 27:
|
---|
| 2023 | #line 150 "parse.y"
|
---|
| 2024 | {yygotominor.yy298 = yymsp[0].minor.yy0;}
|
---|
| 2025 | #line 2025 "parse.c"
|
---|
| 2026 | break;
|
---|
| 2027 | case 28:
|
---|
| 2028 | #line 155 "parse.y"
|
---|
| 2029 | {yygotominor.yy298 = yymsp[0].minor.yy0;}
|
---|
| 2030 | #line 2030 "parse.c"
|
---|
| 2031 | break;
|
---|
| 2032 | case 29:
|
---|
| 2033 | #line 156 "parse.y"
|
---|
| 2034 | {yygotominor.yy298 = yymsp[0].minor.yy0;}
|
---|
| 2035 | #line 2035 "parse.c"
|
---|
| 2036 | break;
|
---|
| 2037 | case 30:
|
---|
| 2038 | #line 157 "parse.y"
|
---|
| 2039 | {yygotominor.yy298 = yymsp[0].minor.yy0;}
|
---|
| 2040 | #line 2040 "parse.c"
|
---|
| 2041 | break;
|
---|
| 2042 | case 31:
|
---|
| 2043 | break;
|
---|
| 2044 | case 32:
|
---|
| 2045 | #line 160 "parse.y"
|
---|
| 2046 | {sqliteAddColumnType(pParse,&yymsp[0].minor.yy298,&yymsp[0].minor.yy298);}
|
---|
| 2047 | #line 2047 "parse.c"
|
---|
| 2048 | break;
|
---|
| 2049 | case 33:
|
---|
| 2050 | #line 161 "parse.y"
|
---|
| 2051 | {sqliteAddColumnType(pParse,&yymsp[-3].minor.yy298,&yymsp[0].minor.yy0);}
|
---|
| 2052 | #line 2052 "parse.c"
|
---|
| 2053 | /* No destructor defined for LP */
|
---|
| 2054 | /* No destructor defined for signed */
|
---|
| 2055 | break;
|
---|
| 2056 | case 34:
|
---|
| 2057 | #line 163 "parse.y"
|
---|
| 2058 | {sqliteAddColumnType(pParse,&yymsp[-5].minor.yy298,&yymsp[0].minor.yy0);}
|
---|
| 2059 | #line 2059 "parse.c"
|
---|
| 2060 | /* No destructor defined for LP */
|
---|
| 2061 | /* No destructor defined for signed */
|
---|
| 2062 | /* No destructor defined for COMMA */
|
---|
| 2063 | /* No destructor defined for signed */
|
---|
| 2064 | break;
|
---|
| 2065 | case 35:
|
---|
| 2066 | #line 165 "parse.y"
|
---|
| 2067 | {yygotominor.yy298 = yymsp[0].minor.yy298;}
|
---|
| 2068 | #line 2068 "parse.c"
|
---|
| 2069 | break;
|
---|
| 2070 | case 36:
|
---|
| 2071 | #line 166 "parse.y"
|
---|
| 2072 | {yygotominor.yy298 = yymsp[-1].minor.yy298;}
|
---|
| 2073 | #line 2073 "parse.c"
|
---|
| 2074 | /* No destructor defined for ids */
|
---|
| 2075 | break;
|
---|
| 2076 | case 37:
|
---|
| 2077 | #line 168 "parse.y"
|
---|
| 2078 | { yygotominor.yy372 = atoi(yymsp[0].minor.yy0.z); }
|
---|
| 2079 | #line 2079 "parse.c"
|
---|
| 2080 | break;
|
---|
| 2081 | case 38:
|
---|
| 2082 | #line 169 "parse.y"
|
---|
| 2083 | { yygotominor.yy372 = atoi(yymsp[0].minor.yy0.z); }
|
---|
| 2084 | #line 2084 "parse.c"
|
---|
| 2085 | /* No destructor defined for PLUS */
|
---|
| 2086 | break;
|
---|
| 2087 | case 39:
|
---|
| 2088 | #line 170 "parse.y"
|
---|
| 2089 | { yygotominor.yy372 = -atoi(yymsp[0].minor.yy0.z); }
|
---|
| 2090 | #line 2090 "parse.c"
|
---|
| 2091 | /* No destructor defined for MINUS */
|
---|
| 2092 | break;
|
---|
| 2093 | case 40:
|
---|
| 2094 | /* No destructor defined for carglist */
|
---|
| 2095 | /* No destructor defined for carg */
|
---|
| 2096 | break;
|
---|
| 2097 | case 41:
|
---|
| 2098 | break;
|
---|
| 2099 | case 42:
|
---|
| 2100 | /* No destructor defined for CONSTRAINT */
|
---|
| 2101 | /* No destructor defined for nm */
|
---|
| 2102 | /* No destructor defined for ccons */
|
---|
| 2103 | break;
|
---|
| 2104 | case 43:
|
---|
| 2105 | /* No destructor defined for ccons */
|
---|
| 2106 | break;
|
---|
| 2107 | case 44:
|
---|
| 2108 | #line 175 "parse.y"
|
---|
| 2109 | {sqliteAddDefaultValue(pParse,&yymsp[0].minor.yy0,0);}
|
---|
| 2110 | #line 2110 "parse.c"
|
---|
| 2111 | /* No destructor defined for DEFAULT */
|
---|
| 2112 | break;
|
---|
| 2113 | case 45:
|
---|
| 2114 | #line 176 "parse.y"
|
---|
| 2115 | {sqliteAddDefaultValue(pParse,&yymsp[0].minor.yy0,0);}
|
---|
| 2116 | #line 2116 "parse.c"
|
---|
| 2117 | /* No destructor defined for DEFAULT */
|
---|
| 2118 | break;
|
---|
| 2119 | case 46:
|
---|
| 2120 | #line 177 "parse.y"
|
---|
| 2121 | {sqliteAddDefaultValue(pParse,&yymsp[0].minor.yy0,0);}
|
---|
| 2122 | #line 2122 "parse.c"
|
---|
| 2123 | /* No destructor defined for DEFAULT */
|
---|
| 2124 | break;
|
---|
| 2125 | case 47:
|
---|
| 2126 | #line 178 "parse.y"
|
---|
| 2127 | {sqliteAddDefaultValue(pParse,&yymsp[0].minor.yy0,0);}
|
---|
| 2128 | #line 2128 "parse.c"
|
---|
| 2129 | /* No destructor defined for DEFAULT */
|
---|
| 2130 | /* No destructor defined for PLUS */
|
---|
| 2131 | break;
|
---|
| 2132 | case 48:
|
---|
| 2133 | #line 179 "parse.y"
|
---|
| 2134 | {sqliteAddDefaultValue(pParse,&yymsp[0].minor.yy0,1);}
|
---|
| 2135 | #line 2135 "parse.c"
|
---|
| 2136 | /* No destructor defined for DEFAULT */
|
---|
| 2137 | /* No destructor defined for MINUS */
|
---|
| 2138 | break;
|
---|
| 2139 | case 49:
|
---|
| 2140 | #line 180 "parse.y"
|
---|
| 2141 | {sqliteAddDefaultValue(pParse,&yymsp[0].minor.yy0,0);}
|
---|
| 2142 | #line 2142 "parse.c"
|
---|
| 2143 | /* No destructor defined for DEFAULT */
|
---|
| 2144 | break;
|
---|
| 2145 | case 50:
|
---|
| 2146 | #line 181 "parse.y"
|
---|
| 2147 | {sqliteAddDefaultValue(pParse,&yymsp[0].minor.yy0,0);}
|
---|
| 2148 | #line 2148 "parse.c"
|
---|
| 2149 | /* No destructor defined for DEFAULT */
|
---|
| 2150 | /* No destructor defined for PLUS */
|
---|
| 2151 | break;
|
---|
| 2152 | case 51:
|
---|
| 2153 | #line 182 "parse.y"
|
---|
| 2154 | {sqliteAddDefaultValue(pParse,&yymsp[0].minor.yy0,1);}
|
---|
| 2155 | #line 2155 "parse.c"
|
---|
| 2156 | /* No destructor defined for DEFAULT */
|
---|
| 2157 | /* No destructor defined for MINUS */
|
---|
| 2158 | break;
|
---|
| 2159 | case 52:
|
---|
| 2160 | /* No destructor defined for DEFAULT */
|
---|
| 2161 | /* No destructor defined for NULL */
|
---|
| 2162 | break;
|
---|
| 2163 | case 53:
|
---|
| 2164 | /* No destructor defined for NULL */
|
---|
| 2165 | /* No destructor defined for onconf */
|
---|
| 2166 | break;
|
---|
| 2167 | case 54:
|
---|
| 2168 | #line 189 "parse.y"
|
---|
| 2169 | {sqliteAddNotNull(pParse, yymsp[0].minor.yy372);}
|
---|
| 2170 | #line 2170 "parse.c"
|
---|
| 2171 | /* No destructor defined for NOT */
|
---|
| 2172 | /* No destructor defined for NULL */
|
---|
| 2173 | break;
|
---|
| 2174 | case 55:
|
---|
| 2175 | #line 190 "parse.y"
|
---|
| 2176 | {sqliteAddPrimaryKey(pParse,0,yymsp[0].minor.yy372);}
|
---|
| 2177 | #line 2177 "parse.c"
|
---|
| 2178 | /* No destructor defined for PRIMARY */
|
---|
| 2179 | /* No destructor defined for KEY */
|
---|
| 2180 | /* No destructor defined for sortorder */
|
---|
| 2181 | break;
|
---|
| 2182 | case 56:
|
---|
| 2183 | #line 191 "parse.y"
|
---|
| 2184 | {sqliteCreateIndex(pParse,0,0,0,yymsp[0].minor.yy372,0,0);}
|
---|
| 2185 | #line 2185 "parse.c"
|
---|
| 2186 | /* No destructor defined for UNIQUE */
|
---|
| 2187 | break;
|
---|
| 2188 | case 57:
|
---|
| 2189 | /* No destructor defined for CHECK */
|
---|
| 2190 | /* No destructor defined for LP */
|
---|
| 2191 | yy_destructor(158,&yymsp[-2].minor);
|
---|
| 2192 | /* No destructor defined for RP */
|
---|
| 2193 | /* No destructor defined for onconf */
|
---|
| 2194 | break;
|
---|
| 2195 | case 58:
|
---|
| 2196 | #line 194 "parse.y"
|
---|
| 2197 | {sqliteCreateForeignKey(pParse,0,&yymsp[-2].minor.yy298,yymsp[-1].minor.yy320,yymsp[0].minor.yy372);}
|
---|
| 2198 | #line 2198 "parse.c"
|
---|
| 2199 | /* No destructor defined for REFERENCES */
|
---|
| 2200 | break;
|
---|
| 2201 | case 59:
|
---|
| 2202 | #line 195 "parse.y"
|
---|
| 2203 | {sqliteDeferForeignKey(pParse,yymsp[0].minor.yy372);}
|
---|
| 2204 | #line 2204 "parse.c"
|
---|
| 2205 | break;
|
---|
| 2206 | case 60:
|
---|
| 2207 | #line 196 "parse.y"
|
---|
| 2208 | {
|
---|
| 2209 | sqliteAddCollateType(pParse, sqliteCollateType(yymsp[0].minor.yy298.z, yymsp[0].minor.yy298.n));
|
---|
| 2210 | }
|
---|
| 2211 | #line 2211 "parse.c"
|
---|
| 2212 | /* No destructor defined for COLLATE */
|
---|
| 2213 | break;
|
---|
| 2214 | case 61:
|
---|
| 2215 | #line 206 "parse.y"
|
---|
| 2216 | { yygotominor.yy372 = OE_Restrict * 0x010101; }
|
---|
| 2217 | #line 2217 "parse.c"
|
---|
| 2218 | break;
|
---|
| 2219 | case 62:
|
---|
| 2220 | #line 207 "parse.y"
|
---|
| 2221 | { yygotominor.yy372 = (yymsp[-1].minor.yy372 & yymsp[0].minor.yy407.mask) | yymsp[0].minor.yy407.value; }
|
---|
| 2222 | #line 2222 "parse.c"
|
---|
| 2223 | break;
|
---|
| 2224 | case 63:
|
---|
| 2225 | #line 209 "parse.y"
|
---|
| 2226 | { yygotominor.yy407.value = 0; yygotominor.yy407.mask = 0x000000; }
|
---|
| 2227 | #line 2227 "parse.c"
|
---|
| 2228 | /* No destructor defined for MATCH */
|
---|
| 2229 | /* No destructor defined for nm */
|
---|
| 2230 | break;
|
---|
| 2231 | case 64:
|
---|
| 2232 | #line 210 "parse.y"
|
---|
| 2233 | { yygotominor.yy407.value = yymsp[0].minor.yy372; yygotominor.yy407.mask = 0x0000ff; }
|
---|
| 2234 | #line 2234 "parse.c"
|
---|
| 2235 | /* No destructor defined for ON */
|
---|
| 2236 | /* No destructor defined for DELETE */
|
---|
| 2237 | break;
|
---|
| 2238 | case 65:
|
---|
| 2239 | #line 211 "parse.y"
|
---|
| 2240 | { yygotominor.yy407.value = yymsp[0].minor.yy372<<8; yygotominor.yy407.mask = 0x00ff00; }
|
---|
| 2241 | #line 2241 "parse.c"
|
---|
| 2242 | /* No destructor defined for ON */
|
---|
| 2243 | /* No destructor defined for UPDATE */
|
---|
| 2244 | break;
|
---|
| 2245 | case 66:
|
---|
| 2246 | #line 212 "parse.y"
|
---|
| 2247 | { yygotominor.yy407.value = yymsp[0].minor.yy372<<16; yygotominor.yy407.mask = 0xff0000; }
|
---|
| 2248 | #line 2248 "parse.c"
|
---|
| 2249 | /* No destructor defined for ON */
|
---|
| 2250 | /* No destructor defined for INSERT */
|
---|
| 2251 | break;
|
---|
| 2252 | case 67:
|
---|
| 2253 | #line 214 "parse.y"
|
---|
| 2254 | { yygotominor.yy372 = OE_SetNull; }
|
---|
| 2255 | #line 2255 "parse.c"
|
---|
| 2256 | /* No destructor defined for SET */
|
---|
| 2257 | /* No destructor defined for NULL */
|
---|
| 2258 | break;
|
---|
| 2259 | case 68:
|
---|
| 2260 | #line 215 "parse.y"
|
---|
| 2261 | { yygotominor.yy372 = OE_SetDflt; }
|
---|
| 2262 | #line 2262 "parse.c"
|
---|
| 2263 | /* No destructor defined for SET */
|
---|
| 2264 | /* No destructor defined for DEFAULT */
|
---|
| 2265 | break;
|
---|
| 2266 | case 69:
|
---|
| 2267 | #line 216 "parse.y"
|
---|
| 2268 | { yygotominor.yy372 = OE_Cascade; }
|
---|
| 2269 | #line 2269 "parse.c"
|
---|
| 2270 | /* No destructor defined for CASCADE */
|
---|
| 2271 | break;
|
---|
| 2272 | case 70:
|
---|
| 2273 | #line 217 "parse.y"
|
---|
| 2274 | { yygotominor.yy372 = OE_Restrict; }
|
---|
| 2275 | #line 2275 "parse.c"
|
---|
| 2276 | /* No destructor defined for RESTRICT */
|
---|
| 2277 | break;
|
---|
| 2278 | case 71:
|
---|
| 2279 | #line 219 "parse.y"
|
---|
| 2280 | {yygotominor.yy372 = yymsp[0].minor.yy372;}
|
---|
| 2281 | #line 2281 "parse.c"
|
---|
| 2282 | /* No destructor defined for NOT */
|
---|
| 2283 | /* No destructor defined for DEFERRABLE */
|
---|
| 2284 | break;
|
---|
| 2285 | case 72:
|
---|
| 2286 | #line 220 "parse.y"
|
---|
| 2287 | {yygotominor.yy372 = yymsp[0].minor.yy372;}
|
---|
| 2288 | #line 2288 "parse.c"
|
---|
| 2289 | /* No destructor defined for DEFERRABLE */
|
---|
| 2290 | break;
|
---|
| 2291 | case 73:
|
---|
| 2292 | #line 222 "parse.y"
|
---|
| 2293 | {yygotominor.yy372 = 0;}
|
---|
| 2294 | #line 2294 "parse.c"
|
---|
| 2295 | break;
|
---|
| 2296 | case 74:
|
---|
| 2297 | #line 223 "parse.y"
|
---|
| 2298 | {yygotominor.yy372 = 1;}
|
---|
| 2299 | #line 2299 "parse.c"
|
---|
| 2300 | /* No destructor defined for INITIALLY */
|
---|
| 2301 | /* No destructor defined for DEFERRED */
|
---|
| 2302 | break;
|
---|
| 2303 | case 75:
|
---|
| 2304 | #line 224 "parse.y"
|
---|
| 2305 | {yygotominor.yy372 = 0;}
|
---|
| 2306 | #line 2306 "parse.c"
|
---|
| 2307 | /* No destructor defined for INITIALLY */
|
---|
| 2308 | /* No destructor defined for IMMEDIATE */
|
---|
| 2309 | break;
|
---|
| 2310 | case 76:
|
---|
| 2311 | break;
|
---|
| 2312 | case 77:
|
---|
| 2313 | /* No destructor defined for COMMA */
|
---|
| 2314 | /* No destructor defined for conslist */
|
---|
| 2315 | break;
|
---|
| 2316 | case 78:
|
---|
| 2317 | /* No destructor defined for conslist */
|
---|
| 2318 | /* No destructor defined for COMMA */
|
---|
| 2319 | /* No destructor defined for tcons */
|
---|
| 2320 | break;
|
---|
| 2321 | case 79:
|
---|
| 2322 | /* No destructor defined for conslist */
|
---|
| 2323 | /* No destructor defined for tcons */
|
---|
| 2324 | break;
|
---|
| 2325 | case 80:
|
---|
| 2326 | /* No destructor defined for tcons */
|
---|
| 2327 | break;
|
---|
| 2328 | case 81:
|
---|
| 2329 | /* No destructor defined for CONSTRAINT */
|
---|
| 2330 | /* No destructor defined for nm */
|
---|
| 2331 | break;
|
---|
| 2332 | case 82:
|
---|
| 2333 | #line 236 "parse.y"
|
---|
| 2334 | {sqliteAddPrimaryKey(pParse,yymsp[-2].minor.yy320,yymsp[0].minor.yy372);}
|
---|
| 2335 | #line 2335 "parse.c"
|
---|
| 2336 | /* No destructor defined for PRIMARY */
|
---|
| 2337 | /* No destructor defined for KEY */
|
---|
| 2338 | /* No destructor defined for LP */
|
---|
| 2339 | /* No destructor defined for RP */
|
---|
| 2340 | break;
|
---|
| 2341 | case 83:
|
---|
| 2342 | #line 238 "parse.y"
|
---|
| 2343 | {sqliteCreateIndex(pParse,0,0,yymsp[-2].minor.yy320,yymsp[0].minor.yy372,0,0);}
|
---|
| 2344 | #line 2344 "parse.c"
|
---|
| 2345 | /* No destructor defined for UNIQUE */
|
---|
| 2346 | /* No destructor defined for LP */
|
---|
| 2347 | /* No destructor defined for RP */
|
---|
| 2348 | break;
|
---|
| 2349 | case 84:
|
---|
| 2350 | /* No destructor defined for CHECK */
|
---|
| 2351 | yy_destructor(158,&yymsp[-1].minor);
|
---|
| 2352 | /* No destructor defined for onconf */
|
---|
| 2353 | break;
|
---|
| 2354 | case 85:
|
---|
| 2355 | #line 241 "parse.y"
|
---|
| 2356 | {
|
---|
| 2357 | sqliteCreateForeignKey(pParse, yymsp[-6].minor.yy320, &yymsp[-3].minor.yy298, yymsp[-2].minor.yy320, yymsp[-1].minor.yy372);
|
---|
| 2358 | sqliteDeferForeignKey(pParse, yymsp[0].minor.yy372);
|
---|
| 2359 | }
|
---|
| 2360 | #line 2360 "parse.c"
|
---|
| 2361 | /* No destructor defined for FOREIGN */
|
---|
| 2362 | /* No destructor defined for KEY */
|
---|
| 2363 | /* No destructor defined for LP */
|
---|
| 2364 | /* No destructor defined for RP */
|
---|
| 2365 | /* No destructor defined for REFERENCES */
|
---|
| 2366 | break;
|
---|
| 2367 | case 86:
|
---|
| 2368 | #line 246 "parse.y"
|
---|
| 2369 | {yygotominor.yy372 = 0;}
|
---|
| 2370 | #line 2370 "parse.c"
|
---|
| 2371 | break;
|
---|
| 2372 | case 87:
|
---|
| 2373 | #line 247 "parse.y"
|
---|
| 2374 | {yygotominor.yy372 = yymsp[0].minor.yy372;}
|
---|
| 2375 | #line 2375 "parse.c"
|
---|
| 2376 | break;
|
---|
| 2377 | case 88:
|
---|
| 2378 | #line 255 "parse.y"
|
---|
| 2379 | { yygotominor.yy372 = OE_Default; }
|
---|
| 2380 | #line 2380 "parse.c"
|
---|
| 2381 | break;
|
---|
| 2382 | case 89:
|
---|
| 2383 | #line 256 "parse.y"
|
---|
| 2384 | { yygotominor.yy372 = yymsp[0].minor.yy372; }
|
---|
| 2385 | #line 2385 "parse.c"
|
---|
| 2386 | /* No destructor defined for ON */
|
---|
| 2387 | /* No destructor defined for CONFLICT */
|
---|
| 2388 | break;
|
---|
| 2389 | case 90:
|
---|
| 2390 | #line 257 "parse.y"
|
---|
| 2391 | { yygotominor.yy372 = OE_Default; }
|
---|
| 2392 | #line 2392 "parse.c"
|
---|
| 2393 | break;
|
---|
| 2394 | case 91:
|
---|
| 2395 | #line 258 "parse.y"
|
---|
| 2396 | { yygotominor.yy372 = yymsp[0].minor.yy372; }
|
---|
| 2397 | #line 2397 "parse.c"
|
---|
| 2398 | /* No destructor defined for OR */
|
---|
| 2399 | break;
|
---|
| 2400 | case 92:
|
---|
| 2401 | #line 259 "parse.y"
|
---|
| 2402 | { yygotominor.yy372 = OE_Rollback; }
|
---|
| 2403 | #line 2403 "parse.c"
|
---|
| 2404 | /* No destructor defined for ROLLBACK */
|
---|
| 2405 | break;
|
---|
| 2406 | case 93:
|
---|
| 2407 | #line 260 "parse.y"
|
---|
| 2408 | { yygotominor.yy372 = OE_Abort; }
|
---|
| 2409 | #line 2409 "parse.c"
|
---|
| 2410 | /* No destructor defined for ABORT */
|
---|
| 2411 | break;
|
---|
| 2412 | case 94:
|
---|
| 2413 | #line 261 "parse.y"
|
---|
| 2414 | { yygotominor.yy372 = OE_Fail; }
|
---|
| 2415 | #line 2415 "parse.c"
|
---|
| 2416 | /* No destructor defined for FAIL */
|
---|
| 2417 | break;
|
---|
| 2418 | case 95:
|
---|
| 2419 | #line 262 "parse.y"
|
---|
| 2420 | { yygotominor.yy372 = OE_Ignore; }
|
---|
| 2421 | #line 2421 "parse.c"
|
---|
| 2422 | /* No destructor defined for IGNORE */
|
---|
| 2423 | break;
|
---|
| 2424 | case 96:
|
---|
| 2425 | #line 263 "parse.y"
|
---|
| 2426 | { yygotominor.yy372 = OE_Replace; }
|
---|
| 2427 | #line 2427 "parse.c"
|
---|
| 2428 | /* No destructor defined for REPLACE */
|
---|
| 2429 | break;
|
---|
| 2430 | case 97:
|
---|
| 2431 | #line 267 "parse.y"
|
---|
| 2432 | {sqliteDropTable(pParse,&yymsp[0].minor.yy298,0);}
|
---|
| 2433 | #line 2433 "parse.c"
|
---|
| 2434 | /* No destructor defined for DROP */
|
---|
| 2435 | /* No destructor defined for TABLE */
|
---|
| 2436 | break;
|
---|
| 2437 | case 98:
|
---|
| 2438 | #line 271 "parse.y"
|
---|
| 2439 | {
|
---|
| 2440 | sqliteCreateView(pParse, &yymsp[-5].minor.yy0, &yymsp[-2].minor.yy298, yymsp[0].minor.yy179, yymsp[-4].minor.yy372);
|
---|
| 2441 | }
|
---|
| 2442 | #line 2442 "parse.c"
|
---|
| 2443 | /* No destructor defined for VIEW */
|
---|
| 2444 | /* No destructor defined for AS */
|
---|
| 2445 | break;
|
---|
| 2446 | case 99:
|
---|
| 2447 | #line 274 "parse.y"
|
---|
| 2448 | {
|
---|
| 2449 | sqliteDropTable(pParse, &yymsp[0].minor.yy298, 1);
|
---|
| 2450 | }
|
---|
| 2451 | #line 2451 "parse.c"
|
---|
| 2452 | /* No destructor defined for DROP */
|
---|
| 2453 | /* No destructor defined for VIEW */
|
---|
| 2454 | break;
|
---|
| 2455 | case 100:
|
---|
| 2456 | #line 280 "parse.y"
|
---|
| 2457 | {
|
---|
| 2458 | sqliteSelect(pParse, yymsp[0].minor.yy179, SRT_Callback, 0, 0, 0, 0);
|
---|
| 2459 | sqliteSelectDelete(yymsp[0].minor.yy179);
|
---|
| 2460 | }
|
---|
| 2461 | #line 2461 "parse.c"
|
---|
| 2462 | break;
|
---|
| 2463 | case 101:
|
---|
| 2464 | #line 290 "parse.y"
|
---|
| 2465 | {yygotominor.yy179 = yymsp[0].minor.yy179;}
|
---|
| 2466 | #line 2466 "parse.c"
|
---|
| 2467 | break;
|
---|
| 2468 | case 102:
|
---|
| 2469 | #line 291 "parse.y"
|
---|
| 2470 | {
|
---|
| 2471 | if( yymsp[0].minor.yy179 ){
|
---|
| 2472 | yymsp[0].minor.yy179->op = yymsp[-1].minor.yy372;
|
---|
| 2473 | yymsp[0].minor.yy179->pPrior = yymsp[-2].minor.yy179;
|
---|
| 2474 | }
|
---|
| 2475 | yygotominor.yy179 = yymsp[0].minor.yy179;
|
---|
| 2476 | }
|
---|
| 2477 | #line 2477 "parse.c"
|
---|
| 2478 | break;
|
---|
| 2479 | case 103:
|
---|
| 2480 | #line 299 "parse.y"
|
---|
| 2481 | {yygotominor.yy372 = TK_UNION;}
|
---|
| 2482 | #line 2482 "parse.c"
|
---|
| 2483 | /* No destructor defined for UNION */
|
---|
| 2484 | break;
|
---|
| 2485 | case 104:
|
---|
| 2486 | #line 300 "parse.y"
|
---|
| 2487 | {yygotominor.yy372 = TK_ALL;}
|
---|
| 2488 | #line 2488 "parse.c"
|
---|
| 2489 | /* No destructor defined for UNION */
|
---|
| 2490 | /* No destructor defined for ALL */
|
---|
| 2491 | break;
|
---|
| 2492 | case 105:
|
---|
| 2493 | #line 301 "parse.y"
|
---|
| 2494 | {yygotominor.yy372 = TK_INTERSECT;}
|
---|
| 2495 | #line 2495 "parse.c"
|
---|
| 2496 | /* No destructor defined for INTERSECT */
|
---|
| 2497 | break;
|
---|
| 2498 | case 106:
|
---|
| 2499 | #line 302 "parse.y"
|
---|
| 2500 | {yygotominor.yy372 = TK_EXCEPT;}
|
---|
| 2501 | #line 2501 "parse.c"
|
---|
| 2502 | /* No destructor defined for EXCEPT */
|
---|
| 2503 | break;
|
---|
| 2504 | case 107:
|
---|
| 2505 | #line 304 "parse.y"
|
---|
| 2506 | {
|
---|
| 2507 | yygotominor.yy179 = sqliteSelectNew(yymsp[-6].minor.yy322,yymsp[-5].minor.yy307,yymsp[-4].minor.yy242,yymsp[-3].minor.yy322,yymsp[-2].minor.yy242,yymsp[-1].minor.yy322,yymsp[-7].minor.yy372,yymsp[0].minor.yy124.limit,yymsp[0].minor.yy124.offset);
|
---|
| 2508 | }
|
---|
| 2509 | #line 2509 "parse.c"
|
---|
| 2510 | /* No destructor defined for SELECT */
|
---|
| 2511 | break;
|
---|
| 2512 | case 108:
|
---|
| 2513 | #line 312 "parse.y"
|
---|
| 2514 | {yygotominor.yy372 = 1;}
|
---|
| 2515 | #line 2515 "parse.c"
|
---|
| 2516 | /* No destructor defined for DISTINCT */
|
---|
| 2517 | break;
|
---|
| 2518 | case 109:
|
---|
| 2519 | #line 313 "parse.y"
|
---|
| 2520 | {yygotominor.yy372 = 0;}
|
---|
| 2521 | #line 2521 "parse.c"
|
---|
| 2522 | /* No destructor defined for ALL */
|
---|
| 2523 | break;
|
---|
| 2524 | case 110:
|
---|
| 2525 | #line 314 "parse.y"
|
---|
| 2526 | {yygotominor.yy372 = 0;}
|
---|
| 2527 | #line 2527 "parse.c"
|
---|
| 2528 | break;
|
---|
| 2529 | case 111:
|
---|
| 2530 | #line 325 "parse.y"
|
---|
| 2531 | {yygotominor.yy322 = yymsp[-1].minor.yy322;}
|
---|
| 2532 | #line 2532 "parse.c"
|
---|
| 2533 | /* No destructor defined for COMMA */
|
---|
| 2534 | break;
|
---|
| 2535 | case 112:
|
---|
| 2536 | #line 326 "parse.y"
|
---|
| 2537 | {yygotominor.yy322 = 0;}
|
---|
| 2538 | #line 2538 "parse.c"
|
---|
| 2539 | break;
|
---|
| 2540 | case 113:
|
---|
| 2541 | #line 327 "parse.y"
|
---|
| 2542 | {
|
---|
| 2543 | yygotominor.yy322 = sqliteExprListAppend(yymsp[-2].minor.yy322,yymsp[-1].minor.yy242,yymsp[0].minor.yy298.n?&yymsp[0].minor.yy298:0);
|
---|
| 2544 | }
|
---|
| 2545 | #line 2545 "parse.c"
|
---|
| 2546 | break;
|
---|
| 2547 | case 114:
|
---|
| 2548 | #line 330 "parse.y"
|
---|
| 2549 | {
|
---|
| 2550 | yygotominor.yy322 = sqliteExprListAppend(yymsp[-1].minor.yy322, sqliteExpr(TK_ALL, 0, 0, 0), 0);
|
---|
| 2551 | }
|
---|
| 2552 | #line 2552 "parse.c"
|
---|
| 2553 | /* No destructor defined for STAR */
|
---|
| 2554 | break;
|
---|
| 2555 | case 115:
|
---|
| 2556 | #line 333 "parse.y"
|
---|
| 2557 | {
|
---|
| 2558 | Expr *pRight = sqliteExpr(TK_ALL, 0, 0, 0);
|
---|
| 2559 | Expr *pLeft = sqliteExpr(TK_ID, 0, 0, &yymsp[-2].minor.yy298);
|
---|
| 2560 | yygotominor.yy322 = sqliteExprListAppend(yymsp[-3].minor.yy322, sqliteExpr(TK_DOT, pLeft, pRight, 0), 0);
|
---|
| 2561 | }
|
---|
| 2562 | #line 2562 "parse.c"
|
---|
| 2563 | /* No destructor defined for DOT */
|
---|
| 2564 | /* No destructor defined for STAR */
|
---|
| 2565 | break;
|
---|
| 2566 | case 116:
|
---|
| 2567 | #line 343 "parse.y"
|
---|
| 2568 | { yygotominor.yy298 = yymsp[0].minor.yy298; }
|
---|
| 2569 | #line 2569 "parse.c"
|
---|
| 2570 | /* No destructor defined for AS */
|
---|
| 2571 | break;
|
---|
| 2572 | case 117:
|
---|
| 2573 | #line 344 "parse.y"
|
---|
| 2574 | { yygotominor.yy298 = yymsp[0].minor.yy298; }
|
---|
| 2575 | #line 2575 "parse.c"
|
---|
| 2576 | break;
|
---|
| 2577 | case 118:
|
---|
| 2578 | #line 345 "parse.y"
|
---|
| 2579 | { yygotominor.yy298.n = 0; }
|
---|
| 2580 | #line 2580 "parse.c"
|
---|
| 2581 | break;
|
---|
| 2582 | case 119:
|
---|
| 2583 | #line 357 "parse.y"
|
---|
| 2584 | {yygotominor.yy307 = sqliteMalloc(sizeof(*yygotominor.yy307));}
|
---|
| 2585 | #line 2585 "parse.c"
|
---|
| 2586 | break;
|
---|
| 2587 | case 120:
|
---|
| 2588 | #line 358 "parse.y"
|
---|
| 2589 | {yygotominor.yy307 = yymsp[0].minor.yy307;}
|
---|
| 2590 | #line 2590 "parse.c"
|
---|
| 2591 | /* No destructor defined for FROM */
|
---|
| 2592 | break;
|
---|
| 2593 | case 121:
|
---|
| 2594 | #line 363 "parse.y"
|
---|
| 2595 | {
|
---|
| 2596 | yygotominor.yy307 = yymsp[-1].minor.yy307;
|
---|
| 2597 | if( yygotominor.yy307 && yygotominor.yy307->nSrc>0 ) yygotominor.yy307->a[yygotominor.yy307->nSrc-1].jointype = yymsp[0].minor.yy372;
|
---|
| 2598 | }
|
---|
| 2599 | #line 2599 "parse.c"
|
---|
| 2600 | break;
|
---|
| 2601 | case 122:
|
---|
| 2602 | #line 367 "parse.y"
|
---|
| 2603 | {yygotominor.yy307 = 0;}
|
---|
| 2604 | #line 2604 "parse.c"
|
---|
| 2605 | break;
|
---|
| 2606 | case 123:
|
---|
| 2607 | #line 368 "parse.y"
|
---|
| 2608 | {
|
---|
| 2609 | yygotominor.yy307 = sqliteSrcListAppend(yymsp[-5].minor.yy307,&yymsp[-4].minor.yy298,&yymsp[-3].minor.yy298);
|
---|
| 2610 | if( yymsp[-2].minor.yy298.n ) sqliteSrcListAddAlias(yygotominor.yy307,&yymsp[-2].minor.yy298);
|
---|
| 2611 | if( yymsp[-1].minor.yy242 ){
|
---|
| 2612 | if( yygotominor.yy307 && yygotominor.yy307->nSrc>1 ){ yygotominor.yy307->a[yygotominor.yy307->nSrc-2].pOn = yymsp[-1].minor.yy242; }
|
---|
| 2613 | else { sqliteExprDelete(yymsp[-1].minor.yy242); }
|
---|
| 2614 | }
|
---|
| 2615 | if( yymsp[0].minor.yy320 ){
|
---|
| 2616 | if( yygotominor.yy307 && yygotominor.yy307->nSrc>1 ){ yygotominor.yy307->a[yygotominor.yy307->nSrc-2].pUsing = yymsp[0].minor.yy320; }
|
---|
| 2617 | else { sqliteIdListDelete(yymsp[0].minor.yy320); }
|
---|
| 2618 | }
|
---|
| 2619 | }
|
---|
| 2620 | #line 2620 "parse.c"
|
---|
| 2621 | break;
|
---|
| 2622 | case 124:
|
---|
| 2623 | #line 381 "parse.y"
|
---|
| 2624 | {
|
---|
| 2625 | yygotominor.yy307 = sqliteSrcListAppend(yymsp[-6].minor.yy307,0,0);
|
---|
| 2626 | yygotominor.yy307->a[yygotominor.yy307->nSrc-1].pSelect = yymsp[-4].minor.yy179;
|
---|
| 2627 | if( yymsp[-2].minor.yy298.n ) sqliteSrcListAddAlias(yygotominor.yy307,&yymsp[-2].minor.yy298);
|
---|
| 2628 | if( yymsp[-1].minor.yy242 ){
|
---|
| 2629 | if( yygotominor.yy307 && yygotominor.yy307->nSrc>1 ){ yygotominor.yy307->a[yygotominor.yy307->nSrc-2].pOn = yymsp[-1].minor.yy242; }
|
---|
| 2630 | else { sqliteExprDelete(yymsp[-1].minor.yy242); }
|
---|
| 2631 | }
|
---|
| 2632 | if( yymsp[0].minor.yy320 ){
|
---|
| 2633 | if( yygotominor.yy307 && yygotominor.yy307->nSrc>1 ){ yygotominor.yy307->a[yygotominor.yy307->nSrc-2].pUsing = yymsp[0].minor.yy320; }
|
---|
| 2634 | else { sqliteIdListDelete(yymsp[0].minor.yy320); }
|
---|
| 2635 | }
|
---|
| 2636 | }
|
---|
| 2637 | #line 2637 "parse.c"
|
---|
| 2638 | /* No destructor defined for LP */
|
---|
| 2639 | /* No destructor defined for RP */
|
---|
| 2640 | break;
|
---|
| 2641 | case 125:
|
---|
| 2642 | #line 401 "parse.y"
|
---|
| 2643 | {yygotominor.yy179 = yymsp[0].minor.yy179;}
|
---|
| 2644 | #line 2644 "parse.c"
|
---|
| 2645 | break;
|
---|
| 2646 | case 126:
|
---|
| 2647 | #line 402 "parse.y"
|
---|
| 2648 | {
|
---|
| 2649 | yygotominor.yy179 = sqliteSelectNew(0,yymsp[0].minor.yy307,0,0,0,0,0,-1,0);
|
---|
| 2650 | }
|
---|
| 2651 | #line 2651 "parse.c"
|
---|
| 2652 | break;
|
---|
| 2653 | case 127:
|
---|
| 2654 | #line 407 "parse.y"
|
---|
| 2655 | {yygotominor.yy298.z=0; yygotominor.yy298.n=0;}
|
---|
| 2656 | #line 2656 "parse.c"
|
---|
| 2657 | break;
|
---|
| 2658 | case 128:
|
---|
| 2659 | #line 408 "parse.y"
|
---|
| 2660 | {yygotominor.yy298 = yymsp[0].minor.yy298;}
|
---|
| 2661 | #line 2661 "parse.c"
|
---|
| 2662 | /* No destructor defined for DOT */
|
---|
| 2663 | break;
|
---|
| 2664 | case 129:
|
---|
| 2665 | #line 412 "parse.y"
|
---|
| 2666 | { yygotominor.yy372 = JT_INNER; }
|
---|
| 2667 | #line 2667 "parse.c"
|
---|
| 2668 | /* No destructor defined for COMMA */
|
---|
| 2669 | break;
|
---|
| 2670 | case 130:
|
---|
| 2671 | #line 413 "parse.y"
|
---|
| 2672 | { yygotominor.yy372 = JT_INNER; }
|
---|
| 2673 | #line 2673 "parse.c"
|
---|
| 2674 | /* No destructor defined for JOIN */
|
---|
| 2675 | break;
|
---|
| 2676 | case 131:
|
---|
| 2677 | #line 414 "parse.y"
|
---|
| 2678 | { yygotominor.yy372 = sqliteJoinType(pParse,&yymsp[-1].minor.yy0,0,0); }
|
---|
| 2679 | #line 2679 "parse.c"
|
---|
| 2680 | /* No destructor defined for JOIN */
|
---|
| 2681 | break;
|
---|
| 2682 | case 132:
|
---|
| 2683 | #line 415 "parse.y"
|
---|
| 2684 | { yygotominor.yy372 = sqliteJoinType(pParse,&yymsp[-2].minor.yy0,&yymsp[-1].minor.yy298,0); }
|
---|
| 2685 | #line 2685 "parse.c"
|
---|
| 2686 | /* No destructor defined for JOIN */
|
---|
| 2687 | break;
|
---|
| 2688 | case 133:
|
---|
| 2689 | #line 417 "parse.y"
|
---|
| 2690 | { yygotominor.yy372 = sqliteJoinType(pParse,&yymsp[-3].minor.yy0,&yymsp[-2].minor.yy298,&yymsp[-1].minor.yy298); }
|
---|
| 2691 | #line 2691 "parse.c"
|
---|
| 2692 | /* No destructor defined for JOIN */
|
---|
| 2693 | break;
|
---|
| 2694 | case 134:
|
---|
| 2695 | #line 421 "parse.y"
|
---|
| 2696 | {yygotominor.yy242 = yymsp[0].minor.yy242;}
|
---|
| 2697 | #line 2697 "parse.c"
|
---|
| 2698 | /* No destructor defined for ON */
|
---|
| 2699 | break;
|
---|
| 2700 | case 135:
|
---|
| 2701 | #line 422 "parse.y"
|
---|
| 2702 | {yygotominor.yy242 = 0;}
|
---|
| 2703 | #line 2703 "parse.c"
|
---|
| 2704 | break;
|
---|
| 2705 | case 136:
|
---|
| 2706 | #line 426 "parse.y"
|
---|
| 2707 | {yygotominor.yy320 = yymsp[-1].minor.yy320;}
|
---|
| 2708 | #line 2708 "parse.c"
|
---|
| 2709 | /* No destructor defined for USING */
|
---|
| 2710 | /* No destructor defined for LP */
|
---|
| 2711 | /* No destructor defined for RP */
|
---|
| 2712 | break;
|
---|
| 2713 | case 137:
|
---|
| 2714 | #line 427 "parse.y"
|
---|
| 2715 | {yygotominor.yy320 = 0;}
|
---|
| 2716 | #line 2716 "parse.c"
|
---|
| 2717 | break;
|
---|
| 2718 | case 138:
|
---|
| 2719 | #line 437 "parse.y"
|
---|
| 2720 | {yygotominor.yy322 = 0;}
|
---|
| 2721 | #line 2721 "parse.c"
|
---|
| 2722 | break;
|
---|
| 2723 | case 139:
|
---|
| 2724 | #line 438 "parse.y"
|
---|
| 2725 | {yygotominor.yy322 = yymsp[0].minor.yy322;}
|
---|
| 2726 | #line 2726 "parse.c"
|
---|
| 2727 | /* No destructor defined for ORDER */
|
---|
| 2728 | /* No destructor defined for BY */
|
---|
| 2729 | break;
|
---|
| 2730 | case 140:
|
---|
| 2731 | #line 439 "parse.y"
|
---|
| 2732 | {
|
---|
| 2733 | yygotominor.yy322 = sqliteExprListAppend(yymsp[-4].minor.yy322,yymsp[-2].minor.yy242,0);
|
---|
| 2734 | if( yygotominor.yy322 ) yygotominor.yy322->a[yygotominor.yy322->nExpr-1].sortOrder = yymsp[-1].minor.yy372+yymsp[0].minor.yy372;
|
---|
| 2735 | }
|
---|
| 2736 | #line 2736 "parse.c"
|
---|
| 2737 | /* No destructor defined for COMMA */
|
---|
| 2738 | break;
|
---|
| 2739 | case 141:
|
---|
| 2740 | #line 443 "parse.y"
|
---|
| 2741 | {
|
---|
| 2742 | yygotominor.yy322 = sqliteExprListAppend(0,yymsp[-2].minor.yy242,0);
|
---|
| 2743 | if( yygotominor.yy322 ) yygotominor.yy322->a[0].sortOrder = yymsp[-1].minor.yy372+yymsp[0].minor.yy372;
|
---|
| 2744 | }
|
---|
| 2745 | #line 2745 "parse.c"
|
---|
| 2746 | break;
|
---|
| 2747 | case 142:
|
---|
| 2748 | #line 447 "parse.y"
|
---|
| 2749 | {yygotominor.yy242 = yymsp[0].minor.yy242;}
|
---|
| 2750 | #line 2750 "parse.c"
|
---|
| 2751 | break;
|
---|
| 2752 | case 143:
|
---|
| 2753 | #line 452 "parse.y"
|
---|
| 2754 | {yygotominor.yy372 = SQLITE_SO_ASC;}
|
---|
| 2755 | #line 2755 "parse.c"
|
---|
| 2756 | /* No destructor defined for ASC */
|
---|
| 2757 | break;
|
---|
| 2758 | case 144:
|
---|
| 2759 | #line 453 "parse.y"
|
---|
| 2760 | {yygotominor.yy372 = SQLITE_SO_DESC;}
|
---|
| 2761 | #line 2761 "parse.c"
|
---|
| 2762 | /* No destructor defined for DESC */
|
---|
| 2763 | break;
|
---|
| 2764 | case 145:
|
---|
| 2765 | #line 454 "parse.y"
|
---|
| 2766 | {yygotominor.yy372 = SQLITE_SO_ASC;}
|
---|
| 2767 | #line 2767 "parse.c"
|
---|
| 2768 | break;
|
---|
| 2769 | case 146:
|
---|
| 2770 | #line 455 "parse.y"
|
---|
| 2771 | {yygotominor.yy372 = SQLITE_SO_UNK;}
|
---|
| 2772 | #line 2772 "parse.c"
|
---|
| 2773 | break;
|
---|
| 2774 | case 147:
|
---|
| 2775 | #line 456 "parse.y"
|
---|
| 2776 | {yygotominor.yy372 = sqliteCollateType(yymsp[0].minor.yy298.z, yymsp[0].minor.yy298.n);}
|
---|
| 2777 | #line 2777 "parse.c"
|
---|
| 2778 | /* No destructor defined for COLLATE */
|
---|
| 2779 | break;
|
---|
| 2780 | case 148:
|
---|
| 2781 | #line 460 "parse.y"
|
---|
| 2782 | {yygotominor.yy322 = 0;}
|
---|
| 2783 | #line 2783 "parse.c"
|
---|
| 2784 | break;
|
---|
| 2785 | case 149:
|
---|
| 2786 | #line 461 "parse.y"
|
---|
| 2787 | {yygotominor.yy322 = yymsp[0].minor.yy322;}
|
---|
| 2788 | #line 2788 "parse.c"
|
---|
| 2789 | /* No destructor defined for GROUP */
|
---|
| 2790 | /* No destructor defined for BY */
|
---|
| 2791 | break;
|
---|
| 2792 | case 150:
|
---|
| 2793 | #line 465 "parse.y"
|
---|
| 2794 | {yygotominor.yy242 = 0;}
|
---|
| 2795 | #line 2795 "parse.c"
|
---|
| 2796 | break;
|
---|
| 2797 | case 151:
|
---|
| 2798 | #line 466 "parse.y"
|
---|
| 2799 | {yygotominor.yy242 = yymsp[0].minor.yy242;}
|
---|
| 2800 | #line 2800 "parse.c"
|
---|
| 2801 | /* No destructor defined for HAVING */
|
---|
| 2802 | break;
|
---|
| 2803 | case 152:
|
---|
| 2804 | #line 469 "parse.y"
|
---|
| 2805 | {yygotominor.yy124.limit = -1; yygotominor.yy124.offset = 0;}
|
---|
| 2806 | #line 2806 "parse.c"
|
---|
| 2807 | break;
|
---|
| 2808 | case 153:
|
---|
| 2809 | #line 470 "parse.y"
|
---|
| 2810 | {yygotominor.yy124.limit = yymsp[0].minor.yy372; yygotominor.yy124.offset = 0;}
|
---|
| 2811 | #line 2811 "parse.c"
|
---|
| 2812 | /* No destructor defined for LIMIT */
|
---|
| 2813 | break;
|
---|
| 2814 | case 154:
|
---|
| 2815 | #line 472 "parse.y"
|
---|
| 2816 | {yygotominor.yy124.limit = yymsp[-2].minor.yy372; yygotominor.yy124.offset = yymsp[0].minor.yy372;}
|
---|
| 2817 | #line 2817 "parse.c"
|
---|
| 2818 | /* No destructor defined for LIMIT */
|
---|
| 2819 | /* No destructor defined for OFFSET */
|
---|
| 2820 | break;
|
---|
| 2821 | case 155:
|
---|
| 2822 | #line 474 "parse.y"
|
---|
| 2823 | {yygotominor.yy124.limit = yymsp[0].minor.yy372; yygotominor.yy124.offset = yymsp[-2].minor.yy372;}
|
---|
| 2824 | #line 2824 "parse.c"
|
---|
| 2825 | /* No destructor defined for LIMIT */
|
---|
| 2826 | /* No destructor defined for COMMA */
|
---|
| 2827 | break;
|
---|
| 2828 | case 156:
|
---|
| 2829 | #line 478 "parse.y"
|
---|
| 2830 | {
|
---|
| 2831 | sqliteDeleteFrom(pParse, sqliteSrcListAppend(0,&yymsp[-2].minor.yy298,&yymsp[-1].minor.yy298), yymsp[0].minor.yy242);
|
---|
| 2832 | }
|
---|
| 2833 | #line 2833 "parse.c"
|
---|
| 2834 | /* No destructor defined for DELETE */
|
---|
| 2835 | /* No destructor defined for FROM */
|
---|
| 2836 | break;
|
---|
| 2837 | case 157:
|
---|
| 2838 | #line 485 "parse.y"
|
---|
| 2839 | {yygotominor.yy242 = 0;}
|
---|
| 2840 | #line 2840 "parse.c"
|
---|
| 2841 | break;
|
---|
| 2842 | case 158:
|
---|
| 2843 | #line 486 "parse.y"
|
---|
| 2844 | {yygotominor.yy242 = yymsp[0].minor.yy242;}
|
---|
| 2845 | #line 2845 "parse.c"
|
---|
| 2846 | /* No destructor defined for WHERE */
|
---|
| 2847 | break;
|
---|
| 2848 | case 159:
|
---|
| 2849 | #line 494 "parse.y"
|
---|
| 2850 | {sqliteUpdate(pParse,sqliteSrcListAppend(0,&yymsp[-4].minor.yy298,&yymsp[-3].minor.yy298),yymsp[-1].minor.yy322,yymsp[0].minor.yy242,yymsp[-5].minor.yy372);}
|
---|
| 2851 | #line 2851 "parse.c"
|
---|
| 2852 | /* No destructor defined for UPDATE */
|
---|
| 2853 | /* No destructor defined for SET */
|
---|
| 2854 | break;
|
---|
| 2855 | case 160:
|
---|
| 2856 | #line 497 "parse.y"
|
---|
| 2857 | {yygotominor.yy322 = sqliteExprListAppend(yymsp[-4].minor.yy322,yymsp[0].minor.yy242,&yymsp[-2].minor.yy298);}
|
---|
| 2858 | #line 2858 "parse.c"
|
---|
| 2859 | /* No destructor defined for COMMA */
|
---|
| 2860 | /* No destructor defined for EQ */
|
---|
| 2861 | break;
|
---|
| 2862 | case 161:
|
---|
| 2863 | #line 498 "parse.y"
|
---|
| 2864 | {yygotominor.yy322 = sqliteExprListAppend(0,yymsp[0].minor.yy242,&yymsp[-2].minor.yy298);}
|
---|
| 2865 | #line 2865 "parse.c"
|
---|
| 2866 | /* No destructor defined for EQ */
|
---|
| 2867 | break;
|
---|
| 2868 | case 162:
|
---|
| 2869 | #line 504 "parse.y"
|
---|
| 2870 | {sqliteInsert(pParse, sqliteSrcListAppend(0,&yymsp[-6].minor.yy298,&yymsp[-5].minor.yy298), yymsp[-1].minor.yy322, 0, yymsp[-4].minor.yy320, yymsp[-8].minor.yy372);}
|
---|
| 2871 | #line 2871 "parse.c"
|
---|
| 2872 | /* No destructor defined for INTO */
|
---|
| 2873 | /* No destructor defined for VALUES */
|
---|
| 2874 | /* No destructor defined for LP */
|
---|
| 2875 | /* No destructor defined for RP */
|
---|
| 2876 | break;
|
---|
| 2877 | case 163:
|
---|
| 2878 | #line 506 "parse.y"
|
---|
| 2879 | {sqliteInsert(pParse, sqliteSrcListAppend(0,&yymsp[-3].minor.yy298,&yymsp[-2].minor.yy298), 0, yymsp[0].minor.yy179, yymsp[-1].minor.yy320, yymsp[-5].minor.yy372);}
|
---|
| 2880 | #line 2880 "parse.c"
|
---|
| 2881 | /* No destructor defined for INTO */
|
---|
| 2882 | break;
|
---|
| 2883 | case 164:
|
---|
| 2884 | #line 509 "parse.y"
|
---|
| 2885 | {yygotominor.yy372 = yymsp[0].minor.yy372;}
|
---|
| 2886 | #line 2886 "parse.c"
|
---|
| 2887 | /* No destructor defined for INSERT */
|
---|
| 2888 | break;
|
---|
| 2889 | case 165:
|
---|
| 2890 | #line 510 "parse.y"
|
---|
| 2891 | {yygotominor.yy372 = OE_Replace;}
|
---|
| 2892 | #line 2892 "parse.c"
|
---|
| 2893 | /* No destructor defined for REPLACE */
|
---|
| 2894 | break;
|
---|
| 2895 | case 166:
|
---|
| 2896 | #line 516 "parse.y"
|
---|
| 2897 | {yygotominor.yy322 = sqliteExprListAppend(yymsp[-2].minor.yy322,yymsp[0].minor.yy242,0);}
|
---|
| 2898 | #line 2898 "parse.c"
|
---|
| 2899 | /* No destructor defined for COMMA */
|
---|
| 2900 | break;
|
---|
| 2901 | case 167:
|
---|
| 2902 | #line 517 "parse.y"
|
---|
| 2903 | {yygotominor.yy322 = sqliteExprListAppend(0,yymsp[0].minor.yy242,0);}
|
---|
| 2904 | #line 2904 "parse.c"
|
---|
| 2905 | break;
|
---|
| 2906 | case 168:
|
---|
| 2907 | #line 524 "parse.y"
|
---|
| 2908 | {yygotominor.yy320 = 0;}
|
---|
| 2909 | #line 2909 "parse.c"
|
---|
| 2910 | break;
|
---|
| 2911 | case 169:
|
---|
| 2912 | #line 525 "parse.y"
|
---|
| 2913 | {yygotominor.yy320 = yymsp[-1].minor.yy320;}
|
---|
| 2914 | #line 2914 "parse.c"
|
---|
| 2915 | /* No destructor defined for LP */
|
---|
| 2916 | /* No destructor defined for RP */
|
---|
| 2917 | break;
|
---|
| 2918 | case 170:
|
---|
| 2919 | #line 526 "parse.y"
|
---|
| 2920 | {yygotominor.yy320 = sqliteIdListAppend(yymsp[-2].minor.yy320,&yymsp[0].minor.yy298);}
|
---|
| 2921 | #line 2921 "parse.c"
|
---|
| 2922 | /* No destructor defined for COMMA */
|
---|
| 2923 | break;
|
---|
| 2924 | case 171:
|
---|
| 2925 | #line 527 "parse.y"
|
---|
| 2926 | {yygotominor.yy320 = sqliteIdListAppend(0,&yymsp[0].minor.yy298);}
|
---|
| 2927 | #line 2927 "parse.c"
|
---|
| 2928 | break;
|
---|
| 2929 | case 172:
|
---|
| 2930 | #line 535 "parse.y"
|
---|
| 2931 | {yygotominor.yy242 = yymsp[-1].minor.yy242; sqliteExprSpan(yygotominor.yy242,&yymsp[-2].minor.yy0,&yymsp[0].minor.yy0); }
|
---|
| 2932 | #line 2932 "parse.c"
|
---|
| 2933 | break;
|
---|
| 2934 | case 173:
|
---|
| 2935 | #line 536 "parse.y"
|
---|
| 2936 | {yygotominor.yy242 = sqliteExpr(TK_NULL, 0, 0, &yymsp[0].minor.yy0);}
|
---|
| 2937 | #line 2937 "parse.c"
|
---|
| 2938 | break;
|
---|
| 2939 | case 174:
|
---|
| 2940 | #line 537 "parse.y"
|
---|
| 2941 | {yygotominor.yy242 = sqliteExpr(TK_ID, 0, 0, &yymsp[0].minor.yy0);}
|
---|
| 2942 | #line 2942 "parse.c"
|
---|
| 2943 | break;
|
---|
| 2944 | case 175:
|
---|
| 2945 | #line 538 "parse.y"
|
---|
| 2946 | {yygotominor.yy242 = sqliteExpr(TK_ID, 0, 0, &yymsp[0].minor.yy0);}
|
---|
| 2947 | #line 2947 "parse.c"
|
---|
| 2948 | break;
|
---|
| 2949 | case 176:
|
---|
| 2950 | #line 539 "parse.y"
|
---|
| 2951 | {
|
---|
| 2952 | Expr *temp1 = sqliteExpr(TK_ID, 0, 0, &yymsp[-2].minor.yy298);
|
---|
| 2953 | Expr *temp2 = sqliteExpr(TK_ID, 0, 0, &yymsp[0].minor.yy298);
|
---|
| 2954 | yygotominor.yy242 = sqliteExpr(TK_DOT, temp1, temp2, 0);
|
---|
| 2955 | }
|
---|
| 2956 | #line 2956 "parse.c"
|
---|
| 2957 | /* No destructor defined for DOT */
|
---|
| 2958 | break;
|
---|
| 2959 | case 177:
|
---|
| 2960 | #line 544 "parse.y"
|
---|
| 2961 | {
|
---|
| 2962 | Expr *temp1 = sqliteExpr(TK_ID, 0, 0, &yymsp[-4].minor.yy298);
|
---|
| 2963 | Expr *temp2 = sqliteExpr(TK_ID, 0, 0, &yymsp[-2].minor.yy298);
|
---|
| 2964 | Expr *temp3 = sqliteExpr(TK_ID, 0, 0, &yymsp[0].minor.yy298);
|
---|
| 2965 | Expr *temp4 = sqliteExpr(TK_DOT, temp2, temp3, 0);
|
---|
| 2966 | yygotominor.yy242 = sqliteExpr(TK_DOT, temp1, temp4, 0);
|
---|
| 2967 | }
|
---|
| 2968 | #line 2968 "parse.c"
|
---|
| 2969 | /* No destructor defined for DOT */
|
---|
| 2970 | /* No destructor defined for DOT */
|
---|
| 2971 | break;
|
---|
| 2972 | case 178:
|
---|
| 2973 | #line 551 "parse.y"
|
---|
| 2974 | {yygotominor.yy242 = sqliteExpr(TK_INTEGER, 0, 0, &yymsp[0].minor.yy0);}
|
---|
| 2975 | #line 2975 "parse.c"
|
---|
| 2976 | break;
|
---|
| 2977 | case 179:
|
---|
| 2978 | #line 552 "parse.y"
|
---|
| 2979 | {yygotominor.yy242 = sqliteExpr(TK_FLOAT, 0, 0, &yymsp[0].minor.yy0);}
|
---|
| 2980 | #line 2980 "parse.c"
|
---|
| 2981 | break;
|
---|
| 2982 | case 180:
|
---|
| 2983 | #line 553 "parse.y"
|
---|
| 2984 | {yygotominor.yy242 = sqliteExpr(TK_STRING, 0, 0, &yymsp[0].minor.yy0);}
|
---|
| 2985 | #line 2985 "parse.c"
|
---|
| 2986 | break;
|
---|
| 2987 | case 181:
|
---|
| 2988 | #line 554 "parse.y"
|
---|
| 2989 | {
|
---|
| 2990 | yygotominor.yy242 = sqliteExpr(TK_VARIABLE, 0, 0, &yymsp[0].minor.yy0);
|
---|
| 2991 | if( yygotominor.yy242 ) yygotominor.yy242->iTable = ++pParse->nVar;
|
---|
| 2992 | }
|
---|
| 2993 | #line 2993 "parse.c"
|
---|
| 2994 | break;
|
---|
| 2995 | case 182:
|
---|
| 2996 | #line 558 "parse.y"
|
---|
| 2997 | {
|
---|
| 2998 | yygotominor.yy242 = sqliteExprFunction(yymsp[-1].minor.yy322, &yymsp[-3].minor.yy0);
|
---|
| 2999 | sqliteExprSpan(yygotominor.yy242,&yymsp[-3].minor.yy0,&yymsp[0].minor.yy0);
|
---|
| 3000 | }
|
---|
| 3001 | #line 3001 "parse.c"
|
---|
| 3002 | /* No destructor defined for LP */
|
---|
| 3003 | break;
|
---|
| 3004 | case 183:
|
---|
| 3005 | #line 562 "parse.y"
|
---|
| 3006 | {
|
---|
| 3007 | yygotominor.yy242 = sqliteExprFunction(0, &yymsp[-3].minor.yy0);
|
---|
| 3008 | sqliteExprSpan(yygotominor.yy242,&yymsp[-3].minor.yy0,&yymsp[0].minor.yy0);
|
---|
| 3009 | }
|
---|
| 3010 | #line 3010 "parse.c"
|
---|
| 3011 | /* No destructor defined for LP */
|
---|
| 3012 | /* No destructor defined for STAR */
|
---|
| 3013 | break;
|
---|
| 3014 | case 184:
|
---|
| 3015 | #line 566 "parse.y"
|
---|
| 3016 | {yygotominor.yy242 = sqliteExpr(TK_AND, yymsp[-2].minor.yy242, yymsp[0].minor.yy242, 0);}
|
---|
| 3017 | #line 3017 "parse.c"
|
---|
| 3018 | /* No destructor defined for AND */
|
---|
| 3019 | break;
|
---|
| 3020 | case 185:
|
---|
| 3021 | #line 567 "parse.y"
|
---|
| 3022 | {yygotominor.yy242 = sqliteExpr(TK_OR, yymsp[-2].minor.yy242, yymsp[0].minor.yy242, 0);}
|
---|
| 3023 | #line 3023 "parse.c"
|
---|
| 3024 | /* No destructor defined for OR */
|
---|
| 3025 | break;
|
---|
| 3026 | case 186:
|
---|
| 3027 | #line 568 "parse.y"
|
---|
| 3028 | {yygotominor.yy242 = sqliteExpr(TK_LT, yymsp[-2].minor.yy242, yymsp[0].minor.yy242, 0);}
|
---|
| 3029 | #line 3029 "parse.c"
|
---|
| 3030 | /* No destructor defined for LT */
|
---|
| 3031 | break;
|
---|
| 3032 | case 187:
|
---|
| 3033 | #line 569 "parse.y"
|
---|
| 3034 | {yygotominor.yy242 = sqliteExpr(TK_GT, yymsp[-2].minor.yy242, yymsp[0].minor.yy242, 0);}
|
---|
| 3035 | #line 3035 "parse.c"
|
---|
| 3036 | /* No destructor defined for GT */
|
---|
| 3037 | break;
|
---|
| 3038 | case 188:
|
---|
| 3039 | #line 570 "parse.y"
|
---|
| 3040 | {yygotominor.yy242 = sqliteExpr(TK_LE, yymsp[-2].minor.yy242, yymsp[0].minor.yy242, 0);}
|
---|
| 3041 | #line 3041 "parse.c"
|
---|
| 3042 | /* No destructor defined for LE */
|
---|
| 3043 | break;
|
---|
| 3044 | case 189:
|
---|
| 3045 | #line 571 "parse.y"
|
---|
| 3046 | {yygotominor.yy242 = sqliteExpr(TK_GE, yymsp[-2].minor.yy242, yymsp[0].minor.yy242, 0);}
|
---|
| 3047 | #line 3047 "parse.c"
|
---|
| 3048 | /* No destructor defined for GE */
|
---|
| 3049 | break;
|
---|
| 3050 | case 190:
|
---|
| 3051 | #line 572 "parse.y"
|
---|
| 3052 | {yygotominor.yy242 = sqliteExpr(TK_NE, yymsp[-2].minor.yy242, yymsp[0].minor.yy242, 0);}
|
---|
| 3053 | #line 3053 "parse.c"
|
---|
| 3054 | /* No destructor defined for NE */
|
---|
| 3055 | break;
|
---|
| 3056 | case 191:
|
---|
| 3057 | #line 573 "parse.y"
|
---|
| 3058 | {yygotominor.yy242 = sqliteExpr(TK_EQ, yymsp[-2].minor.yy242, yymsp[0].minor.yy242, 0);}
|
---|
| 3059 | #line 3059 "parse.c"
|
---|
| 3060 | /* No destructor defined for EQ */
|
---|
| 3061 | break;
|
---|
| 3062 | case 192:
|
---|
| 3063 | #line 574 "parse.y"
|
---|
| 3064 | {yygotominor.yy242 = sqliteExpr(TK_BITAND, yymsp[-2].minor.yy242, yymsp[0].minor.yy242, 0);}
|
---|
| 3065 | #line 3065 "parse.c"
|
---|
| 3066 | /* No destructor defined for BITAND */
|
---|
| 3067 | break;
|
---|
| 3068 | case 193:
|
---|
| 3069 | #line 575 "parse.y"
|
---|
| 3070 | {yygotominor.yy242 = sqliteExpr(TK_BITOR, yymsp[-2].minor.yy242, yymsp[0].minor.yy242, 0);}
|
---|
| 3071 | #line 3071 "parse.c"
|
---|
| 3072 | /* No destructor defined for BITOR */
|
---|
| 3073 | break;
|
---|
| 3074 | case 194:
|
---|
| 3075 | #line 576 "parse.y"
|
---|
| 3076 | {yygotominor.yy242 = sqliteExpr(TK_LSHIFT, yymsp[-2].minor.yy242, yymsp[0].minor.yy242, 0);}
|
---|
| 3077 | #line 3077 "parse.c"
|
---|
| 3078 | /* No destructor defined for LSHIFT */
|
---|
| 3079 | break;
|
---|
| 3080 | case 195:
|
---|
| 3081 | #line 577 "parse.y"
|
---|
| 3082 | {yygotominor.yy242 = sqliteExpr(TK_RSHIFT, yymsp[-2].minor.yy242, yymsp[0].minor.yy242, 0);}
|
---|
| 3083 | #line 3083 "parse.c"
|
---|
| 3084 | /* No destructor defined for RSHIFT */
|
---|
| 3085 | break;
|
---|
| 3086 | case 196:
|
---|
| 3087 | #line 578 "parse.y"
|
---|
| 3088 | {
|
---|
| 3089 | ExprList *pList = sqliteExprListAppend(0, yymsp[0].minor.yy242, 0);
|
---|
| 3090 | pList = sqliteExprListAppend(pList, yymsp[-2].minor.yy242, 0);
|
---|
| 3091 | yygotominor.yy242 = sqliteExprFunction(pList, 0);
|
---|
| 3092 | if( yygotominor.yy242 ) yygotominor.yy242->op = yymsp[-1].minor.yy372;
|
---|
| 3093 | sqliteExprSpan(yygotominor.yy242, &yymsp[-2].minor.yy242->span, &yymsp[0].minor.yy242->span);
|
---|
| 3094 | }
|
---|
| 3095 | #line 3095 "parse.c"
|
---|
| 3096 | break;
|
---|
| 3097 | case 197:
|
---|
| 3098 | #line 585 "parse.y"
|
---|
| 3099 | {
|
---|
| 3100 | ExprList *pList = sqliteExprListAppend(0, yymsp[0].minor.yy242, 0);
|
---|
| 3101 | pList = sqliteExprListAppend(pList, yymsp[-3].minor.yy242, 0);
|
---|
| 3102 | yygotominor.yy242 = sqliteExprFunction(pList, 0);
|
---|
| 3103 | if( yygotominor.yy242 ) yygotominor.yy242->op = yymsp[-1].minor.yy372;
|
---|
| 3104 | yygotominor.yy242 = sqliteExpr(TK_NOT, yygotominor.yy242, 0, 0);
|
---|
| 3105 | sqliteExprSpan(yygotominor.yy242,&yymsp[-3].minor.yy242->span,&yymsp[0].minor.yy242->span);
|
---|
| 3106 | }
|
---|
| 3107 | #line 3107 "parse.c"
|
---|
| 3108 | /* No destructor defined for NOT */
|
---|
| 3109 | break;
|
---|
| 3110 | case 198:
|
---|
| 3111 | #line 594 "parse.y"
|
---|
| 3112 | {yygotominor.yy372 = TK_LIKE;}
|
---|
| 3113 | #line 3113 "parse.c"
|
---|
| 3114 | /* No destructor defined for LIKE */
|
---|
| 3115 | break;
|
---|
| 3116 | case 199:
|
---|
| 3117 | #line 595 "parse.y"
|
---|
| 3118 | {yygotominor.yy372 = TK_GLOB;}
|
---|
| 3119 | #line 3119 "parse.c"
|
---|
| 3120 | /* No destructor defined for GLOB */
|
---|
| 3121 | break;
|
---|
| 3122 | case 200:
|
---|
| 3123 | #line 596 "parse.y"
|
---|
| 3124 | {yygotominor.yy242 = sqliteExpr(TK_PLUS, yymsp[-2].minor.yy242, yymsp[0].minor.yy242, 0);}
|
---|
| 3125 | #line 3125 "parse.c"
|
---|
| 3126 | /* No destructor defined for PLUS */
|
---|
| 3127 | break;
|
---|
| 3128 | case 201:
|
---|
| 3129 | #line 597 "parse.y"
|
---|
| 3130 | {yygotominor.yy242 = sqliteExpr(TK_MINUS, yymsp[-2].minor.yy242, yymsp[0].minor.yy242, 0);}
|
---|
| 3131 | #line 3131 "parse.c"
|
---|
| 3132 | /* No destructor defined for MINUS */
|
---|
| 3133 | break;
|
---|
| 3134 | case 202:
|
---|
| 3135 | #line 598 "parse.y"
|
---|
| 3136 | {yygotominor.yy242 = sqliteExpr(TK_STAR, yymsp[-2].minor.yy242, yymsp[0].minor.yy242, 0);}
|
---|
| 3137 | #line 3137 "parse.c"
|
---|
| 3138 | /* No destructor defined for STAR */
|
---|
| 3139 | break;
|
---|
| 3140 | case 203:
|
---|
| 3141 | #line 599 "parse.y"
|
---|
| 3142 | {yygotominor.yy242 = sqliteExpr(TK_SLASH, yymsp[-2].minor.yy242, yymsp[0].minor.yy242, 0);}
|
---|
| 3143 | #line 3143 "parse.c"
|
---|
| 3144 | /* No destructor defined for SLASH */
|
---|
| 3145 | break;
|
---|
| 3146 | case 204:
|
---|
| 3147 | #line 600 "parse.y"
|
---|
| 3148 | {yygotominor.yy242 = sqliteExpr(TK_REM, yymsp[-2].minor.yy242, yymsp[0].minor.yy242, 0);}
|
---|
| 3149 | #line 3149 "parse.c"
|
---|
| 3150 | /* No destructor defined for REM */
|
---|
| 3151 | break;
|
---|
| 3152 | case 205:
|
---|
| 3153 | #line 601 "parse.y"
|
---|
| 3154 | {yygotominor.yy242 = sqliteExpr(TK_CONCAT, yymsp[-2].minor.yy242, yymsp[0].minor.yy242, 0);}
|
---|
| 3155 | #line 3155 "parse.c"
|
---|
| 3156 | /* No destructor defined for CONCAT */
|
---|
| 3157 | break;
|
---|
| 3158 | case 206:
|
---|
| 3159 | #line 602 "parse.y"
|
---|
| 3160 | {
|
---|
| 3161 | yygotominor.yy242 = sqliteExpr(TK_ISNULL, yymsp[-1].minor.yy242, 0, 0);
|
---|
| 3162 | sqliteExprSpan(yygotominor.yy242,&yymsp[-1].minor.yy242->span,&yymsp[0].minor.yy0);
|
---|
| 3163 | }
|
---|
| 3164 | #line 3164 "parse.c"
|
---|
| 3165 | break;
|
---|
| 3166 | case 207:
|
---|
| 3167 | #line 606 "parse.y"
|
---|
| 3168 | {
|
---|
| 3169 | yygotominor.yy242 = sqliteExpr(TK_ISNULL, yymsp[-2].minor.yy242, 0, 0);
|
---|
| 3170 | sqliteExprSpan(yygotominor.yy242,&yymsp[-2].minor.yy242->span,&yymsp[0].minor.yy0);
|
---|
| 3171 | }
|
---|
| 3172 | #line 3172 "parse.c"
|
---|
| 3173 | /* No destructor defined for IS */
|
---|
| 3174 | break;
|
---|
| 3175 | case 208:
|
---|
| 3176 | #line 610 "parse.y"
|
---|
| 3177 | {
|
---|
| 3178 | yygotominor.yy242 = sqliteExpr(TK_NOTNULL, yymsp[-1].minor.yy242, 0, 0);
|
---|
| 3179 | sqliteExprSpan(yygotominor.yy242,&yymsp[-1].minor.yy242->span,&yymsp[0].minor.yy0);
|
---|
| 3180 | }
|
---|
| 3181 | #line 3181 "parse.c"
|
---|
| 3182 | break;
|
---|
| 3183 | case 209:
|
---|
| 3184 | #line 614 "parse.y"
|
---|
| 3185 | {
|
---|
| 3186 | yygotominor.yy242 = sqliteExpr(TK_NOTNULL, yymsp[-2].minor.yy242, 0, 0);
|
---|
| 3187 | sqliteExprSpan(yygotominor.yy242,&yymsp[-2].minor.yy242->span,&yymsp[0].minor.yy0);
|
---|
| 3188 | }
|
---|
| 3189 | #line 3189 "parse.c"
|
---|
| 3190 | /* No destructor defined for NOT */
|
---|
| 3191 | break;
|
---|
| 3192 | case 210:
|
---|
| 3193 | #line 618 "parse.y"
|
---|
| 3194 | {
|
---|
| 3195 | yygotominor.yy242 = sqliteExpr(TK_NOTNULL, yymsp[-3].minor.yy242, 0, 0);
|
---|
| 3196 | sqliteExprSpan(yygotominor.yy242,&yymsp[-3].minor.yy242->span,&yymsp[0].minor.yy0);
|
---|
| 3197 | }
|
---|
| 3198 | #line 3198 "parse.c"
|
---|
| 3199 | /* No destructor defined for IS */
|
---|
| 3200 | /* No destructor defined for NOT */
|
---|
| 3201 | break;
|
---|
| 3202 | case 211:
|
---|
| 3203 | #line 622 "parse.y"
|
---|
| 3204 | {
|
---|
| 3205 | yygotominor.yy242 = sqliteExpr(TK_NOT, yymsp[0].minor.yy242, 0, 0);
|
---|
| 3206 | sqliteExprSpan(yygotominor.yy242,&yymsp[-1].minor.yy0,&yymsp[0].minor.yy242->span);
|
---|
| 3207 | }
|
---|
| 3208 | #line 3208 "parse.c"
|
---|
| 3209 | break;
|
---|
| 3210 | case 212:
|
---|
| 3211 | #line 626 "parse.y"
|
---|
| 3212 | {
|
---|
| 3213 | yygotominor.yy242 = sqliteExpr(TK_BITNOT, yymsp[0].minor.yy242, 0, 0);
|
---|
| 3214 | sqliteExprSpan(yygotominor.yy242,&yymsp[-1].minor.yy0,&yymsp[0].minor.yy242->span);
|
---|
| 3215 | }
|
---|
| 3216 | #line 3216 "parse.c"
|
---|
| 3217 | break;
|
---|
| 3218 | case 213:
|
---|
| 3219 | #line 630 "parse.y"
|
---|
| 3220 | {
|
---|
| 3221 | yygotominor.yy242 = sqliteExpr(TK_UMINUS, yymsp[0].minor.yy242, 0, 0);
|
---|
| 3222 | sqliteExprSpan(yygotominor.yy242,&yymsp[-1].minor.yy0,&yymsp[0].minor.yy242->span);
|
---|
| 3223 | }
|
---|
| 3224 | #line 3224 "parse.c"
|
---|
| 3225 | break;
|
---|
| 3226 | case 214:
|
---|
| 3227 | #line 634 "parse.y"
|
---|
| 3228 | {
|
---|
| 3229 | yygotominor.yy242 = sqliteExpr(TK_UPLUS, yymsp[0].minor.yy242, 0, 0);
|
---|
| 3230 | sqliteExprSpan(yygotominor.yy242,&yymsp[-1].minor.yy0,&yymsp[0].minor.yy242->span);
|
---|
| 3231 | }
|
---|
| 3232 | #line 3232 "parse.c"
|
---|
| 3233 | break;
|
---|
| 3234 | case 215:
|
---|
| 3235 | #line 638 "parse.y"
|
---|
| 3236 | {
|
---|
| 3237 | yygotominor.yy242 = sqliteExpr(TK_SELECT, 0, 0, 0);
|
---|
| 3238 | if( yygotominor.yy242 ) yygotominor.yy242->pSelect = yymsp[-1].minor.yy179;
|
---|
| 3239 | sqliteExprSpan(yygotominor.yy242,&yymsp[-2].minor.yy0,&yymsp[0].minor.yy0);
|
---|
| 3240 | }
|
---|
| 3241 | #line 3241 "parse.c"
|
---|
| 3242 | break;
|
---|
| 3243 | case 216:
|
---|
| 3244 | #line 643 "parse.y"
|
---|
| 3245 | {
|
---|
| 3246 | ExprList *pList = sqliteExprListAppend(0, yymsp[-2].minor.yy242, 0);
|
---|
| 3247 | pList = sqliteExprListAppend(pList, yymsp[0].minor.yy242, 0);
|
---|
| 3248 | yygotominor.yy242 = sqliteExpr(TK_BETWEEN, yymsp[-4].minor.yy242, 0, 0);
|
---|
| 3249 | if( yygotominor.yy242 ) yygotominor.yy242->pList = pList;
|
---|
| 3250 | sqliteExprSpan(yygotominor.yy242,&yymsp[-4].minor.yy242->span,&yymsp[0].minor.yy242->span);
|
---|
| 3251 | }
|
---|
| 3252 | #line 3252 "parse.c"
|
---|
| 3253 | /* No destructor defined for BETWEEN */
|
---|
| 3254 | /* No destructor defined for AND */
|
---|
| 3255 | break;
|
---|
| 3256 | case 217:
|
---|
| 3257 | #line 650 "parse.y"
|
---|
| 3258 | {
|
---|
| 3259 | ExprList *pList = sqliteExprListAppend(0, yymsp[-2].minor.yy242, 0);
|
---|
| 3260 | pList = sqliteExprListAppend(pList, yymsp[0].minor.yy242, 0);
|
---|
| 3261 | yygotominor.yy242 = sqliteExpr(TK_BETWEEN, yymsp[-5].minor.yy242, 0, 0);
|
---|
| 3262 | if( yygotominor.yy242 ) yygotominor.yy242->pList = pList;
|
---|
| 3263 | yygotominor.yy242 = sqliteExpr(TK_NOT, yygotominor.yy242, 0, 0);
|
---|
| 3264 | sqliteExprSpan(yygotominor.yy242,&yymsp[-5].minor.yy242->span,&yymsp[0].minor.yy242->span);
|
---|
| 3265 | }
|
---|
| 3266 | #line 3266 "parse.c"
|
---|
| 3267 | /* No destructor defined for NOT */
|
---|
| 3268 | /* No destructor defined for BETWEEN */
|
---|
| 3269 | /* No destructor defined for AND */
|
---|
| 3270 | break;
|
---|
| 3271 | case 218:
|
---|
| 3272 | #line 658 "parse.y"
|
---|
| 3273 | {
|
---|
| 3274 | yygotominor.yy242 = sqliteExpr(TK_IN, yymsp[-4].minor.yy242, 0, 0);
|
---|
| 3275 | if( yygotominor.yy242 ) yygotominor.yy242->pList = yymsp[-1].minor.yy322;
|
---|
| 3276 | sqliteExprSpan(yygotominor.yy242,&yymsp[-4].minor.yy242->span,&yymsp[0].minor.yy0);
|
---|
| 3277 | }
|
---|
| 3278 | #line 3278 "parse.c"
|
---|
| 3279 | /* No destructor defined for IN */
|
---|
| 3280 | /* No destructor defined for LP */
|
---|
| 3281 | break;
|
---|
| 3282 | case 219:
|
---|
| 3283 | #line 663 "parse.y"
|
---|
| 3284 | {
|
---|
| 3285 | yygotominor.yy242 = sqliteExpr(TK_IN, yymsp[-4].minor.yy242, 0, 0);
|
---|
| 3286 | if( yygotominor.yy242 ) yygotominor.yy242->pSelect = yymsp[-1].minor.yy179;
|
---|
| 3287 | sqliteExprSpan(yygotominor.yy242,&yymsp[-4].minor.yy242->span,&yymsp[0].minor.yy0);
|
---|
| 3288 | }
|
---|
| 3289 | #line 3289 "parse.c"
|
---|
| 3290 | /* No destructor defined for IN */
|
---|
| 3291 | /* No destructor defined for LP */
|
---|
| 3292 | break;
|
---|
| 3293 | case 220:
|
---|
| 3294 | #line 668 "parse.y"
|
---|
| 3295 | {
|
---|
| 3296 | yygotominor.yy242 = sqliteExpr(TK_IN, yymsp[-5].minor.yy242, 0, 0);
|
---|
| 3297 | if( yygotominor.yy242 ) yygotominor.yy242->pList = yymsp[-1].minor.yy322;
|
---|
| 3298 | yygotominor.yy242 = sqliteExpr(TK_NOT, yygotominor.yy242, 0, 0);
|
---|
| 3299 | sqliteExprSpan(yygotominor.yy242,&yymsp[-5].minor.yy242->span,&yymsp[0].minor.yy0);
|
---|
| 3300 | }
|
---|
| 3301 | #line 3301 "parse.c"
|
---|
| 3302 | /* No destructor defined for NOT */
|
---|
| 3303 | /* No destructor defined for IN */
|
---|
| 3304 | /* No destructor defined for LP */
|
---|
| 3305 | break;
|
---|
| 3306 | case 221:
|
---|
| 3307 | #line 674 "parse.y"
|
---|
| 3308 | {
|
---|
| 3309 | yygotominor.yy242 = sqliteExpr(TK_IN, yymsp[-5].minor.yy242, 0, 0);
|
---|
| 3310 | if( yygotominor.yy242 ) yygotominor.yy242->pSelect = yymsp[-1].minor.yy179;
|
---|
| 3311 | yygotominor.yy242 = sqliteExpr(TK_NOT, yygotominor.yy242, 0, 0);
|
---|
| 3312 | sqliteExprSpan(yygotominor.yy242,&yymsp[-5].minor.yy242->span,&yymsp[0].minor.yy0);
|
---|
| 3313 | }
|
---|
| 3314 | #line 3314 "parse.c"
|
---|
| 3315 | /* No destructor defined for NOT */
|
---|
| 3316 | /* No destructor defined for IN */
|
---|
| 3317 | /* No destructor defined for LP */
|
---|
| 3318 | break;
|
---|
| 3319 | case 222:
|
---|
| 3320 | #line 680 "parse.y"
|
---|
| 3321 | {
|
---|
| 3322 | SrcList *pSrc = sqliteSrcListAppend(0, &yymsp[-1].minor.yy298, &yymsp[0].minor.yy298);
|
---|
| 3323 | yygotominor.yy242 = sqliteExpr(TK_IN, yymsp[-3].minor.yy242, 0, 0);
|
---|
| 3324 | if( yygotominor.yy242 ) yygotominor.yy242->pSelect = sqliteSelectNew(0,pSrc,0,0,0,0,0,-1,0);
|
---|
| 3325 | sqliteExprSpan(yygotominor.yy242,&yymsp[-3].minor.yy242->span,yymsp[0].minor.yy298.z?&yymsp[0].minor.yy298:&yymsp[-1].minor.yy298);
|
---|
| 3326 | }
|
---|
| 3327 | #line 3327 "parse.c"
|
---|
| 3328 | /* No destructor defined for IN */
|
---|
| 3329 | break;
|
---|
| 3330 | case 223:
|
---|
| 3331 | #line 686 "parse.y"
|
---|
| 3332 | {
|
---|
| 3333 | SrcList *pSrc = sqliteSrcListAppend(0, &yymsp[-1].minor.yy298, &yymsp[0].minor.yy298);
|
---|
| 3334 | yygotominor.yy242 = sqliteExpr(TK_IN, yymsp[-4].minor.yy242, 0, 0);
|
---|
| 3335 | if( yygotominor.yy242 ) yygotominor.yy242->pSelect = sqliteSelectNew(0,pSrc,0,0,0,0,0,-1,0);
|
---|
| 3336 | yygotominor.yy242 = sqliteExpr(TK_NOT, yygotominor.yy242, 0, 0);
|
---|
| 3337 | sqliteExprSpan(yygotominor.yy242,&yymsp[-4].minor.yy242->span,yymsp[0].minor.yy298.z?&yymsp[0].minor.yy298:&yymsp[-1].minor.yy298);
|
---|
| 3338 | }
|
---|
| 3339 | #line 3339 "parse.c"
|
---|
| 3340 | /* No destructor defined for NOT */
|
---|
| 3341 | /* No destructor defined for IN */
|
---|
| 3342 | break;
|
---|
| 3343 | case 224:
|
---|
| 3344 | #line 696 "parse.y"
|
---|
| 3345 | {
|
---|
| 3346 | yygotominor.yy242 = sqliteExpr(TK_CASE, yymsp[-3].minor.yy242, yymsp[-1].minor.yy242, 0);
|
---|
| 3347 | if( yygotominor.yy242 ) yygotominor.yy242->pList = yymsp[-2].minor.yy322;
|
---|
| 3348 | sqliteExprSpan(yygotominor.yy242, &yymsp[-4].minor.yy0, &yymsp[0].minor.yy0);
|
---|
| 3349 | }
|
---|
| 3350 | #line 3350 "parse.c"
|
---|
| 3351 | break;
|
---|
| 3352 | case 225:
|
---|
| 3353 | #line 703 "parse.y"
|
---|
| 3354 | {
|
---|
| 3355 | yygotominor.yy322 = sqliteExprListAppend(yymsp[-4].minor.yy322, yymsp[-2].minor.yy242, 0);
|
---|
| 3356 | yygotominor.yy322 = sqliteExprListAppend(yygotominor.yy322, yymsp[0].minor.yy242, 0);
|
---|
| 3357 | }
|
---|
| 3358 | #line 3358 "parse.c"
|
---|
| 3359 | /* No destructor defined for WHEN */
|
---|
| 3360 | /* No destructor defined for THEN */
|
---|
| 3361 | break;
|
---|
| 3362 | case 226:
|
---|
| 3363 | #line 707 "parse.y"
|
---|
| 3364 | {
|
---|
| 3365 | yygotominor.yy322 = sqliteExprListAppend(0, yymsp[-2].minor.yy242, 0);
|
---|
| 3366 | yygotominor.yy322 = sqliteExprListAppend(yygotominor.yy322, yymsp[0].minor.yy242, 0);
|
---|
| 3367 | }
|
---|
| 3368 | #line 3368 "parse.c"
|
---|
| 3369 | /* No destructor defined for WHEN */
|
---|
| 3370 | /* No destructor defined for THEN */
|
---|
| 3371 | break;
|
---|
| 3372 | case 227:
|
---|
| 3373 | #line 712 "parse.y"
|
---|
| 3374 | {yygotominor.yy242 = yymsp[0].minor.yy242;}
|
---|
| 3375 | #line 3375 "parse.c"
|
---|
| 3376 | /* No destructor defined for ELSE */
|
---|
| 3377 | break;
|
---|
| 3378 | case 228:
|
---|
| 3379 | #line 713 "parse.y"
|
---|
| 3380 | {yygotominor.yy242 = 0;}
|
---|
| 3381 | #line 3381 "parse.c"
|
---|
| 3382 | break;
|
---|
| 3383 | case 229:
|
---|
| 3384 | #line 715 "parse.y"
|
---|
| 3385 | {yygotominor.yy242 = yymsp[0].minor.yy242;}
|
---|
| 3386 | #line 3386 "parse.c"
|
---|
| 3387 | break;
|
---|
| 3388 | case 230:
|
---|
| 3389 | #line 716 "parse.y"
|
---|
| 3390 | {yygotominor.yy242 = 0;}
|
---|
| 3391 | #line 3391 "parse.c"
|
---|
| 3392 | break;
|
---|
| 3393 | case 231:
|
---|
| 3394 | #line 724 "parse.y"
|
---|
| 3395 | {yygotominor.yy322 = sqliteExprListAppend(yymsp[-2].minor.yy322,yymsp[0].minor.yy242,0);}
|
---|
| 3396 | #line 3396 "parse.c"
|
---|
| 3397 | /* No destructor defined for COMMA */
|
---|
| 3398 | break;
|
---|
| 3399 | case 232:
|
---|
| 3400 | #line 725 "parse.y"
|
---|
| 3401 | {yygotominor.yy322 = sqliteExprListAppend(0,yymsp[0].minor.yy242,0);}
|
---|
| 3402 | #line 3402 "parse.c"
|
---|
| 3403 | break;
|
---|
| 3404 | case 233:
|
---|
| 3405 | #line 726 "parse.y"
|
---|
| 3406 | {yygotominor.yy242 = yymsp[0].minor.yy242;}
|
---|
| 3407 | #line 3407 "parse.c"
|
---|
| 3408 | break;
|
---|
| 3409 | case 234:
|
---|
| 3410 | #line 727 "parse.y"
|
---|
| 3411 | {yygotominor.yy242 = 0;}
|
---|
| 3412 | #line 3412 "parse.c"
|
---|
| 3413 | break;
|
---|
| 3414 | case 235:
|
---|
| 3415 | #line 732 "parse.y"
|
---|
| 3416 | {
|
---|
| 3417 | SrcList *pSrc = sqliteSrcListAppend(0, &yymsp[-5].minor.yy298, &yymsp[-4].minor.yy298);
|
---|
| 3418 | if( yymsp[-9].minor.yy372!=OE_None ) yymsp[-9].minor.yy372 = yymsp[0].minor.yy372;
|
---|
| 3419 | if( yymsp[-9].minor.yy372==OE_Default) yymsp[-9].minor.yy372 = OE_Abort;
|
---|
| 3420 | sqliteCreateIndex(pParse, &yymsp[-7].minor.yy298, pSrc, yymsp[-2].minor.yy320, yymsp[-9].minor.yy372, &yymsp[-10].minor.yy0, &yymsp[-1].minor.yy0);
|
---|
| 3421 | }
|
---|
| 3422 | #line 3422 "parse.c"
|
---|
| 3423 | /* No destructor defined for INDEX */
|
---|
| 3424 | /* No destructor defined for ON */
|
---|
| 3425 | /* No destructor defined for LP */
|
---|
| 3426 | break;
|
---|
| 3427 | case 236:
|
---|
| 3428 | #line 740 "parse.y"
|
---|
| 3429 | { yygotominor.yy372 = OE_Abort; }
|
---|
| 3430 | #line 3430 "parse.c"
|
---|
| 3431 | /* No destructor defined for UNIQUE */
|
---|
| 3432 | break;
|
---|
| 3433 | case 237:
|
---|
| 3434 | #line 741 "parse.y"
|
---|
| 3435 | { yygotominor.yy372 = OE_None; }
|
---|
| 3436 | #line 3436 "parse.c"
|
---|
| 3437 | break;
|
---|
| 3438 | case 238:
|
---|
| 3439 | #line 749 "parse.y"
|
---|
| 3440 | {yygotominor.yy320 = 0;}
|
---|
| 3441 | #line 3441 "parse.c"
|
---|
| 3442 | break;
|
---|
| 3443 | case 239:
|
---|
| 3444 | #line 750 "parse.y"
|
---|
| 3445 | {yygotominor.yy320 = yymsp[-1].minor.yy320;}
|
---|
| 3446 | #line 3446 "parse.c"
|
---|
| 3447 | /* No destructor defined for LP */
|
---|
| 3448 | /* No destructor defined for RP */
|
---|
| 3449 | break;
|
---|
| 3450 | case 240:
|
---|
| 3451 | #line 751 "parse.y"
|
---|
| 3452 | {yygotominor.yy320 = sqliteIdListAppend(yymsp[-2].minor.yy320,&yymsp[0].minor.yy298);}
|
---|
| 3453 | #line 3453 "parse.c"
|
---|
| 3454 | /* No destructor defined for COMMA */
|
---|
| 3455 | break;
|
---|
| 3456 | case 241:
|
---|
| 3457 | #line 752 "parse.y"
|
---|
| 3458 | {yygotominor.yy320 = sqliteIdListAppend(0,&yymsp[0].minor.yy298);}
|
---|
| 3459 | #line 3459 "parse.c"
|
---|
| 3460 | break;
|
---|
| 3461 | case 242:
|
---|
| 3462 | #line 753 "parse.y"
|
---|
| 3463 | {yygotominor.yy298 = yymsp[-1].minor.yy298;}
|
---|
| 3464 | #line 3464 "parse.c"
|
---|
| 3465 | /* No destructor defined for sortorder */
|
---|
| 3466 | break;
|
---|
| 3467 | case 243:
|
---|
| 3468 | #line 758 "parse.y"
|
---|
| 3469 | {
|
---|
| 3470 | sqliteDropIndex(pParse, sqliteSrcListAppend(0,&yymsp[-1].minor.yy298,&yymsp[0].minor.yy298));
|
---|
| 3471 | }
|
---|
| 3472 | #line 3472 "parse.c"
|
---|
| 3473 | /* No destructor defined for DROP */
|
---|
| 3474 | /* No destructor defined for INDEX */
|
---|
| 3475 | break;
|
---|
| 3476 | case 244:
|
---|
| 3477 | #line 766 "parse.y"
|
---|
| 3478 | {sqliteCopy(pParse,sqliteSrcListAppend(0,&yymsp[-6].minor.yy298,&yymsp[-5].minor.yy298),&yymsp[-3].minor.yy298,&yymsp[0].minor.yy0,yymsp[-7].minor.yy372);}
|
---|
| 3479 | #line 3479 "parse.c"
|
---|
| 3480 | /* No destructor defined for COPY */
|
---|
| 3481 | /* No destructor defined for FROM */
|
---|
| 3482 | /* No destructor defined for USING */
|
---|
| 3483 | /* No destructor defined for DELIMITERS */
|
---|
| 3484 | break;
|
---|
| 3485 | case 245:
|
---|
| 3486 | #line 768 "parse.y"
|
---|
| 3487 | {sqliteCopy(pParse,sqliteSrcListAppend(0,&yymsp[-3].minor.yy298,&yymsp[-2].minor.yy298),&yymsp[0].minor.yy298,0,yymsp[-4].minor.yy372);}
|
---|
| 3488 | #line 3488 "parse.c"
|
---|
| 3489 | /* No destructor defined for COPY */
|
---|
| 3490 | /* No destructor defined for FROM */
|
---|
| 3491 | break;
|
---|
| 3492 | case 246:
|
---|
| 3493 | #line 772 "parse.y"
|
---|
| 3494 | {sqliteVacuum(pParse,0);}
|
---|
| 3495 | #line 3495 "parse.c"
|
---|
| 3496 | /* No destructor defined for VACUUM */
|
---|
| 3497 | break;
|
---|
| 3498 | case 247:
|
---|
| 3499 | #line 773 "parse.y"
|
---|
| 3500 | {sqliteVacuum(pParse,&yymsp[0].minor.yy298);}
|
---|
| 3501 | #line 3501 "parse.c"
|
---|
| 3502 | /* No destructor defined for VACUUM */
|
---|
| 3503 | break;
|
---|
| 3504 | case 248:
|
---|
| 3505 | #line 777 "parse.y"
|
---|
| 3506 | {sqlitePragma(pParse,&yymsp[-2].minor.yy298,&yymsp[0].minor.yy298,0);}
|
---|
| 3507 | #line 3507 "parse.c"
|
---|
| 3508 | /* No destructor defined for PRAGMA */
|
---|
| 3509 | /* No destructor defined for EQ */
|
---|
| 3510 | break;
|
---|
| 3511 | case 249:
|
---|
| 3512 | #line 778 "parse.y"
|
---|
| 3513 | {sqlitePragma(pParse,&yymsp[-2].minor.yy298,&yymsp[0].minor.yy0,0);}
|
---|
| 3514 | #line 3514 "parse.c"
|
---|
| 3515 | /* No destructor defined for PRAGMA */
|
---|
| 3516 | /* No destructor defined for EQ */
|
---|
| 3517 | break;
|
---|
| 3518 | case 250:
|
---|
| 3519 | #line 779 "parse.y"
|
---|
| 3520 | {sqlitePragma(pParse,&yymsp[-2].minor.yy298,&yymsp[0].minor.yy298,0);}
|
---|
| 3521 | #line 3521 "parse.c"
|
---|
| 3522 | /* No destructor defined for PRAGMA */
|
---|
| 3523 | /* No destructor defined for EQ */
|
---|
| 3524 | break;
|
---|
| 3525 | case 251:
|
---|
| 3526 | #line 780 "parse.y"
|
---|
| 3527 | {sqlitePragma(pParse,&yymsp[-2].minor.yy298,&yymsp[0].minor.yy298,1);}
|
---|
| 3528 | #line 3528 "parse.c"
|
---|
| 3529 | /* No destructor defined for PRAGMA */
|
---|
| 3530 | /* No destructor defined for EQ */
|
---|
| 3531 | break;
|
---|
| 3532 | case 252:
|
---|
| 3533 | #line 781 "parse.y"
|
---|
| 3534 | {sqlitePragma(pParse,&yymsp[-3].minor.yy298,&yymsp[-1].minor.yy298,0);}
|
---|
| 3535 | #line 3535 "parse.c"
|
---|
| 3536 | /* No destructor defined for PRAGMA */
|
---|
| 3537 | /* No destructor defined for LP */
|
---|
| 3538 | /* No destructor defined for RP */
|
---|
| 3539 | break;
|
---|
| 3540 | case 253:
|
---|
| 3541 | #line 782 "parse.y"
|
---|
| 3542 | {sqlitePragma(pParse,&yymsp[0].minor.yy298,&yymsp[0].minor.yy298,0);}
|
---|
| 3543 | #line 3543 "parse.c"
|
---|
| 3544 | /* No destructor defined for PRAGMA */
|
---|
| 3545 | break;
|
---|
| 3546 | case 254:
|
---|
| 3547 | #line 783 "parse.y"
|
---|
| 3548 | {yygotominor.yy298 = yymsp[0].minor.yy298;}
|
---|
| 3549 | #line 3549 "parse.c"
|
---|
| 3550 | /* No destructor defined for plus_opt */
|
---|
| 3551 | break;
|
---|
| 3552 | case 255:
|
---|
| 3553 | #line 784 "parse.y"
|
---|
| 3554 | {yygotominor.yy298 = yymsp[0].minor.yy298;}
|
---|
| 3555 | #line 3555 "parse.c"
|
---|
| 3556 | /* No destructor defined for MINUS */
|
---|
| 3557 | break;
|
---|
| 3558 | case 256:
|
---|
| 3559 | #line 785 "parse.y"
|
---|
| 3560 | {yygotominor.yy298 = yymsp[0].minor.yy0;}
|
---|
| 3561 | #line 3561 "parse.c"
|
---|
| 3562 | break;
|
---|
| 3563 | case 257:
|
---|
| 3564 | #line 786 "parse.y"
|
---|
| 3565 | {yygotominor.yy298 = yymsp[0].minor.yy0;}
|
---|
| 3566 | #line 3566 "parse.c"
|
---|
| 3567 | break;
|
---|
| 3568 | case 258:
|
---|
| 3569 | /* No destructor defined for PLUS */
|
---|
| 3570 | break;
|
---|
| 3571 | case 259:
|
---|
| 3572 | break;
|
---|
| 3573 | case 260:
|
---|
| 3574 | #line 792 "parse.y"
|
---|
| 3575 | {
|
---|
| 3576 | Token all;
|
---|
| 3577 | all.z = yymsp[-4].minor.yy0.z;
|
---|
| 3578 | all.n = (yymsp[0].minor.yy0.z - yymsp[-4].minor.yy0.z) + yymsp[0].minor.yy0.n;
|
---|
| 3579 | sqliteFinishTrigger(pParse, yymsp[-1].minor.yy19, &all);
|
---|
| 3580 | }
|
---|
| 3581 | #line 3581 "parse.c"
|
---|
| 3582 | /* No destructor defined for trigger_decl */
|
---|
| 3583 | /* No destructor defined for BEGIN */
|
---|
| 3584 | break;
|
---|
| 3585 | case 261:
|
---|
| 3586 | #line 800 "parse.y"
|
---|
| 3587 | {
|
---|
| 3588 | SrcList *pTab = sqliteSrcListAppend(0, &yymsp[-3].minor.yy298, &yymsp[-2].minor.yy298);
|
---|
| 3589 | sqliteBeginTrigger(pParse, &yymsp[-7].minor.yy298, yymsp[-6].minor.yy372, yymsp[-5].minor.yy290.a, yymsp[-5].minor.yy290.b, pTab, yymsp[-1].minor.yy372, yymsp[0].minor.yy182, yymsp[-9].minor.yy372);
|
---|
| 3590 | }
|
---|
| 3591 | #line 3591 "parse.c"
|
---|
| 3592 | /* No destructor defined for TRIGGER */
|
---|
| 3593 | /* No destructor defined for ON */
|
---|
| 3594 | break;
|
---|
| 3595 | case 262:
|
---|
| 3596 | #line 806 "parse.y"
|
---|
| 3597 | { yygotominor.yy372 = TK_BEFORE; }
|
---|
| 3598 | #line 3598 "parse.c"
|
---|
| 3599 | /* No destructor defined for BEFORE */
|
---|
| 3600 | break;
|
---|
| 3601 | case 263:
|
---|
| 3602 | #line 807 "parse.y"
|
---|
| 3603 | { yygotominor.yy372 = TK_AFTER; }
|
---|
| 3604 | #line 3604 "parse.c"
|
---|
| 3605 | /* No destructor defined for AFTER */
|
---|
| 3606 | break;
|
---|
| 3607 | case 264:
|
---|
| 3608 | #line 808 "parse.y"
|
---|
| 3609 | { yygotominor.yy372 = TK_INSTEAD;}
|
---|
| 3610 | #line 3610 "parse.c"
|
---|
| 3611 | /* No destructor defined for INSTEAD */
|
---|
| 3612 | /* No destructor defined for OF */
|
---|
| 3613 | break;
|
---|
| 3614 | case 265:
|
---|
| 3615 | #line 809 "parse.y"
|
---|
| 3616 | { yygotominor.yy372 = TK_BEFORE; }
|
---|
| 3617 | #line 3617 "parse.c"
|
---|
| 3618 | break;
|
---|
| 3619 | case 266:
|
---|
| 3620 | #line 813 "parse.y"
|
---|
| 3621 | { yygotominor.yy290.a = TK_DELETE; yygotominor.yy290.b = 0; }
|
---|
| 3622 | #line 3622 "parse.c"
|
---|
| 3623 | /* No destructor defined for DELETE */
|
---|
| 3624 | break;
|
---|
| 3625 | case 267:
|
---|
| 3626 | #line 814 "parse.y"
|
---|
| 3627 | { yygotominor.yy290.a = TK_INSERT; yygotominor.yy290.b = 0; }
|
---|
| 3628 | #line 3628 "parse.c"
|
---|
| 3629 | /* No destructor defined for INSERT */
|
---|
| 3630 | break;
|
---|
| 3631 | case 268:
|
---|
| 3632 | #line 815 "parse.y"
|
---|
| 3633 | { yygotominor.yy290.a = TK_UPDATE; yygotominor.yy290.b = 0;}
|
---|
| 3634 | #line 3634 "parse.c"
|
---|
| 3635 | /* No destructor defined for UPDATE */
|
---|
| 3636 | break;
|
---|
| 3637 | case 269:
|
---|
| 3638 | #line 816 "parse.y"
|
---|
| 3639 | {yygotominor.yy290.a = TK_UPDATE; yygotominor.yy290.b = yymsp[0].minor.yy320; }
|
---|
| 3640 | #line 3640 "parse.c"
|
---|
| 3641 | /* No destructor defined for UPDATE */
|
---|
| 3642 | /* No destructor defined for OF */
|
---|
| 3643 | break;
|
---|
| 3644 | case 270:
|
---|
| 3645 | #line 819 "parse.y"
|
---|
| 3646 | { yygotominor.yy372 = TK_ROW; }
|
---|
| 3647 | #line 3647 "parse.c"
|
---|
| 3648 | break;
|
---|
| 3649 | case 271:
|
---|
| 3650 | #line 820 "parse.y"
|
---|
| 3651 | { yygotominor.yy372 = TK_ROW; }
|
---|
| 3652 | #line 3652 "parse.c"
|
---|
| 3653 | /* No destructor defined for FOR */
|
---|
| 3654 | /* No destructor defined for EACH */
|
---|
| 3655 | /* No destructor defined for ROW */
|
---|
| 3656 | break;
|
---|
| 3657 | case 272:
|
---|
| 3658 | #line 821 "parse.y"
|
---|
| 3659 | { yygotominor.yy372 = TK_STATEMENT; }
|
---|
| 3660 | #line 3660 "parse.c"
|
---|
| 3661 | /* No destructor defined for FOR */
|
---|
| 3662 | /* No destructor defined for EACH */
|
---|
| 3663 | /* No destructor defined for STATEMENT */
|
---|
| 3664 | break;
|
---|
| 3665 | case 273:
|
---|
| 3666 | #line 824 "parse.y"
|
---|
| 3667 | { yygotominor.yy182 = 0; }
|
---|
| 3668 | #line 3668 "parse.c"
|
---|
| 3669 | break;
|
---|
| 3670 | case 274:
|
---|
| 3671 | #line 825 "parse.y"
|
---|
| 3672 | { yygotominor.yy182 = yymsp[0].minor.yy242; }
|
---|
| 3673 | #line 3673 "parse.c"
|
---|
| 3674 | /* No destructor defined for WHEN */
|
---|
| 3675 | break;
|
---|
| 3676 | case 275:
|
---|
| 3677 | #line 829 "parse.y"
|
---|
| 3678 | {
|
---|
| 3679 | yymsp[-2].minor.yy19->pNext = yymsp[0].minor.yy19;
|
---|
| 3680 | yygotominor.yy19 = yymsp[-2].minor.yy19;
|
---|
| 3681 | }
|
---|
| 3682 | #line 3682 "parse.c"
|
---|
| 3683 | /* No destructor defined for SEMI */
|
---|
| 3684 | break;
|
---|
| 3685 | case 276:
|
---|
| 3686 | #line 833 "parse.y"
|
---|
| 3687 | { yygotominor.yy19 = 0; }
|
---|
| 3688 | #line 3688 "parse.c"
|
---|
| 3689 | break;
|
---|
| 3690 | case 277:
|
---|
| 3691 | #line 839 "parse.y"
|
---|
| 3692 | { yygotominor.yy19 = sqliteTriggerUpdateStep(&yymsp[-3].minor.yy298, yymsp[-1].minor.yy322, yymsp[0].minor.yy242, yymsp[-4].minor.yy372); }
|
---|
| 3693 | #line 3693 "parse.c"
|
---|
| 3694 | /* No destructor defined for UPDATE */
|
---|
| 3695 | /* No destructor defined for SET */
|
---|
| 3696 | break;
|
---|
| 3697 | case 278:
|
---|
| 3698 | #line 844 "parse.y"
|
---|
| 3699 | {yygotominor.yy19 = sqliteTriggerInsertStep(&yymsp[-5].minor.yy298, yymsp[-4].minor.yy320, yymsp[-1].minor.yy322, 0, yymsp[-7].minor.yy372);}
|
---|
| 3700 | #line 3700 "parse.c"
|
---|
| 3701 | /* No destructor defined for INTO */
|
---|
| 3702 | /* No destructor defined for VALUES */
|
---|
| 3703 | /* No destructor defined for LP */
|
---|
| 3704 | /* No destructor defined for RP */
|
---|
| 3705 | break;
|
---|
| 3706 | case 279:
|
---|
| 3707 | #line 847 "parse.y"
|
---|
| 3708 | {yygotominor.yy19 = sqliteTriggerInsertStep(&yymsp[-2].minor.yy298, yymsp[-1].minor.yy320, 0, yymsp[0].minor.yy179, yymsp[-4].minor.yy372);}
|
---|
| 3709 | #line 3709 "parse.c"
|
---|
| 3710 | /* No destructor defined for INTO */
|
---|
| 3711 | break;
|
---|
| 3712 | case 280:
|
---|
| 3713 | #line 851 "parse.y"
|
---|
| 3714 | {yygotominor.yy19 = sqliteTriggerDeleteStep(&yymsp[-1].minor.yy298, yymsp[0].minor.yy242);}
|
---|
| 3715 | #line 3715 "parse.c"
|
---|
| 3716 | /* No destructor defined for DELETE */
|
---|
| 3717 | /* No destructor defined for FROM */
|
---|
| 3718 | break;
|
---|
| 3719 | case 281:
|
---|
| 3720 | #line 854 "parse.y"
|
---|
| 3721 | {yygotominor.yy19 = sqliteTriggerSelectStep(yymsp[0].minor.yy179); }
|
---|
| 3722 | #line 3722 "parse.c"
|
---|
| 3723 | break;
|
---|
| 3724 | case 282:
|
---|
| 3725 | #line 857 "parse.y"
|
---|
| 3726 | {
|
---|
| 3727 | yygotominor.yy242 = sqliteExpr(TK_RAISE, 0, 0, 0);
|
---|
| 3728 | yygotominor.yy242->iColumn = OE_Ignore;
|
---|
| 3729 | sqliteExprSpan(yygotominor.yy242, &yymsp[-3].minor.yy0, &yymsp[0].minor.yy0);
|
---|
| 3730 | }
|
---|
| 3731 | #line 3731 "parse.c"
|
---|
| 3732 | /* No destructor defined for LP */
|
---|
| 3733 | /* No destructor defined for IGNORE */
|
---|
| 3734 | break;
|
---|
| 3735 | case 283:
|
---|
| 3736 | #line 862 "parse.y"
|
---|
| 3737 | {
|
---|
| 3738 | yygotominor.yy242 = sqliteExpr(TK_RAISE, 0, 0, &yymsp[-1].minor.yy298);
|
---|
| 3739 | yygotominor.yy242->iColumn = OE_Rollback;
|
---|
| 3740 | sqliteExprSpan(yygotominor.yy242, &yymsp[-5].minor.yy0, &yymsp[0].minor.yy0);
|
---|
| 3741 | }
|
---|
| 3742 | #line 3742 "parse.c"
|
---|
| 3743 | /* No destructor defined for LP */
|
---|
| 3744 | /* No destructor defined for ROLLBACK */
|
---|
| 3745 | /* No destructor defined for COMMA */
|
---|
| 3746 | break;
|
---|
| 3747 | case 284:
|
---|
| 3748 | #line 867 "parse.y"
|
---|
| 3749 | {
|
---|
| 3750 | yygotominor.yy242 = sqliteExpr(TK_RAISE, 0, 0, &yymsp[-1].minor.yy298);
|
---|
| 3751 | yygotominor.yy242->iColumn = OE_Abort;
|
---|
| 3752 | sqliteExprSpan(yygotominor.yy242, &yymsp[-5].minor.yy0, &yymsp[0].minor.yy0);
|
---|
| 3753 | }
|
---|
| 3754 | #line 3754 "parse.c"
|
---|
| 3755 | /* No destructor defined for LP */
|
---|
| 3756 | /* No destructor defined for ABORT */
|
---|
| 3757 | /* No destructor defined for COMMA */
|
---|
| 3758 | break;
|
---|
| 3759 | case 285:
|
---|
| 3760 | #line 872 "parse.y"
|
---|
| 3761 | {
|
---|
| 3762 | yygotominor.yy242 = sqliteExpr(TK_RAISE, 0, 0, &yymsp[-1].minor.yy298);
|
---|
| 3763 | yygotominor.yy242->iColumn = OE_Fail;
|
---|
| 3764 | sqliteExprSpan(yygotominor.yy242, &yymsp[-5].minor.yy0, &yymsp[0].minor.yy0);
|
---|
| 3765 | }
|
---|
| 3766 | #line 3766 "parse.c"
|
---|
| 3767 | /* No destructor defined for LP */
|
---|
| 3768 | /* No destructor defined for FAIL */
|
---|
| 3769 | /* No destructor defined for COMMA */
|
---|
| 3770 | break;
|
---|
| 3771 | case 286:
|
---|
| 3772 | #line 879 "parse.y"
|
---|
| 3773 | {
|
---|
| 3774 | sqliteDropTrigger(pParse,sqliteSrcListAppend(0,&yymsp[-1].minor.yy298,&yymsp[0].minor.yy298));
|
---|
| 3775 | }
|
---|
| 3776 | #line 3776 "parse.c"
|
---|
| 3777 | /* No destructor defined for DROP */
|
---|
| 3778 | /* No destructor defined for TRIGGER */
|
---|
| 3779 | break;
|
---|
| 3780 | case 287:
|
---|
| 3781 | #line 884 "parse.y"
|
---|
| 3782 | {
|
---|
| 3783 | sqliteAttach(pParse, &yymsp[-3].minor.yy298, &yymsp[-1].minor.yy298, &yymsp[0].minor.yy298);
|
---|
| 3784 | }
|
---|
| 3785 | #line 3785 "parse.c"
|
---|
| 3786 | /* No destructor defined for ATTACH */
|
---|
| 3787 | /* No destructor defined for database_kw_opt */
|
---|
| 3788 | /* No destructor defined for AS */
|
---|
| 3789 | break;
|
---|
| 3790 | case 288:
|
---|
| 3791 | #line 888 "parse.y"
|
---|
| 3792 | { yygotominor.yy298 = yymsp[0].minor.yy298; }
|
---|
| 3793 | #line 3793 "parse.c"
|
---|
| 3794 | /* No destructor defined for USING */
|
---|
| 3795 | break;
|
---|
| 3796 | case 289:
|
---|
| 3797 | #line 889 "parse.y"
|
---|
| 3798 | { yygotominor.yy298.z = 0; yygotominor.yy298.n = 0; }
|
---|
| 3799 | #line 3799 "parse.c"
|
---|
| 3800 | break;
|
---|
| 3801 | case 290:
|
---|
| 3802 | /* No destructor defined for DATABASE */
|
---|
| 3803 | break;
|
---|
| 3804 | case 291:
|
---|
| 3805 | break;
|
---|
| 3806 | case 292:
|
---|
| 3807 | #line 895 "parse.y"
|
---|
| 3808 | {
|
---|
| 3809 | sqliteDetach(pParse, &yymsp[0].minor.yy298);
|
---|
| 3810 | }
|
---|
| 3811 | #line 3811 "parse.c"
|
---|
| 3812 | /* No destructor defined for DETACH */
|
---|
| 3813 | /* No destructor defined for database_kw_opt */
|
---|
| 3814 | break;
|
---|
| 3815 | };
|
---|
| 3816 | yygoto = yyRuleInfo[yyruleno].lhs;
|
---|
| 3817 | yysize = yyRuleInfo[yyruleno].nrhs;
|
---|
| 3818 | yypParser->yyidx -= yysize;
|
---|
| 3819 | yyact = yy_find_reduce_action(yypParser,yygoto);
|
---|
| 3820 | if( yyact < YYNSTATE ){
|
---|
| 3821 | yy_shift(yypParser,yyact,yygoto,&yygotominor);
|
---|
| 3822 | }else if( yyact == YYNSTATE + YYNRULE + 1 ){
|
---|
| 3823 | yy_accept(yypParser);
|
---|
| 3824 | }
|
---|
| 3825 | }
|
---|
| 3826 |
|
---|
| 3827 | /*
|
---|
| 3828 | ** The following code executes when the parse fails
|
---|
| 3829 | */
|
---|
| 3830 | static void yy_parse_failed(
|
---|
| 3831 | yyParser *yypParser /* The parser */
|
---|
| 3832 | ){
|
---|
| 3833 | sqliteParserARG_FETCH;
|
---|
| 3834 | #ifndef NDEBUG
|
---|
| 3835 | if( yyTraceFILE ){
|
---|
| 3836 | fprintf(yyTraceFILE,"%sFail!\n",yyTracePrompt);
|
---|
| 3837 | }
|
---|
| 3838 | #endif
|
---|
| 3839 | while( yypParser->yyidx>=0 ) yy_pop_parser_stack(yypParser);
|
---|
| 3840 | /* Here code is inserted which will be executed whenever the
|
---|
| 3841 | ** parser fails */
|
---|
| 3842 | sqliteParserARG_STORE; /* Suppress warning about unused %extra_argument variable */
|
---|
| 3843 | }
|
---|
| 3844 |
|
---|
| 3845 | /*
|
---|
| 3846 | ** The following code executes when a syntax error first occurs.
|
---|
| 3847 | */
|
---|
| 3848 | static void yy_syntax_error(
|
---|
| 3849 | yyParser *yypParser, /* The parser */
|
---|
| 3850 | int yymajor, /* The major type of the error token */
|
---|
| 3851 | YYMINORTYPE yyminor /* The minor type of the error token */
|
---|
| 3852 | ){
|
---|
| 3853 | sqliteParserARG_FETCH;
|
---|
| 3854 | #define TOKEN (yyminor.yy0)
|
---|
| 3855 | #line 23 "parse.y"
|
---|
| 3856 |
|
---|
| 3857 | if( pParse->zErrMsg==0 ){
|
---|
| 3858 | if( TOKEN.z[0] ){
|
---|
| 3859 | sqliteErrorMsg(pParse, "near \"%T\": syntax error", &TOKEN);
|
---|
| 3860 | }else{
|
---|
| 3861 | sqliteErrorMsg(pParse, "incomplete SQL statement");
|
---|
| 3862 | }
|
---|
| 3863 | }
|
---|
| 3864 |
|
---|
| 3865 | #line 3865 "parse.c"
|
---|
| 3866 | sqliteParserARG_STORE; /* Suppress warning about unused %extra_argument variable */
|
---|
| 3867 | }
|
---|
| 3868 |
|
---|
| 3869 | /*
|
---|
| 3870 | ** The following is executed when the parser accepts
|
---|
| 3871 | */
|
---|
| 3872 | static void yy_accept(
|
---|
| 3873 | yyParser *yypParser /* The parser */
|
---|
| 3874 | ){
|
---|
| 3875 | sqliteParserARG_FETCH;
|
---|
| 3876 | #ifndef NDEBUG
|
---|
| 3877 | if( yyTraceFILE ){
|
---|
| 3878 | fprintf(yyTraceFILE,"%sAccept!\n",yyTracePrompt);
|
---|
| 3879 | }
|
---|
| 3880 | #endif
|
---|
| 3881 | while( yypParser->yyidx>=0 ) yy_pop_parser_stack(yypParser);
|
---|
| 3882 | /* Here code is inserted which will be executed whenever the
|
---|
| 3883 | ** parser accepts */
|
---|
| 3884 | sqliteParserARG_STORE; /* Suppress warning about unused %extra_argument variable */
|
---|
| 3885 | }
|
---|
| 3886 |
|
---|
| 3887 | /* The main parser program.
|
---|
| 3888 | ** The first argument is a pointer to a structure obtained from
|
---|
| 3889 | ** "sqliteParserAlloc" which describes the current state of the parser.
|
---|
| 3890 | ** The second argument is the major token number. The third is
|
---|
| 3891 | ** the minor token. The fourth optional argument is whatever the
|
---|
| 3892 | ** user wants (and specified in the grammar) and is available for
|
---|
| 3893 | ** use by the action routines.
|
---|
| 3894 | **
|
---|
| 3895 | ** Inputs:
|
---|
| 3896 | ** <ul>
|
---|
| 3897 | ** <li> A pointer to the parser (an opaque structure.)
|
---|
| 3898 | ** <li> The major token number.
|
---|
| 3899 | ** <li> The minor token number.
|
---|
| 3900 | ** <li> An option argument of a grammar-specified type.
|
---|
| 3901 | ** </ul>
|
---|
| 3902 | **
|
---|
| 3903 | ** Outputs:
|
---|
| 3904 | ** None.
|
---|
| 3905 | */
|
---|
| 3906 | void sqliteParser(
|
---|
| 3907 | void *yyp, /* The parser */
|
---|
| 3908 | int yymajor, /* The major token code number */
|
---|
| 3909 | sqliteParserTOKENTYPE yyminor /* The value for the token */
|
---|
| 3910 | sqliteParserARG_PDECL /* Optional %extra_argument parameter */
|
---|
| 3911 | ){
|
---|
| 3912 | YYMINORTYPE yyminorunion;
|
---|
| 3913 | int yyact; /* The parser action. */
|
---|
| 3914 | int yyendofinput; /* True if we are at the end of input */
|
---|
| 3915 | int yyerrorhit = 0; /* True if yymajor has invoked an error */
|
---|
| 3916 | yyParser *yypParser; /* The parser */
|
---|
| 3917 |
|
---|
| 3918 | /* (re)initialize the parser, if necessary */
|
---|
| 3919 | yypParser = (yyParser*)yyp;
|
---|
| 3920 | if( yypParser->yyidx<0 ){
|
---|
| 3921 | if( yymajor==0 ) return;
|
---|
| 3922 | yypParser->yyidx = 0;
|
---|
| 3923 | yypParser->yyerrcnt = -1;
|
---|
| 3924 | yypParser->yystack[0].stateno = 0;
|
---|
| 3925 | yypParser->yystack[0].major = 0;
|
---|
| 3926 | }
|
---|
| 3927 | yyminorunion.yy0 = yyminor;
|
---|
| 3928 | yyendofinput = (yymajor==0);
|
---|
| 3929 | sqliteParserARG_STORE;
|
---|
| 3930 |
|
---|
| 3931 | #ifndef NDEBUG
|
---|
| 3932 | if( yyTraceFILE ){
|
---|
| 3933 | fprintf(yyTraceFILE,"%sInput %s\n",yyTracePrompt,yyTokenName[yymajor]);
|
---|
| 3934 | }
|
---|
| 3935 | #endif
|
---|
| 3936 |
|
---|
| 3937 | do{
|
---|
| 3938 | yyact = yy_find_shift_action(yypParser,yymajor);
|
---|
| 3939 | if( yyact<YYNSTATE ){
|
---|
| 3940 | yy_shift(yypParser,yyact,yymajor,&yyminorunion);
|
---|
| 3941 | yypParser->yyerrcnt--;
|
---|
| 3942 | if( yyendofinput && yypParser->yyidx>=0 ){
|
---|
| 3943 | yymajor = 0;
|
---|
| 3944 | }else{
|
---|
| 3945 | yymajor = YYNOCODE;
|
---|
| 3946 | }
|
---|
| 3947 | }else if( yyact < YYNSTATE + YYNRULE ){
|
---|
| 3948 | yy_reduce(yypParser,yyact-YYNSTATE);
|
---|
| 3949 | }else if( yyact == YY_ERROR_ACTION ){
|
---|
| 3950 | int yymx;
|
---|
| 3951 | #ifndef NDEBUG
|
---|
| 3952 | if( yyTraceFILE ){
|
---|
| 3953 | fprintf(yyTraceFILE,"%sSyntax Error!\n",yyTracePrompt);
|
---|
| 3954 | }
|
---|
| 3955 | #endif
|
---|
| 3956 | #ifdef YYERRORSYMBOL
|
---|
| 3957 | /* A syntax error has occurred.
|
---|
| 3958 | ** The response to an error depends upon whether or not the
|
---|
| 3959 | ** grammar defines an error token "ERROR".
|
---|
| 3960 | **
|
---|
| 3961 | ** This is what we do if the grammar does define ERROR:
|
---|
| 3962 | **
|
---|
| 3963 | ** * Call the %syntax_error function.
|
---|
| 3964 | **
|
---|
| 3965 | ** * Begin popping the stack until we enter a state where
|
---|
| 3966 | ** it is legal to shift the error symbol, then shift
|
---|
| 3967 | ** the error symbol.
|
---|
| 3968 | **
|
---|
| 3969 | ** * Set the error count to three.
|
---|
| 3970 | **
|
---|
| 3971 | ** * Begin accepting and shifting new tokens. No new error
|
---|
| 3972 | ** processing will occur until three tokens have been
|
---|
| 3973 | ** shifted successfully.
|
---|
| 3974 | **
|
---|
| 3975 | */
|
---|
| 3976 | if( yypParser->yyerrcnt<0 ){
|
---|
| 3977 | yy_syntax_error(yypParser,yymajor,yyminorunion);
|
---|
| 3978 | }
|
---|
| 3979 | yymx = yypParser->yystack[yypParser->yyidx].major;
|
---|
| 3980 | if( yymx==YYERRORSYMBOL || yyerrorhit ){
|
---|
| 3981 | #ifndef NDEBUG
|
---|
| 3982 | if( yyTraceFILE ){
|
---|
| 3983 | fprintf(yyTraceFILE,"%sDiscard input token %s\n",
|
---|
| 3984 | yyTracePrompt,yyTokenName[yymajor]);
|
---|
| 3985 | }
|
---|
| 3986 | #endif
|
---|
| 3987 | yy_destructor(yymajor,&yyminorunion);
|
---|
| 3988 | yymajor = YYNOCODE;
|
---|
| 3989 | }else{
|
---|
| 3990 | while(
|
---|
| 3991 | yypParser->yyidx >= 0 &&
|
---|
| 3992 | yymx != YYERRORSYMBOL &&
|
---|
| 3993 | (yyact = yy_find_shift_action(yypParser,YYERRORSYMBOL)) >= YYNSTATE
|
---|
| 3994 | ){
|
---|
| 3995 | yy_pop_parser_stack(yypParser);
|
---|
| 3996 | }
|
---|
| 3997 | if( yypParser->yyidx < 0 || yymajor==0 ){
|
---|
| 3998 | yy_destructor(yymajor,&yyminorunion);
|
---|
| 3999 | yy_parse_failed(yypParser);
|
---|
| 4000 | yymajor = YYNOCODE;
|
---|
| 4001 | }else if( yymx!=YYERRORSYMBOL ){
|
---|
| 4002 | YYMINORTYPE u2;
|
---|
| 4003 | u2.YYERRSYMDT = 0;
|
---|
| 4004 | yy_shift(yypParser,yyact,YYERRORSYMBOL,&u2);
|
---|
| 4005 | }
|
---|
| 4006 | }
|
---|
| 4007 | yypParser->yyerrcnt = 3;
|
---|
| 4008 | yyerrorhit = 1;
|
---|
| 4009 | #else /* YYERRORSYMBOL is not defined */
|
---|
| 4010 | /* This is what we do if the grammar does not define ERROR:
|
---|
| 4011 | **
|
---|
| 4012 | ** * Report an error message, and throw away the input token.
|
---|
| 4013 | **
|
---|
| 4014 | ** * If the input token is $, then fail the parse.
|
---|
| 4015 | **
|
---|
| 4016 | ** As before, subsequent error messages are suppressed until
|
---|
| 4017 | ** three input tokens have been successfully shifted.
|
---|
| 4018 | */
|
---|
| 4019 | if( yypParser->yyerrcnt<=0 ){
|
---|
| 4020 | yy_syntax_error(yypParser,yymajor,yyminorunion);
|
---|
| 4021 | }
|
---|
| 4022 | yypParser->yyerrcnt = 3;
|
---|
| 4023 | yy_destructor(yymajor,&yyminorunion);
|
---|
| 4024 | if( yyendofinput ){
|
---|
| 4025 | yy_parse_failed(yypParser);
|
---|
| 4026 | }
|
---|
| 4027 | yymajor = YYNOCODE;
|
---|
| 4028 | #endif
|
---|
| 4029 | }else{
|
---|
| 4030 | yy_accept(yypParser);
|
---|
| 4031 | yymajor = YYNOCODE;
|
---|
| 4032 | }
|
---|
| 4033 | }while( yymajor!=YYNOCODE && yypParser->yyidx>=0 );
|
---|
| 4034 | return;
|
---|
| 4035 | }
|
---|