1
0
Fork 0

allow enclosing identifiers in forward ticks, too

This commit is contained in:
jsteemann 2016-02-06 01:48:33 +01:00
parent 086225b6d4
commit f28fb0c198
2 changed files with 304 additions and 241 deletions

View File

@ -1,4 +1,4 @@
#line 15 "arangod/Aql/tokens.ll"
#line 16 "arangod/Aql/tokens.ll"
#include <stdint.h>
@ -381,8 +381,8 @@ static void yy_fatal_error (yyconst char msg[] ,yyscan_t yyscanner );
*yy_cp = '\0'; \
yyg->yy_c_buf_p = yy_cp;
#define YY_NUM_RULES 88
#define YY_END_OF_BUFFER 89
#define YY_NUM_RULES 93
#define YY_END_OF_BUFFER 94
/* This struct is not used in this scanner,
but its presence is necessary. */
struct yy_trans_info
@ -390,30 +390,31 @@ struct yy_trans_info
flex_int32_t yy_verify;
flex_int32_t yy_nxt;
};
static yyconst flex_int16_t yy_accept[226] =
static yyconst flex_int16_t yy_accept[236] =
{ 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 89, 87, 77, 78, 39, 64, 87, 46,
87, 69, 52, 53, 44, 42, 51, 43, 87, 45,
74, 74, 49, 37, 38, 35, 47, 87, 58, 58,
0, 0, 0, 0, 94, 92, 82, 83, 39, 69,
92, 46, 92, 74, 52, 53, 44, 42, 51, 43,
92, 45, 79, 79, 49, 37, 38, 35, 47, 92,
58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
58, 58, 58, 56, 57, 87, 59, 54, 87, 55,
63, 62, 63, 60, 73, 72, 70, 73, 68, 67,
65, 68, 81, 80, 84, 86, 85, 77, 33, 58,
40, 50, 82, 79, 0, 0, 74, 48, 36, 32,
34, 76, 0, 0, 58, 58, 58, 58, 58, 58,
58, 58, 58, 58, 58, 56, 57, 92, 59, 54,
92, 55, 92, 63, 62, 63, 60, 68, 67, 68,
68, 78, 77, 75, 78, 73, 72, 70, 73, 86,
85, 89, 91, 90, 82, 33, 58, 40, 50, 87,
84, 0, 0, 79, 48, 36, 32, 34, 81, 0,
58, 58, 58, 58, 58, 58, 15, 58, 58, 58,
58, 14, 58, 58, 58, 58, 58, 58, 58, 0,
41, 61, 71, 66, 81, 84, 83, 75, 0, 75,
76, 76, 58, 27, 13, 26, 10, 58, 58, 58,
0, 58, 58, 58, 58, 58, 58, 58, 58, 58,
58, 58, 58, 15, 58, 58, 58, 58, 14, 58,
58, 58, 58, 58, 58, 58, 0, 41, 64, 61,
66, 65, 76, 71, 86, 89, 88, 80, 0, 80,
81, 81, 58, 27, 13, 26, 10, 58, 58, 58,
58, 58, 1, 58, 58, 58, 58, 2, 58, 58,
12, 58, 58, 58, 58, 58, 58, 58, 58, 58,
58, 58, 58, 76, 76, 58, 58, 11, 58, 58,
58, 58, 58, 81, 81, 58, 58, 11, 58, 58,
58, 58, 58, 58, 16, 58, 28, 29, 58, 58,
58, 58, 6, 30, 58, 58, 17, 58, 58, 58,
31, 58, 23, 58, 58, 7, 58, 58, 58, 58,
31, 58, 23, 58, 58, 7, 58, 58, 58, 58,
58, 58, 58, 58, 58, 3, 58, 19, 58, 18,
58, 4, 20, 22, 58, 5, 58, 25, 58, 21,
58, 8, 24, 9, 0
@ -439,9 +440,9 @@ static yyconst flex_int32_t yy_ec[256] =
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 77,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 78, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
@ -451,7 +452,7 @@ static yyconst flex_int32_t yy_ec[256] =
1, 1, 1, 1, 1
} ;
static yyconst flex_int32_t yy_meta[77] =
static yyconst flex_int32_t yy_meta[79] =
{ 0,
1, 1, 2, 1, 1, 1, 1, 1, 1, 1,
1, 3, 1, 1, 1, 1, 1, 4, 4, 1,
@ -460,138 +461,144 @@ static yyconst flex_int32_t yy_meta[77] =
6, 6, 6, 6, 6, 6, 6, 1, 1, 1,
7, 1, 6, 6, 6, 6, 6, 6, 6, 6,
6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
6, 6, 6, 1, 1, 1
6, 6, 6, 1, 1, 1, 1, 1
} ;
static yyconst flex_int16_t yy_base[246] =
static yyconst flex_int16_t yy_base[258] =
{ 0,
0, 0, 74, 75, 76, 79, 81, 84, 366, 365,
78, 80, 367, 494, 363, 494, 342, 494, 0, 494,
350, 494, 494, 494, 494, 494, 494, 494, 313, 79,
64, 79, 299, 253, 243, 235, 494, 68, 70, 0,
66, 80, 109, 72, 78, 88, 107, 106, 87, 101,
111, 113, 120, 494, 494, 201, 494, 494, 145, 494,
494, 494, 0, 494, 494, 494, 494, 0, 494, 494,
494, 0, 0, 494, 0, 494, 186, 154, 494, 0,
494, 494, 494, 494, 81, 142, 164, 494, 494, 494,
494, 0, 133, 69, 0, 127, 127, 140, 136, 131,
0, 0, 76, 77, 78, 81, 82, 83, 84, 85,
378, 377, 90, 91, 377, 517, 374, 517, 353, 517,
0, 517, 365, 517, 517, 517, 517, 517, 517, 517,
356, 83, 66, 88, 346, 315, 263, 251, 517, 58,
78, 0, 59, 78, 110, 74, 79, 117, 111, 113,
81, 83, 112, 118, 126, 517, 517, 219, 517, 517,
126, 517, 91, 517, 517, 0, 517, 517, 517, 0,
75, 517, 517, 517, 0, 517, 517, 517, 0, 0,
517, 0, 517, 104, 117, 517, 0, 517, 517, 517,
517, 143, 151, 170, 517, 517, 517, 517, 0, 140,
129, 133, 149, 152, 149, 139, 175, 155, 162, 162,
168, 0, 163, 172, 166, 164, 181, 176, 209, 64,
494, 494, 494, 494, 0, 0, 494, 221, 85, 228,
0, 60, 181, 0, 0, 0, 0, 200, 140, 199,
208, 210, 0, 214, 216, 226, 219, 0, 225, 231,
0, 227, 237, 227, 231, 225, 227, 241, 246, 243,
241, 0, 284, 56, 0, 247, 252, 0, 251, 257,
260, 261, 253, 264, 0, 263, 0, 0, 268, 263,
284, 272, 0, 0, 272, 275, 0, 279, 290, 282,
0, 281, 0, 286, 282, 0, 282, 297, 300, 292,
62, 0, 135, 136, 148, 154, 137, 143, 148, 156,
157, 155, 171, 183, 159, 166, 169, 169, 0, 163,
177, 167, 169, 194, 172, 226, 54, 517, 517, 517,
517, 517, 517, 517, 0, 0, 517, 229, 235, 237,
0, 50, 194, 0, 0, 0, 0, 206, 202, 206,
216, 220, 0, 224, 226, 230, 227, 0, 233, 239,
0, 235, 245, 235, 240, 234, 236, 250, 255, 252,
250, 0, 293, 48, 0, 258, 263, 0, 261, 268,
271, 270, 262, 272, 0, 271, 0, 0, 277, 272,
292, 280, 0, 0, 280, 283, 0, 287, 298, 291,
306, 297, 317, 304, 316, 0, 320, 0, 315, 0,
327, 0, 0, 0, 316, 0, 317, 0, 332, 0,
332, 0, 0, 0, 494, 389, 396, 403, 410, 417,
95, 421, 425, 427, 434, 441, 448, 455, 462, 466,
470, 474, 478, 482, 486
0, 290, 0, 295, 291, 0, 291, 297, 308, 300,
311, 305, 325, 313, 324, 0, 329, 0, 324, 0,
335, 0, 0, 0, 324, 0, 326, 0, 341, 0,
341, 0, 0, 0, 517, 398, 405, 412, 419, 426,
433, 91, 437, 441, 443, 450, 457, 464, 471, 478,
485, 489, 493, 497, 501, 505, 509
} ;
static yyconst flex_int16_t yy_def[246] =
static yyconst flex_int16_t yy_def[258] =
{ 0,
225, 1, 226, 226, 227, 227, 228, 228, 229, 229,
230, 230, 225, 225, 225, 225, 225, 225, 231, 225,
225, 225, 225, 225, 225, 225, 225, 225, 225, 225,
225, 225, 225, 225, 225, 225, 225, 232, 233, 233,
233, 233, 233, 233, 233, 233, 233, 233, 233, 233,
233, 233, 233, 225, 225, 234, 225, 225, 225, 225,
225, 225, 235, 225, 225, 225, 225, 236, 225, 225,
225, 237, 238, 225, 239, 225, 225, 225, 225, 233,
225, 225, 225, 225, 225, 225, 225, 225, 225, 225,
225, 240, 232, 241, 233, 233, 233, 233, 233, 233,
235, 1, 236, 236, 237, 237, 238, 238, 239, 239,
240, 240, 241, 241, 235, 235, 235, 235, 235, 235,
242, 235, 235, 235, 235, 235, 235, 235, 235, 235,
235, 235, 235, 235, 235, 235, 235, 235, 235, 243,
244, 244, 244, 244, 244, 244, 244, 244, 244, 244,
244, 244, 244, 244, 244, 235, 235, 245, 235, 235,
235, 235, 235, 235, 235, 246, 235, 235, 235, 247,
235, 235, 235, 235, 248, 235, 235, 235, 249, 250,
235, 251, 235, 235, 235, 235, 244, 235, 235, 235,
235, 235, 235, 235, 235, 235, 235, 235, 252, 243,
233, 233, 233, 233, 233, 233, 233, 233, 233, 233,
233, 233, 233, 233, 233, 233, 233, 233, 242, 234,
225, 225, 225, 225, 238, 239, 225, 225, 225, 225,
240, 243, 233, 233, 233, 233, 233, 233, 233, 233,
233, 233, 233, 233, 233, 233, 233, 233, 233, 233,
233, 233, 233, 233, 233, 233, 233, 233, 233, 233,
233, 244, 242, 243, 245, 233, 233, 233, 233, 233,
233, 233, 233, 233, 233, 233, 233, 233, 233, 233,
233, 233, 233, 233, 233, 233, 233, 233, 233, 233,
233, 233, 233, 233, 233, 233, 233, 233, 233, 233,
253, 244, 244, 244, 244, 244, 244, 244, 244, 244,
244, 244, 244, 244, 244, 244, 244, 244, 244, 244,
244, 244, 244, 244, 244, 254, 245, 235, 235, 235,
235, 235, 235, 235, 250, 251, 235, 235, 235, 235,
252, 255, 244, 244, 244, 244, 244, 244, 244, 244,
244, 244, 244, 244, 244, 244, 244, 244, 244, 244,
244, 244, 244, 244, 244, 244, 244, 244, 244, 244,
244, 256, 254, 255, 257, 244, 244, 244, 244, 244,
244, 244, 244, 244, 244, 244, 244, 244, 244, 244,
244, 244, 244, 244, 244, 244, 244, 244, 244, 244,
233, 233, 233, 233, 233, 233, 233, 233, 233, 233,
233, 233, 233, 233, 233, 233, 233, 233, 233, 233,
233, 233, 233, 233, 0, 225, 225, 225, 225, 225,
225, 225, 225, 225, 225, 225, 225, 225, 225, 225,
225, 225, 225, 225, 225
244, 244, 244, 244, 244, 244, 244, 244, 244, 244,
244, 244, 244, 244, 244, 244, 244, 244, 244, 244,
244, 244, 244, 244, 244, 244, 244, 244, 244, 244,
244, 244, 244, 244, 0, 235, 235, 235, 235, 235,
235, 235, 235, 235, 235, 235, 235, 235, 235, 235,
235, 235, 235, 235, 235, 235, 235
} ;
static yyconst flex_int16_t yy_nxt[571] =
static yyconst flex_int16_t yy_nxt[596] =
{ 0,
14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
34, 35, 36, 37, 38, 39, 40, 41, 42, 40,
43, 44, 40, 45, 40, 46, 40, 47, 48, 40,
49, 50, 51, 52, 40, 53, 40, 54, 14, 55,
56, 57, 39, 40, 41, 42, 40, 43, 44, 40,
45, 46, 40, 47, 48, 40, 49, 50, 51, 52,
40, 53, 40, 58, 59, 60, 62, 62, 66, 85,
76, 66, 76, 70, 67, 71, 70, 67, 71, 77,
83, 77, 93, 86, 85, 84, 87, 87, 128, 128,
16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
36, 37, 38, 39, 40, 41, 42, 43, 44, 42,
45, 46, 42, 47, 42, 48, 42, 49, 50, 42,
51, 52, 53, 54, 42, 55, 42, 56, 16, 57,
58, 59, 41, 42, 43, 44, 42, 45, 46, 42,
47, 48, 42, 49, 50, 42, 51, 52, 53, 54,
42, 55, 42, 60, 61, 62, 16, 63, 65, 65,
69, 92, 100, 69, 73, 73, 77, 77, 78, 78,
74, 74, 83, 83, 90, 93, 87, 107, 175, 91,
80, 96, 130, 130, 100, 97, 165, 98, 86, 101,
165, 99, 106, 102, 120, 107, 114, 108, 94, 94,
86, 109, 63, 63, 68, 64, 64, 68, 96, 72,
100, 97, 72, 98, 103, 86, 101, 99, 106, 115,
102, 107, 104, 114, 108, 110, 112, 105, 109, 113,
111, 116, 117, 118, 129, 78, 129, 225, 133, 130,
130, 103, 134, 137, 144, 115, 138, 168, 135, 104,
139, 110, 112, 105, 140, 113, 111, 116, 117, 85,
118, 87, 87, 94, 141, 133, 136, 142, 134, 143,
137, 144, 138, 86, 168, 135, 139, 148, 149, 150,
175, 84, 84, 92, 127, 94, 94, 108, 101, 103,
121, 109, 101, 104, 113, 105, 114, 93, 85, 106,
137, 122, 93, 107, 66, 66, 70, 67, 67, 70,
75, 75, 79, 79, 108, 110, 103, 121, 109, 104,
113, 105, 114, 111, 93, 106, 115, 122, 112, 117,
116, 132, 123, 119, 118, 71, 120, 124, 71, 125,
138, 138, 110, 139, 235, 139, 143, 129, 140, 140,
111, 144, 148, 115, 112, 117, 145, 116, 123, 119,
118, 147, 120, 124, 149, 92, 125, 94, 94, 150,
101, 151, 152, 143, 146, 153, 154, 144, 148, 93,
140, 145, 127, 152, 151, 153, 157, 158, 154, 159,
141, 155, 136, 142, 156, 143, 146, 147, 161, 121,
86, 166, 160, 148, 149, 150, 162, 162, 145, 152,
151, 153, 157, 158, 154, 167, 159, 155, 128, 128,
156, 169, 146, 147, 161, 130, 130, 166, 160, 170,
86, 120, 171, 172, 173, 174, 91, 175, 176, 162,
177, 167, 178, 179, 90, 180, 181, 169, 182, 183,
184, 185, 186, 187, 89, 170, 188, 86, 171, 172,
173, 189, 174, 175, 190, 176, 191, 177, 178, 192,
179, 180, 181, 193, 182, 183, 194, 184, 185, 186,
128, 158, 159, 145, 162, 163, 160, 167, 147, 155,
149, 161, 168, 164, 171, 150, 165, 151, 152, 166,
146, 153, 169, 154, 156, 157, 93, 158, 159, 178,
162, 163, 160, 167, 176, 170, 155, 161, 168, 164,
171, 177, 165, 172, 172, 166, 138, 138, 179, 169,
156, 157, 140, 140, 140, 140, 178, 180, 93, 184,
176, 170, 181, 182, 183, 185, 186, 177, 187, 127,
188, 189, 98, 190, 179, 191, 172, 192, 193, 194,
195, 196, 197, 180, 97, 93, 184, 198, 181, 182,
183, 185, 199, 186, 200, 187, 188, 201, 189, 190,
187, 162, 162, 188, 195, 196, 197, 198, 189, 199,
203, 190, 200, 191, 201, 202, 192, 204, 88, 205,
193, 206, 194, 207, 208, 209, 210, 211, 82, 212,
195, 196, 197, 198, 162, 213, 199, 203, 200, 214,
201, 202, 215, 217, 204, 205, 216, 206, 218, 207,
208, 209, 219, 210, 211, 212, 220, 81, 221, 222,
223, 224, 213, 79, 78, 214, 225, 74, 74, 215,
217, 225, 216, 225, 225, 218, 225, 225, 219, 225,
225, 225, 225, 220, 221, 222, 225, 223, 224, 61,
61, 61, 61, 61, 61, 61, 65, 65, 65, 65,
202, 191, 203, 192, 193, 204, 194, 195, 196, 197,
172, 172, 205, 206, 198, 207, 208, 209, 213, 199,
210, 200, 211, 212, 201, 214, 220, 202, 215, 203,
216, 204, 217, 218, 219, 221, 96, 222, 205, 206,
223, 207, 208, 172, 209, 213, 210, 224, 211, 212,
225, 227, 214, 220, 215, 226, 216, 228, 217, 218,
219, 229, 221, 222, 230, 95, 231, 223, 232, 233,
234, 89, 88, 224, 86, 85, 235, 225, 227, 81,
81, 226, 235, 235, 228, 235, 235, 229, 235, 235,
235, 230, 231, 235, 232, 235, 233, 234, 64, 64,
65, 65, 65, 69, 69, 69, 69, 69, 69, 69,
73, 73, 73, 73, 73, 73, 73, 75, 75, 75,
75, 75, 75, 75, 92, 92, 92, 92, 95, 225,
95, 95, 119, 119, 122, 225, 122, 122, 122, 122,
122, 123, 225, 123, 123, 123, 123, 123, 124, 225,
124, 124, 124, 124, 124, 125, 225, 125, 125, 125,
125, 125, 126, 225, 225, 126, 126, 126, 126, 131,
225, 131, 131, 132, 225, 132, 132, 163, 225, 163,
163, 164, 225, 164, 164, 162, 225, 162, 162, 165,
225, 165, 165, 13, 225, 225, 225, 225, 225, 225,
64, 64, 64, 64, 64, 68, 68, 68, 68, 68,
68, 68, 72, 72, 72, 72, 72, 72, 72, 76,
76, 76, 76, 76, 76, 76, 80, 80, 80, 80,
80, 80, 80, 82, 82, 82, 82, 82, 82, 82,
99, 99, 99, 99, 102, 235, 102, 102, 126, 126,
130, 235, 130, 130, 130, 130, 130, 131, 235, 131,
131, 131, 131, 131, 133, 235, 133, 133, 133, 133,
133, 134, 235, 134, 134, 134, 134, 134, 135, 235,
135, 135, 135, 135, 135, 136, 235, 235, 136, 136,
136, 136, 141, 235, 141, 141, 142, 235, 142, 142,
173, 235, 173, 173, 174, 235, 174, 174, 172, 235,
172, 172, 175, 235, 175, 175, 15, 235, 235, 235,
235, 235, 235, 235, 235, 235, 235, 235, 235, 235,
235, 235, 235, 235, 235, 235, 235, 235, 235, 235,
235, 235, 235, 235, 235, 235, 235, 235, 235, 235,
235, 235, 235, 235, 235, 235, 235, 235, 235, 235,
235, 235, 235, 235, 235, 235, 235, 235, 235, 235,
235, 235, 235, 235, 235, 235, 235, 235, 235, 235,
235, 235, 235, 235, 235, 235, 235, 235, 235, 235,
235, 235, 235, 235, 235
225, 225, 225, 225, 225, 225, 225, 225, 225, 225,
225, 225, 225, 225, 225, 225, 225, 225, 225, 225,
225, 225, 225, 225, 225, 225, 225, 225, 225, 225,
225, 225, 225, 225, 225, 225, 225, 225, 225, 225,
225, 225, 225, 225, 225, 225, 225, 225, 225, 225,
225, 225, 225, 225, 225, 225, 225, 225, 225, 225,
225, 225, 225, 225, 225, 225, 225, 225, 225, 225
} ;
static yyconst flex_int16_t yy_chk[571] =
static yyconst flex_int16_t yy_chk[596] =
{ 0,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
@ -600,71 +607,75 @@ static yyconst flex_int16_t yy_chk[571] =
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 3, 4, 5, 31,
11, 6, 12, 7, 5, 7, 8, 6, 8, 11,
30, 12, 38, 31, 32, 30, 32, 32, 85, 85,
1, 1, 1, 1, 1, 1, 1, 1, 3, 4,
5, 33, 40, 6, 7, 8, 9, 10, 9, 10,
7, 8, 13, 14, 32, 33, 242, 43, 174, 32,
231, 39, 129, 129, 41, 39, 164, 39, 32, 42,
132, 39, 44, 42, 120, 45, 49, 46, 38, 94,
31, 46, 3, 4, 5, 3, 4, 6, 39, 7,
41, 39, 8, 39, 43, 32, 42, 39, 44, 50,
42, 45, 43, 49, 46, 47, 48, 43, 46, 48,
47, 51, 52, 53, 86, 78, 86, 93, 96, 86,
86, 43, 97, 99, 106, 50, 100, 139, 98, 43,
101, 47, 48, 43, 102, 48, 47, 51, 52, 87,
53, 87, 87, 93, 103, 96, 98, 104, 97, 105,
99, 106, 100, 87, 139, 98, 101, 108, 109, 110,
142, 13, 14, 34, 127, 34, 34, 44, 40, 41,
51, 44, 101, 41, 46, 41, 47, 34, 85, 41,
84, 52, 33, 43, 3, 4, 5, 3, 4, 6,
7, 8, 9, 10, 44, 45, 41, 51, 44, 41,
46, 41, 47, 45, 34, 41, 48, 52, 45, 49,
48, 71, 53, 50, 49, 5, 50, 54, 6, 55,
92, 92, 45, 93, 100, 93, 103, 63, 93, 93,
45, 104, 107, 48, 45, 49, 105, 48, 53, 50,
49, 106, 50, 54, 108, 94, 55, 94, 94, 109,
100, 110, 111, 103, 105, 112, 113, 104, 107, 94,
102, 107, 77, 111, 110, 113, 115, 116, 114, 117,
103, 114, 98, 104, 114, 105, 107, 107, 118, 59,
87, 133, 117, 108, 109, 110, 119, 119, 107, 111,
110, 113, 115, 116, 114, 138, 117, 114, 128, 128,
114, 140, 107, 107, 118, 130, 130, 133, 117, 141,
128, 56, 142, 144, 145, 146, 36, 147, 149, 119,
150, 138, 152, 153, 35, 154, 155, 140, 156, 157,
158, 159, 160, 161, 34, 141, 166, 128, 142, 144,
145, 167, 146, 147, 169, 149, 170, 150, 152, 171,
153, 154, 155, 172, 156, 157, 173, 158, 159, 160,
61, 115, 116, 105, 118, 120, 117, 122, 106, 114,
108, 117, 123, 121, 125, 109, 121, 110, 111, 121,
105, 112, 124, 113, 114, 114, 94, 115, 116, 149,
118, 120, 117, 122, 143, 124, 114, 117, 123, 121,
125, 148, 121, 126, 126, 121, 138, 138, 150, 124,
114, 114, 139, 139, 140, 140, 149, 151, 138, 156,
143, 124, 152, 154, 155, 157, 159, 148, 160, 58,
162, 163, 38, 164, 150, 165, 126, 166, 167, 168,
169, 170, 171, 151, 37, 138, 156, 176, 152, 154,
155, 157, 177, 159, 179, 160, 162, 180, 163, 164,
161, 163, 163, 166, 174, 176, 179, 180, 167, 181,
188, 169, 182, 170, 185, 186, 171, 189, 33, 190,
172, 192, 173, 194, 195, 197, 198, 199, 29, 200,
174, 176, 179, 180, 163, 201, 181, 188, 182, 202,
185, 186, 203, 205, 189, 190, 204, 192, 207, 194,
195, 197, 209, 198, 199, 200, 211, 21, 215, 217,
219, 221, 201, 17, 15, 202, 13, 10, 9, 203,
205, 0, 204, 0, 0, 207, 0, 0, 209, 0,
0, 0, 0, 211, 215, 217, 0, 219, 221, 226,
226, 226, 226, 226, 226, 226, 227, 227, 227, 227,
181, 165, 182, 166, 167, 183, 168, 169, 170, 171,
173, 173, 184, 186, 176, 189, 190, 191, 198, 177,
192, 179, 195, 196, 180, 199, 208, 181, 200, 182,
202, 183, 204, 205, 207, 209, 36, 210, 184, 186,
211, 189, 190, 173, 191, 198, 192, 212, 195, 196,
213, 215, 199, 208, 200, 214, 202, 217, 204, 205,
207, 219, 209, 210, 221, 35, 225, 211, 227, 229,
231, 31, 23, 212, 19, 17, 15, 213, 215, 12,
11, 214, 0, 0, 217, 0, 0, 219, 0, 0,
0, 221, 225, 0, 227, 0, 229, 231, 236, 236,
227, 227, 227, 228, 228, 228, 228, 228, 228, 228,
229, 229, 229, 229, 229, 229, 229, 230, 230, 230,
230, 230, 230, 230, 232, 232, 232, 232, 233, 0,
233, 233, 234, 234, 235, 0, 235, 235, 235, 235,
235, 236, 0, 236, 236, 236, 236, 236, 237, 0,
237, 237, 237, 237, 237, 238, 0, 238, 238, 238,
238, 238, 239, 0, 0, 239, 239, 239, 239, 240,
0, 240, 240, 241, 0, 241, 241, 242, 0, 242,
242, 243, 0, 243, 243, 244, 0, 244, 244, 245,
0, 245, 245, 225, 225, 225, 225, 225, 225, 225,
236, 236, 236, 236, 236, 237, 237, 237, 237, 237,
237, 237, 238, 238, 238, 238, 238, 238, 238, 239,
239, 239, 239, 239, 239, 239, 240, 240, 240, 240,
240, 240, 240, 241, 241, 241, 241, 241, 241, 241,
243, 243, 243, 243, 244, 0, 244, 244, 245, 245,
246, 0, 246, 246, 246, 246, 246, 247, 0, 247,
247, 247, 247, 247, 248, 0, 248, 248, 248, 248,
248, 249, 0, 249, 249, 249, 249, 249, 250, 0,
250, 250, 250, 250, 250, 251, 0, 0, 251, 251,
251, 251, 252, 0, 252, 252, 253, 0, 253, 253,
254, 0, 254, 254, 255, 0, 255, 255, 256, 0,
256, 256, 257, 0, 257, 257, 235, 235, 235, 235,
235, 235, 235, 235, 235, 235, 235, 235, 235, 235,
235, 235, 235, 235, 235, 235, 235, 235, 235, 235,
235, 235, 235, 235, 235, 235, 235, 235, 235, 235,
235, 235, 235, 235, 235, 235, 235, 235, 235, 235,
235, 235, 235, 235, 235, 235, 235, 235, 235, 235,
235, 235, 235, 235, 235, 235, 235, 235, 235, 235,
235, 235, 235, 235, 235, 235, 235, 235, 235, 235,
235, 235, 235, 235, 235
225, 225, 225, 225, 225, 225, 225, 225, 225, 225,
225, 225, 225, 225, 225, 225, 225, 225, 225, 225,
225, 225, 225, 225, 225, 225, 225, 225, 225, 225,
225, 225, 225, 225, 225, 225, 225, 225, 225, 225,
225, 225, 225, 225, 225, 225, 225, 225, 225, 225,
225, 225, 225, 225, 225, 225, 225, 225, 225, 225,
225, 225, 225, 225, 225, 225, 225, 225, 225, 225
} ;
/* Table of booleans, true if rule could match eol. */
static yyconst flex_int32_t yy_rule_can_match_eol[89] =
static yyconst flex_int32_t yy_rule_can_match_eol[94] =
{ 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 0, 0, 1, 0, 0, };
0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0,
0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, };
/* The intent behind this definition is that it'll catch
* any uses of REJECT which flex missed.
@ -713,10 +724,11 @@ namespace arangodb {
#define INITIAL 0
#define BACKTICK 1
#define SINGLE_QUOTE 2
#define DOUBLE_QUOTE 3
#define COMMENT_SINGLE 4
#define COMMENT_MULTI 5
#define FORWARDTICK 2
#define SINGLE_QUOTE 3
#define DOUBLE_QUOTE 4
#define COMMENT_SINGLE 5
#define COMMENT_MULTI 6
#ifndef YY_NO_UNISTD_H
/* Special case for "unistd.h", since it is non-ANSI. We include it way
@ -1023,13 +1035,13 @@ yy_match:
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
{
yy_current_state = (int) yy_def[yy_current_state];
if ( yy_current_state >= 226 )
if ( yy_current_state >= 236 )
yy_c = yy_meta[(unsigned int) yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
++yy_cp;
}
while ( yy_current_state != 225 );
while ( yy_current_state != 235 );
yy_cp = yyg->yy_last_accepting_cpos;
yy_current_state = yyg->yy_last_accepting_state;
@ -1447,7 +1459,6 @@ case 61:
YY_RULE_SETUP
{
/* character escaped by backslash */
BEGIN(BACKTICK);
}
YY_BREAK
case 62:
@ -1455,61 +1466,57 @@ case 62:
YY_RULE_SETUP
{
/* newline character inside backtick */
BEGIN(BACKTICK);
}
YY_BREAK
case 63:
YY_RULE_SETUP
{
/* any character (except newline) inside backtick */
BEGIN(BACKTICK);
}
YY_BREAK
case 64:
YY_RULE_SETUP
{
/* string enclosed in forwardticks */
yyextra->marker(yyextra->queryString() + yyextra->offset());
BEGIN(DOUBLE_QUOTE);
BEGIN(FORWARDTICK);
}
YY_BREAK
case 65:
YY_RULE_SETUP
{
/* end of quote-enclosed string */
/* end of forwardtick-enclosed string */
BEGIN(INITIAL);
size_t outLength;
yylval->strval.value = yyextra->query()->registerEscapedString(yyextra->marker(), yyextra->offset() - (yyextra->marker() - yyextra->queryString()) - 1, outLength);
yylval->strval.length = outLength;
return T_QUOTED_STRING;
return T_STRING;
}
YY_BREAK
case 66:
YY_RULE_SETUP
{
/* character escaped by backslash */
BEGIN(DOUBLE_QUOTE);
}
YY_BREAK
case 67:
/* rule 67 can match eol */
YY_RULE_SETUP
{
/* newline character inside quote */
BEGIN(DOUBLE_QUOTE);
/* newline character inside forwardtick */
}
YY_BREAK
case 68:
YY_RULE_SETUP
{
/* any character (except newline) inside quote */
BEGIN(DOUBLE_QUOTE);
/* any character (except newline) inside forwardtick */
}
YY_BREAK
case 69:
YY_RULE_SETUP
{
yyextra->marker(yyextra->queryString() + yyextra->offset());
BEGIN(SINGLE_QUOTE);
BEGIN(DOUBLE_QUOTE);
}
YY_BREAK
case 70:
@ -1527,7 +1534,6 @@ case 71:
YY_RULE_SETUP
{
/* character escaped by backslash */
BEGIN(SINGLE_QUOTE);
}
YY_BREAK
case 72:
@ -1535,18 +1541,53 @@ case 72:
YY_RULE_SETUP
{
/* newline character inside quote */
BEGIN(SINGLE_QUOTE);
}
YY_BREAK
case 73:
YY_RULE_SETUP
{
/* any character (except newline) inside quote */
BEGIN(SINGLE_QUOTE);
}
YY_BREAK
case 74:
YY_RULE_SETUP
{
yyextra->marker(yyextra->queryString() + yyextra->offset());
BEGIN(SINGLE_QUOTE);
}
YY_BREAK
case 75:
YY_RULE_SETUP
{
/* end of quote-enclosed string */
BEGIN(INITIAL);
size_t outLength;
yylval->strval.value = yyextra->query()->registerEscapedString(yyextra->marker(), yyextra->offset() - (yyextra->marker() - yyextra->queryString()) - 1, outLength);
yylval->strval.length = outLength;
return T_QUOTED_STRING;
}
YY_BREAK
case 76:
YY_RULE_SETUP
{
/* character escaped by backslash */
}
YY_BREAK
case 77:
/* rule 77 can match eol */
YY_RULE_SETUP
{
/* newline character inside quote */
}
YY_BREAK
case 78:
YY_RULE_SETUP
{
/* any character (except newline) inside quote */
}
YY_BREAK
case 79:
YY_RULE_SETUP
{
/* a numeric integer value */
arangodb::aql::AstNode* node = nullptr;
@ -1572,7 +1613,7 @@ YY_RULE_SETUP
return T_INTEGER;
}
YY_BREAK
case 75:
case 80:
YY_RULE_SETUP
{
/* a numeric double value */
@ -1597,7 +1638,7 @@ YY_RULE_SETUP
/* ---------------------------------------------------------------------------
* bind parameters
* --------------------------------------------------------------------------- */
case 76:
case 81:
YY_RULE_SETUP
{
/* bind parameters must start with a @
@ -1610,83 +1651,84 @@ YY_RULE_SETUP
/* ---------------------------------------------------------------------------
* whitespace etc.
* --------------------------------------------------------------------------- */
case 77:
case 82:
YY_RULE_SETUP
{
/* whitespace is ignored */
}
YY_BREAK
case 78:
/* rule 78 can match eol */
case 83:
/* rule 83 can match eol */
YY_RULE_SETUP
{
yycolumn = 0;
}
YY_BREAK
case 79:
case 84:
YY_RULE_SETUP
{
BEGIN(COMMENT_SINGLE);
}
YY_BREAK
case 80:
/* rule 80 can match eol */
case 85:
/* rule 85 can match eol */
YY_RULE_SETUP
{
yylineno++;
/* line numbers are counted elsewhere already */
BEGIN(INITIAL);
}
YY_BREAK
case 81:
case 86:
YY_RULE_SETUP
{
// eat comment in chunks
}
YY_BREAK
case 82:
case 87:
YY_RULE_SETUP
{
BEGIN(COMMENT_MULTI);
}
YY_BREAK
case 83:
case 88:
YY_RULE_SETUP
{
BEGIN(INITIAL);
}
YY_BREAK
case 84:
case 89:
YY_RULE_SETUP
{
// eat comment in chunks
}
YY_BREAK
case 85:
case 90:
YY_RULE_SETUP
{
// eat the lone star
}
YY_BREAK
case 86:
/* rule 86 can match eol */
case 91:
/* rule 91 can match eol */
YY_RULE_SETUP
{
yylineno++;
/* line numbers are counted elsewhere already */
}
YY_BREAK
case 87:
case 92:
YY_RULE_SETUP
{
/* anything else is returned as it is */
return (int) yytext[0];
}
YY_BREAK
case 88:
case 93:
YY_RULE_SETUP
ECHO;
YY_BREAK
case YY_STATE_EOF(INITIAL):
case YY_STATE_EOF(BACKTICK):
case YY_STATE_EOF(FORWARDTICK):
case YY_STATE_EOF(SINGLE_QUOTE):
case YY_STATE_EOF(DOUBLE_QUOTE):
case YY_STATE_EOF(COMMENT_SINGLE):
@ -1985,7 +2027,7 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
{
yy_current_state = (int) yy_def[yy_current_state];
if ( yy_current_state >= 226 )
if ( yy_current_state >= 236 )
yy_c = yy_meta[(unsigned int) yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
@ -2014,11 +2056,11 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
{
yy_current_state = (int) yy_def[yy_current_state];
if ( yy_current_state >= 226 )
if ( yy_current_state >= 236 )
yy_c = yy_meta[(unsigned int) yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
yy_is_jam = (yy_current_state == 225);
yy_is_jam = (yy_current_state == 235);
(void)yyg;
return yy_is_jam ? 0 : yy_current_state;

View File

@ -6,6 +6,7 @@
%option yylineno
%option noyywrap nounput batch
%x BACKTICK
%x FORWARDTICK
%x SINGLE_QUOTE
%x DOUBLE_QUOTE
%x COMMENT_SINGLE
@ -329,19 +330,45 @@ namespace arangodb {
<BACKTICK>\\. {
/* character escaped by backslash */
BEGIN(BACKTICK);
}
<BACKTICK>\n {
/* newline character inside backtick */
BEGIN(BACKTICK);
}
<BACKTICK>. {
/* any character (except newline) inside backtick */
BEGIN(BACKTICK);
}
<INITIAL>´ {
/* string enclosed in forwardticks */
yyextra->marker(yyextra->queryString() + yyextra->offset());
BEGIN(FORWARDTICK);
}
<FORWARDTICK>´ {
/* end of forwardtick-enclosed string */
BEGIN(INITIAL);
size_t outLength;
yylval->strval.value = yyextra->query()->registerEscapedString(yyextra->marker(), yyextra->offset() - (yyextra->marker() - yyextra->queryString()) - 1, outLength);
yylval->strval.length = outLength;
return T_STRING;
}
<FORWARDTICK>\\. {
/* character escaped by backslash */
}
<FORWARDTICK>\n {
/* newline character inside forwardtick */
}
<FORWARDTICK>. {
/* any character (except newline) inside forwardtick */
}
<INITIAL>\" {
yyextra->marker(yyextra->queryString() + yyextra->offset());
BEGIN(DOUBLE_QUOTE);
@ -358,17 +385,14 @@ namespace arangodb {
<DOUBLE_QUOTE>\\. {
/* character escaped by backslash */
BEGIN(DOUBLE_QUOTE);
}
<DOUBLE_QUOTE>\n {
/* newline character inside quote */
BEGIN(DOUBLE_QUOTE);
}
<DOUBLE_QUOTE>. {
/* any character (except newline) inside quote */
BEGIN(DOUBLE_QUOTE);
}
<INITIAL>' {
@ -387,17 +411,14 @@ namespace arangodb {
<SINGLE_QUOTE>\\. {
/* character escaped by backslash */
BEGIN(SINGLE_QUOTE);
}
<SINGLE_QUOTE>\n {
/* newline character inside quote */
BEGIN(SINGLE_QUOTE);
/* newline character inside quote */
}
<SINGLE_QUOTE>. {
/* any character (except newline) inside quote */
BEGIN(SINGLE_QUOTE);
}
(0|[1-9][0-9]*) {
@ -474,7 +495,7 @@ namespace arangodb {
}
<COMMENT_SINGLE>\n {
yylineno++;
/* line numbers are counted elsewhere already */
BEGIN(INITIAL);
}
@ -499,7 +520,7 @@ namespace arangodb {
}
<COMMENT_MULTI>\n {
yylineno++;
/* line numbers are counted elsewhere already */
}
. {