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

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

?? btyaccpa.ske

?? 從lex&yacc說到編譯器
?? SKE
?? 第 1 頁 / 共 2 頁
字號:
/*  The banner used here should be replaced with an #ident directive    *//*  if the target C compiler supports #ident directives.                *//*                                                                      *//*  If the skeleton is changed, the banner should be changed so that    *//*  the altered version can easily be distinguished from the original.  */%% banner//// @(#)btyaccpar, based on byacc 1.8 (Berkeley)//#define YYBTYACC 1#include <stdio.h>#include <stdlib.h>#include <string.h>typedef int Yshort;%% tables#define _C_ "C"extern _C_ Yshort yylhs[];extern _C_ Yshort yylen[];extern _C_ Yshort yydefred[];extern _C_ Yshort yydgoto[];extern _C_ Yshort yysindex[];extern _C_ Yshort yyrindex[];extern _C_ Yshort yycindex[];extern _C_ Yshort yygindex[];extern _C_ Yshort yytable[];extern _C_ Yshort yycheck[];extern _C_ Yshort yyctable[];#if YYDEBUGextern _C_ char *yyname[];extern _C_ char *yyrule[];#endif%% header//// YYPOSN is user-defined text position type.//#ifndef YYPOSN#define YYPOSN int#endif#ifdef YYREDUCEPOSNFUNC#define YYCALLREDUCEPOSN(e)   \	if(reduce_posn) {     \	  YYREDUCEPOSNFUNC(yyps->pos, &(yyps->psp)[1-yym], &(yyps->vsp)[1-yym], \			   yym, yyps->psp - yyps->ps, yychar, yyposn, e);       \	  reduce_posn = 0;    \	}#ifndef YYCALLREDUCEPOSNARG#define YYCALLREDUCEPOSNARG yyps->val#endif#define YYPOSNARG(n) ((yyps->psp)[1-yym+(n)-1])#define YYPOSNOUT    (yyps->pos)#endif// If delete function is not defined by the user, do not deletions.#ifndef YYDELETEVAL#define YYDELETEVAL(v) #endif// If delete function is not defined by the user, do not deletions.#ifndef YYDELETEPOSN#define YYDELETEPOSN(v) #endif#define yyclearin (yychar=(-1))#define yyerrok (yyps->errflag=0)#ifndef YYSTACKGROWTH#define YYSTACKGROWTH 16#endif#ifndef YYDEFSTACKSIZE#define YYDEFSTACKSIZE 12#endif#ifdef YYDEBUGint yydebug;#endifint yynerrs;/* These value/posn are taken from the lexer */YYSTYPE yylval;YYPOSN  yyposn;/* These value/posn of the root non-terminal are returned to the caller */YYSTYPE yyretlval;YYPOSN  yyretposn;#define YYABORT  goto yyabort#define YYACCEPT goto yyaccept#define YYERROR  goto yyerrlab#define YYVALID         do { if (yyps->save)          goto yyvalid; } while(0)#define YYVALID_NESTED  do { if (yyps->save && \                                 yyps->save->save==0) goto yyvalid; } while(0)struct yyparsestate {  yyparsestate *save;        // Previously saved parser state  int           state;  int           errflag;  Yshort       *ssp;         // state stack pointer  YYSTYPE      *vsp;         // value stack pointer  YYPOSN       *psp;         // position stack pointer  YYSTYPE       val;         // value as returned by actions  YYPOSN        pos;         // position as returned by universal action  Yshort       *ss;          // state stack base  YYSTYPE      *vs;          // values stack base  YYPOSN       *ps;          // position stack base  int           lexeme;      // index of the conflict lexeme in the lexical queue  unsigned int  stacksize;   // current maximum stack size  Yshort        ctry;        // index in yyctable[] for this conflict};// Current parser statestatic yyparsestate *yyps=0;// yypath!=NULL: do the full parse, starting at *yypath parser state.static yyparsestate *yypath=0;// Base of the lexical value queuestatic YYSTYPE *yylvals=0;// Current posistion at lexical value queuestatic YYSTYPE *yylvp=0;// End position of lexical value queuestatic YYSTYPE *yylve=0;// The last allocated position at the lexical value queuestatic YYSTYPE *yylvlim=0;// Base of the lexical position queuestatic YYPOSN *yylpsns=0;// Current posistion at lexical position queuestatic YYPOSN *yylpp=0;// End position of lexical position queuestatic YYPOSN *yylpe=0;// The last allocated position at the lexical position queuestatic YYPOSN *yylplim=0;// Current position at lexical token queuestatic Yshort *yylexp=0;static Yshort *yylexemes=0;//// For use in generated program//#define yytrial (yyps->save)#define yyvsp   (yyps->vsp)#define yyval   (yyps->val)#define yydepth (yyps->ssp - yyps->ss)//// Local prototypes.//int yyparse(void);int  YYLex1();int  yyexpand();void YYSCopy(YYSTYPE *to, YYSTYPE *from, int size);void YYPCopy(YYPOSN  *to, YYPOSN  *from, int size);void YYMoreStack(yyparsestate *yyps);yyparsestate *YYNewState(int size);void YYFreeState(yyparsestate *p);%% body//// Parser function//int yyparse() {  int yym, yyn, yystate, yychar, yynewerrflag;  yyparsestate *yyerrctx = NULL;  int reduce_posn;#if YYDEBUG  char *yys;    if ((yys = getenv("YYDEBUG"))) {    yyn = *yys;    if (yyn >= '0' && yyn <= '9')      yydebug = yyn - '0';   }#endif    yyps = YYNewState(YYDEFSTACKSIZE);  yyps->save = 0;  yynerrs = 0;  yyps->errflag = 0;  yychar = (-1);    yyps->ssp = yyps->ss;  yyps->vsp = yyps->vs;  yyps->psp = yyps->ps;  *(yyps->ssp) = yystate = 0;    //  // Main parsing loop  // yyloop:  if ((yyn = yydefred[yystate])) {    goto yyreduce;  }  //  // Read one token  //  if (yychar < 0) {    if ((yychar = YYLex1()) < 0) yychar = 0;#if YYDEBUG    if (yydebug) {      yys = 0;      if (yychar <= YYMAXTOKEN) yys = yyname[yychar];      if (!yys) yys = "illegal-symbol";      printf("yydebug[%d,%d]: state %d, reading %d (%s)", 	     yydepth, (int)yytrial, yystate, yychar, yys);#ifdef YYDBPR      printf("<");      YYDBPR(yylval);      printf(">");#endif      printf("\n");     }#endif  }  //  // Do we have a conflict?  //  if ((yyn = yycindex[yystate]) &&      (yyn += yychar) >= 0 &&      yyn <= YYTABLESIZE &&      yycheck[yyn] == yychar) {    int ctry;    if (yypath) {#if YYDEBUG      if (yydebug) {        printf("yydebug[%d,%d]: CONFLICT in state %d: following successful trial parse\n", 	       yydepth, (int)yytrial, yystate);      }#endif      // Switch to the next conflict context      yyparsestate *save = yypath;      yypath = save->save;      ctry = save->ctry;      if (save->state != yystate)         goto yyabort;      YYFreeState(save);     } else {#if YYDEBUG      if (yydebug) {        printf("yydebug[%d,%d]: CONFLICT in state %d. ", 	       yydepth, (int)yytrial, yystate);        if(yyps->save) {          printf("ALREADY in conflict. Continue trial parse.");        } else {          printf("Start trial parse.");        }        printf("\n");      }#endif      yyparsestate *save = YYNewState(yyps->ssp - yyps->ss);      save->save    = yyps->save;      save->state   = yystate;      save->errflag = yyps->errflag;      save->ssp     = save->ss + (yyps->ssp - yyps->ss);      save->vsp     = save->vs + (yyps->vsp - yyps->vs);      save->psp     = save->ps + (yyps->psp - yyps->ps);      memcpy (save->ss, yyps->ss, (yyps->ssp - yyps->ss + 1)*sizeof(Yshort));      YYSCopy(save->vs, yyps->vs, (yyps->ssp - yyps->ss + 1));      YYPCopy(save->ps, yyps->ps, (yyps->ssp - yyps->ss + 1));      ctry = yytable[yyn];      if (yyctable[ctry] == -1) {#if YYDEBUG        if (yydebug && yychar >= 0)          printf("yydebug[%d]: backtracking 1 token\n", 		 (int)yytrial);#endif        ctry++;       }      save->ctry = ctry;      if (!yyps->save) {        // If this is a first conflict in the stack, start saving lexemes        if (!yylexemes) {          yylexemes = new Yshort[YYSTACKGROWTH];          yylvals = new YYSTYPE[YYSTACKGROWTH];          yylvlim = yylvals + YYSTACKGROWTH;           yylpsns = new YYPOSN[YYSTACKGROWTH];          yylplim = yylpsns + YYSTACKGROWTH;         }        if (yylvp == yylve) {          yylvp = yylve = yylvals;	  yylpp = yylpe = yylpsns;          yylexp = yylexemes;          if (yychar >= 0) {            *yylve++ = yylval;            *yylpe++ = yyposn;            *yylexp = yychar;            yychar = -1;           }         }       }      if (yychar >= 0) {        yylvp--, yylpp--, yylexp--;        yychar = -1;       }      save->lexeme = yylvp - yylvals;      yyps->save = save;     }    if (yytable[yyn] == ctry) {#if YYDEBUG      if (yydebug)        printf("yydebug[%d,%d]: state %d, shifting to state %d\n",               yydepth, (int)yytrial, yystate, yyctable[ctry]);#endif      if (yychar < 0)        yylvp++, yylpp++, yylexp++;      yychar = -1;      if (yyps->errflag > 0) --yyps->errflag;      yystate = yyctable[ctry];      goto yyshift;     } else {      yyn = yyctable[ctry];      goto yyreduce;     }   }  //  // Is action a shift?  //  if ((yyn = yysindex[yystate]) &&      (yyn += yychar) >= 0 &&      yyn <= YYTABLESIZE &&      yycheck[yyn] == yychar) {#if YYDEBUG    if (yydebug)      printf("yydebug[%d,%d]: state %d, shifting to state %d\n",             yydepth, (int)yytrial, yystate, yytable[yyn]);#endif    yychar = (-1);    if (yyps->errflag > 0)  --yyps->errflag;    yystate = yytable[yyn];  yyshift:    if (yyps->ssp >= yyps->ss + yyps->stacksize - 1) {      YYMoreStack(yyps);    }    *++(yyps->ssp) = yystate;    *++(yyps->vsp) = yylval;    *++(yyps->psp) = yyposn;    goto yyloop;  }  if ((yyn = yyrindex[yystate]) &&      (yyn += yychar) >= 0 &&      yyn <= YYTABLESIZE &&      yycheck[yyn] == yychar) {    yyn = yytable[yyn];    goto yyreduce;  }  //  // Action: error  //  if (yyps->errflag) goto yyinrecovery;  yynewerrflag = 1;  goto yyerrhandler;yyerrlab:  yynewerrflag = 0;yyerrhandler:  while (yyps->save) {     int ctry;     yyparsestate *save = yyps->save;#if YYDEBUG    if (yydebug)      printf("yydebug[%d,%d]: ERROR in state %d, CONFLICT BACKTRACKING to state %d, %d tokens\n",             yydepth, (int)yytrial, yystate, yyps->save->state, yylvp - yylvals - yyps->save->lexeme);#endif    // Memorize most forward-looking error state in case    // it's really an error.    if(yyerrctx==NULL || yyerrctx->lexeme<yylvp-yylvals) {      // Free old saved error context state      if(yyerrctx) YYFreeState(yyerrctx);      // Create and fill out new saved error context state      yyerrctx = YYNewState(yyps->ssp - yyps->ss);      yyerrctx->save = yyps->save;      yyerrctx->state = yystate;      yyerrctx->errflag = yyps->errflag;      yyerrctx->ssp = yyerrctx->ss + (yyps->ssp - yyps->ss);      yyerrctx->vsp = yyerrctx->vs + (yyps->vsp - yyps->vs);      yyerrctx->psp = yyerrctx->ps + (yyps->psp - yyps->ps);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
性欧美疯狂xxxxbbbb| 欧美三电影在线| 欧美精品日日鲁夜夜添| 国产精品久久久久久久久久久免费看| 亚洲自拍偷拍图区| 成人国产亚洲欧美成人综合网| 精品少妇一区二区三区在线播放 | 欧美精品在线观看播放| 日韩一区二区电影网| 国产精品久久久久永久免费观看| 日日噜噜夜夜狠狠视频欧美人 | 麻豆91小视频| 欧美羞羞免费网站| 最新日韩av在线| 国产成人精品三级| 欧美精品一区二区蜜臀亚洲| 亚洲一级二级三级在线免费观看| 99久久国产综合精品女不卡| 国产亚洲自拍一区| 国产乱码字幕精品高清av| 欧美一区二区三区免费在线看| 午夜在线成人av| 欧美日韩免费观看一区二区三区| 亚洲蜜臀av乱码久久精品| www.66久久| 中文字幕一区三区| 91最新地址在线播放| 亚洲欧美日韩小说| 成人av第一页| 亚洲精品成人少妇| 在线观看av不卡| 五月婷婷另类国产| 日韩欧美国产1| 精品一区二区免费在线观看| 精品99999| 国产ts人妖一区二区| 国产精品天干天干在观线| 成人动漫av在线| 亚洲免费电影在线| 欧美日韩国产影片| 麻豆成人综合网| 2021久久国产精品不只是精品| 国产美女娇喘av呻吟久久| 欧美国产一区视频在线观看| 99久久国产综合色|国产精品| 亚洲精品一卡二卡| 欧美精品在线一区二区| 久久99热狠狠色一区二区| 国产日韩精品一区| 一本到不卡免费一区二区| 亚洲成国产人片在线观看| 日韩欧美中文字幕一区| 国产麻豆91精品| 亚洲欧美日韩国产一区二区三区| 欧美色男人天堂| 国产一区二区三区视频在线播放| 欧美高清在线一区| 欧美专区亚洲专区| 国产综合色产在线精品| 亚洲人妖av一区二区| 欧美日韩二区三区| 国产在线精品一区在线观看麻豆| 国产精品美女久久福利网站| 在线不卡中文字幕| 国产成人夜色高潮福利影视| 亚洲一区二区在线播放相泽| 日韩精品一区二区三区四区视频| 波多野结衣91| 日本视频中文字幕一区二区三区| 日本一区二区在线不卡| 在线播放一区二区三区| 丰满岳乱妇一区二区三区| 亚洲高清中文字幕| 国产亚洲精品超碰| 在线播放/欧美激情| aaa国产一区| 国产美女视频一区| 日韩电影免费一区| 亚洲男同1069视频| 亚洲国产精品激情在线观看| 91精选在线观看| 色av综合在线| 国产精品一区二区免费不卡 | 欧美日韩一级片在线观看| 国产成人av影院| 久久丁香综合五月国产三级网站| 亚洲黄色尤物视频| 最新国产精品久久精品| 久久综合九色欧美综合狠狠| 在线播放中文字幕一区| 欧美性大战久久久久久久| 成人精品鲁一区一区二区| 美女www一区二区| 亚洲高清在线精品| 一区二区三区av电影| 国产精品天干天干在观线| 精品国产一区二区三区av性色| 欧美乱熟臀69xxxxxx| 欧美优质美女网站| 色婷婷精品久久二区二区蜜臂av | 欧美日韩成人高清| 色婷婷亚洲一区二区三区| 成人高清视频免费观看| 国产河南妇女毛片精品久久久 | 精品国产sm最大网站免费看| 欧美日韩视频在线第一区| 欧美午夜精品免费| 欧美午夜免费电影| 欧美日韩午夜影院| 欧美日韩国产系列| 3d动漫精品啪啪| 91精品综合久久久久久| 欧美高清精品3d| 制服视频三区第一页精品| 欧美男人的天堂一二区| 91精品在线一区二区| 精品国产亚洲在线| 日韩精品一区二| 久久欧美一区二区| 久久精品一区蜜桃臀影院| 国产精品视频免费看| 成人免费在线观看入口| 一区二区三区在线视频播放| 亚洲高清免费观看高清完整版在线观看| 一本到不卡免费一区二区| 日本道免费精品一区二区三区| 91福利国产精品| 91精品欧美久久久久久动漫 | 欧美午夜精品理论片a级按摩| 欧美日韩国产首页| 精品国产制服丝袜高跟| 中文在线一区二区| 亚洲一区免费观看| 免费精品视频最新在线| 国产成人综合网站| 91极品视觉盛宴| 日韩免费电影网站| 国产欧美一区二区精品性色超碰| 亚洲欧洲日韩一区二区三区| 亚洲国产成人porn| 国产精品一区三区| 在线视频亚洲一区| 精品久久国产老人久久综合| 国产精品免费观看视频| 午夜亚洲福利老司机| 国产一区二区三区免费观看| 99久久精品国产导航| 91精品国产综合久久福利| 中文字幕免费观看一区| 亚洲成人一二三| 成人午夜激情影院| 欧美精品tushy高清| 国产精品乱人伦一区二区| 午夜精品免费在线观看| 国产精品伊人色| 欧美制服丝袜第一页| 久久亚洲一区二区三区四区| 一区二区在线观看不卡| 紧缚捆绑精品一区二区| 欧美中文字幕一二三区视频| 国产日产精品1区| 日韩国产在线一| 99久久久国产精品| 欧美videos大乳护士334| 亚洲黄一区二区三区| 国产91在线|亚洲| 欧美一区日本一区韩国一区| 亚洲视频每日更新| 国产成人在线电影| 日韩欧美自拍偷拍| 亚洲成a人片在线不卡一二三区| 国产 日韩 欧美大片| 日韩写真欧美这视频| 亚洲综合色噜噜狠狠| 懂色av一区二区三区免费看| 日韩欧美亚洲国产精品字幕久久久| 一区二区三区国产精品| 成人av在线影院| 久久久美女艺术照精彩视频福利播放| 天天色综合成人网| 欧美日韩中文字幕精品| 一区二区三区**美女毛片| 成人免费看视频| 欧美国产成人在线| 国产乱子伦一区二区三区国色天香| 777久久久精品| 香港成人在线视频| 欧美精品一二三| 天天免费综合色| 欧美日韩久久久一区| 亚洲精品乱码久久久久久久久 | 国产精品视频第一区| 国产精品一区二区三区99| 精品久久国产字幕高潮| 精品一区二区三区在线播放| 日韩你懂的在线观看| 韩国成人在线视频| 国产欧美日韩另类视频免费观看| 国产在线播放一区二区三区| 久久久久久久久久美女|