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

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

?? virtual_parse_stack.java

?? 一系列實現JDBC的演示類
?? JAVA
字號:
package java_cup.runtime;import java.util.Stack;/** This class implements a temporary or "virtual" parse stack that  *  replaces the top portion of the actual parse stack (the part that  *  has been changed by some set of operations) while maintaining its *  original contents.  This data structure is used when the parse needs  *  to "parse ahead" to determine if a given error recovery attempt will  *  allow the parse to continue far enough to consider it successful.  Once  *  success or failure of parse ahead is determined the system then  *  reverts to the original parse stack (which has not actually been  *  modified).  Since parse ahead does not execute actions, only parse *  state is maintained on the virtual stack, not full symbol objects. * * @see     java_cup.runtime.lr_parser * @version last updated: 11/25/95 * @author  Scott Hudson */public class virtual_parse_stack {  /*-----------------------------------------------------------*/  /*--- Constructor(s) ----------------------------------------*/  /*-----------------------------------------------------------*/  /** Constructor to build a virtual stack out of a real stack. */  public virtual_parse_stack(Stack shadowing_stack) throws java.lang.Exception    {      /* sanity check */      if (shadowing_stack == null)	throw new Exception(	  "Internal parser error: attempt to create null virtual stack");      /* set up our internals */      real_stack = shadowing_stack;      vstack     = new Stack();      real_next  = 0;      /* get one element onto the virtual portion of the stack */      get_from_real();    }  /*-----------------------------------------------------------*/  /*--- (Access to) Instance Variables ------------------------*/  /*-----------------------------------------------------------*/         /** The real stack that we shadow.  This is accessed when we move off   *  the bottom of the virtual portion of the stack, but is always left   *  unmodified.   */  protected Stack real_stack;  /*. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .*/  /** Top of stack indicator for where we leave off in the real stack.   *  This is measured from top of stack, so 0 would indicate that no   *  elements have been "moved" from the real to virtual stack.    */  protected int real_next;  /*. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .*/  /** The virtual top portion of the stack.  This stack contains Integer   *  objects with state numbers.  This stack shadows the top portion   *  of the real stack within the area that has been modified (via operations   *  on the virtual stack).  When this portion of the stack becomes empty we    *  transfer elements from the underlying stack onto this stack.    */  protected Stack vstack;  /*-----------------------------------------------------------*/  /*--- General Methods ---------------------------------------*/  /*-----------------------------------------------------------*/  /** Transfer an element from the real to the virtual stack.  This assumes    *  that the virtual stack is currently empty.     */  protected void get_from_real()    {      symbol stack_sym;      /* don't transfer if the real stack is empty */      if (real_next >= real_stack.size()) return;      /* get a copy of the first symbol we have not transfered */      stack_sym = (symbol)real_stack.elementAt(real_stack.size()-1-real_next);      /* record the transfer */      real_next++;      /* put the state number from the symbol onto the virtual stack */      vstack.push(new Integer(stack_sym.parse_state));    }  /*. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .*/  /** Indicate whether the stack is empty. */  public boolean empty()    {      /* if vstack is empty then we were unable to transfer onto it and 	 the whole thing is empty. */      return vstack.empty();    }  /*. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .*/        /** Return value on the top of the stack (without popping it). */  public int top() throws java.lang.Exception    {      if (vstack.empty())	throw new Exception(		  "Internal parser error: top() called on empty virtual stack");      return ((Integer)vstack.peek()).intValue();    }  /*. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .*/  /** Pop the stack. */  public void pop() throws java.lang.Exception    {      if (vstack.empty())	throw new Exception(		  "Internal parser error: pop from empty virtual stack");      /* pop it */      vstack.pop();      /* if we are now empty transfer an element (if there is one) */      if (vstack.empty())        get_from_real();    }  /*. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .*/  /** Push a state number onto the stack. */  public void push(int state_num)    {      vstack.push(new Integer(state_num));    }  /*-----------------------------------------------------------*/};

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美国产一区二区在线观看| 美女一区二区三区| aaa欧美日韩| 精品在线亚洲视频| 久久99国产精品久久99果冻传媒| 高清国产午夜精品久久久久久| 欧美无砖砖区免费| 国产欧美精品一区| 奇米精品一区二区三区在线观看 | 26uuu亚洲婷婷狠狠天堂| 国产精品毛片大码女人| 肉色丝袜一区二区| 色成人在线视频| 国产精品乱码久久久久久| 久久99精品一区二区三区三区| 色综合天天综合| 久久精品免费在线观看| 免费高清在线视频一区·| 色丁香久综合在线久综合在线观看| 国产欧美一区二区精品婷婷| 麻豆精品精品国产自在97香蕉| 欧美午夜寂寞影院| 亚洲精品久久久蜜桃| 不卡视频在线观看| 亚洲国产精品av| 国产 欧美在线| 欧美激情一区二区三区四区 | 精品国产凹凸成av人网站| 丝袜美腿亚洲综合| 欧美男女性生活在线直播观看| 亚洲欧美另类小说| 色素色在线综合| 一区二区三区在线免费视频| 色美美综合视频| 亚洲欧美视频在线观看| 日韩午夜三级在线| 精品中文av资源站在线观看| 精品久久久久久无| 国产精品一区二区在线观看不卡 | 亚洲毛片av在线| 91麻豆精品视频| 亚洲精品成人天堂一二三| 在线观看国产精品网站| 日韩影院免费视频| 日韩午夜三级在线| 国产成人精品亚洲777人妖 | 顶级嫩模精品视频在线看| 国产精品天美传媒沈樵| 99久久婷婷国产综合精品电影| 亚洲精品水蜜桃| 欧美日韩国产另类一区| 美女网站色91| 欧美国产欧美亚州国产日韩mv天天看完整| 国产精品系列在线观看| 亚洲欧洲www| 欧美高清你懂得| 精品一区二区三区在线视频| 亚洲国产精品二十页| 91碰在线视频| 日本va欧美va精品| 国产欧美日韩卡一| 欧美性淫爽ww久久久久无| 蜜桃精品视频在线| 国产精品福利影院| 欧美日韩激情一区二区| 国产麻豆91精品| 一区二区三区欧美日| 日韩一级免费观看| 91在线播放网址| 麻豆精品久久久| 亚洲精品视频一区二区| 日韩亚洲欧美成人一区| 91在线视频在线| 久久精品国产免费| 伊人婷婷欧美激情| 久久婷婷综合激情| 欧美亚洲国产bt| 成人免费看的视频| 美女久久久精品| 怡红院av一区二区三区| 久久久一区二区三区捆绑**| 欧美日韩中文精品| 高清shemale亚洲人妖| 丝袜国产日韩另类美女| 中文字幕一区二区不卡| 91精品国产品国语在线不卡| 91在线视频免费91| 国产福利一区在线观看| 日韩在线a电影| 一区二区三区在线免费| 中文字幕欧美激情| 精品国产免费久久| 欧美精品色一区二区三区| 99精品一区二区三区| 国产一区三区三区| 美国十次综合导航| 日韩精品一区第一页| 亚洲欧美综合另类在线卡通| 亚洲免费在线观看| 国产三级精品三级在线专区| 91精品国产综合久久精品| 日本乱码高清不卡字幕| 成人一区二区在线观看| 国产精品中文字幕一区二区三区| 日韩精品高清不卡| 亚洲大片在线观看| 亚洲一区二区综合| 亚洲你懂的在线视频| 中文字幕一区av| 亚洲欧洲成人自拍| 中文字幕五月欧美| 中文字幕在线一区免费| 国产精品久久久久久久久图文区| 国产色产综合产在线视频| 欧美刺激午夜性久久久久久久| 欧美一区二区三区在线观看| 欧美精品九九99久久| 欧美日韩高清在线播放| 精品视频1区2区3区| 欧美日韩激情一区| 555夜色666亚洲国产免| 日韩一卡二卡三卡四卡| 精品免费一区二区三区| 2017欧美狠狠色| 国产精品系列在线| 中文字幕在线一区免费| 一区二区三区在线免费观看| 亚洲国产综合视频在线观看| 亚洲国产毛片aaaaa无费看 | 国产 欧美在线| aa级大片欧美| 欧美人xxxx| 精品欧美一区二区三区精品久久| 精品国产乱码91久久久久久网站| 国产午夜亚洲精品不卡| 国产精品久久久久精k8| 亚洲一区欧美一区| 久久激五月天综合精品| 高清成人免费视频| 欧美视频在线播放| 欧美成人激情免费网| 国产欧美1区2区3区| 亚洲另类在线视频| 日本少妇一区二区| 国产呦萝稀缺另类资源| 91偷拍与自偷拍精品| 欧美美女网站色| 久久久电影一区二区三区| 亚洲欧美色一区| 激情小说亚洲一区| 91在线视频免费91| 日韩欧美高清在线| 中文字幕在线不卡国产视频| 亚洲福利视频导航| 国产成人一区在线| 欧美日韩精品综合在线| 久久久久久久久久久99999| 一区二区三区在线免费视频| 韩国v欧美v亚洲v日本v| 色偷偷久久一区二区三区| 欧美一激情一区二区三区| 国产人伦精品一区二区| 亚洲777理论| 99久久国产综合精品女不卡| 日韩欧美成人一区| 玉足女爽爽91| 成人精品视频网站| 欧美电影免费观看完整版| 国产精品久久久久精k8| 九色综合国产一区二区三区| 欧美亚洲一区三区| 国产精品久久国产精麻豆99网站| 日韩av高清在线观看| 91麻豆文化传媒在线观看| 久久综合av免费| 丝袜亚洲另类欧美综合| 色女孩综合影院| 国产精品麻豆网站| 国产精品综合一区二区三区| 日韩一级片网站| 日韩精品一级二级| 欧美日韩综合在线| 一区二区欧美视频| 日本乱人伦一区| 亚洲欧美日韩久久精品| 成人av网址在线| 日本一区二区综合亚洲| 久久精品国产一区二区三区免费看| 欧美剧情片在线观看| 亚洲综合在线视频| 色嗨嗨av一区二区三区| 亚洲欧美综合色| 99re热这里只有精品视频| 日本一区二区高清| 风流少妇一区二区| 欧美激情在线看| 99久久婷婷国产精品综合| 中文字幕一区在线| 99久久伊人久久99| 亚洲视频一区二区在线观看|