diff --git a/include/pars0grm.h b/include/pars0grm.h index e35fcf47692..77ea10682b3 100644 --- a/include/pars0grm.h +++ b/include/pars0grm.h @@ -114,7 +114,8 @@ PARS_COMMIT_TOKEN = 340, PARS_ROLLBACK_TOKEN = 341, PARS_WORK_TOKEN = 342, - NEG = 343 + PARS_UNSIGNED_TOKEN = 343, + NEG = 344 }; #endif #define PARS_INT_LIT 258 @@ -202,7 +203,8 @@ #define PARS_COMMIT_TOKEN 340 #define PARS_ROLLBACK_TOKEN 341 #define PARS_WORK_TOKEN 342 -#define NEG 343 +#define PARS_UNSIGNED_TOKEN 343 +#define NEG 344 diff --git a/include/pars0pars.h b/include/pars0pars.h index 2ae2d6cff74..d3025f718d1 100644 --- a/include/pars0pars.h +++ b/include/pars0pars.h @@ -345,6 +345,8 @@ pars_column_def( pars_res_word_t* type, /* in: data type */ sym_node_t* len, /* in: length of column, or NULL */ + void* is_unsigned, /* in: if not NULL, column + is of type UNSIGNED. */ void* is_not_null); /* in: if not NULL, column is of type NOT NULL. */ /************************************************************************* diff --git a/pars/lexyy.c b/pars/lexyy.c index d64ecbbfcbc..c1bd964cbaf 100644 --- a/pars/lexyy.c +++ b/pars/lexyy.c @@ -1,8 +1,6 @@ #line 3 "lex.yy.c" -#include "univ.i" - #define YY_INT_ALIGNED short int /* A lexical scanner generated by flex */ @@ -15,6 +13,8 @@ #define FLEX_BETA #endif +#include "univ.i" + /* First, we deal with platform-specific or compiler-specific issues. */ /* begin standard C headers. */ @@ -356,8 +356,8 @@ static void yy_fatal_error (yyconst char msg[] ); *yy_cp = '\0'; \ (yy_c_buf_p) = yy_cp; -#define YY_NUM_RULES 109 -#define YY_END_OF_BUFFER 110 +#define YY_NUM_RULES 110 +#define YY_END_OF_BUFFER 111 /* This struct is not used in this scanner, but its presence is necessary. */ struct yy_trans_info @@ -365,48 +365,49 @@ struct yy_trans_info flex_int32_t yy_verify; flex_int32_t yy_nxt; }; -static yyconst flex_int16_t yy_accept[370] = +static yyconst flex_int16_t yy_accept[376] = { 0, - 0, 0, 104, 104, 0, 0, 110, 108, 107, 107, - 99, 3, 88, 94, 97, 95, 92, 96, 108, 98, - 1, 108, 93, 91, 89, 90, 102, 82, 82, 82, - 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, - 82, 82, 82, 82, 82, 100, 101, 104, 105, 4, - 5, 107, 83, 103, 2, 1, 84, 85, 87, 86, - 82, 82, 82, 82, 82, 82, 40, 82, 82, 82, - 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, - 82, 23, 12, 20, 82, 82, 82, 82, 50, 57, - 82, 9, 82, 82, 82, 82, 82, 82, 82, 82, + 0, 0, 105, 105, 0, 0, 111, 109, 108, 108, + 100, 3, 89, 95, 98, 96, 93, 97, 109, 99, + 1, 109, 94, 92, 90, 91, 103, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 101, 102, 105, 106, 4, + 5, 108, 84, 104, 2, 1, 85, 86, 88, 87, + 83, 83, 83, 83, 83, 83, 40, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 83, 23, 12, 20, 83, 83, 83, 83, 50, 57, + 83, 9, 83, 83, 83, 83, 83, 83, 83, 83, - 82, 82, 82, 82, 82, 82, 82, 82, 82, 104, - 105, 105, 106, 4, 5, 2, 8, 41, 82, 82, - 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, - 82, 82, 82, 82, 82, 82, 22, 82, 82, 36, - 82, 82, 82, 16, 82, 82, 10, 82, 82, 82, - 13, 82, 82, 82, 82, 82, 76, 82, 82, 82, - 47, 7, 82, 31, 82, 82, 82, 82, 82, 82, - 82, 82, 82, 82, 82, 82, 82, 15, 19, 82, - 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, - 42, 82, 82, 25, 82, 82, 82, 34, 82, 82, + 83, 83, 83, 83, 83, 83, 83, 83, 83, 105, + 106, 106, 107, 4, 5, 2, 8, 41, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 22, 83, 83, 36, + 83, 83, 83, 16, 83, 83, 10, 83, 83, 83, + 13, 83, 83, 83, 83, 83, 76, 83, 83, 83, + 47, 7, 83, 31, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, 15, 19, + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 83, 42, 83, 83, 25, 83, 83, 83, 34, 83, - 82, 82, 44, 82, 27, 82, 6, 60, 82, 82, - 82, 38, 82, 82, 82, 82, 82, 82, 82, 82, - 82, 24, 82, 82, 82, 82, 82, 82, 82, 82, - 81, 82, 21, 82, 62, 82, 82, 82, 82, 32, - 82, 82, 82, 82, 82, 82, 82, 26, 61, 18, - 53, 82, 71, 82, 82, 82, 39, 82, 82, 82, - 82, 82, 82, 82, 82, 82, 82, 52, 82, 82, - 82, 82, 82, 82, 35, 28, 75, 14, 82, 79, - 70, 82, 51, 82, 59, 82, 48, 82, 82, 43, - 82, 72, 82, 74, 82, 82, 29, 82, 82, 82, + 83, 83, 83, 44, 83, 27, 83, 6, 60, 83, + 83, 83, 38, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 24, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 81, 83, 21, 83, 62, 83, 83, 83, + 83, 32, 83, 83, 83, 83, 83, 83, 83, 26, + 61, 18, 53, 83, 71, 83, 83, 83, 39, 83, + 83, 83, 83, 83, 83, 83, 83, 83, 83, 52, + 83, 83, 83, 83, 83, 83, 83, 35, 28, 75, + 14, 83, 79, 70, 83, 51, 83, 59, 83, 48, + 83, 83, 43, 83, 72, 83, 74, 83, 83, 29, - 30, 68, 82, 82, 82, 82, 54, 46, 45, 82, - 82, 82, 49, 58, 82, 82, 17, 82, 82, 69, - 77, 82, 82, 73, 82, 64, 82, 82, 82, 82, - 33, 82, 63, 82, 80, 82, 82, 82, 82, 55, - 82, 82, 11, 82, 66, 65, 82, 37, 82, 78, - 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, - 67, 82, 82, 82, 82, 82, 82, 56, 0 + 83, 83, 83, 30, 68, 83, 83, 83, 83, 54, + 83, 46, 45, 83, 83, 83, 49, 58, 83, 83, + 17, 83, 83, 69, 77, 83, 83, 73, 83, 64, + 83, 83, 83, 83, 83, 33, 83, 63, 83, 80, + 83, 83, 83, 82, 83, 55, 83, 83, 11, 83, + 66, 65, 83, 37, 83, 78, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 67, 83, 83, 83, + 83, 83, 83, 56, 0 } ; static yyconst flex_int32_t yy_ec[256] = @@ -450,97 +451,99 @@ static yyconst flex_int32_t yy_meta[49] = 4, 4, 4, 4, 4, 4, 1, 1 } ; -static yyconst flex_int16_t yy_base[376] = +static yyconst flex_int16_t yy_base[382] = { 0, - 0, 0, 390, 389, 391, 390, 394, 399, 47, 49, - 399, 399, 399, 399, 399, 399, 399, 399, 381, 384, - 41, 373, 399, 38, 399, 372, 399, 20, 33, 32, - 46, 29, 44, 0, 46, 49, 42, 60, 351, 65, - 66, 67, 32, 367, 69, 399, 399, 0, 79, 0, - 382, 103, 399, 399, 372, 96, 399, 399, 399, 399, - 0, 361, 70, 357, 349, 347, 0, 360, 77, 80, - 355, 341, 92, 339, 352, 337, 351, 334, 338, 334, - 336, 0, 93, 0, 336, 334, 328, 335, 0, 0, - 341, 341, 324, 87, 98, 339, 93, 88, 330, 104, + 0, 0, 396, 395, 397, 396, 400, 405, 47, 49, + 405, 405, 405, 405, 405, 405, 405, 405, 387, 390, + 41, 379, 405, 38, 405, 378, 405, 20, 33, 32, + 46, 29, 44, 0, 46, 49, 42, 60, 357, 65, + 66, 67, 32, 373, 69, 405, 405, 0, 79, 0, + 388, 103, 405, 405, 378, 96, 405, 405, 405, 405, + 0, 367, 70, 363, 355, 353, 0, 366, 77, 80, + 361, 347, 92, 345, 358, 343, 357, 340, 344, 340, + 342, 0, 93, 0, 342, 340, 334, 341, 0, 0, + 347, 347, 330, 87, 98, 345, 93, 88, 336, 104, - 322, 338, 334, 312, 328, 332, 323, 98, 316, 0, - 122, 131, 399, 0, 348, 338, 0, 0, 326, 321, - 328, 326, 309, 307, 306, 311, 106, 309, 321, 102, - 309, 315, 316, 298, 298, 117, 0, 313, 314, 0, - 301, 308, 118, 122, 305, 295, 304, 297, 294, 302, - 0, 292, 302, 300, 291, 281, 275, 288, 273, 293, - 0, 0, 278, 0, 292, 283, 280, 126, 276, 291, - 270, 272, 277, 277, 269, 272, 267, 0, 0, 279, - 263, 273, 280, 271, 259, 258, 272, 261, 274, 254, - 0, 264, 246, 0, 265, 262, 249, 0, 244, 249, + 328, 344, 340, 318, 100, 339, 330, 98, 323, 0, + 122, 132, 405, 0, 355, 345, 0, 0, 333, 328, + 335, 333, 316, 314, 313, 318, 118, 316, 328, 104, + 316, 322, 323, 305, 305, 119, 0, 320, 321, 0, + 308, 315, 121, 124, 312, 302, 311, 304, 301, 309, + 0, 299, 309, 307, 298, 288, 282, 295, 280, 300, + 0, 0, 285, 0, 299, 290, 287, 128, 283, 290, + 297, 276, 278, 283, 283, 275, 278, 273, 0, 0, + 285, 269, 279, 286, 277, 265, 264, 278, 267, 280, + 260, 0, 270, 252, 0, 271, 268, 255, 0, 250, - 248, 258, 0, 244, 0, 248, 0, 0, 244, 241, - 255, 0, 240, 240, 238, 254, 239, 251, 233, 251, - 246, 0, 241, 241, 227, 226, 226, 240, 239, 238, - 0, 222, 0, 216, 0, 235, 219, 218, 218, 0, - 231, 221, 216, 215, 227, 217, 216, 0, 0, 0, - 0, 209, 0, 223, 219, 205, 0, 219, 220, 203, - 208, 201, 219, 201, 198, 199, 196, 0, 201, 213, - 200, 207, 206, 191, 0, 0, 0, 183, 190, 0, - 0, 187, 0, 186, 0, 200, 0, 201, 188, 0, - 184, 0, 187, 0, 179, 181, 0, 180, 194, 187, + 255, 254, 264, 0, 250, 0, 254, 0, 0, 250, + 247, 261, 0, 246, 246, 244, 260, 245, 257, 239, + 257, 252, 0, 247, 247, 233, 232, 245, 231, 245, + 244, 243, 0, 227, 0, 221, 0, 240, 224, 223, + 223, 0, 236, 226, 221, 220, 232, 222, 221, 0, + 0, 0, 0, 214, 0, 228, 224, 210, 0, 224, + 225, 208, 213, 206, 224, 206, 203, 204, 201, 0, + 206, 218, 205, 212, 202, 210, 195, 0, 0, 0, + 187, 194, 0, 0, 191, 0, 190, 0, 204, 0, + 205, 192, 0, 188, 0, 191, 0, 183, 185, 0, - 0, 0, 190, 193, 175, 190, 0, 0, 0, 171, - 185, 184, 0, 0, 168, 167, 0, 182, 167, 0, - 0, 173, 169, 0, 164, 0, 176, 165, 175, 164, - 0, 151, 0, 171, 0, 155, 149, 155, 146, 0, - 151, 164, 0, 163, 0, 0, 154, 0, 158, 0, - 145, 145, 151, 137, 160, 152, 153, 137, 121, 110, - 0, 122, 129, 120, 117, 113, 105, 0, 399, 160, - 164, 85, 168, 172, 176 + 184, 198, 191, 0, 0, 194, 197, 179, 194, 0, + 190, 0, 0, 174, 188, 187, 0, 0, 171, 170, + 0, 185, 170, 0, 0, 176, 172, 0, 167, 0, + 179, 179, 167, 177, 166, 0, 153, 0, 173, 0, + 157, 151, 157, 0, 148, 0, 153, 166, 0, 165, + 0, 0, 156, 0, 160, 0, 147, 147, 153, 139, + 162, 154, 155, 139, 122, 112, 0, 123, 130, 121, + 118, 114, 102, 0, 405, 162, 166, 85, 170, 174, + 178 } ; -static yyconst flex_int16_t yy_def[376] = +static yyconst flex_int16_t yy_def[382] = { 0, - 369, 1, 370, 370, 371, 371, 369, 369, 369, 369, - 369, 369, 369, 369, 369, 369, 369, 369, 369, 369, - 369, 369, 369, 369, 369, 369, 369, 372, 372, 372, - 372, 372, 372, 372, 372, 372, 372, 372, 372, 372, - 372, 372, 372, 372, 372, 369, 369, 373, 374, 375, - 369, 369, 369, 369, 369, 369, 369, 369, 369, 369, - 372, 372, 372, 372, 372, 372, 372, 372, 372, 372, - 372, 372, 372, 372, 372, 372, 372, 372, 372, 372, - 372, 372, 372, 372, 372, 372, 372, 372, 372, 372, - 372, 372, 372, 372, 372, 372, 372, 372, 372, 372, + 375, 1, 376, 376, 377, 377, 375, 375, 375, 375, + 375, 375, 375, 375, 375, 375, 375, 375, 375, 375, + 375, 375, 375, 375, 375, 375, 375, 378, 378, 378, + 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, + 378, 378, 378, 378, 378, 375, 375, 379, 380, 381, + 375, 375, 375, 375, 375, 375, 375, 375, 375, 375, + 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, + 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, + 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, + 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, - 372, 372, 372, 372, 372, 372, 372, 372, 372, 373, - 374, 374, 369, 375, 369, 369, 372, 372, 372, 372, - 372, 372, 372, 372, 372, 372, 372, 372, 372, 372, - 372, 372, 372, 372, 372, 372, 372, 372, 372, 372, - 372, 372, 372, 372, 372, 372, 372, 372, 372, 372, - 372, 372, 372, 372, 372, 372, 372, 372, 372, 372, - 372, 372, 372, 372, 372, 372, 372, 372, 372, 372, - 372, 372, 372, 372, 372, 372, 372, 372, 372, 372, - 372, 372, 372, 372, 372, 372, 372, 372, 372, 372, - 372, 372, 372, 372, 372, 372, 372, 372, 372, 372, + 378, 378, 378, 378, 378, 378, 378, 378, 378, 379, + 380, 380, 375, 381, 375, 375, 378, 378, 378, 378, + 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, + 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, + 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, + 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, + 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, + 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, + 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, + 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, - 372, 372, 372, 372, 372, 372, 372, 372, 372, 372, - 372, 372, 372, 372, 372, 372, 372, 372, 372, 372, - 372, 372, 372, 372, 372, 372, 372, 372, 372, 372, - 372, 372, 372, 372, 372, 372, 372, 372, 372, 372, - 372, 372, 372, 372, 372, 372, 372, 372, 372, 372, - 372, 372, 372, 372, 372, 372, 372, 372, 372, 372, - 372, 372, 372, 372, 372, 372, 372, 372, 372, 372, - 372, 372, 372, 372, 372, 372, 372, 372, 372, 372, - 372, 372, 372, 372, 372, 372, 372, 372, 372, 372, - 372, 372, 372, 372, 372, 372, 372, 372, 372, 372, + 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, + 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, + 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, + 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, + 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, + 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, + 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, + 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, + 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, + 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, - 372, 372, 372, 372, 372, 372, 372, 372, 372, 372, - 372, 372, 372, 372, 372, 372, 372, 372, 372, 372, - 372, 372, 372, 372, 372, 372, 372, 372, 372, 372, - 372, 372, 372, 372, 372, 372, 372, 372, 372, 372, - 372, 372, 372, 372, 372, 372, 372, 372, 372, 372, - 372, 372, 372, 372, 372, 372, 372, 372, 372, 372, - 372, 372, 372, 372, 372, 372, 372, 372, 0, 369, - 369, 369, 369, 369, 369 + 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, + 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, + 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, + 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, + 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, + 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, + 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, + 378, 378, 378, 378, 0, 375, 375, 375, 375, 375, + 375 } ; -static yyconst flex_int16_t yy_nxt[448] = +static yyconst flex_int16_t yy_nxt[454] = { 0, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, @@ -555,45 +558,46 @@ static yyconst flex_int16_t yy_nxt[448] = 93, 104, 99, 109, 52, 52, 100, 55, 119, 56, 101, 124, 126, 127, 131, 152, 142, 125, 154, 160, - 128, 153, 172, 132, 158, 163, 173, 161, 183, 369, - 133, 143, 144, 155, 369, 159, 164, 156, 112, 187, - 188, 194, 200, 113, 184, 195, 202, 223, 224, 368, - 367, 366, 365, 364, 363, 362, 203, 201, 361, 225, - 48, 48, 48, 48, 50, 50, 50, 50, 110, 110, - 360, 110, 111, 111, 111, 111, 114, 359, 114, 114, - 358, 357, 356, 355, 354, 353, 352, 351, 350, 349, - 348, 347, 346, 345, 344, 343, 342, 341, 340, 339, + 128, 153, 173, 132, 158, 163, 174, 161, 169, 375, + 133, 143, 144, 155, 375, 159, 164, 156, 170, 112, + 184, 188, 189, 195, 113, 201, 374, 196, 203, 224, + 225, 373, 372, 371, 370, 369, 185, 368, 204, 367, + 202, 226, 48, 48, 48, 48, 50, 50, 50, 50, + 110, 110, 366, 110, 111, 111, 111, 111, 114, 365, + 114, 114, 364, 363, 362, 361, 360, 359, 358, 357, + 356, 355, 354, 353, 352, 351, 350, 349, 348, 347, - 338, 337, 336, 335, 334, 333, 332, 331, 330, 329, - 328, 327, 326, 325, 324, 323, 322, 321, 320, 319, - 318, 317, 316, 315, 314, 313, 312, 311, 310, 309, - 308, 307, 306, 305, 304, 303, 302, 301, 300, 299, - 298, 297, 296, 295, 294, 293, 292, 291, 290, 289, - 288, 287, 286, 285, 284, 283, 282, 281, 280, 279, - 278, 277, 276, 275, 274, 273, 272, 271, 270, 269, - 268, 267, 266, 265, 264, 263, 262, 261, 260, 259, - 258, 257, 256, 255, 254, 253, 252, 251, 250, 249, - 248, 247, 246, 245, 244, 243, 242, 241, 240, 239, + 346, 345, 344, 343, 342, 341, 340, 339, 338, 337, + 336, 335, 334, 333, 332, 331, 330, 329, 328, 327, + 326, 325, 324, 323, 322, 321, 320, 319, 318, 317, + 316, 315, 314, 313, 312, 311, 310, 309, 308, 307, + 306, 305, 304, 303, 302, 301, 300, 299, 298, 297, + 296, 295, 294, 293, 292, 291, 290, 289, 288, 287, + 286, 285, 284, 283, 282, 281, 280, 279, 278, 277, + 276, 275, 274, 273, 272, 271, 270, 269, 268, 267, + 266, 265, 264, 263, 262, 261, 260, 259, 258, 257, + 256, 255, 254, 253, 252, 251, 250, 249, 248, 247, - 238, 237, 236, 235, 234, 233, 232, 231, 230, 229, - 228, 227, 226, 222, 221, 220, 219, 218, 217, 216, - 215, 214, 213, 212, 211, 210, 209, 208, 207, 206, - 205, 204, 199, 198, 197, 196, 193, 192, 191, 190, - 189, 186, 185, 182, 181, 180, 179, 178, 177, 176, - 175, 116, 115, 174, 171, 170, 169, 168, 167, 166, - 165, 162, 157, 151, 150, 149, 148, 147, 146, 145, - 141, 140, 139, 138, 137, 136, 135, 134, 130, 129, - 123, 122, 121, 120, 117, 116, 115, 107, 94, 60, - 57, 54, 53, 369, 51, 51, 49, 49, 7, 369, + 246, 245, 244, 243, 242, 241, 240, 239, 238, 237, + 236, 235, 234, 233, 232, 231, 230, 229, 228, 227, + 223, 222, 221, 220, 219, 218, 217, 216, 215, 214, + 213, 212, 211, 210, 209, 208, 207, 206, 205, 200, + 199, 198, 197, 194, 193, 192, 191, 190, 187, 186, + 183, 182, 181, 180, 179, 178, 177, 176, 116, 115, + 175, 172, 171, 168, 167, 166, 165, 162, 157, 151, + 150, 149, 148, 147, 146, 145, 141, 140, 139, 138, + 137, 136, 135, 134, 130, 129, 123, 122, 121, 120, + 117, 116, 115, 107, 94, 60, 57, 54, 53, 375, - 369, 369, 369, 369, 369, 369, 369, 369, 369, 369, - 369, 369, 369, 369, 369, 369, 369, 369, 369, 369, - 369, 369, 369, 369, 369, 369, 369, 369, 369, 369, - 369, 369, 369, 369, 369, 369, 369, 369, 369, 369, - 369, 369, 369, 369, 369, 369, 369 + 51, 51, 49, 49, 7, 375, 375, 375, 375, 375, + 375, 375, 375, 375, 375, 375, 375, 375, 375, 375, + 375, 375, 375, 375, 375, 375, 375, 375, 375, 375, + 375, 375, 375, 375, 375, 375, 375, 375, 375, 375, + 375, 375, 375, 375, 375, 375, 375, 375, 375, 375, + 375, 375, 375 } ; -static yyconst flex_int16_t yy_chk[448] = +static yyconst flex_int16_t yy_chk[454] = { 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -603,47 +607,48 @@ static yyconst flex_int16_t yy_chk[448] = 10, 10, 21, 28, 21, 24, 24, 29, 28, 30, 32, 29, 32, 30, 29, 43, 30, 43, 33, 30, 31, 35, 30, 36, 31, 33, 37, 29, 33, 35, - 31, 33, 37, 36, 35, 38, 49, 42, 372, 40, + 31, 33, 37, 36, 35, 38, 49, 42, 378, 40, 41, 49, 63, 38, 42, 38, 45, 38, 40, 40, 38, 42, 41, 45, 52, 52, 41, 56, 63, 56, 41, 69, 70, 70, 73, 94, 83, 69, 95, 98, - 70, 94, 108, 73, 97, 100, 108, 98, 127, 111, - 73, 83, 83, 95, 111, 97, 100, 95, 112, 130, - 130, 136, 143, 112, 127, 136, 144, 168, 168, 367, - 366, 365, 364, 363, 362, 360, 144, 143, 359, 168, - 370, 370, 370, 370, 371, 371, 371, 371, 373, 373, - 358, 373, 374, 374, 374, 374, 375, 357, 375, 375, - 356, 355, 354, 353, 352, 351, 349, 347, 344, 342, - 341, 339, 338, 337, 336, 334, 332, 330, 329, 328, + 70, 94, 108, 73, 97, 100, 108, 98, 105, 111, + 73, 83, 83, 95, 111, 97, 100, 95, 105, 112, + 127, 130, 130, 136, 112, 143, 373, 136, 144, 168, + 168, 372, 371, 370, 369, 368, 127, 366, 144, 365, + 143, 168, 376, 376, 376, 376, 377, 377, 377, 377, + 379, 379, 364, 379, 380, 380, 380, 380, 381, 363, + 381, 381, 362, 361, 360, 359, 358, 357, 355, 353, + 350, 348, 347, 345, 343, 342, 341, 339, 337, 335, - 327, 325, 323, 322, 319, 318, 316, 315, 312, 311, - 310, 306, 305, 304, 303, 300, 299, 298, 296, 295, - 293, 291, 289, 288, 286, 284, 282, 279, 278, 274, - 273, 272, 271, 270, 269, 267, 266, 265, 264, 263, - 262, 261, 260, 259, 258, 256, 255, 254, 252, 247, - 246, 245, 244, 243, 242, 241, 239, 238, 237, 236, - 234, 232, 230, 229, 228, 227, 226, 225, 224, 223, - 221, 220, 219, 218, 217, 216, 215, 214, 213, 211, - 210, 209, 206, 204, 202, 201, 200, 199, 197, 196, - 195, 193, 192, 190, 189, 188, 187, 186, 185, 184, + 334, 333, 332, 331, 329, 327, 326, 323, 322, 320, + 319, 316, 315, 314, 311, 309, 308, 307, 306, 303, + 302, 301, 299, 298, 296, 294, 292, 291, 289, 287, + 285, 282, 281, 277, 276, 275, 274, 273, 272, 271, + 269, 268, 267, 266, 265, 264, 263, 262, 261, 260, + 258, 257, 256, 254, 249, 248, 247, 246, 245, 244, + 243, 241, 240, 239, 238, 236, 234, 232, 231, 230, + 229, 228, 227, 226, 225, 224, 222, 221, 220, 219, + 218, 217, 216, 215, 214, 212, 211, 210, 207, 205, + 203, 202, 201, 200, 198, 197, 196, 194, 193, 191, - 183, 182, 181, 180, 177, 176, 175, 174, 173, 172, - 171, 170, 169, 167, 166, 165, 163, 160, 159, 158, - 157, 156, 155, 154, 153, 152, 150, 149, 148, 147, - 146, 145, 142, 141, 139, 138, 135, 134, 133, 132, - 131, 129, 128, 126, 125, 124, 123, 122, 121, 120, - 119, 116, 115, 109, 107, 106, 105, 104, 103, 102, - 101, 99, 96, 93, 92, 91, 88, 87, 86, 85, - 81, 80, 79, 78, 77, 76, 75, 74, 72, 71, - 68, 66, 65, 64, 62, 55, 51, 44, 39, 26, - 22, 20, 19, 7, 6, 5, 4, 3, 369, 369, + 190, 189, 188, 187, 186, 185, 184, 183, 182, 181, + 178, 177, 176, 175, 174, 173, 172, 171, 170, 169, + 167, 166, 165, 163, 160, 159, 158, 157, 156, 155, + 154, 153, 152, 150, 149, 148, 147, 146, 145, 142, + 141, 139, 138, 135, 134, 133, 132, 131, 129, 128, + 126, 125, 124, 123, 122, 121, 120, 119, 116, 115, + 109, 107, 106, 104, 103, 102, 101, 99, 96, 93, + 92, 91, 88, 87, 86, 85, 81, 80, 79, 78, + 77, 76, 75, 74, 72, 71, 68, 66, 65, 64, + 62, 55, 51, 44, 39, 26, 22, 20, 19, 7, - 369, 369, 369, 369, 369, 369, 369, 369, 369, 369, - 369, 369, 369, 369, 369, 369, 369, 369, 369, 369, - 369, 369, 369, 369, 369, 369, 369, 369, 369, 369, - 369, 369, 369, 369, 369, 369, 369, 369, 369, 369, - 369, 369, 369, 369, 369, 369, 369 + 6, 5, 4, 3, 375, 375, 375, 375, 375, 375, + 375, 375, 375, 375, 375, 375, 375, 375, 375, 375, + 375, 375, 375, 375, 375, 375, 375, 375, 375, 375, + 375, 375, 375, 375, 375, 375, 375, 375, 375, 375, + 375, 375, 375, 375, 375, 375, 375, 375, 375, 375, + 375, 375, 375 } ; static yy_state_type yy_last_accepting_state; @@ -689,12 +694,10 @@ How to make the InnoDB parser and lexer C files: 5. Rename lex.yy.c to lexyy.c. -6. Remove the #include of unistd.h from about line 2500 of lexyy.c - -7. Add '#include "univ.i"' before #include in lexyy.c +6. Add '#include "univ.i"' before #include in lexyy.c (Needed for AIX) -8. Add a type cast to int to the assignment below the comment +7. Add a type cast to int to the assignment below the comment 'need more input.' (Removes a warning on Win64) These instructions seem to work at least with bison-1.28 and flex-2.5.4 on @@ -702,7 +705,7 @@ Linux. *******************************************************/ #define YY_NO_INPUT 1 #define YY_NO_UNISTD_H 1 -#line 56 "pars0lex.l" +#line 54 "pars0lex.l" #define YYSTYPE que_node_t* #include "univ.i" @@ -749,7 +752,7 @@ string_append( -#line 751 "lex.yy.c" +#line 754 "lex.yy.c" #define INITIAL 0 #define comment 1 @@ -900,10 +903,10 @@ YY_DECL register char *yy_cp, *yy_bp; register int yy_act; -#line 106 "pars0lex.l" +#line 104 "pars0lex.l" -#line 905 "lex.yy.c" +#line 908 "lex.yy.c" if ( (yy_init) ) { @@ -956,13 +959,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 >= 370 ) + if ( yy_current_state >= 376 ) 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 != 369 ); + while ( yy_current_state != 375 ); yy_cp = (yy_last_accepting_cpos); yy_current_state = (yy_last_accepting_state); @@ -984,7 +987,7 @@ do_action: /* This label is used only to access EOF actions. */ case 1: YY_RULE_SETUP -#line 108 "pars0lex.l" +#line 106 "pars0lex.l" { yylval = sym_tab_add_int_lit(pars_sym_tab_global, atoi(yytext)); @@ -993,7 +996,7 @@ YY_RULE_SETUP YY_BREAK case 2: YY_RULE_SETUP -#line 114 "pars0lex.l" +#line 112 "pars0lex.l" { ut_error; /* not implemented */ @@ -1002,7 +1005,7 @@ YY_RULE_SETUP YY_BREAK case 3: YY_RULE_SETUP -#line 120 "pars0lex.l" +#line 118 "pars0lex.l" { /* Quoted character string literals are handled in an explicit start state 'quoted'. This state is entered and the buffer for @@ -1016,7 +1019,7 @@ In the state 'quoted', only two actions are possible (defined below). */ case 4: /* rule 4 can match eol */ YY_RULE_SETUP -#line 129 "pars0lex.l" +#line 127 "pars0lex.l" { /* Got a sequence of characters other than "'": append to string buffer */ @@ -1025,7 +1028,7 @@ YY_RULE_SETUP YY_BREAK case 5: YY_RULE_SETUP -#line 134 "pars0lex.l" +#line 132 "pars0lex.l" { /* Got a sequence of "'" characters: append half of them to string buffer, @@ -1052,7 +1055,7 @@ YY_RULE_SETUP YY_BREAK case 6: YY_RULE_SETUP -#line 158 "pars0lex.l" +#line 156 "pars0lex.l" { yylval = sym_tab_add_null_lit(pars_sym_tab_global); @@ -1061,7 +1064,7 @@ YY_RULE_SETUP YY_BREAK case 7: YY_RULE_SETUP -#line 164 "pars0lex.l" +#line 162 "pars0lex.l" { /* Implicit cursor name */ yylval = sym_tab_add_str_lit(pars_sym_tab_global, @@ -1071,525 +1074,532 @@ YY_RULE_SETUP YY_BREAK case 8: YY_RULE_SETUP -#line 171 "pars0lex.l" +#line 169 "pars0lex.l" { return(PARS_AND_TOKEN); } YY_BREAK case 9: YY_RULE_SETUP -#line 175 "pars0lex.l" +#line 173 "pars0lex.l" { return(PARS_OR_TOKEN); } YY_BREAK case 10: YY_RULE_SETUP -#line 179 "pars0lex.l" +#line 177 "pars0lex.l" { return(PARS_NOT_TOKEN); } YY_BREAK case 11: YY_RULE_SETUP -#line 183 "pars0lex.l" +#line 181 "pars0lex.l" { return(PARS_PROCEDURE_TOKEN); } YY_BREAK case 12: YY_RULE_SETUP -#line 187 "pars0lex.l" +#line 185 "pars0lex.l" { return(PARS_IN_TOKEN); } YY_BREAK case 13: YY_RULE_SETUP -#line 191 "pars0lex.l" +#line 189 "pars0lex.l" { return(PARS_OUT_TOKEN); } YY_BREAK case 14: YY_RULE_SETUP -#line 195 "pars0lex.l" +#line 193 "pars0lex.l" { return(PARS_BINARY_TOKEN); } YY_BREAK case 15: YY_RULE_SETUP -#line 199 "pars0lex.l" +#line 197 "pars0lex.l" { return(PARS_BLOB_TOKEN); } YY_BREAK case 16: YY_RULE_SETUP -#line 203 "pars0lex.l" +#line 201 "pars0lex.l" { return(PARS_INT_TOKEN); } YY_BREAK case 17: YY_RULE_SETUP -#line 207 "pars0lex.l" +#line 205 "pars0lex.l" { return(PARS_INT_TOKEN); } YY_BREAK case 18: YY_RULE_SETUP -#line 211 "pars0lex.l" +#line 209 "pars0lex.l" { return(PARS_FLOAT_TOKEN); } YY_BREAK case 19: YY_RULE_SETUP -#line 215 "pars0lex.l" +#line 213 "pars0lex.l" { return(PARS_CHAR_TOKEN); } YY_BREAK case 20: YY_RULE_SETUP -#line 219 "pars0lex.l" +#line 217 "pars0lex.l" { return(PARS_IS_TOKEN); } YY_BREAK case 21: YY_RULE_SETUP -#line 223 "pars0lex.l" +#line 221 "pars0lex.l" { return(PARS_BEGIN_TOKEN); } YY_BREAK case 22: YY_RULE_SETUP -#line 227 "pars0lex.l" +#line 225 "pars0lex.l" { return(PARS_END_TOKEN); } YY_BREAK case 23: YY_RULE_SETUP -#line 231 "pars0lex.l" +#line 229 "pars0lex.l" { return(PARS_IF_TOKEN); } YY_BREAK case 24: YY_RULE_SETUP -#line 235 "pars0lex.l" +#line 233 "pars0lex.l" { return(PARS_THEN_TOKEN); } YY_BREAK case 25: YY_RULE_SETUP -#line 239 "pars0lex.l" +#line 237 "pars0lex.l" { return(PARS_ELSE_TOKEN); } YY_BREAK case 26: YY_RULE_SETUP -#line 243 "pars0lex.l" +#line 241 "pars0lex.l" { return(PARS_ELSIF_TOKEN); } YY_BREAK case 27: YY_RULE_SETUP -#line 247 "pars0lex.l" +#line 245 "pars0lex.l" { return(PARS_LOOP_TOKEN); } YY_BREAK case 28: YY_RULE_SETUP -#line 251 "pars0lex.l" +#line 249 "pars0lex.l" { return(PARS_WHILE_TOKEN); } YY_BREAK case 29: YY_RULE_SETUP -#line 255 "pars0lex.l" +#line 253 "pars0lex.l" { return(PARS_RETURN_TOKEN); } YY_BREAK case 30: YY_RULE_SETUP -#line 259 "pars0lex.l" +#line 257 "pars0lex.l" { return(PARS_SELECT_TOKEN); } YY_BREAK case 31: YY_RULE_SETUP -#line 263 "pars0lex.l" +#line 261 "pars0lex.l" { return(PARS_SUM_TOKEN); } YY_BREAK case 32: YY_RULE_SETUP -#line 267 "pars0lex.l" +#line 265 "pars0lex.l" { return(PARS_COUNT_TOKEN); } YY_BREAK case 33: YY_RULE_SETUP -#line 271 "pars0lex.l" +#line 269 "pars0lex.l" { return(PARS_DISTINCT_TOKEN); } YY_BREAK case 34: YY_RULE_SETUP -#line 275 "pars0lex.l" +#line 273 "pars0lex.l" { return(PARS_FROM_TOKEN); } YY_BREAK case 35: YY_RULE_SETUP -#line 279 "pars0lex.l" +#line 277 "pars0lex.l" { return(PARS_WHERE_TOKEN); } YY_BREAK case 36: YY_RULE_SETUP -#line 283 "pars0lex.l" +#line 281 "pars0lex.l" { return(PARS_FOR_TOKEN); } YY_BREAK case 37: YY_RULE_SETUP -#line 287 "pars0lex.l" +#line 285 "pars0lex.l" { return(PARS_CONSISTENT_TOKEN); } YY_BREAK case 38: YY_RULE_SETUP -#line 291 "pars0lex.l" +#line 289 "pars0lex.l" { return(PARS_READ_TOKEN); } YY_BREAK case 39: YY_RULE_SETUP -#line 295 "pars0lex.l" +#line 293 "pars0lex.l" { return(PARS_ORDER_TOKEN); } YY_BREAK case 40: YY_RULE_SETUP -#line 299 "pars0lex.l" +#line 297 "pars0lex.l" { return(PARS_BY_TOKEN); } YY_BREAK case 41: YY_RULE_SETUP -#line 303 "pars0lex.l" +#line 301 "pars0lex.l" { return(PARS_ASC_TOKEN); } YY_BREAK case 42: YY_RULE_SETUP -#line 307 "pars0lex.l" +#line 305 "pars0lex.l" { return(PARS_DESC_TOKEN); } YY_BREAK case 43: YY_RULE_SETUP -#line 311 "pars0lex.l" +#line 309 "pars0lex.l" { return(PARS_INSERT_TOKEN); } YY_BREAK case 44: YY_RULE_SETUP -#line 315 "pars0lex.l" +#line 313 "pars0lex.l" { return(PARS_INTO_TOKEN); } YY_BREAK case 45: YY_RULE_SETUP -#line 319 "pars0lex.l" +#line 317 "pars0lex.l" { return(PARS_VALUES_TOKEN); } YY_BREAK case 46: YY_RULE_SETUP -#line 323 "pars0lex.l" +#line 321 "pars0lex.l" { return(PARS_UPDATE_TOKEN); } YY_BREAK case 47: YY_RULE_SETUP -#line 327 "pars0lex.l" +#line 325 "pars0lex.l" { return(PARS_SET_TOKEN); } YY_BREAK case 48: YY_RULE_SETUP -#line 331 "pars0lex.l" +#line 329 "pars0lex.l" { return(PARS_DELETE_TOKEN); } YY_BREAK case 49: YY_RULE_SETUP -#line 335 "pars0lex.l" +#line 333 "pars0lex.l" { return(PARS_CURRENT_TOKEN); } YY_BREAK case 50: YY_RULE_SETUP -#line 339 "pars0lex.l" +#line 337 "pars0lex.l" { return(PARS_OF_TOKEN); } YY_BREAK case 51: YY_RULE_SETUP -#line 343 "pars0lex.l" +#line 341 "pars0lex.l" { return(PARS_CREATE_TOKEN); } YY_BREAK case 52: YY_RULE_SETUP -#line 347 "pars0lex.l" +#line 345 "pars0lex.l" { return(PARS_TABLE_TOKEN); } YY_BREAK case 53: YY_RULE_SETUP -#line 351 "pars0lex.l" +#line 349 "pars0lex.l" { return(PARS_INDEX_TOKEN); } YY_BREAK case 54: YY_RULE_SETUP -#line 355 "pars0lex.l" +#line 353 "pars0lex.l" { return(PARS_UNIQUE_TOKEN); } YY_BREAK case 55: YY_RULE_SETUP -#line 359 "pars0lex.l" +#line 357 "pars0lex.l" { return(PARS_CLUSTERED_TOKEN); } YY_BREAK case 56: YY_RULE_SETUP -#line 363 "pars0lex.l" +#line 361 "pars0lex.l" { return(PARS_DOES_NOT_FIT_IN_MEM_TOKEN); } YY_BREAK case 57: YY_RULE_SETUP -#line 367 "pars0lex.l" +#line 365 "pars0lex.l" { return(PARS_ON_TOKEN); } YY_BREAK case 58: YY_RULE_SETUP -#line 371 "pars0lex.l" +#line 369 "pars0lex.l" { return(PARS_DECLARE_TOKEN); } YY_BREAK case 59: YY_RULE_SETUP -#line 375 "pars0lex.l" +#line 373 "pars0lex.l" { return(PARS_CURSOR_TOKEN); } YY_BREAK case 60: YY_RULE_SETUP -#line 379 "pars0lex.l" +#line 377 "pars0lex.l" { return(PARS_OPEN_TOKEN); } YY_BREAK case 61: YY_RULE_SETUP -#line 383 "pars0lex.l" +#line 381 "pars0lex.l" { return(PARS_FETCH_TOKEN); } YY_BREAK case 62: YY_RULE_SETUP -#line 387 "pars0lex.l" +#line 385 "pars0lex.l" { return(PARS_CLOSE_TOKEN); } YY_BREAK case 63: YY_RULE_SETUP -#line 391 "pars0lex.l" +#line 389 "pars0lex.l" { return(PARS_NOTFOUND_TOKEN); } YY_BREAK case 64: YY_RULE_SETUP -#line 395 "pars0lex.l" +#line 393 "pars0lex.l" { return(PARS_TO_CHAR_TOKEN); } YY_BREAK case 65: YY_RULE_SETUP -#line 399 "pars0lex.l" +#line 397 "pars0lex.l" { return(PARS_TO_NUMBER_TOKEN); } YY_BREAK case 66: YY_RULE_SETUP -#line 403 "pars0lex.l" +#line 401 "pars0lex.l" { return(PARS_TO_BINARY_TOKEN); } YY_BREAK case 67: YY_RULE_SETUP -#line 407 "pars0lex.l" +#line 405 "pars0lex.l" { return(PARS_BINARY_TO_NUMBER_TOKEN); } YY_BREAK case 68: YY_RULE_SETUP -#line 411 "pars0lex.l" +#line 409 "pars0lex.l" { return(PARS_SUBSTR_TOKEN); } YY_BREAK case 69: YY_RULE_SETUP -#line 415 "pars0lex.l" +#line 413 "pars0lex.l" { return(PARS_REPLSTR_TOKEN); } YY_BREAK case 70: YY_RULE_SETUP -#line 419 "pars0lex.l" +#line 417 "pars0lex.l" { return(PARS_CONCAT_TOKEN); } YY_BREAK case 71: YY_RULE_SETUP -#line 423 "pars0lex.l" +#line 421 "pars0lex.l" { return(PARS_INSTR_TOKEN); } YY_BREAK case 72: YY_RULE_SETUP -#line 427 "pars0lex.l" +#line 425 "pars0lex.l" { return(PARS_LENGTH_TOKEN); } YY_BREAK case 73: YY_RULE_SETUP -#line 431 "pars0lex.l" +#line 429 "pars0lex.l" { return(PARS_SYSDATE_TOKEN); } YY_BREAK case 74: YY_RULE_SETUP -#line 435 "pars0lex.l" +#line 433 "pars0lex.l" { return(PARS_PRINTF_TOKEN); } YY_BREAK case 75: YY_RULE_SETUP -#line 439 "pars0lex.l" +#line 437 "pars0lex.l" { return(PARS_ASSERT_TOKEN); } YY_BREAK case 76: YY_RULE_SETUP -#line 443 "pars0lex.l" +#line 441 "pars0lex.l" { return(PARS_RND_TOKEN); } YY_BREAK case 77: YY_RULE_SETUP -#line 447 "pars0lex.l" +#line 445 "pars0lex.l" { return(PARS_RND_STR_TOKEN); } YY_BREAK case 78: YY_RULE_SETUP -#line 451 "pars0lex.l" +#line 449 "pars0lex.l" { return(PARS_ROW_PRINTF_TOKEN); } YY_BREAK case 79: YY_RULE_SETUP -#line 455 "pars0lex.l" +#line 453 "pars0lex.l" { return(PARS_COMMIT_TOKEN); } YY_BREAK case 80: YY_RULE_SETUP -#line 459 "pars0lex.l" +#line 457 "pars0lex.l" { return(PARS_ROLLBACK_TOKEN); } YY_BREAK case 81: YY_RULE_SETUP -#line 463 "pars0lex.l" +#line 461 "pars0lex.l" { return(PARS_WORK_TOKEN); } YY_BREAK case 82: YY_RULE_SETUP -#line 467 "pars0lex.l" +#line 465 "pars0lex.l" +{ + return(PARS_UNSIGNED_TOKEN); +} + YY_BREAK +case 83: +YY_RULE_SETUP +#line 469 "pars0lex.l" { yylval = sym_tab_add_id(pars_sym_tab_global, (byte*)yytext, @@ -1597,52 +1607,44 @@ YY_RULE_SETUP return(PARS_ID_TOKEN); } YY_BREAK -case 83: +case 84: YY_RULE_SETUP -#line 474 "pars0lex.l" +#line 476 "pars0lex.l" { return(PARS_DDOT_TOKEN); } YY_BREAK -case 84: +case 85: YY_RULE_SETUP -#line 478 "pars0lex.l" +#line 480 "pars0lex.l" { return(PARS_ASSIGN_TOKEN); } YY_BREAK -case 85: +case 86: YY_RULE_SETUP -#line 482 "pars0lex.l" +#line 484 "pars0lex.l" { return(PARS_LE_TOKEN); } YY_BREAK -case 86: +case 87: YY_RULE_SETUP -#line 486 "pars0lex.l" +#line 488 "pars0lex.l" { return(PARS_GE_TOKEN); } YY_BREAK -case 87: +case 88: YY_RULE_SETUP -#line 490 "pars0lex.l" +#line 492 "pars0lex.l" { return(PARS_NE_TOKEN); } YY_BREAK -case 88: -YY_RULE_SETUP -#line 494 "pars0lex.l" -{ - - return((int)(*yytext)); -} - YY_BREAK case 89: YY_RULE_SETUP -#line 499 "pars0lex.l" +#line 496 "pars0lex.l" { return((int)(*yytext)); @@ -1650,7 +1652,7 @@ YY_RULE_SETUP YY_BREAK case 90: YY_RULE_SETUP -#line 504 "pars0lex.l" +#line 501 "pars0lex.l" { return((int)(*yytext)); @@ -1658,7 +1660,7 @@ YY_RULE_SETUP YY_BREAK case 91: YY_RULE_SETUP -#line 509 "pars0lex.l" +#line 506 "pars0lex.l" { return((int)(*yytext)); @@ -1666,7 +1668,7 @@ YY_RULE_SETUP YY_BREAK case 92: YY_RULE_SETUP -#line 514 "pars0lex.l" +#line 511 "pars0lex.l" { return((int)(*yytext)); @@ -1674,7 +1676,7 @@ YY_RULE_SETUP YY_BREAK case 93: YY_RULE_SETUP -#line 519 "pars0lex.l" +#line 516 "pars0lex.l" { return((int)(*yytext)); @@ -1682,7 +1684,7 @@ YY_RULE_SETUP YY_BREAK case 94: YY_RULE_SETUP -#line 524 "pars0lex.l" +#line 521 "pars0lex.l" { return((int)(*yytext)); @@ -1690,7 +1692,7 @@ YY_RULE_SETUP YY_BREAK case 95: YY_RULE_SETUP -#line 529 "pars0lex.l" +#line 526 "pars0lex.l" { return((int)(*yytext)); @@ -1698,7 +1700,7 @@ YY_RULE_SETUP YY_BREAK case 96: YY_RULE_SETUP -#line 534 "pars0lex.l" +#line 531 "pars0lex.l" { return((int)(*yytext)); @@ -1706,7 +1708,7 @@ YY_RULE_SETUP YY_BREAK case 97: YY_RULE_SETUP -#line 539 "pars0lex.l" +#line 536 "pars0lex.l" { return((int)(*yytext)); @@ -1714,7 +1716,7 @@ YY_RULE_SETUP YY_BREAK case 98: YY_RULE_SETUP -#line 544 "pars0lex.l" +#line 541 "pars0lex.l" { return((int)(*yytext)); @@ -1722,7 +1724,7 @@ YY_RULE_SETUP YY_BREAK case 99: YY_RULE_SETUP -#line 549 "pars0lex.l" +#line 546 "pars0lex.l" { return((int)(*yytext)); @@ -1730,7 +1732,7 @@ YY_RULE_SETUP YY_BREAK case 100: YY_RULE_SETUP -#line 554 "pars0lex.l" +#line 551 "pars0lex.l" { return((int)(*yytext)); @@ -1738,7 +1740,7 @@ YY_RULE_SETUP YY_BREAK case 101: YY_RULE_SETUP -#line 559 "pars0lex.l" +#line 556 "pars0lex.l" { return((int)(*yytext)); @@ -1746,7 +1748,7 @@ YY_RULE_SETUP YY_BREAK case 102: YY_RULE_SETUP -#line 564 "pars0lex.l" +#line 561 "pars0lex.l" { return((int)(*yytext)); @@ -1754,35 +1756,43 @@ YY_RULE_SETUP YY_BREAK case 103: YY_RULE_SETUP -#line 569 "pars0lex.l" -BEGIN(comment); /* eat up comment */ +#line 566 "pars0lex.l" +{ + + return((int)(*yytext)); +} YY_BREAK case 104: -/* rule 104 can match eol */ YY_RULE_SETUP #line 571 "pars0lex.l" - +BEGIN(comment); /* eat up comment */ YY_BREAK case 105: /* rule 105 can match eol */ YY_RULE_SETUP -#line 572 "pars0lex.l" +#line 573 "pars0lex.l" YY_BREAK case 106: +/* rule 106 can match eol */ YY_RULE_SETUP -#line 573 "pars0lex.l" -BEGIN(INITIAL); +#line 574 "pars0lex.l" + YY_BREAK case 107: -/* rule 107 can match eol */ YY_RULE_SETUP #line 575 "pars0lex.l" -/* eat up whitespace */ +BEGIN(INITIAL); YY_BREAK case 108: +/* rule 108 can match eol */ YY_RULE_SETUP -#line 578 "pars0lex.l" +#line 577 "pars0lex.l" +/* eat up whitespace */ + YY_BREAK +case 109: +YY_RULE_SETUP +#line 580 "pars0lex.l" { fprintf(stderr,"Unrecognized character: %02x\n", *yytext); @@ -1792,12 +1802,12 @@ YY_RULE_SETUP return(0); } YY_BREAK -case 109: +case 110: YY_RULE_SETUP -#line 587 "pars0lex.l" +#line 589 "pars0lex.l" YY_FATAL_ERROR( "flex scanner jammed" ); YY_BREAK -#line 1799 "lex.yy.c" +#line 1809 "lex.yy.c" case YY_STATE_EOF(INITIAL): case YY_STATE_EOF(comment): case YY_STATE_EOF(quoted): @@ -2084,7 +2094,7 @@ static int yy_get_next_buffer (void) 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 >= 370 ) + if ( yy_current_state >= 376 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; @@ -2112,11 +2122,11 @@ static int yy_get_next_buffer (void) 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 >= 370 ) + if ( yy_current_state >= 376 ) 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 == 369); + yy_is_jam = (yy_current_state == 375); return yy_is_jam ? 0 : yy_current_state; } @@ -2145,7 +2155,7 @@ static int yy_get_next_buffer (void) else { /* need more input */ - int offset = (int)(yy_c_buf_p - yytext_ptr); + int offset = (int)((yy_c_buf_p) - (yytext_ptr)); ++(yy_c_buf_p); switch ( yy_get_next_buffer( ) ) @@ -2639,7 +2649,7 @@ void yyfree (void * ptr ) #undef YY_DECL_IS_OURS #undef YY_DECL #endif -#line 587 "pars0lex.l" +#line 589 "pars0lex.l" diff --git a/pars/pars0grm.c b/pars/pars0grm.c index 3800cdda88e..2525d3a18a7 100644 --- a/pars/pars0grm.c +++ b/pars/pars0grm.c @@ -138,7 +138,8 @@ PARS_COMMIT_TOKEN = 340, PARS_ROLLBACK_TOKEN = 341, PARS_WORK_TOKEN = 342, - NEG = 343 + PARS_UNSIGNED_TOKEN = 343, + NEG = 344 }; #endif #define PARS_INT_LIT 258 @@ -226,7 +227,8 @@ #define PARS_COMMIT_TOKEN 340 #define PARS_ROLLBACK_TOKEN 341 #define PARS_WORK_TOKEN 342 -#define NEG 343 +#define PARS_UNSIGNED_TOKEN 343 +#define NEG 344 @@ -279,7 +281,7 @@ typedef int YYSTYPE; /* Line 214 of yacc.c. */ -#line 283 "pars0grm.tab.c" +#line 285 "pars0grm.tab.c" #if ! defined (yyoverflow) || YYERROR_VERBOSE @@ -385,20 +387,20 @@ union yyalloc /* YYFINAL -- State number of the termination state. */ #define YYFINAL 95 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 734 +#define YYLAST 765 /* YYNTOKENS -- Number of terminals. */ -#define YYNTOKENS 104 +#define YYNTOKENS 105 /* YYNNTS -- Number of nonterminals. */ -#define YYNNTS 64 +#define YYNNTS 65 /* YYNRULES -- Number of rules. */ -#define YYNRULES 164 +#define YYNRULES 166 /* YYNRULES -- Number of states. */ -#define YYNSTATES 321 +#define YYNSTATES 323 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ #define YYUNDEFTOK 2 -#define YYMAXUTOK 343 +#define YYMAXUTOK 344 #define YYTRANSLATE(YYX) \ ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) @@ -409,16 +411,16 @@ static const unsigned char yytranslate[] = 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 96, 2, 2, - 98, 99, 93, 92, 101, 91, 2, 94, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 97, - 89, 88, 90, 100, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 97, 2, 2, + 99, 100, 94, 93, 102, 92, 2, 95, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 98, + 90, 89, 91, 101, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 102, 2, 103, 2, 2, 2, 2, + 2, 2, 2, 103, 2, 104, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, @@ -440,7 +442,7 @@ static const unsigned char yytranslate[] = 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, - 85, 86, 87, 95 + 85, 86, 87, 88, 96 }; #if YYDEBUG @@ -460,90 +462,91 @@ static const unsigned short int yyprhs[] = 261, 264, 265, 268, 269, 271, 273, 274, 279, 288, 292, 298, 301, 305, 307, 311, 316, 321, 324, 327, 331, 334, 337, 340, 344, 349, 351, 354, 355, 358, - 360, 368, 375, 386, 388, 391, 394, 399, 404, 406, - 410, 411, 415, 416, 419, 420, 422, 430, 432, 436, - 437, 439, 440, 442, 453, 456, 459, 461, 463, 465, - 467, 469, 473, 477, 478, 480, 484, 488, 489, 491, - 494, 501, 502, 504, 507 + 360, 368, 375, 386, 388, 391, 394, 399, 405, 407, + 411, 412, 416, 417, 419, 420, 423, 424, 426, 434, + 436, 440, 441, 443, 444, 446, 457, 460, 463, 465, + 467, 469, 471, 473, 477, 481, 482, 484, 488, 492, + 493, 495, 498, 505, 506, 508, 511 }; /* YYRHS -- A `-1'-separated list of the rules' RHS. */ static const short int yyrhs[] = { - 105, 0, -1, 167, 97, -1, 110, -1, 111, 97, - -1, 142, 97, -1, 143, 97, -1, 141, 97, -1, - 144, 97, -1, 137, 97, -1, 124, 97, -1, 126, - 97, -1, 136, 97, -1, 134, 97, -1, 135, 97, - -1, 131, 97, -1, 132, 97, -1, 145, 97, -1, - 147, 97, -1, 146, 97, -1, 158, 97, -1, 159, - 97, -1, 153, 97, -1, 157, 97, -1, 105, -1, - 106, 105, -1, 7, -1, 108, 98, 115, 99, -1, + 106, 0, -1, 169, 98, -1, 111, -1, 112, 98, + -1, 143, 98, -1, 144, 98, -1, 142, 98, -1, + 145, 98, -1, 138, 98, -1, 125, 98, -1, 127, + 98, -1, 137, 98, -1, 135, 98, -1, 136, 98, + -1, 132, 98, -1, 133, 98, -1, 146, 98, -1, + 148, 98, -1, 147, 98, -1, 160, 98, -1, 161, + 98, -1, 155, 98, -1, 159, 98, -1, 106, -1, + 107, 106, -1, 7, -1, 109, 99, 116, 100, -1, 3, -1, 4, -1, 5, -1, 6, -1, 65, -1, - 107, 92, 107, -1, 107, 91, 107, -1, 107, 93, - 107, -1, 107, 94, 107, -1, 91, 107, -1, 98, - 107, 99, -1, 107, 88, 107, -1, 107, 89, 107, - -1, 107, 90, 107, -1, 107, 11, 107, -1, 107, - 12, 107, -1, 107, 13, 107, -1, 107, 8, 107, - -1, 107, 9, 107, -1, 10, 107, -1, 7, 96, - 69, -1, 65, 96, 69, -1, 70, -1, 71, -1, + 108, 93, 108, -1, 108, 92, 108, -1, 108, 94, + 108, -1, 108, 95, 108, -1, 92, 108, -1, 99, + 108, 100, -1, 108, 89, 108, -1, 108, 90, 108, + -1, 108, 91, 108, -1, 108, 11, 108, -1, 108, + 12, 108, -1, 108, 13, 108, -1, 108, 8, 108, + -1, 108, 9, 108, -1, 10, 108, -1, 7, 97, + 69, -1, 65, 97, 69, -1, 70, -1, 71, -1, 72, -1, 73, -1, 74, -1, 76, -1, 77, -1, - 78, -1, 79, -1, 82, -1, 83, -1, -1, 100, - -1, 109, 101, 100, -1, 102, 7, 98, 109, 99, - 103, -1, 112, 98, 115, 99, -1, 75, -1, 80, - -1, 81, -1, 7, -1, 113, 101, 7, -1, -1, - 7, -1, 114, 101, 7, -1, -1, 107, -1, 115, - 101, 107, -1, 107, -1, 35, 98, 93, 99, -1, - 35, 98, 36, 7, 99, -1, 34, 98, 107, 99, - -1, -1, 116, -1, 117, 101, 116, -1, 93, -1, - 117, 48, 114, -1, 117, -1, -1, 38, 107, -1, + 78, -1, 79, -1, 82, -1, 83, -1, -1, 101, + -1, 110, 102, 101, -1, 103, 7, 99, 110, 100, + 104, -1, 113, 99, 116, 100, -1, 75, -1, 80, + -1, 81, -1, 7, -1, 114, 102, 7, -1, -1, + 7, -1, 115, 102, 7, -1, -1, 108, -1, 116, + 102, 108, -1, 108, -1, 35, 99, 94, 100, -1, + 35, 99, 36, 7, 100, -1, 34, 99, 108, 100, + -1, -1, 117, -1, 118, 102, 117, -1, 94, -1, + 118, 48, 115, -1, 118, -1, -1, 38, 108, -1, -1, 39, 50, -1, -1, 41, 42, -1, -1, 45, - -1, 46, -1, -1, 43, 44, 7, 122, -1, 33, - 118, 37, 113, 119, 120, 121, 123, -1, 47, 48, - 7, -1, 125, 49, 98, 115, 99, -1, 125, 124, - -1, 7, 88, 107, -1, 127, -1, 128, 101, 127, - -1, 38, 53, 54, 7, -1, 50, 7, 51, 128, - -1, 130, 119, -1, 130, 129, -1, 52, 37, 7, - -1, 133, 119, -1, 133, 129, -1, 84, 124, -1, - 7, 62, 107, -1, 29, 107, 27, 106, -1, 138, - -1, 139, 138, -1, -1, 28, 106, -1, 139, -1, - 26, 107, 27, 106, 140, 25, 26, -1, 31, 107, - 30, 106, 25, 30, -1, 39, 7, 15, 107, 40, - 107, 30, 106, 25, 30, -1, 32, -1, 66, 7, - -1, 68, 7, -1, 67, 7, 48, 114, -1, 7, - 160, 150, 151, -1, 148, -1, 149, 101, 148, -1, - -1, 98, 3, 99, -1, -1, 10, 6, -1, -1, - 60, -1, 55, 56, 7, 98, 149, 99, 152, -1, - 7, -1, 154, 101, 7, -1, -1, 58, -1, -1, - 59, -1, 55, 155, 156, 57, 7, 61, 7, 98, - 154, 99, -1, 85, 87, -1, 86, 87, -1, 19, - -1, 20, -1, 22, -1, 17, -1, 18, -1, 7, - 15, 160, -1, 7, 16, 160, -1, -1, 161, -1, - 162, 101, 161, -1, 7, 160, 97, -1, -1, 163, - -1, 164, 163, -1, 63, 64, 7, 23, 124, 97, - -1, -1, 165, -1, 166, 165, -1, 14, 7, 98, - 162, 99, 23, 164, 166, 24, 106, 25, -1 + -1, 46, -1, -1, 43, 44, 7, 123, -1, 33, + 119, 37, 114, 120, 121, 122, 124, -1, 47, 48, + 7, -1, 126, 49, 99, 116, 100, -1, 126, 125, + -1, 7, 89, 108, -1, 128, -1, 129, 102, 128, + -1, 38, 53, 54, 7, -1, 50, 7, 51, 129, + -1, 131, 120, -1, 131, 130, -1, 52, 37, 7, + -1, 134, 120, -1, 134, 130, -1, 84, 125, -1, + 7, 62, 108, -1, 29, 108, 27, 107, -1, 139, + -1, 140, 139, -1, -1, 28, 107, -1, 140, -1, + 26, 108, 27, 107, 141, 25, 26, -1, 31, 108, + 30, 107, 25, 30, -1, 39, 7, 15, 108, 40, + 108, 30, 107, 25, 30, -1, 32, -1, 66, 7, + -1, 68, 7, -1, 67, 7, 48, 115, -1, 7, + 162, 151, 152, 153, -1, 149, -1, 150, 102, 149, + -1, -1, 99, 3, 100, -1, -1, 88, -1, -1, + 10, 6, -1, -1, 60, -1, 55, 56, 7, 99, + 150, 100, 154, -1, 7, -1, 156, 102, 7, -1, + -1, 58, -1, -1, 59, -1, 55, 157, 158, 57, + 7, 61, 7, 99, 156, 100, -1, 85, 87, -1, + 86, 87, -1, 19, -1, 20, -1, 22, -1, 17, + -1, 18, -1, 7, 15, 162, -1, 7, 16, 162, + -1, -1, 163, -1, 164, 102, 163, -1, 7, 162, + 98, -1, -1, 165, -1, 166, 165, -1, 63, 64, + 7, 23, 125, 98, -1, -1, 167, -1, 168, 167, + -1, 14, 7, 99, 164, 100, 23, 166, 168, 24, + 107, 25, -1 }; /* YYRLINE[YYN] -- source line where rule number YYN was defined. */ static const unsigned short int yyrline[] = { - 0, 131, 131, 132, 133, 134, 135, 136, 137, 138, - 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, - 149, 150, 151, 152, 156, 157, 162, 163, 165, 166, - 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, - 177, 178, 179, 180, 181, 182, 183, 184, 185, 187, - 192, 193, 194, 195, 197, 198, 199, 200, 201, 202, - 203, 206, 208, 209, 213, 218, 223, 224, 225, 229, - 230, 235, 236, 237, 242, 243, 244, 248, 249, 254, - 260, 267, 268, 269, 274, 276, 278, 282, 283, 287, - 288, 293, 294, 299, 300, 301, 305, 306, 311, 321, - 326, 328, 333, 337, 338, 343, 349, 356, 361, 366, - 372, 377, 382, 387, 392, 398, 399, 404, 405, 407, - 411, 418, 424, 432, 436, 442, 448, 453, 458, 459, - 464, 465, 470, 471, 477, 478, 484, 490, 491, 496, - 497, 501, 502, 506, 514, 519, 524, 525, 526, 527, - 528, 532, 535, 541, 542, 543, 548, 552, 554, 555, - 559, 564, 566, 567, 571 + 0, 132, 132, 133, 134, 135, 136, 137, 138, 139, + 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, + 150, 151, 152, 153, 157, 158, 163, 164, 166, 167, + 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, + 178, 179, 180, 181, 182, 183, 184, 185, 186, 188, + 193, 194, 195, 196, 198, 199, 200, 201, 202, 203, + 204, 207, 209, 210, 214, 219, 224, 225, 226, 230, + 231, 236, 237, 238, 243, 244, 245, 249, 250, 255, + 261, 268, 269, 270, 275, 277, 279, 283, 284, 288, + 289, 294, 295, 300, 301, 302, 306, 307, 312, 322, + 327, 329, 334, 338, 339, 344, 350, 357, 362, 367, + 373, 378, 383, 388, 393, 399, 400, 405, 406, 408, + 412, 419, 425, 433, 437, 443, 449, 454, 459, 460, + 465, 466, 471, 472, 478, 479, 485, 486, 492, 498, + 499, 504, 505, 509, 510, 514, 522, 527, 532, 533, + 534, 535, 536, 540, 543, 549, 550, 551, 556, 560, + 562, 563, 567, 572, 574, 575, 579 }; #endif @@ -579,24 +582,25 @@ static const char *const yytname[] = "PARS_CONCAT_TOKEN", "PARS_INSTR_TOKEN", "PARS_LENGTH_TOKEN", "PARS_SYSDATE_TOKEN", "PARS_PRINTF_TOKEN", "PARS_ASSERT_TOKEN", "PARS_RND_TOKEN", "PARS_RND_STR_TOKEN", "PARS_ROW_PRINTF_TOKEN", - "PARS_COMMIT_TOKEN", "PARS_ROLLBACK_TOKEN", "PARS_WORK_TOKEN", "'='", - "'<'", "'>'", "'-'", "'+'", "'*'", "'/'", "NEG", "'%'", "';'", "'('", - "')'", "'?'", "','", "'{'", "'}'", "$accept", "statement", - "statement_list", "exp", "function_name", "question_mark_list", - "stored_procedure_call", "predefined_procedure_call", - "predefined_procedure_name", "table_list", "variable_list", "exp_list", - "select_item", "select_item_list", "select_list", "search_condition", - "for_update_clause", "consistent_read_clause", "order_direction", - "order_by_clause", "select_statement", "insert_statement_start", - "insert_statement", "column_assignment", "column_assignment_list", - "cursor_positioned", "update_statement_start", - "update_statement_searched", "update_statement_positioned", - "delete_statement_start", "delete_statement_searched", - "delete_statement_positioned", "row_printf_statement", - "assignment_statement", "elsif_element", "elsif_list", "else_part", - "if_statement", "while_statement", "for_statement", "return_statement", - "open_cursor_statement", "close_cursor_statement", "fetch_statement", - "column_def", "column_def_list", "opt_column_len", "opt_not_null", + "PARS_COMMIT_TOKEN", "PARS_ROLLBACK_TOKEN", "PARS_WORK_TOKEN", + "PARS_UNSIGNED_TOKEN", "'='", "'<'", "'>'", "'-'", "'+'", "'*'", "'/'", + "NEG", "'%'", "';'", "'('", "')'", "'?'", "','", "'{'", "'}'", "$accept", + "statement", "statement_list", "exp", "function_name", + "question_mark_list", "stored_procedure_call", + "predefined_procedure_call", "predefined_procedure_name", "table_list", + "variable_list", "exp_list", "select_item", "select_item_list", + "select_list", "search_condition", "for_update_clause", + "consistent_read_clause", "order_direction", "order_by_clause", + "select_statement", "insert_statement_start", "insert_statement", + "column_assignment", "column_assignment_list", "cursor_positioned", + "update_statement_start", "update_statement_searched", + "update_statement_positioned", "delete_statement_start", + "delete_statement_searched", "delete_statement_positioned", + "row_printf_statement", "assignment_statement", "elsif_element", + "elsif_list", "else_part", "if_statement", "while_statement", + "for_statement", "return_statement", "open_cursor_statement", + "close_cursor_statement", "fetch_statement", "column_def", + "column_def_list", "opt_column_len", "opt_unsigned", "opt_not_null", "not_fit_in_memory", "create_table", "column_list", "unique_def", "clustered_def", "create_index", "commit_statement", "rollback_statement", "type_name", "parameter_declaration", @@ -619,32 +623,32 @@ static const unsigned short int yytoknum[] = 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, - 335, 336, 337, 338, 339, 340, 341, 342, 61, 60, - 62, 45, 43, 42, 47, 343, 37, 59, 40, 41, - 63, 44, 123, 125 + 335, 336, 337, 338, 339, 340, 341, 342, 343, 61, + 60, 62, 45, 43, 42, 47, 344, 37, 59, 40, + 41, 63, 44, 123, 125 }; # endif /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ static const unsigned char yyr1[] = { - 0, 104, 105, 105, 105, 105, 105, 105, 105, 105, - 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, - 105, 105, 105, 105, 106, 106, 107, 107, 107, 107, - 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, - 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, + 0, 105, 106, 106, 106, 106, 106, 106, 106, 106, + 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, + 106, 106, 106, 106, 107, 107, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, - 108, 109, 109, 109, 110, 111, 112, 112, 112, 113, - 113, 114, 114, 114, 115, 115, 115, 116, 116, 116, - 116, 117, 117, 117, 118, 118, 118, 119, 119, 120, - 120, 121, 121, 122, 122, 122, 123, 123, 124, 125, - 126, 126, 127, 128, 128, 129, 130, 131, 132, 133, - 134, 135, 136, 137, 138, 139, 139, 140, 140, 140, - 141, 142, 143, 144, 145, 146, 147, 148, 149, 149, - 150, 150, 151, 151, 152, 152, 153, 154, 154, 155, - 155, 156, 156, 157, 158, 159, 160, 160, 160, 160, - 160, 161, 161, 162, 162, 162, 163, 164, 164, 164, - 165, 166, 166, 166, 167 + 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, + 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, + 109, 110, 110, 110, 111, 112, 113, 113, 113, 114, + 114, 115, 115, 115, 116, 116, 116, 117, 117, 117, + 117, 118, 118, 118, 119, 119, 119, 120, 120, 121, + 121, 122, 122, 123, 123, 123, 124, 124, 125, 126, + 127, 127, 128, 129, 129, 130, 131, 132, 133, 134, + 135, 136, 137, 138, 139, 140, 140, 141, 141, 141, + 142, 143, 144, 145, 146, 147, 148, 149, 150, 150, + 151, 151, 152, 152, 153, 153, 154, 154, 155, 156, + 156, 157, 157, 158, 158, 159, 160, 161, 162, 162, + 162, 162, 162, 163, 163, 164, 164, 164, 165, 166, + 166, 166, 167, 168, 168, 168, 169 }; /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ @@ -662,11 +666,11 @@ static const unsigned char yyr2[] = 2, 0, 2, 0, 1, 1, 0, 4, 8, 3, 5, 2, 3, 1, 3, 4, 4, 2, 2, 3, 2, 2, 2, 3, 4, 1, 2, 0, 2, 1, - 7, 6, 10, 1, 2, 2, 4, 4, 1, 3, - 0, 3, 0, 2, 0, 1, 7, 1, 3, 0, - 1, 0, 1, 10, 2, 2, 1, 1, 1, 1, - 1, 3, 3, 0, 1, 3, 3, 0, 1, 2, - 6, 0, 1, 2, 11 + 7, 6, 10, 1, 2, 2, 4, 5, 1, 3, + 0, 3, 0, 1, 0, 2, 0, 1, 7, 1, + 3, 0, 1, 0, 1, 10, 2, 2, 1, 1, + 1, 1, 1, 3, 3, 0, 1, 3, 3, 0, + 1, 2, 6, 0, 1, 2, 11 }; /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state @@ -675,22 +679,22 @@ static const unsigned char yyr2[] = static const unsigned char yydefact[] = { 0, 0, 0, 0, 0, 123, 81, 0, 0, 0, - 0, 139, 0, 0, 0, 66, 67, 68, 0, 0, + 0, 141, 0, 0, 0, 66, 67, 68, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 87, 0, 0, 87, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 29, 30, 31, 26, 0, 32, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 0, 0, 0, 0, 0, 0, 0, 84, 77, 82, 86, - 0, 0, 0, 0, 0, 0, 140, 141, 124, 0, - 125, 112, 144, 145, 0, 1, 4, 74, 10, 0, + 0, 0, 0, 0, 0, 0, 142, 143, 124, 0, + 125, 112, 146, 147, 0, 1, 4, 74, 10, 0, 101, 11, 0, 107, 108, 15, 16, 110, 111, 13, 14, 12, 9, 7, 5, 6, 8, 17, 19, 18, - 22, 23, 20, 21, 2, 113, 153, 0, 47, 0, + 22, 23, 20, 21, 2, 113, 155, 0, 47, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 74, 0, 0, 0, 71, - 0, 0, 0, 99, 0, 109, 0, 142, 0, 71, - 61, 75, 0, 74, 0, 88, 0, 154, 0, 48, + 0, 0, 0, 99, 0, 109, 0, 144, 0, 71, + 61, 75, 0, 74, 0, 88, 0, 156, 0, 48, 49, 38, 45, 46, 42, 43, 44, 24, 117, 39, 40, 41, 34, 33, 35, 36, 0, 0, 0, 0, 0, 72, 85, 83, 69, 87, 0, 0, 103, 106, @@ -698,79 +702,79 @@ static const unsigned char yydefact[] = 0, 0, 0, 0, 0, 25, 115, 119, 0, 27, 0, 80, 0, 78, 0, 0, 0, 89, 0, 0, 0, 0, 128, 0, 0, 0, 0, 76, 100, 105, - 149, 150, 146, 147, 148, 151, 152, 157, 155, 118, + 151, 152, 148, 149, 150, 153, 154, 159, 157, 118, 0, 116, 0, 121, 79, 73, 70, 0, 91, 0, - 102, 104, 130, 134, 0, 0, 64, 63, 0, 158, - 161, 0, 120, 90, 0, 96, 0, 0, 132, 135, - 136, 129, 0, 0, 0, 159, 162, 0, 114, 92, - 0, 98, 0, 0, 0, 127, 0, 156, 0, 0, - 163, 0, 0, 131, 133, 137, 0, 0, 0, 93, - 122, 143, 0, 0, 164, 94, 95, 97, 138, 0, - 160 + 102, 104, 130, 136, 0, 0, 64, 63, 0, 160, + 163, 0, 120, 90, 0, 96, 0, 0, 132, 137, + 138, 129, 0, 0, 0, 161, 164, 0, 114, 92, + 0, 98, 0, 0, 133, 134, 0, 158, 0, 0, + 165, 0, 0, 131, 0, 127, 139, 0, 0, 0, + 93, 122, 135, 145, 0, 0, 166, 94, 95, 97, + 140, 0, 162 }; /* YYDEFGOTO[NTERM-NUM]. */ static const short int yydefgoto[] = { -1, 177, 178, 161, 72, 204, 23, 24, 25, 195, - 192, 162, 78, 79, 80, 103, 258, 275, 317, 291, + 192, 162, 78, 79, 80, 103, 258, 275, 319, 291, 26, 27, 28, 198, 199, 104, 29, 30, 31, 32, 33, 34, 35, 36, 216, 217, 218, 37, 38, 39, - 40, 41, 42, 43, 232, 233, 278, 295, 280, 44, - 306, 87, 158, 45, 46, 47, 245, 167, 168, 269, - 270, 286, 287, 48 + 40, 41, 42, 43, 232, 233, 278, 295, 305, 280, + 44, 307, 87, 158, 45, 46, 47, 245, 167, 168, + 269, 270, 286, 287, 48 }; /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing STATE-NUM. */ -#define YYPACT_NINF -205 +#define YYPACT_NINF -203 static const short int yypact[] = { - 454, -48, 30, 521, 521, -205, 12, 42, -18, 46, - -4, -33, 67, 69, 71, -205, -205, -205, 47, -8, - -6, 85, 93, -205, 1, -2, 2, -20, 3, 59, - 5, 7, 59, 24, 27, 28, 31, 32, 33, 39, - 50, 51, 55, 56, 57, 58, 60, 62, 63, 521, - 22, -205, -205, -205, -205, 48, 521, 65, -205, -205, - -205, -205, -205, -205, -205, -205, -205, -205, -205, 521, - 521, 252, 64, 576, 66, 68, -205, 640, -205, -40, - 86, 111, 120, 105, 156, 161, -205, 110, -205, 122, - -205, -205, -205, -205, 73, -205, -205, 521, -205, 74, - -205, -205, 492, -205, -205, -205, -205, -205, -205, -205, - -205, -205, -205, -205, -205, -205, -205, -205, -205, -205, - -205, -205, -205, -205, -205, 640, 167, 106, 309, 107, - 168, 23, 521, 521, 521, 521, 521, 454, 521, 521, - 521, 521, 521, 521, 521, 521, 454, 521, -27, 178, - 204, 179, 521, -205, 181, -205, 91, -205, 134, 178, - 92, 640, -75, 521, 139, 640, 29, -205, -59, -205, - -205, -205, 309, 309, 15, 15, 640, -205, 151, 15, - 15, 15, 25, 25, 168, 168, -58, 284, 535, 187, - 96, -205, 95, -205, -205, -31, 568, 109, -205, 98, - 193, 195, 95, -205, -49, -205, 521, -45, 197, 40, - 40, 189, 167, 454, 521, -205, -205, 186, 191, -205, - 190, -205, 123, -205, 214, 521, 216, 194, 521, 521, - 181, 40, -205, -36, 164, 126, 130, 640, -205, -205, - -205, -205, -205, -205, -205, -205, -205, 227, -205, 454, - 605, -205, 215, -205, -205, -205, -205, 192, 199, 633, - 640, -205, 145, 184, 193, 238, -205, -205, 40, -205, - 4, 454, -205, -205, 205, 203, 454, 245, 240, -205, - -205, -205, 153, 155, 198, -205, -205, -12, 454, -205, - 210, -205, 341, 157, 249, -205, 250, -205, 251, 454, - -205, 259, 229, -205, -205, -205, -26, 244, 398, 26, - -205, -205, 261, 47, -205, -205, -205, -205, -205, 173, - -205 + 457, -49, 30, 541, 541, -203, 12, 42, -15, 57, + 8, -31, 60, 67, 69, -203, -203, -203, 45, -7, + -6, 89, 97, -203, 1, 3, 2, -19, 5, 81, + 7, 22, 81, 24, 27, 28, 29, 31, 32, 46, + 49, 50, 54, 55, 56, 58, 59, 61, 62, 541, + 25, -203, -203, -203, -203, 64, 541, 65, -203, -203, + -203, -203, -203, -203, -203, -203, -203, -203, -203, 541, + 541, 623, 37, 254, 70, 71, -203, 670, -203, -39, + 84, 83, 121, 104, 156, 157, -203, 107, -203, 120, + -203, -203, -203, -203, 72, -203, -203, 541, -203, 73, + -203, -203, 510, -203, -203, -203, -203, -203, -203, -203, + -203, -203, -203, -203, -203, -203, -203, -203, -203, -203, + -203, -203, -203, -203, -203, 670, 167, 106, 310, 112, + 163, 23, 541, 541, 541, 541, 541, 457, 541, 541, + 541, 541, 541, 541, 541, 541, 457, 541, -29, 178, + 204, 179, 541, -203, 181, -203, 90, -203, 134, 178, + 91, 670, -76, 541, 139, 670, 38, -203, -62, -203, + -203, -203, 310, 310, 15, 15, 670, -203, 151, 15, + 15, 15, -2, -2, 163, 163, -59, 286, 553, 187, + 95, -203, 94, -203, -203, -32, 565, 108, -203, 98, + 192, 195, 94, -203, -58, -203, 541, -50, 197, 39, + 39, 189, 167, 457, 541, -203, -203, 186, 191, -203, + 190, -203, 122, -203, 214, 541, 216, 194, 541, 541, + 181, 39, -203, -40, 164, 125, 129, 670, -203, -203, + -203, -203, -203, -203, -203, -203, -203, 227, -203, 457, + 653, -203, 215, -203, -203, -203, -203, 193, 199, 660, + 670, -203, 143, 184, 192, 238, -203, -203, 39, -203, + 16, 457, -203, -203, 205, 203, 457, 245, 162, -203, + -203, -203, 152, 154, 196, -203, -203, -12, 457, -203, + 209, -203, 343, 155, -203, 246, 250, -203, 251, 457, + -203, 252, 231, -203, 258, -203, -203, -27, 247, 400, + 26, -203, -203, -203, 261, 45, -203, -203, -203, -203, + -203, 173, -203 }; /* YYPGOTO[NTERM-NUM]. */ static const short int yypgoto[] = { - -205, 0, -126, -1, -205, -205, -205, -205, -205, -205, - 112, -124, 135, -205, -205, -28, -205, -205, -205, -205, - -17, -205, -205, 43, -205, 257, -205, -205, -205, -205, - -205, -205, -205, -205, 76, -205, -205, -205, -205, -205, - -205, -205, -205, -205, 8, -205, -205, -205, -205, -205, - -205, -205, -205, -205, -205, -205, -204, 72, -205, 20, - -205, 10, -205, -205 + -203, 0, -126, -1, -203, -203, -203, -203, -203, -203, + 113, -124, 123, -203, -203, -28, -203, -203, -203, -203, + -17, -203, -203, 74, -203, 253, -203, -203, -203, -203, + -203, -203, -203, -203, 77, -203, -203, -203, -203, -203, + -203, -203, -203, -203, 33, -203, -203, -203, -203, -203, + -203, -203, -203, -203, -203, -203, -203, -202, 78, -203, + 9, -203, 4, -203, -203 }; /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If @@ -780,158 +784,164 @@ static const short int yypgoto[] = #define YYTABLE_NINF -1 static const unsigned short int yytable[] = { - 22, 91, 71, 73, 107, 77, 246, 225, 149, 189, - 100, 268, 299, 6, 49, 51, 52, 53, 54, 55, - 187, 186, 56, 85, 205, 86, 206, 262, 136, 99, - 82, 132, 133, 84, 134, 135, 136, 50, 136, 207, - 211, 219, 212, 206, 209, 210, 74, 75, 125, 81, - 235, 284, 236, 83, 238, 128, 206, 240, 241, 242, - 243, 150, 244, 263, 283, 264, 190, 284, 130, 131, - 226, 315, 316, 311, 88, 312, 89, 57, 90, 92, - 6, 93, 58, 59, 60, 61, 62, 249, 63, 64, - 65, 66, 94, 95, 67, 68, 97, 102, 96, 98, - 101, 165, 105, 69, 106, 76, 141, 142, 143, 144, - 70, 138, 139, 140, 141, 142, 143, 144, 143, 144, - 126, 109, 171, 151, 110, 111, 152, 153, 112, 113, - 114, 172, 173, 174, 175, 176, 115, 179, 180, 181, - 182, 183, 184, 185, 127, 288, 188, 116, 117, 77, - 292, 196, 118, 119, 120, 121, 154, 122, 1, 123, - 124, 129, 145, 155, 147, 2, 148, 227, 156, 157, - 159, 160, 163, 308, 166, 169, 170, 3, 215, 213, - 214, 136, 4, 5, 6, 191, 194, 215, 197, 200, - 7, 201, 203, 208, 222, 223, 224, 229, 8, 230, - 231, 9, 234, 10, 239, 237, 11, 51, 52, 53, + 22, 91, 71, 73, 107, 77, 225, 189, 246, 149, + 100, 136, 299, 49, 6, 51, 52, 53, 54, 55, + 187, 186, 56, 268, 205, 85, 206, 86, 136, 262, + 99, 132, 133, 82, 134, 135, 136, 50, 211, 207, + 212, 219, 235, 206, 236, 84, 74, 75, 125, 81, + 238, 284, 206, 209, 210, 128, 240, 241, 242, 243, + 263, 244, 264, 150, 83, 190, 283, 88, 130, 131, + 226, 317, 318, 313, 89, 314, 90, 57, 6, 284, + 92, 93, 58, 59, 60, 61, 62, 249, 63, 64, + 65, 66, 143, 144, 67, 68, 94, 95, 152, 96, + 98, 165, 97, 101, 69, 105, 76, 141, 142, 143, + 144, 70, 138, 139, 140, 141, 142, 143, 144, 102, + 106, 151, 109, 171, 126, 110, 111, 112, 153, 113, + 114, 172, 173, 174, 175, 176, 145, 179, 180, 181, + 182, 183, 184, 185, 115, 288, 188, 116, 117, 77, + 292, 196, 118, 119, 120, 154, 121, 122, 1, 123, + 124, 127, 129, 155, 156, 2, 157, 227, 159, 147, + 148, 160, 163, 309, 166, 169, 136, 3, 215, 213, + 214, 170, 4, 5, 6, 191, 194, 215, 197, 200, + 7, 201, 203, 208, 222, 223, 224, 229, 8, 231, + 230, 9, 234, 10, 239, 237, 11, 51, 52, 53, 54, 55, 247, 250, 56, 214, 252, 12, 13, 14, 253, 255, 254, 256, 165, 265, 15, 259, 260, 266, 267, 16, 17, 257, 268, 18, 19, 20, 74, 75, - 274, 272, 273, 277, 279, 282, 290, 289, 293, 215, - 294, 296, 297, 21, 301, 304, 303, 305, 307, 310, - 132, 133, 298, 134, 135, 136, 309, 313, 318, 57, - 320, 202, 281, 261, 58, 59, 60, 61, 62, 137, - 63, 64, 65, 66, 248, 193, 67, 68, 215, 108, - 285, 1, 215, 251, 0, 69, 319, 300, 2, 0, - 0, 0, 70, 0, 0, 0, 0, 0, 215, 220, - 3, 0, 0, 0, 0, 4, 5, 6, 0, 0, - 134, 135, 136, 7, 0, 0, 0, 0, 0, 0, - 0, 8, 0, 0, 9, 0, 10, 0, 0, 11, - 138, 139, 140, 141, 142, 143, 144, 0, 1, 0, - 12, 13, 14, 0, 0, 2, 0, 0, 0, 15, - 0, 0, 0, 0, 16, 17, 302, 3, 18, 19, - 20, 0, 4, 5, 6, 0, 0, 0, 0, 0, - 7, 0, 0, 0, 0, 0, 21, 0, 8, 0, - 0, 9, 0, 10, 0, 0, 11, 138, 139, 140, - 141, 142, 143, 144, 0, 1, 0, 12, 13, 14, - 0, 0, 2, 0, 0, 0, 15, 0, 0, 0, - 0, 16, 17, 314, 3, 18, 19, 20, 0, 4, - 5, 6, 0, 0, 0, 0, 0, 7, 0, 0, - 0, 0, 0, 21, 0, 8, 0, 0, 9, 0, - 10, 0, 0, 11, 0, 0, 0, 0, 0, 0, - 0, 1, 0, 0, 12, 13, 14, 0, 2, 0, - 0, 0, 0, 15, 0, 0, 0, 0, 16, 17, - 3, 0, 18, 19, 20, 4, 5, 6, 0, 0, - 0, 0, 0, 7, 0, 51, 52, 53, 54, 55, - 21, 8, 56, 0, 9, 0, 10, 0, 0, 11, + 274, 272, 277, 273, 279, 282, 290, 289, 293, 215, + 294, 296, 297, 301, 21, 303, 304, 306, 308, 310, + 298, 311, 132, 133, 312, 134, 135, 136, 320, 57, + 315, 322, 202, 193, 58, 59, 60, 61, 62, 285, + 63, 64, 65, 66, 146, 108, 67, 68, 215, 0, + 248, 300, 215, 1, 251, 0, 69, 281, 321, 0, + 2, 0, 0, 70, 261, 0, 0, 0, 0, 215, + 0, 220, 3, 0, 0, 0, 0, 4, 5, 6, + 0, 134, 135, 136, 0, 7, 0, 0, 0, 0, + 0, 0, 0, 8, 0, 0, 9, 0, 10, 0, + 0, 11, 0, 138, 139, 140, 141, 142, 143, 144, + 1, 0, 12, 13, 14, 0, 0, 2, 0, 0, + 0, 15, 0, 0, 0, 0, 16, 17, 302, 3, + 18, 19, 20, 0, 4, 5, 6, 0, 0, 0, + 0, 0, 7, 0, 0, 0, 0, 0, 0, 21, + 8, 0, 0, 9, 0, 10, 0, 0, 11, 138, + 139, 140, 141, 142, 143, 144, 0, 1, 0, 12, + 13, 14, 0, 0, 2, 0, 0, 0, 15, 0, + 0, 0, 0, 16, 17, 316, 3, 18, 19, 20, + 0, 4, 5, 6, 0, 0, 0, 0, 0, 7, + 0, 0, 0, 0, 0, 0, 21, 8, 0, 0, + 9, 0, 10, 0, 0, 11, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0, 12, 13, 14, 0, + 0, 2, 0, 0, 0, 15, 0, 0, 0, 0, + 16, 17, 0, 3, 18, 19, 20, 0, 4, 5, + 6, 0, 0, 0, 0, 0, 7, 0, 0, 0, + 0, 0, 0, 21, 8, 0, 0, 9, 0, 10, + 0, 0, 11, 51, 52, 53, 54, 55, 0, 0, + 56, 0, 0, 12, 13, 14, 0, 0, 0, 0, + 0, 0, 15, 0, 0, 0, 0, 16, 17, 0, + 0, 18, 19, 20, 51, 52, 53, 54, 55, 0, + 0, 56, 0, 0, 0, 0, 0, 0, 0, 0, + 21, 132, 133, 164, 134, 135, 136, 0, 0, 0, + 0, 0, 0, 132, 133, 57, 134, 135, 136, 0, + 58, 59, 60, 61, 62, 0, 63, 64, 65, 66, + 0, 0, 67, 68, 0, 0, 0, 0, 0, 0, + 0, 0, 69, 0, 0, 228, 57, 0, 0, 70, + 0, 58, 59, 60, 61, 62, 0, 63, 64, 65, + 66, 0, 0, 67, 68, 0, 0, 0, 0, 0, + 0, 132, 133, 69, 134, 135, 136, 0, 0, 0, + 70, 0, 138, 139, 140, 141, 142, 143, 144, 0, + 137, 0, 0, 221, 138, 139, 140, 141, 142, 143, + 144, 132, 133, 0, 134, 135, 136, 0, 132, 133, + 0, 134, 135, 136, 0, 0, 0, 0, 132, 133, + 271, 134, 135, 136, 0, 0, 0, 0, 0, 0, + 276, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 12, 13, 14, 0, 51, 52, 53, 54, 55, 15, - 0, 56, 0, 0, 16, 17, 0, 0, 18, 19, - 20, 0, 0, 132, 133, 164, 134, 135, 136, 0, - 0, 0, 0, 0, 0, 0, 21, 57, 0, 0, - 0, 0, 58, 59, 60, 61, 62, 0, 63, 64, - 65, 66, 0, 0, 67, 68, 132, 133, 0, 134, - 135, 136, 0, 69, 132, 133, 57, 134, 135, 136, - 70, 58, 59, 60, 61, 62, 0, 63, 64, 65, - 66, 0, 0, 67, 68, 0, 146, 0, 228, 0, - 0, 0, 69, 132, 133, 0, 134, 135, 136, 70, - 0, 0, 0, 138, 139, 140, 141, 142, 143, 144, - 0, 0, 271, 0, 221, 0, 0, 0, 0, 0, - 0, 132, 133, 0, 134, 135, 136, 0, 132, 133, - 0, 134, 135, 136, 0, 0, 138, 139, 140, 141, - 142, 143, 144, 276, 138, 139, 140, 141, 142, 143, - 144, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 138, 139, 140, 141, 142, 143, 144, + 0, 0, 138, 139, 140, 141, 142, 143, 144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 138, 139, 140, 141, 142, 143, 144, 138, 139, - 140, 141, 142, 143, 144 + 0, 0, 138, 139, 140, 141, 142, 143, 144, 138, + 139, 140, 141, 142, 143, 144, 0, 0, 0, 138, + 139, 140, 141, 142, 143, 144 }; static const short int yycheck[] = { - 0, 18, 3, 4, 32, 6, 210, 38, 48, 36, - 27, 7, 24, 33, 62, 3, 4, 5, 6, 7, - 146, 145, 10, 56, 99, 58, 101, 231, 13, 49, - 48, 8, 9, 37, 11, 12, 13, 7, 13, 163, - 99, 99, 101, 101, 15, 16, 34, 35, 49, 7, - 99, 63, 101, 7, 99, 56, 101, 17, 18, 19, - 20, 101, 22, 99, 268, 101, 93, 63, 69, 70, - 101, 45, 46, 99, 7, 101, 7, 65, 7, 87, - 33, 87, 70, 71, 72, 73, 74, 213, 76, 77, - 78, 79, 7, 0, 82, 83, 98, 38, 97, 97, - 97, 102, 97, 91, 97, 93, 91, 92, 93, 94, - 98, 88, 89, 90, 91, 92, 93, 94, 93, 94, - 98, 97, 99, 37, 97, 97, 15, 7, 97, 97, - 97, 132, 133, 134, 135, 136, 97, 138, 139, 140, - 141, 142, 143, 144, 96, 271, 147, 97, 97, 150, - 276, 152, 97, 97, 97, 97, 51, 97, 7, 97, - 97, 96, 98, 7, 98, 14, 98, 195, 7, 59, - 48, 98, 98, 299, 7, 69, 69, 26, 178, 28, - 29, 13, 31, 32, 33, 7, 7, 187, 7, 98, - 39, 57, 100, 54, 7, 99, 101, 88, 47, 101, - 7, 50, 7, 52, 7, 206, 55, 3, 4, 5, + 0, 18, 3, 4, 32, 6, 38, 36, 210, 48, + 27, 13, 24, 62, 33, 3, 4, 5, 6, 7, + 146, 145, 10, 7, 100, 56, 102, 58, 13, 231, + 49, 8, 9, 48, 11, 12, 13, 7, 100, 163, + 102, 100, 100, 102, 102, 37, 34, 35, 49, 7, + 100, 63, 102, 15, 16, 56, 17, 18, 19, 20, + 100, 22, 102, 102, 7, 94, 268, 7, 69, 70, + 102, 45, 46, 100, 7, 102, 7, 65, 33, 63, + 87, 87, 70, 71, 72, 73, 74, 213, 76, 77, + 78, 79, 94, 95, 82, 83, 7, 0, 15, 98, + 98, 102, 99, 98, 92, 98, 94, 92, 93, 94, + 95, 99, 89, 90, 91, 92, 93, 94, 95, 38, + 98, 37, 98, 100, 99, 98, 98, 98, 7, 98, + 98, 132, 133, 134, 135, 136, 99, 138, 139, 140, + 141, 142, 143, 144, 98, 271, 147, 98, 98, 150, + 276, 152, 98, 98, 98, 51, 98, 98, 7, 98, + 98, 97, 97, 7, 7, 14, 59, 195, 48, 99, + 99, 99, 99, 299, 7, 69, 13, 26, 178, 28, + 29, 69, 31, 32, 33, 7, 7, 187, 7, 99, + 39, 57, 101, 54, 7, 100, 102, 89, 47, 7, + 102, 50, 7, 52, 7, 206, 55, 3, 4, 5, 6, 7, 23, 214, 10, 29, 25, 66, 67, 68, - 30, 7, 99, 7, 225, 61, 75, 228, 229, 103, - 100, 80, 81, 39, 7, 84, 85, 86, 34, 35, - 41, 26, 50, 98, 60, 7, 43, 42, 3, 249, - 10, 98, 97, 102, 44, 6, 99, 7, 7, 30, - 8, 9, 64, 11, 12, 13, 7, 23, 7, 65, - 97, 159, 264, 230, 70, 71, 72, 73, 74, 27, - 76, 77, 78, 79, 212, 150, 82, 83, 288, 32, - 270, 7, 292, 217, -1, 91, 313, 287, 14, -1, - -1, -1, 98, -1, -1, -1, -1, -1, 308, 25, - 26, -1, -1, -1, -1, 31, 32, 33, -1, -1, - 11, 12, 13, 39, -1, -1, -1, -1, -1, -1, - -1, 47, -1, -1, 50, -1, 52, -1, -1, 55, - 88, 89, 90, 91, 92, 93, 94, -1, 7, -1, - 66, 67, 68, -1, -1, 14, -1, -1, -1, 75, - -1, -1, -1, -1, 80, 81, 25, 26, 84, 85, - 86, -1, 31, 32, 33, -1, -1, -1, -1, -1, - 39, -1, -1, -1, -1, -1, 102, -1, 47, -1, - -1, 50, -1, 52, -1, -1, 55, 88, 89, 90, - 91, 92, 93, 94, -1, 7, -1, 66, 67, 68, - -1, -1, 14, -1, -1, -1, 75, -1, -1, -1, - -1, 80, 81, 25, 26, 84, 85, 86, -1, 31, - 32, 33, -1, -1, -1, -1, -1, 39, -1, -1, - -1, -1, -1, 102, -1, 47, -1, -1, 50, -1, - 52, -1, -1, 55, -1, -1, -1, -1, -1, -1, - -1, 7, -1, -1, 66, 67, 68, -1, 14, -1, - -1, -1, -1, 75, -1, -1, -1, -1, 80, 81, - 26, -1, 84, 85, 86, 31, 32, 33, -1, -1, - -1, -1, -1, 39, -1, 3, 4, 5, 6, 7, - 102, 47, 10, -1, 50, -1, 52, -1, -1, 55, + 30, 7, 100, 7, 225, 61, 75, 228, 229, 104, + 101, 80, 81, 39, 7, 84, 85, 86, 34, 35, + 41, 26, 99, 50, 60, 7, 43, 42, 3, 249, + 88, 99, 98, 44, 103, 100, 10, 7, 7, 7, + 64, 30, 8, 9, 6, 11, 12, 13, 7, 65, + 23, 98, 159, 150, 70, 71, 72, 73, 74, 270, + 76, 77, 78, 79, 30, 32, 82, 83, 288, -1, + 212, 287, 292, 7, 217, -1, 92, 264, 315, -1, + 14, -1, -1, 99, 230, -1, -1, -1, -1, 309, + -1, 25, 26, -1, -1, -1, -1, 31, 32, 33, + -1, 11, 12, 13, -1, 39, -1, -1, -1, -1, + -1, -1, -1, 47, -1, -1, 50, -1, 52, -1, + -1, 55, -1, 89, 90, 91, 92, 93, 94, 95, + 7, -1, 66, 67, 68, -1, -1, 14, -1, -1, + -1, 75, -1, -1, -1, -1, 80, 81, 25, 26, + 84, 85, 86, -1, 31, 32, 33, -1, -1, -1, + -1, -1, 39, -1, -1, -1, -1, -1, -1, 103, + 47, -1, -1, 50, -1, 52, -1, -1, 55, 89, + 90, 91, 92, 93, 94, 95, -1, 7, -1, 66, + 67, 68, -1, -1, 14, -1, -1, -1, 75, -1, + -1, -1, -1, 80, 81, 25, 26, 84, 85, 86, + -1, 31, 32, 33, -1, -1, -1, -1, -1, 39, + -1, -1, -1, -1, -1, -1, 103, 47, -1, -1, + 50, -1, 52, -1, -1, 55, -1, -1, -1, -1, + -1, -1, -1, -1, 7, -1, 66, 67, 68, -1, + -1, 14, -1, -1, -1, 75, -1, -1, -1, -1, + 80, 81, -1, 26, 84, 85, 86, -1, 31, 32, + 33, -1, -1, -1, -1, -1, 39, -1, -1, -1, + -1, -1, -1, 103, 47, -1, -1, 50, -1, 52, + -1, -1, 55, 3, 4, 5, 6, 7, -1, -1, + 10, -1, -1, 66, 67, 68, -1, -1, -1, -1, + -1, -1, 75, -1, -1, -1, -1, 80, 81, -1, + -1, 84, 85, 86, 3, 4, 5, 6, 7, -1, + -1, 10, -1, -1, -1, -1, -1, -1, -1, -1, + 103, 8, 9, 53, 11, 12, 13, -1, -1, -1, + -1, -1, -1, 8, 9, 65, 11, 12, 13, -1, + 70, 71, 72, 73, 74, -1, 76, 77, 78, 79, + -1, -1, 82, 83, -1, -1, -1, -1, -1, -1, + -1, -1, 92, -1, -1, 40, 65, -1, -1, 99, + -1, 70, 71, 72, 73, 74, -1, 76, 77, 78, + 79, -1, -1, 82, 83, -1, -1, -1, -1, -1, + -1, 8, 9, 92, 11, 12, 13, -1, -1, -1, + 99, -1, 89, 90, 91, 92, 93, 94, 95, -1, + 27, -1, -1, 100, 89, 90, 91, 92, 93, 94, + 95, 8, 9, -1, 11, 12, 13, -1, 8, 9, + -1, 11, 12, 13, -1, -1, -1, -1, 8, 9, + 27, 11, 12, 13, -1, -1, -1, -1, -1, -1, + 30, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 66, 67, 68, -1, 3, 4, 5, 6, 7, 75, - -1, 10, -1, -1, 80, 81, -1, -1, 84, 85, - 86, -1, -1, 8, 9, 53, 11, 12, 13, -1, - -1, -1, -1, -1, -1, -1, 102, 65, -1, -1, - -1, -1, 70, 71, 72, 73, 74, -1, 76, 77, - 78, 79, -1, -1, 82, 83, 8, 9, -1, 11, - 12, 13, -1, 91, 8, 9, 65, 11, 12, 13, - 98, 70, 71, 72, 73, 74, -1, 76, 77, 78, - 79, -1, -1, 82, 83, -1, 30, -1, 40, -1, - -1, -1, 91, 8, 9, -1, 11, 12, 13, 98, - -1, -1, -1, 88, 89, 90, 91, 92, 93, 94, - -1, -1, 27, -1, 99, -1, -1, -1, -1, -1, - -1, 8, 9, -1, 11, 12, 13, -1, 8, 9, - -1, 11, 12, 13, -1, -1, 88, 89, 90, 91, - 92, 93, 94, 30, 88, 89, 90, 91, 92, 93, - 94, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 88, 89, 90, 91, 92, 93, 94, + -1, -1, 89, 90, 91, 92, 93, 94, 95, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 88, 89, 90, 91, 92, 93, 94, 88, 89, - 90, 91, 92, 93, 94 + -1, -1, 89, 90, 91, 92, 93, 94, 95, 89, + 90, 91, 92, 93, 94, 95, -1, -1, -1, 89, + 90, 91, 92, 93, 94, 95 }; /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing @@ -940,37 +950,37 @@ static const unsigned char yystos[] = { 0, 7, 14, 26, 31, 32, 33, 39, 47, 50, 52, 55, 66, 67, 68, 75, 80, 81, 84, 85, - 86, 102, 105, 110, 111, 112, 124, 125, 126, 130, - 131, 132, 133, 134, 135, 136, 137, 141, 142, 143, - 144, 145, 146, 147, 153, 157, 158, 159, 167, 62, + 86, 103, 106, 111, 112, 113, 125, 126, 127, 131, + 132, 133, 134, 135, 136, 137, 138, 142, 143, 144, + 145, 146, 147, 148, 155, 159, 160, 161, 169, 62, 7, 3, 4, 5, 6, 7, 10, 65, 70, 71, - 72, 73, 74, 76, 77, 78, 79, 82, 83, 91, - 98, 107, 108, 107, 34, 35, 93, 107, 116, 117, - 118, 7, 48, 7, 37, 56, 58, 155, 7, 7, - 7, 124, 87, 87, 7, 0, 97, 98, 97, 49, - 124, 97, 38, 119, 129, 97, 97, 119, 129, 97, - 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, - 97, 97, 97, 97, 97, 107, 98, 96, 107, 96, - 107, 107, 8, 9, 11, 12, 13, 27, 88, 89, - 90, 91, 92, 93, 94, 98, 30, 98, 98, 48, - 101, 37, 15, 7, 51, 7, 7, 59, 156, 48, - 98, 107, 115, 98, 53, 107, 7, 161, 162, 69, - 69, 99, 107, 107, 107, 107, 107, 105, 106, 107, - 107, 107, 107, 107, 107, 107, 115, 106, 107, 36, - 93, 7, 114, 116, 7, 113, 107, 7, 127, 128, - 98, 57, 114, 100, 109, 99, 101, 115, 54, 15, - 16, 99, 101, 28, 29, 105, 138, 139, 140, 99, - 25, 99, 7, 99, 101, 38, 101, 119, 40, 88, - 101, 7, 148, 149, 7, 99, 101, 107, 99, 7, - 17, 18, 19, 20, 22, 160, 160, 23, 161, 106, - 107, 138, 25, 30, 99, 7, 7, 39, 120, 107, - 107, 127, 160, 99, 101, 61, 103, 100, 7, 163, - 164, 27, 26, 50, 41, 121, 30, 98, 150, 60, - 152, 148, 7, 160, 63, 163, 165, 166, 106, 42, - 43, 123, 106, 3, 10, 151, 98, 97, 64, 24, - 165, 44, 25, 99, 6, 7, 154, 7, 106, 7, - 30, 99, 101, 23, 25, 45, 46, 122, 7, 124, - 97 + 72, 73, 74, 76, 77, 78, 79, 82, 83, 92, + 99, 108, 109, 108, 34, 35, 94, 108, 117, 118, + 119, 7, 48, 7, 37, 56, 58, 157, 7, 7, + 7, 125, 87, 87, 7, 0, 98, 99, 98, 49, + 125, 98, 38, 120, 130, 98, 98, 120, 130, 98, + 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, + 98, 98, 98, 98, 98, 108, 99, 97, 108, 97, + 108, 108, 8, 9, 11, 12, 13, 27, 89, 90, + 91, 92, 93, 94, 95, 99, 30, 99, 99, 48, + 102, 37, 15, 7, 51, 7, 7, 59, 158, 48, + 99, 108, 116, 99, 53, 108, 7, 163, 164, 69, + 69, 100, 108, 108, 108, 108, 108, 106, 107, 108, + 108, 108, 108, 108, 108, 108, 116, 107, 108, 36, + 94, 7, 115, 117, 7, 114, 108, 7, 128, 129, + 99, 57, 115, 101, 110, 100, 102, 116, 54, 15, + 16, 100, 102, 28, 29, 106, 139, 140, 141, 100, + 25, 100, 7, 100, 102, 38, 102, 120, 40, 89, + 102, 7, 149, 150, 7, 100, 102, 108, 100, 7, + 17, 18, 19, 20, 22, 162, 162, 23, 163, 107, + 108, 139, 25, 30, 100, 7, 7, 39, 121, 108, + 108, 128, 162, 100, 102, 61, 104, 101, 7, 165, + 166, 27, 26, 50, 41, 122, 30, 99, 151, 60, + 154, 149, 7, 162, 63, 165, 167, 168, 107, 42, + 43, 124, 107, 3, 88, 152, 99, 98, 64, 24, + 167, 44, 25, 100, 10, 153, 7, 156, 7, 107, + 7, 30, 6, 100, 102, 23, 25, 45, 46, 123, + 7, 125, 98 }; #if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__) @@ -1582,262 +1592,262 @@ yyreduce: switch (yyn) { case 24: -#line 156 "pars0grm.y" +#line 157 "pars0grm.y" { yyval = que_node_list_add_last(NULL, yyvsp[0]); ;} break; case 25: -#line 158 "pars0grm.y" +#line 159 "pars0grm.y" { yyval = que_node_list_add_last(yyvsp[-1], yyvsp[0]); ;} break; case 26: -#line 162 "pars0grm.y" +#line 163 "pars0grm.y" { yyval = yyvsp[0];;} break; case 27: -#line 164 "pars0grm.y" +#line 165 "pars0grm.y" { yyval = pars_func(yyvsp[-3], yyvsp[-1]); ;} break; case 28: -#line 165 "pars0grm.y" - { yyval = yyvsp[0];;} - break; - - case 29: #line 166 "pars0grm.y" { yyval = yyvsp[0];;} break; - case 30: + case 29: #line 167 "pars0grm.y" { yyval = yyvsp[0];;} break; - case 31: + case 30: #line 168 "pars0grm.y" { yyval = yyvsp[0];;} break; - case 32: + case 31: #line 169 "pars0grm.y" { yyval = yyvsp[0];;} break; - case 33: + case 32: #line 170 "pars0grm.y" + { yyval = yyvsp[0];;} + break; + + case 33: +#line 171 "pars0grm.y" { yyval = pars_op('+', yyvsp[-2], yyvsp[0]); ;} break; case 34: -#line 171 "pars0grm.y" +#line 172 "pars0grm.y" { yyval = pars_op('-', yyvsp[-2], yyvsp[0]); ;} break; case 35: -#line 172 "pars0grm.y" +#line 173 "pars0grm.y" { yyval = pars_op('*', yyvsp[-2], yyvsp[0]); ;} break; case 36: -#line 173 "pars0grm.y" +#line 174 "pars0grm.y" { yyval = pars_op('/', yyvsp[-2], yyvsp[0]); ;} break; case 37: -#line 174 "pars0grm.y" +#line 175 "pars0grm.y" { yyval = pars_op('-', yyvsp[0], NULL); ;} break; case 38: -#line 175 "pars0grm.y" +#line 176 "pars0grm.y" { yyval = yyvsp[-1]; ;} break; case 39: -#line 176 "pars0grm.y" +#line 177 "pars0grm.y" { yyval = pars_op('=', yyvsp[-2], yyvsp[0]); ;} break; case 40: -#line 177 "pars0grm.y" +#line 178 "pars0grm.y" { yyval = pars_op('<', yyvsp[-2], yyvsp[0]); ;} break; case 41: -#line 178 "pars0grm.y" +#line 179 "pars0grm.y" { yyval = pars_op('>', yyvsp[-2], yyvsp[0]); ;} break; case 42: -#line 179 "pars0grm.y" +#line 180 "pars0grm.y" { yyval = pars_op(PARS_GE_TOKEN, yyvsp[-2], yyvsp[0]); ;} break; case 43: -#line 180 "pars0grm.y" +#line 181 "pars0grm.y" { yyval = pars_op(PARS_LE_TOKEN, yyvsp[-2], yyvsp[0]); ;} break; case 44: -#line 181 "pars0grm.y" +#line 182 "pars0grm.y" { yyval = pars_op(PARS_NE_TOKEN, yyvsp[-2], yyvsp[0]); ;} break; case 45: -#line 182 "pars0grm.y" +#line 183 "pars0grm.y" { yyval = pars_op(PARS_AND_TOKEN, yyvsp[-2], yyvsp[0]); ;} break; case 46: -#line 183 "pars0grm.y" +#line 184 "pars0grm.y" { yyval = pars_op(PARS_OR_TOKEN, yyvsp[-2], yyvsp[0]); ;} break; case 47: -#line 184 "pars0grm.y" +#line 185 "pars0grm.y" { yyval = pars_op(PARS_NOT_TOKEN, yyvsp[0], NULL); ;} break; case 48: -#line 186 "pars0grm.y" +#line 187 "pars0grm.y" { yyval = pars_op(PARS_NOTFOUND_TOKEN, yyvsp[-2], NULL); ;} break; case 49: -#line 188 "pars0grm.y" +#line 189 "pars0grm.y" { yyval = pars_op(PARS_NOTFOUND_TOKEN, yyvsp[-2], NULL); ;} break; case 50: -#line 192 "pars0grm.y" +#line 193 "pars0grm.y" { yyval = &pars_to_char_token; ;} break; case 51: -#line 193 "pars0grm.y" +#line 194 "pars0grm.y" { yyval = &pars_to_number_token; ;} break; case 52: -#line 194 "pars0grm.y" +#line 195 "pars0grm.y" { yyval = &pars_to_binary_token; ;} break; case 53: -#line 196 "pars0grm.y" +#line 197 "pars0grm.y" { yyval = &pars_binary_to_number_token; ;} break; case 54: -#line 197 "pars0grm.y" +#line 198 "pars0grm.y" { yyval = &pars_substr_token; ;} break; case 55: -#line 198 "pars0grm.y" +#line 199 "pars0grm.y" { yyval = &pars_concat_token; ;} break; case 56: -#line 199 "pars0grm.y" +#line 200 "pars0grm.y" { yyval = &pars_instr_token; ;} break; case 57: -#line 200 "pars0grm.y" +#line 201 "pars0grm.y" { yyval = &pars_length_token; ;} break; case 58: -#line 201 "pars0grm.y" +#line 202 "pars0grm.y" { yyval = &pars_sysdate_token; ;} break; case 59: -#line 202 "pars0grm.y" +#line 203 "pars0grm.y" { yyval = &pars_rnd_token; ;} break; case 60: -#line 203 "pars0grm.y" +#line 204 "pars0grm.y" { yyval = &pars_rnd_str_token; ;} break; case 64: -#line 214 "pars0grm.y" +#line 215 "pars0grm.y" { yyval = pars_stored_procedure_call(yyvsp[-4]); ;} break; case 65: -#line 219 "pars0grm.y" +#line 220 "pars0grm.y" { yyval = pars_procedure_call(yyvsp[-3], yyvsp[-1]); ;} break; case 66: -#line 223 "pars0grm.y" +#line 224 "pars0grm.y" { yyval = &pars_replstr_token; ;} break; case 67: -#line 224 "pars0grm.y" +#line 225 "pars0grm.y" { yyval = &pars_printf_token; ;} break; case 68: -#line 225 "pars0grm.y" +#line 226 "pars0grm.y" { yyval = &pars_assert_token; ;} break; case 69: -#line 229 "pars0grm.y" +#line 230 "pars0grm.y" { yyval = que_node_list_add_last(NULL, yyvsp[0]); ;} break; case 70: -#line 231 "pars0grm.y" +#line 232 "pars0grm.y" { yyval = que_node_list_add_last(yyvsp[-2], yyvsp[0]); ;} break; case 71: -#line 235 "pars0grm.y" +#line 236 "pars0grm.y" { yyval = NULL; ;} break; case 72: -#line 236 "pars0grm.y" +#line 237 "pars0grm.y" { yyval = que_node_list_add_last(NULL, yyvsp[0]); ;} break; case 73: -#line 238 "pars0grm.y" +#line 239 "pars0grm.y" { yyval = que_node_list_add_last(yyvsp[-2], yyvsp[0]); ;} break; case 74: -#line 242 "pars0grm.y" +#line 243 "pars0grm.y" { yyval = NULL; ;} break; case 75: -#line 243 "pars0grm.y" +#line 244 "pars0grm.y" { yyval = que_node_list_add_last(NULL, yyvsp[0]);;} break; case 76: -#line 244 "pars0grm.y" +#line 245 "pars0grm.y" { yyval = que_node_list_add_last(yyvsp[-2], yyvsp[0]); ;} break; case 77: -#line 248 "pars0grm.y" +#line 249 "pars0grm.y" { yyval = yyvsp[0]; ;} break; case 78: -#line 250 "pars0grm.y" +#line 251 "pars0grm.y" { yyval = pars_func(&pars_count_token, que_node_list_add_last(NULL, sym_tab_add_int_lit( @@ -1845,7 +1855,7 @@ yyreduce: break; case 79: -#line 255 "pars0grm.y" +#line 256 "pars0grm.y" { yyval = pars_func(&pars_count_token, que_node_list_add_last(NULL, pars_func(&pars_distinct_token, @@ -1854,409 +1864,420 @@ yyreduce: break; case 80: -#line 261 "pars0grm.y" +#line 262 "pars0grm.y" { yyval = pars_func(&pars_sum_token, que_node_list_add_last(NULL, yyvsp[-1])); ;} break; case 81: -#line 267 "pars0grm.y" +#line 268 "pars0grm.y" { yyval = NULL; ;} break; case 82: -#line 268 "pars0grm.y" +#line 269 "pars0grm.y" { yyval = que_node_list_add_last(NULL, yyvsp[0]); ;} break; case 83: -#line 270 "pars0grm.y" +#line 271 "pars0grm.y" { yyval = que_node_list_add_last(yyvsp[-2], yyvsp[0]); ;} break; case 84: -#line 274 "pars0grm.y" +#line 275 "pars0grm.y" { yyval = pars_select_list(&pars_star_denoter, NULL); ;} break; case 85: -#line 277 "pars0grm.y" +#line 278 "pars0grm.y" { yyval = pars_select_list(yyvsp[-2], yyvsp[0]); ;} break; case 86: -#line 278 "pars0grm.y" +#line 279 "pars0grm.y" { yyval = pars_select_list(yyvsp[0], NULL); ;} break; case 87: -#line 282 "pars0grm.y" +#line 283 "pars0grm.y" { yyval = NULL; ;} break; case 88: -#line 283 "pars0grm.y" +#line 284 "pars0grm.y" { yyval = yyvsp[0]; ;} break; case 89: -#line 287 "pars0grm.y" +#line 288 "pars0grm.y" { yyval = NULL; ;} break; case 90: -#line 289 "pars0grm.y" +#line 290 "pars0grm.y" { yyval = &pars_update_token; ;} break; case 91: -#line 293 "pars0grm.y" +#line 294 "pars0grm.y" { yyval = NULL; ;} break; case 92: -#line 295 "pars0grm.y" +#line 296 "pars0grm.y" { yyval = &pars_consistent_token; ;} break; case 93: -#line 299 "pars0grm.y" - { yyval = &pars_asc_token; ;} - break; - - case 94: #line 300 "pars0grm.y" { yyval = &pars_asc_token; ;} break; - case 95: + case 94: #line 301 "pars0grm.y" + { yyval = &pars_asc_token; ;} + break; + + case 95: +#line 302 "pars0grm.y" { yyval = &pars_desc_token; ;} break; case 96: -#line 305 "pars0grm.y" +#line 306 "pars0grm.y" { yyval = NULL; ;} break; case 97: -#line 307 "pars0grm.y" +#line 308 "pars0grm.y" { yyval = pars_order_by(yyvsp[-1], yyvsp[0]); ;} break; case 98: -#line 316 "pars0grm.y" +#line 317 "pars0grm.y" { yyval = pars_select_statement(yyvsp[-6], yyvsp[-4], yyvsp[-3], yyvsp[-2], yyvsp[-1], yyvsp[0]); ;} break; case 99: -#line 322 "pars0grm.y" +#line 323 "pars0grm.y" { yyval = yyvsp[0]; ;} break; case 100: -#line 327 "pars0grm.y" +#line 328 "pars0grm.y" { yyval = pars_insert_statement(yyvsp[-4], yyvsp[-1], NULL); ;} break; case 101: -#line 329 "pars0grm.y" +#line 330 "pars0grm.y" { yyval = pars_insert_statement(yyvsp[-1], NULL, yyvsp[0]); ;} break; case 102: -#line 333 "pars0grm.y" +#line 334 "pars0grm.y" { yyval = pars_column_assignment(yyvsp[-2], yyvsp[0]); ;} break; case 103: -#line 337 "pars0grm.y" +#line 338 "pars0grm.y" { yyval = que_node_list_add_last(NULL, yyvsp[0]); ;} break; case 104: -#line 339 "pars0grm.y" +#line 340 "pars0grm.y" { yyval = que_node_list_add_last(yyvsp[-2], yyvsp[0]); ;} break; case 105: -#line 345 "pars0grm.y" +#line 346 "pars0grm.y" { yyval = yyvsp[0]; ;} break; case 106: -#line 351 "pars0grm.y" +#line 352 "pars0grm.y" { yyval = pars_update_statement_start(FALSE, yyvsp[-2], yyvsp[0]); ;} break; case 107: -#line 357 "pars0grm.y" +#line 358 "pars0grm.y" { yyval = pars_update_statement(yyvsp[-1], NULL, yyvsp[0]); ;} break; case 108: -#line 362 "pars0grm.y" +#line 363 "pars0grm.y" { yyval = pars_update_statement(yyvsp[-1], yyvsp[0], NULL); ;} break; case 109: -#line 367 "pars0grm.y" +#line 368 "pars0grm.y" { yyval = pars_update_statement_start(TRUE, yyvsp[0], NULL); ;} break; case 110: -#line 373 "pars0grm.y" +#line 374 "pars0grm.y" { yyval = pars_update_statement(yyvsp[-1], NULL, yyvsp[0]); ;} break; case 111: -#line 378 "pars0grm.y" +#line 379 "pars0grm.y" { yyval = pars_update_statement(yyvsp[-1], yyvsp[0], NULL); ;} break; case 112: -#line 383 "pars0grm.y" +#line 384 "pars0grm.y" { yyval = pars_row_printf_statement(yyvsp[0]); ;} break; case 113: -#line 388 "pars0grm.y" +#line 389 "pars0grm.y" { yyval = pars_assignment_statement(yyvsp[-2], yyvsp[0]); ;} break; case 114: -#line 394 "pars0grm.y" +#line 395 "pars0grm.y" { yyval = pars_elsif_element(yyvsp[-2], yyvsp[0]); ;} break; case 115: -#line 398 "pars0grm.y" +#line 399 "pars0grm.y" { yyval = que_node_list_add_last(NULL, yyvsp[0]); ;} break; case 116: -#line 400 "pars0grm.y" +#line 401 "pars0grm.y" { yyval = que_node_list_add_last(yyvsp[-1], yyvsp[0]); ;} break; case 117: -#line 404 "pars0grm.y" +#line 405 "pars0grm.y" { yyval = NULL; ;} break; case 118: -#line 406 "pars0grm.y" - { yyval = yyvsp[0]; ;} - break; - - case 119: #line 407 "pars0grm.y" { yyval = yyvsp[0]; ;} break; + case 119: +#line 408 "pars0grm.y" + { yyval = yyvsp[0]; ;} + break; + case 120: -#line 414 "pars0grm.y" +#line 415 "pars0grm.y" { yyval = pars_if_statement(yyvsp[-5], yyvsp[-3], yyvsp[-2]); ;} break; case 121: -#line 420 "pars0grm.y" +#line 421 "pars0grm.y" { yyval = pars_while_statement(yyvsp[-4], yyvsp[-2]); ;} break; case 122: -#line 428 "pars0grm.y" +#line 429 "pars0grm.y" { yyval = pars_for_statement(yyvsp[-8], yyvsp[-6], yyvsp[-4], yyvsp[-2]); ;} break; case 123: -#line 432 "pars0grm.y" +#line 433 "pars0grm.y" { yyval = pars_return_statement(); ;} break; case 124: -#line 437 "pars0grm.y" +#line 438 "pars0grm.y" { yyval = pars_open_statement( ROW_SEL_OPEN_CURSOR, yyvsp[0]); ;} break; case 125: -#line 443 "pars0grm.y" +#line 444 "pars0grm.y" { yyval = pars_open_statement( ROW_SEL_CLOSE_CURSOR, yyvsp[0]); ;} break; case 126: -#line 449 "pars0grm.y" +#line 450 "pars0grm.y" { yyval = pars_fetch_statement(yyvsp[-2], yyvsp[0]); ;} break; case 127: -#line 454 "pars0grm.y" - { yyval = pars_column_def(yyvsp[-3], yyvsp[-2], yyvsp[-1], yyvsp[0]); ;} +#line 455 "pars0grm.y" + { yyval = pars_column_def(yyvsp[-4], yyvsp[-3], yyvsp[-2], yyvsp[-1], yyvsp[0]); ;} break; case 128: -#line 458 "pars0grm.y" +#line 459 "pars0grm.y" { yyval = que_node_list_add_last(NULL, yyvsp[0]); ;} break; case 129: -#line 460 "pars0grm.y" +#line 461 "pars0grm.y" { yyval = que_node_list_add_last(yyvsp[-2], yyvsp[0]); ;} break; case 130: -#line 464 "pars0grm.y" +#line 465 "pars0grm.y" { yyval = NULL; ;} break; case 131: -#line 466 "pars0grm.y" +#line 467 "pars0grm.y" { yyval = yyvsp[-1]; ;} break; case 132: -#line 470 "pars0grm.y" +#line 471 "pars0grm.y" { yyval = NULL; ;} break; case 133: -#line 472 "pars0grm.y" +#line 473 "pars0grm.y" { yyval = &pars_int_token; /* pass any non-NULL pointer */ ;} break; case 134: -#line 477 "pars0grm.y" +#line 478 "pars0grm.y" { yyval = NULL; ;} break; case 135: -#line 479 "pars0grm.y" +#line 480 "pars0grm.y" { yyval = &pars_int_token; /* pass any non-NULL pointer */ ;} break; case 136: -#line 486 "pars0grm.y" - { yyval = pars_create_table(yyvsp[-4], yyvsp[-2], yyvsp[0]); ;} - break; - - case 137: -#line 490 "pars0grm.y" - { yyval = que_node_list_add_last(NULL, yyvsp[0]); ;} - break; - - case 138: -#line 492 "pars0grm.y" - { yyval = que_node_list_add_last(yyvsp[-2], yyvsp[0]); ;} - break; - - case 139: -#line 496 "pars0grm.y" +#line 485 "pars0grm.y" { yyval = NULL; ;} break; + case 137: +#line 487 "pars0grm.y" + { yyval = &pars_int_token; + /* pass any non-NULL pointer */ ;} + break; + + case 138: +#line 494 "pars0grm.y" + { yyval = pars_create_table(yyvsp[-4], yyvsp[-2], yyvsp[0]); ;} + break; + + case 139: +#line 498 "pars0grm.y" + { yyval = que_node_list_add_last(NULL, yyvsp[0]); ;} + break; + case 140: -#line 497 "pars0grm.y" - { yyval = &pars_unique_token; ;} +#line 500 "pars0grm.y" + { yyval = que_node_list_add_last(yyvsp[-2], yyvsp[0]); ;} break; case 141: -#line 501 "pars0grm.y" +#line 504 "pars0grm.y" { yyval = NULL; ;} break; case 142: -#line 502 "pars0grm.y" - { yyval = &pars_clustered_token; ;} +#line 505 "pars0grm.y" + { yyval = &pars_unique_token; ;} break; case 143: -#line 510 "pars0grm.y" - { yyval = pars_create_index(yyvsp[-8], yyvsp[-7], yyvsp[-5], yyvsp[-3], yyvsp[-1]); ;} +#line 509 "pars0grm.y" + { yyval = NULL; ;} break; case 144: -#line 515 "pars0grm.y" - { yyval = pars_commit_statement(); ;} +#line 510 "pars0grm.y" + { yyval = &pars_clustered_token; ;} break; case 145: -#line 520 "pars0grm.y" - { yyval = pars_rollback_statement(); ;} +#line 518 "pars0grm.y" + { yyval = pars_create_index(yyvsp[-8], yyvsp[-7], yyvsp[-5], yyvsp[-3], yyvsp[-1]); ;} break; case 146: -#line 524 "pars0grm.y" - { yyval = &pars_int_token; ;} +#line 523 "pars0grm.y" + { yyval = pars_commit_statement(); ;} break; case 147: -#line 525 "pars0grm.y" - { yyval = &pars_int_token; ;} +#line 528 "pars0grm.y" + { yyval = pars_rollback_statement(); ;} break; case 148: -#line 526 "pars0grm.y" - { yyval = &pars_char_token; ;} +#line 532 "pars0grm.y" + { yyval = &pars_int_token; ;} break; case 149: -#line 527 "pars0grm.y" - { yyval = &pars_binary_token; ;} +#line 533 "pars0grm.y" + { yyval = &pars_int_token; ;} break; case 150: -#line 528 "pars0grm.y" - { yyval = &pars_blob_token; ;} +#line 534 "pars0grm.y" + { yyval = &pars_char_token; ;} break; case 151: -#line 533 "pars0grm.y" - { yyval = pars_parameter_declaration(yyvsp[-2], - PARS_INPUT, yyvsp[0]); ;} +#line 535 "pars0grm.y" + { yyval = &pars_binary_token; ;} break; case 152: #line 536 "pars0grm.y" - { yyval = pars_parameter_declaration(yyvsp[-2], - PARS_OUTPUT, yyvsp[0]); ;} + { yyval = &pars_blob_token; ;} break; case 153: #line 541 "pars0grm.y" - { yyval = NULL; ;} + { yyval = pars_parameter_declaration(yyvsp[-2], + PARS_INPUT, yyvsp[0]); ;} break; case 154: -#line 542 "pars0grm.y" - { yyval = que_node_list_add_last(NULL, yyvsp[0]); ;} +#line 544 "pars0grm.y" + { yyval = pars_parameter_declaration(yyvsp[-2], + PARS_OUTPUT, yyvsp[0]); ;} break; case 155: -#line 544 "pars0grm.y" - { yyval = que_node_list_add_last(yyvsp[-2], yyvsp[0]); ;} +#line 549 "pars0grm.y" + { yyval = NULL; ;} break; case 156: -#line 549 "pars0grm.y" +#line 550 "pars0grm.y" + { yyval = que_node_list_add_last(NULL, yyvsp[0]); ;} + break; + + case 157: +#line 552 "pars0grm.y" + { yyval = que_node_list_add_last(yyvsp[-2], yyvsp[0]); ;} + break; + + case 158: +#line 557 "pars0grm.y" { yyval = pars_variable_declaration(yyvsp[-2], yyvsp[-1]); ;} break; - case 160: -#line 561 "pars0grm.y" + case 162: +#line 569 "pars0grm.y" { yyval = pars_cursor_declaration(yyvsp[-3], yyvsp[-1]); ;} break; - case 164: -#line 577 "pars0grm.y" + case 166: +#line 585 "pars0grm.y" { yyval = pars_procedure_definition(yyvsp[-9], yyvsp[-7], yyvsp[-1]); ;} break; @@ -2265,7 +2286,7 @@ yyreduce: } /* Line 1010 of yacc.c. */ -#line 2269 "pars0grm.tab.c" +#line 2290 "pars0grm.tab.c" yyvsp -= yylen; yyssp -= yylen; @@ -2490,6 +2511,6 @@ yyreturn: } -#line 581 "pars0grm.y" +#line 589 "pars0grm.y" diff --git a/pars/pars0grm.h b/pars/pars0grm.h index e35fcf47692..77ea10682b3 100644 --- a/pars/pars0grm.h +++ b/pars/pars0grm.h @@ -114,7 +114,8 @@ PARS_COMMIT_TOKEN = 340, PARS_ROLLBACK_TOKEN = 341, PARS_WORK_TOKEN = 342, - NEG = 343 + PARS_UNSIGNED_TOKEN = 343, + NEG = 344 }; #endif #define PARS_INT_LIT 258 @@ -202,7 +203,8 @@ #define PARS_COMMIT_TOKEN 340 #define PARS_ROLLBACK_TOKEN 341 #define PARS_WORK_TOKEN 342 -#define NEG 343 +#define PARS_UNSIGNED_TOKEN 343 +#define NEG 344 diff --git a/pars/pars0grm.y b/pars/pars0grm.y index 435025d7386..1d9c8a4ed32 100644 --- a/pars/pars0grm.y +++ b/pars/pars0grm.y @@ -29,7 +29,7 @@ que_node_t */ int yylex(void); %} - + %token PARS_INT_LIT %token PARS_FLOAT_LIT %token PARS_STR_LIT @@ -115,6 +115,7 @@ yylex(void); %token PARS_COMMIT_TOKEN %token PARS_ROLLBACK_TOKEN %token PARS_WORK_TOKEN +%token PARS_UNSIGNED_TOKEN %left PARS_AND_TOKEN PARS_OR_TOKEN %left PARS_NOT_TOKEN @@ -262,14 +263,14 @@ select_item: que_node_list_add_last(NULL, $3)); } ; - + select_item_list: /* Nothing */ { $$ = NULL; } | select_item { $$ = que_node_list_add_last(NULL, $1); } | select_item_list ',' select_item { $$ = que_node_list_add_last($1, $3); } ; - + select_list: '*' { $$ = pars_select_list(&pars_star_denoter, NULL); } @@ -377,7 +378,7 @@ delete_statement_positioned: delete_statement_start cursor_positioned { $$ = pars_update_statement($1, $2, NULL); } ; - + row_printf_statement: PARS_ROW_PRINTF_TOKEN select_statement { $$ = pars_row_printf_statement($2); } @@ -450,8 +451,8 @@ fetch_statement: ; column_def: - PARS_ID_TOKEN type_name opt_column_len opt_not_null - { $$ = pars_column_def($1, $2, $3, $4); } + PARS_ID_TOKEN type_name opt_column_len opt_unsigned opt_not_null + { $$ = pars_column_def($1, $2, $3, $4, $5); } ; column_def_list: @@ -466,6 +467,13 @@ opt_column_len: { $$ = $2; } ; +opt_unsigned: + /* Nothing */ { $$ = NULL; } + | PARS_UNSIGNED_TOKEN + { $$ = &pars_int_token; + /* pass any non-NULL pointer */ } +; + opt_not_null: /* Nothing */ { $$ = NULL; } | PARS_NOT_TOKEN PARS_NULL_LIT @@ -479,7 +487,7 @@ not_fit_in_memory: { $$ = &pars_int_token; /* pass any non-NULL pointer */ } ; - + create_table: PARS_CREATE_TOKEN PARS_TABLE_TOKEN PARS_ID_TOKEN '(' column_def_list ')' @@ -550,8 +558,8 @@ variable_declaration: ; variable_declaration_list: - /* Nothing */ - | variable_declaration + /* Nothing */ + | variable_declaration | variable_declaration_list variable_declaration ; @@ -577,5 +585,5 @@ procedure_definition: PARS_END_TOKEN { $$ = pars_procedure_definition($2, $4, $10); } ; - + %% diff --git a/pars/pars0lex.l b/pars/pars0lex.l index 4224536d49e..81cbde3c420 100644 --- a/pars/pars0lex.l +++ b/pars/pars0lex.l @@ -96,7 +96,7 @@ string_append( } %} - + DIGIT [0-9] ID [a-z_A-Z][a-z_A-Z0-9]* %x comment @@ -462,6 +462,10 @@ In the state 'quoted', only two actions are possible (defined below). */ return(PARS_WORK_TOKEN); } +"UNSIGNED" { + return(PARS_UNSIGNED_TOKEN); +} + {ID} { yylval = sym_tab_add_id(pars_sym_tab_global, (byte*)yytext, diff --git a/pars/pars0pars.c b/pars/pars0pars.c index 1b7a3a653a9..c7b0b81a7c5 100644 --- a/pars/pars0pars.c +++ b/pars/pars0pars.c @@ -1085,6 +1085,8 @@ pars_set_dfield_type( pars_res_word_t* type, /* in: pointer to a type token */ ulint len, /* in: length, or 0 */ + ibool is_unsigned, /* in: if TRUE, column is + UNSIGNED. */ ibool is_not_null) /* in: if TRUE, column is NOT NULL. */ { @@ -1094,6 +1096,10 @@ pars_set_dfield_type( flags |= DATA_NOT_NULL; } + if (is_unsigned) { + flags |= DATA_UNSIGNED; + } + if (type == &pars_int_token) { if (len != 0) { ut_error; @@ -1158,7 +1164,7 @@ pars_variable_declaration( node->param_type = PARS_NOT_PARAM; - pars_set_dfield_type(que_node_get_val(node), type, 0, FALSE); + pars_set_dfield_type(que_node_get_val(node), type, 0, FALSE, FALSE); return(node); } @@ -1529,6 +1535,8 @@ pars_column_def( pars_res_word_t* type, /* in: data type */ sym_node_t* len, /* in: length of column, or NULL */ + void* is_unsigned, /* in: if not NULL, column + is of type UNSIGNED. */ void* is_not_null) /* in: if not NULL, column is of type NOT NULL. */ { @@ -1541,7 +1549,7 @@ pars_column_def( } pars_set_dfield_type(que_node_get_val(sym_node), type, len2, - is_not_null != NULL); + is_unsigned != NULL, is_not_null != NULL); return(sym_node); }