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 | }
|
---|