Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
8913b012
T
TDengine
项目概览
taosdata
/
TDengine
1 年多 前同步成功
通知
1185
Star
22016
Fork
4786
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
T
TDengine
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1
Issue
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
8913b012
编写于
3月 24, 2022
作者:
X
Xiaoyu Wang
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
create sma index msg adjust
上级
afe99b1f
变更
7
隐藏空白更改
内联
并排
Showing
7 changed file
with
389 addition
and
308 deletion
+389
-308
include/libs/nodes/cmdnodes.h
include/libs/nodes/cmdnodes.h
+2
-0
source/libs/nodes/src/nodesCodeFuncs.c
source/libs/nodes/src/nodesCodeFuncs.c
+1
-1
source/libs/parser/inc/parAst.h
source/libs/parser/inc/parAst.h
+2
-2
source/libs/parser/inc/sql.y
source/libs/parser/inc/sql.y
+5
-4
source/libs/parser/src/parAstCreater.c
source/libs/parser/src/parAstCreater.c
+4
-2
source/libs/parser/src/parTranslater.c
source/libs/parser/src/parTranslater.c
+100
-25
source/libs/parser/src/sql.c
source/libs/parser/src/sql.c
+275
-274
未找到文件。
include/libs/nodes/cmdnodes.h
浏览文件 @
8913b012
...
...
@@ -199,6 +199,7 @@ typedef struct SIndexOptions {
typedef
struct
SCreateIndexStmt
{
ENodeType
type
;
EIndexType
indexType
;
bool
ignoreExists
;
char
indexName
[
TSDB_INDEX_NAME_LEN
];
char
tableName
[
TSDB_TABLE_NAME_LEN
];
SNodeList
*
pCols
;
...
...
@@ -207,6 +208,7 @@ typedef struct SCreateIndexStmt {
typedef
struct
SDropIndexStmt
{
ENodeType
type
;
bool
ignoreNotExists
;
char
indexName
[
TSDB_INDEX_NAME_LEN
];
char
tableName
[
TSDB_TABLE_NAME_LEN
];
}
SDropIndexStmt
;
...
...
source/libs/nodes/src/nodesCodeFuncs.c
浏览文件 @
8913b012
...
...
@@ -1480,7 +1480,7 @@ static int32_t jsonToDatum(const SJson* pJson, void* pObj) {
case
TSDB_DATA_TYPE_NCHAR
:
case
TSDB_DATA_TYPE_VARCHAR
:
case
TSDB_DATA_TYPE_VARBINARY
:
{
pNode
->
datum
.
p
=
calloc
(
1
,
pNode
->
node
.
resType
.
bytes
);
pNode
->
datum
.
p
=
calloc
(
1
,
pNode
->
node
.
resType
.
bytes
+
VARSTR_HEADER_SIZE
+
1
);
if
(
NULL
==
pNode
->
datum
.
p
)
{
code
=
TSDB_CODE_OUT_OF_MEMORY
;
break
;
...
...
source/libs/parser/inc/parAst.h
浏览文件 @
8913b012
...
...
@@ -150,9 +150,9 @@ SNode* createDropUserStmt(SAstCreateContext* pCxt, SToken* pUserName);
SNode
*
createCreateDnodeStmt
(
SAstCreateContext
*
pCxt
,
const
SToken
*
pFqdn
,
const
SToken
*
pPort
);
SNode
*
createDropDnodeStmt
(
SAstCreateContext
*
pCxt
,
const
SToken
*
pDnode
);
SNode
*
createAlterDnodeStmt
(
SAstCreateContext
*
pCxt
,
const
SToken
*
pDnode
,
const
SToken
*
pConfig
,
const
SToken
*
pValue
);
SNode
*
createCreateIndexStmt
(
SAstCreateContext
*
pCxt
,
EIndexType
type
,
SToken
*
pIndexName
,
SToken
*
pTableName
,
SNodeList
*
pCols
,
SNode
*
pOptions
);
SNode
*
createCreateIndexStmt
(
SAstCreateContext
*
pCxt
,
EIndexType
type
,
bool
ignoreExists
,
SToken
*
pIndexName
,
SToken
*
pTableName
,
SNodeList
*
pCols
,
SNode
*
pOptions
);
SNode
*
createIndexOption
(
SAstCreateContext
*
pCxt
,
SNodeList
*
pFuncs
,
SNode
*
pInterval
,
SNode
*
pOffset
,
SNode
*
pSliding
);
SNode
*
createDropIndexStmt
(
SAstCreateContext
*
pCxt
,
SToken
*
pIndexName
,
SToken
*
pTableName
);
SNode
*
createDropIndexStmt
(
SAstCreateContext
*
pCxt
,
bool
ignoreNotExists
,
SToken
*
pIndexName
,
SToken
*
pTableName
);
SNode
*
createCreateQnodeStmt
(
SAstCreateContext
*
pCxt
,
const
SToken
*
pDnodeId
);
SNode
*
createDropQnodeStmt
(
SAstCreateContext
*
pCxt
,
const
SToken
*
pDnodeId
);
SNode
*
createCreateTopicStmt
(
SAstCreateContext
*
pCxt
,
bool
ignoreExists
,
const
SToken
*
pTopicName
,
SNode
*
pQuery
,
const
SToken
*
pSubscribeDbName
);
...
...
source/libs/parser/inc/sql.y
浏览文件 @
8913b012
...
...
@@ -313,10 +313,11 @@ func_name_list(A) ::= func_name_list(B) NK_COMMA col_name(C).
func_name(A) ::= function_name(B). { A = createFunctionNode(pCxt, &B, NULL); }
/************************************************ create index ********************************************************/
cmd ::= CREATE SMA INDEX index_name(A) ON table_name(B) index_options(C). { pCxt->pRootNode = createCreateIndexStmt(pCxt, INDEX_TYPE_SMA, &A, &B, NULL, C); }
cmd ::= CREATE FULLTEXT INDEX
index_name(A) ON table_name(B) NK_LP col_name_list(C) NK_RP. { pCxt->pRootNode = createCreateIndexStmt(pCxt, INDEX_TYPE_FULLTEXT, &A, &B, C, NULL); }
cmd ::= DROP INDEX index_name(A) ON table_name(B). { pCxt->pRootNode = createDropIndexStmt(pCxt, &A, &B); }
cmd ::= CREATE SMA INDEX not_exists_opt(D)
index_name(A) ON table_name(B) index_options(C). { pCxt->pRootNode = createCreateIndexStmt(pCxt, INDEX_TYPE_SMA, D, &A, &B, NULL, C); }
cmd ::= CREATE FULLTEXT INDEX not_exists_opt(D)
index_name(A) ON table_name(B) NK_LP col_name_list(C) NK_RP. { pCxt->pRootNode = createCreateIndexStmt(pCxt, INDEX_TYPE_FULLTEXT, D, &A, &B, C, NULL); }
cmd ::= DROP INDEX exists_opt(C) index_name(A) ON table_name(B). { pCxt->pRootNode = createDropIndexStmt(pCxt, C, &A, &B); }
index_options(A) ::= . { A = NULL; }
index_options(A) ::= FUNCTION NK_LP func_list(B) NK_RP INTERVAL
...
...
source/libs/parser/src/parAstCreater.c
浏览文件 @
8913b012
...
...
@@ -1160,13 +1160,14 @@ SNode* createAlterDnodeStmt(SAstCreateContext* pCxt, const SToken* pDnode, const
return
(
SNode
*
)
pStmt
;
}
SNode
*
createCreateIndexStmt
(
SAstCreateContext
*
pCxt
,
EIndexType
type
,
SToken
*
pIndexName
,
SToken
*
pTableName
,
SNodeList
*
pCols
,
SNode
*
pOptions
)
{
SNode
*
createCreateIndexStmt
(
SAstCreateContext
*
pCxt
,
EIndexType
type
,
bool
ignoreExists
,
SToken
*
pIndexName
,
SToken
*
pTableName
,
SNodeList
*
pCols
,
SNode
*
pOptions
)
{
if
(
!
checkIndexName
(
pCxt
,
pIndexName
)
||
!
checkTableName
(
pCxt
,
pTableName
))
{
return
NULL
;
}
SCreateIndexStmt
*
pStmt
=
nodesMakeNode
(
QUERY_NODE_CREATE_INDEX_STMT
);
CHECK_OUT_OF_MEM
(
pStmt
);
pStmt
->
indexType
=
type
;
pStmt
->
ignoreExists
=
ignoreExists
;
strncpy
(
pStmt
->
indexName
,
pIndexName
->
z
,
pIndexName
->
n
);
strncpy
(
pStmt
->
tableName
,
pTableName
->
z
,
pTableName
->
n
);
pStmt
->
pCols
=
pCols
;
...
...
@@ -1184,12 +1185,13 @@ SNode* createIndexOption(SAstCreateContext* pCxt, SNodeList* pFuncs, SNode* pInt
return
(
SNode
*
)
pOptions
;
}
SNode
*
createDropIndexStmt
(
SAstCreateContext
*
pCxt
,
SToken
*
pIndexName
,
SToken
*
pTableName
)
{
SNode
*
createDropIndexStmt
(
SAstCreateContext
*
pCxt
,
bool
ignoreNotExists
,
SToken
*
pIndexName
,
SToken
*
pTableName
)
{
if
(
!
checkIndexName
(
pCxt
,
pIndexName
)
||
!
checkTableName
(
pCxt
,
pTableName
))
{
return
NULL
;
}
SDropIndexStmt
*
pStmt
=
nodesMakeNode
(
QUERY_NODE_DROP_INDEX_STMT
);
CHECK_OUT_OF_MEM
(
pStmt
);
pStmt
->
ignoreNotExists
=
ignoreNotExists
;
strncpy
(
pStmt
->
indexName
,
pIndexName
->
z
,
pIndexName
->
n
);
strncpy
(
pStmt
->
tableName
,
pTableName
->
z
,
pTableName
->
n
);
return
(
SNode
*
)
pStmt
;
...
...
source/libs/parser/src/parTranslater.c
浏览文件 @
8913b012
...
...
@@ -383,7 +383,7 @@ static EDealRes translateValue(STranslateContext* pCxt, SValueNode* pVal) {
case
TSDB_DATA_TYPE_NCHAR
:
case
TSDB_DATA_TYPE_VARCHAR
:
case
TSDB_DATA_TYPE_VARBINARY
:
{
pVal
->
datum
.
p
=
calloc
(
1
,
pVal
->
node
.
resType
.
bytes
+
VARSTR_HEADER_SIZE
);
pVal
->
datum
.
p
=
calloc
(
1
,
pVal
->
node
.
resType
.
bytes
+
VARSTR_HEADER_SIZE
+
1
);
if
(
NULL
==
pVal
->
datum
.
p
)
{
return
generateDealNodeErrMsg
(
pCxt
,
TSDB_CODE_OUT_OF_MEMORY
);
}
...
...
@@ -1406,34 +1406,110 @@ static int32_t translateShowTables(STranslateContext* pCxt) {
return
TSDB_CODE_SUCCESS
;
}
static
int32_t
translateCreateSmaIndex
(
STranslateContext
*
pCxt
,
SCreateIndexStmt
*
pStmt
)
{
SVCreateTSmaReq
createSmaReq
=
{
0
};
static
int32_t
getSmaIndexDstVgId
(
STranslateContext
*
pCxt
,
char
*
pTableName
,
int32_t
*
pVgId
)
{
SVgroupInfo
vg
=
{
0
};
int32_t
code
=
getTableHashVgroup
(
pCxt
,
pCxt
->
pParseCxt
->
db
,
pTableName
,
&
vg
);
if
(
TSDB_CODE_SUCCESS
==
code
)
{
*
pVgId
=
vg
.
vgId
;
}
return
code
;
}
if
(
DEAL_RES_ERROR
==
translateValue
(
pCxt
,
(
SValueNode
*
)
pStmt
->
pOptions
->
pInterval
)
||
(
NULL
!=
pStmt
->
pOptions
->
pOffset
&&
DEAL_RES_ERROR
==
translateValue
(
pCxt
,
(
SValueNode
*
)
pStmt
->
pOptions
->
pOffset
))
||
(
NULL
!=
pStmt
->
pOptions
->
pSliding
&&
DEAL_RES_ERROR
==
translateValue
(
pCxt
,
(
SValueNode
*
)
pStmt
->
pOptions
->
pSliding
))
)
{
return
pCxt
->
errCode
;
static
int32_t
getSmaIndexSql
(
STranslateContext
*
pCxt
,
char
**
pSql
,
int32_t
*
pLen
)
{
*
pSql
=
strdup
(
pCxt
->
pParseCxt
->
pSql
);
if
(
NULL
==
*
pSql
)
{
return
TSDB_CODE_OUT_OF_MEMORY
;
}
*
pLen
=
pCxt
->
pParseCxt
->
sqlLen
+
1
;
return
TSDB_CODE_SUCCESS
;
}
createSmaReq
.
tSma
.
intervalUnit
=
((
SValueNode
*
)
pStmt
->
pOptions
->
pInterval
)
->
unit
;
createSmaReq
.
tSma
.
slidingUnit
=
(
NULL
!=
pStmt
->
pOptions
->
pSliding
?
((
SValueNode
*
)
pStmt
->
pOptions
->
pSliding
)
->
unit
:
0
);
strcpy
(
createSmaReq
.
tSma
.
indexName
,
pStmt
->
indexName
);
static
int32_t
getSmaIndexExpr
(
STranslateContext
*
pCxt
,
SCreateIndexStmt
*
pStmt
,
char
**
pExpr
,
int32_t
*
pLen
)
{
return
nodesListToString
(
pStmt
->
pOptions
->
pFuncs
,
false
,
pExpr
,
pLen
);
}
SName
name
;
name
.
type
=
TSDB_TABLE_NAME_T
;
name
.
acctId
=
pCxt
->
pParseCxt
->
acctId
;
static
int32_t
getSmaIndexBuildAst
(
STranslateContext
*
pCxt
,
SCreateIndexStmt
*
pStmt
,
char
**
pAst
,
int32_t
*
pLen
)
{
SSelectStmt
*
pSelect
=
nodesMakeNode
(
QUERY_NODE_SELECT_STMT
);
if
(
NULL
==
pSelect
)
{
return
TSDB_CODE_OUT_OF_MEMORY
;
}
SRealTableNode
*
pTable
=
nodesMakeNode
(
QUERY_NODE_REAL_TABLE
);
if
(
NULL
==
pTable
)
{
nodesDestroyNode
(
pSelect
);
return
TSDB_CODE_OUT_OF_MEMORY
;
}
strcpy
(
pTable
->
table
.
dbName
,
pCxt
->
pParseCxt
->
db
);
strcpy
(
pTable
->
table
.
tableName
,
pStmt
->
tableName
);
pSelect
->
pFromTable
=
(
SNode
*
)
pTable
;
pSelect
->
pProjectionList
=
nodesCloneList
(
pStmt
->
pOptions
->
pFuncs
);
if
(
NULL
==
pTable
)
{
nodesDestroyNode
(
pSelect
);
return
TSDB_CODE_OUT_OF_MEMORY
;
}
SIntervalWindowNode
*
pInterval
=
nodesMakeNode
(
QUERY_NODE_INTERVAL_WINDOW
);
if
(
NULL
==
pInterval
)
{
nodesDestroyNode
(
pSelect
);
return
TSDB_CODE_OUT_OF_MEMORY
;
}
pSelect
->
pWindow
=
(
SNode
*
)
pInterval
;
pInterval
->
pInterval
=
nodesCloneNode
(
pStmt
->
pOptions
->
pInterval
);
pInterval
->
pOffset
=
nodesCloneNode
(
pStmt
->
pOptions
->
pOffset
);
pInterval
->
pSliding
=
nodesCloneNode
(
pStmt
->
pOptions
->
pSliding
);
if
(
NULL
==
pInterval
->
pInterval
||
(
NULL
!=
pStmt
->
pOptions
->
pOffset
&&
NULL
==
pInterval
->
pOffset
)
||
(
NULL
!=
pStmt
->
pOptions
->
pSliding
&&
NULL
==
pInterval
->
pSliding
))
{
nodesDestroyNode
(
pSelect
);
return
TSDB_CODE_OUT_OF_MEMORY
;
}
int32_t
code
=
translateQuery
(
pCxt
,
(
SNode
*
)
pSelect
);
if
(
TSDB_CODE_SUCCESS
==
code
)
{
code
=
nodesNodeToString
(
pSelect
,
false
,
pAst
,
pLen
);
}
nodesDestroyNode
(
pSelect
);
return
code
;
}
static
int32_t
buildCreateSmaReq
(
STranslateContext
*
pCxt
,
SCreateIndexStmt
*
pStmt
,
SMCreateSmaReq
*
pReq
)
{
SName
name
=
{
.
type
=
TSDB_TABLE_NAME_T
,
.
acctId
=
pCxt
->
pParseCxt
->
acctId
};
strcpy
(
name
.
dbname
,
pCxt
->
pParseCxt
->
db
);
strcpy
(
name
.
tname
,
pStmt
->
indexName
);
tNameExtractFullName
(
&
name
,
pReq
->
name
);
strcpy
(
name
.
tname
,
pStmt
->
tableName
);
STableMeta
*
pMeta
=
NULL
;
int32_t
code
=
catalogGetTableMeta
(
pCxt
->
pParseCxt
->
pCatalog
,
pCxt
->
pParseCxt
->
pTransporter
,
&
pCxt
->
pParseCxt
->
mgmtEpSet
,
&
name
,
&
pMeta
);
if
(
TSDB_CODE_SUCCESS
!=
code
)
{
return
code
;
name
.
tname
[
strlen
(
pStmt
->
tableName
)]
=
'\0'
;
tNameExtractFullName
(
&
name
,
pReq
->
stb
);
pReq
->
igExists
=
pStmt
->
ignoreExists
;
pReq
->
interval
=
((
SValueNode
*
)
pStmt
->
pOptions
->
pInterval
)
->
datum
.
i
;
pReq
->
intervalUnit
=
((
SValueNode
*
)
pStmt
->
pOptions
->
pInterval
)
->
unit
;
pReq
->
offset
=
(
NULL
!=
pStmt
->
pOptions
->
pOffset
?
((
SValueNode
*
)
pStmt
->
pOptions
->
pOffset
)
->
datum
.
i
:
0
);
pReq
->
sliding
=
(
NULL
!=
pStmt
->
pOptions
->
pSliding
?
((
SValueNode
*
)
pStmt
->
pOptions
->
pSliding
)
->
datum
.
i
:
pReq
->
interval
);
pReq
->
slidingUnit
=
(
NULL
!=
pStmt
->
pOptions
->
pSliding
?
((
SValueNode
*
)
pStmt
->
pOptions
->
pSliding
)
->
unit
:
pReq
->
intervalUnit
);
int32_t
code
=
getSmaIndexDstVgId
(
pCxt
,
pStmt
->
tableName
,
&
pReq
->
dstVgId
);
if
(
TSDB_CODE_SUCCESS
==
code
)
{
code
=
getSmaIndexSql
(
pCxt
,
&
pReq
->
sql
,
&
pReq
->
sqlLen
);
}
if
(
TSDB_CODE_SUCCESS
==
code
)
{
code
=
getSmaIndexExpr
(
pCxt
,
pStmt
,
&
pReq
->
expr
,
&
pReq
->
exprLen
);
}
if
(
TSDB_CODE_SUCCESS
==
code
)
{
code
=
getSmaIndexBuildAst
(
pCxt
,
pStmt
,
&
pReq
->
ast
,
&
pReq
->
astLen
);
}
createSmaReq
.
tSma
.
tableUid
=
pMeta
->
uid
;
createSmaReq
.
tSma
.
interval
=
((
SValueNode
*
)
pStmt
->
pOptions
->
pInterval
)
->
datum
.
i
;
createSmaReq
.
tSma
.
sliding
=
(
NULL
!=
pStmt
->
pOptions
->
pSliding
?
((
SValueNode
*
)
pStmt
->
pOptions
->
pSliding
)
->
datum
.
i
:
0
);
code
=
nodesListToString
(
pStmt
->
pOptions
->
pFuncs
,
false
,
&
createSmaReq
.
tSma
.
expr
,
&
createSmaReq
.
tSma
.
exprLen
);
return
code
;
}
static
int32_t
translateCreateSmaIndex
(
STranslateContext
*
pCxt
,
SCreateIndexStmt
*
pStmt
)
{
if
(
DEAL_RES_ERROR
==
translateValue
(
pCxt
,
(
SValueNode
*
)
pStmt
->
pOptions
->
pInterval
)
||
(
NULL
!=
pStmt
->
pOptions
->
pOffset
&&
DEAL_RES_ERROR
==
translateValue
(
pCxt
,
(
SValueNode
*
)
pStmt
->
pOptions
->
pOffset
))
||
(
NULL
!=
pStmt
->
pOptions
->
pSliding
&&
DEAL_RES_ERROR
==
translateValue
(
pCxt
,
(
SValueNode
*
)
pStmt
->
pOptions
->
pSliding
)))
{
return
pCxt
->
errCode
;
}
SMCreateSmaReq
createSmaReq
=
{
0
};
int32_t
code
=
buildCreateSmaReq
(
pCxt
,
pStmt
,
&
createSmaReq
);
if
(
TSDB_CODE_SUCCESS
!=
code
)
{
return
code
;
}
...
...
@@ -1444,14 +1520,13 @@ static int32_t translateCreateSmaIndex(STranslateContext* pCxt, SCreateIndexStmt
}
pCxt
->
pCmdMsg
->
epSet
=
pCxt
->
pParseCxt
->
mgmtEpSet
;
pCxt
->
pCmdMsg
->
msgType
=
TDMT_VND_CREATE_SMA
;
pCxt
->
pCmdMsg
->
msgLen
=
tSerializeS
VCreateTSmaReq
(
NULL
,
&
createSmaReq
);
pCxt
->
pCmdMsg
->
msgLen
=
tSerializeS
MCreateSmaReq
(
NULL
,
0
,
&
createSmaReq
);
pCxt
->
pCmdMsg
->
pMsg
=
malloc
(
pCxt
->
pCmdMsg
->
msgLen
);
if
(
NULL
==
pCxt
->
pCmdMsg
->
pMsg
)
{
return
TSDB_CODE_OUT_OF_MEMORY
;
}
void
*
pBuf
=
pCxt
->
pCmdMsg
->
pMsg
;
tSerializeSVCreateTSmaReq
(
&
pBuf
,
&
createSmaReq
);
tdDestroyTSma
(
&
createSmaReq
.
tSma
);
tSerializeSMCreateSmaReq
(
pCxt
->
pCmdMsg
->
pMsg
,
pCxt
->
pCmdMsg
->
msgLen
,
&
createSmaReq
);
tFreeSMCreateSmaReq
(
&
createSmaReq
);
return
TSDB_CODE_SUCCESS
;
}
...
...
source/libs/parser/src/sql.c
浏览文件 @
8913b012
...
...
@@ -131,17 +131,17 @@ typedef union {
#define ParseCTX_PARAM
#define ParseCTX_FETCH
#define ParseCTX_STORE
#define YYNSTATE 4
27
#define YYNSTATE 4
30
#define YYNRULE 337
#define YYNTOKEN 163
#define YY_MAX_SHIFT 42
6
#define YY_MIN_SHIFTREDUCE 6
59
#define YY_MAX_SHIFTREDUCE 99
5
#define YY_ERROR_ACTION 99
6
#define YY_ACCEPT_ACTION
997
#define YY_NO_ACTION
998
#define YY_MIN_REDUCE
999
#define YY_MAX_REDUCE 133
5
#define YY_MAX_SHIFT 42
9
#define YY_MIN_SHIFTREDUCE 6
62
#define YY_MAX_SHIFTREDUCE 99
8
#define YY_ERROR_ACTION 99
9
#define YY_ACCEPT_ACTION
1000
#define YY_NO_ACTION
1001
#define YY_MIN_REDUCE
1002
#define YY_MAX_REDUCE 133
8
/************* End control #defines *******************************************/
#define YY_NLOOKAHEAD ((int)(sizeof(yy_lookahead)/sizeof(yy_lookahead[0])))
...
...
@@ -208,135 +208,135 @@ typedef union {
** yy_default[] Default action for each state.
**
*********** Begin parsing tables **********************************************/
#define YY_ACTTAB_COUNT (126
6
)
#define YY_ACTTAB_COUNT (126
3
)
static
const
YYACTIONTYPE
yy_action
[]
=
{
/* 0 */
104
2
,
1201
,
222
,
43
,
24
,
168
,
359
,
1197
,
1203
,
1092
,
/* 10 */
2
47
,
266
,
89
,
31
,
29
,
27
,
26
,
25
,
20
,
1201
,
/* 20 */
1
098
,
27
,
26
,
25
,
1081
,
1197
,
1202
,
1103
,
31
,
29
,
/* 30 */
27
,
26
,
25
,
3
58
,
997
,
78
,
206
,
866
,
77
,
76
,
/* 40 */
75
,
74
,
73
,
72
,
71
,
70
,
69
,
10
88
,
208
,
411
,
/* 50 */
41
0
,
409
,
408
,
407
,
406
,
405
,
404
,
403
,
402
,
401
,
/* 60 */
40
0
,
399
,
398
,
397
,
396
,
395
,
394
,
393
,
1000
,
105
,
/* 70 */
2
67
,
1011
,
878
,
31
,
29
,
27
,
26
,
25
,
1228
,
131
,
/* 80 */
90
1
,
346
,
111
,
246
,
234
,
343
,
1213
,
1177
,
272
,
78
,
/* 90 */
13
0
,
22
,
77
,
76
,
75
,
74
,
73
,
72
,
71
,
70
,
/* 100 */
69
,
31
,
29
,
27
,
26
,
25
,
12
28
,
1314
,
208
,
288
,
/* 110 */
3
17
,
283
,
267
,
343
,
287
,
44
,
902
,
286
,
128
,
284
,
/* 120 */
117
,
34
2
,
285
,
345
,
1312
,
23
,
229
,
1189
,
896
,
897
,
/* 130 */
898
,
899
,
900
,
904
,
905
,
906
,
1079
,
201
,
1214
,
1217
,
/* 140 */
90
1
,
769
,
382
,
381
,
380
,
773
,
379
,
775
,
776
,
378
,
/* 150 */
7
78
,
375
,
109
,
784
,
372
,
786
,
787
,
369
,
366
,
1148
,
/* 160 */
121
3
,
846
,
127
,
1141
,
302
,
221
,
125
,
43
,
323
,
186
,
/* 170 */
114
6
,
358
,
1133
,
30
,
28
,
938
,
902
,
844
,
255
,
239
,
/* 180 */
12
28
,
231
,
392
,
846
,
1099
,
23
,
229
,
343
,
896
,
897
,
/* 190 */
898
,
899
,
900
,
904
,
905
,
906
,
1201
,
345
,
358
,
844
,
/* 200 */
89
3
,
1189
,
1197
,
1202
,
303
,
359
,
331
,
845
,
12
,
118
,
/* 210 */
66
,
61
,
121
4
,
1217
,
1253
,
1213
,
962
,
276
,
207
,
1249
,
/* 220 */
116
5
,
10
,
122
,
121
,
30
,
28
,
1103
,
120
,
1314
,
845
,
/* 230 */
131
4
,
1
,
231
,
423
,
846
,
1228
,
313
,
960
,
961
,
963
,
/* 240 */
96
4
,
117
,
330
,
117
,
1213
,
1312
,
242
,
1312
,
10
,
321
,
/* 250 */
84
4
,
334
,
345
,
1168
,
1170
,
423
,
1189
,
346
,
696
,
12
,
/* 260 */
69
5
,
847
,
850
,
1178
,
1228
,
359
,
62
,
1214
,
1217
,
1253
,
/* 270 */
66
,
33
0
,
280
,
224
,
1249
,
112
,
279
,
282
,
697
,
327
,
/* 280 */
84
5
,
345
,
1
,
847
,
850
,
1189
,
1103
,
164
,
118
,
9
,
/* 290 */
8
,
59
,
121
3
,
309
,
1280
,
62
,
1214
,
1217
,
1253
,
281
,
/* 300 */
92
,
93
,
22
4
,
1249
,
112
,
1314
,
423
,
327
,
1095
,
106
,
/* 310 */
107
0
,
903
,
1228
,
31
,
29
,
27
,
26
,
25
,
1313
,
343
,
/* 320 */
21
,
121
3
,
1312
,
1281
,
392
,
1267
,
90
,
868
,
92
,
345
,
/* 330 */
9
07
,
419
,
418
,
1189
,
847
,
850
,
114
,
1260
,
1261
,
867
,
/* 340 */
126
5
,
1228
,
1264
,
62
,
1214
,
1217
,
1253
,
331
,
343
,
118
,
/* 350 */
22
4
,
1249
,
1326
,
695
,
90
,
1094
,
1213
,
864
,
345
,
914
,
/* 360 */
12
28
,
1287
,
1189
,
865
,
161
,
1260
,
326
,
343
,
325
,
274
,
/* 370 */
23
5
,
1314
,
62
,
1214
,
1217
,
1253
,
1228
,
359
,
104
,
224
,
/* 380 */
12
49
,
1326
,
1100
,
343
,
117
,
1213
,
1105
,
385
,
1312
,
1022
,
/* 390 */
131
0
,
1090
,
320
,
345
,
30
,
28
,
1189
,
1189
,
1103
,
1021
,
/* 400 */
12
67
,
333
,
231
,
104
,
846
,
1228
,
1080
,
62
,
1214
,
1217
,
/* 410 */
125
3
,
1106
,
343
,
1148
,
224
,
1249
,
1326
,
1263
,
359
,
236
,
/* 420 */
84
4
,
1148
,
345
,
356
,
1146
,
1271
,
1189
,
243
,
163
,
12
,
/* 430 */
11
89
,
331
,
1146
,
30
,
28
,
1012
,
196
,
1214
,
1217
,
1103
,
/* 440 */
11
89
,
231
,
1213
,
846
,
191
,
1020
,
1019
,
1018
,
136
,
193
,
/* 450 */
84
5
,
134
,
1
,
1038
,
316
,
1314
,
30
,
28
,
344
,
844
,
/* 460 */
6
,
19
2
,
1228
,
389
,
231
,
1213
,
846
,
388
,
117
,
343
,
/* 470 */
10
17
,
123
,
1312
,
1148
,
118
,
289
,
423
,
322
,
318
,
345
,
/* 480 */
101
6
,
1015
,
844
,
1189
,
1169
,
1228
,
1189
,
1189
,
1189
,
845
,
/* 490 */
39
0
,
7
,
343
,
63
,
1214
,
1217
,
1253
,
1148
,
869
,
1086
,
/* 500 */
125
2
,
1249
,
345
,
1045
,
847
,
850
,
1189
,
945
,
1147
,
387
,
/* 510 */
38
6
,
1189
,
845
,
866
,
7
,
423
,
63
,
1214
,
1217
,
1253
,
/* 520 */
24
1
,
1189
,
1189
,
341
,
1249
,
30
,
28
,
300
,
104
,
30
,
/* 530 */
28
,
64
,
38
4
,
231
,
338
,
846
,
1105
,
231
,
423
,
846
,
/* 540 */
298
,
1213
,
1267
,
847
,
850
,
999
,
31
,
29
,
27
,
26
,
/* 550 */
25
,
84
4
,
288
,
933
,
283
,
844
,
1014
,
287
,
118
,
1262
,
/* 560 */
28
6
,
1228
,
284
,
118
,
1213
,
285
,
847
,
850
,
343
,
87
,
/* 570 */
86
,
85
,
84
,
83
,
82
,
81
,
80
,
79
,
34
5
,
864
,
/* 580 */
103
3
,
845
,
1189
,
7
,
1228
,
845
,
248
,
1
,
1071
,
260
,
/* 590 */
101
3
,
343
,
107
,
1214
,
1217
,
937
,
426
,
1189
,
261
,
149
,
/* 600 */
121
3
,
345
,
291
,
165
,
359
,
1189
,
244
,
423
,
339
,
357
,
/* 610 */
18
4
,
423
,
305
,
88
,
104
,
63
,
1214
,
1217
,
1253
,
415
,
/* 620 */
12
28
,
183
,
1105
,
1250
,
98
,
1103
,
1010
,
343
,
314
,
332
,
/* 630 */
13
27
,
1189
,
1031
,
1009
,
1008
,
847
,
850
,
345
,
359
,
847
,
/* 640 */
85
0
,
1189
,
1142
,
181
,
230
,
359
,
60
,
1007
,
1006
,
179
,
/* 650 */
24
5
,
202
,
1214
,
1217
,
294
,
1005
,
158
,
1004
,
1213
,
1103
,
/* 660 */
127
2
,
933
,
1229
,
1213
,
273
,
259
,
1103
,
1189
,
254
,
253
,
/* 670 */
25
2
,
251
,
250
,
335
,
1189
,
1189
,
1003
,
853
,
1228
,
138
,
/* 680 */
35
5
,
1213
,
137
,
1228
,
140
,
343
,
1213
,
139
,
1189
,
1189
,
/* 690 */
34
3
,
852
,
991
,
992
,
308
,
345
,
1189
,
146
,
1189
,
1189
,
/* 700 */
34
5
,
1228
,
310
,
327
,
1189
,
328
,
1228
,
856
,
343
,
202
,
/* 710 */
121
4
,
1217
,
1002
,
343
,
107
,
1214
,
1217
,
1189
,
345
,
9
,
/* 720 */
8
,
85
5
,
1189
,
345
,
92
,
228
,
864
,
1189
,
1213
,
936
,
/* 730 */
23
2
,
1213
,
202
,
1214
,
1217
,
1283
,
1213
,
202
,
1214
,
1217
,
/* 740 */
31
,
29
,
27
,
26
,
25
,
33
6
,
327
,
1167
,
1228
,
52
,
/* 750 */
90
,
12
28
,
1328
,
1189
,
167
,
343
,
1228
,
1078
,
343
,
329
,
/* 760 */
113
,
126
0
,
1261
,
343
,
1265
,
345
,
1096
,
92
,
345
,
1189
,
/* 770 */
2
,
119
,
11
89
,
345
,
1213
,
142
,
257
,
1189
,
141
,
200
,
/* 780 */
121
4
,
1217
,
203
,
1214
,
1217
,
959
,
154
,
194
,
1214
,
1217
,
/* 790 */
2
49
,
256
,
258
,
90
,
1228
,
262
,
1213
,
41
,
152
,
878
,
/* 800 */
9
08
,
343
,
1213
,
115
,
1260
,
1261
,
872
,
1265
,
994
,
995
,
/* 810 */
26
3
,
345
,
32
,
264
,
389
,
1189
,
1228
,
124
,
388
,
871
,
/* 820 */
87
5
,
58
,
1228
,
343
,
42
,
204
,
1214
,
1217
,
1207
,
343
,
/* 830 */
121
3
,
54
,
32
,
345
,
839
,
265
,
1213
,
1189
,
268
,
345
,
/* 840 */
120
5
,
390
,
129
,
1189
,
275
,
870
,
32
,
195
,
1214
,
1217
,
/* 850 */
12
28
,
277
,
68
,
205
,
1214
,
1217
,
1228
,
343
,
173
,
1093
,
/* 860 */
3
87
,
386
,
220
,
343
,
1213
,
133
,
351
,
345
,
178
,
1089
,
/* 870 */
17
1
,
1189
,
135
,
345
,
762
,
100
,
101
,
1189
,
95
,
109
1
,
/* 880 */
96
,
122
5
,
1214
,
1217
,
1228
,
1087
,
98
,
1224
,
1214
,
1217
,
/* 890 */
7
57
,
343
,
1213
,
102
,
790
,
794
,
103
,
800
,
1213
,
799
,
/* 900 */
3
07
,
345
,
41
,
304
,
145
,
1189
,
364
,
96
,
99
,
97
,
/* 910 */
306
,
98
,
1228
,
869
,
315
,
1223
,
1214
,
1217
,
1228
,
343
,
/* 920 */
96
,
1284
,
349
,
1294
,
150
,
343
,
312
,
850
,
1293
,
345
,
/* 930 */
153
,
223
,
1213
,
1189
,
319
,
345
,
5
,
110
,
1274
,
1189
,
/* 940 */
121
3
,
324
,
157
,
211
,
1214
,
1217
,
238
,
237
,
311
,
210
,
/* 950 */
121
4
,
1217
,
1228
,
4
,
933
,
91
,
858
,
868
,
1268
,
343
,
/* 960 */
12
28
,
33
,
159
,
160
,
1311
,
225
,
1329
,
343
,
1213
,
345
,
/* 970 */
337
,
340
,
851
,
1189
,
293
,
215
,
166
,
345
,
17
,
1235
,
/* 980 */
117
6
,
1189
,
347
,
212
,
1214
,
1217
,
348
,
233
,
1228
,
301
,
/* 990 */
1175
,
209
,
1214
,
1217
,
352
,
343
,
353
,
280
,
354
,
175
,
/* 1000 */
51
,
279
,
854
,
144
,
185
,
345
,
296
,
187
,
53
,
1189
,
/* 1010 */
1104
,
290
,
182
,
216
,
143
,
214
,
213
,
422
,
278
,
199
,
/* 1020 */
121
4
,
1217
,
362
,
197
,
281
,
198
,
189
,
190
,
360
,
1183
,
/* 1030 */
822
,
1160
,
1159
,
94
,
1158
,
1157
,
1156
,
1155
,
1154
,
40
,
/* 1040 */
115
3
,
824
,
39
,
1152
,
1151
,
1150
,
1149
,
1044
,
1182
,
1173
,
/* 1050 */
126
,
1082
,
708
,
1043
,
1041
,
269
,
859
,
850
,
270
,
271
,
/* 1060 */
1030
,
1029
,
1026
,
1084
,
67
,
132
,
805
,
1083
,
804
,
1039
,
/* 1070 */
10
34
,
737
,
803
,
1032
,
1025
,
1024
,
1181
,
736
,
217
,
735
,
/* 1080 */
73
4
,
218
,
1180
,
36
,
1172
,
45
,
219
,
148
,
297
,
3
,
/* 1090 */
733
,
65
,
32
,
732
,
299
,
14
,
292
,
151
,
958
,
15
,
/* 1100 */
1205
,
147
,
162
,
295
,
37
,
11
,
156
,
19
,
34
,
48
,
/* 1110 */
8
,
350
,
894
,
1171
,
177
,
998
,
998
,
998
,
998
,
998
,
/* 1120 */
998
,
783
,
998
,
998
,
998
,
998
,
998
,
998
,
980
,
979
,
/* 1130 */
226
,
984
,
983
,
227
,
860
,
998
,
998
,
998
,
108
,
998
,
/* 1140 */
998
,
176
,
998
,
998
,
998
,
998
,
998
,
155
,
998
,
952
,
/* 1150 */
46
,
998
,
951
,
47
,
998
,
768
,
930
,
929
,
998
,
985
,
/* 1160 */
9
98
,
998
,
35
,
998
,
998
,
998
,
998
,
998
,
876
,
11
6
,
/* 1170 */
13
,
18
,
16
,
170
,
956
,
998
,
172
,
174
,
169
,
49
,
/* 1180 */
50
,
1204
,
998
,
998
,
54
,
38
,
363
,
1040
,
240
,
367
,
/* 1190 */
1028
,
370
,
373
,
180
,
998
,
361
,
998
,
796
,
376
,
998
,
/* 1200 */
791
,
365
,
728
,
788
,
368
,
1027
,
785
,
998
,
798
,
371
,
/* 1210 */
420
,
720
,
797
,
779
,
998
,
998
,
998
,
727
,
782
,
998
,
/* 1220 */
726
,
998
,
998
,
725
,
724
,
706
,
781
,
374
,
391
,
777
,
/* 1230 */
7
23
,
722
,
721
,
377
,
719
,
1023
,
718
,
717
,
413
,
71
6
,
/* 1240 */
383
,
55
,
56
,
57
,
425
,
715
,
729
,
714
,
713
,
421
,
/* 1250 */
712
,
711
,
412
,
848
,
188
,
424
,
998
,
416
,
417
,
998
,
/* 1260 */
998
,
414
,
998
,
998
,
998
,
780
,
/* 0 */
104
5
,
1204
,
225
,
43
,
24
,
170
,
362
,
1200
,
1206
,
1095
,
/* 10 */
2
50
,
269
,
89
,
31
,
29
,
27
,
26
,
25
,
20
,
1204
,
/* 20 */
1
101
,
27
,
26
,
25
,
1084
,
1200
,
1205
,
1106
,
31
,
29
,
/* 30 */
27
,
26
,
25
,
3
61
,
1000
,
78
,
209
,
869
,
77
,
76
,
/* 40 */
75
,
74
,
73
,
72
,
71
,
70
,
69
,
10
91
,
211
,
414
,
/* 50 */
41
3
,
412
,
411
,
410
,
409
,
408
,
407
,
406
,
405
,
404
,
/* 60 */
40
3
,
402
,
401
,
400
,
399
,
398
,
397
,
396
,
1003
,
105
,
/* 70 */
2
70
,
1014
,
881
,
31
,
29
,
27
,
26
,
25
,
1231
,
132
,
/* 80 */
90
4
,
349
,
111
,
249
,
237
,
346
,
1216
,
1180
,
275
,
78
,
/* 90 */
13
1
,
22
,
77
,
76
,
75
,
74
,
73
,
72
,
71
,
70
,
/* 100 */
69
,
31
,
29
,
27
,
26
,
25
,
12
31
,
1317
,
211
,
291
,
/* 110 */
3
20
,
286
,
270
,
346
,
290
,
44
,
905
,
289
,
129
,
287
,
/* 120 */
117
,
34
5
,
288
,
348
,
1315
,
23
,
232
,
1192
,
899
,
900
,
/* 130 */
901
,
902
,
903
,
907
,
908
,
909
,
1082
,
204
,
1217
,
1220
,
/* 140 */
90
4
,
772
,
385
,
384
,
383
,
776
,
382
,
778
,
779
,
381
,
/* 150 */
7
81
,
378
,
109
,
787
,
375
,
789
,
790
,
372
,
369
,
1151
,
/* 160 */
121
6
,
849
,
128
,
1144
,
305
,
224
,
125
,
43
,
326
,
189
,
/* 170 */
114
9
,
361
,
1136
,
30
,
28
,
941
,
905
,
847
,
258
,
242
,
/* 180 */
12
31
,
234
,
395
,
849
,
1102
,
23
,
232
,
346
,
899
,
900
,
/* 190 */
901
,
902
,
903
,
907
,
908
,
909
,
1204
,
348
,
361
,
847
,
/* 200 */
89
6
,
1192
,
1200
,
1205
,
306
,
362
,
334
,
848
,
12
,
118
,
/* 210 */
66
,
61
,
121
7
,
1220
,
1256
,
1216
,
965
,
279
,
210
,
1252
,
/* 220 */
116
8
,
10
,
122
,
121
,
30
,
28
,
1106
,
120
,
1317
,
848
,
/* 230 */
131
7
,
1
,
234
,
426
,
849
,
1231
,
316
,
963
,
964
,
966
,
/* 240 */
96
7
,
117
,
333
,
117
,
1216
,
1315
,
245
,
1315
,
10
,
324
,
/* 250 */
84
7
,
337
,
348
,
1171
,
1173
,
426
,
1192
,
349
,
699
,
12
,
/* 260 */
69
8
,
850
,
853
,
1181
,
1231
,
362
,
62
,
1217
,
1220
,
1256
,
/* 270 */
66
,
33
3
,
283
,
227
,
1252
,
112
,
282
,
285
,
700
,
330
,
/* 280 */
84
8
,
348
,
1
,
850
,
853
,
1192
,
1106
,
166
,
118
,
9
,
/* 290 */
8
,
59
,
121
6
,
312
,
1283
,
62
,
1217
,
1220
,
1256
,
284
,
/* 300 */
92
,
93
,
22
7
,
1252
,
112
,
1317
,
426
,
330
,
1098
,
106
,
/* 310 */
107
3
,
906
,
1231
,
31
,
29
,
27
,
26
,
25
,
1316
,
346
,
/* 320 */
21
,
121
6
,
1315
,
1284
,
395
,
1270
,
90
,
871
,
92
,
348
,
/* 330 */
9
10
,
422
,
421
,
1192
,
850
,
853
,
114
,
1263
,
1264
,
870
,
/* 340 */
126
8
,
1231
,
1267
,
62
,
1217
,
1220
,
1256
,
334
,
346
,
118
,
/* 350 */
22
7
,
1252
,
1329
,
698
,
90
,
1097
,
1216
,
867
,
348
,
917
,
/* 360 */
12
31
,
1290
,
1192
,
868
,
163
,
1263
,
329
,
346
,
328
,
277
,
/* 370 */
23
8
,
1317
,
62
,
1217
,
1220
,
1256
,
1231
,
362
,
104
,
227
,
/* 380 */
12
52
,
1329
,
1103
,
346
,
117
,
1216
,
1108
,
388
,
1315
,
1025
,
/* 390 */
131
3
,
1093
,
323
,
348
,
30
,
28
,
1192
,
1192
,
1106
,
1024
,
/* 400 */
12
70
,
336
,
234
,
104
,
849
,
1231
,
1083
,
62
,
1217
,
1220
,
/* 410 */
125
6
,
1109
,
346
,
1151
,
227
,
1252
,
1329
,
1266
,
362
,
239
,
/* 420 */
84
7
,
1151
,
348
,
359
,
1149
,
1274
,
1192
,
246
,
165
,
12
,
/* 430 */
11
92
,
334
,
1149
,
30
,
28
,
1015
,
199
,
1217
,
1220
,
1106
,
/* 440 */
11
92
,
234
,
1216
,
849
,
194
,
1023
,
1022
,
1021
,
137
,
196
,
/* 450 */
84
8
,
135
,
1
,
1041
,
319
,
1317
,
30
,
28
,
347
,
847
,
/* 460 */
6
,
19
5
,
1231
,
392
,
234
,
1216
,
849
,
391
,
117
,
346
,
/* 470 */
10
20
,
123
,
1315
,
1151
,
118
,
292
,
426
,
325
,
321
,
348
,
/* 480 */
101
9
,
1018
,
847
,
1192
,
1172
,
1231
,
1192
,
1192
,
1192
,
848
,
/* 490 */
39
3
,
7
,
346
,
63
,
1217
,
1220
,
1256
,
1151
,
872
,
1089
,
/* 500 */
125
5
,
1252
,
348
,
1048
,
850
,
853
,
1192
,
948
,
1150
,
390
,
/* 510 */
38
9
,
1192
,
848
,
869
,
7
,
426
,
63
,
1217
,
1220
,
1256
,
/* 520 */
24
4
,
1192
,
1192
,
344
,
1252
,
30
,
28
,
303
,
104
,
30
,
/* 530 */
28
,
64
,
38
7
,
234
,
341
,
849
,
1108
,
234
,
426
,
849
,
/* 540 */
301
,
1216
,
1270
,
850
,
853
,
1002
,
31
,
29
,
27
,
26
,
/* 550 */
25
,
84
7
,
291
,
936
,
286
,
847
,
1017
,
290
,
118
,
1265
,
/* 560 */
28
9
,
1231
,
287
,
118
,
1216
,
288
,
850
,
853
,
346
,
87
,
/* 570 */
86
,
85
,
84
,
83
,
82
,
81
,
80
,
79
,
34
8
,
867
,
/* 580 */
103
6
,
848
,
1192
,
7
,
1231
,
848
,
251
,
1
,
1074
,
263
,
/* 590 */
101
6
,
346
,
107
,
1217
,
1220
,
940
,
429
,
1192
,
264
,
151
,
/* 600 */
121
6
,
348
,
294
,
167
,
362
,
1192
,
247
,
426
,
342
,
360
,
/* 610 */
18
7
,
426
,
308
,
88
,
104
,
63
,
1217
,
1220
,
1256
,
418
,
/* 620 */
12
31
,
186
,
1108
,
1253
,
98
,
1106
,
1013
,
346
,
317
,
335
,
/* 630 */
13
30
,
1192
,
1034
,
1012
,
1011
,
850
,
853
,
348
,
362
,
850
,
/* 640 */
85
3
,
1192
,
1145
,
184
,
233
,
362
,
60
,
1010
,
1009
,
182
,
/* 650 */
24
8
,
205
,
1217
,
1220
,
297
,
1008
,
160
,
1007
,
1216
,
1106
,
/* 660 */
127
5
,
936
,
1232
,
1216
,
276
,
262
,
1106
,
1192
,
257
,
256
,
/* 670 */
25
5
,
254
,
253
,
338
,
1192
,
1192
,
1006
,
856
,
1231
,
139
,
/* 680 */
35
8
,
1216
,
138
,
1231
,
141
,
346
,
1216
,
140
,
1192
,
1192
,
/* 690 */
34
6
,
855
,
994
,
995
,
311
,
348
,
1192
,
147
,
1192
,
1192
,
/* 700 */
34
8
,
1231
,
313
,
330
,
1192
,
331
,
1231
,
859
,
346
,
205
,
/* 710 */
121
7
,
1220
,
1005
,
346
,
107
,
1217
,
1220
,
1192
,
348
,
9
,
/* 720 */
8
,
85
8
,
1192
,
348
,
92
,
231
,
867
,
1192
,
1216
,
939
,
/* 730 */
23
5
,
1216
,
205
,
1217
,
1220
,
1286
,
1216
,
205
,
1217
,
1220
,
/* 740 */
31
,
29
,
27
,
26
,
25
,
33
9
,
330
,
1170
,
1231
,
52
,
/* 750 */
90
,
12
31
,
1331
,
1192
,
169
,
346
,
1231
,
1081
,
346
,
332
,
/* 760 */
113
,
126
3
,
1264
,
346
,
1268
,
348
,
1099
,
92
,
348
,
1192
,
/* 770 */
2
,
119
,
11
92
,
348
,
1216
,
143
,
260
,
1192
,
142
,
203
,
/* 780 */
121
7
,
1220
,
206
,
1217
,
1220
,
962
,
156
,
197
,
1217
,
1220
,
/* 790 */
2
52
,
259
,
261
,
90
,
1231
,
265
,
1216
,
41
,
154
,
881
,
/* 800 */
9
11
,
346
,
1216
,
115
,
1263
,
1264
,
875
,
1268
,
997
,
998
,
/* 810 */
26
6
,
348
,
32
,
267
,
392
,
1192
,
1231
,
124
,
391
,
874
,
/* 820 */
87
8
,
58
,
1231
,
346
,
127
,
207
,
1217
,
1220
,
1210
,
346
,
/* 830 */
121
6
,
54
,
32
,
348
,
842
,
268
,
1216
,
1192
,
271
,
348
,
/* 840 */
120
8
,
393
,
42
,
1192
,
278
,
130
,
32
,
198
,
1217
,
1220
,
/* 850 */
12
31
,
873
,
68
,
208
,
1217
,
1220
,
1231
,
346
,
175
,
280
,
/* 860 */
3
90
,
389
,
223
,
346
,
1216
,
1096
,
354
,
348
,
181
,
134
,
/* 870 */
17
3
,
1192
,
1092
,
348
,
765
,
136
,
100
,
1192
,
95
,
10
1
,
/* 880 */
96
,
122
8
,
1217
,
1220
,
1231
,
1094
,
98
,
1227
,
1217
,
1220
,
/* 890 */
7
60
,
346
,
1216
,
1090
,
793
,
797
,
102
,
803
,
1216
,
802
,
/* 900 */
3
10
,
348
,
41
,
103
,
146
,
1192
,
367
,
96
,
99
,
97
,
/* 910 */
149
,
98
,
1231
,
307
,
309
,
1226
,
1217
,
1220
,
1231
,
346
,
/* 920 */
96
,
872
,
318
,
1297
,
1287
,
346
,
352
,
152
,
853
,
348
,
/* 930 */
315
,
1296
,
1216
,
1192
,
226
,
348
,
5
,
159
,
155
,
1192
,
/* 940 */
121
6
,
322
,
327
,
214
,
1217
,
1220
,
241
,
240
,
1277
,
213
,
/* 950 */
121
7
,
1220
,
1231
,
314
,
4
,
161
,
861
,
936
,
91
,
346
,
/* 960 */
12
31
,
871
,
110
,
1271
,
33
,
162
,
228
,
346
,
1216
,
348
,
/* 970 */
1332
,
340
,
854
,
1192
,
296
,
218
,
343
,
348
,
17
,
1238
,
/* 980 */
117
9
,
1192
,
168
,
215
,
1217
,
1220
,
350
,
1314
,
1231
,
304
,
/* 990 */
351
,
212
,
1217
,
1220
,
355
,
346
,
1178
,
283
,
356
,
236
,
/* 1000 */
177
,
282
,
857
,
145
,
357
,
348
,
299
,
179
,
53
,
1192
,
/* 1010 */
51
,
293
,
188
,
219
,
144
,
217
,
216
,
190
,
281
,
202
,
/* 1020 */
121
7
,
1220
,
1107
,
365
,
284
,
185
,
425
,
200
,
363
,
201
,
/* 1030 */
192
,
193
,
1186
,
825
,
1163
,
1162
,
94
,
1161
,
1160
,
40
,
/* 1040 */
115
9
,
1158
,
39
,
1157
,
1156
,
827
,
1155
,
1154
,
1153
,
1152
,
/* 1050 */
1047
,
1185
,
1176
,
126
,
1085
,
711
,
862
,
853
,
1046
,
1044
,
/* 1060 */
272
,
273
,
274
,
1033
,
1032
,
1029
,
1087
,
67
,
133
,
808
,
/* 1070 */
10
86
,
807
,
1042
,
1037
,
740
,
806
,
1035
,
739
,
1028
,
220
,
/* 1080 */
73
8
,
1027
,
221
,
737
,
222
,
1184
,
1183
,
36
,
1175
,
150
,
/* 1090 */
300
,
302
,
3
,
736
,
735
,
65
,
45
,
32
,
14
,
153
,
/* 1100 */
295
,
37
,
15
,
158
,
19
,
298
,
1208
,
34
,
11
,
164
,
/* 1110 */
48
,
8
,
35
,
16
,
148
,
897
,
353
,
1174
,
180
,
1001
,
/* 1120 */
1001
,
1001
,
1001
,
1001
,
1001
,
1001
,
1001
,
1001
,
1001
,
1001
,
/* 1130 */
983
,
982
,
229
,
987
,
986
,
230
,
863
,
1001
,
1001
,
1001
,
/* 1140 */
1001
,
1001
,
1001
,
178
,
1001
,
961
,
1001
,
108
,
1001
,
157
,
/* 1150 */
1001
,
955
,
46
,
1001
,
954
,
933
,
1001
,
47
,
1001
,
1001
,
/* 1160 */
9
32
,
1001
,
988
,
1001
,
1001
,
1001
,
1001
,
1001
,
1001
,
36
6
,
/* 1170 */
879
,
13
,
116
,
18
,
243
,
172
,
959
,
174
,
176
,
1001
,
/* 1180 */
171
,
49
,
50
,
1001
,
1207
,
38
,
370
,
1001
,
373
,
794
,
/* 1190 */
54
,
376
,
771
,
1001
,
379
,
183
,
1001
,
364
,
799
,
1001
,
/* 1200 */
1001
,
1001
,
368
,
731
,
791
,
371
,
1043
,
1001
,
788
,
723
,
/* 1210 */
1001
,
428
,
423
,
801
,
374
,
786
,
800
,
782
,
1001
,
1001
,
/* 1220 */
1001
,
730
,
377
,
729
,
728
,
709
,
780
,
727
,
380
,
394
,
/* 1230 */
7
85
,
726
,
1031
,
725
,
724
,
417
,
722
,
721
,
1030
,
102
6
,
/* 1240 */
416
,
720
,
55
,
56
,
57
,
415
,
420
,
732
,
719
,
424
,
/* 1250 */
1001
,
851
,
718
,
717
,
716
,
386
,
715
,
784
,
191
,
783
,
/* 1260 */
714
,
419
,
427
,
};
static
const
YYCODETYPE
yy_lookahead
[]
=
{
/* 0 */
0
,
207
,
190
,
174
,
221
,
222
,
172
,
213
,
214
,
187
,
...
...
@@ -423,49 +423,49 @@ static const YYCODETYPE yy_lookahead[] = {
/* 810 */
211
,
203
,
83
,
193
,
57
,
207
,
186
,
174
,
61
,
20
,
/* 820 */
71
,
70
,
186
,
193
,
174
,
217
,
218
,
219
,
70
,
193
,
/* 830 */
166
,
80
,
83
,
203
,
71
,
204
,
166
,
207
,
172
,
203
,
/* 840 */
82
,
84
,
174
,
207
,
168
,
20
,
83
,
217
,
218
,
219
,
/* 850 */
186
,
186
,
172
,
217
,
218
,
219
,
186
,
193
,
71
,
186
,
/* 840 */
82
,
84
,
174
,
207
,
168
,
174
,
83
,
217
,
218
,
219
,
/* 850 */
186
,
20
,
172
,
217
,
218
,
219
,
186
,
193
,
71
,
186
,
/* 860 */
103
,
104
,
168
,
193
,
166
,
186
,
71
,
203
,
71
,
186
,
/* 870 */
83
,
207
,
186
,
203
,
71
,
186
,
186
,
207
,
83
,
186
,
/* 880 */
83
,
217
,
218
,
219
,
186
,
186
,
83
,
217
,
218
,
219
,
/* 890 */
71
,
193
,
166
,
186
,
71
,
71
,
186
,
71
,
166
,
71
,
/* 900 */
204
,
203
,
83
,
211
,
171
,
207
,
83
,
83
,
71
,
83
,
/* 910 */
1
93
,
83
,
186
,
20
,
145
,
217
,
218
,
219
,
186
,
193
,
/* 920 */
83
,
216
,
144
,
246
,
208
,
193
,
207
,
123
,
246
,
203
,
/* 930 */
20
8
,
207
,
166
,
207
,
207
,
203
,
152
,
240
,
243
,
207
,
/* 940 */
166
,
151
,
242
,
217
,
218
,
219
,
12
,
13
,
140
,
217
,
/* 950 */
218
,
219
,
186
,
1
39
,
136
,
193
,
22
,
20
,
215
,
193
,
/* 960 */
186
,
114
,
239
,
227
,
252
,
160
,
257
,
193
,
166
,
203
,
/* 970 */
154
,
156
,
38
,
207
,
4
,
35
,
251
,
203
,
70
,
223
,
/* 980 */
208
,
207
,
2
07
,
217
,
218
,
219
,
207
,
207
,
186
,
19
,
/* 990 */
20
8
,
217
,
218
,
219
,
118
,
193
,
205
,
57
,
204
,
193
,
/* 1000 */
1
71
,
61
,
68
,
33
,
182
,
203
,
36
,
172
,
70
,
207
,
/* 1010 */
1
93
,
41
,
171
,
73
,
44
,
75
,
76
,
168
,
78
,
217
,
/* 1020 */
218
,
219
,
1
89
,
180
,
84
,
180
,
173
,
164
,
94
,
0
,
/* 1030 */
82
,
0
,
0
,
114
,
0
,
0
,
0
,
0
,
0
,
69
,
/* 1040 */
0
,
22
,
72
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
/* 1050 */
43
,
0
,
48
,
0
,
0
,
38
,
122
,
123
,
36
,
43
,
/* 1060 */
0
,
0
,
0
,
0
,
79
,
77
,
38
,
0
,
38
,
0
,
/* 1070 */
0
,
38
,
22
,
0
,
0
,
0
,
0
,
38
,
22
,
38
,
/* 1080 */
38
,
22
,
0
,
121
,
0
,
70
,
22
,
116
,
22
,
83
,
/* 1090 */
38
,
20
,
83
,
38
,
22
,
141
,
39
,
71
,
71
,
14
1
,
/* 1100 */
82
,
43
,
82
,
38
,
83
,
141
,
83
,
83
,
135
,
4
,
/* 1110 */
2
,
119
,
126
,
0
,
116
,
258
,
258
,
258
,
258
,
258
,
/* 1120 */
258
,
96
,
258
,
258
,
258
,
258
,
258
,
258
,
38
,
3
8
,
/* 1130 */
38
,
38
,
38
,
38
,
22
,
258
,
258
,
258
,
70
,
258
,
/* 1140 */
258
,
43
,
258
,
258
,
258
,
258
,
258
,
70
,
258
,
71
,
/* 1150 */
70
,
258
,
71
,
70
,
258
,
22
,
71
,
71
,
258
,
71
,
/* 1160 */
258
,
258
,
83
,
258
,
258
,
258
,
258
,
258
,
71
,
82
,
/* 1170 */
7
0
,
70
,
83
,
71
,
71
,
258
,
70
,
70
,
82
,
70
,
/* 1180 */
70
,
82
,
258
,
258
,
80
,
70
,
38
,
0
,
38
,
38
,
/* 1190 */
0
,
38
,
38
,
82
,
258
,
81
,
258
,
22
,
38
,
258
,
/* 1200 */
71
,
70
,
22
,
71
,
70
,
0
,
71
,
258
,
38
,
70
,
/* 1210 */
22
,
22
,
38
,
71
,
258
,
258
,
258
,
38
,
96
,
258
,
/* 1220 */
38
,
258
,
258
,
38
,
38
,
48
,
96
,
70
,
47
,
71
,
/* 1230 */
38
,
38
,
38
,
70
,
38
,
0
,
38
,
38
,
36
,
38
,
/* 1240 */
84
,
70
,
70
,
70
,
20
,
38
,
68
,
3
8
,
38
,
21
,
/* 1250 */
38
,
38
,
38
,
22
,
22
,
21
,
258
,
38
,
37
,
258
,
/* 1260 */
258
,
43
,
258
,
258
,
258
,
96
,
258
,
258
,
258
,
258
,
/* 900 */
204
,
203
,
83
,
186
,
171
,
207
,
83
,
83
,
71
,
83
,
/* 910 */
1
71
,
83
,
186
,
211
,
193
,
217
,
218
,
219
,
186
,
193
,
/* 920 */
83
,
20
,
145
,
246
,
216
,
193
,
144
,
208
,
123
,
203
,
/* 930 */
20
7
,
246
,
166
,
207
,
207
,
203
,
152
,
242
,
208
,
207
,
/* 940 */
166
,
207
,
151
,
217
,
218
,
219
,
12
,
13
,
243
,
217
,
/* 950 */
218
,
219
,
186
,
1
40
,
139
,
239
,
22
,
136
,
193
,
193
,
/* 960 */
186
,
20
,
240
,
215
,
114
,
227
,
160
,
193
,
166
,
203
,
/* 970 */
257
,
154
,
38
,
207
,
4
,
35
,
156
,
203
,
70
,
223
,
/* 980 */
208
,
207
,
2
51
,
217
,
218
,
219
,
207
,
252
,
186
,
19
,
/* 990 */
20
7
,
217
,
218
,
219
,
118
,
193
,
208
,
57
,
205
,
207
,
/* 1000 */
1
93
,
61
,
68
,
33
,
204
,
203
,
36
,
171
,
70
,
207
,
/* 1010 */
1
71
,
41
,
182
,
73
,
44
,
75
,
76
,
172
,
78
,
217
,
/* 1020 */
218
,
219
,
1
93
,
189
,
84
,
171
,
168
,
180
,
94
,
18
0
,
/* 1030 */
173
,
164
,
0
,
82
,
0
,
0
,
114
,
0
,
0
,
69
,
/* 1040 */
0
,
0
,
72
,
0
,
0
,
22
,
0
,
0
,
0
,
0
,
/* 1050 */
0
,
0
,
0
,
43
,
0
,
48
,
122
,
123
,
0
,
0
,
/* 1060 */
38
,
36
,
43
,
0
,
0
,
0
,
0
,
79
,
77
,
38
,
/* 1070 */
0
,
38
,
0
,
0
,
38
,
22
,
0
,
38
,
0
,
22
,
/* 1080 */
38
,
0
,
22
,
38
,
22
,
0
,
0
,
121
,
0
,
116
,
/* 1090 */
22
,
22
,
83
,
38
,
38
,
20
,
70
,
83
,
141
,
7
1
,
/* 1100 */
39
,
83
,
141
,
83
,
83
,
38
,
82
,
135
,
141
,
82
,
/* 1110 */
4
,
2
,
83
,
83
,
43
,
126
,
119
,
0
,
116
,
258
,
/* 1120 */
258
,
258
,
258
,
258
,
258
,
258
,
258
,
258
,
258
,
25
8
,
/* 1130 */
38
,
38
,
38
,
38
,
38
,
38
,
22
,
258
,
258
,
258
,
/* 1140 */
258
,
258
,
258
,
43
,
258
,
71
,
258
,
70
,
258
,
70
,
/* 1150 */
258
,
71
,
70
,
258
,
71
,
71
,
258
,
70
,
258
,
258
,
/* 1160 */
71
,
258
,
71
,
258
,
258
,
258
,
258
,
258
,
258
,
38
,
/* 1170 */
7
1
,
70
,
82
,
70
,
38
,
71
,
71
,
70
,
70
,
258
,
/* 1180 */
82
,
70
,
70
,
258
,
82
,
70
,
38
,
258
,
38
,
71
,
/* 1190 */
80
,
38
,
22
,
258
,
38
,
82
,
258
,
81
,
22
,
258
,
/* 1200 */
258
,
258
,
70
,
22
,
71
,
70
,
0
,
258
,
71
,
22
,
/* 1210 */
258
,
20
,
22
,
38
,
70
,
96
,
38
,
71
,
258
,
258
,
/* 1220 */
258
,
38
,
70
,
38
,
38
,
48
,
71
,
38
,
70
,
47
,
/* 1230 */
96
,
38
,
0
,
38
,
38
,
43
,
38
,
38
,
0
,
0
,
/* 1240 */
36
,
38
,
70
,
70
,
70
,
38
,
37
,
6
8
,
38
,
21
,
/* 1250 */
258
,
22
,
38
,
38
,
38
,
84
,
38
,
96
,
22
,
96
,
/* 1260 */
38
,
38
,
21
,
258
,
258
,
258
,
258
,
258
,
258
,
258
,
/* 1270 */
258
,
258
,
258
,
258
,
258
,
258
,
258
,
258
,
258
,
258
,
/* 1280 */
258
,
258
,
258
,
258
,
258
,
258
,
258
,
258
,
258
,
258
,
/* 1290 */
258
,
258
,
258
,
258
,
258
,
258
,
258
,
258
,
258
,
258
,
...
...
@@ -481,11 +481,11 @@ static const YYCODETYPE yy_lookahead[] = {
/* 1390 */
258
,
258
,
258
,
258
,
258
,
258
,
258
,
258
,
258
,
258
,
/* 1400 */
258
,
258
,
258
,
258
,
258
,
258
,
258
,
258
,
258
,
258
,
/* 1410 */
258
,
258
,
258
,
258
,
258
,
258
,
258
,
258
,
258
,
258
,
/* 1420 */
258
,
258
,
258
,
258
,
258
,
258
,
258
,
258
,
258
,
/* 1420 */
258
,
258
,
258
,
258
,
258
,
258
,
};
#define YY_SHIFT_COUNT (42
6
)
#define YY_SHIFT_COUNT (42
9
)
#define YY_SHIFT_MIN (0)
#define YY_SHIFT_MAX (12
35
)
#define YY_SHIFT_MAX (12
41
)
static
const
unsigned
short
int
yy_shift_ofst
[]
=
{
/* 0 */
426
,
212
,
161
,
382
,
382
,
382
,
382
,
421
,
382
,
382
,
/* 10 */
151
,
513
,
517
,
444
,
513
,
513
,
513
,
513
,
513
,
513
,
...
...
@@ -499,41 +499,41 @@ static const unsigned short int yy_shift_ofst[] = {
/* 90 */
307
,
307
,
307
,
136
,
343
,
319
,
17
,
17
,
17
,
306
,
/* 100 */
56
,
56
,
56
,
56
,
56
,
68
,
503
,
534
,
90
,
215
,
/* 110 */
335
,
331
,
478
,
525
,
417
,
525
,
493
,
248
,
591
,
706
,
/* 120 */
657
,
661
,
661
,
706
,
786
,
66
,
343
,
799
,
66
,
70
6
,
/* 130 */
66
,
825
,
17
,
17
,
17
,
17
,
17
,
17
,
17
,
17
,
/* 140 */
17
,
17
,
17
,
706
,
825
,
786
,
278
,
343
,
799
,
893
,
/* 150 */
769
,
778
,
804
,
769
,
778
,
804
,
804
,
784
,
790
,
808
,
/* 160 */
814
,
818
,
343
,
937
,
847
,
805
,
815
,
816
,
908
,
17
,
/* 170 */
778
,
804
,
804
,
778
,
804
,
876
,
343
,
799
,
306
,
278
,
/* 180 */
343
,
938
,
706
,
278
,
825
,
1266
,
1266
,
1266
,
1266
,
0
,
/* 190 */
545
,
577
,
46
,
970
,
16
,
89
,
728
,
406
,
757
,
301
,
/* 200 */
301
,
301
,
301
,
301
,
301
,
301
,
115
,
288
,
196
,
7
,
/* 210 */
7
,
7
,
7
,
374
,
605
,
610
,
701
,
453
,
580
,
632
,
/* 220 */
506
,
541
,
714
,
715
,
718
,
647
,
590
,
451
,
729
,
74
,
/* 230 */
749
,
758
,
763
,
787
,
795
,
797
,
803
,
639
,
653
,
819
,
/* 240 */
823
,
824
,
826
,
828
,
837
,
751
,
1029
,
948
,
103
1
,
1032
,
/* 250 */
9
19
,
1034
,
1035
,
1036
,
1037
,
1038
,
1040
,
1019
,
1043
,
1044
,
/* 260 */
10
45
,
1046
,
1047
,
1048
,
1049
,
1007
,
1051
,
1004
,
1053
,
1054
,
/* 270 */
10
17
,
1022
,
1016
,
1060
,
1061
,
1062
,
1063
,
985
,
988
,
1028
,
/* 280 */
1030
,
1050
,
1067
,
1033
,
1039
,
1041
,
1042
,
1052
,
1055
,
1069
,
/* 290 */
105
6
,
1070
,
1059
,
1057
,
1073
,
1064
,
1065
,
1074
,
1066
,
1075
,
/* 300 */
107
2
,
1071
,
1076
,
1082
,
962
,
1084
,
1015
,
1058
,
971
,
100
6
,
/* 310 */
10
09
,
954
,
1026
,
1021
,
1027
,
1068
,
1077
,
1078
,
1080
,
1081
,
/* 320 */
10
23
,
1018
,
1083
,
1024
,
958
,
1085
,
1086
,
1020
,
973
,
107
9
,
/* 330 */
10
87
,
1088
,
1089
,
964
,
1105
,
1090
,
1091
,
1092
,
1093
,
1094
,
/* 340 */
109
5
,
1108
,
986
,
1096
,
1097
,
1100
,
1101
,
1102
,
1103
,
1106
,
/* 350 */
110
7
,
992
,
1109
,
1113
,
1098
,
998
,
1110
,
1104
,
1099
,
1111
,
/* 360 */
111
2
,
1115
,
1114
,
1129
,
1148
,
1150
,
1131
,
1132
,
1151
,
1134
,
/* 370 */
113
5
,
1153
,
1139
,
1142
,
1154
,
1157
,
1158
,
1160
,
1163
,
102
5
,
/* 380 */
11
22
,
1130
,
1169
,
1133
,
1156
,
1171
,
1172
,
1173
,
1170
,
1174
,
/* 390 */
117
5
,
1177
,
1181
,
1178
,
1180
,
1179
,
1182
,
1185
,
1186
,
1192
,
/* 400 */
11
93
,
1194
,
1189
,
1196
,
1198
,
1199
,
1201
,
1207
,
1209
,
1210
,
/* 410 */
121
2
,
1213
,
1187
,
1214
,
1202
,
1218
,
1190
,
1219
,
1221
,
1205
,
/* 420 */
12
35
,
1188
,
1228
,
1231
,
1232
,
1234
,
1224
,
/* 120 */
657
,
661
,
661
,
706
,
786
,
66
,
343
,
799
,
66
,
6
6
,
/* 130 */
706
,
66
,
831
,
17
,
17
,
17
,
17
,
17
,
17
,
17
,
/* 140 */
17
,
17
,
17
,
17
,
706
,
831
,
786
,
278
,
343
,
799
,
/* 150 */
278
,
901
,
777
,
782
,
805
,
777
,
782
,
805
,
805
,
784
,
/* 160 */
791
,
813
,
815
,
821
,
343
,
941
,
850
,
806
,
820
,
8
17
,
/* 170 */
908
,
17
,
782
,
805
,
805
,
782
,
805
,
876
,
343
,
799
,
/* 180 */
278
,
306
,
278
,
343
,
938
,
706
,
278
,
831
,
1263
,
1263
,
/* 190 */
1263
,
1263
,
0
,
545
,
577
,
46
,
970
,
16
,
89
,
728
,
/* 200 */
406
,
757
,
301
,
301
,
301
,
301
,
301
,
301
,
301
,
115
,
/* 210 */
288
,
196
,
7
,
7
,
7
,
7
,
374
,
605
,
610
,
701
,
/* 220 */
453
,
580
,
632
,
506
,
541
,
714
,
715
,
718
,
647
,
590
,
/* 230 */
451
,
729
,
74
,
749
,
758
,
763
,
787
,
795
,
797
,
803
,
/* 240 */
639
,
653
,
819
,
823
,
824
,
826
,
828
,
837
,
75
1
,
1032
,
/* 250 */
9
51
,
1034
,
1035
,
922
,
1037
,
1038
,
1040
,
1041
,
1043
,
1044
,
/* 260 */
10
23
,
1046
,
1047
,
1048
,
1049
,
1050
,
1051
,
1052
,
1010
,
1054
,
/* 270 */
10
07
,
1058
,
1059
,
1022
,
1025
,
1019
,
1063
,
1064
,
1065
,
1066
,
/* 280 */
988
,
991
,
1031
,
1033
,
1053
,
1070
,
1036
,
1039
,
1042
,
1045
,
/* 290 */
105
5
,
1056
,
1072
,
1057
,
1073
,
1060
,
1061
,
1076
,
1062
,
1067
,
/* 300 */
107
8
,
1068
,
1081
,
1069
,
1075
,
1085
,
1086
,
966
,
1088
,
102
6
,
/* 310 */
10
71
,
973
,
1009
,
1014
,
957
,
1028
,
1018
,
1074
,
1077
,
1079
,
/* 320 */
10
80
,
1082
,
1083
,
1020
,
1024
,
1087
,
1021
,
961
,
1084
,
108
9
,
/* 330 */
10
27
,
972
,
1029
,
1090
,
1091
,
1030
,
967
,
1106
,
1092
,
1093
,
/* 340 */
109
4
,
1095
,
1096
,
1097
,
1109
,
989
,
1098
,
1099
,
1101
,
1103
,
/* 350 */
110
4
,
1105
,
1107
,
1108
,
997
,
1111
,
1117
,
1100
,
1002
,
1112
,
/* 360 */
111
0
,
1102
,
1113
,
1114
,
1115
,
1116
,
1118
,
1131
,
1136
,
1132
,
/* 370 */
113
3
,
1148
,
1135
,
1137
,
1150
,
1144
,
1146
,
1153
,
1152
,
115
5
,
/* 380 */
11
56
,
1158
,
1119
,
1134
,
1161
,
1163
,
1170
,
1171
,
1172
,
1173
,
/* 390 */
117
4
,
1175
,
1178
,
1176
,
1177
,
1182
,
1179
,
1181
,
1183
,
1185
,
/* 400 */
11
86
,
1189
,
1193
,
1195
,
1196
,
1187
,
1198
,
1199
,
1203
,
1210
,
/* 410 */
121
4
,
1215
,
1216
,
1218
,
1222
,
1206
,
1207
,
1204
,
1192
,
1232
,
/* 420 */
12
23
,
1209
,
1238
,
1239
,
1190
,
1228
,
1229
,
1236
,
1241
,
1191
,
};
#define YY_REDUCE_COUNT (1
88
)
#define YY_REDUCE_COUNT (1
91
)
#define YY_REDUCE_MIN (-217)
#define YY_REDUCE_MAX (86
3
)
#define YY_REDUCE_MAX (86
7
)
static
const
short
yy_reduce_ofst
[]
=
{
/* 0 */
-
129
,
-
6
,
49
,
78
,
126
,
155
,
190
,
219
,
276
,
299
,
/* 10 */
135
,
375
,
398
,
434
,
492
,
-
80
,
497
,
515
,
520
,
562
,
...
...
@@ -547,58 +547,59 @@ static const short yy_reduce_ofst[] = {
/* 90 */
110
,
185
,
327
,
578
,
27
,
54
,
217
,
287
,
311
,
-
10
,
/* 100 */
-
178
,
-
140
,
204
,
312
,
345
,
268
,
412
,
347
,
381
,
446
,
/* 110 */
415
,
495
,
519
,
471
,
471
,
471
,
476
,
504
,
533
,
575
,
/* 120 */
589
,
592
,
593
,
623
,
599
,
643
,
620
,
631
,
650
,
666
,
/* 130 */
668
,
676
,
665
,
673
,
679
,
683
,
686
,
689
,
690
,
693
,
/* 140 */
699
,
707
,
710
,
680
,
694
,
692
,
733
,
717
,
696
,
705
,
/* 150 */
677
,
716
,
719
,
682
,
722
,
724
,
727
,
695
,
700
,
697
,
/* 160 */
723
,
471
,
762
,
743
,
736
,
709
,
712
,
725
,
756
,
476
,
/* 170 */
772
,
775
,
779
,
782
,
780
,
791
,
806
,
794
,
822
,
829
,
/* 180 */
817
,
833
,
835
,
841
,
849
,
843
,
845
,
853
,
863
,
/* 120 */
589
,
592
,
593
,
623
,
599
,
643
,
620
,
631
,
650
,
668
,
/* 130 */
666
,
671
,
676
,
673
,
679
,
683
,
686
,
689
,
690
,
693
,
/* 140 */
699
,
707
,
710
,
717
,
680
,
694
,
702
,
733
,
721
,
696
,
/* 150 */
739
,
708
,
677
,
719
,
723
,
685
,
730
,
727
,
734
,
705
,
/* 160 */
695
,
722
,
716
,
471
,
765
,
748
,
738
,
713
,
735
,
731
,
/* 170 */
756
,
476
,
772
,
779
,
783
,
788
,
792
,
793
,
807
,
800
,
/* 180 */
836
,
830
,
839
,
829
,
834
,
845
,
854
,
858
,
847
,
849
,
/* 190 */
857
,
867
,
};
static
const
YYACTIONTYPE
yy_default
[]
=
{
/* 0 */
99
6
,
996
,
996
,
996
,
996
,
996
,
996
,
996
,
996
,
996
,
/* 10 */
99
6
,
996
,
996
,
996
,
996
,
996
,
996
,
996
,
996
,
996
,
/* 20 */
99
6
,
996
,
996
,
996
,
996
,
996
,
996
,
996
,
996
,
996
,
/* 30 */
99
6
,
996
,
996
,
996
,
996
,
996
,
996
,
996
,
996
,
996
,
/* 40 */
99
6
,
996
,
996
,
996
,
1049
,
996
,
996
,
996
,
996
,
996
,
/* 50 */
99
6
,
996
,
996
,
996
,
996
,
996
,
996
,
996
,
996
,
996
,
/* 60 */
10
47
,
996
,
1255
,
996
,
1161
,
996
,
996
,
996
,
996
,
996
,
/* 70 */
99
6
,
996
,
996
,
996
,
996
,
996
,
996
,
996
,
996
,
996
,
/* 80 */
99
6
,
996
,
996
,
996
,
996
,
996
,
996
,
996
,
996
,
1049
,
/* 90 */
126
6
,
1266
,
1266
,
1047
,
996
,
996
,
996
,
996
,
996
,
1132
,
/* 100 */
99
6
,
996
,
996
,
996
,
996
,
996
,
996
,
1330
,
996
,
1085
,
/* 110 */
129
0
,
996
,
1282
,
1258
,
1272
,
1259
,
996
,
1315
,
1275
,
996
,
/* 120 */
116
6
,
1163
,
1163
,
996
,
996
,
1049
,
996
,
996
,
1049
,
996
,
/* 130 */
1049
,
996
,
996
,
996
,
996
,
996
,
996
,
996
,
996
,
996
,
/* 140 */
99
6
,
996
,
996
,
996
,
996
,
996
,
1047
,
996
,
996
,
996
,
/* 150 */
1
297
,
1295
,
996
,
1297
,
1295
,
996
,
996
,
1309
,
1305
,
1288
,
/* 160 */
1
286
,
1272
,
996
,
996
,
996
,
1333
,
1321
,
1317
,
996
,
996
,
/* 170 */
1295
,
996
,
996
,
1295
,
996
,
1174
,
996
,
996
,
996
,
1047
,
/* 180 */
996
,
1101
,
996
,
1047
,
996
,
1135
,
1135
,
1050
,
1001
,
996
,
/* 190 */
996
,
996
,
996
,
996
,
996
,
996
,
996
,
996
,
996
,
1227
,
/* 200 */
1308
,
1307
,
1226
,
1232
,
1231
,
1230
,
996
,
996
,
996
,
1221
,
/* 210 */
1222
,
1220
,
1219
,
996
,
996
,
996
,
996
,
996
,
996
,
996
,
/* 220 */
99
6
,
996
,
996
,
996
,
1256
,
996
,
1318
,
1322
,
996
,
996
,
/* 230 */
996
,
1206
,
996
,
996
,
996
,
996
,
996
,
996
,
996
,
996
,
/* 240 */
99
6
,
996
,
996
,
996
,
996
,
996
,
996
,
996
,
996
,
996
,
/* 250 */
99
6
,
996
,
996
,
996
,
996
,
996
,
996
,
996
,
996
,
996
,
/* 260 */
99
6
,
996
,
996
,
996
,
996
,
996
,
996
,
996
,
996
,
996
,
/* 270 */
99
6
,
996
,
996
,
996
,
996
,
996
,
996
,
996
,
996
,
996
,
/* 280 */
99
6
,
996
,
996
,
996
,
996
,
996
,
996
,
996
,
996
,
996
,
/* 290 */
99
6
,
996
,
996
,
996
,
996
,
996
,
996
,
996
,
996
,
996
,
/* 300 */
99
6
,
996
,
996
,
996
,
996
,
996
,
996
,
996
,
996
,
127
9
,
/* 310 */
1289
,
996
,
996
,
996
,
996
,
996
,
996
,
996
,
996
,
996
,
/* 320 */
99
6
,
1206
,
996
,
1306
,
996
,
1265
,
1261
,
996
,
996
,
1257
,
/* 330 */
99
6
,
996
,
1316
,
996
,
996
,
996
,
996
,
996
,
996
,
996
,
/* 340 */
99
6
,
1251
,
996
,
996
,
996
,
996
,
996
,
996
,
996
,
996
,
/* 350 */
99
6
,
996
,
996
,
996
,
996
,
996
,
996
,
996
,
1205
,
996
,
/* 360 */
99
6
,
996
,
996
,
996
,
996
,
996
,
1129
,
996
,
996
,
996
,
/* 370 */
99
6
,
996
,
996
,
996
,
996
,
996
,
996
,
996
,
996
,
1114
,
/* 380 */
1112
,
1111
,
1110
,
996
,
1107
,
996
,
996
,
996
,
996
,
996
,
/* 390 */
99
6
,
996
,
996
,
996
,
996
,
996
,
996
,
996
,
996
,
996
,
/* 400 */
99
6
,
996
,
996
,
996
,
996
,
996
,
996
,
996
,
996
,
996
,
/* 410 */
99
6
,
996
,
996
,
996
,
996
,
996
,
996
,
996
,
996
,
996
,
/* 420 */
99
6
,
996
,
996
,
996
,
996
,
996
,
996
,
/* 0 */
99
9
,
999
,
999
,
999
,
999
,
999
,
999
,
999
,
999
,
999
,
/* 10 */
99
9
,
999
,
999
,
999
,
999
,
999
,
999
,
999
,
999
,
999
,
/* 20 */
99
9
,
999
,
999
,
999
,
999
,
999
,
999
,
999
,
999
,
999
,
/* 30 */
99
9
,
999
,
999
,
999
,
999
,
999
,
999
,
999
,
999
,
999
,
/* 40 */
99
9
,
999
,
999
,
999
,
1052
,
999
,
999
,
999
,
999
,
999
,
/* 50 */
99
9
,
999
,
999
,
999
,
999
,
999
,
999
,
999
,
999
,
999
,
/* 60 */
10
50
,
999
,
1258
,
999
,
1164
,
999
,
999
,
999
,
999
,
999
,
/* 70 */
99
9
,
999
,
999
,
999
,
999
,
999
,
999
,
999
,
999
,
999
,
/* 80 */
99
9
,
999
,
999
,
999
,
999
,
999
,
999
,
999
,
999
,
1052
,
/* 90 */
126
9
,
1269
,
1269
,
1050
,
999
,
999
,
999
,
999
,
999
,
1135
,
/* 100 */
99
9
,
999
,
999
,
999
,
999
,
999
,
999
,
1333
,
999
,
1088
,
/* 110 */
129
3
,
999
,
1285
,
1261
,
1275
,
1262
,
999
,
1318
,
1278
,
999
,
/* 120 */
116
9
,
1166
,
1166
,
999
,
999
,
1052
,
999
,
999
,
1052
,
1052
,
/* 130 */
999
,
1052
,
999
,
999
,
999
,
999
,
999
,
999
,
999
,
999
,
/* 140 */
99
9
,
999
,
999
,
999
,
999
,
999
,
999
,
1050
,
999
,
999
,
/* 150 */
1
050
,
999
,
1300
,
1298
,
999
,
1300
,
1298
,
999
,
999
,
1312
,
/* 160 */
1
308
,
1291
,
1289
,
1275
,
999
,
999
,
999
,
1336
,
1324
,
1320
,
/* 170 */
999
,
999
,
1298
,
999
,
999
,
1298
,
999
,
1177
,
999
,
999
,
/* 180 */
1050
,
999
,
1050
,
999
,
1104
,
999
,
1050
,
999
,
1138
,
1138
,
/* 190 */
1053
,
1004
,
999
,
999
,
999
,
999
,
999
,
999
,
999
,
999
,
/* 200 */
999
,
999
,
1230
,
1311
,
1310
,
1229
,
1235
,
1234
,
1233
,
999
,
/* 210 */
999
,
999
,
1224
,
1225
,
1223
,
1222
,
999
,
999
,
999
,
999
,
/* 220 */
99
9
,
999
,
999
,
999
,
999
,
999
,
999
,
1259
,
999
,
1321
,
/* 230 */
1325
,
999
,
999
,
999
,
1209
,
999
,
999
,
999
,
999
,
999
,
/* 240 */
99
9
,
999
,
999
,
999
,
999
,
999
,
999
,
999
,
999
,
999
,
/* 250 */
99
9
,
999
,
999
,
999
,
999
,
999
,
999
,
999
,
999
,
999
,
/* 260 */
99
9
,
999
,
999
,
999
,
999
,
999
,
999
,
999
,
999
,
999
,
/* 270 */
99
9
,
999
,
999
,
999
,
999
,
999
,
999
,
999
,
999
,
999
,
/* 280 */
99
9
,
999
,
999
,
999
,
999
,
999
,
999
,
999
,
999
,
999
,
/* 290 */
99
9
,
999
,
999
,
999
,
999
,
999
,
999
,
999
,
999
,
999
,
/* 300 */
99
9
,
999
,
999
,
999
,
999
,
999
,
999
,
999
,
999
,
99
9
,
/* 310 */
999
,
999
,
1282
,
1292
,
999
,
999
,
999
,
999
,
999
,
999
,
/* 320 */
99
9
,
999
,
999
,
999
,
1209
,
999
,
1309
,
999
,
1268
,
1264
,
/* 330 */
99
9
,
999
,
1260
,
999
,
999
,
1319
,
999
,
999
,
999
,
999
,
/* 340 */
99
9
,
999
,
999
,
999
,
1254
,
999
,
999
,
999
,
999
,
999
,
/* 350 */
99
9
,
999
,
999
,
999
,
999
,
999
,
999
,
999
,
999
,
999
,
/* 360 */
99
9
,
1208
,
999
,
999
,
999
,
999
,
999
,
999
,
999
,
1132
,
/* 370 */
99
9
,
999
,
999
,
999
,
999
,
999
,
999
,
999
,
999
,
999
,
/* 380 */
999
,
999
,
1117
,
1115
,
1114
,
1113
,
999
,
1110
,
999
,
999
,
/* 390 */
99
9
,
999
,
999
,
999
,
999
,
999
,
999
,
999
,
999
,
999
,
/* 400 */
99
9
,
999
,
999
,
999
,
999
,
999
,
999
,
999
,
999
,
999
,
/* 410 */
99
9
,
999
,
999
,
999
,
999
,
999
,
999
,
999
,
999
,
999
,
/* 420 */
99
9
,
999
,
999
,
999
,
999
,
999
,
999
,
999
,
999
,
999
,
};
/********** End of lemon-generated parsing tables *****************************/
...
...
@@ -1142,9 +1143,9 @@ static const char *const yyRuleName[] = {
/* 169 */
"func_name_list ::= func_name"
,
/* 170 */
"func_name_list ::= func_name_list NK_COMMA col_name"
,
/* 171 */
"func_name ::= function_name"
,
/* 172 */
"cmd ::= CREATE SMA INDEX index_name ON table_name index_options"
,
/* 173 */
"cmd ::= CREATE FULLTEXT INDEX index_name ON table_name NK_LP col_name_list NK_RP"
,
/* 174 */
"cmd ::= DROP INDEX index_name ON table_name"
,
/* 172 */
"cmd ::= CREATE SMA INDEX
not_exists_opt
index_name ON table_name index_options"
,
/* 173 */
"cmd ::= CREATE FULLTEXT INDEX
not_exists_opt
index_name ON table_name NK_LP col_name_list NK_RP"
,
/* 174 */
"cmd ::= DROP INDEX
exists_opt
index_name ON table_name"
,
/* 175 */
"index_options ::="
,
/* 176 */
"index_options ::= FUNCTION NK_LP func_list NK_RP INTERVAL NK_LP duration_literal NK_RP sliding_opt"
,
/* 177 */
"index_options ::= FUNCTION NK_LP func_list NK_RP INTERVAL NK_LP duration_literal NK_COMMA duration_literal NK_RP sliding_opt"
,
...
...
@@ -2042,9 +2043,9 @@ static const struct {
{
195
,
-
1
},
/* (169) func_name_list ::= func_name */
{
195
,
-
3
},
/* (170) func_name_list ::= func_name_list NK_COMMA col_name */
{
202
,
-
1
},
/* (171) func_name ::= function_name */
{
163
,
-
7
},
/* (172) cmd ::= CREATE SMA INDEX
index_name ON table_name index_options */
{
163
,
-
9
},
/* (173) cmd ::= CREATE FULLTEXT INDEX
index_name ON table_name NK_LP col_name_list NK_RP */
{
163
,
-
5
},
/* (174) cmd ::= DROP INDEX
index_name ON table_name */
{
163
,
-
8
},
/* (172) cmd ::= CREATE SMA INDEX not_exists_opt
index_name ON table_name index_options */
{
163
,
-
10
},
/* (173) cmd ::= CREATE FULLTEXT INDEX not_exists_opt
index_name ON table_name NK_LP col_name_list NK_RP */
{
163
,
-
6
},
/* (174) cmd ::= DROP INDEX exists_opt
index_name ON table_name */
{
205
,
0
},
/* (175) index_options ::= */
{
205
,
-
9
},
/* (176) index_options ::= FUNCTION NK_LP func_list NK_RP INTERVAL NK_LP duration_literal NK_RP sliding_opt */
{
205
,
-
11
},
/* (177) index_options ::= FUNCTION NK_LP func_list NK_RP INTERVAL NK_LP duration_literal NK_COMMA duration_literal NK_RP sliding_opt */
...
...
@@ -2840,14 +2841,14 @@ static YYACTIONTYPE yy_reduce(
{
yylhsminor
.
yy140
=
createFunctionNode
(
pCxt
,
&
yymsp
[
0
].
minor
.
yy149
,
NULL
);
}
yymsp
[
0
].
minor
.
yy140
=
yylhsminor
.
yy140
;
break
;
case
172
:
/* cmd ::= CREATE SMA INDEX index_name ON table_name index_options */
{
pCxt
->
pRootNode
=
createCreateIndexStmt
(
pCxt
,
INDEX_TYPE_SMA
,
&
yymsp
[
-
3
].
minor
.
yy149
,
&
yymsp
[
-
1
].
minor
.
yy149
,
NULL
,
yymsp
[
0
].
minor
.
yy140
);
}
case
172
:
/* cmd ::= CREATE SMA INDEX
not_exists_opt
index_name ON table_name index_options */
{
pCxt
->
pRootNode
=
createCreateIndexStmt
(
pCxt
,
INDEX_TYPE_SMA
,
yymsp
[
-
4
].
minor
.
yy497
,
&
yymsp
[
-
3
].
minor
.
yy149
,
&
yymsp
[
-
1
].
minor
.
yy149
,
NULL
,
yymsp
[
0
].
minor
.
yy140
);
}
break
;
case
173
:
/* cmd ::= CREATE FULLTEXT INDEX index_name ON table_name NK_LP col_name_list NK_RP */
{
pCxt
->
pRootNode
=
createCreateIndexStmt
(
pCxt
,
INDEX_TYPE_FULLTEXT
,
&
yymsp
[
-
5
].
minor
.
yy149
,
&
yymsp
[
-
3
].
minor
.
yy149
,
yymsp
[
-
1
].
minor
.
yy136
,
NULL
);
}
case
173
:
/* cmd ::= CREATE FULLTEXT INDEX
not_exists_opt
index_name ON table_name NK_LP col_name_list NK_RP */
{
pCxt
->
pRootNode
=
createCreateIndexStmt
(
pCxt
,
INDEX_TYPE_FULLTEXT
,
yymsp
[
-
6
].
minor
.
yy497
,
&
yymsp
[
-
5
].
minor
.
yy149
,
&
yymsp
[
-
3
].
minor
.
yy149
,
yymsp
[
-
1
].
minor
.
yy136
,
NULL
);
}
break
;
case
174
:
/* cmd ::= DROP INDEX index_name ON table_name */
{
pCxt
->
pRootNode
=
createDropIndexStmt
(
pCxt
,
&
yymsp
[
-
2
].
minor
.
yy149
,
&
yymsp
[
0
].
minor
.
yy149
);
}
case
174
:
/* cmd ::= DROP INDEX
exists_opt
index_name ON table_name */
{
pCxt
->
pRootNode
=
createDropIndexStmt
(
pCxt
,
yymsp
[
-
3
].
minor
.
yy497
,
&
yymsp
[
-
2
].
minor
.
yy149
,
&
yymsp
[
0
].
minor
.
yy149
);
}
break
;
case
176
:
/* index_options ::= FUNCTION NK_LP func_list NK_RP INTERVAL NK_LP duration_literal NK_RP sliding_opt */
{
yymsp
[
-
8
].
minor
.
yy140
=
createIndexOption
(
pCxt
,
yymsp
[
-
6
].
minor
.
yy136
,
releaseRawExprNode
(
pCxt
,
yymsp
[
-
2
].
minor
.
yy140
),
NULL
,
yymsp
[
0
].
minor
.
yy140
);
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录