提交 8b894921 编写于 作者: X Xiaoyu Wang

fix: some problems of parser

上级 fb314259
......@@ -114,7 +114,7 @@ int32_t tsMinSlidingTime = 10;
// the maxinum number of distict query result
int32_t tsMaxNumOfDistinctResults = 1000 * 10000;
// 1 us for interval time range, changed accordingly
// 1 database precision unit for interval time range, changed accordingly
int32_t tsMinIntervalTime = 1;
// 20sec, the maximum value of stream computing delay, changed accordingly
......
......@@ -2481,7 +2481,6 @@ static int32_t jsonToSubplan(const SJson* pJson, void* pObj) {
int32_t code = tjsonToObject(pJson, jkSubplanId, jsonToSubplanId, &pNode->id);
if (TSDB_CODE_SUCCESS == code) {
tjsonGetNumberValue(pJson, jkSubplanType, pNode->subplanType, code);
;
}
if (TSDB_CODE_SUCCESS == code) {
code = tjsonGetIntValue(pJson, jkSubplanMsgType, &pNode->msgType);
......
......@@ -956,7 +956,8 @@ void nodesDestroyNode(SNode* pNode) {
}
case QUERY_NODE_PHYSICAL_SUBPLAN: {
SSubplan* pSubplan = (SSubplan*)pNode;
nodesDestroyList(pSubplan->pChildren);
// nodesDestroyList(pSubplan->pChildren);
nodesClearList(pSubplan->pChildren);
nodesDestroyNode((SNode*)pSubplan->pNode);
nodesDestroyNode((SNode*)pSubplan->pDataSink);
nodesDestroyNode((SNode*)pSubplan->pTagCond);
......@@ -972,7 +973,7 @@ void nodesDestroyNode(SNode* pNode) {
SNode* pElement = NULL;
FOREACH(pElement, pPlan->pSubplans) {
if (first) {
first = false;
// first = false;
nodesDestroyNode(pElement);
} else {
nodesClearList(((SNodeListNode*)pElement)->pNodeList);
......
......@@ -556,6 +556,7 @@ signed_literal(A) ::= TIMESTAMP NK_STRING(B).
signed_literal(A) ::= duration_literal(B). { A = releaseRawExprNode(pCxt, B); }
signed_literal(A) ::= NULL(B). { A = createValueNode(pCxt, TSDB_DATA_TYPE_NULL, &B); }
signed_literal(A) ::= literal_func(B). { A = releaseRawExprNode(pCxt, B); }
signed_literal(A) ::= NK_QUESTION(B). { A = createPlaceholderValueNode(pCxt, &B); }
%type literal_list { SNodeList* }
%destructor literal_list { nodesDestroyList($$); }
......
......@@ -133,7 +133,10 @@ static int32_t createSName(SName* pName, SToken* pTableName, int32_t acctId, con
assert(*p == TS_PATH_DELIMITER[0]);
int32_t dbLen = p - pTableName->z;
char name[TSDB_DB_FNAME_LEN] = {0};
if (dbLen <= 0) {
return buildInvalidOperationMsg(pMsgBuf, msg2);
}
char name[TSDB_DB_FNAME_LEN] = {0};
strncpy(name, pTableName->z, dbLen);
dbLen = strdequote(name);
......
......@@ -2173,14 +2173,28 @@ static int64_t getMonthsFromTimeVal(int64_t val, int32_t fromPrecision, char uni
return -1;
}
static const char* getPrecisionStr(uint8_t precision) {
switch (precision) {
case TSDB_TIME_PRECISION_MILLI:
return TSDB_TIME_PRECISION_MILLI_STR;
case TSDB_TIME_PRECISION_MICRO:
return TSDB_TIME_PRECISION_MICRO_STR;
case TSDB_TIME_PRECISION_NANO:
return TSDB_TIME_PRECISION_NANO_STR;
default:
break;
}
return "unknown";
}
static int32_t checkIntervalWindow(STranslateContext* pCxt, SIntervalWindowNode* pInterval) {
uint8_t precision = ((SColumnNode*)pInterval->pCol)->node.resType.precision;
SValueNode* pInter = (SValueNode*)pInterval->pInterval;
bool valInter = TIME_IS_VAR_DURATION(pInter->unit);
if (pInter->datum.i <= 0 ||
(!valInter && convertTimePrecision(pInter->datum.i, precision, TSDB_TIME_PRECISION_MICRO) < tsMinIntervalTime)) {
return generateSyntaxErrMsg(&pCxt->msgBuf, TSDB_CODE_PAR_INTER_VALUE_TOO_SMALL, tsMinIntervalTime);
if (pInter->datum.i <= 0 || (!valInter && pInter->datum.i < tsMinIntervalTime)) {
return generateSyntaxErrMsg(&pCxt->msgBuf, TSDB_CODE_PAR_INTER_VALUE_TOO_SMALL, tsMinIntervalTime,
getPrecisionStr(precision));
}
if (NULL != pInterval->pOffset) {
......@@ -2754,6 +2768,11 @@ static int32_t translateInsertProject(STranslateContext* pCxt, SInsertStmt* pIns
}
}
if (NULL == pPrimaryKeyExpr) {
return generateSyntaxErrMsgExt(&pCxt->msgBuf, TSDB_CODE_PAR_INVALID_COLUMNS_NUM,
"Primary timestamp column can not be null");
}
return addOrderByPrimaryKeyToQuery(pCxt, pPrimaryKeyExpr, pInsert->pQuery);
}
......@@ -2998,8 +3017,7 @@ static int32_t checkDatabaseOptions(STranslateContext* pCxt, const char* pDbName
int32_t code =
checkRangeOption(pCxt, "buffer", pOptions->buffer, TSDB_MIN_BUFFER_PER_VNODE, TSDB_MAX_BUFFER_PER_VNODE);
if (TSDB_CODE_SUCCESS == code) {
code = checkRangeOption(pCxt, "cacheLast", pOptions->cacheLast, TSDB_MIN_DB_CACHE_LAST,
TSDB_MAX_DB_CACHE_LAST);
code = checkRangeOption(pCxt, "cacheLast", pOptions->cacheLast, TSDB_MIN_DB_CACHE_LAST, TSDB_MAX_DB_CACHE_LAST);
}
if (TSDB_CODE_SUCCESS == code) {
code = checkRangeOption(pCxt, "cacheLastSize", pOptions->cacheLastSize, TSDB_MIN_DB_CACHE_LAST_SIZE,
......
......@@ -60,7 +60,7 @@ static char* getSyntaxErrFormat(int32_t errCode) {
case TSDB_CODE_PAR_EXPRIE_STATEMENT:
return "This statement is no longer supported";
case TSDB_CODE_PAR_INTER_VALUE_TOO_SMALL:
return "Interval cannot be less than %d us";
return "Interval cannot be less than %d %s";
case TSDB_CODE_PAR_DB_NOT_SPECIFIED:
return "Database not specified";
case TSDB_CODE_PAR_INVALID_IDENTIFIER_NAME:
......
......@@ -140,16 +140,16 @@ typedef union {
#define ParseCTX_STORE
#define YYFALLBACK 1
#define YYNSTATE 666
#define YYNRULE 488
#define YYNRULE 489
#define YYNTOKEN 255
#define YY_MAX_SHIFT 665
#define YY_MIN_SHIFTREDUCE 969
#define YY_MAX_SHIFTREDUCE 1456
#define YY_ERROR_ACTION 1457
#define YY_ACCEPT_ACTION 1458
#define YY_NO_ACTION 1459
#define YY_MIN_REDUCE 1460
#define YY_MAX_REDUCE 1947
#define YY_MIN_SHIFTREDUCE 970
#define YY_MAX_SHIFTREDUCE 1458
#define YY_ERROR_ACTION 1459
#define YY_ACCEPT_ACTION 1460
#define YY_NO_ACTION 1461
#define YY_MIN_REDUCE 1462
#define YY_MAX_REDUCE 1950
/************* End control #defines *******************************************/
#define YY_NLOOKAHEAD ((int)(sizeof(yy_lookahead)/sizeof(yy_lookahead[0])))
......@@ -216,260 +216,240 @@ typedef union {
** yy_default[] Default action for each state.
**
*********** Begin parsing tables **********************************************/
#define YY_ACTTAB_COUNT (2520)
#define YY_ACTTAB_COUNT (2318)
static const YYACTIONTYPE yy_action[] = {
/* 0 */ 529, 1698, 433, 552, 434, 1495, 441, 1587, 434, 1495,
/* 10 */ 1769, 113, 39, 37, 386, 62, 517, 1583, 471, 380,
/* 20 */ 338, 1766, 1258, 1002, 324, 79, 1782, 1695, 1598, 30,
/* 30 */ 260, 122, 143, 1333, 103, 1256, 1554, 102, 101, 100,
/* 40 */ 99, 98, 97, 96, 95, 94, 1591, 1762, 1768, 327,
/* 50 */ 71, 302, 557, 1925, 1800, 555, 1328, 1512, 1283, 574,
/* 60 */ 1925, 14, 581, 1006, 1007, 500, 1924, 1752, 1264, 580,
/* 70 */ 1922, 120, 1594, 159, 39, 37, 1396, 1922, 498, 487,
/* 80 */ 496, 529, 338, 557, 1258, 1, 250, 1867, 551, 1019,
/* 90 */ 550, 1018, 164, 1925, 1813, 1333, 61, 1256, 89, 1783,
/* 100 */ 583, 1785, 1786, 579, 469, 574, 161, 662, 1859, 1598,
/* 110 */ 1922, 343, 305, 1855, 1643, 1645, 71, 61, 1328, 1020,
/* 120 */ 43, 1335, 1336, 14, 1925, 1461, 1925, 33, 32, 117,
/* 130 */ 1264, 40, 38, 36, 35, 34, 475, 161, 1593, 160,
/* 140 */ 142, 1922, 1472, 1922, 1483, 1782, 103, 2, 214, 102,
/* 150 */ 101, 100, 99, 98, 97, 96, 95, 94, 474, 1155,
/* 160 */ 1156, 486, 485, 484, 170, 1925, 1259, 483, 1257, 662,
/* 170 */ 118, 480, 325, 1800, 479, 478, 477, 1458, 1923, 74,
/* 180 */ 140, 556, 1922, 1335, 1336, 1752, 1752, 555, 580, 1600,
/* 190 */ 1644, 1645, 69, 1262, 1263, 68, 1311, 1312, 1314, 1315,
/* 200 */ 1316, 1317, 1318, 576, 572, 1326, 1327, 1329, 1330, 1331,
/* 210 */ 1332, 1334, 1337, 1813, 36, 35, 34, 90, 1783, 583,
/* 220 */ 1785, 1786, 579, 529, 574, 162, 371, 1859, 1259, 555,
/* 230 */ 1257, 329, 1855, 154, 113, 419, 162, 350, 1482, 33,
/* 0 */ 529, 1700, 433, 552, 434, 1497, 441, 1589, 434, 1497,
/* 10 */ 1772, 113, 39, 37, 386, 62, 517, 1585, 471, 380,
/* 20 */ 338, 1768, 1259, 1003, 324, 79, 1785, 1697, 1600, 30,
/* 30 */ 260, 122, 143, 1335, 103, 1257, 1556, 102, 101, 100,
/* 40 */ 99, 98, 97, 96, 95, 94, 1593, 1764, 1770, 327,
/* 50 */ 71, 302, 557, 1928, 1803, 555, 1330, 1514, 1285, 574,
/* 60 */ 1928, 14, 581, 1007, 1008, 500, 1927, 1754, 1265, 580,
/* 70 */ 1925, 120, 1596, 159, 39, 37, 1398, 1925, 498, 487,
/* 80 */ 496, 529, 338, 557, 1259, 1, 250, 1870, 551, 1020,
/* 90 */ 550, 1019, 164, 1928, 1816, 1335, 61, 1257, 89, 1786,
/* 100 */ 583, 1788, 1789, 579, 469, 574, 161, 662, 1862, 1600,
/* 110 */ 1925, 343, 305, 1858, 1645, 1647, 71, 61, 1330, 1021,
/* 120 */ 43, 1337, 1338, 14, 1928, 1463, 1928, 33, 32, 117,
/* 130 */ 1265, 40, 38, 36, 35, 34, 475, 161, 1595, 160,
/* 140 */ 142, 1925, 1474, 1925, 1485, 1785, 103, 2, 214, 102,
/* 150 */ 101, 100, 99, 98, 97, 96, 95, 94, 474, 1156,
/* 160 */ 1157, 486, 485, 484, 170, 1928, 1260, 483, 1258, 662,
/* 170 */ 118, 480, 325, 1803, 479, 478, 477, 1460, 1926, 74,
/* 180 */ 140, 556, 1925, 1337, 1338, 1754, 1754, 555, 580, 1602,
/* 190 */ 1646, 1647, 69, 1263, 1264, 68, 1313, 1314, 1316, 1317,
/* 200 */ 1318, 1319, 1320, 576, 572, 1328, 1329, 1331, 1332, 1333,
/* 210 */ 1334, 1336, 1339, 1816, 36, 35, 34, 90, 1786, 583,
/* 220 */ 1788, 1789, 579, 529, 574, 162, 371, 1862, 1260, 555,
/* 230 */ 1258, 329, 1858, 154, 113, 419, 162, 350, 1484, 33,
/* 240 */ 32, 476, 450, 40, 38, 36, 35, 34, 373, 369,
/* 250 */ 1283, 1598, 552, 1886, 1393, 1262, 1263, 162, 1311, 1312,
/* 260 */ 1314, 1315, 1316, 1317, 1318, 576, 572, 1326, 1327, 1329,
/* 270 */ 1330, 1331, 1332, 1334, 1337, 39, 37, 1453, 1925, 1752,
/* 280 */ 122, 174, 173, 338, 220, 1258, 40, 38, 36, 35,
/* 290 */ 34, 159, 306, 61, 42, 1922, 1333, 1739, 1256, 1113,
/* 300 */ 605, 604, 603, 1117, 602, 1119, 1120, 601, 1122, 598,
/* 310 */ 1800, 1128, 595, 1130, 1131, 592, 589, 1296, 545, 1328,
/* 320 */ 120, 1782, 33, 32, 14, 1355, 40, 38, 36, 35,
/* 330 */ 34, 1264, 39, 37, 554, 155, 1867, 1868, 86, 1872,
/* 340 */ 338, 552, 1258, 1769, 359, 1650, 1238, 1239, 2, 1800,
/* 350 */ 341, 119, 326, 1333, 1766, 1256, 544, 581, 140, 1590,
/* 360 */ 344, 1648, 1752, 529, 580, 1400, 1452, 1600, 140, 122,
/* 370 */ 662, 1282, 1282, 379, 165, 378, 1328, 1600, 557, 1356,
/* 380 */ 1762, 1768, 333, 1576, 1335, 1336, 1460, 432, 1264, 1813,
/* 390 */ 436, 1598, 574, 89, 1783, 583, 1785, 1786, 579, 1481,
/* 400 */ 574, 440, 1361, 1859, 436, 8, 215, 305, 1855, 120,
/* 410 */ 112, 111, 110, 109, 108, 107, 106, 105, 104, 1925,
/* 420 */ 482, 481, 632, 630, 156, 1867, 1868, 662, 1872, 1259,
/* 430 */ 208, 1257, 159, 162, 162, 61, 1922, 75, 516, 1480,
/* 440 */ 1752, 1335, 1336, 450, 29, 336, 1350, 1351, 1352, 1353,
/* 450 */ 1354, 1358, 1359, 1360, 1479, 315, 1262, 1263, 546, 1311,
/* 460 */ 1312, 1314, 1315, 1316, 1317, 1318, 576, 572, 1326, 1327,
/* 470 */ 1329, 1330, 1331, 1332, 1334, 1337, 1392, 33, 32, 1925,
/* 480 */ 1752, 40, 38, 36, 35, 34, 1259, 1357, 1257, 73,
/* 490 */ 304, 1650, 159, 519, 541, 1752, 1922, 33, 32, 348,
/* 500 */ 1284, 40, 38, 36, 35, 34, 316, 1649, 314, 313,
/* 510 */ 1362, 473, 616, 1262, 1263, 475, 1311, 1312, 1314, 1315,
/* 520 */ 1316, 1317, 1318, 576, 572, 1326, 1327, 1329, 1330, 1331,
/* 530 */ 1332, 1334, 1337, 39, 37, 1338, 438, 474, 1006, 1007,
/* 540 */ 1925, 338, 1280, 1258, 1782, 162, 1874, 1478, 1313, 1019,
/* 550 */ 306, 1018, 27, 159, 1333, 1427, 1256, 1922, 1589, 33,
/* 560 */ 32, 221, 222, 40, 38, 36, 35, 34, 1285, 1766,
/* 570 */ 1871, 552, 1800, 547, 542, 162, 1574, 1328, 1281, 1020,
/* 580 */ 556, 529, 529, 1355, 153, 1752, 1477, 580, 1752, 1264,
/* 590 */ 39, 37, 384, 385, 22, 1762, 1768, 1637, 338, 122,
/* 600 */ 1258, 1522, 1075, 11, 10, 140, 9, 574, 1650, 1598,
/* 610 */ 1598, 1333, 1813, 1256, 1601, 342, 90, 1783, 583, 1785,
/* 620 */ 1786, 579, 304, 574, 1648, 519, 1859, 1752, 662, 529,
/* 630 */ 329, 1855, 154, 252, 1328, 1077, 616, 1356, 1874, 120,
/* 640 */ 389, 1473, 1335, 1336, 158, 1343, 1264, 1694, 1688, 299,
/* 650 */ 517, 1282, 1885, 1264, 157, 1867, 1868, 1598, 1872, 172,
/* 660 */ 1361, 1696, 1870, 9, 639, 638, 637, 636, 346, 561,
/* 250 */ 1285, 1600, 552, 1889, 1395, 1263, 1264, 162, 1313, 1314,
/* 260 */ 1316, 1317, 1318, 1319, 1320, 576, 572, 1328, 1329, 1331,
/* 270 */ 1332, 1333, 1334, 1336, 1339, 39, 37, 1455, 1928, 1754,
/* 280 */ 122, 174, 173, 338, 220, 1259, 40, 38, 36, 35,
/* 290 */ 34, 159, 306, 61, 42, 1925, 1335, 1741, 1257, 1114,
/* 300 */ 605, 604, 603, 1118, 602, 1120, 1121, 601, 1123, 598,
/* 310 */ 1803, 1129, 595, 1131, 1132, 592, 589, 1298, 545, 1330,
/* 320 */ 120, 1785, 33, 32, 14, 1357, 40, 38, 36, 35,
/* 330 */ 34, 1265, 39, 37, 554, 155, 1870, 1871, 86, 1875,
/* 340 */ 338, 552, 1259, 1772, 359, 1652, 1239, 1240, 2, 1803,
/* 350 */ 341, 119, 326, 1335, 1768, 1257, 544, 581, 140, 1592,
/* 360 */ 344, 1650, 1754, 529, 580, 1402, 1454, 1602, 140, 122,
/* 370 */ 662, 1284, 1284, 379, 165, 378, 1330, 1602, 557, 1358,
/* 380 */ 1764, 1770, 333, 1578, 1337, 1338, 1462, 432, 1265, 1816,
/* 390 */ 436, 1600, 574, 89, 1786, 583, 1788, 1789, 579, 1483,
/* 400 */ 574, 440, 1363, 1862, 436, 8, 215, 305, 1858, 120,
/* 410 */ 112, 111, 110, 109, 108, 107, 106, 105, 104, 1928,
/* 420 */ 482, 481, 632, 630, 156, 1870, 1871, 662, 1875, 1260,
/* 430 */ 208, 1258, 159, 162, 162, 61, 1925, 75, 516, 1482,
/* 440 */ 1754, 1337, 1338, 450, 29, 336, 1352, 1353, 1354, 1355,
/* 450 */ 1356, 1360, 1361, 1362, 1481, 315, 1263, 1264, 546, 1313,
/* 460 */ 1314, 1316, 1317, 1318, 1319, 1320, 576, 572, 1328, 1329,
/* 470 */ 1331, 1332, 1333, 1334, 1336, 1339, 1394, 33, 32, 1928,
/* 480 */ 1754, 40, 38, 36, 35, 34, 1260, 1359, 1258, 73,
/* 490 */ 304, 1652, 159, 519, 541, 1754, 1925, 33, 32, 348,
/* 500 */ 1286, 40, 38, 36, 35, 34, 316, 1651, 314, 313,
/* 510 */ 1364, 473, 616, 1263, 1264, 475, 1313, 1314, 1316, 1317,
/* 520 */ 1318, 1319, 1320, 576, 572, 1328, 1329, 1331, 1332, 1333,
/* 530 */ 1334, 1336, 1339, 39, 37, 1340, 438, 474, 1007, 1008,
/* 540 */ 1928, 338, 1282, 1259, 1785, 162, 1877, 1480, 1315, 1020,
/* 550 */ 306, 1019, 27, 159, 1335, 1429, 1257, 1925, 1591, 33,
/* 560 */ 32, 221, 222, 40, 38, 36, 35, 34, 1287, 1768,
/* 570 */ 1874, 552, 1803, 547, 542, 162, 1576, 1330, 1283, 1021,
/* 580 */ 556, 529, 529, 1357, 153, 1754, 1479, 580, 1754, 1265,
/* 590 */ 39, 37, 384, 385, 22, 1764, 1770, 1639, 338, 122,
/* 600 */ 1259, 1524, 1076, 11, 10, 140, 9, 574, 1652, 1600,
/* 610 */ 1600, 1335, 1816, 1257, 1603, 342, 90, 1786, 583, 1788,
/* 620 */ 1789, 579, 304, 574, 1650, 519, 1862, 1754, 662, 529,
/* 630 */ 329, 1858, 154, 252, 1330, 1078, 616, 1358, 1877, 120,
/* 640 */ 389, 1557, 1337, 1338, 158, 1345, 1265, 1696, 1690, 299,
/* 650 */ 517, 1284, 1888, 1265, 157, 1870, 1871, 1600, 1875, 172,
/* 660 */ 1363, 1698, 1873, 9, 639, 638, 637, 636, 346, 1587,
/* 670 */ 635, 634, 633, 123, 628, 627, 626, 625, 624, 623,
/* 680 */ 622, 621, 133, 617, 1525, 662, 1282, 1259, 1369, 1257,
/* 690 */ 33, 32, 1874, 1476, 40, 38, 36, 35, 34, 1335,
/* 700 */ 1336, 232, 29, 336, 1350, 1351, 1352, 1353, 1354, 1358,
/* 710 */ 1359, 1360, 7, 1475, 1262, 1263, 1869, 1311, 1312, 1314,
/* 720 */ 1315, 1316, 1317, 1318, 576, 572, 1326, 1327, 1329, 1330,
/* 730 */ 1331, 1332, 1334, 1337, 1752, 33, 32, 1879, 1389, 40,
/* 740 */ 38, 36, 35, 34, 1259, 608, 1257, 486, 485, 484,
/* 750 */ 44, 4, 1258, 483, 1752, 272, 118, 480, 1628, 619,
/* 760 */ 479, 478, 477, 1474, 1585, 1256, 1417, 1693, 1407, 299,
/* 770 */ 612, 1262, 1263, 1641, 1311, 1312, 1314, 1315, 1316, 1317,
/* 780 */ 1318, 576, 572, 1326, 1327, 1329, 1330, 1331, 1332, 1334,
/* 790 */ 1337, 39, 37, 301, 613, 1280, 614, 1641, 1264, 338,
/* 800 */ 1581, 1258, 412, 1782, 1752, 424, 211, 538, 1415, 1416,
/* 810 */ 1418, 1419, 1333, 1296, 1256, 131, 130, 611, 610, 609,
/* 820 */ 11, 10, 397, 1575, 425, 575, 399, 59, 1313, 529,
/* 830 */ 529, 1800, 529, 1471, 620, 1328, 1570, 662, 1573, 581,
/* 840 */ 404, 405, 26, 449, 1752, 509, 580, 1264, 33, 32,
/* 850 */ 1507, 1505, 40, 38, 36, 35, 34, 1598, 1598, 390,
/* 860 */ 1598, 33, 32, 1313, 2, 40, 38, 36, 35, 34,
/* 870 */ 562, 1813, 489, 492, 1752, 91, 1783, 583, 1785, 1786,
/* 880 */ 579, 28, 574, 607, 631, 1859, 662, 33, 32, 1858,
/* 890 */ 1855, 40, 38, 36, 35, 34, 1259, 1389, 1257, 423,
/* 900 */ 1335, 1336, 418, 417, 416, 415, 414, 411, 410, 409,
/* 680 */ 622, 621, 133, 617, 1527, 662, 1284, 1260, 1371, 1258,
/* 690 */ 33, 32, 1877, 1478, 40, 38, 36, 35, 34, 1337,
/* 700 */ 1338, 232, 29, 336, 1352, 1353, 1354, 1355, 1356, 1360,
/* 710 */ 1361, 1362, 7, 1477, 1263, 1264, 1872, 1313, 1314, 1316,
/* 720 */ 1317, 1318, 1319, 1320, 576, 572, 1328, 1329, 1331, 1332,
/* 730 */ 1333, 1334, 1336, 1339, 1754, 33, 32, 1882, 1391, 40,
/* 740 */ 38, 36, 35, 34, 1260, 561, 1258, 486, 485, 484,
/* 750 */ 44, 4, 1259, 483, 1754, 272, 118, 480, 1630, 608,
/* 760 */ 479, 478, 477, 1476, 619, 1257, 1419, 1695, 1409, 299,
/* 770 */ 612, 1263, 1264, 1643, 1313, 1314, 1316, 1317, 1318, 1319,
/* 780 */ 1320, 576, 572, 1328, 1329, 1331, 1332, 1333, 1334, 1336,
/* 790 */ 1339, 39, 37, 301, 613, 1282, 614, 1643, 1265, 338,
/* 800 */ 1583, 1259, 412, 1785, 1754, 424, 1268, 538, 1417, 1418,
/* 810 */ 1420, 1421, 1335, 1298, 1257, 131, 130, 611, 610, 609,
/* 820 */ 11, 10, 397, 529, 425, 211, 399, 631, 1315, 529,
/* 830 */ 529, 1803, 529, 1473, 404, 1330, 620, 662, 1572, 581,
/* 840 */ 405, 449, 26, 1597, 1754, 59, 580, 1265, 33, 32,
/* 850 */ 1509, 1600, 40, 38, 36, 35, 34, 1600, 1600, 390,
/* 860 */ 1600, 33, 32, 1315, 2, 40, 38, 36, 35, 34,
/* 870 */ 374, 1816, 489, 570, 1754, 91, 1786, 583, 1788, 1789,
/* 880 */ 579, 28, 574, 1457, 1458, 1862, 662, 33, 32, 1861,
/* 890 */ 1858, 40, 38, 36, 35, 34, 1260, 1391, 1258, 423,
/* 900 */ 1337, 1338, 418, 417, 416, 415, 414, 411, 410, 409,
/* 910 */ 408, 407, 403, 402, 401, 400, 394, 393, 392, 391,
/* 920 */ 614, 388, 387, 1262, 1263, 529, 1470, 374, 199, 141,
/* 930 */ 1555, 197, 564, 529, 278, 614, 1595, 52, 513, 131,
/* 940 */ 130, 611, 610, 609, 1727, 1259, 255, 1257, 276, 58,
/* 950 */ 41, 219, 57, 1598, 131, 130, 611, 610, 609, 1267,
/* 960 */ 1770, 1598, 502, 1469, 1782, 1455, 1456, 1752, 177, 429,
/* 970 */ 427, 1766, 1262, 1263, 1468, 1311, 1312, 1314, 1315, 1316,
/* 980 */ 1317, 1318, 576, 572, 1326, 1327, 1329, 1330, 1331, 1332,
/* 990 */ 1334, 1337, 1800, 1206, 223, 539, 61, 1762, 1768, 529,
/* 1000 */ 581, 468, 529, 1925, 1752, 1752, 139, 580, 1467, 574,
/* 1010 */ 510, 1266, 1466, 514, 529, 1752, 159, 1772, 201, 1465,
/* 1020 */ 1922, 200, 1464, 203, 1463, 527, 202, 1598, 570, 503,
/* 1030 */ 1598, 1801, 1813, 244, 88, 125, 90, 1783, 583, 1785,
/* 1040 */ 1786, 579, 1598, 574, 529, 1782, 1859, 529, 529, 1752,
/* 1050 */ 329, 1855, 1938, 1752, 205, 528, 1774, 204, 261, 345,
/* 1060 */ 1752, 1893, 552, 1752, 1046, 1752, 559, 128, 1501, 66,
/* 1070 */ 65, 383, 1598, 1800, 169, 1598, 1598, 347, 522, 85,
/* 1080 */ 377, 581, 129, 50, 335, 334, 1752, 1496, 580, 82,
/* 1090 */ 122, 236, 1270, 300, 1272, 1638, 367, 1047, 365, 361,
/* 1100 */ 357, 166, 352, 349, 249, 1333, 1889, 1265, 254, 553,
/* 1110 */ 229, 557, 257, 1813, 50, 3, 657, 90, 1783, 583,
/* 1120 */ 1785, 1786, 579, 1782, 574, 1106, 1414, 1859, 1328, 41,
/* 1130 */ 120, 329, 1855, 1938, 239, 565, 162, 41, 491, 259,
/* 1140 */ 1264, 80, 1916, 587, 1269, 250, 1867, 551, 53, 550,
/* 1150 */ 5, 1800, 1925, 501, 351, 1280, 354, 1363, 128, 581,
/* 1160 */ 1347, 358, 1222, 129, 1752, 159, 580, 207, 311, 1922,
/* 1170 */ 114, 128, 1319, 1075, 312, 406, 1782, 268, 1690, 569,
/* 1180 */ 271, 494, 171, 413, 421, 488, 1134, 420, 422, 1286,
/* 1190 */ 206, 1813, 426, 428, 430, 90, 1783, 583, 1785, 1786,
/* 1200 */ 579, 1138, 574, 431, 1800, 1859, 1145, 439, 1289, 329,
/* 1210 */ 1855, 1938, 581, 1143, 132, 442, 180, 1752, 56, 580,
/* 1220 */ 1878, 55, 443, 182, 1288, 1290, 445, 444, 1782, 185,
/* 1230 */ 447, 187, 1287, 557, 189, 451, 70, 448, 1273, 470,
/* 1240 */ 1268, 472, 192, 1588, 1813, 303, 196, 1732, 285, 1783,
/* 1250 */ 583, 1785, 1786, 579, 1584, 574, 1800, 93, 269, 198,
/* 1260 */ 134, 135, 504, 1586, 581, 1276, 1582, 136, 137, 1752,
/* 1270 */ 209, 580, 505, 212, 1925, 511, 572, 1326, 1327, 1329,
/* 1280 */ 1330, 1331, 1332, 515, 508, 557, 216, 161, 518, 537,
/* 1290 */ 227, 1922, 321, 1782, 126, 1731, 1813, 127, 1700, 520,
/* 1300 */ 285, 1783, 583, 1785, 1786, 579, 323, 574, 523, 1782,
/* 1310 */ 225, 524, 270, 525, 78, 1599, 1285, 1890, 533, 535,
/* 1320 */ 540, 1800, 234, 238, 1900, 536, 1925, 328, 6, 581,
/* 1330 */ 543, 549, 534, 532, 1752, 531, 580, 1800, 248, 159,
/* 1340 */ 1389, 121, 1284, 1922, 566, 578, 563, 48, 1899, 330,
/* 1350 */ 1752, 1875, 580, 1840, 585, 1881, 245, 243, 1642, 148,
/* 1360 */ 247, 1813, 273, 264, 1782, 91, 1783, 583, 1785, 1786,
/* 1370 */ 579, 246, 574, 1571, 658, 1859, 1782, 1813, 659, 568,
/* 1380 */ 1855, 293, 1783, 583, 1785, 1786, 579, 577, 574, 571,
/* 1390 */ 1831, 661, 1800, 51, 147, 275, 1746, 1921, 253, 286,
/* 1400 */ 581, 296, 295, 277, 1800, 1752, 560, 580, 256, 1941,
/* 1410 */ 567, 63, 581, 258, 1745, 1744, 64, 1752, 1743, 580,
/* 1420 */ 353, 1740, 355, 356, 1250, 1251, 167, 360, 1738, 362,
/* 1430 */ 363, 364, 1813, 1737, 366, 1736, 144, 1783, 583, 1785,
/* 1440 */ 1786, 579, 368, 574, 1813, 1735, 370, 1734, 91, 1783,
/* 1450 */ 583, 1785, 1786, 579, 1782, 574, 1717, 372, 1859, 375,
/* 1460 */ 168, 376, 1225, 1856, 1224, 1711, 1710, 381, 1782, 382,
/* 1470 */ 1709, 1708, 1194, 1683, 1682, 1681, 67, 1680, 1782, 1679,
/* 1480 */ 558, 1939, 1800, 1678, 1677, 1676, 395, 322, 396, 1675,
/* 1490 */ 581, 398, 1674, 1673, 1672, 1752, 1800, 580, 1671, 1670,
/* 1500 */ 1669, 530, 1668, 1667, 581, 1666, 1800, 1665, 1664, 1752,
/* 1510 */ 1663, 580, 1662, 1661, 581, 1660, 1659, 1658, 124, 1752,
/* 1520 */ 1657, 580, 1813, 1656, 1655, 1654, 294, 1783, 583, 1785,
/* 1530 */ 1786, 579, 1653, 574, 1652, 1782, 1813, 1651, 1527, 1526,
/* 1540 */ 294, 1783, 583, 1785, 1786, 579, 1813, 574, 1524, 1196,
/* 1550 */ 289, 1783, 583, 1785, 1786, 579, 1492, 574, 1491, 1782,
/* 1560 */ 175, 178, 176, 1800, 152, 115, 1009, 1008, 435, 179,
/* 1570 */ 116, 581, 1725, 1719, 437, 1707, 1752, 186, 580, 184,
/* 1580 */ 1706, 1692, 1577, 1523, 1521, 1782, 452, 1800, 548, 453,
/* 1590 */ 1519, 1517, 1039, 454, 456, 578, 457, 460, 1515, 458,
/* 1600 */ 1752, 1504, 580, 1813, 461, 462, 464, 144, 1783, 583,
/* 1610 */ 1785, 1786, 579, 1800, 574, 465, 466, 1503, 337, 1488,
/* 1620 */ 1579, 581, 1149, 1578, 1148, 195, 1752, 1813, 580, 49,
/* 1630 */ 1074, 293, 1783, 583, 1785, 1786, 579, 629, 574, 1782,
/* 1640 */ 1832, 1073, 1072, 631, 1071, 1068, 1067, 1066, 1065, 1513,
/* 1650 */ 317, 1508, 1940, 1813, 318, 665, 1506, 294, 1783, 583,
/* 1660 */ 1785, 1786, 579, 490, 574, 319, 493, 1800, 1487, 267,
/* 1670 */ 495, 1486, 339, 497, 1485, 581, 499, 92, 1724, 1232,
/* 1680 */ 1752, 1718, 580, 151, 506, 1705, 138, 1703, 655, 651,
/* 1690 */ 647, 643, 265, 1704, 54, 213, 507, 1702, 1701, 320,
/* 1700 */ 15, 1699, 512, 1691, 218, 226, 224, 1813, 41, 76,
/* 1710 */ 77, 294, 1783, 583, 1785, 1786, 579, 194, 574, 231,
/* 1720 */ 87, 521, 1782, 230, 82, 228, 16, 23, 242, 47,
/* 1730 */ 233, 146, 1429, 235, 1411, 237, 467, 463, 459, 455,
/* 1740 */ 193, 1413, 1242, 145, 240, 24, 1782, 1406, 241, 81,
/* 1750 */ 1800, 10, 1772, 25, 1441, 1386, 526, 251, 581, 45,
/* 1760 */ 46, 1385, 1771, 1752, 149, 580, 1446, 18, 72, 1435,
/* 1770 */ 1440, 191, 331, 1445, 1800, 1444, 332, 1274, 1348, 17,
/* 1780 */ 1816, 573, 581, 1304, 13, 19, 1323, 1752, 217, 580,
/* 1790 */ 1813, 150, 163, 1321, 279, 1783, 583, 1785, 1786, 579,
/* 1800 */ 31, 574, 1782, 586, 1112, 584, 1320, 12, 20, 1230,
/* 1810 */ 21, 210, 1135, 340, 1813, 588, 590, 582, 280, 1783,
/* 1820 */ 583, 1785, 1786, 579, 591, 574, 593, 596, 599, 1132,
/* 1830 */ 1800, 606, 594, 190, 183, 597, 188, 1129, 581, 1123,
/* 1840 */ 446, 1127, 1121, 1752, 1782, 580, 1144, 600, 83, 84,
/* 1850 */ 60, 262, 1140, 1126, 1782, 1062, 1037, 1125, 615, 181,
/* 1860 */ 618, 1124, 263, 1081, 1060, 1055, 1782, 1059, 1058, 1057,
/* 1870 */ 1813, 1056, 1800, 1054, 281, 1783, 583, 1785, 1786, 579,
/* 1880 */ 581, 574, 1800, 1053, 1078, 1752, 1076, 580, 1050, 1049,
/* 1890 */ 581, 1048, 1045, 1044, 1800, 1752, 1043, 580, 1042, 1520,
/* 1900 */ 640, 642, 581, 1518, 644, 646, 641, 1752, 1516, 580,
/* 1910 */ 648, 645, 1813, 650, 649, 1514, 288, 1783, 583, 1785,
/* 1920 */ 1786, 579, 1813, 574, 652, 653, 290, 1783, 583, 1785,
/* 1930 */ 1786, 579, 654, 574, 1813, 656, 999, 1484, 282, 1783,
/* 1940 */ 583, 1785, 1786, 579, 1502, 574, 266, 1782, 660, 1459,
/* 1950 */ 1260, 274, 663, 664, 1459, 1459, 1459, 1459, 1459, 1459,
/* 1960 */ 1459, 1459, 1459, 1459, 1459, 1459, 1782, 1459, 1459, 1459,
/* 1970 */ 1459, 1459, 1459, 1459, 1459, 1800, 1459, 1459, 1459, 1459,
/* 1980 */ 1459, 1459, 1459, 581, 1459, 1459, 1459, 1459, 1752, 1459,
/* 1990 */ 580, 1459, 1459, 1459, 1800, 1459, 1459, 1459, 1459, 1459,
/* 2000 */ 1459, 1459, 581, 1459, 1459, 1459, 1459, 1752, 1459, 580,
/* 2010 */ 1459, 1459, 1459, 1459, 1459, 1813, 1459, 1459, 1459, 291,
/* 2020 */ 1783, 583, 1785, 1786, 579, 1459, 574, 1782, 1459, 1459,
/* 2030 */ 1459, 1459, 1459, 1459, 1813, 1459, 1459, 1459, 283, 1783,
/* 2040 */ 583, 1785, 1786, 579, 1459, 574, 1782, 1459, 1459, 1459,
/* 2050 */ 1459, 1459, 1459, 1459, 1459, 1800, 1459, 1459, 1459, 1459,
/* 2060 */ 1459, 1459, 1459, 581, 1459, 1459, 1459, 1459, 1752, 1459,
/* 2070 */ 580, 1459, 1459, 1459, 1800, 1459, 1459, 1459, 1459, 1459,
/* 2080 */ 1459, 1459, 581, 1459, 1459, 1459, 1459, 1752, 1459, 580,
/* 2090 */ 1459, 1459, 1459, 1459, 1459, 1813, 1459, 1459, 1459, 292,
/* 2100 */ 1783, 583, 1785, 1786, 579, 1459, 574, 1459, 1459, 1459,
/* 2110 */ 1459, 1459, 1459, 1782, 1813, 1459, 1459, 1459, 284, 1783,
/* 2120 */ 583, 1785, 1786, 579, 1459, 574, 1459, 1459, 1459, 1782,
/* 2130 */ 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1782,
/* 2140 */ 1459, 1800, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 581,
/* 2150 */ 1459, 1459, 1459, 1459, 1752, 1459, 580, 1800, 1459, 1459,
/* 2160 */ 1459, 1459, 1459, 1459, 1459, 581, 1459, 1800, 1459, 1459,
/* 2170 */ 1752, 1459, 580, 1459, 1459, 581, 1459, 1459, 1459, 1459,
/* 2180 */ 1752, 1813, 580, 1459, 1459, 297, 1783, 583, 1785, 1786,
/* 2190 */ 579, 1459, 574, 1782, 1459, 1459, 1459, 1813, 1459, 1459,
/* 2200 */ 1459, 298, 1783, 583, 1785, 1786, 579, 1813, 574, 1459,
/* 2210 */ 1459, 1794, 1783, 583, 1785, 1786, 579, 1459, 574, 1459,
/* 2220 */ 1459, 1800, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 581,
/* 2230 */ 1459, 1459, 1459, 1459, 1752, 1459, 580, 1459, 1459, 1459,
/* 2240 */ 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1782, 1459, 1459,
/* 2250 */ 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459,
/* 2260 */ 1459, 1813, 1459, 1459, 1459, 1793, 1783, 583, 1785, 1786,
/* 2270 */ 579, 1459, 574, 1459, 1459, 1800, 1459, 1459, 1459, 1459,
/* 2280 */ 1459, 1459, 1459, 581, 1459, 1459, 1459, 1459, 1752, 1459,
/* 2290 */ 580, 1459, 1459, 1459, 1459, 1459, 1459, 1782, 1459, 1459,
/* 2300 */ 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459,
/* 2310 */ 1459, 1459, 1459, 1459, 1782, 1813, 1459, 1459, 1459, 1792,
/* 2320 */ 1783, 583, 1785, 1786, 579, 1800, 574, 1459, 1459, 1459,
/* 2330 */ 1459, 1459, 1459, 581, 1459, 1459, 1459, 1459, 1752, 1459,
/* 2340 */ 580, 1459, 1800, 1459, 1459, 1459, 1459, 1459, 1459, 1459,
/* 2350 */ 581, 1459, 1459, 1459, 1459, 1752, 1459, 580, 1459, 1459,
/* 2360 */ 1459, 1459, 1459, 1459, 1459, 1813, 1459, 1459, 1459, 309,
/* 2370 */ 1783, 583, 1785, 1786, 579, 1459, 574, 1782, 1459, 1459,
/* 2380 */ 1459, 1459, 1813, 1459, 1459, 1459, 308, 1783, 583, 1785,
/* 2390 */ 1786, 579, 1459, 574, 1459, 1459, 1459, 1459, 1782, 1459,
/* 2400 */ 1459, 1459, 1459, 1459, 1459, 1800, 1459, 1459, 1459, 1459,
/* 2410 */ 1459, 1459, 1459, 581, 1459, 1459, 1459, 1459, 1752, 1459,
/* 2420 */ 580, 1459, 1459, 1459, 1459, 1459, 1800, 1459, 1459, 1459,
/* 2430 */ 1459, 1459, 1459, 1459, 581, 1459, 1459, 1459, 1459, 1752,
/* 2440 */ 1782, 580, 1459, 1459, 1459, 1813, 1459, 1459, 1459, 310,
/* 2450 */ 1783, 583, 1785, 1786, 579, 1459, 574, 1459, 1459, 1459,
/* 2460 */ 1459, 1459, 1459, 1459, 1459, 1459, 1813, 1459, 1800, 1459,
/* 2470 */ 307, 1783, 583, 1785, 1786, 579, 581, 574, 1459, 1459,
/* 2480 */ 1459, 1752, 1459, 580, 1459, 1459, 1459, 1459, 1459, 1459,
/* 2490 */ 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459,
/* 2500 */ 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1813, 1459,
/* 2510 */ 1459, 1459, 287, 1783, 583, 1785, 1786, 579, 1459, 574,
/* 920 */ 575, 388, 387, 1263, 1264, 529, 564, 529, 1507, 141,
/* 930 */ 1472, 529, 199, 529, 278, 197, 1729, 201, 510, 1271,
/* 940 */ 200, 1047, 514, 194, 527, 1260, 562, 1258, 276, 58,
/* 950 */ 492, 203, 57, 1600, 202, 1600, 607, 146, 502, 1600,
/* 960 */ 509, 1600, 467, 463, 459, 455, 193, 1785, 177, 429,
/* 970 */ 427, 1754, 1263, 1264, 1048, 1313, 1314, 1316, 1317, 1318,
/* 980 */ 1319, 1320, 576, 572, 1328, 1329, 1331, 1332, 1333, 1334,
/* 990 */ 1336, 1339, 335, 334, 72, 1803, 61, 191, 529, 1928,
/* 1000 */ 529, 205, 1273, 581, 204, 1349, 139, 1475, 1754, 528,
/* 1010 */ 580, 261, 159, 1335, 1773, 1266, 1925, 52, 513, 529,
/* 1020 */ 255, 539, 85, 468, 1471, 1768, 1600, 1470, 1600, 1267,
/* 1030 */ 345, 1469, 82, 41, 88, 1816, 1330, 1577, 1468, 90,
/* 1040 */ 1786, 583, 1788, 1789, 579, 1785, 574, 1600, 1265, 1862,
/* 1050 */ 1467, 1764, 1770, 329, 1858, 1941, 1503, 503, 244, 190,
/* 1060 */ 183, 1575, 188, 574, 1896, 1754, 446, 1466, 1754, 66,
/* 1070 */ 65, 383, 1754, 1803, 169, 1465, 1207, 1804, 347, 1754,
/* 1080 */ 377, 581, 219, 125, 559, 181, 1754, 569, 580, 1775,
/* 1090 */ 1498, 1754, 1640, 300, 128, 129, 367, 50, 365, 361,
/* 1100 */ 357, 166, 352, 349, 657, 1892, 236, 50, 1754, 41,
/* 1110 */ 249, 553, 254, 1816, 257, 259, 1754, 90, 1786, 583,
/* 1120 */ 1788, 1789, 579, 1785, 574, 223, 522, 1862, 1777, 565,
/* 1130 */ 80, 329, 1858, 1941, 614, 3, 162, 229, 1107, 41,
/* 1140 */ 1416, 53, 1919, 5, 351, 1282, 1274, 354, 1269, 239,
/* 1150 */ 1365, 1803, 1321, 131, 130, 611, 610, 609, 614, 581,
/* 1160 */ 587, 128, 1270, 358, 1754, 1785, 580, 311, 1076, 129,
/* 1170 */ 114, 128, 312, 1277, 1279, 1223, 268, 131, 130, 611,
/* 1180 */ 610, 609, 271, 406, 572, 1328, 1329, 1331, 1332, 1333,
/* 1190 */ 1334, 1816, 1692, 1803, 171, 90, 1786, 583, 1788, 1789,
/* 1200 */ 579, 581, 574, 1135, 1139, 1862, 1754, 413, 580, 329,
/* 1210 */ 1858, 1941, 1146, 1144, 132, 421, 426, 420, 422, 428,
/* 1220 */ 1881, 430, 557, 1288, 431, 439, 1785, 180, 1291, 442,
/* 1230 */ 443, 182, 1290, 1816, 444, 1292, 1785, 285, 1786, 583,
/* 1240 */ 1788, 1789, 579, 445, 574, 491, 185, 447, 1289, 187,
/* 1250 */ 448, 189, 70, 451, 1803, 192, 470, 472, 1590, 196,
/* 1260 */ 501, 1586, 581, 1928, 1803, 303, 1734, 1754, 93, 580,
/* 1270 */ 198, 209, 581, 269, 207, 134, 161, 1754, 135, 580,
/* 1280 */ 1925, 1588, 504, 557, 1584, 136, 137, 508, 494, 505,
/* 1290 */ 212, 511, 488, 1785, 1816, 515, 216, 206, 285, 1786,
/* 1300 */ 583, 1788, 1789, 579, 1816, 574, 537, 1785, 91, 1786,
/* 1310 */ 583, 1788, 1789, 579, 126, 574, 518, 1733, 1862, 1702,
/* 1320 */ 321, 1803, 568, 1858, 1928, 56, 520, 523, 55, 578,
/* 1330 */ 323, 127, 524, 525, 1754, 1803, 580, 159, 225, 227,
/* 1340 */ 270, 1925, 1601, 581, 78, 1287, 533, 540, 1754, 535,
/* 1350 */ 580, 234, 1893, 1903, 536, 1902, 238, 1785, 328, 543,
/* 1360 */ 6, 1816, 1884, 549, 534, 293, 1786, 583, 1788, 1789,
/* 1370 */ 579, 577, 574, 571, 1834, 1816, 243, 1785, 148, 144,
/* 1380 */ 1786, 583, 1788, 1789, 579, 1803, 574, 532, 531, 248,
/* 1390 */ 1391, 245, 246, 581, 121, 247, 1286, 1878, 1754, 566,
/* 1400 */ 580, 563, 48, 330, 253, 1803, 1924, 1573, 1644, 273,
/* 1410 */ 322, 658, 585, 581, 560, 1944, 1843, 264, 1754, 661,
/* 1420 */ 580, 51, 659, 558, 1942, 1816, 147, 277, 256, 91,
/* 1430 */ 1786, 583, 1788, 1789, 579, 1748, 574, 286, 275, 1862,
/* 1440 */ 567, 258, 296, 1785, 1859, 1816, 63, 295, 1747, 294,
/* 1450 */ 1786, 583, 1788, 1789, 579, 1785, 574, 1746, 64, 1745,
/* 1460 */ 353, 1742, 355, 1251, 356, 1785, 1252, 167, 360, 1740,
/* 1470 */ 364, 1803, 362, 363, 1739, 366, 530, 1738, 368, 581,
/* 1480 */ 1737, 1736, 370, 1803, 1754, 1719, 580, 372, 168, 375,
/* 1490 */ 376, 581, 1226, 1803, 1225, 1713, 1754, 1712, 580, 381,
/* 1500 */ 382, 581, 1711, 1710, 1195, 1685, 1754, 1684, 580, 1683,
/* 1510 */ 67, 1816, 1682, 1681, 1680, 294, 1786, 583, 1788, 1789,
/* 1520 */ 579, 1785, 574, 1816, 1679, 1678, 396, 289, 1786, 583,
/* 1530 */ 1788, 1789, 579, 1816, 574, 1785, 395, 144, 1786, 583,
/* 1540 */ 1788, 1789, 579, 1677, 574, 398, 1676, 1675, 1674, 1803,
/* 1550 */ 124, 1662, 1661, 1660, 1659, 1658, 1657, 578, 1673, 1672,
/* 1560 */ 1671, 1670, 1754, 1803, 580, 548, 1669, 1668, 337, 1667,
/* 1570 */ 1666, 581, 1665, 1664, 1663, 1656, 1754, 1655, 580, 1197,
/* 1580 */ 1654, 1653, 1943, 1529, 175, 1528, 176, 1526, 1785, 1816,
/* 1590 */ 1494, 178, 1010, 293, 1786, 583, 1788, 1789, 579, 1493,
/* 1600 */ 574, 115, 1835, 1816, 179, 1009, 152, 294, 1786, 583,
/* 1610 */ 1788, 1789, 579, 665, 574, 453, 1803, 435, 116, 1727,
/* 1620 */ 1721, 339, 437, 1709, 581, 184, 1708, 267, 186, 1754,
/* 1630 */ 1785, 580, 1694, 1579, 1525, 1523, 452, 454, 1521, 456,
/* 1640 */ 457, 151, 1519, 460, 1785, 458, 655, 651, 647, 643,
/* 1650 */ 265, 1040, 461, 462, 1517, 466, 1816, 464, 1803, 465,
/* 1660 */ 294, 1786, 583, 1788, 1789, 579, 581, 574, 1506, 1505,
/* 1670 */ 1490, 1754, 1803, 580, 1581, 1150, 49, 1149, 87, 1580,
/* 1680 */ 581, 230, 1075, 1074, 195, 1754, 1073, 580, 1072, 629,
/* 1690 */ 1515, 1069, 631, 1068, 1067, 1066, 1510, 317, 1816, 318,
/* 1700 */ 1508, 490, 279, 1786, 583, 1788, 1789, 579, 1785, 574,
/* 1710 */ 319, 493, 1816, 1489, 526, 495, 280, 1786, 583, 1788,
/* 1720 */ 1789, 579, 1488, 574, 497, 1487, 499, 92, 1726, 1233,
/* 1730 */ 1785, 1720, 506, 1707, 1705, 1706, 1803, 54, 1704, 1703,
/* 1740 */ 1701, 1693, 226, 231, 581, 82, 217, 213, 507, 1754,
/* 1750 */ 1785, 580, 218, 320, 41, 16, 15, 512, 1803, 1431,
/* 1760 */ 138, 521, 228, 224, 47, 242, 581, 1231, 76, 210,
/* 1770 */ 77, 1754, 23, 580, 17, 241, 1816, 1243, 1803, 235,
/* 1780 */ 281, 1786, 583, 1788, 1789, 579, 581, 574, 1413, 1775,
/* 1790 */ 233, 1754, 1785, 580, 237, 25, 251, 145, 1816, 46,
/* 1800 */ 1415, 240, 288, 1786, 583, 1788, 1789, 579, 1785, 574,
/* 1810 */ 1408, 24, 81, 1774, 149, 1388, 1387, 18, 1816, 1443,
/* 1820 */ 1803, 1442, 290, 1786, 583, 1788, 1789, 579, 581, 574,
/* 1830 */ 45, 1448, 1437, 1754, 331, 580, 1803, 1447, 13, 1446,
/* 1840 */ 332, 10, 1275, 19, 581, 1819, 1306, 1325, 573, 1754,
/* 1850 */ 1323, 580, 1322, 150, 1350, 31, 12, 20, 163, 582,
/* 1860 */ 1816, 1785, 21, 586, 282, 1786, 583, 1788, 1789, 579,
/* 1870 */ 340, 574, 584, 1785, 1136, 588, 1816, 1133, 590, 591,
/* 1880 */ 291, 1786, 583, 1788, 1789, 579, 593, 574, 594, 1803,
/* 1890 */ 596, 599, 1130, 1113, 1124, 597, 600, 581, 1128, 1122,
/* 1900 */ 83, 1803, 1754, 84, 580, 1127, 1126, 1125, 1145, 581,
/* 1910 */ 262, 606, 60, 1141, 1754, 1785, 580, 1063, 1082, 1038,
/* 1920 */ 615, 618, 263, 1061, 1060, 1785, 1056, 1059, 1058, 1816,
/* 1930 */ 1057, 1055, 1054, 283, 1786, 583, 1788, 1789, 579, 1785,
/* 1940 */ 574, 1816, 1079, 1803, 1077, 292, 1786, 583, 1788, 1789,
/* 1950 */ 579, 581, 574, 1803, 1051, 1050, 1754, 1049, 580, 1046,
/* 1960 */ 1045, 581, 1044, 1043, 1522, 640, 1754, 1803, 580, 1520,
/* 1970 */ 641, 642, 644, 645, 646, 581, 1518, 648, 649, 1516,
/* 1980 */ 1754, 652, 580, 1816, 650, 653, 654, 284, 1786, 583,
/* 1990 */ 1788, 1789, 579, 1816, 574, 1785, 1504, 297, 1786, 583,
/* 2000 */ 1788, 1789, 579, 656, 574, 1785, 1000, 1816, 1486, 266,
/* 2010 */ 660, 298, 1786, 583, 1788, 1789, 579, 1785, 574, 1261,
/* 2020 */ 274, 663, 664, 1803, 1461, 1461, 1461, 1461, 1461, 1461,
/* 2030 */ 1461, 581, 1461, 1803, 1461, 1461, 1754, 1461, 580, 1461,
/* 2040 */ 1461, 581, 1461, 1461, 1461, 1803, 1754, 1461, 580, 1461,
/* 2050 */ 1461, 1461, 1461, 581, 1461, 1461, 1461, 1461, 1754, 1461,
/* 2060 */ 580, 1461, 1461, 1816, 1461, 1461, 1461, 1797, 1786, 583,
/* 2070 */ 1788, 1789, 579, 1816, 574, 1461, 1461, 1796, 1786, 583,
/* 2080 */ 1788, 1789, 579, 1785, 574, 1816, 1461, 1461, 1461, 1795,
/* 2090 */ 1786, 583, 1788, 1789, 579, 1785, 574, 1461, 1461, 1461,
/* 2100 */ 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461,
/* 2110 */ 1461, 1803, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 581,
/* 2120 */ 1461, 1461, 1461, 1803, 1754, 1461, 580, 1461, 1461, 1461,
/* 2130 */ 1461, 581, 1461, 1461, 1461, 1461, 1754, 1461, 580, 1461,
/* 2140 */ 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1785, 1461,
/* 2150 */ 1461, 1816, 1461, 1461, 1461, 309, 1786, 583, 1788, 1789,
/* 2160 */ 579, 1461, 574, 1816, 1461, 1461, 1461, 308, 1786, 583,
/* 2170 */ 1788, 1789, 579, 1461, 574, 1461, 1803, 1461, 1461, 1461,
/* 2180 */ 1461, 1461, 1461, 1461, 581, 1461, 1461, 1461, 1461, 1754,
/* 2190 */ 1461, 580, 1461, 1461, 1461, 1461, 1461, 1461, 1785, 1461,
/* 2200 */ 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1785, 1461,
/* 2210 */ 552, 1461, 1461, 1461, 1461, 1461, 1816, 1461, 1461, 1461,
/* 2220 */ 310, 1786, 583, 1788, 1789, 579, 1803, 574, 1461, 1461,
/* 2230 */ 1461, 1461, 1461, 1461, 581, 1461, 1803, 1461, 122, 1754,
/* 2240 */ 1461, 580, 1461, 1461, 581, 1461, 1461, 1461, 1461, 1754,
/* 2250 */ 1461, 580, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 557,
/* 2260 */ 1461, 1461, 1461, 1461, 1461, 1461, 1816, 1461, 1461, 1461,
/* 2270 */ 307, 1786, 583, 1788, 1789, 579, 1816, 574, 120, 1461,
/* 2280 */ 287, 1786, 583, 1788, 1789, 579, 1461, 574, 1461, 1461,
/* 2290 */ 1461, 1461, 1461, 250, 1870, 551, 1461, 550, 1461, 1461,
/* 2300 */ 1928, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461,
/* 2310 */ 1461, 1461, 1461, 159, 1461, 1461, 1461, 1925,
};
static const YYCODETYPE yy_lookahead[] = {
/* 0 */ 266, 0, 262, 266, 264, 265, 262, 287, 264, 265,
......@@ -536,9 +516,9 @@ static const YYCODETYPE yy_lookahead[] = {
/* 610 */ 294, 33, 326, 35, 295, 293, 330, 331, 332, 333,
/* 620 */ 334, 335, 177, 337, 302, 180, 340, 299, 107, 266,
/* 630 */ 344, 345, 346, 153, 56, 68, 60, 148, 328, 334,
/* 640 */ 277, 259, 121, 122, 358, 14, 68, 311, 294, 313,
/* 640 */ 277, 275, 121, 122, 358, 14, 68, 311, 294, 313,
/* 650 */ 301, 20, 366, 68, 349, 350, 351, 294, 353, 305,
/* 660 */ 171, 312, 352, 85, 63, 64, 65, 66, 67, 43,
/* 660 */ 171, 312, 352, 85, 63, 64, 65, 66, 67, 287,
/* 670 */ 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
/* 680 */ 79, 80, 81, 82, 0, 107, 20, 166, 86, 168,
/* 690 */ 8, 9, 328, 258, 12, 13, 14, 15, 16, 121,
......@@ -546,195 +526,175 @@ static const YYCODETYPE yy_lookahead[] = {
/* 710 */ 221, 222, 39, 258, 193, 194, 352, 196, 197, 198,
/* 720 */ 199, 200, 201, 202, 203, 204, 205, 206, 207, 208,
/* 730 */ 209, 210, 211, 212, 299, 8, 9, 223, 224, 12,
/* 740 */ 13, 14, 15, 16, 166, 96, 168, 63, 64, 65,
/* 750 */ 42, 43, 22, 69, 299, 279, 72, 73, 282, 68,
/* 760 */ 76, 77, 78, 258, 287, 35, 193, 311, 86, 313,
/* 740 */ 13, 14, 15, 16, 166, 43, 168, 63, 64, 65,
/* 750 */ 42, 43, 22, 69, 299, 279, 72, 73, 282, 96,
/* 760 */ 76, 77, 78, 258, 68, 35, 193, 311, 86, 313,
/* 770 */ 296, 193, 194, 299, 196, 197, 198, 199, 200, 201,
/* 780 */ 202, 203, 204, 205, 206, 207, 208, 209, 210, 211,
/* 790 */ 212, 12, 13, 18, 296, 20, 97, 299, 68, 20,
/* 800 */ 287, 22, 27, 258, 299, 30, 287, 234, 235, 236,
/* 800 */ 287, 22, 27, 258, 299, 30, 35, 234, 235, 236,
/* 810 */ 237, 238, 33, 86, 35, 116, 117, 118, 119, 120,
/* 820 */ 1, 2, 47, 0, 49, 287, 51, 3, 197, 266,
/* 830 */ 266, 286, 266, 258, 274, 56, 276, 107, 0, 294,
/* 840 */ 277, 277, 2, 277, 299, 319, 301, 68, 8, 9,
/* 850 */ 0, 0, 12, 13, 14, 15, 16, 294, 294, 84,
/* 820 */ 1, 2, 47, 266, 49, 287, 51, 43, 197, 266,
/* 830 */ 266, 286, 266, 258, 277, 56, 274, 107, 276, 294,
/* 840 */ 277, 277, 2, 277, 299, 3, 301, 68, 8, 9,
/* 850 */ 0, 294, 12, 13, 14, 15, 16, 294, 294, 84,
/* 860 */ 294, 8, 9, 197, 85, 12, 13, 14, 15, 16,
/* 870 */ 244, 326, 22, 22, 299, 330, 331, 332, 333, 334,
/* 880 */ 335, 2, 337, 287, 43, 340, 107, 8, 9, 344,
/* 870 */ 86, 326, 22, 61, 299, 330, 331, 332, 333, 334,
/* 880 */ 335, 2, 337, 121, 122, 340, 107, 8, 9, 344,
/* 890 */ 345, 12, 13, 14, 15, 16, 166, 224, 168, 124,
/* 900 */ 121, 122, 127, 128, 129, 130, 131, 132, 133, 134,
/* 910 */ 135, 136, 137, 138, 139, 140, 141, 142, 143, 144,
/* 920 */ 97, 146, 147, 193, 194, 266, 258, 86, 89, 18,
/* 930 */ 275, 92, 43, 266, 23, 97, 277, 153, 154, 116,
/* 940 */ 117, 118, 119, 120, 277, 166, 376, 168, 37, 38,
/* 950 */ 43, 43, 41, 294, 116, 117, 118, 119, 120, 35,
/* 960 */ 288, 294, 315, 258, 258, 121, 122, 299, 57, 58,
/* 970 */ 59, 299, 193, 194, 258, 196, 197, 198, 199, 200,
/* 920 */ 287, 146, 147, 193, 194, 266, 43, 266, 0, 18,
/* 930 */ 258, 266, 89, 266, 23, 92, 277, 89, 277, 168,
/* 940 */ 92, 35, 277, 33, 277, 166, 244, 168, 37, 38,
/* 950 */ 22, 89, 41, 294, 92, 294, 287, 47, 315, 294,
/* 960 */ 319, 294, 52, 53, 54, 55, 56, 258, 57, 58,
/* 970 */ 59, 299, 193, 194, 68, 196, 197, 198, 199, 200,
/* 980 */ 201, 202, 203, 204, 205, 206, 207, 208, 209, 210,
/* 990 */ 211, 212, 286, 86, 86, 367, 85, 325, 326, 266,
/* 1000 */ 294, 267, 266, 356, 299, 299, 153, 301, 258, 337,
/* 1010 */ 277, 35, 258, 277, 266, 299, 369, 46, 89, 258,
/* 1020 */ 373, 92, 258, 89, 258, 277, 92, 294, 61, 322,
/* 1030 */ 294, 286, 326, 363, 123, 43, 330, 331, 332, 333,
/* 1040 */ 334, 335, 294, 337, 266, 258, 340, 266, 266, 299,
/* 1050 */ 344, 345, 346, 299, 89, 277, 85, 92, 277, 277,
/* 1060 */ 299, 355, 266, 299, 35, 299, 242, 43, 0, 158,
/* 1070 */ 159, 160, 294, 286, 163, 294, 294, 267, 86, 85,
/* 1080 */ 169, 294, 43, 43, 12, 13, 299, 265, 301, 95,
/* 1090 */ 294, 43, 168, 182, 22, 298, 185, 68, 187, 188,
/* 1100 */ 189, 190, 191, 192, 347, 33, 329, 35, 370, 354,
/* 1110 */ 86, 315, 370, 326, 43, 357, 48, 330, 331, 332,
/* 1120 */ 333, 334, 335, 258, 337, 86, 86, 340, 56, 43,
/* 1130 */ 334, 344, 345, 346, 86, 246, 225, 43, 4, 370,
/* 1140 */ 68, 85, 355, 43, 168, 349, 350, 351, 290, 353,
/* 1150 */ 227, 286, 356, 19, 324, 20, 266, 86, 43, 294,
/* 1160 */ 193, 47, 164, 43, 299, 369, 301, 33, 323, 373,
/* 1170 */ 43, 43, 86, 35, 272, 266, 258, 317, 266, 107,
/* 1180 */ 86, 47, 42, 306, 148, 51, 86, 304, 304, 20,
/* 1190 */ 56, 326, 266, 266, 266, 330, 331, 332, 333, 334,
/* 1200 */ 335, 86, 337, 260, 286, 340, 86, 260, 20, 344,
/* 1210 */ 345, 346, 294, 86, 86, 321, 270, 299, 84, 301,
/* 1220 */ 355, 87, 301, 270, 20, 20, 316, 314, 258, 270,
/* 1230 */ 314, 270, 20, 315, 270, 266, 270, 307, 166, 260,
/* 1240 */ 168, 286, 270, 286, 326, 260, 286, 299, 330, 331,
/* 1250 */ 332, 333, 334, 335, 286, 337, 286, 266, 321, 286,
/* 1260 */ 286, 286, 174, 286, 294, 193, 286, 286, 286, 299,
/* 1270 */ 268, 301, 320, 268, 356, 266, 204, 205, 206, 207,
/* 1280 */ 208, 209, 210, 266, 301, 315, 268, 369, 299, 232,
/* 1290 */ 268, 373, 314, 258, 310, 299, 326, 310, 299, 299,
/* 1300 */ 330, 331, 332, 333, 334, 335, 299, 337, 150, 258,
/* 1310 */ 294, 308, 282, 307, 268, 294, 20, 329, 299, 299,
/* 1320 */ 233, 286, 310, 310, 362, 299, 356, 299, 239, 294,
/* 1330 */ 299, 157, 241, 240, 299, 228, 301, 286, 324, 369,
/* 1340 */ 224, 294, 20, 373, 245, 294, 243, 85, 362, 248,
/* 1350 */ 299, 328, 301, 343, 290, 365, 361, 364, 299, 362,
/* 1360 */ 359, 326, 266, 268, 258, 330, 331, 332, 333, 334,
/* 1370 */ 335, 360, 337, 276, 36, 340, 258, 326, 261, 344,
/* 1380 */ 345, 330, 331, 332, 333, 334, 335, 336, 337, 338,
/* 1390 */ 339, 260, 286, 318, 313, 269, 0, 372, 371, 280,
/* 1400 */ 294, 280, 280, 256, 286, 299, 372, 301, 371, 377,
/* 1410 */ 372, 176, 294, 371, 0, 0, 42, 299, 0, 301,
/* 1420 */ 76, 0, 35, 186, 35, 35, 35, 186, 0, 35,
/* 1430 */ 35, 186, 326, 0, 186, 0, 330, 331, 332, 333,
/* 1440 */ 334, 335, 35, 337, 326, 0, 22, 0, 330, 331,
/* 1450 */ 332, 333, 334, 335, 258, 337, 0, 35, 340, 171,
/* 1460 */ 85, 170, 168, 345, 166, 0, 0, 162, 258, 161,
/* 1470 */ 0, 0, 46, 0, 0, 0, 145, 0, 258, 0,
/* 1480 */ 374, 375, 286, 0, 0, 0, 140, 291, 35, 0,
/* 1490 */ 294, 140, 0, 0, 0, 299, 286, 301, 0, 0,
/* 1500 */ 0, 291, 0, 0, 294, 0, 286, 0, 0, 299,
/* 1510 */ 0, 301, 0, 0, 294, 0, 0, 0, 42, 299,
/* 1520 */ 0, 301, 326, 0, 0, 0, 330, 331, 332, 333,
/* 1530 */ 334, 335, 0, 337, 0, 258, 326, 0, 0, 0,
/* 1540 */ 330, 331, 332, 333, 334, 335, 326, 337, 0, 22,
/* 1550 */ 330, 331, 332, 333, 334, 335, 0, 337, 0, 258,
/* 1560 */ 56, 42, 56, 286, 43, 39, 14, 14, 46, 40,
/* 1570 */ 39, 294, 0, 0, 46, 0, 299, 157, 301, 39,
/* 1580 */ 0, 0, 0, 0, 0, 258, 35, 286, 368, 47,
/* 1590 */ 0, 0, 62, 39, 35, 294, 47, 35, 0, 39,
/* 1600 */ 299, 0, 301, 326, 47, 39, 35, 330, 331, 332,
/* 1610 */ 333, 334, 335, 286, 337, 47, 39, 0, 291, 0,
/* 1620 */ 0, 294, 35, 0, 22, 92, 299, 326, 301, 94,
/* 1630 */ 35, 330, 331, 332, 333, 334, 335, 43, 337, 258,
/* 1640 */ 339, 35, 35, 43, 35, 35, 35, 35, 35, 0,
/* 1650 */ 22, 0, 375, 326, 22, 19, 0, 330, 331, 332,
/* 1660 */ 333, 334, 335, 49, 337, 22, 35, 286, 0, 33,
/* 1670 */ 35, 0, 291, 35, 0, 294, 22, 20, 0, 35,
/* 1680 */ 299, 0, 301, 47, 22, 0, 172, 0, 52, 53,
/* 1690 */ 54, 55, 56, 0, 153, 150, 153, 0, 0, 153,
/* 1700 */ 85, 0, 155, 0, 86, 39, 85, 326, 43, 85,
/* 1710 */ 85, 330, 331, 332, 333, 334, 335, 33, 337, 46,
/* 1720 */ 84, 151, 258, 87, 95, 149, 229, 85, 46, 43,
/* 1730 */ 85, 47, 86, 86, 86, 85, 52, 53, 54, 55,
/* 1740 */ 56, 86, 181, 85, 85, 85, 258, 86, 43, 85,
/* 1750 */ 286, 2, 46, 43, 35, 86, 120, 46, 294, 223,
/* 1760 */ 43, 86, 46, 299, 46, 301, 86, 43, 84, 86,
/* 1770 */ 35, 87, 35, 35, 286, 35, 35, 22, 193, 229,
/* 1780 */ 85, 85, 294, 22, 229, 43, 86, 299, 152, 301,
/* 1790 */ 326, 46, 46, 86, 330, 331, 332, 333, 334, 335,
/* 1800 */ 85, 337, 258, 35, 22, 96, 86, 85, 85, 173,
/* 1810 */ 85, 175, 86, 35, 326, 85, 35, 195, 330, 331,
/* 1820 */ 332, 333, 334, 335, 85, 337, 35, 35, 35, 86,
/* 1830 */ 286, 97, 85, 149, 150, 85, 152, 86, 294, 86,
/* 1840 */ 156, 109, 86, 299, 258, 301, 35, 85, 85, 85,
/* 1850 */ 85, 43, 22, 109, 258, 35, 62, 109, 61, 175,
/* 1860 */ 83, 109, 43, 68, 35, 22, 258, 35, 35, 35,
/* 1870 */ 326, 35, 286, 35, 330, 331, 332, 333, 334, 335,
/* 1880 */ 294, 337, 286, 35, 68, 299, 35, 301, 35, 35,
/* 1890 */ 294, 35, 35, 35, 286, 299, 35, 301, 35, 0,
/* 1900 */ 35, 39, 294, 0, 35, 39, 47, 299, 0, 301,
/* 1910 */ 35, 47, 326, 39, 47, 0, 330, 331, 332, 333,
/* 1920 */ 334, 335, 326, 337, 35, 47, 330, 331, 332, 333,
/* 1930 */ 334, 335, 39, 337, 326, 35, 35, 0, 330, 331,
/* 1940 */ 332, 333, 334, 335, 0, 337, 22, 258, 21, 378,
/* 1950 */ 22, 22, 21, 20, 378, 378, 378, 378, 378, 378,
/* 1960 */ 378, 378, 378, 378, 378, 378, 258, 378, 378, 378,
/* 1970 */ 378, 378, 378, 378, 378, 286, 378, 378, 378, 378,
/* 1980 */ 378, 378, 378, 294, 378, 378, 378, 378, 299, 378,
/* 1990 */ 301, 378, 378, 378, 286, 378, 378, 378, 378, 378,
/* 2000 */ 378, 378, 294, 378, 378, 378, 378, 299, 378, 301,
/* 2010 */ 378, 378, 378, 378, 378, 326, 378, 378, 378, 330,
/* 2020 */ 331, 332, 333, 334, 335, 378, 337, 258, 378, 378,
/* 2030 */ 378, 378, 378, 378, 326, 378, 378, 378, 330, 331,
/* 2040 */ 332, 333, 334, 335, 378, 337, 258, 378, 378, 378,
/* 2050 */ 378, 378, 378, 378, 378, 286, 378, 378, 378, 378,
/* 2060 */ 378, 378, 378, 294, 378, 378, 378, 378, 299, 378,
/* 2070 */ 301, 378, 378, 378, 286, 378, 378, 378, 378, 378,
/* 2080 */ 378, 378, 294, 378, 378, 378, 378, 299, 378, 301,
/* 2090 */ 378, 378, 378, 378, 378, 326, 378, 378, 378, 330,
/* 2100 */ 331, 332, 333, 334, 335, 378, 337, 378, 378, 378,
/* 2110 */ 378, 378, 378, 258, 326, 378, 378, 378, 330, 331,
/* 2120 */ 332, 333, 334, 335, 378, 337, 378, 378, 378, 258,
/* 2130 */ 378, 378, 378, 378, 378, 378, 378, 378, 378, 258,
/* 2140 */ 378, 286, 378, 378, 378, 378, 378, 378, 378, 294,
/* 2150 */ 378, 378, 378, 378, 299, 378, 301, 286, 378, 378,
/* 2160 */ 378, 378, 378, 378, 378, 294, 378, 286, 378, 378,
/* 2170 */ 299, 378, 301, 378, 378, 294, 378, 378, 378, 378,
/* 2180 */ 299, 326, 301, 378, 378, 330, 331, 332, 333, 334,
/* 2190 */ 335, 378, 337, 258, 378, 378, 378, 326, 378, 378,
/* 2200 */ 378, 330, 331, 332, 333, 334, 335, 326, 337, 378,
/* 2210 */ 378, 330, 331, 332, 333, 334, 335, 378, 337, 378,
/* 2220 */ 378, 286, 378, 378, 378, 378, 378, 378, 378, 294,
/* 2230 */ 378, 378, 378, 378, 299, 378, 301, 378, 378, 378,
/* 2240 */ 378, 378, 378, 378, 378, 378, 378, 258, 378, 378,
/* 2250 */ 378, 378, 378, 378, 378, 378, 378, 378, 378, 378,
/* 2260 */ 378, 326, 378, 378, 378, 330, 331, 332, 333, 334,
/* 2270 */ 335, 378, 337, 378, 378, 286, 378, 378, 378, 378,
/* 2280 */ 378, 378, 378, 294, 378, 378, 378, 378, 299, 378,
/* 2290 */ 301, 378, 378, 378, 378, 378, 378, 258, 378, 378,
/* 2300 */ 378, 378, 378, 378, 378, 378, 378, 378, 378, 378,
/* 2310 */ 378, 378, 378, 378, 258, 326, 378, 378, 378, 330,
/* 2320 */ 331, 332, 333, 334, 335, 286, 337, 378, 378, 378,
/* 2330 */ 378, 378, 378, 294, 378, 378, 378, 378, 299, 378,
/* 2340 */ 301, 378, 286, 378, 378, 378, 378, 378, 378, 378,
/* 2350 */ 294, 378, 378, 378, 378, 299, 378, 301, 378, 378,
/* 2360 */ 378, 378, 378, 378, 378, 326, 378, 378, 378, 330,
/* 2370 */ 331, 332, 333, 334, 335, 378, 337, 258, 378, 378,
/* 2380 */ 378, 378, 326, 378, 378, 378, 330, 331, 332, 333,
/* 2390 */ 334, 335, 378, 337, 378, 378, 378, 378, 258, 378,
/* 2400 */ 378, 378, 378, 378, 378, 286, 378, 378, 378, 378,
/* 2410 */ 378, 378, 378, 294, 378, 378, 378, 378, 299, 378,
/* 2420 */ 301, 378, 378, 378, 378, 378, 286, 378, 378, 378,
/* 2430 */ 378, 378, 378, 378, 294, 378, 378, 378, 378, 299,
/* 2440 */ 258, 301, 378, 378, 378, 326, 378, 378, 378, 330,
/* 2450 */ 331, 332, 333, 334, 335, 378, 337, 378, 378, 378,
/* 2460 */ 378, 378, 378, 378, 378, 378, 326, 378, 286, 378,
/* 2470 */ 330, 331, 332, 333, 334, 335, 294, 337, 378, 378,
/* 2480 */ 378, 299, 378, 301, 378, 378, 378, 378, 378, 378,
/* 2490 */ 378, 378, 378, 378, 378, 378, 378, 378, 378, 378,
/* 2500 */ 378, 378, 378, 378, 378, 378, 378, 378, 326, 378,
/* 2510 */ 378, 378, 330, 331, 332, 333, 334, 335, 378, 337,
/* 990 */ 211, 212, 12, 13, 84, 286, 85, 87, 266, 356,
/* 1000 */ 266, 89, 22, 294, 92, 193, 153, 259, 299, 277,
/* 1010 */ 301, 277, 369, 33, 288, 35, 373, 153, 154, 266,
/* 1020 */ 376, 367, 85, 267, 258, 299, 294, 258, 294, 35,
/* 1030 */ 277, 258, 95, 43, 123, 326, 56, 0, 258, 330,
/* 1040 */ 331, 332, 333, 334, 335, 258, 337, 294, 68, 340,
/* 1050 */ 258, 325, 326, 344, 345, 346, 0, 322, 363, 149,
/* 1060 */ 150, 0, 152, 337, 355, 299, 156, 258, 299, 158,
/* 1070 */ 159, 160, 299, 286, 163, 258, 86, 286, 267, 299,
/* 1080 */ 169, 294, 43, 43, 242, 175, 299, 107, 301, 46,
/* 1090 */ 265, 299, 298, 182, 43, 43, 185, 43, 187, 188,
/* 1100 */ 189, 190, 191, 192, 48, 329, 43, 43, 299, 43,
/* 1110 */ 347, 354, 370, 326, 370, 370, 299, 330, 331, 332,
/* 1120 */ 333, 334, 335, 258, 337, 86, 86, 340, 85, 246,
/* 1130 */ 85, 344, 345, 346, 97, 357, 225, 86, 86, 43,
/* 1140 */ 86, 290, 355, 227, 324, 20, 166, 266, 168, 86,
/* 1150 */ 86, 286, 86, 116, 117, 118, 119, 120, 97, 294,
/* 1160 */ 43, 43, 168, 47, 299, 258, 301, 323, 35, 43,
/* 1170 */ 43, 43, 272, 193, 194, 164, 317, 116, 117, 118,
/* 1180 */ 119, 120, 86, 266, 204, 205, 206, 207, 208, 209,
/* 1190 */ 210, 326, 266, 286, 42, 330, 331, 332, 333, 334,
/* 1200 */ 335, 294, 337, 86, 86, 340, 299, 306, 301, 344,
/* 1210 */ 345, 346, 86, 86, 86, 148, 266, 304, 304, 266,
/* 1220 */ 355, 266, 315, 20, 260, 260, 258, 270, 20, 321,
/* 1230 */ 301, 270, 20, 326, 314, 20, 258, 330, 331, 332,
/* 1240 */ 333, 334, 335, 316, 337, 4, 270, 314, 20, 270,
/* 1250 */ 307, 270, 270, 266, 286, 270, 260, 286, 286, 286,
/* 1260 */ 19, 286, 294, 356, 286, 260, 299, 299, 266, 301,
/* 1270 */ 286, 268, 294, 321, 33, 286, 369, 299, 286, 301,
/* 1280 */ 373, 286, 174, 315, 286, 286, 286, 301, 47, 320,
/* 1290 */ 268, 266, 51, 258, 326, 266, 268, 56, 330, 331,
/* 1300 */ 332, 333, 334, 335, 326, 337, 232, 258, 330, 331,
/* 1310 */ 332, 333, 334, 335, 310, 337, 299, 299, 340, 299,
/* 1320 */ 314, 286, 344, 345, 356, 84, 299, 150, 87, 294,
/* 1330 */ 299, 310, 308, 307, 299, 286, 301, 369, 294, 268,
/* 1340 */ 282, 373, 294, 294, 268, 20, 299, 233, 299, 299,
/* 1350 */ 301, 310, 329, 362, 299, 362, 310, 258, 299, 299,
/* 1360 */ 239, 326, 365, 157, 241, 330, 331, 332, 333, 334,
/* 1370 */ 335, 336, 337, 338, 339, 326, 364, 258, 362, 330,
/* 1380 */ 331, 332, 333, 334, 335, 286, 337, 240, 228, 324,
/* 1390 */ 224, 361, 360, 294, 294, 359, 20, 328, 299, 245,
/* 1400 */ 301, 243, 85, 248, 371, 286, 372, 276, 299, 266,
/* 1410 */ 291, 36, 290, 294, 372, 377, 343, 268, 299, 260,
/* 1420 */ 301, 318, 261, 374, 375, 326, 313, 256, 371, 330,
/* 1430 */ 331, 332, 333, 334, 335, 0, 337, 280, 269, 340,
/* 1440 */ 372, 371, 280, 258, 345, 326, 176, 280, 0, 330,
/* 1450 */ 331, 332, 333, 334, 335, 258, 337, 0, 42, 0,
/* 1460 */ 76, 0, 35, 35, 186, 258, 35, 35, 186, 0,
/* 1470 */ 186, 286, 35, 35, 0, 186, 291, 0, 35, 294,
/* 1480 */ 0, 0, 22, 286, 299, 0, 301, 35, 85, 171,
/* 1490 */ 170, 294, 168, 286, 166, 0, 299, 0, 301, 162,
/* 1500 */ 161, 294, 0, 0, 46, 0, 299, 0, 301, 0,
/* 1510 */ 145, 326, 0, 0, 0, 330, 331, 332, 333, 334,
/* 1520 */ 335, 258, 337, 326, 0, 0, 35, 330, 331, 332,
/* 1530 */ 333, 334, 335, 326, 337, 258, 140, 330, 331, 332,
/* 1540 */ 333, 334, 335, 0, 337, 140, 0, 0, 0, 286,
/* 1550 */ 42, 0, 0, 0, 0, 0, 0, 294, 0, 0,
/* 1560 */ 0, 0, 299, 286, 301, 368, 0, 0, 291, 0,
/* 1570 */ 0, 294, 0, 0, 0, 0, 299, 0, 301, 22,
/* 1580 */ 0, 0, 375, 0, 56, 0, 56, 0, 258, 326,
/* 1590 */ 0, 42, 14, 330, 331, 332, 333, 334, 335, 0,
/* 1600 */ 337, 39, 339, 326, 40, 14, 43, 330, 331, 332,
/* 1610 */ 333, 334, 335, 19, 337, 47, 286, 46, 39, 0,
/* 1620 */ 0, 291, 46, 0, 294, 39, 0, 33, 157, 299,
/* 1630 */ 258, 301, 0, 0, 0, 0, 35, 39, 0, 35,
/* 1640 */ 47, 47, 0, 35, 258, 39, 52, 53, 54, 55,
/* 1650 */ 56, 62, 47, 39, 0, 39, 326, 35, 286, 47,
/* 1660 */ 330, 331, 332, 333, 334, 335, 294, 337, 0, 0,
/* 1670 */ 0, 299, 286, 301, 0, 35, 94, 22, 84, 0,
/* 1680 */ 294, 87, 35, 35, 92, 299, 35, 301, 35, 43,
/* 1690 */ 0, 35, 43, 35, 35, 35, 0, 22, 326, 22,
/* 1700 */ 0, 49, 330, 331, 332, 333, 334, 335, 258, 337,
/* 1710 */ 22, 35, 326, 0, 120, 35, 330, 331, 332, 333,
/* 1720 */ 334, 335, 0, 337, 35, 0, 22, 20, 0, 35,
/* 1730 */ 258, 0, 22, 0, 0, 0, 286, 153, 0, 0,
/* 1740 */ 0, 0, 39, 46, 294, 95, 152, 150, 153, 299,
/* 1750 */ 258, 301, 86, 153, 43, 229, 85, 155, 286, 86,
/* 1760 */ 172, 151, 149, 85, 43, 46, 294, 173, 85, 175,
/* 1770 */ 85, 299, 85, 301, 229, 43, 326, 181, 286, 86,
/* 1780 */ 330, 331, 332, 333, 334, 335, 294, 337, 86, 46,
/* 1790 */ 85, 299, 258, 301, 85, 43, 46, 85, 326, 43,
/* 1800 */ 86, 85, 330, 331, 332, 333, 334, 335, 258, 337,
/* 1810 */ 86, 85, 85, 46, 46, 86, 86, 43, 326, 35,
/* 1820 */ 286, 35, 330, 331, 332, 333, 334, 335, 294, 337,
/* 1830 */ 223, 86, 86, 299, 35, 301, 286, 35, 229, 35,
/* 1840 */ 35, 2, 22, 43, 294, 85, 22, 86, 85, 299,
/* 1850 */ 86, 301, 86, 46, 193, 85, 85, 85, 46, 195,
/* 1860 */ 326, 258, 85, 35, 330, 331, 332, 333, 334, 335,
/* 1870 */ 35, 337, 96, 258, 86, 85, 326, 86, 35, 85,
/* 1880 */ 330, 331, 332, 333, 334, 335, 35, 337, 85, 286,
/* 1890 */ 35, 35, 86, 22, 86, 85, 85, 294, 109, 86,
/* 1900 */ 85, 286, 299, 85, 301, 109, 109, 109, 35, 294,
/* 1910 */ 43, 97, 85, 22, 299, 258, 301, 35, 68, 62,
/* 1920 */ 61, 83, 43, 35, 35, 258, 22, 35, 35, 326,
/* 1930 */ 35, 35, 35, 330, 331, 332, 333, 334, 335, 258,
/* 1940 */ 337, 326, 68, 286, 35, 330, 331, 332, 333, 334,
/* 1950 */ 335, 294, 337, 286, 35, 35, 299, 35, 301, 35,
/* 1960 */ 35, 294, 35, 35, 0, 35, 299, 286, 301, 0,
/* 1970 */ 47, 39, 35, 47, 39, 294, 0, 35, 47, 0,
/* 1980 */ 299, 35, 301, 326, 39, 47, 39, 330, 331, 332,
/* 1990 */ 333, 334, 335, 326, 337, 258, 0, 330, 331, 332,
/* 2000 */ 333, 334, 335, 35, 337, 258, 35, 326, 0, 22,
/* 2010 */ 21, 330, 331, 332, 333, 334, 335, 258, 337, 22,
/* 2020 */ 22, 21, 20, 286, 378, 378, 378, 378, 378, 378,
/* 2030 */ 378, 294, 378, 286, 378, 378, 299, 378, 301, 378,
/* 2040 */ 378, 294, 378, 378, 378, 286, 299, 378, 301, 378,
/* 2050 */ 378, 378, 378, 294, 378, 378, 378, 378, 299, 378,
/* 2060 */ 301, 378, 378, 326, 378, 378, 378, 330, 331, 332,
/* 2070 */ 333, 334, 335, 326, 337, 378, 378, 330, 331, 332,
/* 2080 */ 333, 334, 335, 258, 337, 326, 378, 378, 378, 330,
/* 2090 */ 331, 332, 333, 334, 335, 258, 337, 378, 378, 378,
/* 2100 */ 378, 378, 378, 378, 378, 378, 378, 378, 378, 378,
/* 2110 */ 378, 286, 378, 378, 378, 378, 378, 378, 378, 294,
/* 2120 */ 378, 378, 378, 286, 299, 378, 301, 378, 378, 378,
/* 2130 */ 378, 294, 378, 378, 378, 378, 299, 378, 301, 378,
/* 2140 */ 378, 378, 378, 378, 378, 378, 378, 378, 258, 378,
/* 2150 */ 378, 326, 378, 378, 378, 330, 331, 332, 333, 334,
/* 2160 */ 335, 378, 337, 326, 378, 378, 378, 330, 331, 332,
/* 2170 */ 333, 334, 335, 378, 337, 378, 286, 378, 378, 378,
/* 2180 */ 378, 378, 378, 378, 294, 378, 378, 378, 378, 299,
/* 2190 */ 378, 301, 378, 378, 378, 378, 378, 378, 258, 378,
/* 2200 */ 378, 378, 378, 378, 378, 378, 378, 378, 258, 378,
/* 2210 */ 266, 378, 378, 378, 378, 378, 326, 378, 378, 378,
/* 2220 */ 330, 331, 332, 333, 334, 335, 286, 337, 378, 378,
/* 2230 */ 378, 378, 378, 378, 294, 378, 286, 378, 294, 299,
/* 2240 */ 378, 301, 378, 378, 294, 378, 378, 378, 378, 299,
/* 2250 */ 378, 301, 378, 378, 378, 378, 378, 378, 378, 315,
/* 2260 */ 378, 378, 378, 378, 378, 378, 326, 378, 378, 378,
/* 2270 */ 330, 331, 332, 333, 334, 335, 326, 337, 334, 378,
/* 2280 */ 330, 331, 332, 333, 334, 335, 378, 337, 378, 378,
/* 2290 */ 378, 378, 378, 349, 350, 351, 378, 353, 378, 378,
/* 2300 */ 356, 378, 378, 378, 378, 378, 378, 378, 378, 378,
/* 2310 */ 378, 378, 378, 369, 378, 378, 378, 373,
};
#define YY_SHIFT_COUNT (665)
#define YY_SHIFT_MIN (0)
#define YY_SHIFT_MAX (1944)
#define YY_SHIFT_MAX (2008)
static const unsigned short int yy_shift_ofst[] = {
/* 0 */ 911, 0, 0, 62, 62, 263, 263, 263, 320, 320,
/* 10 */ 263, 263, 521, 578, 779, 578, 578, 578, 578, 578,
/* 20 */ 578, 578, 578, 578, 578, 578, 578, 578, 578, 578,
/* 30 */ 578, 578, 578, 578, 578, 578, 578, 578, 578, 578,
/* 40 */ 578, 578, 209, 209, 35, 35, 35, 1072, 1072, 1072,
/* 50 */ 1072, 208, 350, 32, 32, 167, 167, 19, 19, 11,
/* 40 */ 578, 578, 209, 209, 35, 35, 35, 980, 980, 980,
/* 50 */ 980, 208, 350, 32, 32, 167, 167, 19, 19, 11,
/* 60 */ 38, 32, 32, 167, 167, 167, 167, 167, 167, 167,
/* 70 */ 167, 167, 182, 167, 167, 167, 230, 352, 167, 167,
/* 80 */ 352, 438, 167, 352, 352, 352, 167, 452, 775, 231,
......@@ -742,162 +702,162 @@ static const unsigned short int yy_shift_ofst[] = {
/* 100 */ 730, 730, 730, 730, 730, 730, 730, 730, 730, 730,
/* 110 */ 730, 730, 730, 418, 38, 522, 522, 383, 567, 576,
/* 120 */ 480, 480, 480, 567, 558, 230, 1, 1, 352, 352,
/* 130 */ 585, 585, 649, 691, 201, 201, 201, 201, 201, 201,
/* 140 */ 201, 1636, 125, 684, 119, 573, 69, 313, 343, 351,
/* 150 */ 631, 529, 494, 39, 548, 514, 673, 514, 708, 824,
/* 160 */ 824, 824, 250, 666, 1056, 923, 1135, 1114, 1138, 998,
/* 170 */ 1135, 1135, 1140, 1036, 1036, 1135, 1135, 1135, 1169, 1169,
/* 180 */ 1188, 182, 230, 182, 1204, 1205, 182, 1204, 182, 1212,
/* 190 */ 182, 182, 1135, 182, 1169, 352, 352, 352, 352, 352,
/* 200 */ 352, 352, 352, 352, 352, 352, 1135, 1169, 585, 1188,
/* 210 */ 452, 1088, 230, 452, 1135, 1135, 1204, 452, 1057, 585,
/* 220 */ 585, 585, 585, 1057, 585, 1158, 558, 1212, 452, 649,
/* 230 */ 452, 558, 1296, 585, 1087, 1057, 585, 585, 1087, 1057,
/* 240 */ 585, 585, 352, 1089, 1174, 1087, 1091, 1093, 1107, 923,
/* 250 */ 1116, 558, 1322, 1099, 1103, 1101, 1099, 1103, 1099, 1103,
/* 260 */ 1262, 1056, 585, 691, 1135, 452, 1338, 1169, 2520, 2520,
/* 270 */ 2520, 2520, 2520, 2520, 2520, 601, 1684, 386, 1134, 469,
/* 280 */ 551, 682, 840, 879, 853, 727, 823, 314, 314, 314,
/* 290 */ 314, 314, 314, 314, 314, 838, 699, 274, 274, 445,
/* 130 */ 585, 585, 663, 696, 201, 201, 201, 201, 201, 201,
/* 140 */ 201, 1594, 125, 684, 119, 573, 69, 313, 343, 351,
/* 150 */ 631, 529, 494, 39, 548, 514, 673, 514, 708, 842,
/* 160 */ 842, 842, 250, 666, 1045, 916, 1125, 1116, 1133, 1011,
/* 170 */ 1125, 1125, 1152, 1067, 1067, 1125, 1125, 1125, 1203, 1203,
/* 180 */ 1208, 182, 230, 182, 1212, 1215, 182, 1212, 182, 1228,
/* 190 */ 182, 182, 1125, 182, 1203, 352, 352, 352, 352, 352,
/* 200 */ 352, 352, 352, 352, 352, 352, 1125, 1203, 585, 1208,
/* 210 */ 452, 1108, 230, 452, 1125, 1125, 1212, 452, 1074, 585,
/* 220 */ 585, 585, 585, 1074, 585, 1177, 558, 1228, 452, 663,
/* 230 */ 452, 558, 1325, 585, 1114, 1074, 585, 585, 1114, 1074,
/* 240 */ 585, 585, 352, 1121, 1206, 1114, 1123, 1147, 1160, 916,
/* 250 */ 1166, 558, 1376, 1154, 1158, 1155, 1154, 1158, 1154, 1158,
/* 260 */ 1317, 1045, 585, 696, 1125, 452, 1375, 1203, 2318, 2318,
/* 270 */ 2318, 2318, 2318, 2318, 2318, 601, 910, 386, 1241, 469,
/* 280 */ 551, 682, 840, 879, 853, 727, 1037, 314, 314, 314,
/* 290 */ 314, 314, 314, 314, 314, 1061, 699, 274, 274, 445,
/* 300 */ 65, 108, 156, 44, 168, 602, 339, 200, 200, 200,
/* 310 */ 200, 297, 841, 839, 929, 934, 965, 57, 850, 851,
/* 320 */ 92, 784, 907, 908, 992, 1024, 1039, 1040, 1048, 819,
/* 330 */ 844, 626, 889, 1071, 924, 976, 967, 1086, 971, 1094,
/* 340 */ 1100, 1115, 1120, 1127, 1128, 994, 1029, 1068, 1396, 1235,
/* 350 */ 1414, 1415, 1374, 1418, 1344, 1421, 1387, 1237, 1389, 1390,
/* 360 */ 1391, 1241, 1428, 1394, 1395, 1245, 1433, 1248, 1435, 1407,
/* 370 */ 1445, 1424, 1447, 1422, 1456, 1375, 1288, 1291, 1294, 1298,
/* 380 */ 1465, 1466, 1305, 1308, 1470, 1471, 1426, 1473, 1474, 1475,
/* 390 */ 1331, 1477, 1479, 1483, 1484, 1485, 1346, 1453, 1489, 1351,
/* 400 */ 1492, 1493, 1494, 1498, 1499, 1500, 1502, 1503, 1505, 1507,
/* 410 */ 1508, 1510, 1512, 1513, 1476, 1515, 1516, 1517, 1520, 1523,
/* 420 */ 1524, 1527, 1525, 1532, 1534, 1537, 1538, 1504, 1539, 1506,
/* 430 */ 1548, 1556, 1519, 1526, 1521, 1552, 1522, 1553, 1528, 1558,
/* 440 */ 1529, 1531, 1572, 1573, 1575, 1540, 1420, 1580, 1581, 1582,
/* 450 */ 1530, 1583, 1584, 1551, 1542, 1554, 1590, 1559, 1549, 1560,
/* 460 */ 1591, 1562, 1557, 1566, 1598, 1571, 1568, 1577, 1601, 1617,
/* 470 */ 1619, 1620, 1535, 1533, 1587, 1602, 1623, 1595, 1606, 1607,
/* 480 */ 1609, 1594, 1600, 1610, 1611, 1612, 1613, 1649, 1628, 1651,
/* 490 */ 1632, 1614, 1656, 1643, 1631, 1668, 1635, 1671, 1638, 1674,
/* 500 */ 1654, 1657, 1678, 1541, 1644, 1681, 1514, 1662, 1543, 1545,
/* 510 */ 1685, 1687, 1546, 1547, 1693, 1697, 1698, 1615, 1618, 1561,
/* 520 */ 1701, 1621, 1570, 1624, 1703, 1666, 1576, 1625, 1629, 1673,
/* 530 */ 1665, 1497, 1642, 1646, 1645, 1647, 1648, 1650, 1686, 1655,
/* 540 */ 1658, 1659, 1660, 1661, 1705, 1682, 1706, 1664, 1710, 1550,
/* 550 */ 1669, 1675, 1711, 1536, 1717, 1716, 1718, 1680, 1724, 1555,
/* 560 */ 1683, 1719, 1735, 1737, 1738, 1740, 1741, 1683, 1749, 1755,
/* 570 */ 1585, 1742, 1695, 1700, 1696, 1707, 1715, 1720, 1745, 1722,
/* 580 */ 1723, 1746, 1761, 1622, 1725, 1709, 1726, 1768, 1778, 1730,
/* 590 */ 1743, 1781, 1739, 1751, 1791, 1747, 1753, 1792, 1750, 1756,
/* 600 */ 1793, 1762, 1732, 1744, 1748, 1752, 1782, 1734, 1763, 1764,
/* 610 */ 1811, 1765, 1808, 1808, 1830, 1794, 1797, 1820, 1795, 1777,
/* 620 */ 1819, 1829, 1832, 1833, 1834, 1836, 1843, 1838, 1848, 1816,
/* 630 */ 1594, 1851, 1600, 1853, 1854, 1856, 1857, 1858, 1861, 1863,
/* 640 */ 1899, 1865, 1859, 1862, 1903, 1869, 1864, 1866, 1908, 1875,
/* 650 */ 1867, 1874, 1915, 1889, 1878, 1893, 1944, 1900, 1901, 1937,
/* 660 */ 1924, 1927, 1928, 1929, 1931, 1933,
/* 310 */ 200, 297, 784, 843, 848, 862, 912, 57, 850, 928,
/* 320 */ 92, 864, 990, 1039, 1040, 1051, 1052, 1054, 1063, 819,
/* 330 */ 762, 702, 883, 1064, 771, 994, 812, 1066, 1043, 1096,
/* 340 */ 1117, 1118, 1126, 1127, 1128, 937, 906, 1056, 1435, 1270,
/* 350 */ 1448, 1457, 1416, 1459, 1384, 1461, 1427, 1278, 1428, 1431,
/* 360 */ 1432, 1282, 1469, 1437, 1438, 1284, 1474, 1289, 1477, 1443,
/* 370 */ 1480, 1460, 1481, 1452, 1485, 1403, 1318, 1320, 1324, 1328,
/* 380 */ 1495, 1497, 1337, 1339, 1502, 1503, 1458, 1505, 1507, 1509,
/* 390 */ 1365, 1512, 1513, 1514, 1524, 1525, 1396, 1491, 1543, 1405,
/* 400 */ 1546, 1547, 1548, 1558, 1559, 1560, 1561, 1566, 1567, 1569,
/* 410 */ 1570, 1572, 1573, 1574, 1508, 1551, 1552, 1553, 1554, 1555,
/* 420 */ 1556, 1557, 1575, 1577, 1580, 1581, 1583, 1528, 1585, 1530,
/* 430 */ 1587, 1590, 1549, 1562, 1563, 1578, 1571, 1591, 1576, 1599,
/* 440 */ 1564, 1579, 1619, 1620, 1623, 1586, 1471, 1626, 1632, 1633,
/* 450 */ 1589, 1634, 1635, 1601, 1568, 1598, 1638, 1604, 1593, 1606,
/* 460 */ 1642, 1608, 1605, 1614, 1654, 1622, 1612, 1616, 1668, 1669,
/* 470 */ 1670, 1674, 1582, 1592, 1640, 1655, 1679, 1647, 1648, 1651,
/* 480 */ 1653, 1646, 1649, 1656, 1658, 1659, 1660, 1690, 1675, 1696,
/* 490 */ 1677, 1652, 1700, 1688, 1676, 1713, 1680, 1722, 1689, 1725,
/* 500 */ 1704, 1707, 1728, 1584, 1694, 1731, 1588, 1710, 1595, 1597,
/* 510 */ 1733, 1734, 1600, 1602, 1735, 1738, 1739, 1671, 1666, 1596,
/* 520 */ 1740, 1678, 1610, 1683, 1741, 1703, 1613, 1685, 1650, 1697,
/* 530 */ 1711, 1526, 1687, 1673, 1705, 1693, 1702, 1709, 1721, 1714,
/* 540 */ 1712, 1716, 1726, 1724, 1732, 1719, 1743, 1727, 1752, 1545,
/* 550 */ 1729, 1730, 1750, 1607, 1756, 1767, 1768, 1745, 1774, 1609,
/* 560 */ 1746, 1784, 1786, 1799, 1802, 1804, 1805, 1746, 1839, 1820,
/* 570 */ 1661, 1800, 1760, 1761, 1763, 1764, 1770, 1766, 1807, 1771,
/* 580 */ 1772, 1812, 1824, 1664, 1777, 1776, 1788, 1828, 1835, 1790,
/* 590 */ 1791, 1843, 1794, 1806, 1851, 1803, 1808, 1855, 1810, 1813,
/* 600 */ 1856, 1811, 1789, 1796, 1797, 1798, 1871, 1814, 1815, 1818,
/* 610 */ 1873, 1827, 1867, 1867, 1891, 1857, 1859, 1882, 1850, 1838,
/* 620 */ 1879, 1888, 1889, 1892, 1893, 1895, 1904, 1896, 1897, 1874,
/* 630 */ 1646, 1909, 1649, 1919, 1920, 1922, 1924, 1925, 1927, 1928,
/* 640 */ 1964, 1930, 1923, 1932, 1969, 1937, 1926, 1935, 1976, 1942,
/* 650 */ 1931, 1945, 1979, 1946, 1938, 1947, 1996, 1968, 1971, 2008,
/* 660 */ 1987, 1989, 1997, 1998, 2000, 2002,
};
#define YY_REDUCE_COUNT (274)
#define YY_REDUCE_MIN (-312)
#define YY_REDUCE_MAX (2182)
#define YY_REDUCE_MAX (1950)
static const short yy_reduce_ofst[] = {
/* 0 */ -78, -232, 63, 286, -113, 706, 787, 865, 918, 970,
/* 10 */ 545, 1035, 1051, 1106, 1118, 1196, 1210, 1220, 1277, 1301,
/* 20 */ 1327, 1381, 1464, 1488, 1544, 1586, 1596, 1608, 1689, 1708,
/* 30 */ 1769, 1788, 1855, 1871, 1881, 1935, 1989, 2039, 2056, 2119,
/* 40 */ 2140, 2182, -263, 796, -14, 75, 305, -278, 55, 270,
/* 50 */ 672, -296, 123, 184, 647, -266, -43, -260, -256, -303,
/* 60 */ -186, -230, -191, -185, 97, 315, 316, 363, 563, 564,
/* 70 */ 566, 659, -154, 667, 733, 736, -285, -106, 748, 778,
/* 80 */ 59, 24, 781, 72, 322, 82, 782, 70, -252, -312,
/* 0 */ -78, -232, 63, 286, -113, 709, 787, 865, 907, 968,
/* 10 */ 545, 978, 1035, 1049, 1099, 1119, 1185, 1197, 1207, 1263,
/* 20 */ 1277, 1330, 1372, 1386, 1450, 1472, 1492, 1534, 1550, 1603,
/* 30 */ 1615, 1657, 1667, 1681, 1737, 1747, 1759, 1825, 1837, 1890,
/* 40 */ 1940, 1950, -263, 1944, -14, 75, 305, -278, 55, 270,
/* 50 */ 726, -296, 123, 184, 643, -266, -43, -260, -256, -303,
/* 60 */ -186, -230, -191, -185, 97, 315, 316, 363, 557, 563,
/* 70 */ 564, 566, -154, 659, 661, 665, -285, -106, 667, 732,
/* 80 */ 59, 24, 734, 72, 322, 82, 753, 70, -252, -312,
/* 90 */ -312, -312, -117, -239, -114, -20, 141, 181, 196, 289,
/* 100 */ 328, 435, 455, 505, 575, 668, 705, 716, 750, 754,
/* 110 */ 761, 764, 766, 299, -110, 124, 138, -220, 148, -243,
/* 100 */ 328, 435, 455, 505, 575, 672, 766, 769, 773, 780,
/* 110 */ 792, 809, 817, 299, -110, 124, 138, -220, 148, -243,
/* 120 */ 218, 310, 364, 150, 354, 349, 336, 456, 319, 205,
/* 130 */ 474, 498, 476, 560, -280, -270, 477, 513, 519, 538,
/* 140 */ 596, 526, 382, 655, 570, 628, 734, 707, 670, 745,
/* 150 */ 745, 810, 822, 797, 777, 755, 755, 755, 757, 738,
/* 160 */ 742, 769, 758, 745, 858, 830, 890, 845, 902, 860,
/* 170 */ 909, 912, 877, 883, 884, 926, 927, 928, 943, 947,
/* 180 */ 894, 946, 921, 953, 913, 910, 959, 916, 961, 930,
/* 190 */ 964, 966, 969, 972, 979, 955, 957, 960, 968, 973,
/* 200 */ 974, 975, 977, 980, 981, 982, 991, 985, 948, 937,
/* 210 */ 1002, 952, 983, 1005, 1009, 1017, 978, 1018, 984, 989,
/* 220 */ 996, 999, 1000, 987, 1007, 1003, 1016, 1006, 1022, 1030,
/* 230 */ 1046, 1021, 988, 1019, 962, 1012, 1020, 1026, 986, 1013,
/* 240 */ 1028, 1031, 745, 990, 993, 997, 995, 1011, 1001, 1014,
/* 250 */ 755, 1047, 1023, 1025, 1027, 1032, 1034, 1037, 1038, 1042,
/* 260 */ 1010, 1064, 1059, 1097, 1096, 1095, 1117, 1131, 1075, 1081,
/* 270 */ 1119, 1121, 1122, 1126, 1147,
/* 130 */ 474, 498, 476, 562, -280, -270, 382, 513, 538, 633,
/* 140 */ 669, 641, 748, 366, 644, 654, 756, 735, 695, 791,
/* 150 */ 791, 811, 825, 794, 776, 757, 757, 757, 763, 742,
/* 160 */ 744, 745, 778, 791, 851, 820, 881, 844, 900, 859,
/* 170 */ 917, 926, 901, 913, 914, 950, 953, 955, 964, 965,
/* 180 */ 908, 957, 929, 961, 920, 927, 976, 933, 979, 943,
/* 190 */ 981, 982, 987, 985, 996, 971, 972, 973, 975, 984,
/* 200 */ 989, 992, 995, 998, 999, 1000, 1002, 1005, 967, 952,
/* 210 */ 1003, 969, 986, 1022, 1025, 1029, 1006, 1028, 1004, 1017,
/* 220 */ 1018, 1020, 1027, 1021, 1031, 1024, 1044, 1026, 1071, 1058,
/* 230 */ 1076, 1048, 1023, 1047, 991, 1041, 1050, 1055, 993, 1046,
/* 240 */ 1059, 1060, 791, 997, 1012, 1016, 1030, 1032, 1036, 1065,
/* 250 */ 757, 1100, 1069, 1034, 1033, 1038, 1042, 1057, 1068, 1070,
/* 260 */ 1073, 1122, 1109, 1131, 1143, 1149, 1161, 1159, 1103, 1113,
/* 270 */ 1157, 1162, 1167, 1169, 1171,
};
static const YYACTIONTYPE yy_default[] = {
/* 0 */ 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
/* 10 */ 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
/* 20 */ 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
/* 30 */ 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
/* 40 */ 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
/* 50 */ 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
/* 60 */ 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
/* 70 */ 1457, 1457, 1531, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
/* 80 */ 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1529, 1684, 1457,
/* 90 */ 1861, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
/* 100 */ 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
/* 110 */ 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1531, 1457, 1529,
/* 120 */ 1873, 1873, 1873, 1457, 1457, 1457, 1728, 1728, 1457, 1457,
/* 130 */ 1457, 1457, 1627, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
/* 140 */ 1457, 1720, 1457, 1457, 1942, 1457, 1457, 1726, 1896, 1457,
/* 150 */ 1457, 1457, 1457, 1580, 1888, 1865, 1879, 1866, 1863, 1927,
/* 160 */ 1927, 1927, 1882, 1457, 1596, 1892, 1457, 1457, 1457, 1712,
/* 170 */ 1457, 1457, 1689, 1686, 1686, 1457, 1457, 1457, 1457, 1457,
/* 180 */ 1457, 1531, 1457, 1531, 1457, 1457, 1531, 1457, 1531, 1457,
/* 190 */ 1531, 1531, 1457, 1531, 1457, 1457, 1457, 1457, 1457, 1457,
/* 200 */ 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
/* 210 */ 1529, 1722, 1457, 1529, 1457, 1457, 1457, 1529, 1901, 1457,
/* 220 */ 1457, 1457, 1457, 1901, 1457, 1457, 1457, 1457, 1529, 1457,
/* 230 */ 1529, 1457, 1457, 1457, 1903, 1901, 1457, 1457, 1903, 1901,
/* 240 */ 1457, 1457, 1457, 1915, 1911, 1903, 1919, 1917, 1894, 1892,
/* 250 */ 1879, 1457, 1457, 1933, 1929, 1945, 1933, 1929, 1933, 1929,
/* 260 */ 1457, 1596, 1457, 1457, 1457, 1529, 1489, 1457, 1714, 1728,
/* 270 */ 1630, 1630, 1630, 1532, 1462, 1457, 1457, 1457, 1457, 1457,
/* 280 */ 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1799, 1914, 1913,
/* 290 */ 1837, 1836, 1835, 1833, 1798, 1457, 1592, 1797, 1796, 1457,
/* 300 */ 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1790, 1791, 1789,
/* 310 */ 1788, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
/* 320 */ 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1862,
/* 330 */ 1457, 1930, 1934, 1457, 1457, 1457, 1457, 1457, 1773, 1457,
/* 340 */ 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
/* 350 */ 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
/* 360 */ 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
/* 370 */ 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
/* 380 */ 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
/* 390 */ 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
/* 400 */ 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
/* 410 */ 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
/* 420 */ 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
/* 430 */ 1457, 1457, 1457, 1457, 1494, 1457, 1457, 1457, 1457, 1457,
/* 440 */ 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
/* 450 */ 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
/* 460 */ 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
/* 470 */ 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
/* 480 */ 1457, 1561, 1560, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
/* 490 */ 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
/* 500 */ 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
/* 510 */ 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
/* 520 */ 1732, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
/* 530 */ 1895, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
/* 540 */ 1457, 1457, 1457, 1457, 1457, 1457, 1773, 1457, 1912, 1457,
/* 550 */ 1872, 1868, 1457, 1457, 1864, 1772, 1457, 1457, 1928, 1457,
/* 560 */ 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1857, 1457,
/* 570 */ 1457, 1830, 1815, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
/* 580 */ 1457, 1457, 1457, 1784, 1457, 1457, 1457, 1457, 1457, 1624,
/* 590 */ 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
/* 600 */ 1457, 1457, 1609, 1607, 1606, 1605, 1457, 1602, 1457, 1457,
/* 610 */ 1457, 1457, 1633, 1632, 1457, 1457, 1457, 1457, 1457, 1457,
/* 620 */ 1552, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
/* 630 */ 1543, 1457, 1542, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
/* 640 */ 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
/* 650 */ 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
/* 660 */ 1457, 1457, 1457, 1457, 1457, 1457,
/* 0 */ 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459,
/* 10 */ 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459,
/* 20 */ 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459,
/* 30 */ 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459,
/* 40 */ 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459,
/* 50 */ 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459,
/* 60 */ 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459,
/* 70 */ 1459, 1459, 1533, 1459, 1459, 1459, 1459, 1459, 1459, 1459,
/* 80 */ 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1531, 1686, 1459,
/* 90 */ 1864, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459,
/* 100 */ 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459,
/* 110 */ 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1533, 1459, 1531,
/* 120 */ 1876, 1876, 1876, 1459, 1459, 1459, 1730, 1730, 1459, 1459,
/* 130 */ 1459, 1459, 1629, 1459, 1459, 1459, 1459, 1459, 1459, 1459,
/* 140 */ 1459, 1722, 1459, 1459, 1945, 1459, 1459, 1728, 1899, 1459,
/* 150 */ 1459, 1459, 1459, 1582, 1891, 1868, 1882, 1869, 1866, 1930,
/* 160 */ 1930, 1930, 1885, 1459, 1598, 1895, 1459, 1459, 1459, 1714,
/* 170 */ 1459, 1459, 1691, 1688, 1688, 1459, 1459, 1459, 1459, 1459,
/* 180 */ 1459, 1533, 1459, 1533, 1459, 1459, 1533, 1459, 1533, 1459,
/* 190 */ 1533, 1533, 1459, 1533, 1459, 1459, 1459, 1459, 1459, 1459,
/* 200 */ 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459,
/* 210 */ 1531, 1724, 1459, 1531, 1459, 1459, 1459, 1531, 1904, 1459,
/* 220 */ 1459, 1459, 1459, 1904, 1459, 1459, 1459, 1459, 1531, 1459,
/* 230 */ 1531, 1459, 1459, 1459, 1906, 1904, 1459, 1459, 1906, 1904,
/* 240 */ 1459, 1459, 1459, 1918, 1914, 1906, 1922, 1920, 1897, 1895,
/* 250 */ 1882, 1459, 1459, 1936, 1932, 1948, 1936, 1932, 1936, 1932,
/* 260 */ 1459, 1598, 1459, 1459, 1459, 1531, 1491, 1459, 1716, 1730,
/* 270 */ 1632, 1632, 1632, 1534, 1464, 1459, 1459, 1459, 1459, 1459,
/* 280 */ 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1802, 1917, 1916,
/* 290 */ 1840, 1839, 1838, 1836, 1801, 1459, 1594, 1800, 1799, 1459,
/* 300 */ 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1793, 1794, 1792,
/* 310 */ 1791, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459,
/* 320 */ 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1865,
/* 330 */ 1459, 1933, 1937, 1459, 1459, 1459, 1459, 1459, 1776, 1459,
/* 340 */ 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459,
/* 350 */ 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459,
/* 360 */ 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459,
/* 370 */ 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459,
/* 380 */ 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459,
/* 390 */ 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459,
/* 400 */ 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459,
/* 410 */ 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459,
/* 420 */ 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459,
/* 430 */ 1459, 1459, 1459, 1459, 1496, 1459, 1459, 1459, 1459, 1459,
/* 440 */ 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459,
/* 450 */ 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459,
/* 460 */ 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459,
/* 470 */ 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459,
/* 480 */ 1459, 1563, 1562, 1459, 1459, 1459, 1459, 1459, 1459, 1459,
/* 490 */ 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459,
/* 500 */ 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459,
/* 510 */ 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459,
/* 520 */ 1734, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459,
/* 530 */ 1898, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459,
/* 540 */ 1459, 1459, 1459, 1459, 1459, 1459, 1776, 1459, 1915, 1459,
/* 550 */ 1875, 1871, 1459, 1459, 1867, 1775, 1459, 1459, 1931, 1459,
/* 560 */ 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1860, 1459,
/* 570 */ 1459, 1833, 1818, 1459, 1459, 1459, 1459, 1459, 1459, 1459,
/* 580 */ 1459, 1459, 1459, 1787, 1459, 1459, 1459, 1459, 1459, 1626,
/* 590 */ 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459,
/* 600 */ 1459, 1459, 1611, 1609, 1608, 1607, 1459, 1604, 1459, 1459,
/* 610 */ 1459, 1459, 1635, 1634, 1459, 1459, 1459, 1459, 1459, 1459,
/* 620 */ 1554, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459,
/* 630 */ 1545, 1459, 1544, 1459, 1459, 1459, 1459, 1459, 1459, 1459,
/* 640 */ 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459,
/* 650 */ 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459,
/* 660 */ 1459, 1459, 1459, 1459, 1459, 1459,
};
/********** End of lemon-generated parsing tables *****************************/
......@@ -1953,185 +1913,186 @@ static const char *const yyRuleName[] = {
/* 306 */ "signed_literal ::= duration_literal",
/* 307 */ "signed_literal ::= NULL",
/* 308 */ "signed_literal ::= literal_func",
/* 309 */ "literal_list ::= signed_literal",
/* 310 */ "literal_list ::= literal_list NK_COMMA signed_literal",
/* 311 */ "db_name ::= NK_ID",
/* 312 */ "table_name ::= NK_ID",
/* 313 */ "column_name ::= NK_ID",
/* 314 */ "function_name ::= NK_ID",
/* 315 */ "table_alias ::= NK_ID",
/* 316 */ "column_alias ::= NK_ID",
/* 317 */ "user_name ::= NK_ID",
/* 318 */ "index_name ::= NK_ID",
/* 319 */ "topic_name ::= NK_ID",
/* 320 */ "stream_name ::= NK_ID",
/* 321 */ "cgroup_name ::= NK_ID",
/* 322 */ "expression ::= literal",
/* 323 */ "expression ::= pseudo_column",
/* 324 */ "expression ::= column_reference",
/* 325 */ "expression ::= function_expression",
/* 326 */ "expression ::= subquery",
/* 327 */ "expression ::= NK_LP expression NK_RP",
/* 328 */ "expression ::= NK_PLUS expression",
/* 329 */ "expression ::= NK_MINUS expression",
/* 330 */ "expression ::= expression NK_PLUS expression",
/* 331 */ "expression ::= expression NK_MINUS expression",
/* 332 */ "expression ::= expression NK_STAR expression",
/* 333 */ "expression ::= expression NK_SLASH expression",
/* 334 */ "expression ::= expression NK_REM expression",
/* 335 */ "expression ::= column_reference NK_ARROW NK_STRING",
/* 336 */ "expression ::= expression NK_BITAND expression",
/* 337 */ "expression ::= expression NK_BITOR expression",
/* 338 */ "expression_list ::= expression",
/* 339 */ "expression_list ::= expression_list NK_COMMA expression",
/* 340 */ "column_reference ::= column_name",
/* 341 */ "column_reference ::= table_name NK_DOT column_name",
/* 342 */ "pseudo_column ::= ROWTS",
/* 343 */ "pseudo_column ::= TBNAME",
/* 344 */ "pseudo_column ::= table_name NK_DOT TBNAME",
/* 345 */ "pseudo_column ::= QSTARTTS",
/* 346 */ "pseudo_column ::= QENDTS",
/* 347 */ "pseudo_column ::= WSTARTTS",
/* 348 */ "pseudo_column ::= WENDTS",
/* 349 */ "pseudo_column ::= WDURATION",
/* 350 */ "function_expression ::= function_name NK_LP expression_list NK_RP",
/* 351 */ "function_expression ::= star_func NK_LP star_func_para_list NK_RP",
/* 352 */ "function_expression ::= CAST NK_LP expression AS type_name NK_RP",
/* 353 */ "function_expression ::= literal_func",
/* 354 */ "literal_func ::= noarg_func NK_LP NK_RP",
/* 355 */ "literal_func ::= NOW",
/* 356 */ "noarg_func ::= NOW",
/* 357 */ "noarg_func ::= TODAY",
/* 358 */ "noarg_func ::= TIMEZONE",
/* 359 */ "noarg_func ::= DATABASE",
/* 360 */ "noarg_func ::= CLIENT_VERSION",
/* 361 */ "noarg_func ::= SERVER_VERSION",
/* 362 */ "noarg_func ::= SERVER_STATUS",
/* 363 */ "noarg_func ::= CURRENT_USER",
/* 364 */ "noarg_func ::= USER",
/* 365 */ "star_func ::= COUNT",
/* 366 */ "star_func ::= FIRST",
/* 367 */ "star_func ::= LAST",
/* 368 */ "star_func ::= LAST_ROW",
/* 369 */ "star_func_para_list ::= NK_STAR",
/* 370 */ "star_func_para_list ::= other_para_list",
/* 371 */ "other_para_list ::= star_func_para",
/* 372 */ "other_para_list ::= other_para_list NK_COMMA star_func_para",
/* 373 */ "star_func_para ::= expression",
/* 374 */ "star_func_para ::= table_name NK_DOT NK_STAR",
/* 375 */ "predicate ::= expression compare_op expression",
/* 376 */ "predicate ::= expression BETWEEN expression AND expression",
/* 377 */ "predicate ::= expression NOT BETWEEN expression AND expression",
/* 378 */ "predicate ::= expression IS NULL",
/* 379 */ "predicate ::= expression IS NOT NULL",
/* 380 */ "predicate ::= expression in_op in_predicate_value",
/* 381 */ "compare_op ::= NK_LT",
/* 382 */ "compare_op ::= NK_GT",
/* 383 */ "compare_op ::= NK_LE",
/* 384 */ "compare_op ::= NK_GE",
/* 385 */ "compare_op ::= NK_NE",
/* 386 */ "compare_op ::= NK_EQ",
/* 387 */ "compare_op ::= LIKE",
/* 388 */ "compare_op ::= NOT LIKE",
/* 389 */ "compare_op ::= MATCH",
/* 390 */ "compare_op ::= NMATCH",
/* 391 */ "compare_op ::= CONTAINS",
/* 392 */ "in_op ::= IN",
/* 393 */ "in_op ::= NOT IN",
/* 394 */ "in_predicate_value ::= NK_LP literal_list NK_RP",
/* 395 */ "boolean_value_expression ::= boolean_primary",
/* 396 */ "boolean_value_expression ::= NOT boolean_primary",
/* 397 */ "boolean_value_expression ::= boolean_value_expression OR boolean_value_expression",
/* 398 */ "boolean_value_expression ::= boolean_value_expression AND boolean_value_expression",
/* 399 */ "boolean_primary ::= predicate",
/* 400 */ "boolean_primary ::= NK_LP boolean_value_expression NK_RP",
/* 401 */ "common_expression ::= expression",
/* 402 */ "common_expression ::= boolean_value_expression",
/* 403 */ "from_clause_opt ::=",
/* 404 */ "from_clause_opt ::= FROM table_reference_list",
/* 405 */ "table_reference_list ::= table_reference",
/* 406 */ "table_reference_list ::= table_reference_list NK_COMMA table_reference",
/* 407 */ "table_reference ::= table_primary",
/* 408 */ "table_reference ::= joined_table",
/* 409 */ "table_primary ::= table_name alias_opt",
/* 410 */ "table_primary ::= db_name NK_DOT table_name alias_opt",
/* 411 */ "table_primary ::= subquery alias_opt",
/* 412 */ "table_primary ::= parenthesized_joined_table",
/* 413 */ "alias_opt ::=",
/* 414 */ "alias_opt ::= table_alias",
/* 415 */ "alias_opt ::= AS table_alias",
/* 416 */ "parenthesized_joined_table ::= NK_LP joined_table NK_RP",
/* 417 */ "parenthesized_joined_table ::= NK_LP parenthesized_joined_table NK_RP",
/* 418 */ "joined_table ::= table_reference join_type JOIN table_reference ON search_condition",
/* 419 */ "join_type ::=",
/* 420 */ "join_type ::= INNER",
/* 421 */ "query_specification ::= SELECT set_quantifier_opt select_list from_clause_opt where_clause_opt partition_by_clause_opt range_opt every_opt fill_opt twindow_clause_opt group_by_clause_opt having_clause_opt",
/* 422 */ "set_quantifier_opt ::=",
/* 423 */ "set_quantifier_opt ::= DISTINCT",
/* 424 */ "set_quantifier_opt ::= ALL",
/* 425 */ "select_list ::= select_item",
/* 426 */ "select_list ::= select_list NK_COMMA select_item",
/* 427 */ "select_item ::= NK_STAR",
/* 428 */ "select_item ::= common_expression",
/* 429 */ "select_item ::= common_expression column_alias",
/* 430 */ "select_item ::= common_expression AS column_alias",
/* 431 */ "select_item ::= table_name NK_DOT NK_STAR",
/* 432 */ "where_clause_opt ::=",
/* 433 */ "where_clause_opt ::= WHERE search_condition",
/* 434 */ "partition_by_clause_opt ::=",
/* 435 */ "partition_by_clause_opt ::= PARTITION BY expression_list",
/* 436 */ "twindow_clause_opt ::=",
/* 437 */ "twindow_clause_opt ::= SESSION NK_LP column_reference NK_COMMA duration_literal NK_RP",
/* 438 */ "twindow_clause_opt ::= STATE_WINDOW NK_LP expression NK_RP",
/* 439 */ "twindow_clause_opt ::= INTERVAL NK_LP duration_literal NK_RP sliding_opt fill_opt",
/* 440 */ "twindow_clause_opt ::= INTERVAL NK_LP duration_literal NK_COMMA duration_literal NK_RP sliding_opt fill_opt",
/* 441 */ "sliding_opt ::=",
/* 442 */ "sliding_opt ::= SLIDING NK_LP duration_literal NK_RP",
/* 443 */ "fill_opt ::=",
/* 444 */ "fill_opt ::= FILL NK_LP fill_mode NK_RP",
/* 445 */ "fill_opt ::= FILL NK_LP VALUE NK_COMMA literal_list NK_RP",
/* 446 */ "fill_mode ::= NONE",
/* 447 */ "fill_mode ::= PREV",
/* 448 */ "fill_mode ::= NULL",
/* 449 */ "fill_mode ::= LINEAR",
/* 450 */ "fill_mode ::= NEXT",
/* 451 */ "group_by_clause_opt ::=",
/* 452 */ "group_by_clause_opt ::= GROUP BY group_by_list",
/* 453 */ "group_by_list ::= expression",
/* 454 */ "group_by_list ::= group_by_list NK_COMMA expression",
/* 455 */ "having_clause_opt ::=",
/* 456 */ "having_clause_opt ::= HAVING search_condition",
/* 457 */ "range_opt ::=",
/* 458 */ "range_opt ::= RANGE NK_LP expression NK_COMMA expression NK_RP",
/* 459 */ "every_opt ::=",
/* 460 */ "every_opt ::= EVERY NK_LP duration_literal NK_RP",
/* 461 */ "query_expression ::= query_expression_body order_by_clause_opt slimit_clause_opt limit_clause_opt",
/* 462 */ "query_expression_body ::= query_primary",
/* 463 */ "query_expression_body ::= query_expression_body UNION ALL query_expression_body",
/* 464 */ "query_expression_body ::= query_expression_body UNION query_expression_body",
/* 465 */ "query_primary ::= query_specification",
/* 466 */ "query_primary ::= NK_LP query_expression_body order_by_clause_opt slimit_clause_opt limit_clause_opt NK_RP",
/* 467 */ "order_by_clause_opt ::=",
/* 468 */ "order_by_clause_opt ::= ORDER BY sort_specification_list",
/* 469 */ "slimit_clause_opt ::=",
/* 470 */ "slimit_clause_opt ::= SLIMIT NK_INTEGER",
/* 471 */ "slimit_clause_opt ::= SLIMIT NK_INTEGER SOFFSET NK_INTEGER",
/* 472 */ "slimit_clause_opt ::= SLIMIT NK_INTEGER NK_COMMA NK_INTEGER",
/* 473 */ "limit_clause_opt ::=",
/* 474 */ "limit_clause_opt ::= LIMIT NK_INTEGER",
/* 475 */ "limit_clause_opt ::= LIMIT NK_INTEGER OFFSET NK_INTEGER",
/* 476 */ "limit_clause_opt ::= LIMIT NK_INTEGER NK_COMMA NK_INTEGER",
/* 477 */ "subquery ::= NK_LP query_expression NK_RP",
/* 478 */ "search_condition ::= common_expression",
/* 479 */ "sort_specification_list ::= sort_specification",
/* 480 */ "sort_specification_list ::= sort_specification_list NK_COMMA sort_specification",
/* 481 */ "sort_specification ::= expression ordering_specification_opt null_ordering_opt",
/* 482 */ "ordering_specification_opt ::=",
/* 483 */ "ordering_specification_opt ::= ASC",
/* 484 */ "ordering_specification_opt ::= DESC",
/* 485 */ "null_ordering_opt ::=",
/* 486 */ "null_ordering_opt ::= NULLS FIRST",
/* 487 */ "null_ordering_opt ::= NULLS LAST",
/* 309 */ "signed_literal ::= NK_QUESTION",
/* 310 */ "literal_list ::= signed_literal",
/* 311 */ "literal_list ::= literal_list NK_COMMA signed_literal",
/* 312 */ "db_name ::= NK_ID",
/* 313 */ "table_name ::= NK_ID",
/* 314 */ "column_name ::= NK_ID",
/* 315 */ "function_name ::= NK_ID",
/* 316 */ "table_alias ::= NK_ID",
/* 317 */ "column_alias ::= NK_ID",
/* 318 */ "user_name ::= NK_ID",
/* 319 */ "index_name ::= NK_ID",
/* 320 */ "topic_name ::= NK_ID",
/* 321 */ "stream_name ::= NK_ID",
/* 322 */ "cgroup_name ::= NK_ID",
/* 323 */ "expression ::= literal",
/* 324 */ "expression ::= pseudo_column",
/* 325 */ "expression ::= column_reference",
/* 326 */ "expression ::= function_expression",
/* 327 */ "expression ::= subquery",
/* 328 */ "expression ::= NK_LP expression NK_RP",
/* 329 */ "expression ::= NK_PLUS expression",
/* 330 */ "expression ::= NK_MINUS expression",
/* 331 */ "expression ::= expression NK_PLUS expression",
/* 332 */ "expression ::= expression NK_MINUS expression",
/* 333 */ "expression ::= expression NK_STAR expression",
/* 334 */ "expression ::= expression NK_SLASH expression",
/* 335 */ "expression ::= expression NK_REM expression",
/* 336 */ "expression ::= column_reference NK_ARROW NK_STRING",
/* 337 */ "expression ::= expression NK_BITAND expression",
/* 338 */ "expression ::= expression NK_BITOR expression",
/* 339 */ "expression_list ::= expression",
/* 340 */ "expression_list ::= expression_list NK_COMMA expression",
/* 341 */ "column_reference ::= column_name",
/* 342 */ "column_reference ::= table_name NK_DOT column_name",
/* 343 */ "pseudo_column ::= ROWTS",
/* 344 */ "pseudo_column ::= TBNAME",
/* 345 */ "pseudo_column ::= table_name NK_DOT TBNAME",
/* 346 */ "pseudo_column ::= QSTARTTS",
/* 347 */ "pseudo_column ::= QENDTS",
/* 348 */ "pseudo_column ::= WSTARTTS",
/* 349 */ "pseudo_column ::= WENDTS",
/* 350 */ "pseudo_column ::= WDURATION",
/* 351 */ "function_expression ::= function_name NK_LP expression_list NK_RP",
/* 352 */ "function_expression ::= star_func NK_LP star_func_para_list NK_RP",
/* 353 */ "function_expression ::= CAST NK_LP expression AS type_name NK_RP",
/* 354 */ "function_expression ::= literal_func",
/* 355 */ "literal_func ::= noarg_func NK_LP NK_RP",
/* 356 */ "literal_func ::= NOW",
/* 357 */ "noarg_func ::= NOW",
/* 358 */ "noarg_func ::= TODAY",
/* 359 */ "noarg_func ::= TIMEZONE",
/* 360 */ "noarg_func ::= DATABASE",
/* 361 */ "noarg_func ::= CLIENT_VERSION",
/* 362 */ "noarg_func ::= SERVER_VERSION",
/* 363 */ "noarg_func ::= SERVER_STATUS",
/* 364 */ "noarg_func ::= CURRENT_USER",
/* 365 */ "noarg_func ::= USER",
/* 366 */ "star_func ::= COUNT",
/* 367 */ "star_func ::= FIRST",
/* 368 */ "star_func ::= LAST",
/* 369 */ "star_func ::= LAST_ROW",
/* 370 */ "star_func_para_list ::= NK_STAR",
/* 371 */ "star_func_para_list ::= other_para_list",
/* 372 */ "other_para_list ::= star_func_para",
/* 373 */ "other_para_list ::= other_para_list NK_COMMA star_func_para",
/* 374 */ "star_func_para ::= expression",
/* 375 */ "star_func_para ::= table_name NK_DOT NK_STAR",
/* 376 */ "predicate ::= expression compare_op expression",
/* 377 */ "predicate ::= expression BETWEEN expression AND expression",
/* 378 */ "predicate ::= expression NOT BETWEEN expression AND expression",
/* 379 */ "predicate ::= expression IS NULL",
/* 380 */ "predicate ::= expression IS NOT NULL",
/* 381 */ "predicate ::= expression in_op in_predicate_value",
/* 382 */ "compare_op ::= NK_LT",
/* 383 */ "compare_op ::= NK_GT",
/* 384 */ "compare_op ::= NK_LE",
/* 385 */ "compare_op ::= NK_GE",
/* 386 */ "compare_op ::= NK_NE",
/* 387 */ "compare_op ::= NK_EQ",
/* 388 */ "compare_op ::= LIKE",
/* 389 */ "compare_op ::= NOT LIKE",
/* 390 */ "compare_op ::= MATCH",
/* 391 */ "compare_op ::= NMATCH",
/* 392 */ "compare_op ::= CONTAINS",
/* 393 */ "in_op ::= IN",
/* 394 */ "in_op ::= NOT IN",
/* 395 */ "in_predicate_value ::= NK_LP literal_list NK_RP",
/* 396 */ "boolean_value_expression ::= boolean_primary",
/* 397 */ "boolean_value_expression ::= NOT boolean_primary",
/* 398 */ "boolean_value_expression ::= boolean_value_expression OR boolean_value_expression",
/* 399 */ "boolean_value_expression ::= boolean_value_expression AND boolean_value_expression",
/* 400 */ "boolean_primary ::= predicate",
/* 401 */ "boolean_primary ::= NK_LP boolean_value_expression NK_RP",
/* 402 */ "common_expression ::= expression",
/* 403 */ "common_expression ::= boolean_value_expression",
/* 404 */ "from_clause_opt ::=",
/* 405 */ "from_clause_opt ::= FROM table_reference_list",
/* 406 */ "table_reference_list ::= table_reference",
/* 407 */ "table_reference_list ::= table_reference_list NK_COMMA table_reference",
/* 408 */ "table_reference ::= table_primary",
/* 409 */ "table_reference ::= joined_table",
/* 410 */ "table_primary ::= table_name alias_opt",
/* 411 */ "table_primary ::= db_name NK_DOT table_name alias_opt",
/* 412 */ "table_primary ::= subquery alias_opt",
/* 413 */ "table_primary ::= parenthesized_joined_table",
/* 414 */ "alias_opt ::=",
/* 415 */ "alias_opt ::= table_alias",
/* 416 */ "alias_opt ::= AS table_alias",
/* 417 */ "parenthesized_joined_table ::= NK_LP joined_table NK_RP",
/* 418 */ "parenthesized_joined_table ::= NK_LP parenthesized_joined_table NK_RP",
/* 419 */ "joined_table ::= table_reference join_type JOIN table_reference ON search_condition",
/* 420 */ "join_type ::=",
/* 421 */ "join_type ::= INNER",
/* 422 */ "query_specification ::= SELECT set_quantifier_opt select_list from_clause_opt where_clause_opt partition_by_clause_opt range_opt every_opt fill_opt twindow_clause_opt group_by_clause_opt having_clause_opt",
/* 423 */ "set_quantifier_opt ::=",
/* 424 */ "set_quantifier_opt ::= DISTINCT",
/* 425 */ "set_quantifier_opt ::= ALL",
/* 426 */ "select_list ::= select_item",
/* 427 */ "select_list ::= select_list NK_COMMA select_item",
/* 428 */ "select_item ::= NK_STAR",
/* 429 */ "select_item ::= common_expression",
/* 430 */ "select_item ::= common_expression column_alias",
/* 431 */ "select_item ::= common_expression AS column_alias",
/* 432 */ "select_item ::= table_name NK_DOT NK_STAR",
/* 433 */ "where_clause_opt ::=",
/* 434 */ "where_clause_opt ::= WHERE search_condition",
/* 435 */ "partition_by_clause_opt ::=",
/* 436 */ "partition_by_clause_opt ::= PARTITION BY expression_list",
/* 437 */ "twindow_clause_opt ::=",
/* 438 */ "twindow_clause_opt ::= SESSION NK_LP column_reference NK_COMMA duration_literal NK_RP",
/* 439 */ "twindow_clause_opt ::= STATE_WINDOW NK_LP expression NK_RP",
/* 440 */ "twindow_clause_opt ::= INTERVAL NK_LP duration_literal NK_RP sliding_opt fill_opt",
/* 441 */ "twindow_clause_opt ::= INTERVAL NK_LP duration_literal NK_COMMA duration_literal NK_RP sliding_opt fill_opt",
/* 442 */ "sliding_opt ::=",
/* 443 */ "sliding_opt ::= SLIDING NK_LP duration_literal NK_RP",
/* 444 */ "fill_opt ::=",
/* 445 */ "fill_opt ::= FILL NK_LP fill_mode NK_RP",
/* 446 */ "fill_opt ::= FILL NK_LP VALUE NK_COMMA literal_list NK_RP",
/* 447 */ "fill_mode ::= NONE",
/* 448 */ "fill_mode ::= PREV",
/* 449 */ "fill_mode ::= NULL",
/* 450 */ "fill_mode ::= LINEAR",
/* 451 */ "fill_mode ::= NEXT",
/* 452 */ "group_by_clause_opt ::=",
/* 453 */ "group_by_clause_opt ::= GROUP BY group_by_list",
/* 454 */ "group_by_list ::= expression",
/* 455 */ "group_by_list ::= group_by_list NK_COMMA expression",
/* 456 */ "having_clause_opt ::=",
/* 457 */ "having_clause_opt ::= HAVING search_condition",
/* 458 */ "range_opt ::=",
/* 459 */ "range_opt ::= RANGE NK_LP expression NK_COMMA expression NK_RP",
/* 460 */ "every_opt ::=",
/* 461 */ "every_opt ::= EVERY NK_LP duration_literal NK_RP",
/* 462 */ "query_expression ::= query_expression_body order_by_clause_opt slimit_clause_opt limit_clause_opt",
/* 463 */ "query_expression_body ::= query_primary",
/* 464 */ "query_expression_body ::= query_expression_body UNION ALL query_expression_body",
/* 465 */ "query_expression_body ::= query_expression_body UNION query_expression_body",
/* 466 */ "query_primary ::= query_specification",
/* 467 */ "query_primary ::= NK_LP query_expression_body order_by_clause_opt slimit_clause_opt limit_clause_opt NK_RP",
/* 468 */ "order_by_clause_opt ::=",
/* 469 */ "order_by_clause_opt ::= ORDER BY sort_specification_list",
/* 470 */ "slimit_clause_opt ::=",
/* 471 */ "slimit_clause_opt ::= SLIMIT NK_INTEGER",
/* 472 */ "slimit_clause_opt ::= SLIMIT NK_INTEGER SOFFSET NK_INTEGER",
/* 473 */ "slimit_clause_opt ::= SLIMIT NK_INTEGER NK_COMMA NK_INTEGER",
/* 474 */ "limit_clause_opt ::=",
/* 475 */ "limit_clause_opt ::= LIMIT NK_INTEGER",
/* 476 */ "limit_clause_opt ::= LIMIT NK_INTEGER OFFSET NK_INTEGER",
/* 477 */ "limit_clause_opt ::= LIMIT NK_INTEGER NK_COMMA NK_INTEGER",
/* 478 */ "subquery ::= NK_LP query_expression NK_RP",
/* 479 */ "search_condition ::= common_expression",
/* 480 */ "sort_specification_list ::= sort_specification",
/* 481 */ "sort_specification_list ::= sort_specification_list NK_COMMA sort_specification",
/* 482 */ "sort_specification ::= expression ordering_specification_opt null_ordering_opt",
/* 483 */ "ordering_specification_opt ::=",
/* 484 */ "ordering_specification_opt ::= ASC",
/* 485 */ "ordering_specification_opt ::= DESC",
/* 486 */ "null_ordering_opt ::=",
/* 487 */ "null_ordering_opt ::= NULLS FIRST",
/* 488 */ "null_ordering_opt ::= NULLS LAST",
};
#endif /* NDEBUG */
......@@ -3040,185 +3001,186 @@ static const struct {
{ 288, -1 }, /* (306) signed_literal ::= duration_literal */
{ 288, -1 }, /* (307) signed_literal ::= NULL */
{ 288, -1 }, /* (308) signed_literal ::= literal_func */
{ 327, -1 }, /* (309) literal_list ::= signed_literal */
{ 327, -3 }, /* (310) literal_list ::= literal_list NK_COMMA signed_literal */
{ 266, -1 }, /* (311) db_name ::= NK_ID */
{ 294, -1 }, /* (312) table_name ::= NK_ID */
{ 286, -1 }, /* (313) column_name ::= NK_ID */
{ 301, -1 }, /* (314) function_name ::= NK_ID */
{ 328, -1 }, /* (315) table_alias ::= NK_ID */
{ 329, -1 }, /* (316) column_alias ::= NK_ID */
{ 260, -1 }, /* (317) user_name ::= NK_ID */
{ 307, -1 }, /* (318) index_name ::= NK_ID */
{ 314, -1 }, /* (319) topic_name ::= NK_ID */
{ 321, -1 }, /* (320) stream_name ::= NK_ID */
{ 316, -1 }, /* (321) cgroup_name ::= NK_ID */
{ 330, -1 }, /* (322) expression ::= literal */
{ 330, -1 }, /* (323) expression ::= pseudo_column */
{ 330, -1 }, /* (324) expression ::= column_reference */
{ 330, -1 }, /* (325) expression ::= function_expression */
{ 330, -1 }, /* (326) expression ::= subquery */
{ 330, -3 }, /* (327) expression ::= NK_LP expression NK_RP */
{ 330, -2 }, /* (328) expression ::= NK_PLUS expression */
{ 330, -2 }, /* (329) expression ::= NK_MINUS expression */
{ 330, -3 }, /* (330) expression ::= expression NK_PLUS expression */
{ 330, -3 }, /* (331) expression ::= expression NK_MINUS expression */
{ 330, -3 }, /* (332) expression ::= expression NK_STAR expression */
{ 330, -3 }, /* (333) expression ::= expression NK_SLASH expression */
{ 330, -3 }, /* (334) expression ::= expression NK_REM expression */
{ 330, -3 }, /* (335) expression ::= column_reference NK_ARROW NK_STRING */
{ 330, -3 }, /* (336) expression ::= expression NK_BITAND expression */
{ 330, -3 }, /* (337) expression ::= expression NK_BITOR expression */
{ 291, -1 }, /* (338) expression_list ::= expression */
{ 291, -3 }, /* (339) expression_list ::= expression_list NK_COMMA expression */
{ 332, -1 }, /* (340) column_reference ::= column_name */
{ 332, -3 }, /* (341) column_reference ::= table_name NK_DOT column_name */
{ 331, -1 }, /* (342) pseudo_column ::= ROWTS */
{ 331, -1 }, /* (343) pseudo_column ::= TBNAME */
{ 331, -3 }, /* (344) pseudo_column ::= table_name NK_DOT TBNAME */
{ 331, -1 }, /* (345) pseudo_column ::= QSTARTTS */
{ 331, -1 }, /* (346) pseudo_column ::= QENDTS */
{ 331, -1 }, /* (347) pseudo_column ::= WSTARTTS */
{ 331, -1 }, /* (348) pseudo_column ::= WENDTS */
{ 331, -1 }, /* (349) pseudo_column ::= WDURATION */
{ 333, -4 }, /* (350) function_expression ::= function_name NK_LP expression_list NK_RP */
{ 333, -4 }, /* (351) function_expression ::= star_func NK_LP star_func_para_list NK_RP */
{ 333, -6 }, /* (352) function_expression ::= CAST NK_LP expression AS type_name NK_RP */
{ 333, -1 }, /* (353) function_expression ::= literal_func */
{ 326, -3 }, /* (354) literal_func ::= noarg_func NK_LP NK_RP */
{ 326, -1 }, /* (355) literal_func ::= NOW */
{ 337, -1 }, /* (356) noarg_func ::= NOW */
{ 337, -1 }, /* (357) noarg_func ::= TODAY */
{ 337, -1 }, /* (358) noarg_func ::= TIMEZONE */
{ 337, -1 }, /* (359) noarg_func ::= DATABASE */
{ 337, -1 }, /* (360) noarg_func ::= CLIENT_VERSION */
{ 337, -1 }, /* (361) noarg_func ::= SERVER_VERSION */
{ 337, -1 }, /* (362) noarg_func ::= SERVER_STATUS */
{ 337, -1 }, /* (363) noarg_func ::= CURRENT_USER */
{ 337, -1 }, /* (364) noarg_func ::= USER */
{ 335, -1 }, /* (365) star_func ::= COUNT */
{ 335, -1 }, /* (366) star_func ::= FIRST */
{ 335, -1 }, /* (367) star_func ::= LAST */
{ 335, -1 }, /* (368) star_func ::= LAST_ROW */
{ 336, -1 }, /* (369) star_func_para_list ::= NK_STAR */
{ 336, -1 }, /* (370) star_func_para_list ::= other_para_list */
{ 338, -1 }, /* (371) other_para_list ::= star_func_para */
{ 338, -3 }, /* (372) other_para_list ::= other_para_list NK_COMMA star_func_para */
{ 339, -1 }, /* (373) star_func_para ::= expression */
{ 339, -3 }, /* (374) star_func_para ::= table_name NK_DOT NK_STAR */
{ 340, -3 }, /* (375) predicate ::= expression compare_op expression */
{ 340, -5 }, /* (376) predicate ::= expression BETWEEN expression AND expression */
{ 340, -6 }, /* (377) predicate ::= expression NOT BETWEEN expression AND expression */
{ 340, -3 }, /* (378) predicate ::= expression IS NULL */
{ 340, -4 }, /* (379) predicate ::= expression IS NOT NULL */
{ 340, -3 }, /* (380) predicate ::= expression in_op in_predicate_value */
{ 341, -1 }, /* (381) compare_op ::= NK_LT */
{ 341, -1 }, /* (382) compare_op ::= NK_GT */
{ 341, -1 }, /* (383) compare_op ::= NK_LE */
{ 341, -1 }, /* (384) compare_op ::= NK_GE */
{ 341, -1 }, /* (385) compare_op ::= NK_NE */
{ 341, -1 }, /* (386) compare_op ::= NK_EQ */
{ 341, -1 }, /* (387) compare_op ::= LIKE */
{ 341, -2 }, /* (388) compare_op ::= NOT LIKE */
{ 341, -1 }, /* (389) compare_op ::= MATCH */
{ 341, -1 }, /* (390) compare_op ::= NMATCH */
{ 341, -1 }, /* (391) compare_op ::= CONTAINS */
{ 342, -1 }, /* (392) in_op ::= IN */
{ 342, -2 }, /* (393) in_op ::= NOT IN */
{ 343, -3 }, /* (394) in_predicate_value ::= NK_LP literal_list NK_RP */
{ 344, -1 }, /* (395) boolean_value_expression ::= boolean_primary */
{ 344, -2 }, /* (396) boolean_value_expression ::= NOT boolean_primary */
{ 344, -3 }, /* (397) boolean_value_expression ::= boolean_value_expression OR boolean_value_expression */
{ 344, -3 }, /* (398) boolean_value_expression ::= boolean_value_expression AND boolean_value_expression */
{ 345, -1 }, /* (399) boolean_primary ::= predicate */
{ 345, -3 }, /* (400) boolean_primary ::= NK_LP boolean_value_expression NK_RP */
{ 346, -1 }, /* (401) common_expression ::= expression */
{ 346, -1 }, /* (402) common_expression ::= boolean_value_expression */
{ 347, 0 }, /* (403) from_clause_opt ::= */
{ 347, -2 }, /* (404) from_clause_opt ::= FROM table_reference_list */
{ 348, -1 }, /* (405) table_reference_list ::= table_reference */
{ 348, -3 }, /* (406) table_reference_list ::= table_reference_list NK_COMMA table_reference */
{ 349, -1 }, /* (407) table_reference ::= table_primary */
{ 349, -1 }, /* (408) table_reference ::= joined_table */
{ 350, -2 }, /* (409) table_primary ::= table_name alias_opt */
{ 350, -4 }, /* (410) table_primary ::= db_name NK_DOT table_name alias_opt */
{ 350, -2 }, /* (411) table_primary ::= subquery alias_opt */
{ 350, -1 }, /* (412) table_primary ::= parenthesized_joined_table */
{ 352, 0 }, /* (413) alias_opt ::= */
{ 352, -1 }, /* (414) alias_opt ::= table_alias */
{ 352, -2 }, /* (415) alias_opt ::= AS table_alias */
{ 353, -3 }, /* (416) parenthesized_joined_table ::= NK_LP joined_table NK_RP */
{ 353, -3 }, /* (417) parenthesized_joined_table ::= NK_LP parenthesized_joined_table NK_RP */
{ 351, -6 }, /* (418) joined_table ::= table_reference join_type JOIN table_reference ON search_condition */
{ 354, 0 }, /* (419) join_type ::= */
{ 354, -1 }, /* (420) join_type ::= INNER */
{ 356, -12 }, /* (421) query_specification ::= SELECT set_quantifier_opt select_list from_clause_opt where_clause_opt partition_by_clause_opt range_opt every_opt fill_opt twindow_clause_opt group_by_clause_opt having_clause_opt */
{ 357, 0 }, /* (422) set_quantifier_opt ::= */
{ 357, -1 }, /* (423) set_quantifier_opt ::= DISTINCT */
{ 357, -1 }, /* (424) set_quantifier_opt ::= ALL */
{ 358, -1 }, /* (425) select_list ::= select_item */
{ 358, -3 }, /* (426) select_list ::= select_list NK_COMMA select_item */
{ 366, -1 }, /* (427) select_item ::= NK_STAR */
{ 366, -1 }, /* (428) select_item ::= common_expression */
{ 366, -2 }, /* (429) select_item ::= common_expression column_alias */
{ 366, -3 }, /* (430) select_item ::= common_expression AS column_alias */
{ 366, -3 }, /* (431) select_item ::= table_name NK_DOT NK_STAR */
{ 324, 0 }, /* (432) where_clause_opt ::= */
{ 324, -2 }, /* (433) where_clause_opt ::= WHERE search_condition */
{ 359, 0 }, /* (434) partition_by_clause_opt ::= */
{ 359, -3 }, /* (435) partition_by_clause_opt ::= PARTITION BY expression_list */
{ 363, 0 }, /* (436) twindow_clause_opt ::= */
{ 363, -6 }, /* (437) twindow_clause_opt ::= SESSION NK_LP column_reference NK_COMMA duration_literal NK_RP */
{ 363, -4 }, /* (438) twindow_clause_opt ::= STATE_WINDOW NK_LP expression NK_RP */
{ 363, -6 }, /* (439) twindow_clause_opt ::= INTERVAL NK_LP duration_literal NK_RP sliding_opt fill_opt */
{ 363, -8 }, /* (440) twindow_clause_opt ::= INTERVAL NK_LP duration_literal NK_COMMA duration_literal NK_RP sliding_opt fill_opt */
{ 310, 0 }, /* (441) sliding_opt ::= */
{ 310, -4 }, /* (442) sliding_opt ::= SLIDING NK_LP duration_literal NK_RP */
{ 362, 0 }, /* (443) fill_opt ::= */
{ 362, -4 }, /* (444) fill_opt ::= FILL NK_LP fill_mode NK_RP */
{ 362, -6 }, /* (445) fill_opt ::= FILL NK_LP VALUE NK_COMMA literal_list NK_RP */
{ 367, -1 }, /* (446) fill_mode ::= NONE */
{ 367, -1 }, /* (447) fill_mode ::= PREV */
{ 367, -1 }, /* (448) fill_mode ::= NULL */
{ 367, -1 }, /* (449) fill_mode ::= LINEAR */
{ 367, -1 }, /* (450) fill_mode ::= NEXT */
{ 364, 0 }, /* (451) group_by_clause_opt ::= */
{ 364, -3 }, /* (452) group_by_clause_opt ::= GROUP BY group_by_list */
{ 368, -1 }, /* (453) group_by_list ::= expression */
{ 368, -3 }, /* (454) group_by_list ::= group_by_list NK_COMMA expression */
{ 365, 0 }, /* (455) having_clause_opt ::= */
{ 365, -2 }, /* (456) having_clause_opt ::= HAVING search_condition */
{ 360, 0 }, /* (457) range_opt ::= */
{ 360, -6 }, /* (458) range_opt ::= RANGE NK_LP expression NK_COMMA expression NK_RP */
{ 361, 0 }, /* (459) every_opt ::= */
{ 361, -4 }, /* (460) every_opt ::= EVERY NK_LP duration_literal NK_RP */
{ 315, -4 }, /* (461) query_expression ::= query_expression_body order_by_clause_opt slimit_clause_opt limit_clause_opt */
{ 369, -1 }, /* (462) query_expression_body ::= query_primary */
{ 369, -4 }, /* (463) query_expression_body ::= query_expression_body UNION ALL query_expression_body */
{ 369, -3 }, /* (464) query_expression_body ::= query_expression_body UNION query_expression_body */
{ 373, -1 }, /* (465) query_primary ::= query_specification */
{ 373, -6 }, /* (466) query_primary ::= NK_LP query_expression_body order_by_clause_opt slimit_clause_opt limit_clause_opt NK_RP */
{ 370, 0 }, /* (467) order_by_clause_opt ::= */
{ 370, -3 }, /* (468) order_by_clause_opt ::= ORDER BY sort_specification_list */
{ 371, 0 }, /* (469) slimit_clause_opt ::= */
{ 371, -2 }, /* (470) slimit_clause_opt ::= SLIMIT NK_INTEGER */
{ 371, -4 }, /* (471) slimit_clause_opt ::= SLIMIT NK_INTEGER SOFFSET NK_INTEGER */
{ 371, -4 }, /* (472) slimit_clause_opt ::= SLIMIT NK_INTEGER NK_COMMA NK_INTEGER */
{ 372, 0 }, /* (473) limit_clause_opt ::= */
{ 372, -2 }, /* (474) limit_clause_opt ::= LIMIT NK_INTEGER */
{ 372, -4 }, /* (475) limit_clause_opt ::= LIMIT NK_INTEGER OFFSET NK_INTEGER */
{ 372, -4 }, /* (476) limit_clause_opt ::= LIMIT NK_INTEGER NK_COMMA NK_INTEGER */
{ 334, -3 }, /* (477) subquery ::= NK_LP query_expression NK_RP */
{ 355, -1 }, /* (478) search_condition ::= common_expression */
{ 374, -1 }, /* (479) sort_specification_list ::= sort_specification */
{ 374, -3 }, /* (480) sort_specification_list ::= sort_specification_list NK_COMMA sort_specification */
{ 375, -3 }, /* (481) sort_specification ::= expression ordering_specification_opt null_ordering_opt */
{ 376, 0 }, /* (482) ordering_specification_opt ::= */
{ 376, -1 }, /* (483) ordering_specification_opt ::= ASC */
{ 376, -1 }, /* (484) ordering_specification_opt ::= DESC */
{ 377, 0 }, /* (485) null_ordering_opt ::= */
{ 377, -2 }, /* (486) null_ordering_opt ::= NULLS FIRST */
{ 377, -2 }, /* (487) null_ordering_opt ::= NULLS LAST */
{ 288, -1 }, /* (309) signed_literal ::= NK_QUESTION */
{ 327, -1 }, /* (310) literal_list ::= signed_literal */
{ 327, -3 }, /* (311) literal_list ::= literal_list NK_COMMA signed_literal */
{ 266, -1 }, /* (312) db_name ::= NK_ID */
{ 294, -1 }, /* (313) table_name ::= NK_ID */
{ 286, -1 }, /* (314) column_name ::= NK_ID */
{ 301, -1 }, /* (315) function_name ::= NK_ID */
{ 328, -1 }, /* (316) table_alias ::= NK_ID */
{ 329, -1 }, /* (317) column_alias ::= NK_ID */
{ 260, -1 }, /* (318) user_name ::= NK_ID */
{ 307, -1 }, /* (319) index_name ::= NK_ID */
{ 314, -1 }, /* (320) topic_name ::= NK_ID */
{ 321, -1 }, /* (321) stream_name ::= NK_ID */
{ 316, -1 }, /* (322) cgroup_name ::= NK_ID */
{ 330, -1 }, /* (323) expression ::= literal */
{ 330, -1 }, /* (324) expression ::= pseudo_column */
{ 330, -1 }, /* (325) expression ::= column_reference */
{ 330, -1 }, /* (326) expression ::= function_expression */
{ 330, -1 }, /* (327) expression ::= subquery */
{ 330, -3 }, /* (328) expression ::= NK_LP expression NK_RP */
{ 330, -2 }, /* (329) expression ::= NK_PLUS expression */
{ 330, -2 }, /* (330) expression ::= NK_MINUS expression */
{ 330, -3 }, /* (331) expression ::= expression NK_PLUS expression */
{ 330, -3 }, /* (332) expression ::= expression NK_MINUS expression */
{ 330, -3 }, /* (333) expression ::= expression NK_STAR expression */
{ 330, -3 }, /* (334) expression ::= expression NK_SLASH expression */
{ 330, -3 }, /* (335) expression ::= expression NK_REM expression */
{ 330, -3 }, /* (336) expression ::= column_reference NK_ARROW NK_STRING */
{ 330, -3 }, /* (337) expression ::= expression NK_BITAND expression */
{ 330, -3 }, /* (338) expression ::= expression NK_BITOR expression */
{ 291, -1 }, /* (339) expression_list ::= expression */
{ 291, -3 }, /* (340) expression_list ::= expression_list NK_COMMA expression */
{ 332, -1 }, /* (341) column_reference ::= column_name */
{ 332, -3 }, /* (342) column_reference ::= table_name NK_DOT column_name */
{ 331, -1 }, /* (343) pseudo_column ::= ROWTS */
{ 331, -1 }, /* (344) pseudo_column ::= TBNAME */
{ 331, -3 }, /* (345) pseudo_column ::= table_name NK_DOT TBNAME */
{ 331, -1 }, /* (346) pseudo_column ::= QSTARTTS */
{ 331, -1 }, /* (347) pseudo_column ::= QENDTS */
{ 331, -1 }, /* (348) pseudo_column ::= WSTARTTS */
{ 331, -1 }, /* (349) pseudo_column ::= WENDTS */
{ 331, -1 }, /* (350) pseudo_column ::= WDURATION */
{ 333, -4 }, /* (351) function_expression ::= function_name NK_LP expression_list NK_RP */
{ 333, -4 }, /* (352) function_expression ::= star_func NK_LP star_func_para_list NK_RP */
{ 333, -6 }, /* (353) function_expression ::= CAST NK_LP expression AS type_name NK_RP */
{ 333, -1 }, /* (354) function_expression ::= literal_func */
{ 326, -3 }, /* (355) literal_func ::= noarg_func NK_LP NK_RP */
{ 326, -1 }, /* (356) literal_func ::= NOW */
{ 337, -1 }, /* (357) noarg_func ::= NOW */
{ 337, -1 }, /* (358) noarg_func ::= TODAY */
{ 337, -1 }, /* (359) noarg_func ::= TIMEZONE */
{ 337, -1 }, /* (360) noarg_func ::= DATABASE */
{ 337, -1 }, /* (361) noarg_func ::= CLIENT_VERSION */
{ 337, -1 }, /* (362) noarg_func ::= SERVER_VERSION */
{ 337, -1 }, /* (363) noarg_func ::= SERVER_STATUS */
{ 337, -1 }, /* (364) noarg_func ::= CURRENT_USER */
{ 337, -1 }, /* (365) noarg_func ::= USER */
{ 335, -1 }, /* (366) star_func ::= COUNT */
{ 335, -1 }, /* (367) star_func ::= FIRST */
{ 335, -1 }, /* (368) star_func ::= LAST */
{ 335, -1 }, /* (369) star_func ::= LAST_ROW */
{ 336, -1 }, /* (370) star_func_para_list ::= NK_STAR */
{ 336, -1 }, /* (371) star_func_para_list ::= other_para_list */
{ 338, -1 }, /* (372) other_para_list ::= star_func_para */
{ 338, -3 }, /* (373) other_para_list ::= other_para_list NK_COMMA star_func_para */
{ 339, -1 }, /* (374) star_func_para ::= expression */
{ 339, -3 }, /* (375) star_func_para ::= table_name NK_DOT NK_STAR */
{ 340, -3 }, /* (376) predicate ::= expression compare_op expression */
{ 340, -5 }, /* (377) predicate ::= expression BETWEEN expression AND expression */
{ 340, -6 }, /* (378) predicate ::= expression NOT BETWEEN expression AND expression */
{ 340, -3 }, /* (379) predicate ::= expression IS NULL */
{ 340, -4 }, /* (380) predicate ::= expression IS NOT NULL */
{ 340, -3 }, /* (381) predicate ::= expression in_op in_predicate_value */
{ 341, -1 }, /* (382) compare_op ::= NK_LT */
{ 341, -1 }, /* (383) compare_op ::= NK_GT */
{ 341, -1 }, /* (384) compare_op ::= NK_LE */
{ 341, -1 }, /* (385) compare_op ::= NK_GE */
{ 341, -1 }, /* (386) compare_op ::= NK_NE */
{ 341, -1 }, /* (387) compare_op ::= NK_EQ */
{ 341, -1 }, /* (388) compare_op ::= LIKE */
{ 341, -2 }, /* (389) compare_op ::= NOT LIKE */
{ 341, -1 }, /* (390) compare_op ::= MATCH */
{ 341, -1 }, /* (391) compare_op ::= NMATCH */
{ 341, -1 }, /* (392) compare_op ::= CONTAINS */
{ 342, -1 }, /* (393) in_op ::= IN */
{ 342, -2 }, /* (394) in_op ::= NOT IN */
{ 343, -3 }, /* (395) in_predicate_value ::= NK_LP literal_list NK_RP */
{ 344, -1 }, /* (396) boolean_value_expression ::= boolean_primary */
{ 344, -2 }, /* (397) boolean_value_expression ::= NOT boolean_primary */
{ 344, -3 }, /* (398) boolean_value_expression ::= boolean_value_expression OR boolean_value_expression */
{ 344, -3 }, /* (399) boolean_value_expression ::= boolean_value_expression AND boolean_value_expression */
{ 345, -1 }, /* (400) boolean_primary ::= predicate */
{ 345, -3 }, /* (401) boolean_primary ::= NK_LP boolean_value_expression NK_RP */
{ 346, -1 }, /* (402) common_expression ::= expression */
{ 346, -1 }, /* (403) common_expression ::= boolean_value_expression */
{ 347, 0 }, /* (404) from_clause_opt ::= */
{ 347, -2 }, /* (405) from_clause_opt ::= FROM table_reference_list */
{ 348, -1 }, /* (406) table_reference_list ::= table_reference */
{ 348, -3 }, /* (407) table_reference_list ::= table_reference_list NK_COMMA table_reference */
{ 349, -1 }, /* (408) table_reference ::= table_primary */
{ 349, -1 }, /* (409) table_reference ::= joined_table */
{ 350, -2 }, /* (410) table_primary ::= table_name alias_opt */
{ 350, -4 }, /* (411) table_primary ::= db_name NK_DOT table_name alias_opt */
{ 350, -2 }, /* (412) table_primary ::= subquery alias_opt */
{ 350, -1 }, /* (413) table_primary ::= parenthesized_joined_table */
{ 352, 0 }, /* (414) alias_opt ::= */
{ 352, -1 }, /* (415) alias_opt ::= table_alias */
{ 352, -2 }, /* (416) alias_opt ::= AS table_alias */
{ 353, -3 }, /* (417) parenthesized_joined_table ::= NK_LP joined_table NK_RP */
{ 353, -3 }, /* (418) parenthesized_joined_table ::= NK_LP parenthesized_joined_table NK_RP */
{ 351, -6 }, /* (419) joined_table ::= table_reference join_type JOIN table_reference ON search_condition */
{ 354, 0 }, /* (420) join_type ::= */
{ 354, -1 }, /* (421) join_type ::= INNER */
{ 356, -12 }, /* (422) query_specification ::= SELECT set_quantifier_opt select_list from_clause_opt where_clause_opt partition_by_clause_opt range_opt every_opt fill_opt twindow_clause_opt group_by_clause_opt having_clause_opt */
{ 357, 0 }, /* (423) set_quantifier_opt ::= */
{ 357, -1 }, /* (424) set_quantifier_opt ::= DISTINCT */
{ 357, -1 }, /* (425) set_quantifier_opt ::= ALL */
{ 358, -1 }, /* (426) select_list ::= select_item */
{ 358, -3 }, /* (427) select_list ::= select_list NK_COMMA select_item */
{ 366, -1 }, /* (428) select_item ::= NK_STAR */
{ 366, -1 }, /* (429) select_item ::= common_expression */
{ 366, -2 }, /* (430) select_item ::= common_expression column_alias */
{ 366, -3 }, /* (431) select_item ::= common_expression AS column_alias */
{ 366, -3 }, /* (432) select_item ::= table_name NK_DOT NK_STAR */
{ 324, 0 }, /* (433) where_clause_opt ::= */
{ 324, -2 }, /* (434) where_clause_opt ::= WHERE search_condition */
{ 359, 0 }, /* (435) partition_by_clause_opt ::= */
{ 359, -3 }, /* (436) partition_by_clause_opt ::= PARTITION BY expression_list */
{ 363, 0 }, /* (437) twindow_clause_opt ::= */
{ 363, -6 }, /* (438) twindow_clause_opt ::= SESSION NK_LP column_reference NK_COMMA duration_literal NK_RP */
{ 363, -4 }, /* (439) twindow_clause_opt ::= STATE_WINDOW NK_LP expression NK_RP */
{ 363, -6 }, /* (440) twindow_clause_opt ::= INTERVAL NK_LP duration_literal NK_RP sliding_opt fill_opt */
{ 363, -8 }, /* (441) twindow_clause_opt ::= INTERVAL NK_LP duration_literal NK_COMMA duration_literal NK_RP sliding_opt fill_opt */
{ 310, 0 }, /* (442) sliding_opt ::= */
{ 310, -4 }, /* (443) sliding_opt ::= SLIDING NK_LP duration_literal NK_RP */
{ 362, 0 }, /* (444) fill_opt ::= */
{ 362, -4 }, /* (445) fill_opt ::= FILL NK_LP fill_mode NK_RP */
{ 362, -6 }, /* (446) fill_opt ::= FILL NK_LP VALUE NK_COMMA literal_list NK_RP */
{ 367, -1 }, /* (447) fill_mode ::= NONE */
{ 367, -1 }, /* (448) fill_mode ::= PREV */
{ 367, -1 }, /* (449) fill_mode ::= NULL */
{ 367, -1 }, /* (450) fill_mode ::= LINEAR */
{ 367, -1 }, /* (451) fill_mode ::= NEXT */
{ 364, 0 }, /* (452) group_by_clause_opt ::= */
{ 364, -3 }, /* (453) group_by_clause_opt ::= GROUP BY group_by_list */
{ 368, -1 }, /* (454) group_by_list ::= expression */
{ 368, -3 }, /* (455) group_by_list ::= group_by_list NK_COMMA expression */
{ 365, 0 }, /* (456) having_clause_opt ::= */
{ 365, -2 }, /* (457) having_clause_opt ::= HAVING search_condition */
{ 360, 0 }, /* (458) range_opt ::= */
{ 360, -6 }, /* (459) range_opt ::= RANGE NK_LP expression NK_COMMA expression NK_RP */
{ 361, 0 }, /* (460) every_opt ::= */
{ 361, -4 }, /* (461) every_opt ::= EVERY NK_LP duration_literal NK_RP */
{ 315, -4 }, /* (462) query_expression ::= query_expression_body order_by_clause_opt slimit_clause_opt limit_clause_opt */
{ 369, -1 }, /* (463) query_expression_body ::= query_primary */
{ 369, -4 }, /* (464) query_expression_body ::= query_expression_body UNION ALL query_expression_body */
{ 369, -3 }, /* (465) query_expression_body ::= query_expression_body UNION query_expression_body */
{ 373, -1 }, /* (466) query_primary ::= query_specification */
{ 373, -6 }, /* (467) query_primary ::= NK_LP query_expression_body order_by_clause_opt slimit_clause_opt limit_clause_opt NK_RP */
{ 370, 0 }, /* (468) order_by_clause_opt ::= */
{ 370, -3 }, /* (469) order_by_clause_opt ::= ORDER BY sort_specification_list */
{ 371, 0 }, /* (470) slimit_clause_opt ::= */
{ 371, -2 }, /* (471) slimit_clause_opt ::= SLIMIT NK_INTEGER */
{ 371, -4 }, /* (472) slimit_clause_opt ::= SLIMIT NK_INTEGER SOFFSET NK_INTEGER */
{ 371, -4 }, /* (473) slimit_clause_opt ::= SLIMIT NK_INTEGER NK_COMMA NK_INTEGER */
{ 372, 0 }, /* (474) limit_clause_opt ::= */
{ 372, -2 }, /* (475) limit_clause_opt ::= LIMIT NK_INTEGER */
{ 372, -4 }, /* (476) limit_clause_opt ::= LIMIT NK_INTEGER OFFSET NK_INTEGER */
{ 372, -4 }, /* (477) limit_clause_opt ::= LIMIT NK_INTEGER NK_COMMA NK_INTEGER */
{ 334, -3 }, /* (478) subquery ::= NK_LP query_expression NK_RP */
{ 355, -1 }, /* (479) search_condition ::= common_expression */
{ 374, -1 }, /* (480) sort_specification_list ::= sort_specification */
{ 374, -3 }, /* (481) sort_specification_list ::= sort_specification_list NK_COMMA sort_specification */
{ 375, -3 }, /* (482) sort_specification ::= expression ordering_specification_opt null_ordering_opt */
{ 376, 0 }, /* (483) ordering_specification_opt ::= */
{ 376, -1 }, /* (484) ordering_specification_opt ::= ASC */
{ 376, -1 }, /* (485) ordering_specification_opt ::= DESC */
{ 377, 0 }, /* (486) null_ordering_opt ::= */
{ 377, -2 }, /* (487) null_ordering_opt ::= NULLS FIRST */
{ 377, -2 }, /* (488) null_ordering_opt ::= NULLS LAST */
};
static void yy_accept(yyParser*); /* Forward Declaration */
......@@ -3434,30 +3396,30 @@ static YYACTIONTYPE yy_reduce(
case 49: /* dnode_endpoint ::= NK_STRING */
case 50: /* dnode_endpoint ::= NK_ID */ yytestcase(yyruleno==50);
case 51: /* dnode_endpoint ::= NK_IPTOKEN */ yytestcase(yyruleno==51);
case 311: /* db_name ::= NK_ID */ yytestcase(yyruleno==311);
case 312: /* table_name ::= NK_ID */ yytestcase(yyruleno==312);
case 313: /* column_name ::= NK_ID */ yytestcase(yyruleno==313);
case 314: /* function_name ::= NK_ID */ yytestcase(yyruleno==314);
case 315: /* table_alias ::= NK_ID */ yytestcase(yyruleno==315);
case 316: /* column_alias ::= NK_ID */ yytestcase(yyruleno==316);
case 317: /* user_name ::= NK_ID */ yytestcase(yyruleno==317);
case 318: /* index_name ::= NK_ID */ yytestcase(yyruleno==318);
case 319: /* topic_name ::= NK_ID */ yytestcase(yyruleno==319);
case 320: /* stream_name ::= NK_ID */ yytestcase(yyruleno==320);
case 321: /* cgroup_name ::= NK_ID */ yytestcase(yyruleno==321);
case 356: /* noarg_func ::= NOW */ yytestcase(yyruleno==356);
case 357: /* noarg_func ::= TODAY */ yytestcase(yyruleno==357);
case 358: /* noarg_func ::= TIMEZONE */ yytestcase(yyruleno==358);
case 359: /* noarg_func ::= DATABASE */ yytestcase(yyruleno==359);
case 360: /* noarg_func ::= CLIENT_VERSION */ yytestcase(yyruleno==360);
case 361: /* noarg_func ::= SERVER_VERSION */ yytestcase(yyruleno==361);
case 362: /* noarg_func ::= SERVER_STATUS */ yytestcase(yyruleno==362);
case 363: /* noarg_func ::= CURRENT_USER */ yytestcase(yyruleno==363);
case 364: /* noarg_func ::= USER */ yytestcase(yyruleno==364);
case 365: /* star_func ::= COUNT */ yytestcase(yyruleno==365);
case 366: /* star_func ::= FIRST */ yytestcase(yyruleno==366);
case 367: /* star_func ::= LAST */ yytestcase(yyruleno==367);
case 368: /* star_func ::= LAST_ROW */ yytestcase(yyruleno==368);
case 312: /* db_name ::= NK_ID */ yytestcase(yyruleno==312);
case 313: /* table_name ::= NK_ID */ yytestcase(yyruleno==313);
case 314: /* column_name ::= NK_ID */ yytestcase(yyruleno==314);
case 315: /* function_name ::= NK_ID */ yytestcase(yyruleno==315);
case 316: /* table_alias ::= NK_ID */ yytestcase(yyruleno==316);
case 317: /* column_alias ::= NK_ID */ yytestcase(yyruleno==317);
case 318: /* user_name ::= NK_ID */ yytestcase(yyruleno==318);
case 319: /* index_name ::= NK_ID */ yytestcase(yyruleno==319);
case 320: /* topic_name ::= NK_ID */ yytestcase(yyruleno==320);
case 321: /* stream_name ::= NK_ID */ yytestcase(yyruleno==321);
case 322: /* cgroup_name ::= NK_ID */ yytestcase(yyruleno==322);
case 357: /* noarg_func ::= NOW */ yytestcase(yyruleno==357);
case 358: /* noarg_func ::= TODAY */ yytestcase(yyruleno==358);
case 359: /* noarg_func ::= TIMEZONE */ yytestcase(yyruleno==359);
case 360: /* noarg_func ::= DATABASE */ yytestcase(yyruleno==360);
case 361: /* noarg_func ::= CLIENT_VERSION */ yytestcase(yyruleno==361);
case 362: /* noarg_func ::= SERVER_VERSION */ yytestcase(yyruleno==362);
case 363: /* noarg_func ::= SERVER_STATUS */ yytestcase(yyruleno==363);
case 364: /* noarg_func ::= CURRENT_USER */ yytestcase(yyruleno==364);
case 365: /* noarg_func ::= USER */ yytestcase(yyruleno==365);
case 366: /* star_func ::= COUNT */ yytestcase(yyruleno==366);
case 367: /* star_func ::= FIRST */ yytestcase(yyruleno==367);
case 368: /* star_func ::= LAST */ yytestcase(yyruleno==368);
case 369: /* star_func ::= LAST_ROW */ yytestcase(yyruleno==369);
{ yylhsminor.yy533 = yymsp[0].minor.yy0; }
yymsp[0].minor.yy533 = yylhsminor.yy533;
break;
......@@ -3516,7 +3478,7 @@ static YYACTIONTYPE yy_reduce(
case 71: /* exists_opt ::= */ yytestcase(yyruleno==71);
case 252: /* analyze_opt ::= */ yytestcase(yyruleno==252);
case 260: /* agg_func_opt ::= */ yytestcase(yyruleno==260);
case 422: /* set_quantifier_opt ::= */ yytestcase(yyruleno==422);
case 423: /* set_quantifier_opt ::= */ yytestcase(yyruleno==423);
{ yymsp[1].minor.yy173 = false; }
break;
case 70: /* exists_opt ::= IF EXISTS */
......@@ -3663,10 +3625,10 @@ static YYACTIONTYPE yy_reduce(
case 183: /* rollup_func_list ::= rollup_func_name */ yytestcase(yyruleno==183);
case 188: /* col_name_list ::= col_name */ yytestcase(yyruleno==188);
case 235: /* func_list ::= func */ yytestcase(yyruleno==235);
case 309: /* literal_list ::= signed_literal */ yytestcase(yyruleno==309);
case 371: /* other_para_list ::= star_func_para */ yytestcase(yyruleno==371);
case 425: /* select_list ::= select_item */ yytestcase(yyruleno==425);
case 479: /* sort_specification_list ::= sort_specification */ yytestcase(yyruleno==479);
case 310: /* literal_list ::= signed_literal */ yytestcase(yyruleno==310);
case 372: /* other_para_list ::= star_func_para */ yytestcase(yyruleno==372);
case 426: /* select_list ::= select_item */ yytestcase(yyruleno==426);
case 480: /* sort_specification_list ::= sort_specification */ yytestcase(yyruleno==480);
{ yylhsminor.yy712 = createNodeList(pCxt, yymsp[0].minor.yy560); }
yymsp[0].minor.yy712 = yylhsminor.yy712;
break;
......@@ -3675,10 +3637,10 @@ static YYACTIONTYPE yy_reduce(
case 184: /* rollup_func_list ::= rollup_func_list NK_COMMA rollup_func_name */ yytestcase(yyruleno==184);
case 189: /* col_name_list ::= col_name_list NK_COMMA col_name */ yytestcase(yyruleno==189);
case 236: /* func_list ::= func_list NK_COMMA func */ yytestcase(yyruleno==236);
case 310: /* literal_list ::= literal_list NK_COMMA signed_literal */ yytestcase(yyruleno==310);
case 372: /* other_para_list ::= other_para_list NK_COMMA star_func_para */ yytestcase(yyruleno==372);
case 426: /* select_list ::= select_list NK_COMMA select_item */ yytestcase(yyruleno==426);
case 480: /* sort_specification_list ::= sort_specification_list NK_COMMA sort_specification */ yytestcase(yyruleno==480);
case 311: /* literal_list ::= literal_list NK_COMMA signed_literal */ yytestcase(yyruleno==311);
case 373: /* other_para_list ::= other_para_list NK_COMMA star_func_para */ yytestcase(yyruleno==373);
case 427: /* select_list ::= select_list NK_COMMA select_item */ yytestcase(yyruleno==427);
case 481: /* sort_specification_list ::= sort_specification_list NK_COMMA sort_specification */ yytestcase(yyruleno==481);
{ yylhsminor.yy712 = addNodeToList(pCxt, yymsp[-2].minor.yy712, yymsp[0].minor.yy560); }
yymsp[-2].minor.yy712 = yylhsminor.yy712;
break;
......@@ -3761,9 +3723,9 @@ static YYACTIONTYPE yy_reduce(
break;
case 136: /* specific_cols_opt ::= */
case 167: /* tags_def_opt ::= */ yytestcase(yyruleno==167);
case 434: /* partition_by_clause_opt ::= */ yytestcase(yyruleno==434);
case 451: /* group_by_clause_opt ::= */ yytestcase(yyruleno==451);
case 467: /* order_by_clause_opt ::= */ yytestcase(yyruleno==467);
case 435: /* partition_by_clause_opt ::= */ yytestcase(yyruleno==435);
case 452: /* group_by_clause_opt ::= */ yytestcase(yyruleno==452);
case 468: /* order_by_clause_opt ::= */ yytestcase(yyruleno==468);
{ yymsp[1].minor.yy712 = NULL; }
break;
case 137: /* specific_cols_opt ::= NK_LP col_name_list NK_RP */
......@@ -3853,7 +3815,7 @@ static YYACTIONTYPE yy_reduce(
{ yymsp[-5].minor.yy196 = createDataType(TSDB_DATA_TYPE_DECIMAL); }
break;
case 168: /* tags_def_opt ::= tags_def */
case 370: /* star_func_para_list ::= other_para_list */ yytestcase(yyruleno==370);
case 371: /* star_func_para_list ::= other_para_list */ yytestcase(yyruleno==371);
{ yylhsminor.yy712 = yymsp[0].minor.yy712; }
yymsp[0].minor.yy712 = yylhsminor.yy712;
break;
......@@ -3902,12 +3864,12 @@ static YYACTIONTYPE yy_reduce(
{ yymsp[-1].minor.yy389.type = TABLE_OPTION_TTL; yymsp[-1].minor.yy389.val = yymsp[0].minor.yy0; }
break;
case 181: /* duration_list ::= duration_literal */
case 338: /* expression_list ::= expression */ yytestcase(yyruleno==338);
case 339: /* expression_list ::= expression */ yytestcase(yyruleno==339);
{ yylhsminor.yy712 = createNodeList(pCxt, releaseRawExprNode(pCxt, yymsp[0].minor.yy560)); }
yymsp[0].minor.yy712 = yylhsminor.yy712;
break;
case 182: /* duration_list ::= duration_list NK_COMMA duration_literal */
case 339: /* expression_list ::= expression_list NK_COMMA expression */ yytestcase(yyruleno==339);
case 340: /* expression_list ::= expression_list NK_COMMA expression */ yytestcase(yyruleno==340);
{ yylhsminor.yy712 = addNodeToList(pCxt, yymsp[-2].minor.yy712, releaseRawExprNode(pCxt, yymsp[0].minor.yy560)); }
yymsp[-2].minor.yy712 = yylhsminor.yy712;
break;
......@@ -4031,16 +3993,16 @@ static YYACTIONTYPE yy_reduce(
break;
case 226: /* like_pattern_opt ::= */
case 266: /* into_opt ::= */ yytestcase(yyruleno==266);
case 403: /* from_clause_opt ::= */ yytestcase(yyruleno==403);
case 432: /* where_clause_opt ::= */ yytestcase(yyruleno==432);
case 436: /* twindow_clause_opt ::= */ yytestcase(yyruleno==436);
case 441: /* sliding_opt ::= */ yytestcase(yyruleno==441);
case 443: /* fill_opt ::= */ yytestcase(yyruleno==443);
case 455: /* having_clause_opt ::= */ yytestcase(yyruleno==455);
case 457: /* range_opt ::= */ yytestcase(yyruleno==457);
case 459: /* every_opt ::= */ yytestcase(yyruleno==459);
case 469: /* slimit_clause_opt ::= */ yytestcase(yyruleno==469);
case 473: /* limit_clause_opt ::= */ yytestcase(yyruleno==473);
case 404: /* from_clause_opt ::= */ yytestcase(yyruleno==404);
case 433: /* where_clause_opt ::= */ yytestcase(yyruleno==433);
case 437: /* twindow_clause_opt ::= */ yytestcase(yyruleno==437);
case 442: /* sliding_opt ::= */ yytestcase(yyruleno==442);
case 444: /* fill_opt ::= */ yytestcase(yyruleno==444);
case 456: /* having_clause_opt ::= */ yytestcase(yyruleno==456);
case 458: /* range_opt ::= */ yytestcase(yyruleno==458);
case 460: /* every_opt ::= */ yytestcase(yyruleno==460);
case 470: /* slimit_clause_opt ::= */ yytestcase(yyruleno==470);
case 474: /* limit_clause_opt ::= */ yytestcase(yyruleno==474);
{ yymsp[1].minor.yy560 = NULL; }
break;
case 227: /* like_pattern_opt ::= LIKE NK_STRING */
......@@ -4115,7 +4077,7 @@ static YYACTIONTYPE yy_reduce(
break;
case 253: /* analyze_opt ::= ANALYZE */
case 261: /* agg_func_opt ::= AGGREGATE */ yytestcase(yyruleno==261);
case 423: /* set_quantifier_opt ::= DISTINCT */ yytestcase(yyruleno==423);
case 424: /* set_quantifier_opt ::= DISTINCT */ yytestcase(yyruleno==424);
{ yymsp[0].minor.yy173 = true; }
break;
case 254: /* explain_options ::= */
......@@ -4151,9 +4113,9 @@ static YYACTIONTYPE yy_reduce(
{ pCxt->pRootNode = createDropStreamStmt(pCxt, yymsp[-1].minor.yy173, &yymsp[0].minor.yy533); }
break;
case 267: /* into_opt ::= INTO full_table_name */
case 404: /* from_clause_opt ::= FROM table_reference_list */ yytestcase(yyruleno==404);
case 433: /* where_clause_opt ::= WHERE search_condition */ yytestcase(yyruleno==433);
case 456: /* having_clause_opt ::= HAVING search_condition */ yytestcase(yyruleno==456);
case 405: /* from_clause_opt ::= FROM table_reference_list */ yytestcase(yyruleno==405);
case 434: /* where_clause_opt ::= WHERE search_condition */ yytestcase(yyruleno==434);
case 457: /* having_clause_opt ::= HAVING search_condition */ yytestcase(yyruleno==457);
{ yymsp[-1].minor.yy560 = yymsp[0].minor.yy560; }
break;
case 269: /* stream_options ::= stream_options TRIGGER AT_ONCE */
......@@ -4227,22 +4189,22 @@ static YYACTIONTYPE yy_reduce(
break;
case 292: /* literal ::= duration_literal */
case 302: /* signed_literal ::= signed */ yytestcase(yyruleno==302);
case 322: /* expression ::= literal */ yytestcase(yyruleno==322);
case 323: /* expression ::= pseudo_column */ yytestcase(yyruleno==323);
case 324: /* expression ::= column_reference */ yytestcase(yyruleno==324);
case 325: /* expression ::= function_expression */ yytestcase(yyruleno==325);
case 326: /* expression ::= subquery */ yytestcase(yyruleno==326);
case 353: /* function_expression ::= literal_func */ yytestcase(yyruleno==353);
case 395: /* boolean_value_expression ::= boolean_primary */ yytestcase(yyruleno==395);
case 399: /* boolean_primary ::= predicate */ yytestcase(yyruleno==399);
case 401: /* common_expression ::= expression */ yytestcase(yyruleno==401);
case 402: /* common_expression ::= boolean_value_expression */ yytestcase(yyruleno==402);
case 405: /* table_reference_list ::= table_reference */ yytestcase(yyruleno==405);
case 407: /* table_reference ::= table_primary */ yytestcase(yyruleno==407);
case 408: /* table_reference ::= joined_table */ yytestcase(yyruleno==408);
case 412: /* table_primary ::= parenthesized_joined_table */ yytestcase(yyruleno==412);
case 462: /* query_expression_body ::= query_primary */ yytestcase(yyruleno==462);
case 465: /* query_primary ::= query_specification */ yytestcase(yyruleno==465);
case 323: /* expression ::= literal */ yytestcase(yyruleno==323);
case 324: /* expression ::= pseudo_column */ yytestcase(yyruleno==324);
case 325: /* expression ::= column_reference */ yytestcase(yyruleno==325);
case 326: /* expression ::= function_expression */ yytestcase(yyruleno==326);
case 327: /* expression ::= subquery */ yytestcase(yyruleno==327);
case 354: /* function_expression ::= literal_func */ yytestcase(yyruleno==354);
case 396: /* boolean_value_expression ::= boolean_primary */ yytestcase(yyruleno==396);
case 400: /* boolean_primary ::= predicate */ yytestcase(yyruleno==400);
case 402: /* common_expression ::= expression */ yytestcase(yyruleno==402);
case 403: /* common_expression ::= boolean_value_expression */ yytestcase(yyruleno==403);
case 406: /* table_reference_list ::= table_reference */ yytestcase(yyruleno==406);
case 408: /* table_reference ::= table_primary */ yytestcase(yyruleno==408);
case 409: /* table_reference ::= joined_table */ yytestcase(yyruleno==409);
case 413: /* table_primary ::= parenthesized_joined_table */ yytestcase(yyruleno==413);
case 463: /* query_expression_body ::= query_primary */ yytestcase(yyruleno==463);
case 466: /* query_primary ::= query_specification */ yytestcase(yyruleno==466);
{ yylhsminor.yy560 = yymsp[0].minor.yy560; }
yymsp[0].minor.yy560 = yylhsminor.yy560;
break;
......@@ -4301,9 +4263,9 @@ static YYACTIONTYPE yy_reduce(
break;
case 306: /* signed_literal ::= duration_literal */
case 308: /* signed_literal ::= literal_func */ yytestcase(yyruleno==308);
case 373: /* star_func_para ::= expression */ yytestcase(yyruleno==373);
case 428: /* select_item ::= common_expression */ yytestcase(yyruleno==428);
case 478: /* search_condition ::= common_expression */ yytestcase(yyruleno==478);
case 374: /* star_func_para ::= expression */ yytestcase(yyruleno==374);
case 429: /* select_item ::= common_expression */ yytestcase(yyruleno==429);
case 479: /* search_condition ::= common_expression */ yytestcase(yyruleno==479);
{ yylhsminor.yy560 = releaseRawExprNode(pCxt, yymsp[0].minor.yy560); }
yymsp[0].minor.yy560 = yylhsminor.yy560;
break;
......@@ -4311,26 +4273,30 @@ static YYACTIONTYPE yy_reduce(
{ yylhsminor.yy560 = createValueNode(pCxt, TSDB_DATA_TYPE_NULL, &yymsp[0].minor.yy0); }
yymsp[0].minor.yy560 = yylhsminor.yy560;
break;
case 327: /* expression ::= NK_LP expression NK_RP */
case 400: /* boolean_primary ::= NK_LP boolean_value_expression NK_RP */ yytestcase(yyruleno==400);
case 309: /* signed_literal ::= NK_QUESTION */
{ yylhsminor.yy560 = createPlaceholderValueNode(pCxt, &yymsp[0].minor.yy0); }
yymsp[0].minor.yy560 = yylhsminor.yy560;
break;
case 328: /* expression ::= NK_LP expression NK_RP */
case 401: /* boolean_primary ::= NK_LP boolean_value_expression NK_RP */ yytestcase(yyruleno==401);
{ yylhsminor.yy560 = createRawExprNodeExt(pCxt, &yymsp[-2].minor.yy0, &yymsp[0].minor.yy0, releaseRawExprNode(pCxt, yymsp[-1].minor.yy560)); }
yymsp[-2].minor.yy560 = yylhsminor.yy560;
break;
case 328: /* expression ::= NK_PLUS expression */
case 329: /* expression ::= NK_PLUS expression */
{
SToken t = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy560);
yylhsminor.yy560 = createRawExprNodeExt(pCxt, &yymsp[-1].minor.yy0, &t, releaseRawExprNode(pCxt, yymsp[0].minor.yy560));
}
yymsp[-1].minor.yy560 = yylhsminor.yy560;
break;
case 329: /* expression ::= NK_MINUS expression */
case 330: /* expression ::= NK_MINUS expression */
{
SToken t = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy560);
yylhsminor.yy560 = createRawExprNodeExt(pCxt, &yymsp[-1].minor.yy0, &t, createOperatorNode(pCxt, OP_TYPE_MINUS, releaseRawExprNode(pCxt, yymsp[0].minor.yy560), NULL));
}
yymsp[-1].minor.yy560 = yylhsminor.yy560;
break;
case 330: /* expression ::= expression NK_PLUS expression */
case 331: /* expression ::= expression NK_PLUS expression */
{
SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy560);
SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy560);
......@@ -4338,7 +4304,7 @@ static YYACTIONTYPE yy_reduce(
}
yymsp[-2].minor.yy560 = yylhsminor.yy560;
break;
case 331: /* expression ::= expression NK_MINUS expression */
case 332: /* expression ::= expression NK_MINUS expression */
{
SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy560);
SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy560);
......@@ -4346,7 +4312,7 @@ static YYACTIONTYPE yy_reduce(
}
yymsp[-2].minor.yy560 = yylhsminor.yy560;
break;
case 332: /* expression ::= expression NK_STAR expression */
case 333: /* expression ::= expression NK_STAR expression */
{
SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy560);
SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy560);
......@@ -4354,7 +4320,7 @@ static YYACTIONTYPE yy_reduce(
}
yymsp[-2].minor.yy560 = yylhsminor.yy560;
break;
case 333: /* expression ::= expression NK_SLASH expression */
case 334: /* expression ::= expression NK_SLASH expression */
{
SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy560);
SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy560);
......@@ -4362,7 +4328,7 @@ static YYACTIONTYPE yy_reduce(
}
yymsp[-2].minor.yy560 = yylhsminor.yy560;
break;
case 334: /* expression ::= expression NK_REM expression */
case 335: /* expression ::= expression NK_REM expression */
{
SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy560);
SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy560);
......@@ -4370,14 +4336,14 @@ static YYACTIONTYPE yy_reduce(
}
yymsp[-2].minor.yy560 = yylhsminor.yy560;
break;
case 335: /* expression ::= column_reference NK_ARROW NK_STRING */
case 336: /* expression ::= column_reference NK_ARROW NK_STRING */
{
SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy560);
yylhsminor.yy560 = createRawExprNodeExt(pCxt, &s, &yymsp[0].minor.yy0, createOperatorNode(pCxt, OP_TYPE_JSON_GET_VALUE, releaseRawExprNode(pCxt, yymsp[-2].minor.yy560), createValueNode(pCxt, TSDB_DATA_TYPE_BINARY, &yymsp[0].minor.yy0)));
}
yymsp[-2].minor.yy560 = yylhsminor.yy560;
break;
case 336: /* expression ::= expression NK_BITAND expression */
case 337: /* expression ::= expression NK_BITAND expression */
{
SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy560);
SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy560);
......@@ -4385,7 +4351,7 @@ static YYACTIONTYPE yy_reduce(
}
yymsp[-2].minor.yy560 = yylhsminor.yy560;
break;
case 337: /* expression ::= expression NK_BITOR expression */
case 338: /* expression ::= expression NK_BITOR expression */
{
SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy560);
SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy560);
......@@ -4393,53 +4359,53 @@ static YYACTIONTYPE yy_reduce(
}
yymsp[-2].minor.yy560 = yylhsminor.yy560;
break;
case 340: /* column_reference ::= column_name */
case 341: /* column_reference ::= column_name */
{ yylhsminor.yy560 = createRawExprNode(pCxt, &yymsp[0].minor.yy533, createColumnNode(pCxt, NULL, &yymsp[0].minor.yy533)); }
yymsp[0].minor.yy560 = yylhsminor.yy560;
break;
case 341: /* column_reference ::= table_name NK_DOT column_name */
case 342: /* column_reference ::= table_name NK_DOT column_name */
{ yylhsminor.yy560 = createRawExprNodeExt(pCxt, &yymsp[-2].minor.yy533, &yymsp[0].minor.yy533, createColumnNode(pCxt, &yymsp[-2].minor.yy533, &yymsp[0].minor.yy533)); }
yymsp[-2].minor.yy560 = yylhsminor.yy560;
break;
case 342: /* pseudo_column ::= ROWTS */
case 343: /* pseudo_column ::= TBNAME */ yytestcase(yyruleno==343);
case 345: /* pseudo_column ::= QSTARTTS */ yytestcase(yyruleno==345);
case 346: /* pseudo_column ::= QENDTS */ yytestcase(yyruleno==346);
case 347: /* pseudo_column ::= WSTARTTS */ yytestcase(yyruleno==347);
case 348: /* pseudo_column ::= WENDTS */ yytestcase(yyruleno==348);
case 349: /* pseudo_column ::= WDURATION */ yytestcase(yyruleno==349);
case 355: /* literal_func ::= NOW */ yytestcase(yyruleno==355);
case 343: /* pseudo_column ::= ROWTS */
case 344: /* pseudo_column ::= TBNAME */ yytestcase(yyruleno==344);
case 346: /* pseudo_column ::= QSTARTTS */ yytestcase(yyruleno==346);
case 347: /* pseudo_column ::= QENDTS */ yytestcase(yyruleno==347);
case 348: /* pseudo_column ::= WSTARTTS */ yytestcase(yyruleno==348);
case 349: /* pseudo_column ::= WENDTS */ yytestcase(yyruleno==349);
case 350: /* pseudo_column ::= WDURATION */ yytestcase(yyruleno==350);
case 356: /* literal_func ::= NOW */ yytestcase(yyruleno==356);
{ yylhsminor.yy560 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createFunctionNode(pCxt, &yymsp[0].minor.yy0, NULL)); }
yymsp[0].minor.yy560 = yylhsminor.yy560;
break;
case 344: /* pseudo_column ::= table_name NK_DOT TBNAME */
case 345: /* pseudo_column ::= table_name NK_DOT TBNAME */
{ yylhsminor.yy560 = createRawExprNodeExt(pCxt, &yymsp[-2].minor.yy533, &yymsp[0].minor.yy0, createFunctionNode(pCxt, &yymsp[0].minor.yy0, createNodeList(pCxt, createValueNode(pCxt, TSDB_DATA_TYPE_BINARY, &yymsp[-2].minor.yy533)))); }
yymsp[-2].minor.yy560 = yylhsminor.yy560;
break;
case 350: /* function_expression ::= function_name NK_LP expression_list NK_RP */
case 351: /* function_expression ::= star_func NK_LP star_func_para_list NK_RP */ yytestcase(yyruleno==351);
case 351: /* function_expression ::= function_name NK_LP expression_list NK_RP */
case 352: /* function_expression ::= star_func NK_LP star_func_para_list NK_RP */ yytestcase(yyruleno==352);
{ yylhsminor.yy560 = createRawExprNodeExt(pCxt, &yymsp[-3].minor.yy533, &yymsp[0].minor.yy0, createFunctionNode(pCxt, &yymsp[-3].minor.yy533, yymsp[-1].minor.yy712)); }
yymsp[-3].minor.yy560 = yylhsminor.yy560;
break;
case 352: /* function_expression ::= CAST NK_LP expression AS type_name NK_RP */
case 353: /* function_expression ::= CAST NK_LP expression AS type_name NK_RP */
{ yylhsminor.yy560 = createRawExprNodeExt(pCxt, &yymsp[-5].minor.yy0, &yymsp[0].minor.yy0, createCastFunctionNode(pCxt, releaseRawExprNode(pCxt, yymsp[-3].minor.yy560), yymsp[-1].minor.yy196)); }
yymsp[-5].minor.yy560 = yylhsminor.yy560;
break;
case 354: /* literal_func ::= noarg_func NK_LP NK_RP */
case 355: /* literal_func ::= noarg_func NK_LP NK_RP */
{ yylhsminor.yy560 = createRawExprNodeExt(pCxt, &yymsp[-2].minor.yy533, &yymsp[0].minor.yy0, createFunctionNode(pCxt, &yymsp[-2].minor.yy533, NULL)); }
yymsp[-2].minor.yy560 = yylhsminor.yy560;
break;
case 369: /* star_func_para_list ::= NK_STAR */
case 370: /* star_func_para_list ::= NK_STAR */
{ yylhsminor.yy712 = createNodeList(pCxt, createColumnNode(pCxt, NULL, &yymsp[0].minor.yy0)); }
yymsp[0].minor.yy712 = yylhsminor.yy712;
break;
case 374: /* star_func_para ::= table_name NK_DOT NK_STAR */
case 431: /* select_item ::= table_name NK_DOT NK_STAR */ yytestcase(yyruleno==431);
case 375: /* star_func_para ::= table_name NK_DOT NK_STAR */
case 432: /* select_item ::= table_name NK_DOT NK_STAR */ yytestcase(yyruleno==432);
{ yylhsminor.yy560 = createColumnNode(pCxt, &yymsp[-2].minor.yy533, &yymsp[0].minor.yy0); }
yymsp[-2].minor.yy560 = yylhsminor.yy560;
break;
case 375: /* predicate ::= expression compare_op expression */
case 380: /* predicate ::= expression in_op in_predicate_value */ yytestcase(yyruleno==380);
case 376: /* predicate ::= expression compare_op expression */
case 381: /* predicate ::= expression in_op in_predicate_value */ yytestcase(yyruleno==381);
{
SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy560);
SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy560);
......@@ -4447,7 +4413,7 @@ static YYACTIONTYPE yy_reduce(
}
yymsp[-2].minor.yy560 = yylhsminor.yy560;
break;
case 376: /* predicate ::= expression BETWEEN expression AND expression */
case 377: /* predicate ::= expression BETWEEN expression AND expression */
{
SToken s = getTokenFromRawExprNode(pCxt, yymsp[-4].minor.yy560);
SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy560);
......@@ -4455,7 +4421,7 @@ static YYACTIONTYPE yy_reduce(
}
yymsp[-4].minor.yy560 = yylhsminor.yy560;
break;
case 377: /* predicate ::= expression NOT BETWEEN expression AND expression */
case 378: /* predicate ::= expression NOT BETWEEN expression AND expression */
{
SToken s = getTokenFromRawExprNode(pCxt, yymsp[-5].minor.yy560);
SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy560);
......@@ -4463,71 +4429,71 @@ static YYACTIONTYPE yy_reduce(
}
yymsp[-5].minor.yy560 = yylhsminor.yy560;
break;
case 378: /* predicate ::= expression IS NULL */
case 379: /* predicate ::= expression IS NULL */
{
SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy560);
yylhsminor.yy560 = createRawExprNodeExt(pCxt, &s, &yymsp[0].minor.yy0, createOperatorNode(pCxt, OP_TYPE_IS_NULL, releaseRawExprNode(pCxt, yymsp[-2].minor.yy560), NULL));
}
yymsp[-2].minor.yy560 = yylhsminor.yy560;
break;
case 379: /* predicate ::= expression IS NOT NULL */
case 380: /* predicate ::= expression IS NOT NULL */
{
SToken s = getTokenFromRawExprNode(pCxt, yymsp[-3].minor.yy560);
yylhsminor.yy560 = createRawExprNodeExt(pCxt, &s, &yymsp[0].minor.yy0, createOperatorNode(pCxt, OP_TYPE_IS_NOT_NULL, releaseRawExprNode(pCxt, yymsp[-3].minor.yy560), NULL));
}
yymsp[-3].minor.yy560 = yylhsminor.yy560;
break;
case 381: /* compare_op ::= NK_LT */
case 382: /* compare_op ::= NK_LT */
{ yymsp[0].minor.yy128 = OP_TYPE_LOWER_THAN; }
break;
case 382: /* compare_op ::= NK_GT */
case 383: /* compare_op ::= NK_GT */
{ yymsp[0].minor.yy128 = OP_TYPE_GREATER_THAN; }
break;
case 383: /* compare_op ::= NK_LE */
case 384: /* compare_op ::= NK_LE */
{ yymsp[0].minor.yy128 = OP_TYPE_LOWER_EQUAL; }
break;
case 384: /* compare_op ::= NK_GE */
case 385: /* compare_op ::= NK_GE */
{ yymsp[0].minor.yy128 = OP_TYPE_GREATER_EQUAL; }
break;
case 385: /* compare_op ::= NK_NE */
case 386: /* compare_op ::= NK_NE */
{ yymsp[0].minor.yy128 = OP_TYPE_NOT_EQUAL; }
break;
case 386: /* compare_op ::= NK_EQ */
case 387: /* compare_op ::= NK_EQ */
{ yymsp[0].minor.yy128 = OP_TYPE_EQUAL; }
break;
case 387: /* compare_op ::= LIKE */
case 388: /* compare_op ::= LIKE */
{ yymsp[0].minor.yy128 = OP_TYPE_LIKE; }
break;
case 388: /* compare_op ::= NOT LIKE */
case 389: /* compare_op ::= NOT LIKE */
{ yymsp[-1].minor.yy128 = OP_TYPE_NOT_LIKE; }
break;
case 389: /* compare_op ::= MATCH */
case 390: /* compare_op ::= MATCH */
{ yymsp[0].minor.yy128 = OP_TYPE_MATCH; }
break;
case 390: /* compare_op ::= NMATCH */
case 391: /* compare_op ::= NMATCH */
{ yymsp[0].minor.yy128 = OP_TYPE_NMATCH; }
break;
case 391: /* compare_op ::= CONTAINS */
case 392: /* compare_op ::= CONTAINS */
{ yymsp[0].minor.yy128 = OP_TYPE_JSON_CONTAINS; }
break;
case 392: /* in_op ::= IN */
case 393: /* in_op ::= IN */
{ yymsp[0].minor.yy128 = OP_TYPE_IN; }
break;
case 393: /* in_op ::= NOT IN */
case 394: /* in_op ::= NOT IN */
{ yymsp[-1].minor.yy128 = OP_TYPE_NOT_IN; }
break;
case 394: /* in_predicate_value ::= NK_LP literal_list NK_RP */
case 395: /* in_predicate_value ::= NK_LP literal_list NK_RP */
{ yylhsminor.yy560 = createRawExprNodeExt(pCxt, &yymsp[-2].minor.yy0, &yymsp[0].minor.yy0, createNodeListNode(pCxt, yymsp[-1].minor.yy712)); }
yymsp[-2].minor.yy560 = yylhsminor.yy560;
break;
case 396: /* boolean_value_expression ::= NOT boolean_primary */
case 397: /* boolean_value_expression ::= NOT boolean_primary */
{
SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy560);
yylhsminor.yy560 = createRawExprNodeExt(pCxt, &yymsp[-1].minor.yy0, &e, createLogicConditionNode(pCxt, LOGIC_COND_TYPE_NOT, releaseRawExprNode(pCxt, yymsp[0].minor.yy560), NULL));
}
yymsp[-1].minor.yy560 = yylhsminor.yy560;
break;
case 397: /* boolean_value_expression ::= boolean_value_expression OR boolean_value_expression */
case 398: /* boolean_value_expression ::= boolean_value_expression OR boolean_value_expression */
{
SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy560);
SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy560);
......@@ -4535,7 +4501,7 @@ static YYACTIONTYPE yy_reduce(
}
yymsp[-2].minor.yy560 = yylhsminor.yy560;
break;
case 398: /* boolean_value_expression ::= boolean_value_expression AND boolean_value_expression */
case 399: /* boolean_value_expression ::= boolean_value_expression AND boolean_value_expression */
{
SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy560);
SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy560);
......@@ -4543,47 +4509,47 @@ static YYACTIONTYPE yy_reduce(
}
yymsp[-2].minor.yy560 = yylhsminor.yy560;
break;
case 406: /* table_reference_list ::= table_reference_list NK_COMMA table_reference */
case 407: /* table_reference_list ::= table_reference_list NK_COMMA table_reference */
{ yylhsminor.yy560 = createJoinTableNode(pCxt, JOIN_TYPE_INNER, yymsp[-2].minor.yy560, yymsp[0].minor.yy560, NULL); }
yymsp[-2].minor.yy560 = yylhsminor.yy560;
break;
case 409: /* table_primary ::= table_name alias_opt */
case 410: /* table_primary ::= table_name alias_opt */
{ yylhsminor.yy560 = createRealTableNode(pCxt, NULL, &yymsp[-1].minor.yy533, &yymsp[0].minor.yy533); }
yymsp[-1].minor.yy560 = yylhsminor.yy560;
break;
case 410: /* table_primary ::= db_name NK_DOT table_name alias_opt */
case 411: /* table_primary ::= db_name NK_DOT table_name alias_opt */
{ yylhsminor.yy560 = createRealTableNode(pCxt, &yymsp[-3].minor.yy533, &yymsp[-1].minor.yy533, &yymsp[0].minor.yy533); }
yymsp[-3].minor.yy560 = yylhsminor.yy560;
break;
case 411: /* table_primary ::= subquery alias_opt */
case 412: /* table_primary ::= subquery alias_opt */
{ yylhsminor.yy560 = createTempTableNode(pCxt, releaseRawExprNode(pCxt, yymsp[-1].minor.yy560), &yymsp[0].minor.yy533); }
yymsp[-1].minor.yy560 = yylhsminor.yy560;
break;
case 413: /* alias_opt ::= */
case 414: /* alias_opt ::= */
{ yymsp[1].minor.yy533 = nil_token; }
break;
case 414: /* alias_opt ::= table_alias */
case 415: /* alias_opt ::= table_alias */
{ yylhsminor.yy533 = yymsp[0].minor.yy533; }
yymsp[0].minor.yy533 = yylhsminor.yy533;
break;
case 415: /* alias_opt ::= AS table_alias */
case 416: /* alias_opt ::= AS table_alias */
{ yymsp[-1].minor.yy533 = yymsp[0].minor.yy533; }
break;
case 416: /* parenthesized_joined_table ::= NK_LP joined_table NK_RP */
case 417: /* parenthesized_joined_table ::= NK_LP parenthesized_joined_table NK_RP */ yytestcase(yyruleno==417);
case 417: /* parenthesized_joined_table ::= NK_LP joined_table NK_RP */
case 418: /* parenthesized_joined_table ::= NK_LP parenthesized_joined_table NK_RP */ yytestcase(yyruleno==418);
{ yymsp[-2].minor.yy560 = yymsp[-1].minor.yy560; }
break;
case 418: /* joined_table ::= table_reference join_type JOIN table_reference ON search_condition */
case 419: /* joined_table ::= table_reference join_type JOIN table_reference ON search_condition */
{ yylhsminor.yy560 = createJoinTableNode(pCxt, yymsp[-4].minor.yy36, yymsp[-5].minor.yy560, yymsp[-2].minor.yy560, yymsp[0].minor.yy560); }
yymsp[-5].minor.yy560 = yylhsminor.yy560;
break;
case 419: /* join_type ::= */
case 420: /* join_type ::= */
{ yymsp[1].minor.yy36 = JOIN_TYPE_INNER; }
break;
case 420: /* join_type ::= INNER */
case 421: /* join_type ::= INNER */
{ yymsp[0].minor.yy36 = JOIN_TYPE_INNER; }
break;
case 421: /* query_specification ::= SELECT set_quantifier_opt select_list from_clause_opt where_clause_opt partition_by_clause_opt range_opt every_opt fill_opt twindow_clause_opt group_by_clause_opt having_clause_opt */
case 422: /* query_specification ::= SELECT set_quantifier_opt select_list from_clause_opt where_clause_opt partition_by_clause_opt range_opt every_opt fill_opt twindow_clause_opt group_by_clause_opt having_clause_opt */
{
yymsp[-11].minor.yy560 = createSelectStmt(pCxt, yymsp[-10].minor.yy173, yymsp[-9].minor.yy712, yymsp[-8].minor.yy560);
yymsp[-11].minor.yy560 = addWhereClause(pCxt, yymsp[-11].minor.yy560, yymsp[-7].minor.yy560);
......@@ -4596,75 +4562,75 @@ static YYACTIONTYPE yy_reduce(
yymsp[-11].minor.yy560 = addFillClause(pCxt, yymsp[-11].minor.yy560, yymsp[-3].minor.yy560);
}
break;
case 424: /* set_quantifier_opt ::= ALL */
case 425: /* set_quantifier_opt ::= ALL */
{ yymsp[0].minor.yy173 = false; }
break;
case 427: /* select_item ::= NK_STAR */
case 428: /* select_item ::= NK_STAR */
{ yylhsminor.yy560 = createColumnNode(pCxt, NULL, &yymsp[0].minor.yy0); }
yymsp[0].minor.yy560 = yylhsminor.yy560;
break;
case 429: /* select_item ::= common_expression column_alias */
case 430: /* select_item ::= common_expression column_alias */
{ yylhsminor.yy560 = setProjectionAlias(pCxt, releaseRawExprNode(pCxt, yymsp[-1].minor.yy560), &yymsp[0].minor.yy533); }
yymsp[-1].minor.yy560 = yylhsminor.yy560;
break;
case 430: /* select_item ::= common_expression AS column_alias */
case 431: /* select_item ::= common_expression AS column_alias */
{ yylhsminor.yy560 = setProjectionAlias(pCxt, releaseRawExprNode(pCxt, yymsp[-2].minor.yy560), &yymsp[0].minor.yy533); }
yymsp[-2].minor.yy560 = yylhsminor.yy560;
break;
case 435: /* partition_by_clause_opt ::= PARTITION BY expression_list */
case 452: /* group_by_clause_opt ::= GROUP BY group_by_list */ yytestcase(yyruleno==452);
case 468: /* order_by_clause_opt ::= ORDER BY sort_specification_list */ yytestcase(yyruleno==468);
case 436: /* partition_by_clause_opt ::= PARTITION BY expression_list */
case 453: /* group_by_clause_opt ::= GROUP BY group_by_list */ yytestcase(yyruleno==453);
case 469: /* order_by_clause_opt ::= ORDER BY sort_specification_list */ yytestcase(yyruleno==469);
{ yymsp[-2].minor.yy712 = yymsp[0].minor.yy712; }
break;
case 437: /* twindow_clause_opt ::= SESSION NK_LP column_reference NK_COMMA duration_literal NK_RP */
case 438: /* twindow_clause_opt ::= SESSION NK_LP column_reference NK_COMMA duration_literal NK_RP */
{ yymsp[-5].minor.yy560 = createSessionWindowNode(pCxt, releaseRawExprNode(pCxt, yymsp[-3].minor.yy560), releaseRawExprNode(pCxt, yymsp[-1].minor.yy560)); }
break;
case 438: /* twindow_clause_opt ::= STATE_WINDOW NK_LP expression NK_RP */
case 439: /* twindow_clause_opt ::= STATE_WINDOW NK_LP expression NK_RP */
{ yymsp[-3].minor.yy560 = createStateWindowNode(pCxt, releaseRawExprNode(pCxt, yymsp[-1].minor.yy560)); }
break;
case 439: /* twindow_clause_opt ::= INTERVAL NK_LP duration_literal NK_RP sliding_opt fill_opt */
case 440: /* twindow_clause_opt ::= INTERVAL NK_LP duration_literal NK_RP sliding_opt fill_opt */
{ yymsp[-5].minor.yy560 = createIntervalWindowNode(pCxt, releaseRawExprNode(pCxt, yymsp[-3].minor.yy560), NULL, yymsp[-1].minor.yy560, yymsp[0].minor.yy560); }
break;
case 440: /* twindow_clause_opt ::= INTERVAL NK_LP duration_literal NK_COMMA duration_literal NK_RP sliding_opt fill_opt */
case 441: /* twindow_clause_opt ::= INTERVAL NK_LP duration_literal NK_COMMA duration_literal NK_RP sliding_opt fill_opt */
{ yymsp[-7].minor.yy560 = createIntervalWindowNode(pCxt, releaseRawExprNode(pCxt, yymsp[-5].minor.yy560), releaseRawExprNode(pCxt, yymsp[-3].minor.yy560), yymsp[-1].minor.yy560, yymsp[0].minor.yy560); }
break;
case 442: /* sliding_opt ::= SLIDING NK_LP duration_literal NK_RP */
case 460: /* every_opt ::= EVERY NK_LP duration_literal NK_RP */ yytestcase(yyruleno==460);
case 443: /* sliding_opt ::= SLIDING NK_LP duration_literal NK_RP */
case 461: /* every_opt ::= EVERY NK_LP duration_literal NK_RP */ yytestcase(yyruleno==461);
{ yymsp[-3].minor.yy560 = releaseRawExprNode(pCxt, yymsp[-1].minor.yy560); }
break;
case 444: /* fill_opt ::= FILL NK_LP fill_mode NK_RP */
case 445: /* fill_opt ::= FILL NK_LP fill_mode NK_RP */
{ yymsp[-3].minor.yy560 = createFillNode(pCxt, yymsp[-1].minor.yy18, NULL); }
break;
case 445: /* fill_opt ::= FILL NK_LP VALUE NK_COMMA literal_list NK_RP */
case 446: /* fill_opt ::= FILL NK_LP VALUE NK_COMMA literal_list NK_RP */
{ yymsp[-5].minor.yy560 = createFillNode(pCxt, FILL_MODE_VALUE, createNodeListNode(pCxt, yymsp[-1].minor.yy712)); }
break;
case 446: /* fill_mode ::= NONE */
case 447: /* fill_mode ::= NONE */
{ yymsp[0].minor.yy18 = FILL_MODE_NONE; }
break;
case 447: /* fill_mode ::= PREV */
case 448: /* fill_mode ::= PREV */
{ yymsp[0].minor.yy18 = FILL_MODE_PREV; }
break;
case 448: /* fill_mode ::= NULL */
case 449: /* fill_mode ::= NULL */
{ yymsp[0].minor.yy18 = FILL_MODE_NULL; }
break;
case 449: /* fill_mode ::= LINEAR */
case 450: /* fill_mode ::= LINEAR */
{ yymsp[0].minor.yy18 = FILL_MODE_LINEAR; }
break;
case 450: /* fill_mode ::= NEXT */
case 451: /* fill_mode ::= NEXT */
{ yymsp[0].minor.yy18 = FILL_MODE_NEXT; }
break;
case 453: /* group_by_list ::= expression */
case 454: /* group_by_list ::= expression */
{ yylhsminor.yy712 = createNodeList(pCxt, createGroupingSetNode(pCxt, releaseRawExprNode(pCxt, yymsp[0].minor.yy560))); }
yymsp[0].minor.yy712 = yylhsminor.yy712;
break;
case 454: /* group_by_list ::= group_by_list NK_COMMA expression */
case 455: /* group_by_list ::= group_by_list NK_COMMA expression */
{ yylhsminor.yy712 = addNodeToList(pCxt, yymsp[-2].minor.yy712, createGroupingSetNode(pCxt, releaseRawExprNode(pCxt, yymsp[0].minor.yy560))); }
yymsp[-2].minor.yy712 = yylhsminor.yy712;
break;
case 458: /* range_opt ::= RANGE NK_LP expression NK_COMMA expression NK_RP */
case 459: /* range_opt ::= RANGE NK_LP expression NK_COMMA expression NK_RP */
{ yymsp[-5].minor.yy560 = createInterpTimeRange(pCxt, releaseRawExprNode(pCxt, yymsp[-3].minor.yy560), releaseRawExprNode(pCxt, yymsp[-1].minor.yy560)); }
break;
case 461: /* query_expression ::= query_expression_body order_by_clause_opt slimit_clause_opt limit_clause_opt */
case 462: /* query_expression ::= query_expression_body order_by_clause_opt slimit_clause_opt limit_clause_opt */
{
yylhsminor.yy560 = addOrderByClause(pCxt, yymsp[-3].minor.yy560, yymsp[-2].minor.yy712);
yylhsminor.yy560 = addSlimitClause(pCxt, yylhsminor.yy560, yymsp[-1].minor.yy560);
......@@ -4672,57 +4638,57 @@ static YYACTIONTYPE yy_reduce(
}
yymsp[-3].minor.yy560 = yylhsminor.yy560;
break;
case 463: /* query_expression_body ::= query_expression_body UNION ALL query_expression_body */
case 464: /* query_expression_body ::= query_expression_body UNION ALL query_expression_body */
{ yylhsminor.yy560 = createSetOperator(pCxt, SET_OP_TYPE_UNION_ALL, yymsp[-3].minor.yy560, yymsp[0].minor.yy560); }
yymsp[-3].minor.yy560 = yylhsminor.yy560;
break;
case 464: /* query_expression_body ::= query_expression_body UNION query_expression_body */
case 465: /* query_expression_body ::= query_expression_body UNION query_expression_body */
{ yylhsminor.yy560 = createSetOperator(pCxt, SET_OP_TYPE_UNION, yymsp[-2].minor.yy560, yymsp[0].minor.yy560); }
yymsp[-2].minor.yy560 = yylhsminor.yy560;
break;
case 466: /* query_primary ::= NK_LP query_expression_body order_by_clause_opt slimit_clause_opt limit_clause_opt NK_RP */
case 467: /* query_primary ::= NK_LP query_expression_body order_by_clause_opt slimit_clause_opt limit_clause_opt NK_RP */
{
yymsp[-5].minor.yy560 = addOrderByClause(pCxt, yymsp[-4].minor.yy560, yymsp[-3].minor.yy712);
yymsp[-5].minor.yy560 = addSlimitClause(pCxt, yymsp[-5].minor.yy560, yymsp[-2].minor.yy560);
yymsp[-5].minor.yy560 = addLimitClause(pCxt, yymsp[-5].minor.yy560, yymsp[-1].minor.yy560);
}
break;
case 470: /* slimit_clause_opt ::= SLIMIT NK_INTEGER */
case 474: /* limit_clause_opt ::= LIMIT NK_INTEGER */ yytestcase(yyruleno==474);
case 471: /* slimit_clause_opt ::= SLIMIT NK_INTEGER */
case 475: /* limit_clause_opt ::= LIMIT NK_INTEGER */ yytestcase(yyruleno==475);
{ yymsp[-1].minor.yy560 = createLimitNode(pCxt, &yymsp[0].minor.yy0, NULL); }
break;
case 471: /* slimit_clause_opt ::= SLIMIT NK_INTEGER SOFFSET NK_INTEGER */
case 475: /* limit_clause_opt ::= LIMIT NK_INTEGER OFFSET NK_INTEGER */ yytestcase(yyruleno==475);
case 472: /* slimit_clause_opt ::= SLIMIT NK_INTEGER SOFFSET NK_INTEGER */
case 476: /* limit_clause_opt ::= LIMIT NK_INTEGER OFFSET NK_INTEGER */ yytestcase(yyruleno==476);
{ yymsp[-3].minor.yy560 = createLimitNode(pCxt, &yymsp[-2].minor.yy0, &yymsp[0].minor.yy0); }
break;
case 472: /* slimit_clause_opt ::= SLIMIT NK_INTEGER NK_COMMA NK_INTEGER */
case 476: /* limit_clause_opt ::= LIMIT NK_INTEGER NK_COMMA NK_INTEGER */ yytestcase(yyruleno==476);
case 473: /* slimit_clause_opt ::= SLIMIT NK_INTEGER NK_COMMA NK_INTEGER */
case 477: /* limit_clause_opt ::= LIMIT NK_INTEGER NK_COMMA NK_INTEGER */ yytestcase(yyruleno==477);
{ yymsp[-3].minor.yy560 = createLimitNode(pCxt, &yymsp[0].minor.yy0, &yymsp[-2].minor.yy0); }
break;
case 477: /* subquery ::= NK_LP query_expression NK_RP */
case 478: /* subquery ::= NK_LP query_expression NK_RP */
{ yylhsminor.yy560 = createRawExprNodeExt(pCxt, &yymsp[-2].minor.yy0, &yymsp[0].minor.yy0, yymsp[-1].minor.yy560); }
yymsp[-2].minor.yy560 = yylhsminor.yy560;
break;
case 481: /* sort_specification ::= expression ordering_specification_opt null_ordering_opt */
case 482: /* sort_specification ::= expression ordering_specification_opt null_ordering_opt */
{ yylhsminor.yy560 = createOrderByExprNode(pCxt, releaseRawExprNode(pCxt, yymsp[-2].minor.yy560), yymsp[-1].minor.yy218, yymsp[0].minor.yy109); }
yymsp[-2].minor.yy560 = yylhsminor.yy560;
break;
case 482: /* ordering_specification_opt ::= */
case 483: /* ordering_specification_opt ::= */
{ yymsp[1].minor.yy218 = ORDER_ASC; }
break;
case 483: /* ordering_specification_opt ::= ASC */
case 484: /* ordering_specification_opt ::= ASC */
{ yymsp[0].minor.yy218 = ORDER_ASC; }
break;
case 484: /* ordering_specification_opt ::= DESC */
case 485: /* ordering_specification_opt ::= DESC */
{ yymsp[0].minor.yy218 = ORDER_DESC; }
break;
case 485: /* null_ordering_opt ::= */
case 486: /* null_ordering_opt ::= */
{ yymsp[1].minor.yy109 = NULL_ORDER_DEFAULT; }
break;
case 486: /* null_ordering_opt ::= NULLS FIRST */
case 487: /* null_ordering_opt ::= NULLS FIRST */
{ yymsp[-1].minor.yy109 = NULL_ORDER_FIRST; }
break;
case 487: /* null_ordering_opt ::= NULLS LAST */
case 488: /* null_ordering_opt ::= NULLS LAST */
{ yymsp[-1].minor.yy109 = NULL_ORDER_LAST; }
break;
default:
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册