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

📄 grammar.tab.c

📁 一个编译器修改的例子
💻 C
📖 第 1 页 / 共 5 页
字号:
      -1,    -1,    24,    25,     7,    -1,    -1,    29,    -1,    -1,      32,    -1,    34,    35,    36,    37,    38,    -1,    -1,    -1,      -1,    -1,    -1,    -1,    -1,    -1,    48,    49,    10,    -1,      -1,    -1,    54,    55,    56,    -1,    39,    40,    41,    42,      43,    44,    45,    46,    47,    48,    49,    50,    51,    -1,      -1,    -1,    -1,    56,    57,    -1,    -1,    39,    40,    41,      42,    43,    44,    45,    46,    47,    48,    49,    50,    51,      13,    -1,    -1,    -1,    56,    57,    19,    20,    -1,    -1,      -1,    -1,    -1,    -1,    -1,    -1,    29,    -1,    -1,    -1,      -1,    34,    35,    36,    37,    38,    -1,    -1,    -1,    -1,      -1,    13,    -1,    -1,    -1,    48,    49,    19,    20,    -1,      -1,    54,    55,    56,    -1,    58,    -1,    29,    -1,    -1,      -1,    -1,    34,    35,    36,    37,    38,    -1,    -1,    -1,      -1,    -1,    -1,    27,    -1,    -1,    48,    49,    -1,    -1,      -1,    -1,    54,    55,    56,    39,    40,    41,    42,    43,      44,    45,    46,    47,    48,    49,    50,    51,    28,    -1,      -1,    -1,    56,    57,    -1,    -1,    -1,    -1,    -1,    39,      40,    41,    42,    43,    44,    45,    46,    47,    48,    49,      50,    51,    -1,    -1,    -1,    -1,    56,    57,    39,    40,      41,    42,    43,    44,    45,    46,    47,    48,    49,    50,      51,    -1,    -1,    -1,    -1,    56,    57,    -1,    -1,    -1,      -1,    62,    39,    40,    41,    42,    43,    44,    45,    46,      47,    48,    49,    50,    51,    -1,    -1,    -1,    -1,    56,      57,    -1,    -1,    -1,    -1,    62,    39,    40,    41,    42,      43,    44,    45,    46,    47,    48,    49,    50,    51,    -1,      -1,    -1,    -1,    56,    57,    -1,    -1,    60,    39,    40,      41,    42,    43,    44,    45,    46,    47,    48,    49,    50,      51,    -1,    -1,    -1,    -1,    56,    57,    58,    39,    40,      41,    42,    43,    44,    45,    46,    47,    48,    49,    50,      51,    -1,    -1,    -1,    -1,    56,    57,    58,    39,    40,      41,    42,    43,    44,    45,    46,    47,    48,    49,    50,      51,    -1,    -1,    -1,    -1,    56,    57,    58,    39,    40,      41,    42,    43,    44,    45,    46,    47,    48,    49,    50,      51,    -1,    -1,    -1,    -1,    56,    57,    58,    39,    40,      41,    42,    43,    44,    45,    46,    47,    48,    49,    50,      51,    -1,    -1,    -1,    -1,    56,    57,    39,    -1,    41,      42,    43,    44,    45,    46,    47,    48,    49,    50,    51,      -1,    39,    -1,    -1,    56,    57,    44,    45,    46,    47,      48,    49,    50,    51,    -1,    -1,    -1,    -1,    56,    57};/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing   symbol of state STATE-NUM.  */static const yytype_uint8 yystos[] ={       0,    64,    65,     0,    15,    22,    31,    33,    66,    67,      68,    70,    71,    72,    73,    79,    35,    74,    74,    35,      80,    81,    82,    35,    69,    67,    18,    58,    75,    59,      81,    58,    59,    61,    18,     5,     9,    13,    14,    16,      19,    20,    24,    25,    29,    32,    34,    35,    36,    37,      38,    48,    49,    54,    55,    56,    85,    86,    87,    88,      90,    91,    92,    94,    95,    96,    97,    98,    56,    76,       4,     6,     8,    17,    23,    26,    35,    83,    84,    58,      83,    35,    80,    89,    98,    98,    98,     4,    85,    58,      98,    98,    98,    98,    21,    98,    98,    79,     3,    39,      40,    41,    42,    43,    44,    45,    46,    47,    48,    49,      50,    51,    56,    57,    58,    31,    60,    77,    78,    81,      21,    12,    12,    85,    58,     3,    27,    39,    30,    58,      10,    98,    60,     5,    98,    98,    98,    98,    98,    98,      98,    98,    98,    98,    98,    98,    98,    98,    99,    35,      81,    58,    60,    83,    98,    85,    98,    98,    85,    89,      58,    62,    98,   100,   101,    78,    28,    11,    62,    58,      12,    60,    61,    98,    85,    21,    98,     7,    93,    83,      98,    10,    85};#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 (1);						\      goto yybackup;						\    }								\  else								\    {								\      yyerror (YY_("syntax error: cannot back up")); \      YYERROR;							\    }								\while (YYID (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 (YYID (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 (YYID (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 (YYLEX_PARAM)#else# define YYLEX yylex ()#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 (YYID (0))# define YY_SYMBOL_PRINT(Title, Type, Value, Location)			  \do {									  \  if (yydebug)								  \    {									  \      YYFPRINTF (stderr, "%s ", Title);					  \      yy_symbol_print (stderr,						  \		  Type, Value); \      YYFPRINTF (stderr, "\n");						  \    }									  \} while (YYID (0))/*--------------------------------.| Print this symbol on YYOUTPUT.  |`--------------------------------*//*ARGSUSED*/#if (defined __STDC__ || defined __C99__FUNC__ \     || defined __cplusplus || defined _MSC_VER)static voidyy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)#elsestatic voidyy_symbol_value_print (yyoutput, yytype, yyvaluep)    FILE *yyoutput;    int yytype;    YYSTYPE const * const yyvaluep;#endif{  if (!yyvaluep)    return;# ifdef YYPRINT  if (yytype < YYNTOKENS)    YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);# else  YYUSE (yyoutput);# endif  switch (yytype)    {      default:	break;    }}/*--------------------------------.| Print this symbol on YYOUTPUT.  |`--------------------------------*/#if (defined __STDC__ || defined __C99__FUNC__ \     || defined __cplusplus || defined _MSC_VER)static voidyy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)#elsestatic voidyy_symbol_print (yyoutput, yytype, yyvaluep)    FILE *yyoutput;    int yytype;    YYSTYPE const * const yyvaluep;#endif{  if (yytype < YYNTOKENS)    YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);  else    YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);  yy_symbol_value_print (yyoutput, yytype, yyvaluep);  YYFPRINTF (yyoutput, ")");}/*------------------------------------------------------------------.| yy_stack_print -- Print the state stack from its BOTTOM up to its || TOP (included).                                                   |`------------------------------------------------------------------*/#if (defined __STDC__ || defined __C99__FUNC__ \     || defined __cplusplus || defined _MSC_VER)static voidyy_stack_print (yytype_int16 *bottom, yytype_int16 *top)#elsestatic voidyy_stack_print (bottom, top)    yytype_int16 *bottom;    yytype_int16 *top;#endif{  YYFPRINTF (stderr, "Stack now");  for (; 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 (YYID (0))/*------------------------------------------------.| Report that the YYRULE is going to be reduced.  |`------------------------------------------------*/#if (defined __STDC__ || defined __C99__FUNC__ \     || defined __cplusplus || defined _MSC_VER)static voidyy_reduce_print (YYSTYPE *yyvsp, int yyrule)#elsestatic voidyy_reduce_print (yyvsp, yyrule)    YYSTYPE *yyvsp;    int yyrule;#endif{  int yynrhs = yyr2[yyrule];  int yyi;  unsigned long int yylno = yyrline[yyrule];  YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",	     yyrule - 1, yylno);  /* The symbols being reduced.  */  for (yyi = 0; yyi < yynrhs; yyi++)    {      fprintf (stderr, "   $%d = ", yyi + 1);      yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],		       &(yyvsp[(yyi + 1) - (yynrhs)])		       		       );      fprintf (stderr, "\n");    }}# define YY_REDUCE_PRINT(Rule)		\do {					\  if (yydebug)				\    yy_reduce_print (yyvsp, Rule); \} while (YYID (0))/* Nonzero means print parse trace.  It is left uninitialized so that   multiple parsers can coexist.  */int yydebug;#else /* !YYDEBUG */# define YYDPRINTF(Args)# define YY_SYMBOL_PRINT(Title, Type, Value, Location)# define YY_STACK_PRINT(Bottom, Top)# define YY_REDUCE_PRINT(Rule)#endif /* !YYDEBUG *//* YYINITDEPTH -- initial size of the parser's stacks.  */#ifndef	YYINITDEPTH# define YYINITDEPTH 200#endif/* 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   YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)   evaluated with infinite-precision integer arithmetic.  */#ifndef YYMAXDEPTH# define YYMAXDEPTH 10000#endif#if YYERROR_VERBOSE# ifndef yystrlen#  if defined __GLIBC__ && defined _STRING_H#   define yystrlen strlen#  else/* Return the length of YYSTR.  */#if (defined __STDC__ || defined __C99__FUNC__ \     || defined __cplusplus || defined _MSC_VER)static YYSIZE_Tyystrlen (const char *yystr)#elsestatic YYSIZE_Tyystrlen (yystr)    const char *yystr;#endif{  YYSIZE_T yylen;  for (yylen = 0; yystr[yylen]; yylen++)    continue;  return yylen;}#  endif# endif# ifndef yystpcpy#  if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE#   define yystpcpy stpcpy#  else/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in   YYDEST.  */#if (defined __STDC__ || defined __C99__FUNC__ \     || defined __cplusplus || defined _MSC_VER)static char *yystpcpy (char *yydest, const char *yysrc)#elsestatic char *yystpcpy (yydest, yysrc)    char *yydest;    const char *yysrc;#endif{  char *yyd = yydest;  const char *yys = yysrc;  while ((*yyd++ = *yys++) != '\0')    continue;  return yyd - 1;}#  endif# endif# ifndef yytnamerr/* Copy to YYRES the contents of YYSTR after stripping away unnecessary   quotes and backslashes, so that it's suitable for yyerror.  The   heuristic is that double-quoting is unnecessary unless the string   contains an apostrophe, a comma, or backslash (other than   backslash-backslash).  YYSTR is taken from yytname.  If YYRES is   null, do not copy; instead, return the length of what the result   would have been.  */static YYSIZE_Tyytnamerr (char *yyres, const char *yystr){  if (*yystr == '"')    {      YYSIZE_T yyn = 0;      char const *yyp = yystr;      for (;;)	switch (*++yyp)	  {	  case '\'':	  case ',':

⌨️ 快捷键说明

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