ael.tab.c

来自「Asterisk-1.4.4最新内核源代码」· C语言 代码 · 共 2,072 行 · 第 1/5 页

C
2,072
字号
  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 ',':	    goto do_not_strip_quotes;	  case '\\':	    if (*++yyp != '\\')	      goto do_not_strip_quotes;	    /* Fall through.  */	  default:	    if (yyres)	      yyres[yyn] = *yyp;	    yyn++;	    break;	  case '"':	    if (yyres)	      yyres[yyn] = '\0';	    return yyn;	  }    do_not_strip_quotes: ;    }  if (! yyres)    return yystrlen (yystr);  return yystpcpy (yyres, yystr) - yyres;}# endif/* Copy into YYRESULT an error message about the unexpected token   YYCHAR while in state YYSTATE.  Return the number of bytes copied,   including the terminating null byte.  If YYRESULT is null, do not   copy anything; just return the number of bytes that would be   copied.  As a special case, return 0 if an ordinary "syntax error"   message will do.  Return YYSIZE_MAXIMUM if overflow occurs during   size calculation.  */static YYSIZE_Tyysyntax_error (char *yyresult, int yystate, int yychar){  int yyn = yypact[yystate];  if (! (YYPACT_NINF < yyn && yyn <= YYLAST))    return 0;  else    {      int yytype = YYTRANSLATE (yychar);      YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]);      YYSIZE_T yysize = yysize0;      YYSIZE_T yysize1;      int yysize_overflow = 0;      enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };      char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];      int yyx;# if 0      /* This is so xgettext sees the translatable formats that are	 constructed on the fly.  */      YY_("syntax error, unexpected %s");      YY_("syntax error, unexpected %s, expecting %s");      YY_("syntax error, unexpected %s, expecting %s or %s");      YY_("syntax error, unexpected %s, expecting %s or %s or %s");      YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s");# endif      char *yyfmt;      char const *yyf;      static char const yyunexpected[] = "syntax error, unexpected %s";      static char const yyexpecting[] = ", expecting %s";      static char const yyor[] = " or %s";      char yyformat[sizeof yyunexpected		    + sizeof yyexpecting - 1		    + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2)		       * (sizeof yyor - 1))];      char const *yyprefix = yyexpecting;      /* Start YYX at -YYN if negative to avoid negative indexes in	 YYCHECK.  */      int yyxbegin = yyn < 0 ? -yyn : 0;      /* Stay within bounds of both yycheck and yytname.  */      int yychecklim = YYLAST - yyn + 1;      int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;      int yycount = 1;      yyarg[0] = yytname[yytype];      yyfmt = yystpcpy (yyformat, yyunexpected);      for (yyx = yyxbegin; yyx < yyxend; ++yyx)	if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)	  {	    if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)	      {		yycount = 1;		yysize = yysize0;		yyformat[sizeof yyunexpected - 1] = '\0';		break;	      }	    yyarg[yycount++] = yytname[yyx];	    yysize1 = yysize + yytnamerr (0, yytname[yyx]);	    yysize_overflow |= (yysize1 < yysize);	    yysize = yysize1;	    yyfmt = yystpcpy (yyfmt, yyprefix);	    yyprefix = yyor;	  }      yyf = YY_(yyformat);      yysize1 = yysize + yystrlen (yyf);      yysize_overflow |= (yysize1 < yysize);      yysize = yysize1;      if (yysize_overflow)	return YYSIZE_MAXIMUM;      if (yyresult)	{	  /* Avoid sprintf, as that infringes on the user's name space.	     Don't have undefined behavior even if the translation	     produced a string with the wrong number of "%s"s.  */	  char *yyp = yyresult;	  int yyi = 0;	  while ((*yyp = *yyf) != '\0')	    {	      if (*yyp == '%' && yyf[1] == 's' && yyi < yycount)		{		  yyp += yytnamerr (yyp, yyarg[yyi++]);		  yyf += 2;		}	      else		{		  yyp++;		  yyf++;		}	    }	}      return yysize;    }}#endif /* YYERROR_VERBOSE *//*-----------------------------------------------.| Release the memory associated to this symbol.  |`-----------------------------------------------*//*ARGSUSED*/#if (defined __STDC__ || defined __C99__FUNC__ \     || defined __cplusplus || defined _MSC_VER)static voidyydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocationp, struct parse_io *parseio)#elsestatic voidyydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)    const char *yymsg;    int yytype;    YYSTYPE *yyvaluep;    YYLTYPE *yylocationp;    struct parse_io *parseio;#endif{  YYUSE (yyvaluep);  YYUSE (yylocationp);  YYUSE (parseio);  if (!yymsg)    yymsg = "Deleting";  YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);  switch (yytype)    {      case 41: /* "word" */#line 177 "ael.y"	{ free((yyvaluep->str));};#line 1443 "ael.tab.c"	break;      case 44: /* "objects" */#line 164 "ael.y"	{		destroy_pval((yyvaluep->pval));		prev_word=0;	};#line 1451 "ael.tab.c"	break;      case 45: /* "object" */#line 164 "ael.y"	{		destroy_pval((yyvaluep->pval));		prev_word=0;	};#line 1459 "ael.tab.c"	break;      case 46: /* "context_name" */#line 177 "ael.y"	{ free((yyvaluep->str));};#line 1464 "ael.tab.c"	break;      case 47: /* "context" */#line 164 "ael.y"	{		destroy_pval((yyvaluep->pval));		prev_word=0;	};#line 1472 "ael.tab.c"	break;      case 49: /* "macro" */#line 164 "ael.y"	{		destroy_pval((yyvaluep->pval));		prev_word=0;	};#line 1480 "ael.tab.c"	break;      case 50: /* "globals" */#line 164 "ael.y"	{		destroy_pval((yyvaluep->pval));		prev_word=0;	};#line 1488 "ael.tab.c"	break;      case 51: /* "global_statements" */#line 164 "ael.y"	{		destroy_pval((yyvaluep->pval));		prev_word=0;	};#line 1496 "ael.tab.c"	break;      case 52: /* "assignment" */#line 164 "ael.y"	{		destroy_pval((yyvaluep->pval));		prev_word=0;	};#line 1504 "ael.tab.c"	break;      case 54: /* "arglist" */#line 164 "ael.y"	{		destroy_pval((yyvaluep->pval));		prev_word=0;	};#line 1512 "ael.tab.c"	break;      case 55: /* "elements" */#line 164 "ael.y"	{		destroy_pval((yyvaluep->pval));		prev_word=0;	};#line 1520 "ael.tab.c"	break;      case 56: /* "element" */#line 164 "ael.y"	{		destroy_pval((yyvaluep->pval));		prev_word=0;	};#line 1528 "ael.tab.c"	break;      case 57: /* "ignorepat" */#line 164 "ael.y"	{		destroy_pval((yyvaluep->pval));		prev_word=0;	};#line 1536 "ael.tab.c"	break;      case 58: /* "extension" */#line 164 "ael.y"	{		destroy_pval((yyvaluep->pval));		prev_word=0;	};#line 1544 "ael.tab.c"	break;      case 59: /* "statements" */#line 164 "ael.y"	{		destroy_pval((yyvaluep->pval));		prev_word=0;	};#line 1552 "ael.tab.c"	break;      case 60: /* "timerange" */#line 177 "ael.y"	{ free((yyvaluep->str));};#line 1557 "ael.tab.c"	break;      case 61: /* "timespec" */#line 164 "ael.y"	{		destroy_pval((yyvaluep->pval));		prev_word=0;	};#line 1565 "ael.tab.c"	break;      case 62: /* "test_expr" */#line 177 "ael.y"	{ free((yyvaluep->str));};#line 1570 "ael.tab.c"	break;      case 64: /* "if_like_head" */#line 164 "ael.y"	{		destroy_pval((yyvaluep->pval));		prev_word=0;	};#line 1578 "ael.tab.c"	break;      case 65: /* "word_list" */#line 177 "ael.y"	{ free((yyvaluep->str));};#line 1583 "ael.tab.c"	break;      case 67: /* "word3_list" */#line 177 "ael.y"	{ free((yyvaluep->str));};#line 1588 "ael.tab.c"	break;      case 68: /* "goto_word" */#line 177 "ael.y"	{ free((yyvaluep->str));};#line 1593 "ael.tab.c"	break;      case 69: /* "switch_statement" */#line 164 "ael.y"	{		destroy_pval((yyvaluep->pval));		prev_word=0;	};#line 1601 "ael.tab.c"	break;      case 70: /* "statement" */#line 164 "ael.y"	{		destroy_pval((yyvaluep->pval));		prev_word=0;	};#line 1609 "ael.tab.c"	break;      case 75: /* "opt_else" */#line 164 "ael.y"	{		destroy_pval((yyvaluep->pval));		prev_word=0;	};#line 1617 "ael.tab.c"	break;      case 76: /* "target" */#line 164 "ael.y"	{		destroy_pval((yyvaluep->pval));		prev_word=0;	};#line 1625 "ael.tab.c"	break;      case 77: /* "opt_pri" */#line 177 "ael.y"	{ free((yyvaluep->str));};#line 1630 "ael.tab.c"	break;      case 78: /* "jumptarget" */#line 164 "ael.y"	{		destroy_pval((yyvaluep->pval));		prev_word=0;	};#line 1638 "ael.tab.c"	break;      case 79: /* "macro_call" */#line 164 "ael.y"	{		destroy_pval((yyvaluep->pval));		prev_word=0;	};#line 1646 "ael.tab.c"	break;      case 81: /* "application_call_head" */#line 164 "ael.y"	{		destroy_pval((yyvaluep->pval));		prev_word=0;	};#line 1654 "ael.tab.c"	break;      case 83: /* "application_call" */#line 164 "ael.y"	{		destroy_pval((yyvaluep->pval));		prev_word=0;	};

⌨️ 快捷键说明

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