亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? casl_tab.c

?? 這是一個軟件水平資格考試中使用的CASL匯編語言的編譯器,實現文件中包括一個編譯器,一個虛擬機,一個類似于Debug的調試器.
?? C
?? 第 1 頁 / 共 5 頁
字號:
  register int yyn;
  register short *yyssp;
  register YYSTYPE *yyvsp;
  int yyerrstatus;	/*  number of tokens to shift before error messages enabled */
  int yychar1 = 0;		/*  lookahead token as an internal (translated) token number */

  short	yyssa[YYINITDEPTH];	/*  the state stack			*/
  YYSTYPE yyvsa[YYINITDEPTH];	/*  the semantic value stack		*/

  short *yyss = yyssa;		/*  refer to the stacks thru separate pointers */
  YYSTYPE *yyvs = yyvsa;	/*  to allow yyoverflow to reallocate them elsewhere */

#ifdef YYLSP_NEEDED
  YYLTYPE yylsa[YYINITDEPTH];	/*  the location stack			*/
  YYLTYPE *yyls = yylsa;
  YYLTYPE *yylsp;

#define YYPOPSTACK   (yyvsp--, yyssp--, yylsp--)
#else
#define YYPOPSTACK   (yyvsp--, yyssp--)
#endif

  int yystacksize = YYINITDEPTH;

#ifdef YYPURE
  int yychar;
  YYSTYPE yylval;
  int yynerrs;
#ifdef YYLSP_NEEDED
  YYLTYPE yylloc;
#endif
#endif

  YYSTYPE yyval;		/*  the variable used to return		*/
				/*  semantic values from the action	*/
				/*  routines				*/

  int yylen;

#if YYDEBUG != 0
  if (yydebug)
    fprintf(stderr, "Starting parse\n");
#endif

  yystate = 0;
  yyerrstatus = 0;
  yynerrs = 0;
  yychar = YYEMPTY;		/* Cause a token to be read.  */

  /* Initialize stack pointers.
     Waste one element of value and location stack
     so that they stay on the same level as the state stack.
     The wasted elements are never initialized.  */

  yyssp = yyss - 1;
  yyvsp = yyvs;
#ifdef YYLSP_NEEDED
  yylsp = yyls;
#endif

/* Push a new state, which is found in  yystate  .  */
/* In all cases, when you get here, the value and location stacks
   have just been pushed. so pushing a state here evens the stacks.  */
yynewstate:

  *++yyssp = yystate;

  if (yyssp >= yyss + yystacksize - 1)
    {
      /* Give user a chance to reallocate the stack */
      /* Use copies of these so that the &'s don't force the real ones into memory. */
      YYSTYPE *yyvs1 = yyvs;
      short *yyss1 = yyss;
#ifdef YYLSP_NEEDED
      YYLTYPE *yyls1 = yyls;
#endif

      /* Get the current used size of the three stacks, in elements.  */
      int size = yyssp - yyss + 1;

#ifdef yyoverflow
      /* Each stack pointer address is followed by the size of
	 the data in use in that stack, in bytes.  */
#ifdef YYLSP_NEEDED
      /* This used to be a conditional around just the two extra args,
	 but that might be undefined if yyoverflow is a macro.  */
      yyoverflow("parser stack overflow",
		 &yyss1, size * sizeof (*yyssp),
		 &yyvs1, size * sizeof (*yyvsp),
		 &yyls1, size * sizeof (*yylsp),
		 &yystacksize);
#else
      yyoverflow("parser stack overflow",
		 &yyss1, size * sizeof (*yyssp),
		 &yyvs1, size * sizeof (*yyvsp),
		 &yystacksize);
#endif

      yyss = yyss1; yyvs = yyvs1;
#ifdef YYLSP_NEEDED
      yyls = yyls1;
#endif
#else /* no yyoverflow */
      /* Extend the stack our own way.  */
      if (yystacksize >= YYMAXDEPTH)
	{
	  yyerror("parser stack overflow");
	  return 2;
	}
      yystacksize *= 2;
      if (yystacksize > YYMAXDEPTH)
	yystacksize = YYMAXDEPTH;
      yyss = (short *) alloca (yystacksize * sizeof (*yyssp));
      __yy_memcpy ((char *)yyss1, (char *)yyss, size * sizeof (*yyssp));
      yyvs = (YYSTYPE *) alloca (yystacksize * sizeof (*yyvsp));
      __yy_memcpy ((char *)yyvs1, (char *)yyvs, size * sizeof (*yyvsp));
#ifdef YYLSP_NEEDED
      yyls = (YYLTYPE *) alloca (yystacksize * sizeof (*yylsp));
      __yy_memcpy ((char *)yyls1, (char *)yyls, size * sizeof (*yylsp));
#endif
#endif /* no yyoverflow */

      yyssp = yyss + size - 1;
      yyvsp = yyvs + size - 1;
#ifdef YYLSP_NEEDED
      yylsp = yyls + size - 1;
#endif

#if YYDEBUG != 0
      if (yydebug)
	fprintf(stderr, "Stack size increased to %d\n", yystacksize);
#endif

      if (yyssp >= yyss + yystacksize - 1)
	YYABORT;
    }

#if YYDEBUG != 0
  if (yydebug)
    fprintf(stderr, "Entering state %d\n", yystate);
#endif

  goto yybackup;
 yybackup:

/* Do appropriate processing given the current state.  */
/* Read a lookahead token if we need one and don't already have one.  */
/* yyresume: */

  /* First try to decide what to do without reference to lookahead token.  */

  yyn = yypact[yystate];
  if (yyn == YYFLAG)
    goto yydefault;

  /* Not known => get a lookahead token if don't already have one.  */

  /* yychar is either YYEMPTY or YYEOF
     or a valid token in external form.  */

  if (yychar == YYEMPTY)
    {
#if YYDEBUG != 0
      if (yydebug)
	fprintf(stderr, "Reading a token: ");
#endif
      yychar = YYLEX;
    }

  /* Convert token to internal form (in yychar1) for indexing tables with */

  if (yychar <= 0)		/* This means end of input. */
    {
      yychar1 = 0;
      yychar = YYEOF;		/* Don't call YYLEX any more */

#if YYDEBUG != 0
      if (yydebug)
	fprintf(stderr, "Now at end of input.\n");
#endif
    }
  else
    {
      yychar1 = YYTRANSLATE(yychar);

#if YYDEBUG != 0
      if (yydebug)
	{
	  fprintf (stderr, "Next token is %d (%s", yychar, yytname[yychar1]);
	  /* Give the individual parser a way to print the precise meaning
	     of a token, for further debugging info.  */
#ifdef YYPRINT
	  YYPRINT (stderr, yychar, yylval);
#endif
	  fprintf (stderr, ")\n");
	}
#endif
    }

  yyn += yychar1;
  if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != yychar1)
    goto yydefault;

  yyn = yytable[yyn];

  /* yyn is what to do for this token type in this state.
     Negative => reduce, -yyn is rule number.
     Positive => shift, yyn is new state.
       New state is final state => don't bother to shift,
       just return success.
     0, or most negative number => error.  */

  if (yyn < 0)
    {
      if (yyn == YYFLAG)
	goto yyerrlab;
      yyn = -yyn;
      goto yyreduce;
    }
  else if (yyn == 0)
    goto yyerrlab;

  if (yyn == YYFINAL)
    YYACCEPT;

  /* Shift the lookahead token.  */

#if YYDEBUG != 0
  if (yydebug)
    fprintf(stderr, "Shifting token %d (%s), ", yychar, yytname[yychar1]);
#endif

  /* Discard the token being shifted unless it is eof.  */
  if (yychar != YYEOF)
    yychar = YYEMPTY;

  *++yyvsp = yylval;
#ifdef YYLSP_NEEDED
  *++yylsp = yylloc;
#endif

  /* count tokens shifted since error; after three, turn off error status.  */
  if (yyerrstatus) yyerrstatus--;

  yystate = yyn;
  goto yynewstate;

/* Do the default action for the current state.  */
yydefault:

  yyn = yydefact[yystate];
  if (yyn == 0)
    goto yyerrlab;

/* Do a reduction.  yyn is the number of a rule to reduce with.  */
yyreduce:
  yylen = yyr2[yyn];
  if (yylen > 0)
    yyval = yyvsp[1-yylen]; /* implement default value of the action */

#if YYDEBUG != 0
  if (yydebug)
    {
      int i;

      fprintf (stderr, "Reducing via rule %d (line %d), ",
	       yyn, yyrline[yyn]);

      /* Print the symbols being reduced, and their result.  */
      for (i = yyprhs[yyn]; yyrhs[i] > 0; i++)
	fprintf (stderr, "%s ", yytname[yyrhs[i]]);
      fprintf (stderr, " -> %s\n", yytname[yyr1[yyn]]);
    }
#endif


  switch (yyn) {

case 1:
#line 109 "casl.y"
{printf("Input Ok!\n");;
    break;}
case 2:
#line 111 "casl.y"
{
                                    g_tmpErrMsg.iLine = g_iLineNumber - 1;
                                    g_tmpErrMsg.uiMsgID = NO_END_LABEL;
                                    g_vecErrMsg.push_back(g_tmpErrMsg);
                                ;
    break;}
case 3:
#line 116 "casl.y"
{
                                    g_tmpErrMsg.iLine = g_iLineNumber - 1;
                                    g_tmpErrMsg.uiMsgID = NO_START_LABEL;
                                    g_vecErrMsg.push_back(g_tmpErrMsg);
                                ;
    break;}
case 18:
#line 136 "casl.y"
{ g_tmpErrMsg.iLine = g_iLineNumber;;
    break;}
case 19:
#line 138 "casl.y"
{
                                    g_tmpErrMsg.uiMsgID = INVALID_INSTRUCTION_TYPE;
                                    g_vecErrMsg.push_back(g_tmpErrMsg);
                            ;
    break;}
case 22:
#line 148 "casl.y"
{
                                g_vecVariable.push_back(CaslVariable((char*)yyvsp[-3], yyvsp[-1]));
                                if (NULL != yyvsp[-3])
                                {
                                    free((char*)yyvsp[-3]);
                                }
                            ;
    break;}
case 23:
#line 159 "casl.y"
{
                            if (yyvsp[-3] != NULL)
                            {
                                strcpy(g_currentConst.strLabelName, (char*)yyvsp[-3]);
                            }

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美一级电影网站| 激情文学综合丁香| 精品视频在线免费| 日韩av一区二区三区四区| 精品成人佐山爱一区二区| 不卡一区中文字幕| 午夜欧美一区二区三区在线播放| 欧美一级高清大全免费观看| 91精品在线免费观看| 不卡一区在线观看| 成人午夜电影网站| 亚洲va欧美va人人爽| 国产精品人成在线观看免费 | 777亚洲妇女| 欧美精选午夜久久久乱码6080| 成人精品电影在线观看| 成人av集中营| 在线亚洲一区二区| 粉嫩av一区二区三区| 免费成人在线播放| 亚洲成a人v欧美综合天堂| 天天操天天干天天综合网| 天堂成人国产精品一区| 亚洲激情一二三区| 中文一区二区在线观看| 欧美日韩免费观看一区三区| 在线综合视频播放| 精品久久久网站| 3atv一区二区三区| 精品国产欧美一区二区| 国产丝袜美腿一区二区三区| 日韩亚洲欧美成人一区| 久久影院视频免费| 欧美tk丨vk视频| 中文字幕不卡在线播放| 亚洲综合男人的天堂| 中文字幕一区二区三区av| 久久综合色综合88| 成人免费一区二区三区视频| 亚洲影院久久精品| 免费观看在线综合色| 国产很黄免费观看久久| 国产在线不卡视频| 国产精品一区二区免费不卡| 激情综合网最新| 免费高清不卡av| 成人精品视频.| 亚洲午夜一区二区| 亚洲午夜久久久久久久久久久| 青青草国产精品97视觉盛宴| 成人午夜av在线| 欧美丰满高潮xxxx喷水动漫 | 免费看欧美女人艹b| 国产99久久久国产精品潘金| 欧美系列日韩一区| 欧美日韩精品久久久| 欧美日韩精品一区二区三区四区 | 麻豆传媒一区二区三区| 奇米精品一区二区三区在线观看一| 国产精品一二三在| 欧美日韩的一区二区| 国产欧美一区二区在线观看| 国产精品视频免费| 免费人成在线不卡| 91麻豆国产精品久久| 色综合久久精品| 欧美在线观看一区| 69av一区二区三区| 亚洲丝袜另类动漫二区| 亚洲一区在线看| 成人精品鲁一区一区二区| 欧美一区二区三区四区高清 | 亚洲国产另类av| 成人午夜激情影院| 精品三级在线观看| 亚洲mv大片欧洲mv大片精品| 99视频在线精品| 欧美日韩电影在线播放| 最好看的中文字幕久久| 国产一区二区福利视频| 884aa四虎影成人精品一区| 一区二区三区不卡在线观看 | 久久久久亚洲综合| 亚洲人123区| 免费亚洲电影在线| 精品污污网站免费看| 国产精品白丝在线| 日韩和欧美一区二区| 欧洲生活片亚洲生活在线观看| 国产精品久久久久影视| 高清成人在线观看| 久久久蜜桃精品| 国产一区在线不卡| 精品久久久久久无| 美日韩一级片在线观看| 51精品国自产在线| 无码av免费一区二区三区试看 | 久久综合久久99| 久久精品国产一区二区三区免费看 | 一区二区三区精品视频| av午夜一区麻豆| 国产精品日产欧美久久久久| 丁香桃色午夜亚洲一区二区三区| 精品国产乱码久久久久久牛牛| 欧美aa在线视频| 日韩一区二区三区av| 免费看日韩精品| 日韩精品一区二区三区蜜臀| 一区二区三区中文字幕| 91麻豆swag| 一区二区三区波多野结衣在线观看| 99久久久精品| 久久久美女艺术照精彩视频福利播放| 九九热在线视频观看这里只有精品| 欧美一卡在线观看| 国内久久婷婷综合| 欧美国产在线观看| 99久久久久久| 亚洲国产人成综合网站| 欧美另类高清zo欧美| 免费不卡在线视频| 久久久一区二区三区捆绑**| 国产成人小视频| 亚洲天堂免费在线观看视频| 欧美综合天天夜夜久久| 日韩精品亚洲一区二区三区免费| 日韩一区二区免费高清| 国产成人在线观看免费网站| 国产精品久久久久久户外露出| 91丨porny丨首页| 亚洲国产中文字幕在线视频综合 | 老司机精品视频线观看86| 久久综合网色—综合色88| 成人天堂资源www在线| 亚洲精品乱码久久久久久| 欧美日韩免费在线视频| 韩国精品久久久| 成人免费一区二区三区视频 | 一区二区三区高清在线| 欧美电影一区二区| 国产一区91精品张津瑜| 亚洲欧美日韩在线不卡| 欧美一区二区成人6969| 丁香六月久久综合狠狠色| 亚洲一区影音先锋| 欧美精品一区二区三区在线播放| 成人高清免费观看| 视频一区二区国产| 日本一区二区综合亚洲| 欧美色欧美亚洲另类二区| 韩国av一区二区| 亚洲永久精品大片| 久久精品水蜜桃av综合天堂| 欧美主播一区二区三区| 国产一区91精品张津瑜| 亚洲第一在线综合网站| 久久久久久99精品| 欧美日韩精品一区二区三区| 国产馆精品极品| 日韩高清在线观看| 成人免费一区二区三区在线观看| 日韩精品一区二区三区在线观看 | 在线观看成人免费视频| 国产一区欧美一区| 亚洲3atv精品一区二区三区| 中文一区一区三区高中清不卡| 91精品久久久久久久91蜜桃| 99久久久无码国产精品| 精品一区二区三区影院在线午夜| 一区二区视频在线看| 国产日产亚洲精品系列| 欧美一区欧美二区| 日本韩国精品在线| 国产精品一区二区在线观看不卡| 性久久久久久久久| 亚洲精品国产a| 国产精品国产精品国产专区不蜜| 欧美大白屁股肥臀xxxxxx| 欧美性猛片xxxx免费看久爱| 不卡av免费在线观看| 国产乱国产乱300精品| 日韩电影在线观看电影| 亚洲一区二区四区蜜桃| 中文字幕一区二区三区蜜月| 久久精品亚洲精品国产欧美kt∨| 欧美一级淫片007| 欧美日韩一区久久| 一本色道久久加勒比精品| 懂色av噜噜一区二区三区av | 欧美成人艳星乳罩| 欧美精品日韩一本| 在线观看www91| 在线一区二区三区四区五区 | 成人性色生活片免费看爆迷你毛片| 奇米影视一区二区三区小说| 亚洲18女电影在线观看| 亚洲综合另类小说| 一区二区高清免费观看影视大全| 亚洲欧美在线视频观看| 国产精品你懂的在线|