📄 sql.tab.c
字号:
/* YYLAST -- Last index in YYTABLE. */
#define YYLAST 133
/* YYNTOKENS -- Number of terminals. */
#define YYNTOKENS 63
/* YYNNTS -- Number of nonterminals. */
#define YYNNTS 33
/* YYNRULES -- Number of rules. */
#define YYNRULES 75
/* YYNRULES -- Number of states. */
#define YYNSTATES 136
/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
#define YYUNDEFTOK 2
#define YYMAXUTOK 317
#define YYTRANSLATE(YYX) \
((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
/* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */
static const unsigned char yytranslate[] =
{
0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
55, 56, 57, 58, 59, 60, 61, 62
};
#if YYDEBUG
/* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
YYRHS. */
static const unsigned char yyprhs[] =
{
0, 0, 3, 5, 7, 9, 11, 13, 15, 17,
28, 40, 47, 55, 62, 67, 70, 75, 77, 79,
84, 88, 90, 93, 95, 98, 101, 103, 107, 109,
114, 116, 118, 120, 122, 124, 126, 131, 133, 136,
140, 143, 145, 149, 151, 153, 157, 160, 165, 169,
173, 177, 181, 185, 189, 193, 197, 201, 205, 210,
212, 214, 216, 220, 222, 226, 230, 232, 235, 237,
239, 241, 245, 247, 249, 251
};
/* YYRHS -- A `-1'-separated list of the rules' RHS. */
static const yysigned_char yyrhs[] =
{
64, 0, -1, 65, -1, 79, -1, 67, -1, 66,
-1, 68, -1, 69, -1, 70, -1, 20, 23, 93,
29, 82, 40, 50, 29, 87, 40, -1, 20, 23,
93, 29, 82, 40, 50, 29, 87, 40, 48, -1,
8, 47, 93, 29, 72, 40, -1, 8, 47, 93,
29, 72, 40, 17, -1, 49, 93, 42, 88, 51,
85, -1, 49, 93, 42, 88, -1, 9, 83, -1,
3, 47, 93, 71, -1, 17, -1, 13, -1, 73,
39, 25, 82, -1, 73, 7, 74, -1, 74, -1,
92, 75, -1, 76, -1, 76, 31, -1, 76, 48,
-1, 77, -1, 77, 34, 35, -1, 6, -1, 6,
29, 78, 40, -1, 28, -1, 43, -1, 21, -1,
27, -1, 36, -1, 95, -1, 80, 38, 5, 82,
-1, 80, -1, 41, 81, -1, 41, 10, 81, -1,
82, 83, -1, 92, -1, 92, 7, 82, -1, 45,
-1, 84, -1, 84, 51, 85, -1, 14, 93, -1,
14, 93, 7, 93, -1, 29, 85, 40, -1, 85,
4, 85, -1, 85, 37, 85, -1, 91, 12, 86,
-1, 91, 16, 86, -1, 91, 30, 86, -1, 91,
26, 86, -1, 91, 15, 86, -1, 91, 33, 86,
-1, 91, 24, 35, -1, 91, 24, 34, 35, -1,
91, -1, 90, -1, 90, -1, 90, 7, 87, -1,
89, -1, 89, 7, 88, -1, 92, 12, 90, -1,
95, -1, 32, 95, -1, 46, -1, 52, -1, 92,
-1, 93, 11, 94, -1, 94, -1, 94, -1, 18,
-1, 22, -1
};
/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
static const unsigned short int yyrline[] =
{
0, 123, 123, 131, 132, 133, 134, 135, 136, 140,
151, 164, 176, 191, 201, 214, 227, 240, 244, 251,
261, 271, 278, 286, 290, 294, 301, 305, 312, 316,
320, 324, 328, 332, 336, 343, 352, 364, 368, 372,
388, 409, 410, 414, 421, 422, 438, 448, 461, 467,
473, 479, 485, 491, 497, 503, 509, 515, 521, 530,
531, 535, 542, 553, 554, 562, 570, 576, 582, 588,
597, 606, 612, 621, 628, 637
};
#endif
#if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE
/* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
First, the terminals, then, starting at YYNTOKENS, nonterminals. */
static const char *const yytname[] =
{
"$end", "error", "$undefined", "TK_ALTER", "TK_AND", "TK_BY", "TK_CHAR",
"TK_COMMA", "TK_CREATE", "TK_DELETE", "TK_DISTINCT", "TK_DOT", "TK_EQ",
"TK_FREE", "TK_FROM", "TK_GE", "TK_GT", "TK_HOLD", "TK_ID", "TK_ILLEGAL",
"TK_INSERT", "TK_INT", "TK_INTEGER", "TK_INTO", "TK_IS", "TK_KEY",
"TK_LE", "TK_LONG", "TK_LONGCHAR", "TK_LP", "TK_LT", "TK_LOCALIZABLE",
"TK_MINUS", "TK_NE", "TK_NOT", "TK_NULL", "TK_OBJECT", "TK_OR",
"TK_ORDER", "TK_PRIMARY", "TK_RP", "TK_SELECT", "TK_SET", "TK_SHORT",
"TK_SPACE", "TK_STAR", "TK_STRING", "TK_TABLE", "TK_TEMPORARY",
"TK_UPDATE", "TK_VALUES", "TK_WHERE", "TK_WILDCARD", "AGG_FUNCTION.",
"COLUMN", "FUNCTION", "COMMENT", "UNCLOSED_STRING", "SPACE", "ILLEGAL",
"END_OF_FILE", "TK_LIKE", "TK_NEGATION", "$accept", "query", "onequery",
"oneinsert", "onecreate", "oneupdate", "onedelete", "onealter",
"alterop", "table_def", "column_def", "column_and_type", "column_type",
"data_type_l", "data_type", "data_count", "oneselect", "unorderedsel",
"selectfrom", "selcollist", "from", "fromtable", "expr", "val",
"constlist", "update_assign_list", "column_assignment", "const_val",
"column_val", "column", "table", "id", "number", 0
};
#endif
# ifdef YYPRINT
/* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
token YYLEX-NUM. */
static const unsigned short int yytoknum[] =
{
0, 256, 257, 258, 259, 260, 261, 262, 263, 264,
265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
315, 316, 317
};
# endif
/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
static const unsigned char yyr1[] =
{
0, 63, 64, 65, 65, 65, 65, 65, 65, 66,
66, 67, 67, 68, 68, 69, 70, 71, 71, 72,
73, 73, 74, 75, 75, 75, 76, 76, 77, 77,
77, 77, 77, 77, 77, 78, 79, 79, 80, 80,
81, 82, 82, 82, 83, 83, 84, 84, 85, 85,
85, 85, 85, 85, 85, 85, 85, 85, 85, 86,
86, 87, 87, 88, 88, 89, 90, 90, 90, 90,
91, 92, 92, 93, 94, 95
};
/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
static const unsigned char yyr2[] =
{
0, 2, 1, 1, 1, 1, 1, 1, 1, 10,
11, 6, 7, 6, 4, 2, 4, 1, 1, 4,
3, 1, 2, 1, 2, 2, 1, 3, 1, 4,
1, 1, 1, 1, 1, 1, 4, 1, 2, 3,
2, 1, 3, 1, 1, 3, 2, 4, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3, 4, 1,
1, 1, 3, 1, 3, 3, 1, 2, 1, 1,
1, 3, 1, 1, 1, 1
};
/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
STATE-NUM when YYTABLE doesn't specify something else to do. Zero
means the default is an error. */
static const unsigned char yydefact[] =
{
0, 0, 0, 0, 0, 0, 0, 0, 2, 5,
4, 6, 7, 8, 3, 37, 0, 0, 0, 15,
44, 0, 0, 74, 43, 38, 0, 41, 0, 72,
0, 73, 1, 0, 0, 0, 46, 0, 0, 39,
40, 0, 0, 0, 0, 18, 17, 16, 0, 0,
0, 45, 0, 70, 0, 42, 71, 14, 63, 0,
36, 0, 0, 21, 0, 47, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
11, 0, 0, 28, 32, 33, 30, 34, 31, 22,
23, 26, 48, 49, 50, 75, 0, 68, 69, 51,
60, 59, 66, 55, 52, 0, 57, 54, 53, 56,
0, 13, 64, 65, 12, 20, 0, 0, 24, 25,
0, 67, 58, 0, 19, 0, 35, 27, 0, 29,
0, 61, 9, 0, 10, 62
};
/* YYDEFGOTO[NTERM-NUM]. */
static const short int yydefgoto[] =
{
-1, 7, 8, 9, 10, 11, 12, 13, 47, 61,
62, 63, 89, 90, 91, 125, 14, 15, 25, 26,
19, 20, 51, 99, 130, 57, 58, 100, 101, 53,
28, 29, 102
};
/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
STATE-NUM. */
#define YYPACT_NINF -89
static const yysigned_char yypact[] =
{
3, -34, -28, 31, 25, 48, 36, 60, -89, -89,
-89, -89, -89, -89, -89, 32, 36, 36, 36, -89,
28, 36, 12, -89, -89, -89, 31, 81, 78, 79,
49, -89, -89, 87, 1, 69, 92, 51, 74, -89,
-89, 12, 36, 36, 12, -89, -89, -89, 36, 36,
51, 5, 71, -89, 12, -89, -89, 54, 93, 94,
-89, 67, -4, -89, 35, -89, 0, 51, 51, 50,
50, 50, -2, 50, 50, 50, 68, 51, 36, 29,
98, 36, 91, 88, -89, -89, -89, -89, -89, -89,
-24, 84, -89, -89, 115, -89, 99, -89, -89, -89,
-89, -89, -89, -89, -89, 85, -89, -89, -89, -89,
72, 5, -89, -89, -89, -89, 12, 99, -89, -89,
89, -89, -89, 96, -89, 83, -89, -89, 29, -89,
86, 120, 80, 29, -89, -89
};
/* YYPGOTO[NTERM-NUM]. */
static const yysigned_char yypgoto[] =
{
-89, -89, -89, -89, -89, -89, -89, -89, -89, -89,
-89, 52, -89, -89, -89, -89, -89, -89, 107, -39,
104, -89, 17, 39, -1, 53, -89, -78, -3, -5,
10, 4, -88
};
/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
positive, shift that token. If negative, reduce the rule which
number is the opposite. If zero, do what YYDEFACT says.
If YYTABLE_NINF, syntax error. */
#define YYTABLE_NINF -74
static const short int yytable[] =
{
27, 113, 55, 81, 67, 60, 1, 118, 121, 67,
31, 2, 3, 16, 45, 76, 30, 27, 46, 17,
31, 31, 31, 4, 119, 31, 34, 35, 36, 126,
23, 38, 105, 106, 52, 82, 27, 68, 59, 27,
92, 83, 68, 64, 5, 18, 56, 52, 21, 27,
131, 95, 6, 31, 23, 131, 84, 24, 22, 65,
32, 96, 85, 86, 52, 52, 23, 66, 23, 23,
33, 87, 95, 59, 52, 97, 64, 124, 88, 37,
50, 98, 96, 69, 93, 94, 70, 71, 41, 42,
-73, 43, 44, 24, 111, 72, 97, 73, 48, 49,
78, 74, 98, 54, 75, 77, 79, 80, 110, 103,
104, 27, 107, 108, 109, 114, 116, 117, 120, 67,
122, 95, 123, 129, 127, 128, 132, 133, 134, 39,
40, 112, 135, 115
};
static const unsigned char yycheck[] =
{
5, 79, 41, 7, 4, 44, 3, 31, 96, 4,
6, 8, 9, 47, 13, 54, 6, 22, 17, 47,
16, 17, 18, 20, 48, 21, 16, 17, 18, 117,
18, 21, 34, 35, 37, 39, 41, 37, 43, 44,
40, 6, 37, 48, 41, 14, 42, 50, 23, 54,
128, 22, 49, 49, 18, 133, 21, 45, 10, 49,
0, 32, 27, 28, 67, 68, 18, 50, 18, 18,
38, 36, 22, 78, 77, 46, 81, 116, 43, 51,
29, 52, 32, 12, 67, 68, 15, 16, 7, 11,
11, 42, 5, 45, 77, 24, 46, 26, 29, 7,
7, 30, 52, 29, 33, 51, 12, 40, 40, 70,
71, 116, 73, 74, 75, 17, 25, 29, 34, 4,
35, 22, 50, 40, 35, 29, 40, 7, 48, 22,
26, 78, 133, 81
};
/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
symbol of state STATE-NUM. */
static const unsigned char yystos[] =
{
0, 3, 8, 9, 20, 41, 49, 64, 65, 66,
67, 68, 69, 70, 79, 80, 47, 47, 14, 83,
84, 23, 10, 18, 45, 81, 82, 92, 93, 94,
93, 94, 0, 38, 93, 93, 93, 51, 93, 81,
83, 7, 11, 42, 5, 13, 17, 71, 29, 7,
29, 85, 91, 92, 29, 82, 94, 88, 89, 92,
82, 72, 73, 74, 92, 93, 85, 4, 37, 12,
15, 16, 24, 26, 30, 33, 82, 51, 7, 12,
40, 7, 39, 6, 21, 27, 28, 36, 43, 75,
76, 77, 40, 85, 85, 22, 32, 46, 52, 86,
90, 91, 95, 86, 86, 34, 35, 86, 86, 86,
40, 85, 88, 90, 17, 74, 25, 29, 31, 48,
34, 95, 35, 50, 82, 78, 95, 35, 29, 40,
87, 90, 40, 7, 48, 87
};
#define yyerrok (yyerrstatus = 0)
#define yyclearin (yychar = YYEMPTY)
#define YYEMPTY (-2)
#define YYEOF 0
#define YYACCEPT goto yyacceptlab
#define YYABORT goto yyabortlab
#define YYERROR goto yyerrorlab
/* Like YYERROR except do call yyerror. This remains here temporarily
to ease the transition to the new meaning of YYERROR, for GCC.
Once GCC version 2 has supplanted version 1, this can go. */
#define YYFAIL goto yyerrlab
#define YYRECOVERING() (!!yyerrstatus)
#define YYBACKUP(Token, Value) \
do \
if (yychar == YYEMPTY && yylen == 1) \
{ \
yychar = (Token); \
yylval = (Value); \
yytoken = YYTRANSLATE (yychar); \
YYPOPSTACK; \
goto yybackup; \
} \
else \
{ \
yyerror (YY_("syntax error: cannot back up")); \
YYERROR; \
} \
while (0)
#define YYTERROR 1
#define YYERRCODE 256
/* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
If N is 0, then set CURRENT to the empty location which ends
the previous symbol: RHS[0] (always defined). */
#define YYRHSLOC(Rhs, K) ((Rhs)[K])
#ifndef YYLLOC_DEFAULT
# define YYLLOC_DEFAULT(Current, Rhs, N) \
do \
if (N) \
{ \
(Current).first_line = YYRHSLOC (Rhs, 1).first_line; \
(Current).first_column = YYRHSLOC (Rhs, 1).first_column; \
(Current).last_line = YYRHSLOC (Rhs, N).last_line; \
(Current).last_column = YYRHSLOC (Rhs, N).last_column; \
} \
else \
{ \
(Current).first_line = (Current).last_line = \
YYRHSLOC (Rhs, 0).last_line; \
(Current).first_column = (Current).last_column = \
YYRHSLOC (Rhs, 0).last_column; \
} \
while (0)
#endif
/* YY_LOCATION_PRINT -- Print the location on the stream.
This macro was not mandated originally: define only if we know
we won't break user code: when these are the locations we know. */
#ifndef YY_LOCATION_PRINT
# if YYLTYPE_IS_TRIVIAL
# define YY_LOCATION_PRINT(File, Loc) \
fprintf (File, "%d.%d-%d.%d", \
(Loc).first_line, (Loc).first_column, \
(Loc).last_line, (Loc).last_column)
# else
# define YY_LOCATION_PRINT(File, Loc) ((void) 0)
# endif
#endif
/* YYLEX -- calling `yylex' with the right arguments. */
#ifdef YYLEX_PARAM
# define YYLEX yylex (&yylval, YYLEX_PARAM)
#else
# define YYLEX yylex (&yylval)
#endif
/* Enable debugging if requested. */
#if YYDEBUG
# ifndef YYFPRINTF
# include <stdio.h> /* INFRINGES ON USER NAME SPACE */
# define YYFPRINTF fprintf
# endif
# define YYDPRINTF(Args) \
do { \
if (yydebug) \
YYFPRINTF Args; \
} while (0)
# define YY_SYMBOL_PRINT(Title, Type, Value, Location) \
do { \
if (yydebug) \
{ \
YYFPRINTF (stderr, "%s ", Title); \
yysymprint (stderr, \
Type, Value); \
YYFPRINTF (stderr, "\n"); \
} \
} while (0)
/*------------------------------------------------------------------.
| yy_stack_print -- Print the state stack from its BOTTOM up to its |
| TOP (included). |
`------------------------------------------------------------------*/
#if defined (__STDC__) || defined (__cplusplus)
static void
yy_stack_print (short int *bottom, short int *top)
#else
static void
yy_stack_print (bottom, top)
short int *bottom;
short int *top;
#endif
{
YYFPRINTF (stderr, "Stack now");
for (/* Nothing. */; bottom <= top; ++bottom)
YYFPRINTF (stderr, " %d", *bottom);
YYFPRINTF (stderr, "\n");
}
# define YY_STACK_PRINT(Bottom, Top) \
do { \
if (yydebug) \
yy_stack_print ((Bottom), (Top)); \
} while (0)
/*------------------------------------------------.
| Report that the YYRULE is going to be reduced. |
`------------------------------------------------*/
#if defined (__STDC__) || defined (__cplusplus)
static void
yy_reduce_print (int yyrule)
#else
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -