⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pl_gram.c

📁 PostgreSQL 8.1.4的源码 适用于Linux下的开源数据库系统
💻 C
📖 第 1 页 / 共 5 页
字号:
/* PLPGSQL_YYTABLE[PLPGSQL_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 PLPGSQL_YYDEFACT says.   If PLPGSQL_YYTABLE_NINF, syntax error.  */#define PLPGSQL_YYTABLE_NINF -132static const short plpgsql_yytable[] ={      56,    90,   114,    91,   162,    92,   181,    94,   174,    96,      97,    98,    99,   100,   101,    27,    21,   164,   191,   163,     186,   226,   126,   192,     1,     2,   110,   107,   187,   182,     127,   227,   165,     4,   108,   209,   111,   183,   210,   128,      12,   203,   129,    16,   109,    28,   130,   200,    85,   137,     138,     9,    86,    14,    87,    10,    14,   112,   121,   194,     195,    11,   131,   181,  -131,    36,    29,    37,   133,    18,    -131,    30,   204,   205,    17,   141,   142,   143,    38,    39,    -131,    40,   188,    41,    42,    20,    21,   223,    24,    35,    -131,    81,    83,    95,    43,    44,   158,    45,    89,    46,      93,   103,    47,    48,   102,    49,   106,   169,   170,   171,     113,  -131,   172,   115,   118,   123,    50,    51,    52,   134,     136,    53,    54,   145,   150,   146,    11,   152,   153,   148,     154,   159,   176,   177,   222,   178,    29,   193,   185,   197,     201,   202,   214,   217,   220,   230,     8,   225,   228,    15,      23,    84,   218,   144,   206,   105,   208,   229,   216,   120,     213,   219,   215,     0,     0,    36,     0,    37,   212,     0,       0,     0,     0,     0,   -46,   -46,   -46,     0,    38,    39,       0,    40,     0,    41,    42,     0,     0,     0,     0,     0,       0,     0,     0,   224,    43,    44,     0,    45,     0,    46,       0,   231,    47,    48,     0,    49,     0,     0,     0,     0,       0,     0,     0,     0,     0,     0,    50,    51,    52,     0,       0,    53,    54,    36,     0,    37,    11,     0,     0,     0,       0,     0,     0,     0,   -46,   -46,    38,    39,     0,    40,       0,    41,    42,     0,     0,     0,     0,     0,     0,     0,       0,     0,    43,    44,     0,    45,     0,    46,     0,     0,      47,    48,     0,    49,     0,     0,     0,     0,     0,     0,       0,     0,     0,     0,    50,    51,    52,     0,     0,    53,      54,    36,     0,    37,    11,     0,     0,     0,     0,     0,       0,     0,   -46,     0,    38,    39,     0,    40,     0,    41,      42,     0,     0,     0,     0,     0,     0,     0,     0,     0,      43,    44,     0,    45,     0,    46,     0,     0,    47,    48,       0,    49,     0,     0,     0,     0,   -46,     0,     0,     0,       0,     0,    50,    51,    52,     0,     0,    53,    54,    36,       0,    37,    11,     0,     0,     0,     0,     0,     0,     0,     -46,     0,    38,    39,     0,    40,     0,    41,    42,     0,       0,     0,     0,     0,     0,     0,     0,     0,    43,    44,       0,    45,     0,    46,     0,     0,    47,    48,     0,    49,       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,      50,    51,    52,     0,     0,    53,    54,     0,     0,     0,      11};static const short plpgsql_yycheck[] ={      26,    36,    83,    38,   134,    40,   148,    42,   142,    44,      45,    46,    47,    48,    49,    11,    11,    51,    66,   136,       4,    37,    10,    71,    53,    54,    21,    62,    12,    21,      18,    47,    66,    64,    69,    39,    31,    29,    42,    27,       5,   175,    30,     8,    79,    41,    34,   164,     3,    61,      62,     0,     7,     5,     9,    65,     8,    52,    93,    15,      16,    67,    50,   205,     5,     6,    62,     8,   103,    66,      11,    67,    70,    71,    67,   110,   111,   112,    19,    20,      21,    22,    66,    24,    25,     5,    11,   217,    62,    68,      31,    62,    67,    66,    35,    36,   122,    38,    68,    40,      13,    18,    43,    44,    66,    46,    72,    57,    58,    59,      48,    52,    62,    21,    57,    57,    57,    58,    59,    17,       4,    62,    63,    68,    33,    62,    67,    66,    28,    69,      57,    55,    66,    68,   215,    66,    62,     4,    35,    51,      17,    26,    17,    31,    25,   226,     2,    66,    66,     6,      16,    31,   205,   113,   181,    57,   192,   224,   198,    92,     195,   213,   197,    -1,    -1,     6,    -1,     8,   194,    -1,      -1,    -1,    -1,    -1,    15,    16,    17,    -1,    19,    20,      -1,    22,    -1,    24,    25,    -1,    -1,    -1,    -1,    -1,      -1,    -1,    -1,   219,    35,    36,    -1,    38,    -1,    40,      -1,   227,    43,    44,    -1,    46,    -1,    -1,    -1,    -1,      -1,    -1,    -1,    -1,    -1,    -1,    57,    58,    59,    -1,      -1,    62,    63,     6,    -1,     8,    67,    -1,    -1,    -1,      -1,    -1,    -1,    -1,    17,    18,    19,    20,    -1,    22,      -1,    24,    25,    -1,    -1,    -1,    -1,    -1,    -1,    -1,      -1,    -1,    35,    36,    -1,    38,    -1,    40,    -1,    -1,      43,    44,    -1,    46,    -1,    -1,    -1,    -1,    -1,    -1,      -1,    -1,    -1,    -1,    57,    58,    59,    -1,    -1,    62,      63,     6,    -1,     8,    67,    -1,    -1,    -1,    -1,    -1,      -1,    -1,    17,    -1,    19,    20,    -1,    22,    -1,    24,      25,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,      35,    36,    -1,    38,    -1,    40,    -1,    -1,    43,    44,      -1,    46,    -1,    -1,    -1,    -1,    51,    -1,    -1,    -1,      -1,    -1,    57,    58,    59,    -1,    -1,    62,    63,     6,      -1,     8,    67,    -1,    -1,    -1,    -1,    -1,    -1,    -1,      17,    -1,    19,    20,    -1,    22,    -1,    24,    25,    -1,      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    35,    36,      -1,    38,    -1,    40,    -1,    -1,    43,    44,    -1,    46,      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,      57,    58,    59,    -1,    -1,    62,    63,    -1,    -1,    -1,      67};/* PLPGSQL_YYSTOS[STATE-NUM] -- The (internal number of the) accessing   symbol of state STATE-NUM.  */static const unsigned char plpgsql_yystos[] ={       0,    53,    54,    74,    64,    75,    76,    77,    75,     0,      65,    67,    79,    80,   144,    77,    79,    67,    66,    78,       5,    11,    81,    78,    62,   147,   148,    11,    41,    62,      67,    82,    83,    84,    92,    68,     6,     8,    19,    20,      22,    24,    25,    35,    36,    38,    40,    43,    44,    46,      57,    58,    59,    62,    63,    79,    99,   100,   101,   102,     103,   104,   109,   110,   112,   113,   114,   117,   118,   119,     120,   121,   122,   126,   127,   128,   129,   130,   131,   134,     144,    62,    93,    67,    83,     3,     7,     9,    94,    68,     148,   148,   148,    13,   148,    66,   148,   148,   148,   148,     148,   148,    66,    18,   135,   101,    72,   148,   148,   148,      21,    31,    52,    48,   147,    21,    85,    95,    57,   133,     133,   148,   142,    57,   132,   140,    10,    18,    27,    30,      34,    50,   124,   148,    17,   141,     4,    61,    62,   145,     115,   148,   148,   148,    93,    68,    62,    91,    69,    87,      33,    96,    66,    28,    57,   105,   106,   108,    99,    55,     123,   136,   145,   140,    51,    66,   146,    99,   125,    57,      58,    59,    62,   116,   125,   143,    66,    68,    66,    88,      89,    92,    21,    29,    90,    35,     4,    12,    66,    97,      98,    66,    71,     4,    15,    16,   111,    51,   137,   138,     140,    17,    26,   125,    70,    71,    95,    86,   106,    39,      42,   107,    99,   148,    17,   148,   138,    31,    89,   142,      25,   139,   147,   145,    99,    66,    37,    47,    66,   111,     147,    99};#if ! defined (PLPGSQL_YYSIZE_T) && defined (__SIZE_TYPE__)# define PLPGSQL_YYSIZE_T __SIZE_TYPE__#endif#if ! defined (PLPGSQL_YYSIZE_T) && defined (size_t)# define PLPGSQL_YYSIZE_T size_t#endif#if ! defined (PLPGSQL_YYSIZE_T)# if defined (__STDC__) || defined (__cplusplus)#  include <stddef.h> /* INFRINGES ON USER NAME SPACE */#  define PLPGSQL_YYSIZE_T size_t# endif#endif#if ! defined (PLPGSQL_YYSIZE_T)# define PLPGSQL_YYSIZE_T unsigned int#endif#define plpgsql_yyerrok		(plpgsql_yyerrstatus = 0)#define plpgsql_yyclearin	(plpgsql_yychar = PLPGSQL_YYEMPTY)#define PLPGSQL_YYEMPTY		(-2)#define PLPGSQL_YYEOF		0#define PLPGSQL_YYACCEPT	goto plpgsql_yyacceptlab#define PLPGSQL_YYABORT		goto plpgsql_yyabortlab#define PLPGSQL_YYERROR		goto plpgsql_yyerrlab1/* Like PLPGSQL_YYERROR except do call plpgsql_yyerror.  This remains here temporarily   to ease the transition to the new meaning of PLPGSQL_YYERROR, for GCC.   Once GCC version 2 has supplanted version 1, this can go.  */#define PLPGSQL_YYFAIL		goto plpgsql_yyerrlab#define PLPGSQL_YYRECOVERING()  (!!plpgsql_yyerrstatus)#define PLPGSQL_YYBACKUP(Token, Value)					\do								\  if (plpgsql_yychar == PLPGSQL_YYEMPTY && plpgsql_yylen == 1)				\    {								\      plpgsql_yychar = (Token);						\      plpgsql_yylval = (Value);						\      plpgsql_yytoken = PLPGSQL_YYTRANSLATE (plpgsql_yychar);				\      PLPGSQL_YYPOPSTACK;						\      goto plpgsql_yybackup;						\    }								\  else								\    { 								\      plpgsql_yyerror ("syntax error: cannot back up");\      PLPGSQL_YYERROR;							\    }								\while (0)#define PLPGSQL_YYTERROR	1#define PLPGSQL_YYERRCODE	256/* PLPGSQL_YYLLOC_DEFAULT -- Compute the default location (before the actions   are run).  */#ifndef PLPGSQL_YYLLOC_DEFAULT# define PLPGSQL_YYLLOC_DEFAULT(Current, Rhs, N)         \  Current.first_line   = Rhs[1].first_line;      \  Current.first_column = Rhs[1].first_column;    \  Current.last_line    = Rhs[N].last_line;       \  Current.last_column  = Rhs[N].last_column;#endif/* PLPGSQL_YYLEX -- calling `plpgsql_yylex' with the right arguments.  */#ifdef PLPGSQL_YYLEX_PARAM# define PLPGSQL_YYLEX plpgsql_yylex (PLPGSQL_YYLEX_PARAM)#else# define PLPGSQL_YYLEX plpgsql_yylex ()#endif/* Enable debugging if requested.  */#if PLPGSQL_YYDEBUG# ifndef PLPGSQL_YYFPRINTF#  include <stdio.h> /* INFRINGES ON USER NAME SPACE */#  define PLPGSQL_YYFPRINTF fprintf# endif# define PLPGSQL_YYDPRINTF(Args)			\do {						\  if (plpgsql_yydebug)					\    PLPGSQL_YYFPRINTF Args;				\} while (0)# define PLPGSQL_YYDSYMPRINT(Args)			\do {						\  if (plpgsql_yydebug)					\    plpgsql_yysymprint Args;				\} while (0)# define PLPGSQL_YYDSYMPRINTF(Title, Token, Value, Location)		\do {								\  if (plpgsql_yydebug)							\    {								\      PLPGSQL_YYFPRINTF (stderr, "%s ", Title);				\      plpgsql_yysymprint (stderr, 					\                  Token, Value);	\      PLPGSQL_YYFPRINTF (stderr, "\n");					\    }								\} while (0)/*------------------------------------------------------------------.| plpgsql_yy_stack_print -- Print the state stack from its BOTTOM up to its || TOP (cinluded).                                                   |`------------------------------------------------------------------*/#if defined (__STDC__) || defined (__cplusplus)static voidplpgsql_yy_stack_print (short *bottom, short *top)#elsestatic voidplpgsql_yy_stack_print (bottom, top)    short *bottom;    short *top;#endif{  PLPGSQL_YYFPRINTF (stderr, "Stack now");  for (/* Nothing. */; bottom <= top; ++bottom)    PLPGSQL_YYFPRINTF (stderr, " %d", *bottom);  PLPGSQL_YYFPRINTF (stderr, "\n");}# define PLPGSQL_YY_STACK_PRINT(Bottom, Top)				\do {								\  if (plpgsql_yydebug)							\    plpgsql_yy_stack_print ((Bottom), (Top));				\} while (0)/*------------------------------------------------.| Report that the PLPGSQL_YYRULE is going to be reduced.  |`------------------------------------------------*/#if defined (__STDC__) || defined (__cplusplus)static voidplpgsql_yy_reduce_print (int plpgsql_yyrule)#elsestatic voidplpgsql_yy_reduce_print (plpgsql_yyrule)    int plpgsql_yyrule;#endif{  int plpgsql_yyi;  unsigned int plpgsql_yylineno = plpgsql_yyrline[plpgsql_yyrule];  PLPGSQL_YYFPRINTF (stderr, "Reducing stack by rule %d (line %u), ",             plpgsql_yyrule - 1, plpgsql_yylineno);  /* Print the symbols being reduced, and their result.  */  for (plpgsql_yyi = plpgsql_yyprhs[plpgsql_yyrule]; 0 <= plpgsql_yyrhs[plpgsql_yyi]; plpgsql_yyi++)    PLPGSQL_YYFPRINTF (stderr, "%s ", plpgsql_yytname [plpgsql_yyrhs[plpgsql_yyi]]);  PLPGSQL_YYFPRINTF (stderr, "-> %s\n", plpgsql_yytname [plpgsql_yyr1[plpgsql_yyrule]]);}# define PLPGSQL_YY_REDUCE_PRINT(Rule)		\do {					\  if (plpgsql_yydebug)				\    plpgsql_yy_reduce_print (Rule);		\} while (0)/* Nonzero means print parse trace.  It is left uninitialized so that   multiple parsers can coexist.  */int plpgsql_yydebug;#else /* !PLPGSQL_YYDEBUG */# define PLPGSQL_YYDPRINTF(Args)# define PLPGSQL_YYDSYMPRINT(Args)# define PLPGSQL_YYDSYMPRINTF(Title, Token, Value, Location)# define PLPGSQL_YY_STACK_PRINT(Bottom, Top)# define PLPGSQL_YY_REDUCE_PRINT(Rule)#endif /* !PLPGSQL_YYDEBUG *//* PLPGSQL_YYINITDEPTH -- initial size of the parser's stacks.  */#ifndef	PLPGSQL_YYINITDEPTH# define PLPGSQL_YYINITDEPTH 200#endif/* PLPGSQL_YYMAXDEPTH -- maximum size the stacks can grow to (effective only   if the built-in stack extension method is used).   Do not make this value too large; the results are undefined if   SIZE_MAX < PLPGSQL_YYSTACK_BYTES (PLPGSQL_YYMAXDEPTH)   evaluated with infinite-precision integer arithmetic.  */#if PLPGSQL_YYMAXDEPTH == 0# undef PLPGSQL_YYMAXDEPTH#endif#ifndef PLPGSQL_YYMAXDEPTH# define PLPGSQL_YYMAXDEPTH 10000#endif#if PLPGSQL_YYERROR_VERBOSE# ifndef plpgsql_yystrlen#  if defined (__GLIBC__) && defined (_STRING_H)#   define plpgsql_yystrlen strlen#  else/* Return the length of PLPGSQL_YYSTR.  */static PLPGSQL_YYSIZE_T#   if defined (__STDC__) || defined (__cplusplus)plpgsql_yystrlen (const char *plpgsql_yystr)#   elseplpgsql_yystrlen (plpgsql_yystr)     const char *plpgsql_yystr;#   endif{  register const char *plpgsql_yys = plpgsql_yystr;  while (*plpgsql_yys++ != '\0')    continue;  return plpgsql_yys - plpgsql_yystr - 1;}#  endif# endif# ifndef plpgsql_yystpcpy#  if defined (__GLIBC__) && defined (_STRING_H) && defined (_GNU_SOURCE)#   define plpgsql_yystpcpy stpcpy#  else/* Copy PLPGSQL_YYSRC to PLPGSQL_YYDEST, returning the address of the terminating '\0' in   PLPGSQL_YYDEST.  */static char *#   if defined (__STDC__) || defined (__cplusplus)plpgsql_yystpcpy (char *plpgsql_yydest, const char *plpgsql_yysrc)#   elseplpgsql_yystpcpy (plpgsql_yydest, plpgsql_yysrc)     char *plpgsql_yydest;     const char *plpgsql_yysrc;#   endif{  register char *plpgsql_yyd = plpgsql_yydest;  register const char *plpgsql_yys = plpgsql_yysrc;  while ((*plpgsql_yyd++ = *plpgsql_yys++) != '\0')    continue;  return plpgsql_yyd - 1;}#  endif# endif#endif /* !PLPGSQL_YYERROR_VERBOSE */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -