Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
9e9805f7
TDengine
项目概览
taosdata
/
TDengine
1 年多 前同步成功
通知
1185
Star
22016
Fork
4786
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
TDengine
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1
Issue
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
9e9805f7
编写于
4月 02, 2022
作者:
X
Xiaoyu Wang
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
condition bugfix
上级
62856b04
变更
10
隐藏空白更改
内联
并排
Showing
10 changed file
with
836 addition
and
824 deletion
+836
-824
include/common/ttokendef.h
include/common/ttokendef.h
+1
-2
include/libs/nodes/querynodes.h
include/libs/nodes/querynodes.h
+1
-0
include/util/tdef.h
include/util/tdef.h
+5
-2
source/libs/function/src/builtins.c
source/libs/function/src/builtins.c
+13
-1
source/libs/nodes/src/nodesUtilFuncs.c
source/libs/nodes/src/nodesUtilFuncs.c
+18
-0
source/libs/parser/inc/sql.y
source/libs/parser/inc/sql.y
+7
-32
source/libs/parser/src/parTokenizer.c
source/libs/parser/src/parTokenizer.c
+5
-9
source/libs/parser/src/parTranslater.c
source/libs/parser/src/parTranslater.c
+3
-0
source/libs/parser/src/sql.c
source/libs/parser/src/sql.c
+778
-776
source/libs/planner/test/plannerTest.cpp
source/libs/planner/test/plannerTest.cpp
+5
-2
未找到文件。
include/common/ttokendef.h
浏览文件 @
9e9805f7
...
@@ -172,7 +172,7 @@
...
@@ -172,7 +172,7 @@
#define TK_SYNCDB 154
#define TK_SYNCDB 154
#define TK_NULL 155
#define TK_NULL 155
#define TK_NK_VARIABLE 156
#define TK_NK_VARIABLE 156
#define TK_N
K_UNDERLINE
157
#define TK_N
OW
157
#define TK_ROWTS 158
#define TK_ROWTS 158
#define TK_TBNAME 159
#define TK_TBNAME 159
#define TK_QSTARTTS 160
#define TK_QSTARTTS 160
...
@@ -229,7 +229,6 @@
...
@@ -229,7 +229,6 @@
#define TK_NK_COLON 500
#define TK_NK_COLON 500
#define TK_NK_BITNOT 501
#define TK_NK_BITNOT 501
#define TK_INSERT 502
#define TK_INSERT 502
#define TK_NOW 504
#define TK_VALUES 507
#define TK_VALUES 507
#define TK_IMPORT 509
#define TK_IMPORT 509
#define TK_NK_SEMI 508
#define TK_NK_SEMI 508
...
...
include/libs/nodes/querynodes.h
浏览文件 @
9e9805f7
...
@@ -306,6 +306,7 @@ int32_t nodesCollectFuncs(SSelectStmt* pSelect, FFuncClassifier classifier, SNod
...
@@ -306,6 +306,7 @@ int32_t nodesCollectFuncs(SSelectStmt* pSelect, FFuncClassifier classifier, SNod
bool
nodesIsExprNode
(
const
SNode
*
pNode
);
bool
nodesIsExprNode
(
const
SNode
*
pNode
);
bool
nodesIsUnaryOp
(
const
SOperatorNode
*
pOp
);
bool
nodesIsArithmeticOp
(
const
SOperatorNode
*
pOp
);
bool
nodesIsArithmeticOp
(
const
SOperatorNode
*
pOp
);
bool
nodesIsComparisonOp
(
const
SOperatorNode
*
pOp
);
bool
nodesIsComparisonOp
(
const
SOperatorNode
*
pOp
);
bool
nodesIsJsonOp
(
const
SOperatorNode
*
pOp
);
bool
nodesIsJsonOp
(
const
SOperatorNode
*
pOp
);
...
...
include/util/tdef.h
浏览文件 @
9e9805f7
...
@@ -128,18 +128,20 @@ extern const int32_t TYPE_BYTES[15];
...
@@ -128,18 +128,20 @@ extern const int32_t TYPE_BYTES[15];
} while (0)
} while (0)
typedef
enum
EOperatorType
{
typedef
enum
EOperatorType
{
// arithmetic operator
//
binary
arithmetic operator
OP_TYPE_ADD
=
1
,
OP_TYPE_ADD
=
1
,
OP_TYPE_SUB
,
OP_TYPE_SUB
,
OP_TYPE_MULTI
,
OP_TYPE_MULTI
,
OP_TYPE_DIV
,
OP_TYPE_DIV
,
OP_TYPE_MOD
,
OP_TYPE_MOD
,
// unary arithmetic operator
OP_TYPE_MINUS
,
// bit operator
// bit operator
OP_TYPE_BIT_AND
,
OP_TYPE_BIT_AND
,
OP_TYPE_BIT_OR
,
OP_TYPE_BIT_OR
,
// comparison operator
//
binary
comparison operator
OP_TYPE_GREATER_THAN
,
OP_TYPE_GREATER_THAN
,
OP_TYPE_GREATER_EQUAL
,
OP_TYPE_GREATER_EQUAL
,
OP_TYPE_LOWER_THAN
,
OP_TYPE_LOWER_THAN
,
...
@@ -152,6 +154,7 @@ typedef enum EOperatorType {
...
@@ -152,6 +154,7 @@ typedef enum EOperatorType {
OP_TYPE_NOT_LIKE
,
OP_TYPE_NOT_LIKE
,
OP_TYPE_MATCH
,
OP_TYPE_MATCH
,
OP_TYPE_NMATCH
,
OP_TYPE_NMATCH
,
// unary comparison operator
OP_TYPE_IS_NULL
,
OP_TYPE_IS_NULL
,
OP_TYPE_IS_NOT_NULL
,
OP_TYPE_IS_NOT_NULL
,
OP_TYPE_IS_TRUE
,
OP_TYPE_IS_TRUE
,
...
...
source/libs/function/src/builtins.c
浏览文件 @
9e9805f7
...
@@ -361,6 +361,16 @@ const SBuiltinFuncDefinition funcMgtBuiltins[] = {
...
@@ -361,6 +361,16 @@ const SBuiltinFuncDefinition funcMgtBuiltins[] = {
.
initFunc
=
NULL
,
.
initFunc
=
NULL
,
.
sprocessFunc
=
winDurFunction
,
.
sprocessFunc
=
winDurFunction
,
.
finalizeFunc
=
NULL
.
finalizeFunc
=
NULL
},
{
.
name
=
"now"
,
.
type
=
FUNCTION_TYPE_NOW
,
.
classification
=
FUNC_MGT_SCALAR_FUNC
|
FUNC_MGT_DATETIME_FUNC
,
.
checkFunc
=
stubCheckAndGetResultType
,
.
getEnvFunc
=
getTimePseudoFuncEnv
,
.
initFunc
=
NULL
,
.
sprocessFunc
=
winDurFunction
,
.
finalizeFunc
=
NULL
}
}
};
};
...
@@ -436,7 +446,9 @@ int32_t stubCheckAndGetResultType(SFunctionNode* pFunc) {
...
@@ -436,7 +446,9 @@ int32_t stubCheckAndGetResultType(SFunctionNode* pFunc) {
pFunc
->
node
.
resType
=
(
SDataType
)
{
.
bytes
=
tDataTypes
[
TSDB_DATA_TYPE_DOUBLE
].
bytes
,
.
type
=
TSDB_DATA_TYPE_DOUBLE
};
pFunc
->
node
.
resType
=
(
SDataType
)
{
.
bytes
=
tDataTypes
[
TSDB_DATA_TYPE_DOUBLE
].
bytes
,
.
type
=
TSDB_DATA_TYPE_DOUBLE
};
break
;
break
;
}
}
case
FUNCTION_TYPE_NOW
:
// todo
break
;
default:
default:
ASSERT
(
0
);
// to found the fault ASAP.
ASSERT
(
0
);
// to found the fault ASAP.
}
}
...
...
source/libs/nodes/src/nodesUtilFuncs.c
浏览文件 @
9e9805f7
...
@@ -860,6 +860,24 @@ bool nodesIsExprNode(const SNode* pNode) {
...
@@ -860,6 +860,24 @@ bool nodesIsExprNode(const SNode* pNode) {
return
(
QUERY_NODE_COLUMN
==
type
||
QUERY_NODE_VALUE
==
type
||
QUERY_NODE_OPERATOR
==
type
||
QUERY_NODE_FUNCTION
==
type
);
return
(
QUERY_NODE_COLUMN
==
type
||
QUERY_NODE_VALUE
==
type
||
QUERY_NODE_OPERATOR
==
type
||
QUERY_NODE_FUNCTION
==
type
);
}
}
bool
nodesIsUnaryOp
(
const
SOperatorNode
*
pOp
)
{
switch
(
pOp
->
opType
)
{
case
OP_TYPE_MINUS
:
case
OP_TYPE_IS_NULL
:
case
OP_TYPE_IS_NOT_NULL
:
case
OP_TYPE_IS_TRUE
:
case
OP_TYPE_IS_FALSE
:
case
OP_TYPE_IS_UNKNOWN
:
case
OP_TYPE_IS_NOT_TRUE
:
case
OP_TYPE_IS_NOT_FALSE
:
case
OP_TYPE_IS_NOT_UNKNOWN
:
return
true
;
default:
break
;
}
return
false
;
}
bool
nodesIsArithmeticOp
(
const
SOperatorNode
*
pOp
)
{
bool
nodesIsArithmeticOp
(
const
SOperatorNode
*
pOp
)
{
switch
(
pOp
->
opType
)
{
switch
(
pOp
->
opType
)
{
case
OP_TYPE_ADD
:
case
OP_TYPE_ADD
:
...
...
source/libs/parser/inc/sql.y
浏览文件 @
9e9805f7
...
@@ -513,7 +513,7 @@ expression(A) ::= NK_PLUS(B) expression(C).
...
@@ -513,7 +513,7 @@ expression(A) ::= NK_PLUS(B) expression(C).
}
}
expression(A) ::= NK_MINUS(B) expression(C). {
expression(A) ::= NK_MINUS(B) expression(C). {
SToken t = getTokenFromRawExprNode(pCxt, C);
SToken t = getTokenFromRawExprNode(pCxt, C);
A = createRawExprNodeExt(pCxt, &B, &t, createOperatorNode(pCxt, OP_TYPE_
SUB
, releaseRawExprNode(pCxt, C), NULL));
A = createRawExprNodeExt(pCxt, &B, &t, createOperatorNode(pCxt, OP_TYPE_
MINUS
, releaseRawExprNode(pCxt, C), NULL));
}
}
expression(A) ::= expression(B) NK_PLUS expression(C). {
expression(A) ::= expression(B) NK_PLUS expression(C). {
SToken s = getTokenFromRawExprNode(pCxt, B);
SToken s = getTokenFromRawExprNode(pCxt, B);
...
@@ -549,39 +549,14 @@ expression_list(A) ::= expression_list(B) NK_COMMA expression(C).
...
@@ -549,39 +549,14 @@ expression_list(A) ::= expression_list(B) NK_COMMA expression(C).
column_reference(A) ::= column_name(B). { A = createRawExprNode(pCxt, &B, createColumnNode(pCxt, NULL, &B)); }
column_reference(A) ::= column_name(B). { A = createRawExprNode(pCxt, &B, createColumnNode(pCxt, NULL, &B)); }
column_reference(A) ::= table_name(B) NK_DOT column_name(C). { A = createRawExprNodeExt(pCxt, &B, &C, createColumnNode(pCxt, &B, &C)); }
column_reference(A) ::= table_name(B) NK_DOT column_name(C). { A = createRawExprNodeExt(pCxt, &B, &C, createColumnNode(pCxt, &B, &C)); }
//pseudo_column(A) ::= NK_NOW. { A = createFunctionNode(pCxt, NULL, NULL); }
pseudo_column(A) ::= NOW(B). { A = createRawExprNode(pCxt, &B, createFunctionNode(pCxt, &B, NULL)); }
//pseudo_column(A) ::= NK_UNDERLINE(B) ROWTS(C). {
// SToken t = B;
// t.n = (C.z + C.n) - B.z;
// A = createRawExprNode(pCxt, &t, createFunctionNode(pCxt, &t, NULL));
// }
pseudo_column(A) ::= ROWTS(B). { A = createRawExprNode(pCxt, &B, createFunctionNode(pCxt, &B, NULL)); }
pseudo_column(A) ::= ROWTS(B). { A = createRawExprNode(pCxt, &B, createFunctionNode(pCxt, &B, NULL)); }
pseudo_column(A) ::= TBNAME(B). { A = createRawExprNode(pCxt, &B, createFunctionNode(pCxt, &B, NULL)); }
pseudo_column(A) ::= TBNAME(B). { A = createRawExprNode(pCxt, &B, createFunctionNode(pCxt, &B, NULL)); }
pseudo_column(A) ::= NK_UNDERLINE(B) QSTARTTS(C). {
pseudo_column(A) ::= QSTARTTS(B). { A = createRawExprNode(pCxt, &B, createFunctionNode(pCxt, &B, NULL)); }
SToken t = B;
pseudo_column(A) ::= QENDTS(B). { A = createRawExprNode(pCxt, &B, createFunctionNode(pCxt, &B, NULL)); }
t.n = (C.z + C.n) - B.z;
pseudo_column(A) ::= WSTARTTS(B). { A = createRawExprNode(pCxt, &B, createFunctionNode(pCxt, &B, NULL)); }
A = createRawExprNode(pCxt, &t, createFunctionNode(pCxt, &t, NULL));
pseudo_column(A) ::= WENDTS(B). { A = createRawExprNode(pCxt, &B, createFunctionNode(pCxt, &B, NULL)); }
}
pseudo_column(A) ::= WDURATION(B). { A = createRawExprNode(pCxt, &B, createFunctionNode(pCxt, &B, NULL)); }
pseudo_column(A) ::= NK_UNDERLINE(B) QENDTS(C). {
SToken t = B;
t.n = (C.z + C.n) - B.z;
A = createRawExprNode(pCxt, &t, createFunctionNode(pCxt, &t, NULL));
}
pseudo_column(A) ::= NK_UNDERLINE(B) WSTARTTS(C). {
SToken t = B;
t.n = (C.z + C.n) - B.z;
A = createRawExprNode(pCxt, &t, createFunctionNode(pCxt, &t, NULL));
}
pseudo_column(A) ::= NK_UNDERLINE(B) WENDTS(C). {
SToken t = B;
t.n = (C.z + C.n) - B.z;
A = createRawExprNode(pCxt, &t, createFunctionNode(pCxt, &t, NULL));
}
pseudo_column(A) ::= NK_UNDERLINE(B) WDURATION(C). {
SToken t = B;
t.n = (C.z + C.n) - B.z;
A = createRawExprNode(pCxt, &t, createFunctionNode(pCxt, &t, NULL));
}
/************************************************ predicate ***********************************************************/
/************************************************ predicate ***********************************************************/
predicate(A) ::= expression(B) compare_op(C) expression(D). {
predicate(A) ::= expression(B) compare_op(C) expression(D). {
...
...
source/libs/parser/src/parTokenizer.c
浏览文件 @
9e9805f7
...
@@ -125,10 +125,10 @@ static SKeyword keywordTable[] = {
...
@@ -125,10 +125,10 @@ static SKeyword keywordTable[] = {
{
"PRECISION"
,
TK_PRECISION
},
{
"PRECISION"
,
TK_PRECISION
},
{
"PRIVILEGE"
,
TK_PRIVILEGE
},
{
"PRIVILEGE"
,
TK_PRIVILEGE
},
{
"PREV"
,
TK_PREV
},
{
"PREV"
,
TK_PREV
},
{
"QENDTS"
,
TK_QENDTS
},
{
"
_
QENDTS"
,
TK_QENDTS
},
{
"QNODE"
,
TK_QNODE
},
{
"QNODE"
,
TK_QNODE
},
{
"QNODES"
,
TK_QNODES
},
{
"QNODES"
,
TK_QNODES
},
{
"QSTARTTS"
,
TK_QSTARTTS
},
{
"
_
QSTARTTS"
,
TK_QSTARTTS
},
{
"QTIME"
,
TK_QTIME
},
{
"QTIME"
,
TK_QTIME
},
{
"QUERIES"
,
TK_QUERIES
},
{
"QUERIES"
,
TK_QUERIES
},
{
"QUERY"
,
TK_QUERY
},
{
"QUERY"
,
TK_QUERY
},
...
@@ -184,10 +184,10 @@ static SKeyword keywordTable[] = {
...
@@ -184,10 +184,10 @@ static SKeyword keywordTable[] = {
{
"VGROUPS"
,
TK_VGROUPS
},
{
"VGROUPS"
,
TK_VGROUPS
},
{
"VNODES"
,
TK_VNODES
},
{
"VNODES"
,
TK_VNODES
},
{
"WAL"
,
TK_WAL
},
{
"WAL"
,
TK_WAL
},
{
"WDURATION"
,
TK_WDURATION
},
{
"
_
WDURATION"
,
TK_WDURATION
},
{
"WENDTS"
,
TK_WENDTS
},
{
"
_
WENDTS"
,
TK_WENDTS
},
{
"WHERE"
,
TK_WHERE
},
{
"WHERE"
,
TK_WHERE
},
{
"
WSTARTTS"
,
TK_WSTARTTS
},
{
"
_WSTARTTS"
,
TK_WSTARTTS
},
// {"ID", TK_ID},
// {"ID", TK_ID},
// {"STRING", TK_STRING},
// {"STRING", TK_STRING},
// {"EQ", TK_EQ},
// {"EQ", TK_EQ},
...
@@ -440,10 +440,6 @@ uint32_t tGetToken(const char* z, uint32_t* tokenId) {
...
@@ -440,10 +440,6 @@ uint32_t tGetToken(const char* z, uint32_t* tokenId) {
*
tokenId
=
TK_NK_QUESTION
;
*
tokenId
=
TK_NK_QUESTION
;
return
1
;
return
1
;
}
}
// case '_': {
// *tokenId = TK_NK_UNDERLINE;
// return 1;
// }
case
'`'
:
case
'`'
:
case
'\''
:
case
'\''
:
case
'"'
:
{
case
'"'
:
{
...
...
source/libs/parser/src/parTranslater.c
浏览文件 @
9e9805f7
...
@@ -439,6 +439,9 @@ static EDealRes translateValue(STranslateContext* pCxt, SValueNode* pVal) {
...
@@ -439,6 +439,9 @@ static EDealRes translateValue(STranslateContext* pCxt, SValueNode* pVal) {
}
}
static
EDealRes
translateOperator
(
STranslateContext
*
pCxt
,
SOperatorNode
*
pOp
)
{
static
EDealRes
translateOperator
(
STranslateContext
*
pCxt
,
SOperatorNode
*
pOp
)
{
if
(
nodesIsUnaryOp
(
pOp
))
{
return
DEAL_RES_CONTINUE
;
}
SDataType
ldt
=
((
SExprNode
*
)(
pOp
->
pLeft
))
->
resType
;
SDataType
ldt
=
((
SExprNode
*
)(
pOp
->
pLeft
))
->
resType
;
SDataType
rdt
=
((
SExprNode
*
)(
pOp
->
pRight
))
->
resType
;
SDataType
rdt
=
((
SExprNode
*
)(
pOp
->
pRight
))
->
resType
;
if
(
nodesIsArithmeticOp
(
pOp
))
{
if
(
nodesIsArithmeticOp
(
pOp
))
{
...
...
source/libs/parser/src/sql.c
浏览文件 @
9e9805f7
...
@@ -132,17 +132,17 @@ typedef union {
...
@@ -132,17 +132,17 @@ typedef union {
#define ParseCTX_PARAM
#define ParseCTX_PARAM
#define ParseCTX_FETCH
#define ParseCTX_FETCH
#define ParseCTX_STORE
#define ParseCTX_STORE
#define YYNSTATE 51
2
#define YYNSTATE 51
1
#define YYNRULE 3
89
#define YYNRULE 3
90
#define YYNTOKEN 201
#define YYNTOKEN 201
#define YY_MAX_SHIFT 51
1
#define YY_MAX_SHIFT 51
0
#define YY_MIN_SHIFTREDUCE 762
#define YY_MIN_SHIFTREDUCE 762
#define YY_MAX_SHIFTREDUCE 115
0
#define YY_MAX_SHIFTREDUCE 115
1
#define YY_ERROR_ACTION 115
1
#define YY_ERROR_ACTION 115
2
#define YY_ACCEPT_ACTION 115
2
#define YY_ACCEPT_ACTION 115
3
#define YY_NO_ACTION 115
3
#define YY_NO_ACTION 115
4
#define YY_MIN_REDUCE 115
4
#define YY_MIN_REDUCE 115
5
#define YY_MAX_REDUCE 154
2
#define YY_MAX_REDUCE 154
4
/************* End control #defines *******************************************/
/************* End control #defines *******************************************/
#define YY_NLOOKAHEAD ((int)(sizeof(yy_lookahead)/sizeof(yy_lookahead[0])))
#define YY_NLOOKAHEAD ((int)(sizeof(yy_lookahead)/sizeof(yy_lookahead[0])))
...
@@ -209,297 +209,300 @@ typedef union {
...
@@ -209,297 +209,300 @@ typedef union {
** yy_default[] Default action for each state.
** yy_default[] Default action for each state.
**
**
*********** Begin parsing tables **********************************************/
*********** Begin parsing tables **********************************************/
#define YY_ACTTAB_COUNT (14
12
)
#define YY_ACTTAB_COUNT (14
48
)
static
const
YYACTIONTYPE
yy_action
[]
=
{
static
const
YYACTIONTYPE
yy_action
[]
=
{
/* 0 */
1398
,
24
,
191
,
442
,
442
,
504
,
503
,
253
,
1307
,
72
,
/* 0 */
1250
,
441
,
441
,
265
,
441
,
1246
,
1413
,
72
,
304
,
306
,
/* 10 */
72
,
270
,
1394
,
1401
,
252
,
307
,
349
,
355
,
233
,
1305
,
/* 10 */
72
,
111
,
30
,
28
,
348
,
409
,
252
,
354
,
20
,
1263
,
/* 20 */
1010
,
1197
,
1155
,
442
,
1398
,
1260
,
1260
,
319
,
1398
,
305
,
/* 20 */
261
,
1153
,
990
,
1261
,
1261
,
269
,
1261
,
1429
,
31
,
29
,
/* 30 */
331
,
31
,
29
,
27
,
26
,
25
,
1394
,
1400
,
429
,
332
,
/* 30 */
27
,
26
,
25
,
1399
,
412
,
441
,
233
,
98
,
988
,
117
,
/* 40 */
1394
,
1400
,
234
,
84
,
1348
,
1260
,
83
,
82
,
81
,
80
,
/* 40 */
409
,
305
,
1399
,
1014
,
427
,
1395
,
1401
,
11
,
1386
,
1429
,
/* 50 */
79
,
78
,
77
,
76
,
75
,
273
,
31
,
29
,
27
,
26
,
/* 50 */
1301
,
30
,
28
,
1094
,
1395
,
1401
,
425
,
1261
,
799
,
261
,
/* 60 */
25
,
429
,
1338
,
1340
,
265
,
213
,
236
,
1347
,
1290
,
441
,
/* 60 */
798
,
990
,
98
,
409
,
69
,
1414
,
1415
,
1418
,
1462
,
1
,
/* 70 */
496
,
495
,
494
,
493
,
492
,
491
,
490
,
489
,
207
,
486
,
/* 70 */
96
,
276
,
254
,
1458
,
120
,
1413
,
1308
,
988
,
800
,
411
,
/* 80 */
485
,
484
,
483
,
482
,
481
,
480
,
479
,
478
,
998
,
1026
,
/* 80 */
121
,
1469
,
1470
,
1308
,
1474
,
98
,
11
,
1340
,
399
,
251
,
/* 90 */
31
,
29
,
27
,
26
,
25
,
84
,
441
,
1056
,
83
,
82
,
/* 90 */
30
,
28
,
507
,
1490
,
1306
,
96
,
1429
,
1252
,
261
,
325
,
/* 100 */
81
,
80
,
79
,
78
,
77
,
76
,
75
,
330
,
1154
,
442
,
/* 100 */
990
,
440
,
1523
,
425
,
989
,
122
,
1469
,
1470
,
1
,
1474
,
/* 110 */
325
,
324
,
323
,
322
,
321
,
306
,
318
,
317
,
316
,
315
,
/* 110 */
22
,
24
,
191
,
427
,
1399
,
125
,
988
,
1386
,
96
,
1521
,
/* 120 */
311
,
310
,
309
,
308
,
442
,
236
,
27
,
26
,
25
,
340
,
/* 120 */
31
,
29
,
27
,
26
,
25
,
11
,
1395
,
1402
,
123
,
1469
,
/* 130 */
312
,
1260
,
93
,
92
,
91
,
90
,
89
,
88
,
87
,
86
,
/* 130 */
1470
,
507
,
1474
,
70
,
1414
,
1415
,
1418
,
1462
,
991
,
1386
,
/* 140 */
85
,
1428
,
362
,
1057
,
357
,
12
,
1260
,
361
,
426
,
1012
,
/* 140 */
440
,
1461
,
1458
,
989
,
135
,
134
,
1413
,
1
,
31
,
29
,
/* 150 */
160
,
442
,
358
,
356
,
1001
,
359
,
1056
,
313
,
404
,
399
,
/* 150 */
27
,
26
,
25
,
186
,
65
,
994
,
995
,
1038
,
1039
,
1040
,
/* 160 */
410
,
1061
,
874
,
465
,
464
,
463
,
878
,
462
,
880
,
881
,
/* 160 */
1041
,
1042
,
1043
,
1044
,
1045
,
99
,
232
,
1429
,
1010
,
1406
,
/* 170 */
461
,
883
,
458
,
1260
,
889
,
455
,
891
,
892
,
452
,
449
,
/* 170 */
507
,
299
,
1253
,
298
,
425
,
318
,
126
,
991
,
330
,
1010
,
/* 180 */
400
,
126
,
98
,
1010
,
23
,
260
,
1051
,
1052
,
1053
,
1054
,
/* 180 */
428
,
1404
,
989
,
264
,
427
,
1429
,
1348
,
331
,
1386
,
12
,
/* 190 */
1055
,
1059
,
1060
,
20
,
112
,
1412
,
300
,
1013
,
299
,
219
,
/* 190 */
1413
,
398
,
425
,
131
,
994
,
995
,
1038
,
1039
,
1040
,
1041
,
/* 200 */
385
,
266
,
1057
,
31
,
29
,
27
,
26
,
25
,
442
,
111
,
/* 200 */
1042
,
1043
,
1044
,
1045
,
69
,
1414
,
1415
,
1418
,
1462
,
441
,
/* 210 */
111
,
217
,
405
,
401
,
339
,
96
,
1428
,
1262
,
1263
,
292
,
/* 210 */
126
,
1429
,
254
,
1458
,
1535
,
311
,
991
,
47
,
425
,
1308
,
/* 220 */
1061
,
136
,
1251
,
426
,
412
,
121
,
1467
,
1468
,
1177
,
1472
,
/* 220 */
46
,
441
,
1336
,
1496
,
402
,
266
,
440
,
312
,
427
,
133
,
/* 230 */
1260
,
477
,
301
,
428
,
294
,
126
,
113
,
1385
,
1166
,
1412
,
/* 230 */
1306
,
1261
,
1386
,
994
,
995
,
1038
,
1039
,
1040
,
1041
,
1042
,
/* 240 */
1011
,
386
,
414
,
23
,
260
,
1051
,
1052
,
1053
,
1054
,
1055
,
/* 240 */
1043
,
1044
,
1045
,
1261
,
404
,
400
,
30
,
28
,
70
,
1414
,
/* 250 */
1059
,
1060
,
126
,
68
,
1413
,
1414
,
1417
,
1460
,
30
,
28
,
/* 250 */
1415
,
1418
,
1462
,
64
,
261
,
329
,
990
,
1459
,
324
,
323
,
/* 260 */
1428
,
235
,
1456
,
1521
,
1385
,
442
,
262
,
426
,
990
,
468
,
/* 260 */
322
,
321
,
320
,
60
,
317
,
316
,
315
,
314
,
310
,
309
,
/* 270 */
1385
,
1257
,
1521
,
1521
,
1249
,
1412
,
125
,
428
,
990
,
159
,
/* 270 */
308
,
307
,
988
,
84
,
1118
,
12
,
83
,
82
,
81
,
80
,
/* 280 */
1519
,
1385
,
67
,
352
,
988
,
125
,
125
,
1260
,
1117
,
1519
,
/* 280 */
79
,
78
,
77
,
76
,
75
,
30
,
28
,
426
,
1156
,
361
,
/* 290 */
1519
,
1374
,
49
,
11
,
988
,
6
,
1428
,
70
,
1413
,
1414
,
/* 290 */
111
,
356
,
300
,
261
,
360
,
990
,
126
,
160
,
1264
,
357
,
/* 300 */
1417
,
1460
,
95
,
413
,
354
,
1459
,
1456
,
45
,
44
,
304
,
/* 300 */
355
,
126
,
358
,
7
,
395
,
1116
,
1117
,
1119
,
1120
,
84
,
/* 310 */
1255
,
130
,
1245
,
428
,
1200
,
1
,
298
,
1385
,
396
,
1115
,
/* 310 */
6
,
988
,
83
,
82
,
81
,
80
,
79
,
78
,
77
,
76
,
/* 320 */
1116
,
1118
,
1119
,
410
,
242
,
442
,
290
,
284
,
286
,
282
,
/* 320 */
75
,
441
,
1308
,
1523
,
30
,
28
,
507
,
338
,
273
,
503
,
/* 330 */
127
,
439
,
441
,
69
,
1413
,
1414
,
1417
,
1460
,
508
,
126
,
/* 330 */
502
,
441
,
261
,
1306
,
990
,
126
,
125
,
1258
,
989
,
114
,
/* 340 */
326
,
255
,
1456
,
120
,
1428
,
98
,
1247
,
1260
,
508
,
49
,
/* 340 */
1521
,
1225
,
7
,
1261
,
272
,
31
,
29
,
27
,
26
,
25
,
/* 350 */
989
,
426
,
126
,
442
,
1014
,
187
,
30
,
28
,
1093
,
440
,
/* 350 */
988
,
1339
,
1341
,
1261
,
874
,
464
,
463
,
462
,
878
,
461
,
/* 360 */
989
,
392
,
1487
,
362
,
262
,
357
,
990
,
1256
,
361
,
30
,
/* 360 */
880
,
881
,
460
,
883
,
457
,
507
,
889
,
454
,
891
,
892
,
/* 370 */
28
,
160
,
1412
,
358
,
356
,
1260
,
359
,
262
,
96
,
990
,
/* 370 */
451
,
448
,
991
,
27
,
26
,
25
,
113
,
989
,
1167
,
213
,
/* 380 */
1243
,
12
,
988
,
403
,
991
,
135
,
134
,
1176
,
122
,
1467
,
/* 380 */
1413
,
7
,
1291
,
1375
,
31
,
29
,
27
,
26
,
25
,
994
,
/* 390 */
1468
,
11
,
1472
,
1428
,
991
,
988
,
9
,
8
,
117
,
1238
,
/* 390 */
995
,
1038
,
1039
,
1040
,
1041
,
1042
,
1043
,
1044
,
1045
,
441
,
/* 400 */
413
,
994
,
995
,
224
,
11
,
1039
,
114
,
272
,
1224
,
1300
,
/* 400 */
1523
,
1429
,
1201
,
1026
,
507
,
438
,
339
,
384
,
425
,
1239
,
/* 410 */
428
,
994
,
995
,
1
,
1385
,
111
,
1412
,
31
,
29
,
27
,
/* 410 */
126
,
991
,
1178
,
1522
,
428
,
1012
,
989
,
1521
,
427
,
283
,
/* 420 */
26
,
25
,
126
,
1262
,
65
,
1412
,
1
,
1088
,
1152
,
1385
,
/* 420 */
1349
,
1261
,
1386
,
31
,
29
,
27
,
26
,
25
,
994
,
995
,
/* 430 */
69
,
1413
,
1414
,
1417
,
1460
,
99
,
508
,
1428
,
255
,
1456
,
/* 430 */
1038
,
1039
,
1040
,
1041
,
1042
,
1043
,
1044
,
1045
,
115
,
1414
,
/* 440 */
120
,
1307
,
1252
,
1521
,
426
,
340
,
1428
,
267
,
989
,
508
,
/* 440 */
1415
,
1418
,
1089
,
31
,
29
,
27
,
26
,
25
,
385
,
271
,
/* 450 */
165
,
1307
,
1305
,
426
,
428
,
1058
,
1520
,
274
,
1385
,
1488
,
/* 450 */
991
,
361
,
1015
,
356
,
1386
,
339
,
360
,
111
,
235
,
160
,
/* 460 */
1519
,
989
,
1305
,
428
,
186
,
1069
,
1038
,
1385
,
1040
,
1041
,
/* 460 */
245
,
357
,
355
,
1177
,
358
,
1263
,
1413
,
994
,
995
,
1038
,
/* 470 */
1042
,
1043
,
1044
,
1062
,
227
,
1413
,
1414
,
1417
,
277
,
467
,
/* 470 */
1039
,
1040
,
1041
,
1042
,
1043
,
1044
,
1045
,
1537
,
235
,
1523
,
/* 480 */
30
,
28
,
991
,
69
,
1413
,
1414
,
1417
,
1460
,
262
,
1412
,
/* 480 */
30
,
28
,
159
,
9
,
8
,
403
,
351
,
1429
,
261
,
1057
,
/* 490 */
990
,
255
,
1456
,
1533
,
131
,
991
,
21
,
1175
,
1236
,
994
,
/* 490 */
990
,
1155
,
125
,
49
,
425
,
291
,
1521
,
246
,
375
,
244
,
/* 500 */
995
,
224
,
1494
,
1039
,
1412
,
384
,
988
,
275
,
417
,
1521
,
/* 500 */
243
,
1026
,
350
,
1148
,
427
,
1386
,
988
,
353
,
1386
,
1057
,
/* 510 */
1428
,
1174
,
994
,
995
,
224
,
111
,
1039
,
426
,
47
,
410
,
/* 510 */
293
,
1257
,
1176
,
413
,
1175
,
93
,
92
,
91
,
90
,
89
,
/* 520 */
1015
,
46
,
125
,
1262
,
1307
,
1428
,
1519
,
428
,
1173
,
798
,
/* 520 */
88
,
87
,
86
,
85
,
68
,
1414
,
1415
,
1418
,
1462
,
1523
,
/* 530 */
1092
,
1385
,
426
,
1412
,
1474
,
1339
,
1147
,
7
,
799
,
1385
,
/* 530 */
49
,
274
,
234
,
1458
,
159
,
1058
,
416
,
1
,
351
,
111
,
/* 540 */
798
,
98
,
428
,
1167
,
477
,
347
,
1385
,
69
,
1413
,
1414
,
/* 540 */
95
,
1093
,
125
,
1174
,
1523
,
441
,
1521
,
1263
,
1256
,
1013
,
/* 550 */
1417
,
1460
,
1471
,
1385
,
1428
,
255
,
1456
,
1533
,
800
,
188
,
/* 550 */
1059
,
439
,
1070
,
1062
,
1386
,
1058
,
1386
,
125
,
476
,
353
,
/* 560 */
508
,
426
,
230
,
1413
,
1414
,
1417
,
1517
,
1100
,
1225
,
1172
,
/* 560 */
507
,
1521
,
172
,
1308
,
441
,
441
,
1173
,
1261
,
1063
,
1147
,
/* 570 */
1385
,
428
,
989
,
1012
,
96
,
1385
,
442
,
1171
,
1474
,
30
,
/* 570 */
205
,
275
,
989
,
1062
,
1307
,
1172
,
23
,
259
,
1052
,
1053
,
/* 580 */
28
,
427
,
205
,
1335
,
123
,
1467
,
1468
,
262
,
1472
,
990
,
/* 580 */
1054
,
1055
,
1056
,
1060
,
1061
,
1386
,
1261
,
1261
,
1011
,
1476
,
/* 590 */
133
,
69
,
1413
,
1414
,
1417
,
1460
,
1470
,
1170
,
1260
,
255
,
/* 590 */
1194
,
21
,
1171
,
1170
,
1169
,
1166
,
23
,
259
,
1052
,
1053
,
/* 600 */
1456
,
1533
,
1146
,
1474
,
22
,
988
,
991
,
1412
,
1169
,
376
,
/* 600 */
1054
,
1055
,
1056
,
1060
,
1061
,
1198
,
991
,
1473
,
1386
,
1101
,
/* 610 */
1478
,
1385
,
30
,
28
,
31
,
29
,
27
,
26
,
25
,
1385
,
/* 610 */
1165
,
147
,
362
,
1248
,
119
,
1012
,
112
,
1386
,
1481
,
1089
,
/* 620 */
262
,
1469
,
990
,
994
,
995
,
224
,
442
,
1039
,
1428
,
58
,
/* 620 */
344
,
219
,
146
,
994
,
995
,
1038
,
1039
,
1040
,
1041
,
1042
,
/* 630 */
172
,
1168
,
276
,
1165
,
1164
,
426
,
7
,
1163
,
988
,
1385
,
/* 630 */
1043
,
1044
,
1045
,
217
,
1386
,
1386
,
1386
,
1386
,
1164
,
1163
,
/* 640 */
1521
,
1162
,
1161
,
487
,
126
,
428
,
295
,
1253
,
1260
,
1385
,
/* 640 */
1162
,
1161
,
1160
,
136
,
1159
,
1158
,
50
,
9
,
8
,
144
,
/* 650 */
1385
,
269
,
268
,
125
,
414
,
1479
,
1088
,
1519
,
1160
,
508
,
/* 650 */
1237
,
1413
,
1386
,
420
,
495
,
494
,
493
,
492
,
491
,
490
,
/* 660 */
418
,
1003
,
30
,
28
,
511
,
225
,
1413
,
1414
,
1417
,
7
,
/* 660 */
489
,
488
,
207
,
485
,
484
,
483
,
482
,
481
,
480
,
479
,
/* 670 */
262
,
989
,
990
,
1385
,
421
,
1385
,
1385
,
996
,
210
,
1385
,
/* 670 */
478
,
477
,
1429
,
1476
,
1476
,
486
,
58
,
467
,
294
,
425
,
/* 680 */
397
,
94
,
1307
,
1385
,
1385
,
1521
,
1159
,
500
,
988
,
209
,
/* 680 */
1386
,
1386
,
1386
,
1386
,
1386
,
798
,
1386
,
1386
,
417
,
427
,
/* 690 */
1158
,
1157
,
508
,
1306
,
9
,
8
,
152
,
416
,
125
,
150
,
/* 690 */
424
,
1472
,
1471
,
1386
,
1254
,
152
,
476
,
154
,
150
,
1413
,
/* 700 */
1385
,
1301
,
1519
,
1091
,
989
,
991
,
1412
,
154
,
156
,
158
,
/* 700 */
153
,
346
,
373
,
143
,
67
,
138
,
998
,
140
,
383
,
69
,
/* 710 */
153
,
155
,
157
,
66
,
1193
,
1188
,
203
,
1186
,
104
,
1
,
/* 710 */
1414
,
1415
,
1418
,
1462
,
1092
,
371
,
1244
,
254
,
1458
,
1535
,
/* 720 */
425
,
388
,
994
,
995
,
224
,
64
,
1039
,
1428
,
1385
,
1149
,
/* 720 */
1429
,
1150
,
1151
,
165
,
137
,
415
,
466
,
412
,
1519
,
45
,
/* 730 */
1150
,
443
,
1385
,
1385
,
426
,
60
,
363
,
365
,
991
,
368
,
/* 730 */
44
,
303
,
156
,
130
,
1189
,
155
,
104
,
427
,
297
,
387
,
/* 740 */
181
,
1405
,
508
,
999
,
428
,
374
,
438
,
43
,
1385
,
175
,
/* 740 */
158
,
1386
,
1413
,
157
,
1168
,
1226
,
241
,
1187
,
289
,
396
,
/* 750 */
1114
,
997
,
177
,
1403
,
989
,
994
,
995
,
224
,
372
,
1039
,
/* 750 */
285
,
281
,
127
,
188
,
1302
,
345
,
364
,
69
,
1414
,
1415
,
/* 760 */
410
,
346
,
1412
,
411
,
70
,
1413
,
1414
,
1417
,
1460
,
1490
,
/* 760 */
1418
,
1462
,
181
,
1429
,
1492
,
254
,
1458
,
120
,
43
,
367
,
/* 770 */
1429
,
391
,
424
,
1456
,
168
,
32
,
32
,
1004
,
1063
,
1023
,
/* 770 */
425
,
1115
,
1001
,
175
,
126
,
997
,
177
,
1430
,
1413
,
187
,
/* 780 */
190
,
1010
,
98
,
1428
,
2
,
279
,
283
,
419
,
991
,
974
,
/* 780 */
427
,
410
,
421
,
190
,
1386
,
391
,
1489
,
32
,
32
,
32
,
/* 790 */
426
,
164
,
241
,
841
,
1007
,
995
,
32
,
243
,
966
,
957
,
/* 790 */
1064
,
1023
,
957
,
194
,
2
,
1010
,
196
,
278
,
1049
,
1429
,
/* 800 */
428
,
414
,
314
,
422
,
1385
,
994
,
995
,
224
,
211
,
1039
,
/* 800 */
69
,
1414
,
1415
,
1418
,
1462
,
1413
,
425
,
282
,
254
,
1458
,
/* 810 */
1412
,
194
,
132
,
101
,
196
,
96
,
434
,
1000
,
1337
,
320
,
/* 810 */
1535
,
101
,
240
,
242
,
433
,
418
,
427
,
841
,
102
,
1480
,
/* 820 */
115
,
1413
,
1414
,
1417
,
328
,
184
,
1467
,
409
,
1048
,
408
,
/* 820 */
1386
,
202
,
966
,
211
,
313
,
413
,
1429
,
409
,
510
,
1338
,
/* 830 */
333
,
1428
,
1521
,
31
,
29
,
27
,
26
,
25
,
426
,
102
,
/* 830 */
132
,
104
,
319
,
425
,
867
,
327
,
224
,
1414
,
1415
,
1418
,
/* 840 */
1019
,
246
,
202
,
104
,
147
,
125
,
867
,
119
,
428
,
1519
,
/* 840 */
326
,
1000
,
210
,
427
,
328
,
94
,
332
,
1386
,
1019
,
98
,
/* 850 */
327
,
43
,
1385
,
345
,
862
,
146
,
329
,
447
,
415
,
1534
,
/* 850 */
333
,
499
,
43
,
209
,
446
,
862
,
1523
,
895
,
102
,
103
,
/* 860 */
895
,
334
,
102
,
159
,
1412
,
899
,
335
,
352
,
70
,
1413
,
/* 860 */
1413
,
899
,
905
,
70
,
1414
,
1415
,
1418
,
1462
,
413
,
125
,
/* 870 */
1414
,
1417
,
1460
,
1412
,
1018
,
336
,
139
,
1457
,
247
,
50
,
/* 870 */
334
,
423
,
1458
,
1521
,
1018
,
335
,
139
,
66
,
1017
,
336
,
/* 880 */
245
,
244
,
144
,
351
,
103
,
1428
,
337
,
905
,
354
,
1017
,
/* 880 */
203
,
1429
,
96
,
104
,
102
,
337
,
904
,
105
,
425
,
142
,
/* 890 */
104
,
1026
,
426
,
904
,
1428
,
102
,
338
,
142
,
105
,
48
,
/* 890 */
48
,
145
,
184
,
1469
,
408
,
340
,
407
,
1016
,
427
,
1523
,
/* 900 */
341
,
426
,
428
,
145
,
1016
,
348
,
1385
,
1412
,
350
,
261
,
/* 900 */
347
,
349
,
1386
,
74
,
1413
,
1251
,
376
,
149
,
1247
,
1413
,
/* 910 */
377
,
428
,
353
,
1250
,
149
,
1385
,
74
,
1246
,
393
,
151
,
/* 910 */
437
,
377
,
125
,
151
,
106
,
107
,
1521
,
1249
,
115
,
1414
,
/* 920 */
106
,
107
,
229
,
1413
,
1414
,
1417
,
1248
,
1244
,
1428
,
108
,
/* 920 */
1415
,
1418
,
1245
,
108
,
109
,
1429
,
352
,
359
,
378
,
250
,
/* 930 */
109
,
229
,
1413
,
1414
,
1417
,
426
,
143
,
360
,
138
,
251
,
/* 930 */
1429
,
1015
,
425
,
382
,
167
,
390
,
388
,
425
,
168
,
379
,
/* 940 */
140
,
379
,
378
,
1412
,
167
,
428
,
170
,
1015
,
389
,
1385
,
/* 940 */
170
,
397
,
427
,
1503
,
431
,
386
,
1386
,
427
,
1493
,
260
,
/* 950 */
398
,
1412
,
383
,
1501
,
367
,
390
,
995
,
137
,
432
,
1500
,
/* 950 */
389
,
1386
,
995
,
974
,
392
,
164
,
414
,
1536
,
1502
,
5
,
/* 960 */
5
,
387
,
380
,
1481
,
1428
,
228
,
1413
,
1414
,
1417
,
375
,
/* 960 */
1483
,
173
,
228
,
1414
,
1415
,
1418
,
1413
,
228
,
1414
,
1415
,
/* 970 */
407
,
426
,
1428
,
173
,
395
,
4
,
254
,
1412
,
176
,
426
,
/* 970 */
1418
,
1413
,
406
,
394
,
393
,
176
,
253
,
4
,
401
,
1089
,
/* 980 */
1491
,
428
,
402
,
162
,
394
,
1385
,
370
,
1088
,
97
,
428
,
/* 980 */
97
,
1014
,
33
,
183
,
180
,
422
,
255
,
1429
,
118
,
1477
,
/* 990 */
1014
,
364
,
1237
,
1385
,
161
,
33
,
259
,
406
,
1428
,
1235
,
/* 990 */
419
,
429
,
1429
,
182
,
425
,
17
,
1347
,
1346
,
430
,
425
,
/* 1000 */
1475
,
115
,
1413
,
1414
,
1417
,
426
,
1412
,
118
,
180
,
229
,
/* 1000 */
263
,
434
,
1444
,
435
,
427
,
198
,
1538
,
1413
,
1386
,
427
,
/* 1010 */
1413
,
1414
,
1417
,
256
,
183
,
428
,
1518
,
182
,
41
,
1385
,
/* 1010 */
200
,
57
,
436
,
1386
,
1520
,
1413
,
258
,
59
,
1262
,
212
,
/* 1020 */
423
,
40
,
263
,
420
,
189
,
1536
,
17
,
1428
,
1442
,
1346
,
/* 1020 */
473
,
189
,
444
,
214
,
227
,
1414
,
1415
,
1418
,
1429
,
228
,
/* 1030 */
1412
,
430
,
431
,
264
,
426
,
229
,
1413
,
1414
,
1417
,
1345
,
/* 1030 */
1414
,
1415
,
1418
,
487
,
208
,
425
,
1429
,
506
,
216
,
220
,
/* 1040 */
1535
,
435
,
436
,
200
,
428
,
198
,
437
,
57
,
1385
,
206
,
/* 1040 */
221
,
1413
,
39
,
425
,
218
,
427
,
1380
,
1379
,
277
,
1386
,
/* 1050 */
212
,
1428
,
59
,
473
,
1412
,
474
,
206
,
488
,
426
,
1261
,
/* 1050 */
1413
,
279
,
262
,
427
,
1376
,
280
,
405
,
1386
,
984
,
985
,
/* 1060 */
473
,
445
,
214
,
507
,
222
,
1413
,
1414
,
1417
,
428
,
208
,
/* 1060 */
128
,
284
,
1429
,
1374
,
286
,
228
,
1414
,
1415
,
1418
,
425
,
/* 1070 */
220
,
39
,
1385
,
216
,
475
,
1428
,
1379
,
221
,
1412
,
218
,
/* 1070 */
287
,
1429
,
288
,
226
,
1414
,
1415
,
1418
,
1413
,
425
,
427
,
/* 1080 */
1378
,
475
,
426
,
278
,
1375
,
280
,
281
,
984
,
231
,
1413
,
/* 1080 */
1373
,
290
,
1372
,
1386
,
1363
,
1413
,
292
,
129
,
427
,
295
,
/* 1090 */
1414
,
1417
,
428
,
472
,
471
,
470
,
1385
,
469
,
985
,
1428
,
/* 1090 */
296
,
969
,
1386
,
968
,
1357
,
1356
,
302
,
1355
,
1429
,
229
,
/* 1100 */
472
,
471
,
470
,
128
,
469
,
285
,
426
,
1412
,
1373
,
287
,
/* 1100 */
1414
,
1415
,
1418
,
301
,
1354
,
425
,
1429
,
1331
,
222
,
1414
,
/* 1110 */
288
,
289
,
223
,
1413
,
1414
,
1417
,
428
,
1372
,
1371
,
291
,
/* 1110 */
1415
,
1418
,
940
,
425
,
1330
,
427
,
1329
,
1328
,
1327
,
1386
,
/* 1120 */
1385
,
293
,
1362
,
129
,
296
,
297
,
969
,
968
,
1428
,
1356
,
/* 1120 */
1326
,
1413
,
1325
,
427
,
1324
,
1323
,
1413
,
1386
,
1322
,
1321
,
/* 1130 */
1355
,
303
,
302
,
1412
,
1354
,
426
,
232
,
1413
,
1414
,
1417
,
/* 1130 */
1320
,
1319
,
100
,
1318
,
1317
,
230
,
1414
,
1415
,
1418
,
1316
,
/* 1140 */
1353
,
1412
,
940
,
1330
,
1329
,
428
,
1328
,
1327
,
1326
,
1385
,
/* 1140 */
1315
,
1314
,
1429
,
223
,
1414
,
1415
,
1418
,
1429
,
1313
,
425
,
/* 1150 */
1325
,
1324
,
1323
,
1322
,
1428
,
1321
,
1320
,
1319
,
1318
,
100
,
/* 1150 */
1312
,
1311
,
1310
,
1309
,
425
,
1200
,
1371
,
942
,
1365
,
427
,
/* 1160 */
1317
,
426
,
1428
,
1316
,
1315
,
1425
,
1413
,
1414
,
1417
,
426
,
/* 1160 */
1353
,
1344
,
1413
,
1386
,
427
,
1240
,
141
,
1413
,
1386
,
811
,
/* 1170 */
1314
,
428
,
1313
,
1312
,
1311
,
1385
,
1412
,
1310
,
1309
,
428
,
/* 1170 */
1199
,
1197
,
1186
,
1413
,
341
,
343
,
1185
,
1182
,
342
,
231
,
/* 1180 */
1308
,
942
,
1412
,
1385
,
1199
,
1370
,
1364
,
1352
,
1343
,
1239
,
/* 1180 */
1414
,
1415
,
1418
,
1429
,
1426
,
1414
,
1415
,
1418
,
1429
,
1242
,
/* 1190 */
811
,
1424
,
1413
,
1414
,
1417
,
1198
,
1196
,
1428
,
1185
,
1423
,
/* 1190 */
425
,
73
,
912
,
486
,
1429
,
425
,
910
,
1241
,
1195
,
1190
,
/* 1200 */
1413
,
1414
,
1417
,
1428
,
426
,
141
,
342
,
343
,
344
,
1184
,
/* 1200 */
427
,
425
,
1238
,
148
,
1386
,
427
,
840
,
839
,
247
,
1386
,
/* 1210 */
426
,
1412
,
1181
,
1241
,
428
,
73
,
487
,
1412
,
1385
,
912
,
/* 1210 */
248
,
427
,
365
,
838
,
1413
,
1386
,
837
,
835
,
834
,
1188
,
/* 1220 */
428
,
148
,
910
,
1240
,
1385
,
1194
,
248
,
1189
,
840
,
839
,
/* 1220 */
1425
,
1414
,
1415
,
1418
,
1236
,
1424
,
1414
,
1415
,
1418
,
1413
,
/* 1230 */
838
,
837
,
1428
,
249
,
239
,
1413
,
1414
,
1417
,
1428
,
426
,
/* 1230 */
249
,
238
,
1414
,
1415
,
1418
,
1429
,
1181
,
370
,
268
,
267
,
/* 1240 */
238
,
1413
,
1414
,
1417
,
835
,
426
,
834
,
1187
,
250
,
428
,
/* 1240 */
1413
,
368
,
425
,
1180
,
372
,
71
,
1370
,
163
,
1003
,
42
,
/* 1250 */
1180
,
371
,
369
,
1385
,
366
,
428
,
1179
,
373
,
71
,
1385
,
/* 1250 */
1429
,
976
,
427
,
1364
,
990
,
1413
,
1386
,
425
,
110
,
206
,
/* 1260 */
1369
,
42
,
163
,
1412
,
1363
,
381
,
976
,
110
,
382
,
240
,
/* 1260 */
380
,
1429
,
1352
,
472
,
996
,
166
,
1351
,
427
,
425
,
1343
,
/* 1270 */
1413
,
1414
,
1417
,
1351
,
1350
,
237
,
1413
,
1414
,
1417
,
1342
,
/* 1270 */
988
,
1386
,
237
,
1414
,
1415
,
1418
,
1429
,
381
,
427
,
36
,
/* 1280 */
169
,
166
,
14
,
1403
,
1428
,
51
,
171
,
3
,
32
,
174
,
/* 1280 */
366
,
206
,
1386
,
425
,
474
,
472
,
51
,
239
,
1414
,
1415
,
/* 1290 */
15
,
426
,
1113
,
116
,
34
,
54
,
36
,
37
,
185
,
124
,
/* 1290 */
1418
,
169
,
171
,
427
,
3
,
374
,
32
,
1386
,
236
,
1414
,
/* 1300 */
178
,
428
,
1107
,
52
,
1135
,
1385
,
1106
,
179
,
53
,
19
,
/* 1300 */
1415
,
1418
,
37
,
471
,
470
,
469
,
474
,
468
,
116
,
162
,
/* 1310 */
1134
,
1085
,
35
,
10
,
1084
,
16
,
1140
,
8
,
257
,
1139
,
/* 1310 */
174
,
1114
,
369
,
225
,
1414
,
1415
,
1418
,
363
,
442
,
178
,
/* 1320 */
1138
,
226
,
1413
,
1414
,
1417
,
258
,
1341
,
1024
,
13
,
433
,
/* 1320 */
161
,
1108
,
1107
,
14
,
507
,
471
,
470
,
469
,
52
,
468
,
/* 1330 */
1049
,
18
,
192
,
193
,
60
,
1111
,
195
,
197
,
55
,
199
,
/* 1330 */
999
,
179
,
53
,
34
,
19
,
1404
,
989
,
15
,
1086
,
185
,
/* 1340 */
56
,
1005
,
1402
,
446
,
38
,
271
,
450
,
896
,
893
,
453
,
/* 1340 */
1085
,
35
,
124
,
1141
,
41
,
16
,
10
,
40
,
54
,
1136
,
/* 1350 */
456
,
204
,
448
,
451
,
459
,
890
,
444
,
454
,
201
,
884
,
/* 1350 */
1135
,
256
,
1140
,
1139
,
257
,
8
,
1050
,
1024
,
192
,
13
,
/* 1360 */
882
,
457
,
460
,
873
,
901
,
907
,
903
,
61
,
809
,
476
,
/* 1360 */
18
,
432
,
193
,
1112
,
1004
,
195
,
197
,
55
,
1342
,
199
,
/* 1370 */
62
,
63
,
831
,
830
,
829
,
828
,
827
,
826
,
825
,
823
,
/* 1370 */
991
,
56
,
201
,
60
,
1005
,
38
,
1403
,
896
,
445
,
270
,
/* 1380 */
888
,
466
,
824
,
842
,
821
,
820
,
819
,
818
,
887
,
886
,
/* 1380 */
204
,
1007
,
995
,
443
,
449
,
452
,
447
,
994
,
995
,
893
,
/* 1390 */
817
,
885
,
816
,
815
,
814
,
1195
,
497
,
498
,
1183
,
1182
,
/* 1390 */
450
,
873
,
890
,
453
,
455
,
884
,
456
,
458
,
882
,
459
,
/* 1400 */
501
,
502
,
499
,
1178
,
906
,
505
,
506
,
1153
,
992
,
215
,
/* 1400 */
61
,
907
,
888
,
887
,
886
,
465
,
62
,
63
,
906
,
903
,
/* 1410 */
509
,
510
,
/* 1410 */
901
,
475
,
885
,
809
,
831
,
830
,
829
,
828
,
827
,
826
,
/* 1420 */
825
,
824
,
823
,
842
,
821
,
820
,
1196
,
819
,
818
,
817
,
/* 1430 */
1184
,
816
,
815
,
814
,
496
,
497
,
500
,
1183
,
501
,
1179
,
/* 1440 */
498
,
504
,
505
,
1154
,
992
,
215
,
508
,
509
,
};
};
static
const
YYCODETYPE
yy_lookahead
[]
=
{
static
const
YYCODETYPE
yy_lookahead
[]
=
{
/* 0 */
2
46
,
267
,
268
,
210
,
210
,
207
,
208
,
229
,
225
,
216
,
/* 0 */
2
26
,
210
,
210
,
217
,
210
,
226
,
204
,
216
,
216
,
210
,
/* 10 */
216
,
22
9
,
258
,
259
,
231
,
210
,
223
,
223
,
18
,
236
,
/* 10 */
216
,
22
5
,
12
,
13
,
223
,
210
,
229
,
223
,
2
,
233
,
/* 20 */
20
,
0
,
0
,
210
,
246
,
232
,
232
,
27
,
246
,
216
,
/* 20 */
20
,
201
,
22
,
232
,
232
,
229
,
232
,
225
,
12
,
13
,
/* 30 */
30
,
12
,
13
,
14
,
15
,
16
,
258
,
259
,
242
,
39
,
/* 30 */
14
,
15
,
16
,
246
,
232
,
210
,
237
,
232
,
38
,
224
,
/* 40 */
2
58
,
259
,
237
,
21
,
248
,
232
,
24
,
25
,
26
,
27
,
/* 40 */
2
10
,
216
,
246
,
20
,
242
,
258
,
259
,
47
,
246
,
225
,
/* 50 */
28
,
29
,
30
,
31
,
32
,
234
,
12
,
13
,
14
,
15
,
/* 50 */
235
,
12
,
13
,
14
,
258
,
259
,
232
,
232
,
20
,
20
,
/* 60 */
16
,
242
,
241
,
242
,
245
,
218
,
47
,
248
,
221
,
20
,
/* 60 */
22
,
22
,
232
,
210
,
262
,
263
,
264
,
265
,
266
,
69
,
/* 70 */
49
,
50
,
51
,
52
,
53
,
54
,
55
,
56
,
57
,
58
,
/* 70 */
265
,
251
,
270
,
271
,
272
,
204
,
225
,
38
,
40
,
274
,
/* 80 */
59
,
60
,
61
,
62
,
63
,
64
,
65
,
66
,
38
,
70
,
/* 80 */
275
,
276
,
277
,
225
,
279
,
232
,
47
,
236
,
264
,
231
,
/* 90 */
12
,
13
,
14
,
15
,
16
,
21
,
20
,
78
,
24
,
25
,
/* 90 */
12
,
13
,
92
,
291
,
236
,
265
,
225
,
204
,
20
,
63
,
/* 100 */
2
6
,
27
,
28
,
29
,
30
,
31
,
32
,
107
,
0
,
210
,
/* 100 */
2
2
,
20
,
282
,
232
,
104
,
275
,
276
,
277
,
69
,
279
,
/* 110 */
110
,
111
,
112
,
113
,
114
,
216
,
116
,
117
,
118
,
11
9
,
/* 110 */
2
,
267
,
268
,
242
,
246
,
295
,
38
,
246
,
265
,
29
9
,
/* 120 */
120
,
121
,
122
,
123
,
210
,
47
,
14
,
15
,
16
,
4
6
,
/* 120 */
12
,
13
,
14
,
15
,
16
,
47
,
258
,
259
,
275
,
27
6
,
/* 130 */
2
16
,
232
,
24
,
25
,
26
,
27
,
28
,
29
,
30
,
31
,
/* 130 */
2
77
,
92
,
279
,
262
,
263
,
264
,
265
,
266
,
138
,
246
,
/* 140 */
32
,
225
,
49
,
124
,
51
,
69
,
232
,
54
,
232
,
20
,
/* 140 */
20
,
270
,
271
,
104
,
108
,
109
,
204
,
69
,
12
,
13
,
/* 150 */
57
,
210
,
59
,
60
,
104
,
62
,
78
,
216
,
20
,
128
,
/* 150 */
14
,
15
,
16
,
130
,
209
,
155
,
156
,
157
,
158
,
159
,
/* 160 */
210
,
142
,
83
,
84
,
85
,
86
,
87
,
88
,
89
,
90
,
/* 160 */
160
,
161
,
162
,
163
,
164
,
220
,
18
,
225
,
20
,
69
,
/* 170 */
9
1
,
92
,
93
,
232
,
95
,
96
,
97
,
98
,
99
,
10
0
,
/* 170 */
9
2
,
137
,
227
,
139
,
232
,
27
,
176
,
138
,
30
,
2
0
,
/* 180 */
2
64
,
176
,
232
,
20
,
165
,
166
,
167
,
168
,
169
,
170
,
/* 180 */
2
42
,
81
,
104
,
245
,
242
,
225
,
248
,
39
,
246
,
69
,
/* 190 */
171
,
172
,
173
,
2
,
18
,
204
,
137
,
20
,
139
,
23
,
/* 190 */
204
,
128
,
232
,
44
,
155
,
156
,
157
,
158
,
159
,
160
,
/* 200 */
210
,
217
,
124
,
12
,
13
,
14
,
15
,
16
,
210
,
225
,
/* 200 */
161
,
162
,
163
,
164
,
262
,
263
,
264
,
265
,
266
,
210
,
/* 210 */
225
,
35
,
181
,
182
,
216
,
265
,
225
,
233
,
233
,
134
,
/* 210 */
176
,
225
,
270
,
271
,
272
,
216
,
138
,
68
,
232
,
225
,
/* 220 */
142
,
45
,
204
,
232
,
274
,
275
,
276
,
277
,
204
,
27
9
,
/* 220 */
71
,
210
,
232
,
281
,
264
,
231
,
20
,
216
,
242
,
23
9
,
/* 230 */
23
2
,
46
,
251
,
242
,
149
,
176
,
203
,
246
,
205
,
204
,
/* 230 */
23
6
,
232
,
246
,
155
,
156
,
157
,
158
,
159
,
160
,
161
,
/* 240 */
20
,
251
,
251
,
165
,
166
,
167
,
168
,
169
,
170
,
171
,
/* 240 */
162
,
163
,
164
,
232
,
181
,
182
,
12
,
13
,
262
,
263
,
/* 250 */
172
,
173
,
176
,
262
,
263
,
264
,
265
,
266
,
12
,
13
,
/* 250 */
264
,
265
,
266
,
69
,
20
,
107
,
22
,
271
,
110
,
111
,
/* 260 */
225
,
270
,
271
,
282
,
246
,
210
,
20
,
232
,
22
,
80
,
/* 260 */
112
,
113
,
114
,
79
,
116
,
117
,
118
,
119
,
120
,
121
,
/* 270 */
246
,
216
,
282
,
282
,
226
,
204
,
295
,
242
,
22
,
5
7
,
/* 270 */
122
,
123
,
38
,
21
,
155
,
69
,
24
,
25
,
26
,
2
7
,
/* 280 */
299
,
246
,
106
,
61
,
38
,
295
,
295
,
232
,
155
,
29
9
,
/* 280 */
28
,
29
,
30
,
31
,
32
,
12
,
13
,
14
,
0
,
4
9
,
/* 290 */
2
99
,
0
,
212
,
47
,
38
,
43
,
225
,
262
,
263
,
264
,
/* 290 */
2
25
,
51
,
251
,
20
,
54
,
22
,
176
,
57
,
233
,
59
,
/* 300 */
265
,
266
,
222
,
232
,
82
,
270
,
271
,
131
,
132
,
133
,
/* 300 */
60
,
176
,
62
,
69
,
185
,
186
,
187
,
188
,
189
,
21
,
/* 310 */
230
,
135
,
226
,
242
,
0
,
69
,
140
,
246
,
185
,
186
,
/* 310 */
43
,
38
,
24
,
25
,
26
,
27
,
28
,
29
,
30
,
31
,
/* 320 */
187
,
188
,
189
,
210
,
148
,
210
,
150
,
36
,
152
,
153
,
/* 320 */
32
,
210
,
225
,
282
,
12
,
13
,
92
,
216
,
231
,
207
,
/* 330 */
154
,
216
,
20
,
262
,
263
,
264
,
265
,
266
,
92
,
176
,
/* 330 */
208
,
210
,
20
,
236
,
22
,
176
,
295
,
216
,
104
,
213
,
/* 340 */
63
,
270
,
271
,
272
,
225
,
232
,
226
,
232
,
92
,
212
,
/* 340 */
299
,
215
,
69
,
232
,
234
,
12
,
13
,
14
,
15
,
16
,
/* 350 */
104
,
232
,
176
,
210
,
20
,
284
,
12
,
13
,
14
,
216
,
/* 350 */
38
,
241
,
242
,
232
,
83
,
84
,
85
,
86
,
87
,
88
,
/* 360 */
104
,
290
,
291
,
49
,
20
,
51
,
22
,
230
,
54
,
12
,
/* 360 */
89
,
90
,
91
,
92
,
93
,
92
,
95
,
96
,
97
,
98
,
/* 370 */
13
,
57
,
204
,
59
,
60
,
232
,
62
,
20
,
265
,
22
,
/* 370 */
99
,
100
,
138
,
14
,
15
,
16
,
203
,
104
,
205
,
218
,
/* 380 */
2
26
,
69
,
38
,
264
,
138
,
108
,
109
,
204
,
275
,
276
,
/* 380 */
2
04
,
69
,
221
,
0
,
12
,
13
,
14
,
15
,
16
,
155
,
/* 390 */
277
,
47
,
279
,
225
,
138
,
38
,
1
,
2
,
224
,
0
,
/* 390 */
156
,
157
,
158
,
159
,
160
,
161
,
162
,
163
,
164
,
21
0
,
/* 400 */
2
32
,
155
,
156
,
157
,
47
,
159
,
213
,
217
,
215
,
235
,
/* 400 */
2
82
,
225
,
0
,
70
,
92
,
216
,
46
,
210
,
232
,
0
,
/* 410 */
242
,
155
,
156
,
69
,
246
,
225
,
204
,
12
,
13
,
14
,
/* 410 */
176
,
138
,
204
,
295
,
242
,
20
,
104
,
299
,
242
,
36
,
/* 420 */
15
,
16
,
176
,
233
,
209
,
204
,
69
,
175
,
201
,
24
6
,
/* 420 */
248
,
232
,
246
,
12
,
13
,
14
,
15
,
16
,
155
,
15
6
,
/* 430 */
262
,
263
,
264
,
265
,
266
,
220
,
92
,
225
,
270
,
271
,
/* 430 */
157
,
158
,
159
,
160
,
161
,
162
,
163
,
164
,
262
,
263
,
/* 440 */
2
72
,
225
,
227
,
282
,
232
,
46
,
225
,
231
,
104
,
92
,
/* 440 */
2
64
,
265
,
175
,
12
,
13
,
14
,
15
,
16
,
251
,
217
,
/* 450 */
226
,
225
,
236
,
232
,
242
,
124
,
295
,
231
,
246
,
291
,
/* 450 */
138
,
49
,
20
,
51
,
246
,
46
,
54
,
225
,
47
,
57
,
/* 460 */
299
,
104
,
236
,
242
,
130
,
70
,
158
,
246
,
160
,
161
,
/* 460 */
35
,
59
,
60
,
204
,
62
,
233
,
204
,
155
,
156
,
157
,
/* 470 */
1
62
,
163
,
164
,
142
,
262
,
263
,
264
,
265
,
251
,
226
,
/* 470 */
1
58
,
159
,
160
,
161
,
162
,
163
,
164
,
301
,
47
,
282
,
/* 480 */
12
,
13
,
138
,
262
,
263
,
264
,
265
,
266
,
20
,
204
,
/* 480 */
12
,
13
,
57
,
1
,
2
,
20
,
61
,
225
,
20
,
78
,
/* 490 */
22
,
270
,
271
,
272
,
44
,
138
,
165
,
204
,
0
,
155
,
/* 490 */
22
,
0
,
295
,
212
,
232
,
134
,
299
,
72
,
251
,
74
,
/* 500 */
156
,
157
,
281
,
159
,
204
,
254
,
38
,
217
,
3
,
282
,
/* 500 */
75
,
70
,
77
,
131
,
242
,
246
,
38
,
82
,
246
,
78
,
/* 510 */
225
,
204
,
155
,
156
,
157
,
225
,
159
,
232
,
68
,
210
,
/* 510 */
149
,
230
,
204
,
251
,
204
,
24
,
25
,
26
,
27
,
28
,
/* 520 */
2
0
,
71
,
295
,
233
,
225
,
225
,
299
,
242
,
204
,
2
2
,
/* 520 */
2
9
,
30
,
31
,
32
,
262
,
263
,
264
,
265
,
266
,
28
2
,
/* 530 */
4
,
246
,
232
,
204
,
260
,
236
,
131
,
69
,
20
,
246
,
/* 530 */
212
,
217
,
270
,
271
,
57
,
124
,
3
,
69
,
61
,
225
,
/* 540 */
22
,
232
,
242
,
205
,
46
,
38
,
246
,
262
,
263
,
264
,
/* 540 */
222
,
4
,
295
,
204
,
282
,
210
,
299
,
233
,
230
,
20
,
/* 550 */
265
,
266
,
278
,
246
,
225
,
270
,
271
,
272
,
40
,
30
2
,
/* 550 */
124
,
216
,
70
,
142
,
246
,
124
,
246
,
295
,
46
,
8
2
,
/* 560 */
92
,
2
32
,
262
,
263
,
264
,
265
,
281
,
14
,
215
,
204
,
/* 560 */
92
,
2
99
,
130
,
225
,
210
,
210
,
204
,
232
,
142
,
197
,
/* 570 */
2
46
,
242
,
104
,
20
,
265
,
246
,
210
,
204
,
260
,
12
,
/* 570 */
2
16
,
216
,
104
,
142
,
236
,
204
,
165
,
166
,
167
,
168
,
/* 580 */
13
,
14
,
216
,
232
,
275
,
276
,
277
,
20
,
279
,
22
,
/* 580 */
169
,
170
,
171
,
172
,
173
,
246
,
232
,
232
,
20
,
260
,
/* 590 */
239
,
262
,
263
,
264
,
265
,
266
,
278
,
204
,
232
,
270
,
/* 590 */
0
,
165
,
204
,
204
,
204
,
204
,
165
,
166
,
167
,
168
,
/* 600 */
271
,
272
,
197
,
260
,
2
,
38
,
138
,
204
,
204
,
251
,
/* 600 */
169
,
170
,
171
,
172
,
173
,
0
,
138
,
278
,
246
,
14
,
/* 610 */
2
81
,
246
,
12
,
13
,
12
,
13
,
14
,
15
,
16
,
246
,
/* 610 */
2
04
,
33
,
22
,
226
,
36
,
20
,
18
,
246
,
174
,
175
,
/* 620 */
20
,
278
,
22
,
155
,
156
,
157
,
210
,
159
,
225
,
209
,
/* 620 */
42
,
23
,
44
,
155
,
156
,
157
,
158
,
159
,
160
,
161
,
/* 630 */
1
30
,
204
,
216
,
204
,
204
,
232
,
69
,
204
,
38
,
246
,
/* 630 */
1
62
,
163
,
164
,
35
,
246
,
246
,
246
,
246
,
204
,
204
,
/* 640 */
2
82
,
204
,
204
,
67
,
176
,
242
,
70
,
227
,
232
,
246
,
/* 640 */
2
04
,
204
,
204
,
45
,
204
,
204
,
68
,
1
,
2
,
71
,
/* 650 */
246
,
12
,
13
,
295
,
251
,
174
,
175
,
299
,
204
,
92
,
/* 650 */
0
,
204
,
246
,
67
,
49
,
50
,
51
,
52
,
53
,
54
,
/* 660 */
67
,
22
,
12
,
13
,
19
,
262
,
263
,
264
,
265
,
69
,
/* 660 */
55
,
56
,
57
,
58
,
59
,
60
,
61
,
62
,
63
,
64
,
/* 670 */
20
,
104
,
22
,
246
,
67
,
246
,
246
,
38
,
33
,
246
,
/* 670 */
65
,
66
,
225
,
260
,
260
,
67
,
209
,
80
,
70
,
232
,
/* 680 */
2
93
,
36
,
225
,
246
,
246
,
282
,
204
,
42
,
38
,
44
,
/* 680 */
2
46
,
246
,
246
,
246
,
246
,
22
,
246
,
246
,
67
,
242
,
/* 690 */
204
,
204
,
92
,
236
,
1
,
2
,
73
,
192
,
295
,
76
,
/* 690 */
47
,
278
,
278
,
246
,
227
,
73
,
46
,
73
,
76
,
204
,
/* 700 */
246
,
235
,
299
,
177
,
104
,
138
,
204
,
73
,
73
,
73
,
/* 700 */
76
,
38
,
21
,
125
,
106
,
127
,
38
,
129
,
254
,
262
,
/* 710 */
76
,
76
,
76
,
68
,
0
,
0
,
71
,
0
,
67
,
69
,
/* 710 */
263
,
264
,
265
,
266
,
177
,
34
,
226
,
270
,
271
,
272
,
/* 720 */
47
,
70
,
155
,
156
,
157
,
69
,
159
,
225
,
246
,
199
,
/* 720 */
225
,
199
,
200
,
226
,
146
,
192
,
226
,
232
,
281
,
131
,
/* 730 */
200
,
92
,
246
,
246
,
232
,
79
,
22
,
22
,
138
,
22
,
/* 730 */
132
,
133
,
73
,
135
,
0
,
76
,
67
,
242
,
140
,
70
,
/* 740 */
287
,
69
,
92
,
104
,
242
,
21
,
101
,
67
,
246
,
67
,
/* 740 */
73
,
246
,
204
,
76
,
205
,
215
,
148
,
0
,
150
,
293
,
/* 750 */
70
,
38
,
70
,
81
,
104
,
155
,
156
,
157
,
34
,
159
,
/* 750 */
152
,
153
,
154
,
302
,
235
,
207
,
22
,
262
,
263
,
264
,
/* 760 */
2
10
,
207
,
204
,
280
,
262
,
263
,
264
,
265
,
266
,
261
,
/* 760 */
2
65
,
266
,
287
,
225
,
261
,
270
,
271
,
272
,
67
,
22
,
/* 770 */
2
25
,
126
,
270
,
271
,
129
,
67
,
67
,
138
,
70
,
70
,
/* 770 */
2
32
,
70
,
104
,
67
,
176
,
38
,
70
,
225
,
204
,
284
,
/* 780 */
2
96
,
20
,
232
,
225
,
283
,
210
,
36
,
194
,
138
,
144
,
/* 780 */
2
42
,
280
,
196
,
296
,
246
,
290
,
291
,
67
,
67
,
67
,
/* 790 */
232
,
146
,
257
,
38
,
155
,
156
,
67
,
214
,
136
,
70
,
/* 790 */
70
,
70
,
70
,
67
,
283
,
20
,
70
,
210
,
155
,
225
,
/* 800 */
2
42
,
251
,
210
,
196
,
246
,
155
,
156
,
157
,
252
,
159
,
/* 800 */
2
62
,
263
,
264
,
265
,
266
,
204
,
232
,
36
,
270
,
271
,
/* 810 */
2
04
,
67
,
115
,
67
,
70
,
265
,
70
,
104
,
210
,
240
,
/* 810 */
2
72
,
67
,
257
,
214
,
70
,
194
,
242
,
38
,
67
,
281
,
/* 820 */
2
62
,
263
,
264
,
265
,
124
,
275
,
276
,
277
,
155
,
279
,
/* 820 */
2
46
,
70
,
136
,
252
,
210
,
251
,
225
,
210
,
19
,
210
,
/* 830 */
210
,
225
,
282
,
12
,
13
,
14
,
15
,
16
,
232
,
67
,
/* 830 */
115
,
67
,
240
,
232
,
70
,
124
,
262
,
263
,
264
,
265
,
/* 840 */
20
,
35
,
70
,
67
,
33
,
295
,
70
,
36
,
242
,
299
,
/* 840 */
238
,
104
,
33
,
242
,
238
,
36
,
210
,
246
,
20
,
232
,
/* 850 */
2
38
,
67
,
246
,
42
,
70
,
44
,
238
,
67
,
300
,
301
,
/* 850 */
2
56
,
42
,
67
,
44
,
67
,
70
,
282
,
70
,
67
,
67
,
/* 860 */
70
,
256
,
67
,
57
,
204
,
70
,
242
,
61
,
262
,
263
,
/* 860 */
204
,
70
,
70
,
262
,
263
,
264
,
265
,
266
,
251
,
295
,
/* 870 */
2
64
,
265
,
266
,
204
,
20
,
250
,
212
,
271
,
72
,
68
,
/* 870 */
2
42
,
270
,
271
,
299
,
20
,
250
,
212
,
68
,
20
,
232
,
/* 880 */
7
4
,
75
,
71
,
77
,
67
,
225
,
232
,
70
,
82
,
20
,
/* 880 */
7
1
,
225
,
265
,
67
,
67
,
243
,
70
,
70
,
232
,
212
,
/* 890 */
67
,
70
,
232
,
70
,
225
,
67
,
243
,
212
,
70
,
21
2
,
/* 890 */
212
,
212
,
275
,
276
,
277
,
210
,
279
,
20
,
242
,
28
2
,
/* 900 */
2
10
,
232
,
242
,
212
,
20
,
206
,
246
,
204
,
225
,
249
,
/* 900 */
2
06
,
225
,
246
,
210
,
204
,
225
,
232
,
225
,
225
,
204
,
/* 910 */
232
,
242
,
214
,
225
,
225
,
246
,
210
,
225
,
249
,
225
,
/* 910 */
101
,
256
,
295
,
225
,
225
,
225
,
299
,
225
,
262
,
263
,
/* 920 */
2
25
,
225
,
262
,
263
,
264
,
265
,
225
,
225
,
225
,
225
,
/* 920 */
2
64
,
265
,
225
,
225
,
225
,
225
,
214
,
214
,
145
,
206
,
/* 930 */
225
,
262
,
263
,
264
,
265
,
232
,
125
,
214
,
127
,
206
,
/* 930 */
225
,
20
,
232
,
242
,
209
,
126
,
232
,
232
,
129
,
255
,
/* 940 */
129
,
145
,
256
,
204
,
209
,
242
,
209
,
20
,
232
,
246
,
/* 940 */
209
,
184
,
242
,
292
,
183
,
250
,
246
,
242
,
261
,
249
,
/* 950 */
184
,
204
,
242
,
292
,
4
,
243
,
156
,
146
,
183
,
292
,
/* 950 */
243
,
246
,
156
,
144
,
249
,
146
,
300
,
301
,
292
,
191
,
/* 960 */
191
,
250
,
255
,
289
,
225
,
262
,
263
,
264
,
265
,
19
,
/* 960 */
289
,
247
,
262
,
263
,
264
,
265
,
204
,
262
,
263
,
264
,
/* 970 */
190
,
232
,
225
,
247
,
246
,
178
,
246
,
204
,
247
,
232
,
/* 970 */
265
,
204
,
190
,
246
,
179
,
247
,
246
,
178
,
246
,
175
,
/* 980 */
2
61
,
242
,
246
,
33
,
179
,
246
,
36
,
175
,
232
,
242
,
/* 980 */
2
32
,
20
,
115
,
273
,
288
,
195
,
198
,
225
,
286
,
260
,
/* 990 */
20
,
41
,
0
,
246
,
44
,
115
,
249
,
294
,
225
,
0
,
/* 990 */
193
,
246
,
225
,
285
,
232
,
69
,
247
,
247
,
246
,
232
,
/* 1000 */
2
60
,
262
,
263
,
264
,
265
,
232
,
204
,
286
,
288
,
26
2
,
/* 1000 */
2
46
,
127
,
269
,
244
,
242
,
232
,
303
,
204
,
246
,
24
2
,
/* 1010 */
2
63
,
264
,
265
,
198
,
273
,
242
,
298
,
285
,
68
,
246
,
/* 1010 */
2
09
,
209
,
243
,
246
,
298
,
204
,
249
,
69
,
232
,
221
,
/* 1020 */
195
,
71
,
249
,
193
,
297
,
303
,
69
,
225
,
269
,
247
,
/* 1020 */
214
,
297
,
228
,
210
,
262
,
263
,
264
,
265
,
225
,
262
,
/* 1030 */
2
04
,
246
,
246
,
246
,
232
,
262
,
263
,
264
,
265
,
247
,
/* 1030 */
2
63
,
264
,
265
,
214
,
209
,
232
,
225
,
206
,
211
,
219
,
/* 1040 */
301
,
127
,
244
,
209
,
242
,
232
,
243
,
209
,
246
,
57
,
/* 1040 */
219
,
204
,
253
,
232
,
202
,
242
,
0
,
0
,
60
,
246
,
/* 1050 */
2
21
,
225
,
69
,
61
,
204
,
214
,
57
,
214
,
232
,
232
,
/* 1050 */
2
04
,
38
,
249
,
242
,
0
,
151
,
294
,
246
,
38
,
38
,
/* 1060 */
61
,
228
,
210
,
206
,
262
,
263
,
264
,
265
,
242
,
209
,
/* 1060 */
38
,
151
,
225
,
0
,
38
,
262
,
263
,
264
,
265
,
232
,
/* 1070 */
219
,
253
,
246
,
211
,
82
,
225
,
0
,
219
,
204
,
20
2
,
/* 1070 */
38
,
225
,
151
,
262
,
263
,
264
,
265
,
204
,
232
,
24
2
,
/* 1080 */
0
,
82
,
232
,
60
,
0
,
38
,
151
,
38
,
262
,
263
,
/* 1080 */
0
,
38
,
0
,
246
,
0
,
204
,
38
,
69
,
242
,
142
,
/* 1090 */
264
,
265
,
242
,
101
,
102
,
103
,
246
,
105
,
38
,
225
,
/* 1090 */
141
,
104
,
246
,
138
,
0
,
0
,
134
,
0
,
225
,
262
,
/* 1100 */
101
,
102
,
103
,
38
,
105
,
151
,
232
,
204
,
0
,
38
,
/* 1100 */
263
,
264
,
265
,
50
,
0
,
232
,
225
,
0
,
262
,
263
,
/* 1110 */
38
,
151
,
262
,
263
,
264
,
265
,
242
,
0
,
0
,
38
,
/* 1110 */
264
,
265
,
81
,
232
,
0
,
242
,
0
,
0
,
0
,
246
,
/* 1120 */
246
,
38
,
0
,
69
,
142
,
141
,
104
,
138
,
225
,
0
,
/* 1120 */
0
,
204
,
0
,
242
,
0
,
0
,
204
,
246
,
0
,
0
,
/* 1130 */
0
,
134
,
50
,
204
,
0
,
232
,
262
,
263
,
264
,
265
,
/* 1130 */
0
,
0
,
115
,
0
,
0
,
262
,
263
,
264
,
265
,
0
,
/* 1140 */
0
,
204
,
81
,
0
,
0
,
242
,
0
,
0
,
0
,
246
,
/* 1140 */
0
,
0
,
225
,
262
,
263
,
264
,
265
,
225
,
0
,
232
,
/* 1150 */
0
,
0
,
0
,
0
,
2
25
,
0
,
0
,
0
,
0
,
115
,
/* 1150 */
0
,
0
,
0
,
0
,
2
32
,
0
,
0
,
22
,
0
,
242
,
/* 1160 */
0
,
232
,
225
,
0
,
0
,
262
,
263
,
264
,
265
,
232
,
/* 1160 */
0
,
0
,
204
,
246
,
242
,
0
,
43
,
204
,
246
,
48
,
/* 1170 */
0
,
242
,
0
,
0
,
0
,
246
,
204
,
0
,
0
,
24
2
,
/* 1170 */
0
,
0
,
0
,
204
,
38
,
43
,
0
,
0
,
36
,
26
2
,
/* 1180 */
0
,
22
,
204
,
246
,
0
,
0
,
0
,
0
,
0
,
0
,
/* 1180 */
263
,
264
,
265
,
225
,
262
,
263
,
264
,
265
,
225
,
0
,
/* 1190 */
48
,
262
,
263
,
264
,
265
,
0
,
0
,
225
,
0
,
262
,
/* 1190 */
232
,
78
,
38
,
67
,
225
,
232
,
22
,
0
,
0
,
0
,
/* 1200 */
2
63
,
264
,
265
,
225
,
232
,
43
,
38
,
36
,
43
,
0
,
/* 1200 */
2
42
,
232
,
0
,
76
,
246
,
242
,
38
,
38
,
22
,
246
,
/* 1210 */
232
,
204
,
0
,
0
,
242
,
78
,
67
,
204
,
246
,
38
,
/* 1210 */
22
,
242
,
39
,
38
,
204
,
246
,
38
,
38
,
38
,
0
,
/* 1220 */
2
42
,
76
,
22
,
0
,
246
,
0
,
22
,
0
,
38
,
38
,
/* 1220 */
2
62
,
263
,
264
,
265
,
0
,
262
,
263
,
264
,
265
,
204
,
/* 1230 */
38
,
38
,
225
,
22
,
262
,
263
,
264
,
265
,
225
,
232
,
/* 1230 */
22
,
262
,
263
,
264
,
265
,
225
,
0
,
22
,
12
,
13
,
/* 1240 */
2
62
,
263
,
264
,
265
,
38
,
232
,
38
,
0
,
22
,
242
,
/* 1240 */
2
04
,
38
,
232
,
0
,
22
,
20
,
0
,
147
,
22
,
130
,
/* 1250 */
0
,
22
,
38
,
246
,
39
,
242
,
0
,
22
,
20
,
246
,
/* 1250 */
225
,
38
,
242
,
0
,
22
,
204
,
246
,
232
,
143
,
57
,
/* 1260 */
0
,
130
,
147
,
204
,
0
,
22
,
38
,
143
,
130
,
262
,
/* 1260 */
22
,
225
,
0
,
61
,
38
,
127
,
0
,
242
,
232
,
0
,
/* 1270 */
263
,
264
,
265
,
0
,
0
,
262
,
263
,
264
,
265
,
0
,
/* 1270 */
38
,
246
,
262
,
263
,
264
,
265
,
225
,
130
,
242
,
13
0
,
/* 1280 */
43
,
127
,
180
,
81
,
225
,
69
,
125
,
67
,
67
,
70
,
/* 1280 */
4
,
57
,
246
,
232
,
82
,
61
,
69
,
262
,
263
,
264
,
/* 1290 */
180
,
232
,
70
,
69
,
174
,
4
,
130
,
67
,
81
,
81
,
/* 1290 */
265
,
43
,
125
,
242
,
67
,
19
,
67
,
246
,
262
,
263
,
/* 1300 */
69
,
242
,
70
,
69
,
38
,
246
,
70
,
67
,
69
,
67
,
/* 1300 */
264
,
265
,
67
,
101
,
102
,
103
,
82
,
105
,
69
,
33
,
/* 1310 */
38
,
70
,
67
,
180
,
70
,
67
,
70
,
2
,
38
,
38
,
/* 1310 */
70
,
70
,
36
,
262
,
263
,
264
,
265
,
41
,
92
,
69
,
/* 1320 */
38
,
262
,
263
,
264
,
265
,
38
,
0
,
70
,
69
,
128
,
/* 1320 */
44
,
70
,
70
,
180
,
92
,
101
,
102
,
103
,
69
,
105
,
/* 1330 */
1
55
,
69
,
81
,
70
,
79
,
70
,
69
,
69
,
69
,
43
,
/* 1330 */
1
04
,
67
,
69
,
174
,
67
,
81
,
104
,
180
,
70
,
81
,
/* 1340 */
69
,
22
,
81
,
38
,
69
,
38
,
38
,
70
,
70
,
38
,
/* 1340 */
70
,
67
,
81
,
70
,
68
,
67
,
180
,
71
,
4
,
38
,
/* 1350 */
38
,
81
,
69
,
69
,
38
,
70
,
80
,
69
,
125
,
70
,
/* 1350 */
38
,
38
,
38
,
38
,
38
,
2
,
155
,
70
,
81
,
69
,
/* 1360 */
70
,
69
,
69
,
22
,
22
,
38
,
38
,
69
,
48
,
47
,
/* 1360 */
69
,
128
,
70
,
70
,
138
,
69
,
69
,
69
,
0
,
43
,
/* 1370 */
69
,
69
,
22
,
38
,
38
,
38
,
38
,
38
,
38
,
22
,
/* 1370 */
138
,
69
,
125
,
79
,
22
,
69
,
81
,
70
,
38
,
38
,
/* 1380 */
94
,
82
,
38
,
38
,
38
,
38
,
38
,
38
,
94
,
94
,
/* 1380 */
81
,
155
,
156
,
80
,
38
,
38
,
69
,
155
,
156
,
70
,
/* 1390 */
38
,
94
,
38
,
38
,
38
,
0
,
38
,
36
,
0
,
0
,
/* 1390 */
69
,
22
,
70
,
69
,
38
,
70
,
69
,
38
,
70
,
69
,
/* 1400 */
38
,
37
,
43
,
0
,
104
,
22
,
21
,
304
,
22
,
22
,
/* 1400 */
69
,
38
,
94
,
94
,
94
,
82
,
69
,
69
,
104
,
38
,
/* 1410 */
2
1
,
20
,
304
,
304
,
304
,
304
,
304
,
304
,
304
,
304
,
/* 1410 */
2
2
,
47
,
94
,
48
,
22
,
38
,
38
,
38
,
38
,
38
,
/* 1420 */
304
,
304
,
304
,
304
,
304
,
304
,
304
,
304
,
304
,
304
,
/* 1420 */
38
,
38
,
22
,
38
,
38
,
38
,
0
,
38
,
38
,
38
,
/* 1430 */
304
,
304
,
304
,
304
,
304
,
304
,
304
,
304
,
304
,
304
,
/* 1430 */
0
,
38
,
38
,
38
,
38
,
36
,
38
,
0
,
37
,
0
,
/* 1440 */
304
,
304
,
304
,
304
,
304
,
304
,
304
,
304
,
304
,
304
,
/* 1440 */
43
,
22
,
21
,
304
,
22
,
22
,
21
,
20
,
304
,
304
,
/* 1450 */
304
,
304
,
304
,
304
,
304
,
304
,
304
,
304
,
304
,
304
,
/* 1450 */
304
,
304
,
304
,
304
,
304
,
304
,
304
,
304
,
304
,
304
,
/* 1460 */
304
,
304
,
304
,
304
,
304
,
304
,
304
,
304
,
304
,
304
,
/* 1460 */
304
,
304
,
304
,
304
,
304
,
304
,
304
,
304
,
304
,
304
,
/* 1470 */
304
,
304
,
304
,
304
,
304
,
304
,
304
,
304
,
304
,
304
,
/* 1470 */
304
,
304
,
304
,
304
,
304
,
304
,
304
,
304
,
304
,
304
,
...
@@ -516,145 +519,148 @@ static const YYCODETYPE yy_lookahead[] = {
...
@@ -516,145 +519,148 @@ static const YYCODETYPE yy_lookahead[] = {
/* 1580 */
304
,
304
,
304
,
304
,
304
,
304
,
304
,
304
,
304
,
304
,
/* 1580 */
304
,
304
,
304
,
304
,
304
,
304
,
304
,
304
,
304
,
304
,
/* 1590 */
304
,
304
,
304
,
304
,
304
,
304
,
304
,
304
,
304
,
304
,
/* 1590 */
304
,
304
,
304
,
304
,
304
,
304
,
304
,
304
,
304
,
304
,
/* 1600 */
304
,
304
,
304
,
304
,
304
,
304
,
304
,
304
,
304
,
304
,
/* 1600 */
304
,
304
,
304
,
304
,
304
,
304
,
304
,
304
,
304
,
304
,
/* 1610 */
304
,
304
,
304
,
/* 1610 */
304
,
304
,
304
,
304
,
304
,
304
,
304
,
304
,
304
,
304
,
/* 1620 */
304
,
304
,
304
,
304
,
304
,
304
,
304
,
304
,
304
,
304
,
/* 1630 */
304
,
304
,
304
,
304
,
304
,
304
,
304
,
304
,
304
,
304
,
/* 1640 */
304
,
304
,
304
,
304
,
304
,
304
,
304
,
304
,
304
,
};
};
#define YY_SHIFT_COUNT (51
1
)
#define YY_SHIFT_COUNT (51
0
)
#define YY_SHIFT_MIN (0)
#define YY_SHIFT_MIN (0)
#define YY_SHIFT_MAX (14
03
)
#define YY_SHIFT_MAX (14
39
)
static
const
unsigned
short
int
yy_shift_ofst
[]
=
{
static
const
unsigned
short
int
yy_shift_ofst
[]
=
{
/* 0 */
176
,
246
,
344
,
357
,
357
,
357
,
357
,
468
,
357
,
357
,
/* 0 */
598
,
0
,
39
,
78
,
78
,
78
,
78
,
234
,
78
,
78
,
/* 10 */
600
,
650
,
76
,
567
,
600
,
600
,
600
,
600
,
600
,
600
,
/* 10 */
312
,
468
,
120
,
273
,
312
,
312
,
312
,
312
,
312
,
312
,
/* 20 */
600
,
600
,
600
,
600
,
600
,
600
,
600
,
600
,
600
,
600
,
/* 20 */
312
,
312
,
312
,
312
,
312
,
312
,
312
,
312
,
312
,
312
,
/* 30 */
600
,
600
,
600
,
312
,
312
,
312
,
163
,
639
,
639
,
59
,
/* 30 */
312
,
312
,
312
,
206
,
206
,
206
,
159
,
1226
,
1226
,
34
,
/* 40 */
49
,
49
,
5
,
639
,
49
,
49
,
49
,
49
,
49
,
49
,
/* 40 */
81
,
81
,
125
,
1226
,
81
,
81
,
81
,
81
,
81
,
81
,
/* 50 */
83
,
129
,
138
,
138
,
5
,
177
,
129
,
49
,
49
,
129
,
/* 50 */
360
,
395
,
465
,
465
,
125
,
529
,
395
,
81
,
81
,
395
,
/* 60 */
49
,
129
,
177
,
129
,
129
,
49
,
185
,
0
,
19
,
78
,
/* 60 */
81
,
395
,
529
,
395
,
395
,
81
,
512
,
148
,
431
,
411
,
/* 70 */
78
,
74
,
806
,
256
,
93
,
256
,
256
,
256
,
256
,
256
,
/* 70 */
411
,
252
,
425
,
1232
,
240
,
1232
,
1232
,
1232
,
1232
,
1232
,
/* 80 */
256
,
256
,
256
,
256
,
256
,
256
,
256
,
256
,
256
,
256
,
/* 80 */
1232
,
1232
,
1232
,
1232
,
1232
,
1232
,
1232
,
1232
,
1232
,
1232
,
/* 90 */
256
,
256
,
256
,
256
,
518
,
399
,
334
,
334
,
334
,
498
,
/* 90 */
1232
,
1232
,
1232
,
1232
,
38
,
409
,
23
,
23
,
23
,
650
,
/* 100 */
220
,
177
,
129
,
129
,
129
,
189
,
79
,
79
,
79
,
79
,
/* 100 */
568
,
529
,
395
,
395
,
395
,
597
,
271
,
271
,
271
,
271
,
/* 110 */
79
,
79
,
645
,
22
,
314
,
405
,
133
,
222
,
31
,
507
,
/* 110 */
271
,
271
,
809
,
288
,
402
,
372
,
119
,
477
,
63
,
663
,
/* 120 */
500
,
481
,
252
,
481
,
553
,
505
,
526
,
761
,
750
,
755
,
/* 120 */
432
,
444
,
267
,
444
,
595
,
533
,
537
,
775
,
771
,
779
,
/* 130 */
6
62
,
761
,
761
,
697
,
700
,
700
,
761
,
820
,
177
,
854
,
/* 130 */
6
86
,
775
,
775
,
715
,
711
,
711
,
775
,
828
,
529
,
854
,
/* 140 */
83
,
220
,
869
,
83
,
83
,
761
,
83
,
884
,
129
,
129
,
/* 140 */
360
,
568
,
858
,
360
,
360
,
775
,
360
,
877
,
395
,
395
,
/* 150 */
129
,
129
,
129
,
129
,
129
,
129
,
129
,
129
,
129
,
755
,
/* 150 */
395
,
395
,
395
,
395
,
395
,
395
,
395
,
395
,
395
,
779
,
/* 160 */
7
55
,
761
,
884
,
220
,
820
,
796
,
177
,
854
,
185
,
220
,
/* 160 */
7
79
,
775
,
877
,
568
,
828
,
783
,
529
,
854
,
512
,
568
,
/* 170 */
8
69
,
185
,
927
,
766
,
775
,
800
,
766
,
775
,
800
,
800
,
/* 170 */
8
58
,
512
,
911
,
757
,
761
,
796
,
757
,
761
,
796
,
796
,
/* 180 */
76
9
,
780
,
805
,
797
,
812
,
220
,
970
,
880
,
815
,
825
,
/* 180 */
76
8
,
782
,
795
,
799
,
804
,
568
,
961
,
867
,
788
,
790
,
/* 190 */
830
,
957
,
129
,
775
,
800
,
800
,
775
,
800
,
914
,
220
,
/* 190 */
797
,
926
,
395
,
761
,
796
,
796
,
761
,
796
,
874
,
568
,
/* 200 */
8
69
,
185
,
189
,
185
,
220
,
983
,
755
,
755
,
761
,
185
,
/* 200 */
8
58
,
512
,
597
,
512
,
568
,
948
,
779
,
779
,
775
,
512
,
/* 210 */
8
84
,
1412
,
1412
,
1412
,
1412
,
1412
,
21
,
811
,
108
,
950
,
/* 210 */
8
77
,
1448
,
1448
,
1448
,
1448
,
1448
,
605
,
578
,
491
,
1276
,
/* 220 */
992
,
999
,
191
,
602
,
308
,
821
,
44
,
44
,
44
,
44
,
/* 220 */
1202
,
1224
,
16
,
108
,
333
,
136
,
136
,
136
,
136
,
136
,
/* 230 */
44
,
44
,
44
,
450
,
277
,
395
,
331
,
112
,
112
,
112
,
/* 230 */
136
,
136
,
149
,
36
,
482
,
426
,
359
,
359
,
359
,
359
,
/* 240 */
112
,
291
,
85
,
576
,
623
,
634
,
635
,
636
,
714
,
715
,
/* 240 */
383
,
361
,
608
,
622
,
624
,
659
,
667
,
590
,
734
,
747
,
/* 250 */
717
,
724
,
651
,
680
,
682
,
693
,
530
,
593
,
607
,
708
,
/* 250 */
681
,
669
,
701
,
706
,
646
,
522
,
621
,
586
,
720
,
643
,
/* 260 */
673
,
709
,
672
,
729
,
744
,
746
,
772
,
776
,
50
,
713
,
/* 260 */
721
,
100
,
722
,
726
,
744
,
751
,
764
,
668
,
737
,
785
,
/* 270 */
78
4
,
790
,
795
,
817
,
823
,
828
,
656
,
1076
,
1080
,
1023
,
/* 270 */
78
7
,
791
,
792
,
816
,
817
,
184
,
1046
,
1047
,
988
,
1054
,
/* 280 */
10
84
,
1047
,
935
,
1049
,
1060
,
1065
,
954
,
1108
,
1071
,
1072
,
/* 280 */
10
13
,
904
,
1020
,
1021
,
1022
,
910
,
1063
,
1026
,
1032
,
921
,
/* 290 */
960
,
1117
,
1081
,
1118
,
1083
,
1122
,
1054
,
982
,
984
,
1022
,
/* 290 */
1080
,
1043
,
1082
,
1048
,
1084
,
1018
,
947
,
949
,
987
,
955
,
/* 300 */
989
,
1129
,
1130
,
1082
,
997
,
1134
,
1140
,
1061
,
1143
,
1144
,
/* 300 */
1094
,
1095
,
1053
,
962
,
1097
,
1104
,
1031
,
1107
,
1114
,
1116
,
/* 310 */
11
46
,
1147
,
1148
,
1150
,
1151
,
1152
,
1153
,
1155
,
1156
,
1157
,
/* 310 */
11
17
,
1118
,
1120
,
1122
,
1124
,
1125
,
1128
,
1129
,
1130
,
1131
,
/* 320 */
1
158
,
1044
,
1160
,
1163
,
1164
,
1170
,
1172
,
1173
,
1159
,
1174
,
/* 320 */
1
017
,
1133
,
1134
,
1139
,
1140
,
1141
,
1148
,
1135
,
1150
,
1151
,
/* 330 */
11
77
,
1178
,
1180
,
1184
,
1185
,
1186
,
1187
,
1188
,
1162
,
1189
,
/* 330 */
11
52
,
1153
,
1155
,
1156
,
1158
,
1160
,
1161
,
1123
,
1165
,
1121
,
/* 340 */
11
42
,
1195
,
1196
,
1168
,
1171
,
1165
,
1198
,
1209
,
1212
,
12
13
,
/* 340 */
11
70
,
1171
,
1136
,
1142
,
1132
,
1172
,
1176
,
1177
,
1189
,
11
13
,
/* 350 */
11
37
,
1145
,
1181
,
1149
,
1200
,
1223
,
1190
,
1191
,
1192
,
1193
,
/* 350 */
11
27
,
1154
,
1126
,
1174
,
1197
,
1168
,
1169
,
1175
,
1178
,
1126
,
/* 360 */
11
49
,
1206
,
1208
,
1225
,
1204
,
1227
,
1211
,
1215
,
1247
,
1226
,
/* 360 */
11
79
,
1180
,
1198
,
1186
,
1199
,
1188
,
1173
,
1219
,
1208
,
1203
,
/* 370 */
12
14
,
1250
,
1229
,
1256
,
1235
,
1238
,
1260
,
1131
,
1115
,
1228
,
/* 370 */
12
36
,
1215
,
1243
,
1222
,
1225
,
1246
,
1119
,
1100
,
1213
,
1253
,
/* 380 */
1
264
,
1124
,
1243
,
1138
,
1154
,
1273
,
1274
,
1166
,
1279
,
1216
,
/* 380 */
1
115
,
1238
,
1147
,
1138
,
1262
,
1266
,
1149
,
1269
,
1217
,
1248
,
/* 390 */
1
237
,
1161
,
1220
,
1221
,
1102
,
1219
,
1230
,
1222
,
1224
,
123
1
,
/* 390 */
1
167
,
1227
,
1229
,
1143
,
1240
,
1235
,
1241
,
1239
,
1250
,
125
1
,
/* 400 */
12
32
,
1234
,
1236
,
1240
,
1202
,
1239
,
1242
,
1110
,
1241
,
1244
,
/* 400 */
12
59
,
1252
,
1264
,
1254
,
1263
,
1267
,
1157
,
1268
,
1270
,
1258
,
/* 410 */
1
217
,
1120
,
1245
,
1218
,
1246
,
1248
,
1133
,
1291
,
1266
,
1272
,
/* 410 */
1
159
,
1274
,
1261
,
1273
,
1278
,
1166
,
1344
,
1311
,
1312
,
1313
,
/* 420 */
1
280
,
1281
,
1282
,
1287
,
1315
,
1175
,
1251
,
1257
,
1259
,
126
2
,
/* 420 */
1
314
,
1315
,
1316
,
1353
,
1201
,
1277
,
1287
,
1290
,
1291
,
129
2
,
/* 430 */
12
63
,
1265
,
1267
,
1268
,
1201
,
1269
,
1326
,
1296
,
1233
,
1271
,
/* 430 */
12
93
,
1296
,
1297
,
1233
,
1298
,
1368
,
1326
,
1247
,
1302
,
1294
,
/* 440 */
12
55
,
1261
,
1270
,
1319
,
1275
,
1276
,
1277
,
1305
,
1307
,
1283
,
/* 440 */
12
95
,
1299
,
1352
,
1306
,
1303
,
1307
,
1340
,
1341
,
1317
,
1319
,
/* 450 */
1
278
,
1308
,
1284
,
1285
,
1311
,
1288
,
1289
,
1312
,
1292
,
1290
,
/* 450 */
1
346
,
1321
,
1322
,
1347
,
1324
,
1325
,
1356
,
1327
,
1328
,
1359
,
/* 460 */
13
16
,
1293
,
1286
,
1294
,
1295
,
1297
,
1341
,
1299
,
1298
,
1327
,
/* 460 */
13
30
,
1308
,
1309
,
1310
,
1318
,
1369
,
1323
,
1331
,
1363
,
1304
,
/* 470 */
13
00
,
1301
,
1302
,
1328
,
1149
,
1342
,
1320
,
1322
,
1350
,
1335
,
/* 470 */
13
37
,
1338
,
1371
,
1126
,
1388
,
1365
,
1364
,
1392
,
1377
,
1378
,
/* 480 */
13
36
,
1337
,
1338
,
1339
,
1340
,
1344
,
1357
,
1345
,
1149
,
1346
,
/* 480 */
13
79
,
1380
,
1381
,
1382
,
1383
,
1400
,
1385
,
1126
,
1386
,
1387
,
/* 490 */
13
47
,
1348
,
1349
,
1352
,
1354
,
1355
,
1356
,
1395
,
1358
,
1361
,
/* 490 */
13
89
,
1390
,
1391
,
1393
,
1394
,
1395
,
1426
,
1396
,
1399
,
1397
,
/* 500 */
1
359
,
1398
,
1362
,
1364
,
1399
,
1403
,
1383
,
1385
,
1386
,
1387
,
/* 500 */
1
430
,
1398
,
1401
,
1437
,
1439
,
1419
,
1421
,
1422
,
1423
,
1425
,
/* 510 */
1
389
,
1391
,
/* 510 */
1
427
,
};
};
#define YY_REDUCE_COUNT (215)
#define YY_REDUCE_COUNT (215)
#define YY_REDUCE_MIN (-2
6
6)
#define YY_REDUCE_MIN (-2
2
6)
#define YY_REDUCE_MAX (105
9
)
#define YY_REDUCE_MAX (105
1
)
static
const
short
yy_reduce_ofst
[]
=
{
static
const
short
yy_reduce_ofst
[]
=
{
/* 0 */
227
,
-
9
,
71
,
168
,
221
,
285
,
329
,
403
,
35
,
502
,
/* 0 */
-
180
,
262
,
495
,
-
198
,
-
58
,
447
,
538
,
574
,
-
129
,
601
,
/* 10 */
558
,
606
,
550
,
660
,
669
,
703
,
739
,
747
,
773
,
212
,
/* 10 */
656
,
-
14
,
617
,
700
,
705
,
762
,
176
,
767
,
803
,
811
,
/* 20 */
300
,
802
,
826
,
850
,
874
,
903
,
929
,
937
,
972
,
978
,
/* 20 */
837
,
846
,
873
,
881
,
917
,
922
,
958
,
963
,
969
,
1010
,
/* 30 */
10
07
,
1013
,
1059
,
-
50
,
113
,
309
,
-
10
,
-
222
,
-
218
,
-
19
,
/* 30 */
10
25
,
1036
,
1051
,
-
195
,
-
170
,
-
147
,
197
,
-
213
,
-
204
,
41
,
/* 40 */
-
20
7
,
-
206
,
358
,
-
246
,
-
187
,
-
101
,
-
86
,
-
59
,
-
2
,
55
,
/* 40 */
-
20
9
,
-
206
,
247
,
-
132
,
-
208
,
-
175
,
-
1
,
11
,
111
,
121
,
/* 50 */
80
,
-
217
,
-
84
,
119
,
161
,
-
181
,
-
16
,
115
,
143
,
21
6
,
/* 50 */
318
,
-
142
,
-
176
,
-
40
,
118
,
-
62
,
-
214
,
189
,
335
,
-
6
,
/* 60 */
3
66
,
190
,
-
179
,
226
,
290
,
416
,
215
,
-
195
,
-
266
,
-
26
6
,
/* 60 */
3
54
,
232
,
110
,
97
,
314
,
355
,
-
55
,
-
201
,
-
156
,
-
15
6
,
/* 70 */
-
266
,
33
,
174
,
18
,
193
,
24
,
183
,
293
,
307
,
324
,
/* 70 */
-
156
,
173
,
-
185
,
-
107
,
126
,
208
,
259
,
308
,
310
,
339
,
/* 80 */
36
5
,
373
,
393
,
404
,
427
,
429
,
430
,
433
,
437
,
438
,
/* 80 */
36
2
,
371
,
388
,
389
,
390
,
391
,
406
,
434
,
435
,
436
,
/* 90 */
4
54
,
482
,
486
,
487
,
-
202
,
137
,
274
,
318
,
343
,
420
,
/* 90 */
4
37
,
438
,
440
,
441
,
122
,
281
,
329
,
413
,
414
,
467
,
/* 100 */
351
,
-
204
,
-
15
,
299
,
457
,
-
153
,
48
,
86
,
120
,
154
,
/* 100 */
-
10
,
172
,
65
,
-
149
,
338
,
161
,
-
226
,
-
221
,
387
,
490
,
/* 110 */
224
,
253
,
251
,
338
,
353
,
257
,
387
,
466
,
453
,
554
,
/* 110 */
497
,
500
,
454
,
539
,
530
,
451
,
456
,
519
,
475
,
548
,
/* 120 */
50
8
,
483
,
483
,
483
,
545
,
484
,
501
,
575
,
535
,
583
,
/* 120 */
50
3
,
501
,
501
,
501
,
552
,
487
,
511
,
587
,
555
,
599
,
/* 130 */
5
56
,
592
,
608
,
579
,
612
,
618
,
620
,
605
,
624
,
625
,
/* 130 */
5
71
,
614
,
619
,
592
,
602
,
606
,
636
,
594
,
628
,
625
,
/* 140 */
664
,
6
54
,
653
,
685
,
687
,
690
,
691
,
699
,
683
,
688
,
/* 140 */
664
,
6
47
,
642
,
677
,
678
,
685
,
679
,
694
,
676
,
680
,
/* 150 */
68
9
,
692
,
694
,
695
,
696
,
701
,
702
,
704
,
705
,
698
,
/* 150 */
68
2
,
683
,
688
,
689
,
690
,
692
,
697
,
698
,
699
,
712
,
/* 160 */
7
23
,
706
,
733
,
678
,
686
,
707
,
710
,
711
,
735
,
716
,
/* 160 */
7
13
,
693
,
723
,
674
,
655
,
684
,
691
,
695
,
725
,
704
,
/* 170 */
7
12
,
737
,
719
,
661
,
726
,
728
,
667
,
731
,
730
,
736
,
/* 170 */
7
07
,
731
,
687
,
651
,
714
,
727
,
666
,
728
,
730
,
732
,
/* 180 */
67
4
,
720
,
721
,
732
,
483
,
756
,
740
,
741
,
722
,
718
,
/* 180 */
67
1
,
696
,
702
,
708
,
501
,
748
,
729
,
710
,
703
,
716
,
/* 190 */
72
7
,
759
,
545
,
782
,
785
,
786
,
792
,
787
,
798
,
81
3
,
/* 190 */
72
4
,
733
,
552
,
749
,
745
,
752
,
750
,
754
,
759
,
77
3
,
/* 200 */
803
,
834
,
829
,
838
,
827
,
833
,
841
,
843
,
852
,
860
,
/* 200 */
769
,
801
,
798
,
802
,
786
,
794
,
806
,
819
,
813
,
825
,
/* 210 */
8
57
,
818
,
851
,
858
,
862
,
877
,
/* 210 */
8
31
,
789
,
820
,
821
,
827
,
842
,
};
};
static
const
YYACTIONTYPE
yy_default
[]
=
{
static
const
YYACTIONTYPE
yy_default
[]
=
{
/* 0 */
115
1
,
1151
,
1151
,
1151
,
1151
,
1151
,
1151
,
1151
,
1151
,
1151
,
/* 0 */
115
2
,
1152
,
1152
,
1152
,
1152
,
1152
,
1152
,
1152
,
1152
,
1152
,
/* 10 */
115
1
,
1151
,
1151
,
1151
,
1151
,
1151
,
1151
,
1151
,
1151
,
1151
,
/* 10 */
115
2
,
1152
,
1152
,
1152
,
1152
,
1152
,
1152
,
1152
,
1152
,
1152
,
/* 20 */
115
1
,
1151
,
1151
,
1151
,
1151
,
1151
,
1151
,
1151
,
1151
,
1151
,
/* 20 */
115
2
,
1152
,
1152
,
1152
,
1152
,
1152
,
1152
,
1152
,
1152
,
1152
,
/* 30 */
115
1
,
1151
,
1151
,
1151
,
1151
,
1151
,
1151
,
1151
,
1151
,
1151
,
/* 30 */
115
2
,
1152
,
1152
,
1152
,
1152
,
1152
,
1152
,
1152
,
1152
,
1152
,
/* 40 */
115
1
,
1151
,
1151
,
1151
,
1151
,
1151
,
1151
,
1151
,
1151
,
1151
,
/* 40 */
115
2
,
1152
,
1152
,
1152
,
1152
,
1152
,
1152
,
1152
,
1152
,
1152
,
/* 50 */
120
4
,
1151
,
1151
,
1151
,
1151
,
1151
,
1151
,
1151
,
1151
,
1151
,
/* 50 */
120
5
,
1152
,
1152
,
1152
,
1152
,
1152
,
1152
,
1152
,
1152
,
1152
,
/* 60 */
115
1
,
1151
,
1151
,
1151
,
1151
,
1151
,
1202
,
1331
,
1151
,
1462
,
/* 60 */
115
2
,
1152
,
1152
,
1152
,
1152
,
1152
,
1203
,
1332
,
1152
,
1464
,
/* 70 */
115
1
,
1151
,
1151
,
1151
,
1151
,
1151
,
1151
,
1151
,
1151
,
1151
,
/* 70 */
115
2
,
1152
,
1152
,
1152
,
1152
,
1152
,
1152
,
1152
,
1152
,
1152
,
/* 80 */
115
1
,
1151
,
1151
,
1151
,
1151
,
1151
,
1151
,
1151
,
1151
,
1151
,
/* 80 */
115
2
,
1152
,
1152
,
1152
,
1152
,
1152
,
1152
,
1152
,
1152
,
1152
,
/* 90 */
115
1
,
1151
,
1151
,
1151
,
1151
,
1204
,
1473
,
1473
,
1473
,
1202
,
/* 90 */
115
2
,
1152
,
1152
,
1152
,
1152
,
1205
,
1475
,
1475
,
1475
,
1203
,
/* 100 */
115
1
,
1151
,
1151
,
1151
,
1151
,
1289
,
1151
,
1151
,
1151
,
1151
,
/* 100 */
115
2
,
1152
,
1152
,
1152
,
1152
,
1290
,
1152
,
1152
,
1152
,
1152
,
/* 110 */
115
1
,
1151
,
1365
,
1151
,
1151
,
1537
,
1151
,
1242
,
1497
,
1151
,
/* 110 */
115
2
,
1152
,
1366
,
1152
,
1152
,
1539
,
1152
,
1243
,
1499
,
1152
,
/* 120 */
14
89
,
1465
,
1479
,
1466
,
1151
,
1522
,
1482
,
1151
,
1151
,
1151
,
/* 120 */
14
91
,
1467
,
1481
,
1468
,
1152
,
1524
,
1484
,
1152
,
1152
,
1152
,
/* 130 */
135
7
,
1151
,
1151
,
1336
,
1333
,
1333
,
1151
,
1151
,
1151
,
1151
,
/* 130 */
135
8
,
1152
,
1152
,
1337
,
1334
,
1334
,
1152
,
1152
,
1152
,
1152
,
/* 140 */
120
4
,
1151
,
1151
,
1204
,
1204
,
1151
,
1204
,
1151
,
1151
,
1151
,
/* 140 */
120
5
,
1152
,
1152
,
1205
,
1205
,
1152
,
1205
,
1152
,
1152
,
1152
,
/* 150 */
115
1
,
1151
,
1151
,
1151
,
1151
,
1151
,
1151
,
1151
,
1151
,
1151
,
/* 150 */
115
2
,
1152
,
1152
,
1152
,
1152
,
1152
,
1152
,
1152
,
1152
,
1152
,
/* 160 */
115
1
,
1151
,
1151
,
1151
,
1151
,
1367
,
1151
,
1151
,
1202
,
1151
,
/* 160 */
115
2
,
1152
,
1152
,
1152
,
1152
,
1368
,
1152
,
1152
,
1203
,
1152
,
/* 170 */
115
1
,
1202
,
1151
,
1504
,
1502
,
1151
,
1504
,
1502
,
1151
,
1151
,
/* 170 */
115
2
,
1203
,
1152
,
1506
,
1504
,
1152
,
1506
,
1504
,
1152
,
1152
,
/* 180 */
151
6
,
1512
,
1495
,
1493
,
1479
,
1151
,
1151
,
1151
,
1540
,
1528
,
/* 180 */
151
8
,
1514
,
1497
,
1495
,
1481
,
1152
,
1152
,
1152
,
1542
,
1530
,
/* 190 */
152
4
,
1151
,
1151
,
1502
,
1151
,
1151
,
1502
,
1151
,
1344
,
1151
,
/* 190 */
152
6
,
1152
,
1152
,
1504
,
1152
,
1152
,
1504
,
1152
,
1345
,
1152
,
/* 200 */
115
1
,
1202
,
1151
,
1202
,
1151
,
1258
,
1151
,
1151
,
1151
,
1202
,
/* 200 */
115
2
,
1203
,
1152
,
1203
,
1152
,
1259
,
1152
,
1152
,
1152
,
1203
,
/* 210 */
115
1
,
1359
,
1292
,
1292
,
1205
,
1156
,
1151
,
1151
,
1151
,
1151
,
/* 210 */
115
2
,
1360
,
1293
,
1293
,
1206
,
1157
,
1152
,
1152
,
1152
,
1152
,
/* 220 */
115
1
,
1151
,
1151
,
1151
,
1151
,
1151
,
1427
,
1515
,
1514
,
1426
,
/* 220 */
115
2
,
1152
,
1152
,
1152
,
1152
,
1428
,
1517
,
1516
,
1427
,
1441
,
/* 230 */
14
39
,
1438
,
1437
,
1151
,
1151
,
1151
,
1151
,
1421
,
1422
,
1420
,
/* 230 */
14
40
,
1439
,
1152
,
1152
,
1152
,
1152
,
1422
,
1423
,
1421
,
1420
,
/* 240 */
1
419
,
1151
,
1151
,
1151
,
1151
,
1151
,
1151
,
1151
,
1151
,
1151
,
/* 240 */
1
152
,
1152
,
1152
,
1152
,
1152
,
1152
,
1152
,
1152
,
1152
,
1152
,
/* 250 */
115
1
,
1151
,
1151
,
1151
,
1151
,
1463
,
1151
,
1525
,
1529
,
1151
,
/* 250 */
115
2
,
1152
,
1152
,
1152
,
1465
,
1152
,
1527
,
1531
,
1152
,
1152
,
/* 260 */
115
1
,
1151
,
1404
,
1151
,
1151
,
1151
,
1151
,
1151
,
1151
,
1151
,
/* 260 */
115
2
,
1405
,
1152
,
1152
,
1152
,
1152
,
1152
,
1152
,
1152
,
1152
,
/* 270 */
115
1
,
1151
,
1151
,
1151
,
1151
,
1151
,
1151
,
1151
,
1151
,
1151
,
/* 270 */
115
2
,
1152
,
1152
,
1152
,
1152
,
1152
,
1152
,
1152
,
1152
,
1152
,
/* 280 */
115
1
,
1151
,
1151
,
1151
,
1151
,
1151
,
1151
,
1151
,
1151
,
1151
,
/* 280 */
115
2
,
1152
,
1152
,
1152
,
1152
,
1152
,
1152
,
1152
,
1152
,
1152
,
/* 290 */
115
1
,
1151
,
1151
,
1151
,
1151
,
1151
,
1151
,
1151
,
1151
,
1151
,
/* 290 */
115
2
,
1152
,
1152
,
1152
,
1152
,
1152
,
1152
,
1152
,
1152
,
1152
,
/* 300 */
115
1
,
1151
,
1151
,
1151
,
1151
,
1151
,
1151
,
1151
,
1151
,
1151
,
/* 300 */
115
2
,
1152
,
1152
,
1152
,
1152
,
1152
,
1152
,
1152
,
1152
,
1152
,
/* 310 */
115
1
,
1151
,
1151
,
1151
,
1151
,
1151
,
1151
,
1151
,
1151
,
1151
,
/* 310 */
115
2
,
1152
,
1152
,
1152
,
1152
,
1152
,
1152
,
1152
,
1152
,
1152
,
/* 320 */
115
1
,
1151
,
1151
,
1151
,
1151
,
1151
,
1151
,
1151
,
1151
,
1151
,
/* 320 */
115
2
,
1152
,
1152
,
1152
,
1152
,
1152
,
1152
,
1152
,
1152
,
1152
,
/* 330 */
115
1
,
1151
,
1151
,
1151
,
1151
,
1151
,
1151
,
1151
,
1151
,
1151
,
/* 330 */
115
2
,
1152
,
1152
,
1152
,
1152
,
1152
,
1152
,
1152
,
1152
,
1152
,
/* 340 */
115
1
,
1151
,
1151
,
1151
,
1151
,
1151
,
1151
,
1151
,
1151
,
1151
,
/* 340 */
115
2
,
1152
,
1152
,
1152
,
1152
,
1152
,
1152
,
1152
,
1152
,
1152
,
/* 350 */
115
1
,
1151
,
1151
,
1303
,
1151
,
1151
,
1151
,
1151
,
1151
,
1151
,
/* 350 */
115
2
,
1152
,
1304
,
1152
,
1152
,
1152
,
1152
,
1152
,
1152
,
1229
,
/* 360 */
1
228
,
1151
,
1151
,
1151
,
1151
,
1151
,
1151
,
1151
,
1151
,
1151
,
/* 360 */
1
152
,
1152
,
1152
,
1152
,
1152
,
1152
,
1152
,
1152
,
1152
,
1152
,
/* 370 */
115
1
,
1151
,
1151
,
1151
,
1151
,
1151
,
1151
,
1151
,
1151
,
1151
,
/* 370 */
115
2
,
1152
,
1152
,
1152
,
1152
,
1152
,
1152
,
1152
,
1152
,
1152
,
/* 380 */
115
1
,
1151
,
1151
,
1151
,
1151
,
1151
,
1151
,
1151
,
1151
,
1151
,
/* 380 */
115
2
,
1152
,
1152
,
1152
,
1152
,
1152
,
1152
,
1152
,
1152
,
1152
,
/* 390 */
115
1
,
1151
,
1486
,
1496
,
1151
,
1151
,
1151
,
1151
,
1151
,
1151
,
/* 390 */
115
2
,
1488
,
1498
,
1152
,
1152
,
1152
,
1152
,
1152
,
1152
,
1152
,
/* 400 */
115
1
,
1151
,
1151
,
1151
,
1404
,
1151
,
1513
,
1151
,
1472
,
1468
,
/* 400 */
115
2
,
1152
,
1152
,
1405
,
1152
,
1515
,
1152
,
1474
,
1470
,
1152
,
/* 410 */
115
1
,
1151
,
1464
,
1151
,
1151
,
1523
,
1151
,
1151
,
1151
,
1151
,
/* 410 */
115
2
,
1466
,
1152
,
1152
,
1525
,
1152
,
1152
,
1152
,
1152
,
1152
,
/* 420 */
115
1
,
1151
,
1151
,
1151
,
1458
,
1151
,
1151
,
1151
,
1151
,
1151
,
/* 420 */
115
2
,
1152
,
1152
,
1460
,
1152
,
1152
,
1152
,
1152
,
1152
,
1152
,
/* 430 */
115
1
,
1151
,
1151
,
1151
,
1151
,
1151
,
1151
,
1151
,
1151
,
1151
,
/* 430 */
115
2
,
1152
,
1152
,
1152
,
1152
,
1152
,
1152
,
1152
,
1152
,
1152
,
/* 440 */
1
151
,
1403
,
1151
,
1151
,
1151
,
1151
,
1151
,
1151
,
1151
,
1286
,
/* 440 */
1
404
,
1152
,
1152
,
1152
,
1152
,
1152
,
1152
,
1152
,
1287
,
1152
,
/* 450 */
115
1
,
1151
,
1151
,
1151
,
1151
,
1151
,
1151
,
1151
,
1151
,
1151
,
/* 450 */
115
2
,
1152
,
1152
,
1152
,
1152
,
1152
,
1152
,
1152
,
1152
,
1152
,
/* 460 */
115
1
,
1151
,
1271
,
1269
,
1268
,
1267
,
1151
,
1264
,
1151
,
1151
,
/* 460 */
115
2
,
1272
,
1270
,
1269
,
1268
,
1152
,
1265
,
1152
,
1152
,
1152
,
/* 470 */
115
1
,
1151
,
1151
,
1151
,
1294
,
1151
,
1151
,
1151
,
1151
,
1151
,
/* 470 */
115
2
,
1152
,
1152
,
1295
,
1152
,
1152
,
1152
,
1152
,
1152
,
1152
,
/* 480 */
115
1
,
1151
,
1151
,
1151
,
1151
,
1151
,
1151
,
1151
,
1214
,
1151
,
/* 480 */
115
2
,
1152
,
1152
,
1152
,
1152
,
1152
,
1152
,
1215
,
1152
,
1152
,
/* 490 */
115
1
,
1151
,
1151
,
1151
,
1151
,
1151
,
1151
,
1151
,
1151
,
1151
,
/* 490 */
115
2
,
1152
,
1152
,
1152
,
1152
,
1152
,
1152
,
1152
,
1152
,
1152
,
/* 500 */
115
1
,
1151
,
1151
,
1151
,
1151
,
1151
,
1151
,
1151
,
1151
,
1151
,
/* 500 */
115
2
,
1152
,
1152
,
1152
,
1152
,
1152
,
1152
,
1152
,
1152
,
1152
,
/* 510 */
115
1
,
1151
,
/* 510 */
115
2
,
};
};
/********** End of lemon-generated parsing tables *****************************/
/********** End of lemon-generated parsing tables *****************************/
...
@@ -918,7 +924,7 @@ static const char *const yyTokenName[] = {
...
@@ -918,7 +924,7 @@ static const char *const yyTokenName[] = {
/* 154 */
"SYNCDB"
,
/* 154 */
"SYNCDB"
,
/* 155 */
"NULL"
,
/* 155 */
"NULL"
,
/* 156 */
"NK_VARIABLE"
,
/* 156 */
"NK_VARIABLE"
,
/* 157 */
"N
K_UNDERLINE
"
,
/* 157 */
"N
OW
"
,
/* 158 */
"ROWTS"
,
/* 158 */
"ROWTS"
,
/* 159 */
"TBNAME"
,
/* 159 */
"TBNAME"
,
/* 160 */
"QSTARTTS"
,
/* 160 */
"QSTARTTS"
,
...
@@ -1348,119 +1354,120 @@ static const char *const yyRuleName[] = {
...
@@ -1348,119 +1354,120 @@ static const char *const yyRuleName[] = {
/* 273 */
"expression_list ::= expression_list NK_COMMA expression"
,
/* 273 */
"expression_list ::= expression_list NK_COMMA expression"
,
/* 274 */
"column_reference ::= column_name"
,
/* 274 */
"column_reference ::= column_name"
,
/* 275 */
"column_reference ::= table_name NK_DOT column_name"
,
/* 275 */
"column_reference ::= table_name NK_DOT column_name"
,
/* 276 */
"pseudo_column ::= NK_UNDERLINE ROWTS"
,
/* 276 */
"pseudo_column ::= NOW"
,
/* 277 */
"pseudo_column ::= TBNAME"
,
/* 277 */
"pseudo_column ::= ROWTS"
,
/* 278 */
"pseudo_column ::= NK_UNDERLINE QSTARTTS"
,
/* 278 */
"pseudo_column ::= TBNAME"
,
/* 279 */
"pseudo_column ::= NK_UNDERLINE QENDTS"
,
/* 279 */
"pseudo_column ::= QSTARTTS"
,
/* 280 */
"pseudo_column ::= NK_UNDERLINE WSTARTTS"
,
/* 280 */
"pseudo_column ::= QENDTS"
,
/* 281 */
"pseudo_column ::= NK_UNDERLINE WENDTS"
,
/* 281 */
"pseudo_column ::= WSTARTTS"
,
/* 282 */
"pseudo_column ::= NK_UNDERLINE WDURATION"
,
/* 282 */
"pseudo_column ::= WENDTS"
,
/* 283 */
"predicate ::= expression compare_op expression"
,
/* 283 */
"pseudo_column ::= WDURATION"
,
/* 284 */
"predicate ::= expression BETWEEN expression AND expression"
,
/* 284 */
"predicate ::= expression compare_op expression"
,
/* 285 */
"predicate ::= expression NOT BETWEEN expression AND expression"
,
/* 285 */
"predicate ::= expression BETWEEN expression AND expression"
,
/* 286 */
"predicate ::= expression IS NULL"
,
/* 286 */
"predicate ::= expression NOT BETWEEN expression AND expression"
,
/* 287 */
"predicate ::= expression IS NOT NULL"
,
/* 287 */
"predicate ::= expression IS NULL"
,
/* 288 */
"predicate ::= expression in_op in_predicate_value"
,
/* 288 */
"predicate ::= expression IS NOT NULL"
,
/* 289 */
"compare_op ::= NK_LT"
,
/* 289 */
"predicate ::= expression in_op in_predicate_value"
,
/* 290 */
"compare_op ::= NK_GT"
,
/* 290 */
"compare_op ::= NK_LT"
,
/* 291 */
"compare_op ::= NK_LE"
,
/* 291 */
"compare_op ::= NK_GT"
,
/* 292 */
"compare_op ::= NK_GE"
,
/* 292 */
"compare_op ::= NK_LE"
,
/* 293 */
"compare_op ::= NK_NE"
,
/* 293 */
"compare_op ::= NK_GE"
,
/* 294 */
"compare_op ::= NK_EQ"
,
/* 294 */
"compare_op ::= NK_NE"
,
/* 295 */
"compare_op ::= LIKE"
,
/* 295 */
"compare_op ::= NK_EQ"
,
/* 296 */
"compare_op ::= NOT LIKE"
,
/* 296 */
"compare_op ::= LIKE"
,
/* 297 */
"compare_op ::= MATCH"
,
/* 297 */
"compare_op ::= NOT LIKE"
,
/* 298 */
"compare_op ::= NMATCH"
,
/* 298 */
"compare_op ::= MATCH"
,
/* 299 */
"in_op ::= IN"
,
/* 299 */
"compare_op ::= NMATCH"
,
/* 300 */
"in_op ::= NOT IN"
,
/* 300 */
"in_op ::= IN"
,
/* 301 */
"in_predicate_value ::= NK_LP expression_list NK_RP"
,
/* 301 */
"in_op ::= NOT IN"
,
/* 302 */
"boolean_value_expression ::= boolean_primary"
,
/* 302 */
"in_predicate_value ::= NK_LP expression_list NK_RP"
,
/* 303 */
"boolean_value_expression ::= NOT boolean_primary"
,
/* 303 */
"boolean_value_expression ::= boolean_primary"
,
/* 304 */
"boolean_value_expression ::= boolean_value_expression OR boolean_value_expression"
,
/* 304 */
"boolean_value_expression ::= NOT boolean_primary"
,
/* 305 */
"boolean_value_expression ::= boolean_value_expression AND boolean_value_expression"
,
/* 305 */
"boolean_value_expression ::= boolean_value_expression OR boolean_value_expression"
,
/* 306 */
"boolean_primary ::= predicate"
,
/* 306 */
"boolean_value_expression ::= boolean_value_expression AND boolean_value_expression"
,
/* 307 */
"boolean_primary ::= NK_LP boolean_value_expression NK_RP"
,
/* 307 */
"boolean_primary ::= predicate"
,
/* 308 */
"common_expression ::= expression"
,
/* 308 */
"boolean_primary ::= NK_LP boolean_value_expression NK_RP"
,
/* 309 */
"common_expression ::= boolean_value_expression"
,
/* 309 */
"common_expression ::= expression"
,
/* 310 */
"from_clause ::= FROM table_reference_list"
,
/* 310 */
"common_expression ::= boolean_value_expression"
,
/* 311 */
"table_reference_list ::= table_reference"
,
/* 311 */
"from_clause ::= FROM table_reference_list"
,
/* 312 */
"table_reference_list ::= table_reference_list NK_COMMA table_reference"
,
/* 312 */
"table_reference_list ::= table_reference"
,
/* 313 */
"table_reference ::= table_primary"
,
/* 313 */
"table_reference_list ::= table_reference_list NK_COMMA table_reference"
,
/* 314 */
"table_reference ::= joined_table"
,
/* 314 */
"table_reference ::= table_primary"
,
/* 315 */
"table_primary ::= table_name alias_opt"
,
/* 315 */
"table_reference ::= joined_table"
,
/* 316 */
"table_primary ::= db_name NK_DOT table_name alias_opt"
,
/* 316 */
"table_primary ::= table_name alias_opt"
,
/* 317 */
"table_primary ::= subquery alias_opt"
,
/* 317 */
"table_primary ::= db_name NK_DOT table_name alias_opt"
,
/* 318 */
"table_primary ::= parenthesized_joined_table"
,
/* 318 */
"table_primary ::= subquery alias_opt"
,
/* 319 */
"alias_opt ::="
,
/* 319 */
"table_primary ::= parenthesized_joined_table"
,
/* 320 */
"alias_opt ::= table_alias"
,
/* 320 */
"alias_opt ::="
,
/* 321 */
"alias_opt ::= AS table_alias"
,
/* 321 */
"alias_opt ::= table_alias"
,
/* 322 */
"parenthesized_joined_table ::= NK_LP joined_table NK_RP"
,
/* 322 */
"alias_opt ::= AS table_alias"
,
/* 323 */
"parenthesized_joined_table ::= NK_LP parenthesized_joined_table NK_RP"
,
/* 323 */
"parenthesized_joined_table ::= NK_LP joined_table NK_RP"
,
/* 324 */
"joined_table ::= table_reference join_type JOIN table_reference ON search_condition"
,
/* 324 */
"parenthesized_joined_table ::= NK_LP parenthesized_joined_table NK_RP"
,
/* 325 */
"join_type ::="
,
/* 325 */
"joined_table ::= table_reference join_type JOIN table_reference ON search_condition"
,
/* 326 */
"join_type ::= INNER"
,
/* 326 */
"join_type ::="
,
/* 327 */
"query_specification ::= SELECT set_quantifier_opt select_list from_clause where_clause_opt partition_by_clause_opt twindow_clause_opt group_by_clause_opt having_clause_opt"
,
/* 327 */
"join_type ::= INNER"
,
/* 328 */
"set_quantifier_opt ::="
,
/* 328 */
"query_specification ::= SELECT set_quantifier_opt select_list from_clause where_clause_opt partition_by_clause_opt twindow_clause_opt group_by_clause_opt having_clause_opt"
,
/* 329 */
"set_quantifier_opt ::= DISTINCT"
,
/* 329 */
"set_quantifier_opt ::="
,
/* 330 */
"set_quantifier_opt ::= ALL"
,
/* 330 */
"set_quantifier_opt ::= DISTINCT"
,
/* 331 */
"select_list ::= NK_STAR"
,
/* 331 */
"set_quantifier_opt ::= ALL"
,
/* 332 */
"select_list ::= select_sublist"
,
/* 332 */
"select_list ::= NK_STAR"
,
/* 333 */
"select_sublist ::= select_item"
,
/* 333 */
"select_list ::= select_sublist"
,
/* 334 */
"select_sublist ::= select_sublist NK_COMMA select_item"
,
/* 334 */
"select_sublist ::= select_item"
,
/* 335 */
"select_item ::= common_expression"
,
/* 335 */
"select_sublist ::= select_sublist NK_COMMA select_item"
,
/* 336 */
"select_item ::= common_expression column_alias"
,
/* 336 */
"select_item ::= common_expression"
,
/* 337 */
"select_item ::= common_expression AS column_alias"
,
/* 337 */
"select_item ::= common_expression column_alias"
,
/* 338 */
"select_item ::= table_name NK_DOT NK_STAR"
,
/* 338 */
"select_item ::= common_expression AS column_alias"
,
/* 339 */
"where_clause_opt ::="
,
/* 339 */
"select_item ::= table_name NK_DOT NK_STAR"
,
/* 340 */
"where_clause_opt ::= WHERE search_condition"
,
/* 340 */
"where_clause_opt ::="
,
/* 341 */
"partition_by_clause_opt ::="
,
/* 341 */
"where_clause_opt ::= WHERE search_condition"
,
/* 342 */
"partition_by_clause_opt ::= PARTITION BY expression_list"
,
/* 342 */
"partition_by_clause_opt ::="
,
/* 343 */
"twindow_clause_opt ::="
,
/* 343 */
"partition_by_clause_opt ::= PARTITION BY expression_list"
,
/* 344 */
"twindow_clause_opt ::= SESSION NK_LP column_reference NK_COMMA duration_literal NK_RP"
,
/* 344 */
"twindow_clause_opt ::="
,
/* 345 */
"twindow_clause_opt ::= STATE_WINDOW NK_LP column_reference NK_RP"
,
/* 345 */
"twindow_clause_opt ::= SESSION NK_LP column_reference NK_COMMA duration_literal NK_RP"
,
/* 346 */
"twindow_clause_opt ::= INTERVAL NK_LP duration_literal NK_RP sliding_opt fill_opt"
,
/* 346 */
"twindow_clause_opt ::= STATE_WINDOW NK_LP column_reference NK_RP"
,
/* 347 */
"twindow_clause_opt ::= INTERVAL NK_LP duration_literal NK_COMMA duration_literal NK_RP sliding_opt fill_opt"
,
/* 347 */
"twindow_clause_opt ::= INTERVAL NK_LP duration_literal NK_RP sliding_opt fill_opt"
,
/* 348 */
"sliding_opt ::="
,
/* 348 */
"twindow_clause_opt ::= INTERVAL NK_LP duration_literal NK_COMMA duration_literal NK_RP sliding_opt fill_opt"
,
/* 349 */
"sliding_opt ::= SLIDING NK_LP duration_literal NK_RP"
,
/* 349 */
"sliding_opt ::="
,
/* 350 */
"fill_opt ::="
,
/* 350 */
"sliding_opt ::= SLIDING NK_LP duration_literal NK_RP"
,
/* 351 */
"fill_opt ::= FILL NK_LP fill_mode NK_RP"
,
/* 351 */
"fill_opt ::="
,
/* 352 */
"fill_opt ::= FILL NK_LP VALUE NK_COMMA literal_list NK_RP"
,
/* 352 */
"fill_opt ::= FILL NK_LP fill_mode NK_RP"
,
/* 353 */
"fill_mode ::= NONE"
,
/* 353 */
"fill_opt ::= FILL NK_LP VALUE NK_COMMA literal_list NK_RP"
,
/* 354 */
"fill_mode ::= PREV"
,
/* 354 */
"fill_mode ::= NONE"
,
/* 355 */
"fill_mode ::= NULL"
,
/* 355 */
"fill_mode ::= PREV"
,
/* 356 */
"fill_mode ::= LINEAR"
,
/* 356 */
"fill_mode ::= NULL"
,
/* 357 */
"fill_mode ::= NEXT"
,
/* 357 */
"fill_mode ::= LINEAR"
,
/* 358 */
"group_by_clause_opt ::="
,
/* 358 */
"fill_mode ::= NEXT"
,
/* 359 */
"group_by_clause_opt ::= GROUP BY group_by_list"
,
/* 359 */
"group_by_clause_opt ::="
,
/* 360 */
"group_by_list ::= expression"
,
/* 360 */
"group_by_clause_opt ::= GROUP BY group_by_list"
,
/* 361 */
"group_by_list ::= group_by_list NK_COMMA expression"
,
/* 361 */
"group_by_list ::= expression"
,
/* 362 */
"having_clause_opt ::="
,
/* 362 */
"group_by_list ::= group_by_list NK_COMMA expression"
,
/* 363 */
"having_clause_opt ::= HAVING search_condition"
,
/* 363 */
"having_clause_opt ::="
,
/* 364 */
"query_expression ::= query_expression_body order_by_clause_opt slimit_clause_opt limit_clause_opt"
,
/* 364 */
"having_clause_opt ::= HAVING search_condition"
,
/* 365 */
"query_expression_body ::= query_primary"
,
/* 365 */
"query_expression ::= query_expression_body order_by_clause_opt slimit_clause_opt limit_clause_opt"
,
/* 366 */
"query_expression_body ::= query_expression_body UNION ALL query_expression_body"
,
/* 366 */
"query_expression_body ::= query_primary"
,
/* 367 */
"query_primary ::= query_specification"
,
/* 367 */
"query_expression_body ::= query_expression_body UNION ALL query_expression_body"
,
/* 368 */
"order_by_clause_opt ::="
,
/* 368 */
"query_primary ::= query_specification"
,
/* 369 */
"order_by_clause_opt ::= ORDER BY sort_specification_list"
,
/* 369 */
"order_by_clause_opt ::="
,
/* 370 */
"slimit_clause_opt ::="
,
/* 370 */
"order_by_clause_opt ::= ORDER BY sort_specification_list"
,
/* 371 */
"slimit_clause_opt ::= SLIMIT NK_INTEGER"
,
/* 371 */
"slimit_clause_opt ::="
,
/* 372 */
"slimit_clause_opt ::= SLIMIT NK_INTEGER SOFFSET NK_INTEGER"
,
/* 372 */
"slimit_clause_opt ::= SLIMIT NK_INTEGER"
,
/* 373 */
"slimit_clause_opt ::= SLIMIT NK_INTEGER NK_COMMA NK_INTEGER"
,
/* 373 */
"slimit_clause_opt ::= SLIMIT NK_INTEGER SOFFSET NK_INTEGER"
,
/* 374 */
"limit_clause_opt ::="
,
/* 374 */
"slimit_clause_opt ::= SLIMIT NK_INTEGER NK_COMMA NK_INTEGER"
,
/* 375 */
"limit_clause_opt ::= LIMIT NK_INTEGER"
,
/* 375 */
"limit_clause_opt ::="
,
/* 376 */
"limit_clause_opt ::= LIMIT NK_INTEGER OFFSET NK_INTEGER"
,
/* 376 */
"limit_clause_opt ::= LIMIT NK_INTEGER"
,
/* 377 */
"limit_clause_opt ::= LIMIT NK_INTEGER NK_COMMA NK_INTEGER"
,
/* 377 */
"limit_clause_opt ::= LIMIT NK_INTEGER OFFSET NK_INTEGER"
,
/* 378 */
"subquery ::= NK_LP query_expression NK_RP"
,
/* 378 */
"limit_clause_opt ::= LIMIT NK_INTEGER NK_COMMA NK_INTEGER"
,
/* 379 */
"search_condition ::= common_expression"
,
/* 379 */
"subquery ::= NK_LP query_expression NK_RP"
,
/* 380 */
"sort_specification_list ::= sort_specification"
,
/* 380 */
"search_condition ::= common_expression"
,
/* 381 */
"sort_specification_list ::= sort_specification_list NK_COMMA sort_specification"
,
/* 381 */
"sort_specification_list ::= sort_specification"
,
/* 382 */
"sort_specification ::= expression ordering_specification_opt null_ordering_opt"
,
/* 382 */
"sort_specification_list ::= sort_specification_list NK_COMMA sort_specification"
,
/* 383 */
"ordering_specification_opt ::="
,
/* 383 */
"sort_specification ::= expression ordering_specification_opt null_ordering_opt"
,
/* 384 */
"ordering_specification_opt ::= ASC"
,
/* 384 */
"ordering_specification_opt ::="
,
/* 385 */
"ordering_specification_opt ::= DESC"
,
/* 385 */
"ordering_specification_opt ::= ASC"
,
/* 386 */
"null_ordering_opt ::="
,
/* 386 */
"ordering_specification_opt ::= DESC"
,
/* 387 */
"null_ordering_opt ::= NULLS FIRST"
,
/* 387 */
"null_ordering_opt ::="
,
/* 388 */
"null_ordering_opt ::= NULLS LAST"
,
/* 388 */
"null_ordering_opt ::= NULLS FIRST"
,
/* 389 */
"null_ordering_opt ::= NULLS LAST"
,
};
};
#endif
/* NDEBUG */
#endif
/* NDEBUG */
...
@@ -2308,119 +2315,120 @@ static const struct {
...
@@ -2308,119 +2315,120 @@ static const struct {
{
249
,
-
3
},
/* (273) expression_list ::= expression_list NK_COMMA expression */
{
249
,
-
3
},
/* (273) expression_list ::= expression_list NK_COMMA expression */
{
264
,
-
1
},
/* (274) column_reference ::= column_name */
{
264
,
-
1
},
/* (274) column_reference ::= column_name */
{
264
,
-
3
},
/* (275) column_reference ::= table_name NK_DOT column_name */
{
264
,
-
3
},
/* (275) column_reference ::= table_name NK_DOT column_name */
{
263
,
-
2
},
/* (276) pseudo_column ::= NK_UNDERLINE ROWTS */
{
263
,
-
1
},
/* (276) pseudo_column ::= NOW */
{
263
,
-
1
},
/* (277) pseudo_column ::= TBNAME */
{
263
,
-
1
},
/* (277) pseudo_column ::= ROWTS */
{
263
,
-
2
},
/* (278) pseudo_column ::= NK_UNDERLINE QSTARTTS */
{
263
,
-
1
},
/* (278) pseudo_column ::= TBNAME */
{
263
,
-
2
},
/* (279) pseudo_column ::= NK_UNDERLINE QENDTS */
{
263
,
-
1
},
/* (279) pseudo_column ::= QSTARTTS */
{
263
,
-
2
},
/* (280) pseudo_column ::= NK_UNDERLINE WSTARTTS */
{
263
,
-
1
},
/* (280) pseudo_column ::= QENDTS */
{
263
,
-
2
},
/* (281) pseudo_column ::= NK_UNDERLINE WENDTS */
{
263
,
-
1
},
/* (281) pseudo_column ::= WSTARTTS */
{
263
,
-
2
},
/* (282) pseudo_column ::= NK_UNDERLINE WDURATION */
{
263
,
-
1
},
/* (282) pseudo_column ::= WENDTS */
{
266
,
-
3
},
/* (283) predicate ::= expression compare_op expression */
{
263
,
-
1
},
/* (283) pseudo_column ::= WDURATION */
{
266
,
-
5
},
/* (284) predicate ::= expression BETWEEN expression AND expression */
{
266
,
-
3
},
/* (284) predicate ::= expression compare_op expression */
{
266
,
-
6
},
/* (285) predicate ::= expression NOT BETWEEN expression AND expression */
{
266
,
-
5
},
/* (285) predicate ::= expression BETWEEN expression AND expression */
{
266
,
-
3
},
/* (286) predicate ::= expression IS NULL */
{
266
,
-
6
},
/* (286) predicate ::= expression NOT BETWEEN expression AND expression */
{
266
,
-
4
},
/* (287) predicate ::= expression IS NOT NULL */
{
266
,
-
3
},
/* (287) predicate ::= expression IS NULL */
{
266
,
-
3
},
/* (288) predicate ::= expression in_op in_predicate_value */
{
266
,
-
4
},
/* (288) predicate ::= expression IS NOT NULL */
{
267
,
-
1
},
/* (289) compare_op ::= NK_LT */
{
266
,
-
3
},
/* (289) predicate ::= expression in_op in_predicate_value */
{
267
,
-
1
},
/* (290) compare_op ::= NK_GT */
{
267
,
-
1
},
/* (290) compare_op ::= NK_LT */
{
267
,
-
1
},
/* (291) compare_op ::= NK_LE */
{
267
,
-
1
},
/* (291) compare_op ::= NK_GT */
{
267
,
-
1
},
/* (292) compare_op ::= NK_GE */
{
267
,
-
1
},
/* (292) compare_op ::= NK_LE */
{
267
,
-
1
},
/* (293) compare_op ::= NK_NE */
{
267
,
-
1
},
/* (293) compare_op ::= NK_GE */
{
267
,
-
1
},
/* (294) compare_op ::= NK_EQ */
{
267
,
-
1
},
/* (294) compare_op ::= NK_NE */
{
267
,
-
1
},
/* (295) compare_op ::= LIKE */
{
267
,
-
1
},
/* (295) compare_op ::= NK_EQ */
{
267
,
-
2
},
/* (296) compare_op ::= NOT LIKE */
{
267
,
-
1
},
/* (296) compare_op ::= LIKE */
{
267
,
-
1
},
/* (297) compare_op ::= MATCH */
{
267
,
-
2
},
/* (297) compare_op ::= NOT LIKE */
{
267
,
-
1
},
/* (298) compare_op ::= NMATCH */
{
267
,
-
1
},
/* (298) compare_op ::= MATCH */
{
268
,
-
1
},
/* (299) in_op ::= IN */
{
267
,
-
1
},
/* (299) compare_op ::= NMATCH */
{
268
,
-
2
},
/* (300) in_op ::= NOT IN */
{
268
,
-
1
},
/* (300) in_op ::= IN */
{
269
,
-
3
},
/* (301) in_predicate_value ::= NK_LP expression_list NK_RP */
{
268
,
-
2
},
/* (301) in_op ::= NOT IN */
{
270
,
-
1
},
/* (302) boolean_value_expression ::= boolean_primary */
{
269
,
-
3
},
/* (302) in_predicate_value ::= NK_LP expression_list NK_RP */
{
270
,
-
2
},
/* (303) boolean_value_expression ::= NOT boolean_primary */
{
270
,
-
1
},
/* (303) boolean_value_expression ::= boolean_primary */
{
270
,
-
3
},
/* (304) boolean_value_expression ::= boolean_value_expression OR boolean_value_expression */
{
270
,
-
2
},
/* (304) boolean_value_expression ::= NOT boolean_primary */
{
270
,
-
3
},
/* (305) boolean_value_expression ::= boolean_value_expression AND boolean_value_expression */
{
270
,
-
3
},
/* (305) boolean_value_expression ::= boolean_value_expression OR boolean_value_expression */
{
271
,
-
1
},
/* (306) boolean_primary ::= predicate */
{
270
,
-
3
},
/* (306) boolean_value_expression ::= boolean_value_expression AND boolean_value_expression */
{
271
,
-
3
},
/* (307) boolean_primary ::= NK_LP boolean_value_expression NK_RP */
{
271
,
-
1
},
/* (307) boolean_primary ::= predicate */
{
272
,
-
1
},
/* (308) common_expression ::= expression */
{
271
,
-
3
},
/* (308) boolean_primary ::= NK_LP boolean_value_expression NK_RP */
{
272
,
-
1
},
/* (309) common_expression ::= boolean_value_expression */
{
272
,
-
1
},
/* (309) common_expression ::= expression */
{
273
,
-
2
},
/* (310) from_clause ::= FROM table_reference_list */
{
272
,
-
1
},
/* (310) common_expression ::= boolean_value_expression */
{
274
,
-
1
},
/* (311) table_reference_list ::= table_reference */
{
273
,
-
2
},
/* (311) from_clause ::= FROM table_reference_list */
{
274
,
-
3
},
/* (312) table_reference_list ::= table_reference_list NK_COMMA table_reference */
{
274
,
-
1
},
/* (312) table_reference_list ::= table_reference */
{
275
,
-
1
},
/* (313) table_reference ::= table_primary */
{
274
,
-
3
},
/* (313) table_reference_list ::= table_reference_list NK_COMMA table_reference */
{
275
,
-
1
},
/* (314) table_reference ::= joined_table */
{
275
,
-
1
},
/* (314) table_reference ::= table_primary */
{
276
,
-
2
},
/* (315) table_primary ::= table_name alias_opt */
{
275
,
-
1
},
/* (315) table_reference ::= joined_table */
{
276
,
-
4
},
/* (316) table_primary ::= db_name NK_DOT table_name alias_opt */
{
276
,
-
2
},
/* (316) table_primary ::= table_name alias_opt */
{
276
,
-
2
},
/* (317) table_primary ::= subquery alias_opt */
{
276
,
-
4
},
/* (317) table_primary ::= db_name NK_DOT table_name alias_opt */
{
276
,
-
1
},
/* (318) table_primary ::= parenthesized_joined_table */
{
276
,
-
2
},
/* (318) table_primary ::= subquery alias_opt */
{
278
,
0
},
/* (319) alias_opt ::= */
{
276
,
-
1
},
/* (319) table_primary ::= parenthesized_joined_table */
{
278
,
-
1
},
/* (320) alias_opt ::= table_alias */
{
278
,
0
},
/* (320) alias_opt ::= */
{
278
,
-
2
},
/* (321) alias_opt ::= AS table_alias */
{
278
,
-
1
},
/* (321) alias_opt ::= table_alias */
{
279
,
-
3
},
/* (322) parenthesized_joined_table ::= NK_LP joined_table NK_RP */
{
278
,
-
2
},
/* (322) alias_opt ::= AS table_alias */
{
279
,
-
3
},
/* (323) parenthesized_joined_table ::= NK_LP parenthesized_joined_table NK_RP */
{
279
,
-
3
},
/* (323) parenthesized_joined_table ::= NK_LP joined_table NK_RP */
{
277
,
-
6
},
/* (324) joined_table ::= table_reference join_type JOIN table_reference ON search_condition */
{
279
,
-
3
},
/* (324) parenthesized_joined_table ::= NK_LP parenthesized_joined_table NK_RP */
{
280
,
0
},
/* (325) join_type ::= */
{
277
,
-
6
},
/* (325) joined_table ::= table_reference join_type JOIN table_reference ON search_condition */
{
280
,
-
1
},
/* (326) join_type ::= INNER */
{
280
,
0
},
/* (326) join_type ::= */
{
282
,
-
9
},
/* (327) query_specification ::= SELECT set_quantifier_opt select_list from_clause where_clause_opt partition_by_clause_opt twindow_clause_opt group_by_clause_opt having_clause_opt */
{
280
,
-
1
},
/* (327) join_type ::= INNER */
{
283
,
0
},
/* (328) set_quantifier_opt ::= */
{
282
,
-
9
},
/* (328) query_specification ::= SELECT set_quantifier_opt select_list from_clause where_clause_opt partition_by_clause_opt twindow_clause_opt group_by_clause_opt having_clause_opt */
{
283
,
-
1
},
/* (329) set_quantifier_opt ::= DISTINCT */
{
283
,
0
},
/* (329) set_quantifier_opt ::= */
{
283
,
-
1
},
/* (330) set_quantifier_opt ::= ALL */
{
283
,
-
1
},
/* (330) set_quantifier_opt ::= DISTINCT */
{
284
,
-
1
},
/* (331) select_list ::= NK_STAR */
{
283
,
-
1
},
/* (331) set_quantifier_opt ::= ALL */
{
284
,
-
1
},
/* (332) select_list ::= select_sublist */
{
284
,
-
1
},
/* (332) select_list ::= NK_STAR */
{
290
,
-
1
},
/* (333) select_sublist ::= select_item */
{
284
,
-
1
},
/* (333) select_list ::= select_sublist */
{
290
,
-
3
},
/* (334) select_sublist ::= select_sublist NK_COMMA select_item */
{
290
,
-
1
},
/* (334) select_sublist ::= select_item */
{
291
,
-
1
},
/* (335) select_item ::= common_expression */
{
290
,
-
3
},
/* (335) select_sublist ::= select_sublist NK_COMMA select_item */
{
291
,
-
2
},
/* (336) select_item ::= common_expression column_alias */
{
291
,
-
1
},
/* (336) select_item ::= common_expression */
{
291
,
-
3
},
/* (337) select_item ::= common_expression AS column_alias */
{
291
,
-
2
},
/* (337) select_item ::= common_expression column_alias */
{
291
,
-
3
},
/* (338) select_item ::= table_name NK_DOT NK_STAR */
{
291
,
-
3
},
/* (338) select_item ::= common_expression AS column_alias */
{
285
,
0
},
/* (339) where_clause_opt ::= */
{
291
,
-
3
},
/* (339) select_item ::= table_name NK_DOT NK_STAR */
{
285
,
-
2
},
/* (340) where_clause_opt ::= WHERE search_condition */
{
285
,
0
},
/* (340) where_clause_opt ::= */
{
286
,
0
},
/* (341) partition_by_clause_opt ::= */
{
285
,
-
2
},
/* (341) where_clause_opt ::= WHERE search_condition */
{
286
,
-
3
},
/* (342) partition_by_clause_opt ::= PARTITION BY expression_list */
{
286
,
0
},
/* (342) partition_by_clause_opt ::= */
{
287
,
0
},
/* (343) twindow_clause_opt ::= */
{
286
,
-
3
},
/* (343) partition_by_clause_opt ::= PARTITION BY expression_list */
{
287
,
-
6
},
/* (344) twindow_clause_opt ::= SESSION NK_LP column_reference NK_COMMA duration_literal NK_RP */
{
287
,
0
},
/* (344) twindow_clause_opt ::= */
{
287
,
-
4
},
/* (345) twindow_clause_opt ::= STATE_WINDOW NK_LP column_reference NK_RP */
{
287
,
-
6
},
/* (345) twindow_clause_opt ::= SESSION NK_LP column_reference NK_COMMA duration_literal NK_RP */
{
287
,
-
6
},
/* (346) twindow_clause_opt ::= INTERVAL NK_LP duration_literal NK_RP sliding_opt fill_opt */
{
287
,
-
4
},
/* (346) twindow_clause_opt ::= STATE_WINDOW NK_LP column_reference NK_RP */
{
287
,
-
8
},
/* (347) twindow_clause_opt ::= INTERVAL NK_LP duration_literal NK_COMMA duration_literal NK_RP sliding_opt fill_opt */
{
287
,
-
6
},
/* (347) twindow_clause_opt ::= INTERVAL NK_LP duration_literal NK_RP sliding_opt fill_opt */
{
247
,
0
},
/* (348) sliding_opt ::= */
{
287
,
-
8
},
/* (348) twindow_clause_opt ::= INTERVAL NK_LP duration_literal NK_COMMA duration_literal NK_RP sliding_opt fill_opt */
{
247
,
-
4
},
/* (349) sliding_opt ::= SLIDING NK_LP duration_literal NK_RP */
{
247
,
0
},
/* (349) sliding_opt ::= */
{
292
,
0
},
/* (350) fill_opt ::= */
{
247
,
-
4
},
/* (350) sliding_opt ::= SLIDING NK_LP duration_literal NK_RP */
{
292
,
-
4
},
/* (351) fill_opt ::= FILL NK_LP fill_mode NK_RP */
{
292
,
0
},
/* (351) fill_opt ::= */
{
292
,
-
6
},
/* (352) fill_opt ::= FILL NK_LP VALUE NK_COMMA literal_list NK_RP */
{
292
,
-
4
},
/* (352) fill_opt ::= FILL NK_LP fill_mode NK_RP */
{
293
,
-
1
},
/* (353) fill_mode ::= NONE */
{
292
,
-
6
},
/* (353) fill_opt ::= FILL NK_LP VALUE NK_COMMA literal_list NK_RP */
{
293
,
-
1
},
/* (354) fill_mode ::= PREV */
{
293
,
-
1
},
/* (354) fill_mode ::= NONE */
{
293
,
-
1
},
/* (355) fill_mode ::= NULL */
{
293
,
-
1
},
/* (355) fill_mode ::= PREV */
{
293
,
-
1
},
/* (356) fill_mode ::= LINEAR */
{
293
,
-
1
},
/* (356) fill_mode ::= NULL */
{
293
,
-
1
},
/* (357) fill_mode ::= NEXT */
{
293
,
-
1
},
/* (357) fill_mode ::= LINEAR */
{
288
,
0
},
/* (358) group_by_clause_opt ::= */
{
293
,
-
1
},
/* (358) fill_mode ::= NEXT */
{
288
,
-
3
},
/* (359) group_by_clause_opt ::= GROUP BY group_by_list */
{
288
,
0
},
/* (359) group_by_clause_opt ::= */
{
294
,
-
1
},
/* (360) group_by_list ::= expression */
{
288
,
-
3
},
/* (360) group_by_clause_opt ::= GROUP BY group_by_list */
{
294
,
-
3
},
/* (361) group_by_list ::= group_by_list NK_COMMA expression */
{
294
,
-
1
},
/* (361) group_by_list ::= expression */
{
289
,
0
},
/* (362) having_clause_opt ::= */
{
294
,
-
3
},
/* (362) group_by_list ::= group_by_list NK_COMMA expression */
{
289
,
-
2
},
/* (363) having_clause_opt ::= HAVING search_condition */
{
289
,
0
},
/* (363) having_clause_opt ::= */
{
251
,
-
4
},
/* (364) query_expression ::= query_expression_body order_by_clause_opt slimit_clause_opt limit_clause_opt */
{
289
,
-
2
},
/* (364) having_clause_opt ::= HAVING search_condition */
{
295
,
-
1
},
/* (365) query_expression_body ::= query_primary */
{
251
,
-
4
},
/* (365) query_expression ::= query_expression_body order_by_clause_opt slimit_clause_opt limit_clause_opt */
{
295
,
-
4
},
/* (366) query_expression_body ::= query_expression_body UNION ALL query_expression_body */
{
295
,
-
1
},
/* (366) query_expression_body ::= query_primary */
{
299
,
-
1
},
/* (367) query_primary ::= query_specification */
{
295
,
-
4
},
/* (367) query_expression_body ::= query_expression_body UNION ALL query_expression_body */
{
296
,
0
},
/* (368) order_by_clause_opt ::= */
{
299
,
-
1
},
/* (368) query_primary ::= query_specification */
{
296
,
-
3
},
/* (369) order_by_clause_opt ::= ORDER BY sort_specification_list */
{
296
,
0
},
/* (369) order_by_clause_opt ::= */
{
297
,
0
},
/* (370) slimit_clause_opt ::= */
{
296
,
-
3
},
/* (370) order_by_clause_opt ::= ORDER BY sort_specification_list */
{
297
,
-
2
},
/* (371) slimit_clause_opt ::= SLIMIT NK_INTEGER */
{
297
,
0
},
/* (371) slimit_clause_opt ::= */
{
297
,
-
4
},
/* (372) slimit_clause_opt ::= SLIMIT NK_INTEGER SOFFSET NK_INTEGER */
{
297
,
-
2
},
/* (372) slimit_clause_opt ::= SLIMIT NK_INTEGER */
{
297
,
-
4
},
/* (373) slimit_clause_opt ::= SLIMIT NK_INTEGER NK_COMMA NK_INTEGER */
{
297
,
-
4
},
/* (373) slimit_clause_opt ::= SLIMIT NK_INTEGER SOFFSET NK_INTEGER */
{
298
,
0
},
/* (374) limit_clause_opt ::= */
{
297
,
-
4
},
/* (374) slimit_clause_opt ::= SLIMIT NK_INTEGER NK_COMMA NK_INTEGER */
{
298
,
-
2
},
/* (375) limit_clause_opt ::= LIMIT NK_INTEGER */
{
298
,
0
},
/* (375) limit_clause_opt ::= */
{
298
,
-
4
},
/* (376) limit_clause_opt ::= LIMIT NK_INTEGER OFFSET NK_INTEGER */
{
298
,
-
2
},
/* (376) limit_clause_opt ::= LIMIT NK_INTEGER */
{
298
,
-
4
},
/* (377) limit_clause_opt ::= LIMIT NK_INTEGER NK_COMMA NK_INTEGER */
{
298
,
-
4
},
/* (377) limit_clause_opt ::= LIMIT NK_INTEGER OFFSET NK_INTEGER */
{
265
,
-
3
},
/* (378) subquery ::= NK_LP query_expression NK_RP */
{
298
,
-
4
},
/* (378) limit_clause_opt ::= LIMIT NK_INTEGER NK_COMMA NK_INTEGER */
{
281
,
-
1
},
/* (379) search_condition ::= common_expression */
{
265
,
-
3
},
/* (379) subquery ::= NK_LP query_expression NK_RP */
{
300
,
-
1
},
/* (380) sort_specification_list ::= sort_specification */
{
281
,
-
1
},
/* (380) search_condition ::= common_expression */
{
300
,
-
3
},
/* (381) sort_specification_list ::= sort_specification_list NK_COMMA sort_specification */
{
300
,
-
1
},
/* (381) sort_specification_list ::= sort_specification */
{
301
,
-
3
},
/* (382) sort_specification ::= expression ordering_specification_opt null_ordering_opt */
{
300
,
-
3
},
/* (382) sort_specification_list ::= sort_specification_list NK_COMMA sort_specification */
{
302
,
0
},
/* (383) ordering_specification_opt ::= */
{
301
,
-
3
},
/* (383) sort_specification ::= expression ordering_specification_opt null_ordering_opt */
{
302
,
-
1
},
/* (384) ordering_specification_opt ::= ASC */
{
302
,
0
},
/* (384) ordering_specification_opt ::= */
{
302
,
-
1
},
/* (385) ordering_specification_opt ::= DESC */
{
302
,
-
1
},
/* (385) ordering_specification_opt ::= ASC */
{
303
,
0
},
/* (386) null_ordering_opt ::= */
{
302
,
-
1
},
/* (386) ordering_specification_opt ::= DESC */
{
303
,
-
2
},
/* (387) null_ordering_opt ::= NULLS FIRST */
{
303
,
0
},
/* (387) null_ordering_opt ::= */
{
303
,
-
2
},
/* (388) null_ordering_opt ::= NULLS LAST */
{
303
,
-
2
},
/* (388) null_ordering_opt ::= NULLS FIRST */
{
303
,
-
2
},
/* (389) null_ordering_opt ::= NULLS LAST */
};
};
static
void
yy_accept
(
yyParser
*
);
/* Forward Declaration */
static
void
yy_accept
(
yyParser
*
);
/* Forward Declaration */
...
@@ -2639,7 +2647,7 @@ static YYACTIONTYPE yy_reduce(
...
@@ -2639,7 +2647,7 @@ static YYACTIONTYPE yy_reduce(
case
50
:
/* exists_opt ::= */
yytestcase
(
yyruleno
==
50
);
case
50
:
/* exists_opt ::= */
yytestcase
(
yyruleno
==
50
);
case
203
:
/* analyze_opt ::= */
yytestcase
(
yyruleno
==
203
);
case
203
:
/* analyze_opt ::= */
yytestcase
(
yyruleno
==
203
);
case
211
:
/* agg_func_opt ::= */
yytestcase
(
yyruleno
==
211
);
case
211
:
/* agg_func_opt ::= */
yytestcase
(
yyruleno
==
211
);
case
32
8
:
/* set_quantifier_opt ::= */
yytestcase
(
yyruleno
==
328
);
case
32
9
:
/* set_quantifier_opt ::= */
yytestcase
(
yyruleno
==
329
);
{
yymsp
[
1
].
minor
.
yy185
=
false
;
}
{
yymsp
[
1
].
minor
.
yy185
=
false
;
}
break
;
break
;
case
49
:
/* exists_opt ::= IF EXISTS */
case
49
:
/* exists_opt ::= IF EXISTS */
...
@@ -2823,8 +2831,8 @@ static YYACTIONTYPE yy_reduce(
...
@@ -2823,8 +2831,8 @@ static YYACTIONTYPE yy_reduce(
case
184
:
/* func_name_list ::= func_name */
yytestcase
(
yyruleno
==
184
);
case
184
:
/* func_name_list ::= func_name */
yytestcase
(
yyruleno
==
184
);
case
193
:
/* func_list ::= func */
yytestcase
(
yyruleno
==
193
);
case
193
:
/* func_list ::= func */
yytestcase
(
yyruleno
==
193
);
case
246
:
/* literal_list ::= signed_literal */
yytestcase
(
yyruleno
==
246
);
case
246
:
/* literal_list ::= signed_literal */
yytestcase
(
yyruleno
==
246
);
case
33
3
:
/* select_sublist ::= select_item */
yytestcase
(
yyruleno
==
333
);
case
33
4
:
/* select_sublist ::= select_item */
yytestcase
(
yyruleno
==
334
);
case
38
0
:
/* sort_specification_list ::= sort_specification */
yytestcase
(
yyruleno
==
380
);
case
38
1
:
/* sort_specification_list ::= sort_specification */
yytestcase
(
yyruleno
==
381
);
{
yylhsminor
.
yy312
=
createNodeList
(
pCxt
,
yymsp
[
0
].
minor
.
yy104
);
}
{
yylhsminor
.
yy312
=
createNodeList
(
pCxt
,
yymsp
[
0
].
minor
.
yy104
);
}
yymsp
[
0
].
minor
.
yy312
=
yylhsminor
.
yy312
;
yymsp
[
0
].
minor
.
yy312
=
yylhsminor
.
yy312
;
break
;
break
;
...
@@ -2843,9 +2851,9 @@ static YYACTIONTYPE yy_reduce(
...
@@ -2843,9 +2851,9 @@ static YYACTIONTYPE yy_reduce(
break
;
break
;
case
104
:
/* specific_tags_opt ::= */
case
104
:
/* specific_tags_opt ::= */
case
135
:
/* tags_def_opt ::= */
yytestcase
(
yyruleno
==
135
);
case
135
:
/* tags_def_opt ::= */
yytestcase
(
yyruleno
==
135
);
case
34
1
:
/* partition_by_clause_opt ::= */
yytestcase
(
yyruleno
==
341
);
case
34
2
:
/* partition_by_clause_opt ::= */
yytestcase
(
yyruleno
==
342
);
case
35
8
:
/* group_by_clause_opt ::= */
yytestcase
(
yyruleno
==
358
);
case
35
9
:
/* group_by_clause_opt ::= */
yytestcase
(
yyruleno
==
359
);
case
36
8
:
/* order_by_clause_opt ::= */
yytestcase
(
yyruleno
==
368
);
case
36
9
:
/* order_by_clause_opt ::= */
yytestcase
(
yyruleno
==
369
);
{
yymsp
[
1
].
minor
.
yy312
=
NULL
;
}
{
yymsp
[
1
].
minor
.
yy312
=
NULL
;
}
break
;
break
;
case
105
:
/* specific_tags_opt ::= NK_LP col_name_list NK_RP */
case
105
:
/* specific_tags_opt ::= NK_LP col_name_list NK_RP */
...
@@ -2864,8 +2872,8 @@ static YYACTIONTYPE yy_reduce(
...
@@ -2864,8 +2872,8 @@ static YYACTIONTYPE yy_reduce(
case
185
:
/* func_name_list ::= func_name_list NK_COMMA col_name */
yytestcase
(
yyruleno
==
185
);
case
185
:
/* func_name_list ::= func_name_list NK_COMMA col_name */
yytestcase
(
yyruleno
==
185
);
case
194
:
/* func_list ::= func_list NK_COMMA func */
yytestcase
(
yyruleno
==
194
);
case
194
:
/* func_list ::= func_list NK_COMMA func */
yytestcase
(
yyruleno
==
194
);
case
247
:
/* literal_list ::= literal_list NK_COMMA signed_literal */
yytestcase
(
yyruleno
==
247
);
case
247
:
/* literal_list ::= literal_list NK_COMMA signed_literal */
yytestcase
(
yyruleno
==
247
);
case
33
4
:
/* select_sublist ::= select_sublist NK_COMMA select_item */
yytestcase
(
yyruleno
==
334
);
case
33
5
:
/* select_sublist ::= select_sublist NK_COMMA select_item */
yytestcase
(
yyruleno
==
335
);
case
38
1
:
/* sort_specification_list ::= sort_specification_list NK_COMMA sort_specification */
yytestcase
(
yyruleno
==
381
);
case
38
2
:
/* sort_specification_list ::= sort_specification_list NK_COMMA sort_specification */
yytestcase
(
yyruleno
==
382
);
{
yylhsminor
.
yy312
=
addNodeToList
(
pCxt
,
yymsp
[
-
2
].
minor
.
yy312
,
yymsp
[
0
].
minor
.
yy104
);
}
{
yylhsminor
.
yy312
=
addNodeToList
(
pCxt
,
yymsp
[
-
2
].
minor
.
yy312
,
yymsp
[
0
].
minor
.
yy104
);
}
yymsp
[
-
2
].
minor
.
yy312
=
yylhsminor
.
yy312
;
yymsp
[
-
2
].
minor
.
yy312
=
yylhsminor
.
yy312
;
break
;
break
;
...
@@ -2945,7 +2953,7 @@ static YYACTIONTYPE yy_reduce(
...
@@ -2945,7 +2953,7 @@ static YYACTIONTYPE yy_reduce(
{
yymsp
[
-
5
].
minor
.
yy336
=
createDataType
(
TSDB_DATA_TYPE_DECIMAL
);
}
{
yymsp
[
-
5
].
minor
.
yy336
=
createDataType
(
TSDB_DATA_TYPE_DECIMAL
);
}
break
;
break
;
case
136
:
/* tags_def_opt ::= tags_def */
case
136
:
/* tags_def_opt ::= tags_def */
case
33
2
:
/* select_list ::= select_sublist */
yytestcase
(
yyruleno
==
332
);
case
33
3
:
/* select_list ::= select_sublist */
yytestcase
(
yyruleno
==
333
);
{
yylhsminor
.
yy312
=
yymsp
[
0
].
minor
.
yy312
;
}
{
yylhsminor
.
yy312
=
yymsp
[
0
].
minor
.
yy312
;
}
yymsp
[
0
].
minor
.
yy312
=
yylhsminor
.
yy312
;
yymsp
[
0
].
minor
.
yy312
=
yylhsminor
.
yy312
;
break
;
break
;
...
@@ -3083,13 +3091,13 @@ static YYACTIONTYPE yy_reduce(
...
@@ -3083,13 +3091,13 @@ static YYACTIONTYPE yy_reduce(
break
;
break
;
case
179
:
/* like_pattern_opt ::= */
case
179
:
/* like_pattern_opt ::= */
case
190
:
/* index_options ::= */
yytestcase
(
yyruleno
==
190
);
case
190
:
/* index_options ::= */
yytestcase
(
yyruleno
==
190
);
case
3
39
:
/* where_clause_opt ::= */
yytestcase
(
yyruleno
==
339
);
case
3
40
:
/* where_clause_opt ::= */
yytestcase
(
yyruleno
==
340
);
case
34
3
:
/* twindow_clause_opt ::= */
yytestcase
(
yyruleno
==
343
);
case
34
4
:
/* twindow_clause_opt ::= */
yytestcase
(
yyruleno
==
344
);
case
34
8
:
/* sliding_opt ::= */
yytestcase
(
yyruleno
==
348
);
case
34
9
:
/* sliding_opt ::= */
yytestcase
(
yyruleno
==
349
);
case
35
0
:
/* fill_opt ::= */
yytestcase
(
yyruleno
==
350
);
case
35
1
:
/* fill_opt ::= */
yytestcase
(
yyruleno
==
351
);
case
36
2
:
/* having_clause_opt ::= */
yytestcase
(
yyruleno
==
362
);
case
36
3
:
/* having_clause_opt ::= */
yytestcase
(
yyruleno
==
363
);
case
37
0
:
/* slimit_clause_opt ::= */
yytestcase
(
yyruleno
==
370
);
case
37
1
:
/* slimit_clause_opt ::= */
yytestcase
(
yyruleno
==
371
);
case
37
4
:
/* limit_clause_opt ::= */
yytestcase
(
yyruleno
==
374
);
case
37
5
:
/* limit_clause_opt ::= */
yytestcase
(
yyruleno
==
375
);
{
yymsp
[
1
].
minor
.
yy104
=
NULL
;
}
{
yymsp
[
1
].
minor
.
yy104
=
NULL
;
}
break
;
break
;
case
180
:
/* like_pattern_opt ::= LIKE NK_STRING */
case
180
:
/* like_pattern_opt ::= LIKE NK_STRING */
...
@@ -3146,7 +3154,7 @@ static YYACTIONTYPE yy_reduce(
...
@@ -3146,7 +3154,7 @@ static YYACTIONTYPE yy_reduce(
break
;
break
;
case
204
:
/* analyze_opt ::= ANALYZE */
case
204
:
/* analyze_opt ::= ANALYZE */
case
212
:
/* agg_func_opt ::= AGGREGATE */
yytestcase
(
yyruleno
==
212
);
case
212
:
/* agg_func_opt ::= AGGREGATE */
yytestcase
(
yyruleno
==
212
);
case
3
29
:
/* set_quantifier_opt ::= DISTINCT */
yytestcase
(
yyruleno
==
329
);
case
3
30
:
/* set_quantifier_opt ::= DISTINCT */
yytestcase
(
yyruleno
==
330
);
{
yymsp
[
0
].
minor
.
yy185
=
true
;
}
{
yymsp
[
0
].
minor
.
yy185
=
true
;
}
break
;
break
;
case
205
:
/* explain_options ::= */
case
205
:
/* explain_options ::= */
...
@@ -3228,16 +3236,16 @@ static YYACTIONTYPE yy_reduce(
...
@@ -3228,16 +3236,16 @@ static YYACTIONTYPE yy_reduce(
case
259
:
/* expression ::= pseudo_column */
yytestcase
(
yyruleno
==
259
);
case
259
:
/* expression ::= pseudo_column */
yytestcase
(
yyruleno
==
259
);
case
260
:
/* expression ::= column_reference */
yytestcase
(
yyruleno
==
260
);
case
260
:
/* expression ::= column_reference */
yytestcase
(
yyruleno
==
260
);
case
263
:
/* expression ::= subquery */
yytestcase
(
yyruleno
==
263
);
case
263
:
/* expression ::= subquery */
yytestcase
(
yyruleno
==
263
);
case
30
2
:
/* boolean_value_expression ::= boolean_primary */
yytestcase
(
yyruleno
==
302
);
case
30
3
:
/* boolean_value_expression ::= boolean_primary */
yytestcase
(
yyruleno
==
303
);
case
30
6
:
/* boolean_primary ::= predicate */
yytestcase
(
yyruleno
==
306
);
case
30
7
:
/* boolean_primary ::= predicate */
yytestcase
(
yyruleno
==
307
);
case
30
8
:
/* common_expression ::= expression */
yytestcase
(
yyruleno
==
308
);
case
30
9
:
/* common_expression ::= expression */
yytestcase
(
yyruleno
==
309
);
case
3
09
:
/* common_expression ::= boolean_value_expression */
yytestcase
(
yyruleno
==
309
);
case
3
10
:
/* common_expression ::= boolean_value_expression */
yytestcase
(
yyruleno
==
310
);
case
31
1
:
/* table_reference_list ::= table_reference */
yytestcase
(
yyruleno
==
311
);
case
31
2
:
/* table_reference_list ::= table_reference */
yytestcase
(
yyruleno
==
312
);
case
31
3
:
/* table_reference ::= table_primary */
yytestcase
(
yyruleno
==
313
);
case
31
4
:
/* table_reference ::= table_primary */
yytestcase
(
yyruleno
==
314
);
case
31
4
:
/* table_reference ::= joined_table */
yytestcase
(
yyruleno
==
314
);
case
31
5
:
/* table_reference ::= joined_table */
yytestcase
(
yyruleno
==
315
);
case
31
8
:
/* table_primary ::= parenthesized_joined_table */
yytestcase
(
yyruleno
==
318
);
case
31
9
:
/* table_primary ::= parenthesized_joined_table */
yytestcase
(
yyruleno
==
319
);
case
36
5
:
/* query_expression_body ::= query_primary */
yytestcase
(
yyruleno
==
365
);
case
36
6
:
/* query_expression_body ::= query_primary */
yytestcase
(
yyruleno
==
366
);
case
36
7
:
/* query_primary ::= query_specification */
yytestcase
(
yyruleno
==
367
);
case
36
8
:
/* query_primary ::= query_specification */
yytestcase
(
yyruleno
==
368
);
{
yylhsminor
.
yy104
=
yymsp
[
0
].
minor
.
yy104
;
}
{
yylhsminor
.
yy104
=
yymsp
[
0
].
minor
.
yy104
;
}
yymsp
[
0
].
minor
.
yy104
=
yylhsminor
.
yy104
;
yymsp
[
0
].
minor
.
yy104
=
yylhsminor
.
yy104
;
break
;
break
;
...
@@ -3291,7 +3299,7 @@ static YYACTIONTYPE yy_reduce(
...
@@ -3291,7 +3299,7 @@ static YYACTIONTYPE yy_reduce(
{
yymsp
[
-
1
].
minor
.
yy104
=
createValueNode
(
pCxt
,
TSDB_DATA_TYPE_TIMESTAMP
,
&
yymsp
[
0
].
minor
.
yy0
);
}
{
yymsp
[
-
1
].
minor
.
yy104
=
createValueNode
(
pCxt
,
TSDB_DATA_TYPE_TIMESTAMP
,
&
yymsp
[
0
].
minor
.
yy0
);
}
break
;
break
;
case
244
:
/* signed_literal ::= duration_literal */
case
244
:
/* signed_literal ::= duration_literal */
case
3
79
:
/* search_condition ::= common_expression */
yytestcase
(
yyruleno
==
379
);
case
3
80
:
/* search_condition ::= common_expression */
yytestcase
(
yyruleno
==
380
);
{
yylhsminor
.
yy104
=
releaseRawExprNode
(
pCxt
,
yymsp
[
0
].
minor
.
yy104
);
}
{
yylhsminor
.
yy104
=
releaseRawExprNode
(
pCxt
,
yymsp
[
0
].
minor
.
yy104
);
}
yymsp
[
0
].
minor
.
yy104
=
yylhsminor
.
yy104
;
yymsp
[
0
].
minor
.
yy104
=
yylhsminor
.
yy104
;
break
;
break
;
...
@@ -3307,7 +3315,7 @@ static YYACTIONTYPE yy_reduce(
...
@@ -3307,7 +3315,7 @@ static YYACTIONTYPE yy_reduce(
yymsp
[
-
3
].
minor
.
yy104
=
yylhsminor
.
yy104
;
yymsp
[
-
3
].
minor
.
yy104
=
yylhsminor
.
yy104
;
break
;
break
;
case
264
:
/* expression ::= NK_LP expression NK_RP */
case
264
:
/* expression ::= NK_LP expression NK_RP */
case
30
7
:
/* boolean_primary ::= NK_LP boolean_value_expression NK_RP */
yytestcase
(
yyruleno
==
307
);
case
30
8
:
/* boolean_primary ::= NK_LP boolean_value_expression NK_RP */
yytestcase
(
yyruleno
==
308
);
{
yylhsminor
.
yy104
=
createRawExprNodeExt
(
pCxt
,
&
yymsp
[
-
2
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy0
,
releaseRawExprNode
(
pCxt
,
yymsp
[
-
1
].
minor
.
yy104
));
}
{
yylhsminor
.
yy104
=
createRawExprNodeExt
(
pCxt
,
&
yymsp
[
-
2
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy0
,
releaseRawExprNode
(
pCxt
,
yymsp
[
-
1
].
minor
.
yy104
));
}
yymsp
[
-
2
].
minor
.
yy104
=
yylhsminor
.
yy104
;
yymsp
[
-
2
].
minor
.
yy104
=
yylhsminor
.
yy104
;
break
;
break
;
...
@@ -3321,7 +3329,7 @@ static YYACTIONTYPE yy_reduce(
...
@@ -3321,7 +3329,7 @@ static YYACTIONTYPE yy_reduce(
case
266
:
/* expression ::= NK_MINUS expression */
case
266
:
/* expression ::= NK_MINUS expression */
{
{
SToken
t
=
getTokenFromRawExprNode
(
pCxt
,
yymsp
[
0
].
minor
.
yy104
);
SToken
t
=
getTokenFromRawExprNode
(
pCxt
,
yymsp
[
0
].
minor
.
yy104
);
yylhsminor
.
yy104
=
createRawExprNodeExt
(
pCxt
,
&
yymsp
[
-
1
].
minor
.
yy0
,
&
t
,
createOperatorNode
(
pCxt
,
OP_TYPE_
SUB
,
releaseRawExprNode
(
pCxt
,
yymsp
[
0
].
minor
.
yy104
),
NULL
));
yylhsminor
.
yy104
=
createRawExprNodeExt
(
pCxt
,
&
yymsp
[
-
1
].
minor
.
yy0
,
&
t
,
createOperatorNode
(
pCxt
,
OP_TYPE_
MINUS
,
releaseRawExprNode
(
pCxt
,
yymsp
[
0
].
minor
.
yy104
),
NULL
));
}
}
yymsp
[
-
1
].
minor
.
yy104
=
yylhsminor
.
yy104
;
yymsp
[
-
1
].
minor
.
yy104
=
yylhsminor
.
yy104
;
break
;
break
;
...
@@ -3381,25 +3389,19 @@ static YYACTIONTYPE yy_reduce(
...
@@ -3381,25 +3389,19 @@ static YYACTIONTYPE yy_reduce(
{
yylhsminor
.
yy104
=
createRawExprNodeExt
(
pCxt
,
&
yymsp
[
-
2
].
minor
.
yy129
,
&
yymsp
[
0
].
minor
.
yy129
,
createColumnNode
(
pCxt
,
&
yymsp
[
-
2
].
minor
.
yy129
,
&
yymsp
[
0
].
minor
.
yy129
));
}
{
yylhsminor
.
yy104
=
createRawExprNodeExt
(
pCxt
,
&
yymsp
[
-
2
].
minor
.
yy129
,
&
yymsp
[
0
].
minor
.
yy129
,
createColumnNode
(
pCxt
,
&
yymsp
[
-
2
].
minor
.
yy129
,
&
yymsp
[
0
].
minor
.
yy129
));
}
yymsp
[
-
2
].
minor
.
yy104
=
yylhsminor
.
yy104
;
yymsp
[
-
2
].
minor
.
yy104
=
yylhsminor
.
yy104
;
break
;
break
;
case
276
:
/* pseudo_column ::= NK_UNDERLINE ROWTS */
case
276
:
/* pseudo_column ::= NOW */
case
278
:
/* pseudo_column ::= NK_UNDERLINE QSTARTTS */
yytestcase
(
yyruleno
==
278
);
case
277
:
/* pseudo_column ::= ROWTS */
yytestcase
(
yyruleno
==
277
);
case
279
:
/* pseudo_column ::= NK_UNDERLINE QENDTS */
yytestcase
(
yyruleno
==
279
);
case
278
:
/* pseudo_column ::= TBNAME */
yytestcase
(
yyruleno
==
278
);
case
280
:
/* pseudo_column ::= NK_UNDERLINE WSTARTTS */
yytestcase
(
yyruleno
==
280
);
case
279
:
/* pseudo_column ::= QSTARTTS */
yytestcase
(
yyruleno
==
279
);
case
281
:
/* pseudo_column ::= NK_UNDERLINE WENDTS */
yytestcase
(
yyruleno
==
281
);
case
280
:
/* pseudo_column ::= QENDTS */
yytestcase
(
yyruleno
==
280
);
case
282
:
/* pseudo_column ::= NK_UNDERLINE WDURATION */
yytestcase
(
yyruleno
==
282
);
case
281
:
/* pseudo_column ::= WSTARTTS */
yytestcase
(
yyruleno
==
281
);
{
case
282
:
/* pseudo_column ::= WENDTS */
yytestcase
(
yyruleno
==
282
);
SToken
t
=
yymsp
[
-
1
].
minor
.
yy0
;
case
283
:
/* pseudo_column ::= WDURATION */
yytestcase
(
yyruleno
==
283
);
t
.
n
=
(
yymsp
[
0
].
minor
.
yy0
.
z
+
yymsp
[
0
].
minor
.
yy0
.
n
)
-
yymsp
[
-
1
].
minor
.
yy0
.
z
;
yylhsminor
.
yy104
=
createRawExprNode
(
pCxt
,
&
t
,
createFunctionNode
(
pCxt
,
&
t
,
NULL
));
}
yymsp
[
-
1
].
minor
.
yy104
=
yylhsminor
.
yy104
;
break
;
case
277
:
/* pseudo_column ::= TBNAME */
{
yylhsminor
.
yy104
=
createRawExprNode
(
pCxt
,
&
yymsp
[
0
].
minor
.
yy0
,
createFunctionNode
(
pCxt
,
&
yymsp
[
0
].
minor
.
yy0
,
NULL
));
}
{
yylhsminor
.
yy104
=
createRawExprNode
(
pCxt
,
&
yymsp
[
0
].
minor
.
yy0
,
createFunctionNode
(
pCxt
,
&
yymsp
[
0
].
minor
.
yy0
,
NULL
));
}
yymsp
[
0
].
minor
.
yy104
=
yylhsminor
.
yy104
;
yymsp
[
0
].
minor
.
yy104
=
yylhsminor
.
yy104
;
break
;
break
;
case
28
3
:
/* predicate ::= expression compare_op expression */
case
28
4
:
/* predicate ::= expression compare_op expression */
case
28
8
:
/* predicate ::= expression in_op in_predicate_value */
yytestcase
(
yyruleno
==
288
);
case
28
9
:
/* predicate ::= expression in_op in_predicate_value */
yytestcase
(
yyruleno
==
289
);
{
{
SToken
s
=
getTokenFromRawExprNode
(
pCxt
,
yymsp
[
-
2
].
minor
.
yy104
);
SToken
s
=
getTokenFromRawExprNode
(
pCxt
,
yymsp
[
-
2
].
minor
.
yy104
);
SToken
e
=
getTokenFromRawExprNode
(
pCxt
,
yymsp
[
0
].
minor
.
yy104
);
SToken
e
=
getTokenFromRawExprNode
(
pCxt
,
yymsp
[
0
].
minor
.
yy104
);
...
@@ -3407,7 +3409,7 @@ static YYACTIONTYPE yy_reduce(
...
@@ -3407,7 +3409,7 @@ static YYACTIONTYPE yy_reduce(
}
}
yymsp
[
-
2
].
minor
.
yy104
=
yylhsminor
.
yy104
;
yymsp
[
-
2
].
minor
.
yy104
=
yylhsminor
.
yy104
;
break
;
break
;
case
28
4
:
/* predicate ::= expression BETWEEN expression AND expression */
case
28
5
:
/* predicate ::= expression BETWEEN expression AND expression */
{
{
SToken
s
=
getTokenFromRawExprNode
(
pCxt
,
yymsp
[
-
4
].
minor
.
yy104
);
SToken
s
=
getTokenFromRawExprNode
(
pCxt
,
yymsp
[
-
4
].
minor
.
yy104
);
SToken
e
=
getTokenFromRawExprNode
(
pCxt
,
yymsp
[
0
].
minor
.
yy104
);
SToken
e
=
getTokenFromRawExprNode
(
pCxt
,
yymsp
[
0
].
minor
.
yy104
);
...
@@ -3415,7 +3417,7 @@ static YYACTIONTYPE yy_reduce(
...
@@ -3415,7 +3417,7 @@ static YYACTIONTYPE yy_reduce(
}
}
yymsp
[
-
4
].
minor
.
yy104
=
yylhsminor
.
yy104
;
yymsp
[
-
4
].
minor
.
yy104
=
yylhsminor
.
yy104
;
break
;
break
;
case
28
5
:
/* predicate ::= expression NOT BETWEEN expression AND expression */
case
28
6
:
/* predicate ::= expression NOT BETWEEN expression AND expression */
{
{
SToken
s
=
getTokenFromRawExprNode
(
pCxt
,
yymsp
[
-
5
].
minor
.
yy104
);
SToken
s
=
getTokenFromRawExprNode
(
pCxt
,
yymsp
[
-
5
].
minor
.
yy104
);
SToken
e
=
getTokenFromRawExprNode
(
pCxt
,
yymsp
[
0
].
minor
.
yy104
);
SToken
e
=
getTokenFromRawExprNode
(
pCxt
,
yymsp
[
0
].
minor
.
yy104
);
...
@@ -3423,68 +3425,68 @@ static YYACTIONTYPE yy_reduce(
...
@@ -3423,68 +3425,68 @@ static YYACTIONTYPE yy_reduce(
}
}
yymsp
[
-
5
].
minor
.
yy104
=
yylhsminor
.
yy104
;
yymsp
[
-
5
].
minor
.
yy104
=
yylhsminor
.
yy104
;
break
;
break
;
case
28
6
:
/* predicate ::= expression IS NULL */
case
28
7
:
/* predicate ::= expression IS NULL */
{
{
SToken
s
=
getTokenFromRawExprNode
(
pCxt
,
yymsp
[
-
2
].
minor
.
yy104
);
SToken
s
=
getTokenFromRawExprNode
(
pCxt
,
yymsp
[
-
2
].
minor
.
yy104
);
yylhsminor
.
yy104
=
createRawExprNodeExt
(
pCxt
,
&
s
,
&
yymsp
[
0
].
minor
.
yy0
,
createOperatorNode
(
pCxt
,
OP_TYPE_IS_NULL
,
releaseRawExprNode
(
pCxt
,
yymsp
[
-
2
].
minor
.
yy104
),
NULL
));
yylhsminor
.
yy104
=
createRawExprNodeExt
(
pCxt
,
&
s
,
&
yymsp
[
0
].
minor
.
yy0
,
createOperatorNode
(
pCxt
,
OP_TYPE_IS_NULL
,
releaseRawExprNode
(
pCxt
,
yymsp
[
-
2
].
minor
.
yy104
),
NULL
));
}
}
yymsp
[
-
2
].
minor
.
yy104
=
yylhsminor
.
yy104
;
yymsp
[
-
2
].
minor
.
yy104
=
yylhsminor
.
yy104
;
break
;
break
;
case
28
7
:
/* predicate ::= expression IS NOT NULL */
case
28
8
:
/* predicate ::= expression IS NOT NULL */
{
{
SToken
s
=
getTokenFromRawExprNode
(
pCxt
,
yymsp
[
-
3
].
minor
.
yy104
);
SToken
s
=
getTokenFromRawExprNode
(
pCxt
,
yymsp
[
-
3
].
minor
.
yy104
);
yylhsminor
.
yy104
=
createRawExprNodeExt
(
pCxt
,
&
s
,
&
yymsp
[
0
].
minor
.
yy0
,
createOperatorNode
(
pCxt
,
OP_TYPE_IS_NOT_NULL
,
releaseRawExprNode
(
pCxt
,
yymsp
[
-
3
].
minor
.
yy104
),
NULL
));
yylhsminor
.
yy104
=
createRawExprNodeExt
(
pCxt
,
&
s
,
&
yymsp
[
0
].
minor
.
yy0
,
createOperatorNode
(
pCxt
,
OP_TYPE_IS_NOT_NULL
,
releaseRawExprNode
(
pCxt
,
yymsp
[
-
3
].
minor
.
yy104
),
NULL
));
}
}
yymsp
[
-
3
].
minor
.
yy104
=
yylhsminor
.
yy104
;
yymsp
[
-
3
].
minor
.
yy104
=
yylhsminor
.
yy104
;
break
;
break
;
case
2
89
:
/* compare_op ::= NK_LT */
case
2
90
:
/* compare_op ::= NK_LT */
{
yymsp
[
0
].
minor
.
yy60
=
OP_TYPE_LOWER_THAN
;
}
{
yymsp
[
0
].
minor
.
yy60
=
OP_TYPE_LOWER_THAN
;
}
break
;
break
;
case
29
0
:
/* compare_op ::= NK_GT */
case
29
1
:
/* compare_op ::= NK_GT */
{
yymsp
[
0
].
minor
.
yy60
=
OP_TYPE_GREATER_THAN
;
}
{
yymsp
[
0
].
minor
.
yy60
=
OP_TYPE_GREATER_THAN
;
}
break
;
break
;
case
29
1
:
/* compare_op ::= NK_LE */
case
29
2
:
/* compare_op ::= NK_LE */
{
yymsp
[
0
].
minor
.
yy60
=
OP_TYPE_LOWER_EQUAL
;
}
{
yymsp
[
0
].
minor
.
yy60
=
OP_TYPE_LOWER_EQUAL
;
}
break
;
break
;
case
29
2
:
/* compare_op ::= NK_GE */
case
29
3
:
/* compare_op ::= NK_GE */
{
yymsp
[
0
].
minor
.
yy60
=
OP_TYPE_GREATER_EQUAL
;
}
{
yymsp
[
0
].
minor
.
yy60
=
OP_TYPE_GREATER_EQUAL
;
}
break
;
break
;
case
29
3
:
/* compare_op ::= NK_NE */
case
29
4
:
/* compare_op ::= NK_NE */
{
yymsp
[
0
].
minor
.
yy60
=
OP_TYPE_NOT_EQUAL
;
}
{
yymsp
[
0
].
minor
.
yy60
=
OP_TYPE_NOT_EQUAL
;
}
break
;
break
;
case
29
4
:
/* compare_op ::= NK_EQ */
case
29
5
:
/* compare_op ::= NK_EQ */
{
yymsp
[
0
].
minor
.
yy60
=
OP_TYPE_EQUAL
;
}
{
yymsp
[
0
].
minor
.
yy60
=
OP_TYPE_EQUAL
;
}
break
;
break
;
case
29
5
:
/* compare_op ::= LIKE */
case
29
6
:
/* compare_op ::= LIKE */
{
yymsp
[
0
].
minor
.
yy60
=
OP_TYPE_LIKE
;
}
{
yymsp
[
0
].
minor
.
yy60
=
OP_TYPE_LIKE
;
}
break
;
break
;
case
29
6
:
/* compare_op ::= NOT LIKE */
case
29
7
:
/* compare_op ::= NOT LIKE */
{
yymsp
[
-
1
].
minor
.
yy60
=
OP_TYPE_NOT_LIKE
;
}
{
yymsp
[
-
1
].
minor
.
yy60
=
OP_TYPE_NOT_LIKE
;
}
break
;
break
;
case
29
7
:
/* compare_op ::= MATCH */
case
29
8
:
/* compare_op ::= MATCH */
{
yymsp
[
0
].
minor
.
yy60
=
OP_TYPE_MATCH
;
}
{
yymsp
[
0
].
minor
.
yy60
=
OP_TYPE_MATCH
;
}
break
;
break
;
case
29
8
:
/* compare_op ::= NMATCH */
case
29
9
:
/* compare_op ::= NMATCH */
{
yymsp
[
0
].
minor
.
yy60
=
OP_TYPE_NMATCH
;
}
{
yymsp
[
0
].
minor
.
yy60
=
OP_TYPE_NMATCH
;
}
break
;
break
;
case
299
:
/* in_op ::= IN */
case
300
:
/* in_op ::= IN */
{
yymsp
[
0
].
minor
.
yy60
=
OP_TYPE_IN
;
}
{
yymsp
[
0
].
minor
.
yy60
=
OP_TYPE_IN
;
}
break
;
break
;
case
30
0
:
/* in_op ::= NOT IN */
case
30
1
:
/* in_op ::= NOT IN */
{
yymsp
[
-
1
].
minor
.
yy60
=
OP_TYPE_NOT_IN
;
}
{
yymsp
[
-
1
].
minor
.
yy60
=
OP_TYPE_NOT_IN
;
}
break
;
break
;
case
30
1
:
/* in_predicate_value ::= NK_LP expression_list NK_RP */
case
30
2
:
/* in_predicate_value ::= NK_LP expression_list NK_RP */
{
yylhsminor
.
yy104
=
createRawExprNodeExt
(
pCxt
,
&
yymsp
[
-
2
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy0
,
createNodeListNode
(
pCxt
,
yymsp
[
-
1
].
minor
.
yy312
));
}
{
yylhsminor
.
yy104
=
createRawExprNodeExt
(
pCxt
,
&
yymsp
[
-
2
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy0
,
createNodeListNode
(
pCxt
,
yymsp
[
-
1
].
minor
.
yy312
));
}
yymsp
[
-
2
].
minor
.
yy104
=
yylhsminor
.
yy104
;
yymsp
[
-
2
].
minor
.
yy104
=
yylhsminor
.
yy104
;
break
;
break
;
case
30
3
:
/* boolean_value_expression ::= NOT boolean_primary */
case
30
4
:
/* boolean_value_expression ::= NOT boolean_primary */
{
{
SToken
e
=
getTokenFromRawExprNode
(
pCxt
,
yymsp
[
0
].
minor
.
yy104
);
SToken
e
=
getTokenFromRawExprNode
(
pCxt
,
yymsp
[
0
].
minor
.
yy104
);
yylhsminor
.
yy104
=
createRawExprNodeExt
(
pCxt
,
&
yymsp
[
-
1
].
minor
.
yy0
,
&
e
,
createLogicConditionNode
(
pCxt
,
LOGIC_COND_TYPE_NOT
,
releaseRawExprNode
(
pCxt
,
yymsp
[
0
].
minor
.
yy104
),
NULL
));
yylhsminor
.
yy104
=
createRawExprNodeExt
(
pCxt
,
&
yymsp
[
-
1
].
minor
.
yy0
,
&
e
,
createLogicConditionNode
(
pCxt
,
LOGIC_COND_TYPE_NOT
,
releaseRawExprNode
(
pCxt
,
yymsp
[
0
].
minor
.
yy104
),
NULL
));
}
}
yymsp
[
-
1
].
minor
.
yy104
=
yylhsminor
.
yy104
;
yymsp
[
-
1
].
minor
.
yy104
=
yylhsminor
.
yy104
;
break
;
break
;
case
30
4
:
/* boolean_value_expression ::= boolean_value_expression OR boolean_value_expression */
case
30
5
:
/* boolean_value_expression ::= boolean_value_expression OR boolean_value_expression */
{
{
SToken
s
=
getTokenFromRawExprNode
(
pCxt
,
yymsp
[
-
2
].
minor
.
yy104
);
SToken
s
=
getTokenFromRawExprNode
(
pCxt
,
yymsp
[
-
2
].
minor
.
yy104
);
SToken
e
=
getTokenFromRawExprNode
(
pCxt
,
yymsp
[
0
].
minor
.
yy104
);
SToken
e
=
getTokenFromRawExprNode
(
pCxt
,
yymsp
[
0
].
minor
.
yy104
);
...
@@ -3492,7 +3494,7 @@ static YYACTIONTYPE yy_reduce(
...
@@ -3492,7 +3494,7 @@ static YYACTIONTYPE yy_reduce(
}
}
yymsp
[
-
2
].
minor
.
yy104
=
yylhsminor
.
yy104
;
yymsp
[
-
2
].
minor
.
yy104
=
yylhsminor
.
yy104
;
break
;
break
;
case
30
5
:
/* boolean_value_expression ::= boolean_value_expression AND boolean_value_expression */
case
30
6
:
/* boolean_value_expression ::= boolean_value_expression AND boolean_value_expression */
{
{
SToken
s
=
getTokenFromRawExprNode
(
pCxt
,
yymsp
[
-
2
].
minor
.
yy104
);
SToken
s
=
getTokenFromRawExprNode
(
pCxt
,
yymsp
[
-
2
].
minor
.
yy104
);
SToken
e
=
getTokenFromRawExprNode
(
pCxt
,
yymsp
[
0
].
minor
.
yy104
);
SToken
e
=
getTokenFromRawExprNode
(
pCxt
,
yymsp
[
0
].
minor
.
yy104
);
...
@@ -3500,52 +3502,52 @@ static YYACTIONTYPE yy_reduce(
...
@@ -3500,52 +3502,52 @@ static YYACTIONTYPE yy_reduce(
}
}
yymsp
[
-
2
].
minor
.
yy104
=
yylhsminor
.
yy104
;
yymsp
[
-
2
].
minor
.
yy104
=
yylhsminor
.
yy104
;
break
;
break
;
case
31
0
:
/* from_clause ::= FROM table_reference_list */
case
31
1
:
/* from_clause ::= FROM table_reference_list */
case
34
0
:
/* where_clause_opt ::= WHERE search_condition */
yytestcase
(
yyruleno
==
340
);
case
34
1
:
/* where_clause_opt ::= WHERE search_condition */
yytestcase
(
yyruleno
==
341
);
case
36
3
:
/* having_clause_opt ::= HAVING search_condition */
yytestcase
(
yyruleno
==
363
);
case
36
4
:
/* having_clause_opt ::= HAVING search_condition */
yytestcase
(
yyruleno
==
364
);
{
yymsp
[
-
1
].
minor
.
yy104
=
yymsp
[
0
].
minor
.
yy104
;
}
{
yymsp
[
-
1
].
minor
.
yy104
=
yymsp
[
0
].
minor
.
yy104
;
}
break
;
break
;
case
31
2
:
/* table_reference_list ::= table_reference_list NK_COMMA table_reference */
case
31
3
:
/* table_reference_list ::= table_reference_list NK_COMMA table_reference */
{
yylhsminor
.
yy104
=
createJoinTableNode
(
pCxt
,
JOIN_TYPE_INNER
,
yymsp
[
-
2
].
minor
.
yy104
,
yymsp
[
0
].
minor
.
yy104
,
NULL
);
}
{
yylhsminor
.
yy104
=
createJoinTableNode
(
pCxt
,
JOIN_TYPE_INNER
,
yymsp
[
-
2
].
minor
.
yy104
,
yymsp
[
0
].
minor
.
yy104
,
NULL
);
}
yymsp
[
-
2
].
minor
.
yy104
=
yylhsminor
.
yy104
;
yymsp
[
-
2
].
minor
.
yy104
=
yylhsminor
.
yy104
;
break
;
break
;
case
31
5
:
/* table_primary ::= table_name alias_opt */
case
31
6
:
/* table_primary ::= table_name alias_opt */
{
yylhsminor
.
yy104
=
createRealTableNode
(
pCxt
,
NULL
,
&
yymsp
[
-
1
].
minor
.
yy129
,
&
yymsp
[
0
].
minor
.
yy129
);
}
{
yylhsminor
.
yy104
=
createRealTableNode
(
pCxt
,
NULL
,
&
yymsp
[
-
1
].
minor
.
yy129
,
&
yymsp
[
0
].
minor
.
yy129
);
}
yymsp
[
-
1
].
minor
.
yy104
=
yylhsminor
.
yy104
;
yymsp
[
-
1
].
minor
.
yy104
=
yylhsminor
.
yy104
;
break
;
break
;
case
31
6
:
/* table_primary ::= db_name NK_DOT table_name alias_opt */
case
31
7
:
/* table_primary ::= db_name NK_DOT table_name alias_opt */
{
yylhsminor
.
yy104
=
createRealTableNode
(
pCxt
,
&
yymsp
[
-
3
].
minor
.
yy129
,
&
yymsp
[
-
1
].
minor
.
yy129
,
&
yymsp
[
0
].
minor
.
yy129
);
}
{
yylhsminor
.
yy104
=
createRealTableNode
(
pCxt
,
&
yymsp
[
-
3
].
minor
.
yy129
,
&
yymsp
[
-
1
].
minor
.
yy129
,
&
yymsp
[
0
].
minor
.
yy129
);
}
yymsp
[
-
3
].
minor
.
yy104
=
yylhsminor
.
yy104
;
yymsp
[
-
3
].
minor
.
yy104
=
yylhsminor
.
yy104
;
break
;
break
;
case
31
7
:
/* table_primary ::= subquery alias_opt */
case
31
8
:
/* table_primary ::= subquery alias_opt */
{
yylhsminor
.
yy104
=
createTempTableNode
(
pCxt
,
releaseRawExprNode
(
pCxt
,
yymsp
[
-
1
].
minor
.
yy104
),
&
yymsp
[
0
].
minor
.
yy129
);
}
{
yylhsminor
.
yy104
=
createTempTableNode
(
pCxt
,
releaseRawExprNode
(
pCxt
,
yymsp
[
-
1
].
minor
.
yy104
),
&
yymsp
[
0
].
minor
.
yy129
);
}
yymsp
[
-
1
].
minor
.
yy104
=
yylhsminor
.
yy104
;
yymsp
[
-
1
].
minor
.
yy104
=
yylhsminor
.
yy104
;
break
;
break
;
case
3
19
:
/* alias_opt ::= */
case
3
20
:
/* alias_opt ::= */
{
yymsp
[
1
].
minor
.
yy129
=
nil_token
;
}
{
yymsp
[
1
].
minor
.
yy129
=
nil_token
;
}
break
;
break
;
case
32
0
:
/* alias_opt ::= table_alias */
case
32
1
:
/* alias_opt ::= table_alias */
{
yylhsminor
.
yy129
=
yymsp
[
0
].
minor
.
yy129
;
}
{
yylhsminor
.
yy129
=
yymsp
[
0
].
minor
.
yy129
;
}
yymsp
[
0
].
minor
.
yy129
=
yylhsminor
.
yy129
;
yymsp
[
0
].
minor
.
yy129
=
yylhsminor
.
yy129
;
break
;
break
;
case
32
1
:
/* alias_opt ::= AS table_alias */
case
32
2
:
/* alias_opt ::= AS table_alias */
{
yymsp
[
-
1
].
minor
.
yy129
=
yymsp
[
0
].
minor
.
yy129
;
}
{
yymsp
[
-
1
].
minor
.
yy129
=
yymsp
[
0
].
minor
.
yy129
;
}
break
;
break
;
case
32
2
:
/* parenthesized_joined_table ::= NK_LP joined_table NK_RP */
case
32
3
:
/* parenthesized_joined_table ::= NK_LP joined_table NK_RP */
case
32
3
:
/* parenthesized_joined_table ::= NK_LP parenthesized_joined_table NK_RP */
yytestcase
(
yyruleno
==
323
);
case
32
4
:
/* parenthesized_joined_table ::= NK_LP parenthesized_joined_table NK_RP */
yytestcase
(
yyruleno
==
324
);
{
yymsp
[
-
2
].
minor
.
yy104
=
yymsp
[
-
1
].
minor
.
yy104
;
}
{
yymsp
[
-
2
].
minor
.
yy104
=
yymsp
[
-
1
].
minor
.
yy104
;
}
break
;
break
;
case
32
4
:
/* joined_table ::= table_reference join_type JOIN table_reference ON search_condition */
case
32
5
:
/* joined_table ::= table_reference join_type JOIN table_reference ON search_condition */
{
yylhsminor
.
yy104
=
createJoinTableNode
(
pCxt
,
yymsp
[
-
4
].
minor
.
yy532
,
yymsp
[
-
5
].
minor
.
yy104
,
yymsp
[
-
2
].
minor
.
yy104
,
yymsp
[
0
].
minor
.
yy104
);
}
{
yylhsminor
.
yy104
=
createJoinTableNode
(
pCxt
,
yymsp
[
-
4
].
minor
.
yy532
,
yymsp
[
-
5
].
minor
.
yy104
,
yymsp
[
-
2
].
minor
.
yy104
,
yymsp
[
0
].
minor
.
yy104
);
}
yymsp
[
-
5
].
minor
.
yy104
=
yylhsminor
.
yy104
;
yymsp
[
-
5
].
minor
.
yy104
=
yylhsminor
.
yy104
;
break
;
break
;
case
32
5
:
/* join_type ::= */
case
32
6
:
/* join_type ::= */
{
yymsp
[
1
].
minor
.
yy532
=
JOIN_TYPE_INNER
;
}
{
yymsp
[
1
].
minor
.
yy532
=
JOIN_TYPE_INNER
;
}
break
;
break
;
case
32
6
:
/* join_type ::= INNER */
case
32
7
:
/* join_type ::= INNER */
{
yymsp
[
0
].
minor
.
yy532
=
JOIN_TYPE_INNER
;
}
{
yymsp
[
0
].
minor
.
yy532
=
JOIN_TYPE_INNER
;
}
break
;
break
;
case
32
7
:
/* query_specification ::= SELECT set_quantifier_opt select_list from_clause where_clause_opt partition_by_clause_opt twindow_clause_opt group_by_clause_opt having_clause_opt */
case
32
8
:
/* query_specification ::= SELECT set_quantifier_opt select_list from_clause where_clause_opt partition_by_clause_opt twindow_clause_opt group_by_clause_opt having_clause_opt */
{
{
yymsp
[
-
8
].
minor
.
yy104
=
createSelectStmt
(
pCxt
,
yymsp
[
-
7
].
minor
.
yy185
,
yymsp
[
-
6
].
minor
.
yy312
,
yymsp
[
-
5
].
minor
.
yy104
);
yymsp
[
-
8
].
minor
.
yy104
=
createSelectStmt
(
pCxt
,
yymsp
[
-
7
].
minor
.
yy185
,
yymsp
[
-
6
].
minor
.
yy312
,
yymsp
[
-
5
].
minor
.
yy104
);
yymsp
[
-
8
].
minor
.
yy104
=
addWhereClause
(
pCxt
,
yymsp
[
-
8
].
minor
.
yy104
,
yymsp
[
-
4
].
minor
.
yy104
);
yymsp
[
-
8
].
minor
.
yy104
=
addWhereClause
(
pCxt
,
yymsp
[
-
8
].
minor
.
yy104
,
yymsp
[
-
4
].
minor
.
yy104
);
...
@@ -3555,81 +3557,81 @@ static YYACTIONTYPE yy_reduce(
...
@@ -3555,81 +3557,81 @@ static YYACTIONTYPE yy_reduce(
yymsp
[
-
8
].
minor
.
yy104
=
addHavingClause
(
pCxt
,
yymsp
[
-
8
].
minor
.
yy104
,
yymsp
[
0
].
minor
.
yy104
);
yymsp
[
-
8
].
minor
.
yy104
=
addHavingClause
(
pCxt
,
yymsp
[
-
8
].
minor
.
yy104
,
yymsp
[
0
].
minor
.
yy104
);
}
}
break
;
break
;
case
33
0
:
/* set_quantifier_opt ::= ALL */
case
33
1
:
/* set_quantifier_opt ::= ALL */
{
yymsp
[
0
].
minor
.
yy185
=
false
;
}
{
yymsp
[
0
].
minor
.
yy185
=
false
;
}
break
;
break
;
case
33
1
:
/* select_list ::= NK_STAR */
case
33
2
:
/* select_list ::= NK_STAR */
{
yymsp
[
0
].
minor
.
yy312
=
NULL
;
}
{
yymsp
[
0
].
minor
.
yy312
=
NULL
;
}
break
;
break
;
case
33
5
:
/* select_item ::= common_expression */
case
33
6
:
/* select_item ::= common_expression */
{
{
SToken
t
=
getTokenFromRawExprNode
(
pCxt
,
yymsp
[
0
].
minor
.
yy104
);
SToken
t
=
getTokenFromRawExprNode
(
pCxt
,
yymsp
[
0
].
minor
.
yy104
);
yylhsminor
.
yy104
=
setProjectionAlias
(
pCxt
,
releaseRawExprNode
(
pCxt
,
yymsp
[
0
].
minor
.
yy104
),
&
t
);
yylhsminor
.
yy104
=
setProjectionAlias
(
pCxt
,
releaseRawExprNode
(
pCxt
,
yymsp
[
0
].
minor
.
yy104
),
&
t
);
}
}
yymsp
[
0
].
minor
.
yy104
=
yylhsminor
.
yy104
;
yymsp
[
0
].
minor
.
yy104
=
yylhsminor
.
yy104
;
break
;
break
;
case
33
6
:
/* select_item ::= common_expression column_alias */
case
33
7
:
/* select_item ::= common_expression column_alias */
{
yylhsminor
.
yy104
=
setProjectionAlias
(
pCxt
,
releaseRawExprNode
(
pCxt
,
yymsp
[
-
1
].
minor
.
yy104
),
&
yymsp
[
0
].
minor
.
yy129
);
}
{
yylhsminor
.
yy104
=
setProjectionAlias
(
pCxt
,
releaseRawExprNode
(
pCxt
,
yymsp
[
-
1
].
minor
.
yy104
),
&
yymsp
[
0
].
minor
.
yy129
);
}
yymsp
[
-
1
].
minor
.
yy104
=
yylhsminor
.
yy104
;
yymsp
[
-
1
].
minor
.
yy104
=
yylhsminor
.
yy104
;
break
;
break
;
case
33
7
:
/* select_item ::= common_expression AS column_alias */
case
33
8
:
/* select_item ::= common_expression AS column_alias */
{
yylhsminor
.
yy104
=
setProjectionAlias
(
pCxt
,
releaseRawExprNode
(
pCxt
,
yymsp
[
-
2
].
minor
.
yy104
),
&
yymsp
[
0
].
minor
.
yy129
);
}
{
yylhsminor
.
yy104
=
setProjectionAlias
(
pCxt
,
releaseRawExprNode
(
pCxt
,
yymsp
[
-
2
].
minor
.
yy104
),
&
yymsp
[
0
].
minor
.
yy129
);
}
yymsp
[
-
2
].
minor
.
yy104
=
yylhsminor
.
yy104
;
yymsp
[
-
2
].
minor
.
yy104
=
yylhsminor
.
yy104
;
break
;
break
;
case
33
8
:
/* select_item ::= table_name NK_DOT NK_STAR */
case
33
9
:
/* select_item ::= table_name NK_DOT NK_STAR */
{
yylhsminor
.
yy104
=
createColumnNode
(
pCxt
,
&
yymsp
[
-
2
].
minor
.
yy129
,
&
yymsp
[
0
].
minor
.
yy0
);
}
{
yylhsminor
.
yy104
=
createColumnNode
(
pCxt
,
&
yymsp
[
-
2
].
minor
.
yy129
,
&
yymsp
[
0
].
minor
.
yy0
);
}
yymsp
[
-
2
].
minor
.
yy104
=
yylhsminor
.
yy104
;
yymsp
[
-
2
].
minor
.
yy104
=
yylhsminor
.
yy104
;
break
;
break
;
case
34
2
:
/* partition_by_clause_opt ::= PARTITION BY expression_list */
case
34
3
:
/* partition_by_clause_opt ::= PARTITION BY expression_list */
case
3
59
:
/* group_by_clause_opt ::= GROUP BY group_by_list */
yytestcase
(
yyruleno
==
359
);
case
3
60
:
/* group_by_clause_opt ::= GROUP BY group_by_list */
yytestcase
(
yyruleno
==
360
);
case
3
69
:
/* order_by_clause_opt ::= ORDER BY sort_specification_list */
yytestcase
(
yyruleno
==
369
);
case
3
70
:
/* order_by_clause_opt ::= ORDER BY sort_specification_list */
yytestcase
(
yyruleno
==
370
);
{
yymsp
[
-
2
].
minor
.
yy312
=
yymsp
[
0
].
minor
.
yy312
;
}
{
yymsp
[
-
2
].
minor
.
yy312
=
yymsp
[
0
].
minor
.
yy312
;
}
break
;
break
;
case
34
4
:
/* twindow_clause_opt ::= SESSION NK_LP column_reference NK_COMMA duration_literal NK_RP */
case
34
5
:
/* twindow_clause_opt ::= SESSION NK_LP column_reference NK_COMMA duration_literal NK_RP */
{
yymsp
[
-
5
].
minor
.
yy104
=
createSessionWindowNode
(
pCxt
,
releaseRawExprNode
(
pCxt
,
yymsp
[
-
3
].
minor
.
yy104
),
releaseRawExprNode
(
pCxt
,
yymsp
[
-
1
].
minor
.
yy104
));
}
{
yymsp
[
-
5
].
minor
.
yy104
=
createSessionWindowNode
(
pCxt
,
releaseRawExprNode
(
pCxt
,
yymsp
[
-
3
].
minor
.
yy104
),
releaseRawExprNode
(
pCxt
,
yymsp
[
-
1
].
minor
.
yy104
));
}
break
;
break
;
case
34
5
:
/* twindow_clause_opt ::= STATE_WINDOW NK_LP column_reference NK_RP */
case
34
6
:
/* twindow_clause_opt ::= STATE_WINDOW NK_LP column_reference NK_RP */
{
yymsp
[
-
3
].
minor
.
yy104
=
createStateWindowNode
(
pCxt
,
releaseRawExprNode
(
pCxt
,
yymsp
[
-
1
].
minor
.
yy104
));
}
{
yymsp
[
-
3
].
minor
.
yy104
=
createStateWindowNode
(
pCxt
,
releaseRawExprNode
(
pCxt
,
yymsp
[
-
1
].
minor
.
yy104
));
}
break
;
break
;
case
34
6
:
/* twindow_clause_opt ::= INTERVAL NK_LP duration_literal NK_RP sliding_opt fill_opt */
case
34
7
:
/* twindow_clause_opt ::= INTERVAL NK_LP duration_literal NK_RP sliding_opt fill_opt */
{
yymsp
[
-
5
].
minor
.
yy104
=
createIntervalWindowNode
(
pCxt
,
releaseRawExprNode
(
pCxt
,
yymsp
[
-
3
].
minor
.
yy104
),
NULL
,
yymsp
[
-
1
].
minor
.
yy104
,
yymsp
[
0
].
minor
.
yy104
);
}
{
yymsp
[
-
5
].
minor
.
yy104
=
createIntervalWindowNode
(
pCxt
,
releaseRawExprNode
(
pCxt
,
yymsp
[
-
3
].
minor
.
yy104
),
NULL
,
yymsp
[
-
1
].
minor
.
yy104
,
yymsp
[
0
].
minor
.
yy104
);
}
break
;
break
;
case
34
7
:
/* twindow_clause_opt ::= INTERVAL NK_LP duration_literal NK_COMMA duration_literal NK_RP sliding_opt fill_opt */
case
34
8
:
/* twindow_clause_opt ::= INTERVAL NK_LP duration_literal NK_COMMA duration_literal NK_RP sliding_opt fill_opt */
{
yymsp
[
-
7
].
minor
.
yy104
=
createIntervalWindowNode
(
pCxt
,
releaseRawExprNode
(
pCxt
,
yymsp
[
-
5
].
minor
.
yy104
),
releaseRawExprNode
(
pCxt
,
yymsp
[
-
3
].
minor
.
yy104
),
yymsp
[
-
1
].
minor
.
yy104
,
yymsp
[
0
].
minor
.
yy104
);
}
{
yymsp
[
-
7
].
minor
.
yy104
=
createIntervalWindowNode
(
pCxt
,
releaseRawExprNode
(
pCxt
,
yymsp
[
-
5
].
minor
.
yy104
),
releaseRawExprNode
(
pCxt
,
yymsp
[
-
3
].
minor
.
yy104
),
yymsp
[
-
1
].
minor
.
yy104
,
yymsp
[
0
].
minor
.
yy104
);
}
break
;
break
;
case
3
49
:
/* sliding_opt ::= SLIDING NK_LP duration_literal NK_RP */
case
3
50
:
/* sliding_opt ::= SLIDING NK_LP duration_literal NK_RP */
{
yymsp
[
-
3
].
minor
.
yy104
=
releaseRawExprNode
(
pCxt
,
yymsp
[
-
1
].
minor
.
yy104
);
}
{
yymsp
[
-
3
].
minor
.
yy104
=
releaseRawExprNode
(
pCxt
,
yymsp
[
-
1
].
minor
.
yy104
);
}
break
;
break
;
case
35
1
:
/* fill_opt ::= FILL NK_LP fill_mode NK_RP */
case
35
2
:
/* fill_opt ::= FILL NK_LP fill_mode NK_RP */
{
yymsp
[
-
3
].
minor
.
yy104
=
createFillNode
(
pCxt
,
yymsp
[
-
1
].
minor
.
yy550
,
NULL
);
}
{
yymsp
[
-
3
].
minor
.
yy104
=
createFillNode
(
pCxt
,
yymsp
[
-
1
].
minor
.
yy550
,
NULL
);
}
break
;
break
;
case
35
2
:
/* fill_opt ::= FILL NK_LP VALUE NK_COMMA literal_list NK_RP */
case
35
3
:
/* fill_opt ::= FILL NK_LP VALUE NK_COMMA literal_list NK_RP */
{
yymsp
[
-
5
].
minor
.
yy104
=
createFillNode
(
pCxt
,
FILL_MODE_VALUE
,
createNodeListNode
(
pCxt
,
yymsp
[
-
1
].
minor
.
yy312
));
}
{
yymsp
[
-
5
].
minor
.
yy104
=
createFillNode
(
pCxt
,
FILL_MODE_VALUE
,
createNodeListNode
(
pCxt
,
yymsp
[
-
1
].
minor
.
yy312
));
}
break
;
break
;
case
35
3
:
/* fill_mode ::= NONE */
case
35
4
:
/* fill_mode ::= NONE */
{
yymsp
[
0
].
minor
.
yy550
=
FILL_MODE_NONE
;
}
{
yymsp
[
0
].
minor
.
yy550
=
FILL_MODE_NONE
;
}
break
;
break
;
case
35
4
:
/* fill_mode ::= PREV */
case
35
5
:
/* fill_mode ::= PREV */
{
yymsp
[
0
].
minor
.
yy550
=
FILL_MODE_PREV
;
}
{
yymsp
[
0
].
minor
.
yy550
=
FILL_MODE_PREV
;
}
break
;
break
;
case
35
5
:
/* fill_mode ::= NULL */
case
35
6
:
/* fill_mode ::= NULL */
{
yymsp
[
0
].
minor
.
yy550
=
FILL_MODE_NULL
;
}
{
yymsp
[
0
].
minor
.
yy550
=
FILL_MODE_NULL
;
}
break
;
break
;
case
35
6
:
/* fill_mode ::= LINEAR */
case
35
7
:
/* fill_mode ::= LINEAR */
{
yymsp
[
0
].
minor
.
yy550
=
FILL_MODE_LINEAR
;
}
{
yymsp
[
0
].
minor
.
yy550
=
FILL_MODE_LINEAR
;
}
break
;
break
;
case
35
7
:
/* fill_mode ::= NEXT */
case
35
8
:
/* fill_mode ::= NEXT */
{
yymsp
[
0
].
minor
.
yy550
=
FILL_MODE_NEXT
;
}
{
yymsp
[
0
].
minor
.
yy550
=
FILL_MODE_NEXT
;
}
break
;
break
;
case
36
0
:
/* group_by_list ::= expression */
case
36
1
:
/* group_by_list ::= expression */
{
yylhsminor
.
yy312
=
createNodeList
(
pCxt
,
createGroupingSetNode
(
pCxt
,
releaseRawExprNode
(
pCxt
,
yymsp
[
0
].
minor
.
yy104
)));
}
{
yylhsminor
.
yy312
=
createNodeList
(
pCxt
,
createGroupingSetNode
(
pCxt
,
releaseRawExprNode
(
pCxt
,
yymsp
[
0
].
minor
.
yy104
)));
}
yymsp
[
0
].
minor
.
yy312
=
yylhsminor
.
yy312
;
yymsp
[
0
].
minor
.
yy312
=
yylhsminor
.
yy312
;
break
;
break
;
case
36
1
:
/* group_by_list ::= group_by_list NK_COMMA expression */
case
36
2
:
/* group_by_list ::= group_by_list NK_COMMA expression */
{
yylhsminor
.
yy312
=
addNodeToList
(
pCxt
,
yymsp
[
-
2
].
minor
.
yy312
,
createGroupingSetNode
(
pCxt
,
releaseRawExprNode
(
pCxt
,
yymsp
[
0
].
minor
.
yy104
)));
}
{
yylhsminor
.
yy312
=
addNodeToList
(
pCxt
,
yymsp
[
-
2
].
minor
.
yy312
,
createGroupingSetNode
(
pCxt
,
releaseRawExprNode
(
pCxt
,
yymsp
[
0
].
minor
.
yy104
)));
}
yymsp
[
-
2
].
minor
.
yy312
=
yylhsminor
.
yy312
;
yymsp
[
-
2
].
minor
.
yy312
=
yylhsminor
.
yy312
;
break
;
break
;
case
36
4
:
/* query_expression ::= query_expression_body order_by_clause_opt slimit_clause_opt limit_clause_opt */
case
36
5
:
/* query_expression ::= query_expression_body order_by_clause_opt slimit_clause_opt limit_clause_opt */
{
{
yylhsminor
.
yy104
=
addOrderByClause
(
pCxt
,
yymsp
[
-
3
].
minor
.
yy104
,
yymsp
[
-
2
].
minor
.
yy312
);
yylhsminor
.
yy104
=
addOrderByClause
(
pCxt
,
yymsp
[
-
3
].
minor
.
yy104
,
yymsp
[
-
2
].
minor
.
yy312
);
yylhsminor
.
yy104
=
addSlimitClause
(
pCxt
,
yylhsminor
.
yy104
,
yymsp
[
-
1
].
minor
.
yy104
);
yylhsminor
.
yy104
=
addSlimitClause
(
pCxt
,
yylhsminor
.
yy104
,
yymsp
[
-
1
].
minor
.
yy104
);
...
@@ -3637,46 +3639,46 @@ static YYACTIONTYPE yy_reduce(
...
@@ -3637,46 +3639,46 @@ static YYACTIONTYPE yy_reduce(
}
}
yymsp
[
-
3
].
minor
.
yy104
=
yylhsminor
.
yy104
;
yymsp
[
-
3
].
minor
.
yy104
=
yylhsminor
.
yy104
;
break
;
break
;
case
36
6
:
/* query_expression_body ::= query_expression_body UNION ALL query_expression_body */
case
36
7
:
/* query_expression_body ::= query_expression_body UNION ALL query_expression_body */
{
yylhsminor
.
yy104
=
createSetOperator
(
pCxt
,
SET_OP_TYPE_UNION_ALL
,
yymsp
[
-
3
].
minor
.
yy104
,
yymsp
[
0
].
minor
.
yy104
);
}
{
yylhsminor
.
yy104
=
createSetOperator
(
pCxt
,
SET_OP_TYPE_UNION_ALL
,
yymsp
[
-
3
].
minor
.
yy104
,
yymsp
[
0
].
minor
.
yy104
);
}
yymsp
[
-
3
].
minor
.
yy104
=
yylhsminor
.
yy104
;
yymsp
[
-
3
].
minor
.
yy104
=
yylhsminor
.
yy104
;
break
;
break
;
case
37
1
:
/* slimit_clause_opt ::= SLIMIT NK_INTEGER */
case
37
2
:
/* slimit_clause_opt ::= SLIMIT NK_INTEGER */
case
37
5
:
/* limit_clause_opt ::= LIMIT NK_INTEGER */
yytestcase
(
yyruleno
==
375
);
case
37
6
:
/* limit_clause_opt ::= LIMIT NK_INTEGER */
yytestcase
(
yyruleno
==
376
);
{
yymsp
[
-
1
].
minor
.
yy104
=
createLimitNode
(
pCxt
,
&
yymsp
[
0
].
minor
.
yy0
,
NULL
);
}
{
yymsp
[
-
1
].
minor
.
yy104
=
createLimitNode
(
pCxt
,
&
yymsp
[
0
].
minor
.
yy0
,
NULL
);
}
break
;
break
;
case
37
2
:
/* slimit_clause_opt ::= SLIMIT NK_INTEGER SOFFSET NK_INTEGER */
case
37
3
:
/* slimit_clause_opt ::= SLIMIT NK_INTEGER SOFFSET NK_INTEGER */
case
37
6
:
/* limit_clause_opt ::= LIMIT NK_INTEGER OFFSET NK_INTEGER */
yytestcase
(
yyruleno
==
376
);
case
37
7
:
/* limit_clause_opt ::= LIMIT NK_INTEGER OFFSET NK_INTEGER */
yytestcase
(
yyruleno
==
377
);
{
yymsp
[
-
3
].
minor
.
yy104
=
createLimitNode
(
pCxt
,
&
yymsp
[
-
2
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy0
);
}
{
yymsp
[
-
3
].
minor
.
yy104
=
createLimitNode
(
pCxt
,
&
yymsp
[
-
2
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy0
);
}
break
;
break
;
case
37
3
:
/* slimit_clause_opt ::= SLIMIT NK_INTEGER NK_COMMA NK_INTEGER */
case
37
4
:
/* slimit_clause_opt ::= SLIMIT NK_INTEGER NK_COMMA NK_INTEGER */
case
37
7
:
/* limit_clause_opt ::= LIMIT NK_INTEGER NK_COMMA NK_INTEGER */
yytestcase
(
yyruleno
==
377
);
case
37
8
:
/* limit_clause_opt ::= LIMIT NK_INTEGER NK_COMMA NK_INTEGER */
yytestcase
(
yyruleno
==
378
);
{
yymsp
[
-
3
].
minor
.
yy104
=
createLimitNode
(
pCxt
,
&
yymsp
[
0
].
minor
.
yy0
,
&
yymsp
[
-
2
].
minor
.
yy0
);
}
{
yymsp
[
-
3
].
minor
.
yy104
=
createLimitNode
(
pCxt
,
&
yymsp
[
0
].
minor
.
yy0
,
&
yymsp
[
-
2
].
minor
.
yy0
);
}
break
;
break
;
case
37
8
:
/* subquery ::= NK_LP query_expression NK_RP */
case
37
9
:
/* subquery ::= NK_LP query_expression NK_RP */
{
yylhsminor
.
yy104
=
createRawExprNodeExt
(
pCxt
,
&
yymsp
[
-
2
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy0
,
yymsp
[
-
1
].
minor
.
yy104
);
}
{
yylhsminor
.
yy104
=
createRawExprNodeExt
(
pCxt
,
&
yymsp
[
-
2
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy0
,
yymsp
[
-
1
].
minor
.
yy104
);
}
yymsp
[
-
2
].
minor
.
yy104
=
yylhsminor
.
yy104
;
yymsp
[
-
2
].
minor
.
yy104
=
yylhsminor
.
yy104
;
break
;
break
;
case
38
2
:
/* sort_specification ::= expression ordering_specification_opt null_ordering_opt */
case
38
3
:
/* sort_specification ::= expression ordering_specification_opt null_ordering_opt */
{
yylhsminor
.
yy104
=
createOrderByExprNode
(
pCxt
,
releaseRawExprNode
(
pCxt
,
yymsp
[
-
2
].
minor
.
yy104
),
yymsp
[
-
1
].
minor
.
yy354
,
yymsp
[
0
].
minor
.
yy489
);
}
{
yylhsminor
.
yy104
=
createOrderByExprNode
(
pCxt
,
releaseRawExprNode
(
pCxt
,
yymsp
[
-
2
].
minor
.
yy104
),
yymsp
[
-
1
].
minor
.
yy354
,
yymsp
[
0
].
minor
.
yy489
);
}
yymsp
[
-
2
].
minor
.
yy104
=
yylhsminor
.
yy104
;
yymsp
[
-
2
].
minor
.
yy104
=
yylhsminor
.
yy104
;
break
;
break
;
case
38
3
:
/* ordering_specification_opt ::= */
case
38
4
:
/* ordering_specification_opt ::= */
{
yymsp
[
1
].
minor
.
yy354
=
ORDER_ASC
;
}
{
yymsp
[
1
].
minor
.
yy354
=
ORDER_ASC
;
}
break
;
break
;
case
38
4
:
/* ordering_specification_opt ::= ASC */
case
38
5
:
/* ordering_specification_opt ::= ASC */
{
yymsp
[
0
].
minor
.
yy354
=
ORDER_ASC
;
}
{
yymsp
[
0
].
minor
.
yy354
=
ORDER_ASC
;
}
break
;
break
;
case
38
5
:
/* ordering_specification_opt ::= DESC */
case
38
6
:
/* ordering_specification_opt ::= DESC */
{
yymsp
[
0
].
minor
.
yy354
=
ORDER_DESC
;
}
{
yymsp
[
0
].
minor
.
yy354
=
ORDER_DESC
;
}
break
;
break
;
case
38
6
:
/* null_ordering_opt ::= */
case
38
7
:
/* null_ordering_opt ::= */
{
yymsp
[
1
].
minor
.
yy489
=
NULL_ORDER_DEFAULT
;
}
{
yymsp
[
1
].
minor
.
yy489
=
NULL_ORDER_DEFAULT
;
}
break
;
break
;
case
38
7
:
/* null_ordering_opt ::= NULLS FIRST */
case
38
8
:
/* null_ordering_opt ::= NULLS FIRST */
{
yymsp
[
-
1
].
minor
.
yy489
=
NULL_ORDER_FIRST
;
}
{
yymsp
[
-
1
].
minor
.
yy489
=
NULL_ORDER_FIRST
;
}
break
;
break
;
case
38
8
:
/* null_ordering_opt ::= NULLS LAST */
case
38
9
:
/* null_ordering_opt ::= NULLS LAST */
{
yymsp
[
-
1
].
minor
.
yy489
=
NULL_ORDER_LAST
;
}
{
yymsp
[
-
1
].
minor
.
yy489
=
NULL_ORDER_LAST
;
}
break
;
break
;
default:
default:
...
...
source/libs/planner/test/plannerTest.cpp
浏览文件 @
9e9805f7
...
@@ -193,14 +193,17 @@ TEST_F(PlannerTest, interval) {
...
@@ -193,14 +193,17 @@ TEST_F(PlannerTest, interval) {
// bind("SELECT count(*) FROM t1 interval(10s)");
// bind("SELECT count(*) FROM t1 interval(10s)");
// ASSERT_TRUE(run());
// ASSERT_TRUE(run());
bind
(
"SELECT _wstartts, count(*) FROM t1 interval(10s)"
);
ASSERT_TRUE
(
run
());
// bind("SELECT _wstartts, _wduration, _wendts, count(*) FROM t1 interval(10s)");
// bind("SELECT _wstartts, _wduration, _wendts, count(*) FROM t1 interval(10s)");
// ASSERT_TRUE(run());
// ASSERT_TRUE(run());
// bind("SELECT count(*) FROM t1 interval(10s) fill(linear)");
// bind("SELECT count(*) FROM t1 interval(10s) fill(linear)");
// ASSERT_TRUE(run());
// ASSERT_TRUE(run());
bind
(
"SELECT count(*), sum(c1) FROM t1 interval(10s) fill(value, 10, 20)"
);
//
bind("SELECT count(*), sum(c1) FROM t1 interval(10s) fill(value, 10, 20)");
ASSERT_TRUE
(
run
());
//
ASSERT_TRUE(run());
}
}
TEST_F
(
PlannerTest
,
sessionWindow
)
{
TEST_F
(
PlannerTest
,
sessionWindow
)
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录